L1 Requirements Definition Flashcards

1
Q

What are the 5 Software engineering life cycle

A
  1. Requirements definition
  2. Software Design
  3. Implementation and Unit Testing
  4. Integration and system testing
  5. Operation and maintenance

Alternative:
1. Review/Plan
2. Develop
3. Verify/validate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a software requirement?

A

A description of what the system under development or proposed system should do and any constraints under which it must do it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a requirement?

A

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

  1. The train shall be able to transport 5,000 passengers per hour from Lancaster to Manchester (WHAT)
  2. The train shall consist of 3 carriages pulled by an electric locomotive (HOW) (THIS IS WRONG)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

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”

A

Good, Does not contain implementation details

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

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)”

A

Bad, contains implementation detail, Should focus on the type of user rather than design details

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Is the following requirement good or bad:
“The telephone system shall be able to support an 0800 number system to allow free calls”

A

Bad, contains low level detail, should state the “System should be able to support free calls”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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”

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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”

A

Good, no details on how the telephone will handle the calls or achieve the annual growth

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

When should we use “shall” in a requirement?
When should we use “should” in a requirement?
Give 3 examples:

A

“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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a Functional Requirement (FR)?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a Non-Functional Requirement?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the metrics for specifying Non-functional requirements?

A
  1. Speed (Performance)
  2. Size
  3. Ease of use
  4. Reliability
  5. Robustness
  6. Portability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are a requirements document should include?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a requirements engineering?

A

A systematic process of:

  • Understanding the problem
  • Specifying the solution
  • Managing the requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the questions that should be asked when “understanding the problem”?

A

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?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the questions to “specify the solution”?

A

What is needed to:
* Achieve the business goal?
* Support the users?
– How do these requirements interact?
* Some may conflict
* Some will be higher priority than others (essential, useful, desirable)
– Are the requirements you have formulated the right requirements?

17
Q

What is a system stakeholder?

A

Any person or organisation who is affected by the system in some way and so has a legitimate interest

18
Q

Who is the system stakeholders?

A

– End users of the system
– Managers and others involved in the organisational processes influenced by the system
– Engineers responsible for the development and maintenance
– People responsible for systems that will interface with the system under development
– External bodies such as regulators or certification authorities

19
Q

STAKEHOLDERS - EXAMPLE

A

Consider an information system that is intended for use at a GP
practice. We can identify a number of system stakeholders ….
* Patients whose information is recorded in the system
* Doctors who are responsible for assessing and treating patients.
* Nurses who coordinate the consultations with doctors and administer some
treatments.
* Medical receptionists who manage patients’ appointments.
* IT staff who are responsible for installing and maintaining the system.
* Legislation on Data Protection
* NHS database
* GP Practice

20
Q

Why requirements are managed?

A
  • Requirements beget requirements …
  • We want to track them
  • We might have to reappraise the requirements
  • Requirements change
21
Q

What is the motivation behind the requirements?

A
  • Requirements related errors are… the most numerous of software errors
  • The most persistent
  • The most expensive: account for 60% of
    software error costs
    – ~5x more if fixed during design
    – ~10x more if fixed during
    – implementation
    – ~20x more if fixed during integration
    testing
    – ~100-200x more if fixed after delivery
22
Q

Functional or Non-functional requirement?

A
  • Requirement 1 is a functional requirement
  • Requirement 2 is a non-functional requirement that is concerned with size or capacity
  • Requirement 3 is a non-functional requirement that is concerned with development process
  • Requirement 4 is a non-functional requirement that is
    concerned the operating costs for the system
  • Requirement 5 is a non-functional requirement that is
    concerned availability or reliability
  • Requirement 6 is a non-functional requirement that is
    concerned with legislation
23
Q

Using stakeholders and to elicit requirements

A
  • Identify system stakeholders, including users, certification/regulatory bodies, system financiers, project manager etc.
  • Identify existing systems that may interface with the proposed system
  • From each system perspective establish the services the system is expected to provide, the constraints associated with the services and global constraints
23
Q

Example of IEEE Standard 830 requirement specification template

A