L1 Requirements Definition Flashcards
What are the 5 Software engineering life cycle
- Requirements definition
- Software Design
- Implementation and Unit Testing
- Integration and system testing
- Operation and maintenance
Alternative:
1. Review/Plan
2. Develop
3. Verify/validate
What is a software requirement?
A description of what the system under development or proposed system should do and any constraints under which it must do it
What is a requirement?
It serves as a contract between the development team and the customer.
It focuses on what the system will do, not how it will do it.
It should be written at a level that the customer understands
- The train shall be able to transport 5,000 passengers per hour from Lancaster to Manchester (WHAT)
- The train shall consist of 3 carriages pulled by an electric locomotive (HOW) (THIS IS WRONG)
Is the following requirement good or bad
“The telephone system shall be able to inform callers of the anticipated wait time and their number on the wait queue”
Good, Does not contain implementation details
Is the following requirement good or bad:
“System shall support client inquiries using four access points: in person, paper-based mail, voice communication, and electronic communication (DSL, dial-up, fiber optic)”
Bad, contains implementation detail, Should focus on the type of user rather than design details
Is the following requirement good or bad:
“The telephone system shall be able to support an 0800 number system to allow free calls”
Bad, contains low level detail, should state the “System should be able to support free calls”
Is the following requirement good or bad:
“If an individual double-clicks on an event in a member’s journal, the system shall display the electronic information and the images associated with an event”
Bad, contains user interface design details.
Should simply state that:
“The system shall enable the user to display the
electronic information and images associated with an event”,
Without stating how
Is the following requirement good or bad:
“The telephone system shall be able to handle 97,000 calls per year and must allow for a growth rate of 15 percent annually”
Good, no details on how the telephone will handle the calls or achieve the annual growth
When should we use “shall” in a requirement?
When should we use “should” in a requirement?
Give 3 examples:
“shall” is used for mandatory requirements.
“should” is used for desirable requirements.
- The system shall enable the user to buy trains tickets (mandatory)
- The system shall support accessibility in accordance with 2018 accessibility regulation (mandatory)
- The system should allow users to post their experience of using the App (desirable)
What is a Functional Requirement (FR)?
Is a requirement for services that a system should deliver.
Specifies what the software system or application is expected to do.
It defines the specific functions, capabilities, and features that the software must possess to meet the needs of the users, customers, or stakeholders.
What is a Non-Functional Requirement?
Describes how a software system should behave or perform.
Focus on the qualities of the software that enable it to meet user needs and expectations.
What are the metrics for specifying Non-functional requirements?
- Speed (Performance)
- Size
- Ease of use
- Reliability
- Robustness
- Portability
What are a requirements document should include?
- Usually a text document
– As described in the IEEE Standard 830 - A purpose
- Scope of the product
- A set of SHALL statements prescribing what the system will do
What is a requirements engineering?
A systematic process of:
- Understanding the problem
- Specifying the solution
- Managing the requirements
What is the questions that should be asked when “understanding the problem”?
It is important to to understand the context of problem that the system is intended to address
– What is the business goal?
– Who are the proposed system users and other stakeholders?
– What is the operational environment?
– “Green field” or evolution of existing system?
– What can we change, what must we keep?