Software Engineering Lab 1
Software Engineering Lab 1
SRS STRUCTURE
1. Introduction
1.1 Purpose
1.2 Intended Audience
1.3 Scope
1.4 Definitions
1.5 References
2. Overall Description
2.1 User Interfaces
2.2 System Interfaces
2.3 Constraints, assumptions and dependencies
2.4 User Characteristics
It may include a set of use cases that describe user interactions that the software must provide to the user for
perfect interaction.
Serves as a blueprint for the design, development, and testing phases of the software lifecycle.
Acts as a contract between the client and the development team, ensuring mutual understanding.
Helps in resource planning by identifying the scope and effort needed for development.
Can include performance requirements, security constraints, and usability specifications to ensure comprehensive
coverage.
Purpose of an SRS:
Acts as a blueprint for the development process.
Helps with project planning, design, development, and testing.Reduces chances of misunderstanding or scope
creep.
WHY IS AN SRS NECESSARY?
• Provides a clear, unambiguous description of the system's requirements.
• Ensures that both the client and developers agree on what the system will deliver.
• Serves as a baseline for software design, architecture, and coding.
• Helps in planning resources, timelines, and costs effectively.
• Prevents misunderstandings between stakeholders.
• Reduces the risk of building the wrong system.
• Facilitates verification and validation by defining expected functionalities.
• Makes testing easier as requirements can be mapped directly to test cases.
• Acts as a legal agreement between the client and the software development team.
• Protects both parties by documenting expectations.
• Helps manage changes in requirements during the software lifecycle.
• Provides a reference point for evaluating the impact of changes.
USER REQUIREMENT SPECIFICATION
The user requirement(s) document (URD) or user requirement specification (URS) is a document
usually used in software engineering that specifies what the user expects the software to be able
to do.
It is a contractual agreement.
• The URS captures user needs and expectations for the system, forming the foundation for the
development process.
• It is usually written in natural language so that both technical and non-technical stakeholders
can understand it easily.
• It serves as a baseline for validation, ensuring that the final system meets the user's needs.
FUNCTIONAL VS NON-FUNCTIONAL REQUIREMENTS
DFD (Data Flow Diagram) is used. Examples noted: Student, Faculty, Book.
Data Flows
Processes
Data Stores
WHY DFD?