You are on page 1of 20

SOFTWARE REQUIREMENT SPECIFICATION AND

VALIDATIONS

PRESENTED BY:
GAURAV
SAPRA(MCA/25012/23)
HEMANT
KUMAR(MCA/25010/23)
KUSHAGRA
BANSAL(MCA/25006/23)
INTRODUCTION TO SOFTWARE REQUIREMENTS

 Software requirements are specifications that describe the functions, features, and constraints of a software
system.

 Importance of Clear Requirements in Software Development:


 Clear requirements ensure everyone knows what the software should do, reducing mistakes and delays.
 They help estimate costs accurately and prevent budget overruns.
 Clear requirements lead to higher customer satisfaction and better-quality software.
TYPES OF REQUIREMENTS

 There are 2 types of requirements.

1) Functional Requirements :
• Describe the specific behaviors or functions a system must perform.
• Typically expressed as "system shall do [action].“.
• Example : User authentication, data input validation, report generation.

2) Non-functional Requirement :
• Define the quality attributes and constraints of the system.
• Include performance, security, usability, reliability, and scalability requirements.
• Example : Response time under peak load, system availability, user interface responsiveness.
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)

 Document that precisely and comprehensively describes the functionality, constraints, and performance
requirements of a software system.

 Purpose of SRS in Software Development :


 Serves as a contract between the development team and stakeholders, outlining what the software will accomplish.
 Guides the design, implementation, and testing phases by providing a clear roadmap for development activities.
 Facilitates communication between stakeholders, ensuring a shared understanding of the project's scope and objectives.
COMPONENTS OF SRS

 Functional Requirements: Describes specific functions the software must perform.

 Non-functional Requirements: Specifies criteria like performance, security, and usability.

 User Requirements: Characteristics and needs of users interacting with the system.

 System Requirements: Hardware, software, and network infrastructure needed for the system.

 External Interface Requirements: Describes interactions with other systems, users, or devices.

 Use Cases: Detailed scenarios of interactions between users and the system.

 Constraints: Limitations or restrictions affecting design or implementation.

 Assumptions and Dependencies: Presumptions made during analysis and relationships between requirements.
CHARACTERISTICS OF GOOD SRS

 Clear and Unambiguous:


• Each requirement should be expressed clearly and without ambiguity, leaving no room for interpretation.
 Complete:
• The SRS should cover all necessary functions, features, and constraints of the software system.
 Consistent:
• Requirements should not conflict with each other.
 Verifiable:
• Each requirement should be testable, allowing stakeholders to verify whether the software meets its specifications .
 Traceable:
• Requirements should be traceable back to their source and forward to design and testing artifacts, facilitating change
management and impact analysis.
SRS DEVELOPMENT PROCESS

 Requirements Elicitation:
• Gathering and documenting requirements from stakeholders.
 Analysis and Specification:
• Analyzing and specifying requirements in a structured format.
 Review and Validation:
• Reviewing and validating the SRS document with stakeholders.
 Documentation:
• Maintaining and updating the SRS document throughout the development lifecycle.
IMPORTANCE OF SRS VALIDATION
 Ensuring Requirements Suitability:
• Validating the SRS ensures that the specified requirements accurately align with stakeholders' needs and expectations.
 Reducing Risks in Software Development:
• Validating the SRS identifies and mitigates potential issues early, minimizing project risks.
 Enhancing Product Quality:
• Validating the SRS improves software quality.
 Facilitating Change Management:
• SRS validation eases change management.
 Boosting Stakeholder Confidence:
• Successful validation instills stakeholder confidence.
 Supporting Regulatory Compliance:
• SRS validation aids regulatory compliance.
TECHNIQUES FOR SRS VALIDATION

 Test Case Generation:


• Creating tests to verify SRS requirements and identify implementation difficulties.
 Prototyping:
• Presenting a basic version of the software to gather user feedback.
 Requirements Reviews:
• Systematic analysis of the SRS document to identify errors and ambiguities.
 Walk-through:
• Informal review process to discuss feasibility and gather feedback.
 Simulation:
• Creating virtual models to verify system behavior.
 Checklists for Validation:
• Using predefined criteria to ensure requirements meet standards..
COMMON VALIDATION ERRORS

 Incomplete Requirements:
 Missing or unclear information in the SRS document leads to confusion and incomplete understanding.
 Ambiguous Requirements:
 Requirements that can be interpreted in multiple ways cause uncertainty and inconsistency in development.
 Conflicting Requirements:
 Contradictory statements or goals within the SRS document create confusion and hinder progress.
VALIDATION METRICS

 Requirement Volatility:
• Measure how often requirements change during the project.
 Requirement Completeness:
• Evaluate if all necessary requirements are included in the SRS document.
 Requirement Stability:
• Assess the consistency and reliability of requirements throughout development.
SRS REVIEW PROCESS

 Review Meetings:

• Organize meetings where stakeholders examine the SRS document for errors and clarity.

 Feedback Collection:

• Gather feedback from reviewers to identify areas for improvement in the requirements.

 Iterative Improvements:

• Make necessary revisions to the SRS document based on feedback received during the review process.
VALIDATION TOOLS AND SOFTWARE

 Requirement Management Systems:


• Software tools for organizing, documenting, and tracking software requirements throughout the development process.
 Automated Testing Tools:
• Programs that automate the process of testing software to ensure it meets specified requirements.
 Simulation Software:
• Tools used to simulate system behavior to verify requirements in a virtual environment.
SRS TRACEABILITY

 Ability to trace the requirement:


• To provide better quality.
• To find any associated risk.
• To keep and verify the records of history.
 Traceability is important because it creates transparency at every step of development, including who completed
what tasks and when.
CASE STUDY: SRS VALIDATION IN HEALTHCARE SOFTWARE
DEVELOPMENT
 In creating a new electronic health records (EHR) system for a hospital:
 Requirements Gathering:
• We worked closely with healthcare staff to understand their needs.
 Reviewing and Improving:
• Healthcare experts and software specialists checked the SRS for mistakes and made improvements.
 Testing a Prototype:
• We built a basic version of the system for healthcare workers to try out and give feedback.
 Checking for Errors:
• We used special tools to find any mistakes in the SRS and fixed them.
 Simulating System Use:
• We tested how the system would work in different situations to make sure it met the needs of healthcare workers.
 Using Checklists:
• We used checklists to make sure all the requirements were clear, followed rules, and were easy to use.
BEST PRACTICES FOR SRS AND VALIDATION
 Involve Stakeholders:
• Keep stakeholders engaged to understand their needs.
 Regular Updates:
• Continuously review and update the SRS document.
 Manage Documentation:
• Keep all requirements, feedback, and validation activities organized and clear.
 Clear Communication:
• Communicate clearly to avoid confusion.
 Version Control:
• Keep track of document changes.
 Templates:
• Use standardized templates for consistency.
 Training:
CHALLENGES IN SRS AND VALIDATION

 Changing Requirements
 Communication Issues
 Scope Creep
 Lack of Stakeholder Involvement
 Time and Resource Constraints
 Technical Complexity
 Unclear Requirements
 Managing Expectations
FUTURE TRENDS IN SRS AND VALIDATION

 AI-driven Requirement Analysis:


• Using artificial intelligence to analyze and interpret requirements for improved accuracy.
 Blockchain for Requirement Traceability:
• Implementing blockchain technology to enhance traceability and transparency in requirement management.
CONCLUSION

 Clear requirements and effective validation are crucial for successful software development.
 Engage stakeholders, continuously update documentation, and communicate clearly.
 Utilize templates, maintain version control, and provide training for team members.
 Address challenges such as changing requirements, communication issues, and scope creep.
 Embrace future trends like AI-driven analysis and blockchain for improved validation.
 Overall, strive for continuous improvement and adaptation in SRS and validation practices.
THANK YOU

You might also like