0% found this document useful (0 votes)
5 views11 pages

Software Engineering Unit1

The document discusses Software Engineering Paradigms, defining them as structured methods for software development, and outlines various types such as Waterfall, Prototype, and Spiral models, each with its advantages and disadvantages. It also covers Software Requirements, including functional and non-functional requirements, and techniques for requirements elicitation. Lastly, it addresses the importance of Software Requirements Specification (SRS) and Requirements Change Management in project management to ensure successful software delivery.

Uploaded by

traptikushwah15
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views11 pages

Software Engineering Unit1

The document discusses Software Engineering Paradigms, defining them as structured methods for software development, and outlines various types such as Waterfall, Prototype, and Spiral models, each with its advantages and disadvantages. It also covers Software Requirements, including functional and non-functional requirements, and techniques for requirements elicitation. Lastly, it addresses the importance of Software Requirements Specification (SRS) and Requirements Change Management in project management to ensure successful software delivery.

Uploaded by

traptikushwah15
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Software Engineering Paradigms (7 Marks)

Introduction
A Software Engineering Paradigm is a method or approach used to develop software. It
provides a structured process for planning, designing, coding, testing, and maintaining software.
Different paradigms are used depending on the size, complexity, and requirements of the project.

Definition
A Software Engineering Paradigm is a systematic approach or model used to develop high-
quality software efficiently and reliably.

Types of Software Engineering Paradigms


1. Waterfall Model
Description

The Waterfall Model is a linear and sequential software development model. Each phase must
be completed before moving to the next phase.

Phases

 Requirement Analysis
 System Design
 Implementation (Coding)
 Testing
 Deployment
 Maintenance

Advantages

 Simple and easy to understand.


 Suitable for small projects.
 Easy to manage.

Disadvantages

 Difficult to make changes after development starts.


 Not suitable for changing requirements.

2. Prototype Model
Description

A Prototype Model creates a working sample (prototype) of the software before the final
product is developed. User feedback is collected to improve the system.

Advantages

 Better understanding of user requirements.


 Reduces development risk.
 Improves customer satisfaction.

Disadvantages

 Can increase development cost.


 Too many changes may delay the project.

4. Spiral Model
Description

The Spiral Model combines design, development, testing, and risk analysis in repeated cycles
(spirals).

Advantages

 Excellent risk management.


 Suitable for large and complex projects.
 Easy to accommodate changes.

Disadvantages

 Expensive.
 Complex to manage.
Comparison of Software Engineering
Paradigms
Paradigm Best For Main Feature
Waterfall Small projects Sequential development
Prototype Unclear requirements Working model before final software

Spiral High-risk projects Risk analysis in every cycle

Advantages of Software Engineering


Paradigms
 Improves software quality.
 Reduces development time.
 Makes project management easier.
 Helps identify and manage risks.
 Increases customer satisfaction.

Conclusion
Software Engineering Paradigms provide a structured way to develop software. The choice of
paradigm depends on the project requirements. Waterfall is suitable for fixed requirements,
Prototype for unclear requirements, Incremental for phased delivery, Spiral for high-risk
projects, and Agile for projects with frequently changing requirements.

Easy Memory Trick


 Waterfall → Step by Step
 Prototype → Build a Sample First
 Incremental → Build in Parts
 Spiral → Manage Risks
 Agile → Develop Fast with Customer FeedbacK
Software Requirement – Requirements
Elicitation Techniques – Initial Requirements
(7 Marks)
1. Software Requirement
Introduction

A Software Requirement is a description of what a software system should do and the


constraints under which it must operate. Requirements help developers understand the customer's
needs before starting the development process.

Definition

A Software Requirement is a condition or capability that a software system must satisfy to


meet the needs of users or customers.

Types of Software Requirements

1. Functional Requirements

These describe what the system should do.

Examples:

 User login and registration.


 Online payment.
 Search for products.
 Generate reports.

2. Non-Functional Requirements

These describe how the system should perform.

Examples:

 Security
 Performance
 Reliability
 Usability
 Scalability
2. Requirements Elicitation Techniques
Introduction
Requirements Elicitation is the process of collecting, discovering, and understanding the
requirements from customers, users, and stakeholders.

Common Requirements Elicitation Techniques


1. Interview

 The analyst directly asks questions to customers or users.


 Helps gather detailed information.

Advantage: Clear understanding of user needs.

2. Questionnaire (Survey)

 A set of written questions is given to many users.


 Useful when users are located in different places.

Advantage: Saves time and cost.

3. Observation

 The analyst observes how users perform their daily tasks.


 Helps identify real system requirements.

Advantage: Reveals actual user behavior.

4. Brainstorming

 A group discussion where participants share ideas to solve problems or identify


requirements.

Advantage: Generates many ideas quickly.


5. Prototyping

 A simple working model of the software is created.


 Users provide feedback to improve the final system.

Advantage: Helps clarify unclear requirements.

6. Document Analysis

 Existing manuals, reports, forms, and documents are studied to understand the current
system.

Advantage: Useful when an existing system is available.

3. Initial Requirements
Definition
Initial Requirements are the first set of requirements collected from customers at the
beginning of the software development process. They provide a basic understanding of the
system before detailed analysis.

Characteristics of Good Initial Requirements


 Clear and easy to understand.
 Complete and accurate.
 Consistent.
 Feasible.
 Testable.
 Relevant to business needs.

Importance of Initial Requirements


 Helps define the project scope.
 Reduces misunderstandings.
 Improves planning and cost estimation.
 Minimizes development errors.
 Increases customer satisfaction.
Advantages of Proper Requirement
Gathering
 Better software quality.
 Reduced development cost.
 Fewer changes during development.
 Improved communication between developers and customers.
 Higher customer satisfaction.

Conclusion
Software requirements are the foundation of every software project. Requirements elicitation
techniques such as interviews, questionnaires, observation, brainstorming, prototyping, and
document analysis help gather accurate user needs. Initial requirements provide the first
understanding of the project, enabling successful planning, design, and development.

Quick Revision Table


Topic Description
Software Requirement Defines what the software should do and how it should perform.
Functional Requirement Describes system functions (e.g., login, payment).
Non-Functional
Describes quality attributes (e.g., security, performance).
Requirement
Requirements Elicitation Process of collecting user requirements.
Interview, Questionnaire, Observation, Brainstorming, Prototyping,
Techniques
Document Analysis.
First set of customer requirements collected at the beginning of the
Initial Requirements
project.

SRS Document – Requirements Change


Management – Project Management (7
Marks)
1. SRS Document (Software Requirements
Specification)
Introduction
A Software Requirements Specification (SRS) document is a formal document that describes
all the functional and non-functional requirements of a software system. It acts as an
agreement between the customer and the development team.

Definition
An SRS (Software Requirements Specification) is a document that clearly describes the
software requirements, features, constraints, and specifications of a software system.

Contents of an SRS Document

1. Introduction
2. Purpose of the software
3. Scope of the project
4. Functional requirements
5. Non-functional requirements
6. System design constraints
7. User interface requirements
8. Hardware and software requirements
9. Assumptions and dependencies

Advantages of SRS

 Provides a clear understanding of requirements.


 Reduces misunderstandings between customer and developer.
 Helps in project planning and estimation.
 Acts as a reference throughout development.
 Makes testing easier.

2. Requirements Change Management


Introduction
During software development, customer requirements may change due to new business needs or
technology updates. Requirements Change Management is the process of handling these
changes in a controlled manner.

Definition
Requirements Change Management is the process of identifying, evaluating, approving,
implementing, and tracking changes to software requirements.

Steps in Requirements Change Management

1. Request Change – A change request is submitted.


2. Analyze Impact – Study the effect on cost, time, and quality.
3. Approve or Reject – The project manager or customer decides.
4. Implement Change – Update the requirements and software.
5. Verify and Document – Test the changes and update documents.

Advantages

 Controls unnecessary changes.


 Reduces project risk.
 Improves software quality.
 Maintains proper documentation.
 Ensures customer satisfaction.

3. Project Management
Introduction
Project Management is the process of planning, organizing, executing, monitoring, and
controlling software development activities to complete the project successfully within the given
time, cost, and quality constraints.

Definition
Project Management is the process of managing resources, schedule, budget, and tasks to
achieve the project objectives successfully.

Phases of Project Management

1. Project Planning
o Define objectives, schedule, budget, and resources.
2. Project Execution
o Develop the software according to the plan.
3. Project Monitoring and Control
o Track progress and resolve issues.
4. Project Closure
o Deliver the software and complete documentation.

Responsibilities of a Project Manager

 Plan the project.


 Allocate resources.
 Manage the project team.
 Monitor project progress.
 Control project risks.
 Communicate with stakeholders.
 Deliver the project on time and within budget.

Advantages of Project Management

 Better planning and scheduling.


 Efficient use of resources.
 Reduces project risks.
 Improves team coordination.
 Ensures timely project completion.

Quick Comparison
Topic Purpose
SRS Document Describes all software requirements.
Requirements Change
Controls and manages requirement changes.
Management
Plans, executes, monitors, and completes the project
Project Management
successfully.

Conclusion
 SRS Document provides a clear and complete description of software requirements.
 Requirements Change Management ensures that requirement changes are handled in a
systematic and controlled way.
 Project Management helps complete the software project on time, within budget, and
with the required quality.

You might also like