Software Requirement:
What functionalities is the system going to provide its users, and what the system must do. Before start designing the software the software design and development team must determine the requirements of the software. The requirements can be collected, determined, and prepared through discussion with users, using the interview questionnaire method. Requirements can also be determined from the expertise of the problem domain. There are two types of software requirements.
i. Functional Requirements: These are the requirements the system must meet. Each functional requirement must have a unique ID in the SRS doc. Example> log in, Sign up, Credential collection.
ii. Non-Functional / Quality of Service (QoS) Requirements: Describes how the system should do its functionalities. It is often related to Performance, Availability, Scalability, Maintainability, Security, and Reliability of the system.
Software Requirement Analysis & Engineering:
Identify, analyze, and manage the requirements. More specifically- purifying the collected requirements into to more concrete and manageable set. The engineering process can be broken down into several steps:
i. Inception: That the initial step of requirements collection and interviews with users, determines the nature of the system.
ii. Elicitation: Elicit requirements from all parties to make a complete set of requirements.
iii. Elaboration: Identifies data, function, and behavioral requirements and establishes an analysis model. It is also an initial part of software design.
iv. Negotiation: Agree on a deliverable system with the consent of the customer and developers.
v. Specification: Can be any one or combine of the following:
- Written document (SRS)
- Set of models
- Formal mathematical explanation
- Use cases
- Prototype
vi. Validation: Review on the prepared requirements to check
- errors in the content
- necessary clarification
- inconsistency
- missing information
- unachievable requirements
Software Requirement Specification (SRS):
A complete specification of the system that satisfies the requirements, so that the designer can proceed with the next step. It describes all functional (expected uses) and non-functional (properties and constraints) requirements. It includes 'use cases' that present interaction with the system and users. There are standards available to write an SRS that include:
- Version No.
- Introduction
- Purposes
- Convention
- Audience and reading suggestion
- Scope
- References
- Overall description
- Product perspective
- Product Features
- User classes and characteristics
- Operating environment
- Design and implementation Constraints
- User documentation
- Assumptions
- System Features
- Functional requirements
- Non-functional Requirements
- Performance
- Reliability
- Security
- External Interface Requirements
- User Interface
- Hardware Interface
- Software Interface
- Communication Interface
- Other Requirements
- Appendix A- Glossary
- Appendix B- Analysis Model
- Appendix C- Issue List
"GOOD SRS WILL MAKE YOUR REST OF THE DEVELOPMENT JOURNEY SMOOTH."
0 comments:
Post a Comment