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.