Unit 2 - Requirements concepts Flashcards

1
Q

Where and when does the requirements engineering process take place in an iterative and incremental development process?

A

The main output of a requirements engineering process is the contract between those commissioning the system and the developers of the system. It has therefore to take place early in the software development process. However, an iterative and incremental process recognises that requirements are not stable and revisiting, clarifying and specifying requirements occur in parallel with the other phases of development.

SAQ1

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

Identify the stakeholders for a system to book appointments for a hospital.

A

Hospital administrators, receptionists, doctors, nurses, patients, general public.

SAQ2

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

Suggest ways in which requirements may evolve.

A
  • new requirements may be added
  • existing requirements may change because of changes in the environment or in the organisation
  • some requirements may become obsolete
  • technologies may evolve
  • other systems may emerge that introduce interoperability requirements
  • regulations may change

SAQ2

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

Why is the below not a well expressed requirement?

“The software system should provide acceptable performance under maximum load conditions.”

A

The requirement is ambiguous and not verifiable. How can performance be measured? What is maximum load?

SAQ 3

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

Why is the below not a well expressed requirement?

“If the system fails in operation there should be minimal loss of data.”

A

The requirement is ambiguous and not verifiable. What is minimal loss of data?

SAQ 3

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

Why is the below not a well expressed requirement?

“The software should be developed so that it can be used by inexperienced users.”

A

The requirement is ambiguous. What are the usability criteria?

SAQ 3

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

What are requirements and stakeholders and how do they relate to each other?

A

Requirements are the functions and qualities that are wanted of a product. Stakeholders are the people and organisations with a vested interest in the product. Requirements arise from stakeholders’ needs.

SAQ 4

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

What are the benefits of documenting requirements within a project?

A

Requirements record decisions. They are the main reference for what should be built and the basis for validation of the built system. Therefore they need to be documented so that they can be used throughout development.

SAQ 4

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

What is an agile approach to requirements engineering documentation?

A

In an agile approach, requirements documentation serves a purpose and should be done only to the extent that it contributes to that purpose. It should serve as a vehicle for common understanding, communication and future traceability.

SAQ 5

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

Which other activities will be taking place in parallel with requirements engineering?

A

The definition of the system architecture and an elaboration of tests for the requirements. When defining requirements there are implications for the architecture of the system and each requirement will be related to some test of the final system.

SAQ6

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

What are the purposes of requirements?

A

Communication – from the requirements engineer to the designer. As a contract with the client (and other stakeholders) for what the system must do.

SAQ7

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

What is a functional requirement?

A

A functional requirement describes an action that the product must take if it is to carry out the work it is intended to do.

SAQ7

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

Indicate one property that a functional requirement should not possess?

A

A functional requirement should not be a statement about a general property such as usability, reliability or maintainability. A functional requirement should not be about the implementation of a solution.

SAQ7

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

What is a non-functional requirement?

A

A non-functional requirement is a requirement about a quality that the product must have.

SAQ7

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

What are a technical solution requirement and a business functional requirement? Why is it useful to distinguish them?

A

A technical solution requirement is a constraint on the product resulting from the technology of the solution that must be adopted. Business functional requirements are a specification of the work,or business, independent of the way that work will be carried out.

The two types of requirement therefore arise from different domains – the business domain and the solution domain. It is important to keep issues related to the business separate from those of the solution.

SAQ7

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

What overarching property should the set of functional requirements that result from a requirements-gathering process possess?

A

The set of functional requirements must fully describe the actions that the intended product should perform. That is, the product’s builder must be able to construct the product desired by the client from the descriptions contained in the functional requirements.

SAQ7

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

How do business events and use cases help in determining functional requirements?

A

One way to discover the requirements of a system is to use the steps in use case scenarios. Use cases are derived from business events and each use case is described by a set of scenarios. Each step in a scenario details a functional task. All the functional requirements associated with a use case can be collected from these tasks.

SAQ7

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

How do user stories help in determining functional requirements?

A

User stories are written by the people who will get some value out of the system and therefore highlight elements of functionality relevant to them. User stories encourage communication and involvement of users and customers with the development process, allowing for change and discovery of requirements throughout.

SAQ7

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

How do you discover whether or not a set of functional requirements is sufficient for the product to be useful and whether the functionality is correct?

A

Ask the user.

SAQ 8

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

Why must functional requirements be testable?

A

So that it is possible to determine whether the delivered product meets the intention of the user.

SAQ 8

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

Can you think of some generic questions to ask that can help in making requirements precise and complete?

A

Questions of the form ‘when should something happen?’ and ‘to whom should something be sent?’ are useful. You may have thought of others.

SAQ 8

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

What is the major problem with a requirement that is written in a natural language such as English?

A

Ambiguity.

SAQ 8

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

Is it possible or desirable to avoid ambiguity entirely in a

requirements specification? What steps can you take to reduce ambiguity in a requirements specification?

A

It might be possible to avoid ambiguity entirely, but the cost of being so precise can be enormous and the result unreadable. To avoid ambiguity attention has to be given to the language used to represent requirements.

SAQ 8

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

Why record the meaning of business and technical words in a requirements specification?

A

To avoid ambiguity and aid clarity in the usage of terms.

SAQ 8

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

Summarise the overall process (based on use cases) for determining a set of functional requirements.

A
  1. Understand the domain and determine the business processes and business events.
  2. Determine the scope of the new system and which business events are relevant.
  3. Draw up a set of use cases for the product associated with those events.
  4. Describe each use case by one or more scenarios – a set of steps.
  5. Work through each step of each scenario to determine a set of
    system requirements.
  6. Check for similar requirements from different use cases.
  7. Search out and remove ambiguity.

SAQ9

26
Q

Describe a process for capturing a set of functional requirements based on user stories.

A

A requirements capture process based on user stories usually starts with a brainstorming workshop with users and customers to generate an initial set of stories. A story is recorded on a card and triggers a conversation which helps with understanding the detail, and outline tests for each story. Stories are prioritised, grouped and allocated to an iteration. The outcome of an iteration is validated against its user stories.

SAQ 10

27
Q

Name the 8 types of non-functional requirements?

A
  • Look-and-feel requirements. The spirit of the product’s appearance.
  • Usability and humanity requirements. The product’s ease of use and any
    special usability considerations.
  • Performance requirements. How fast, how safe, how accurate, how reliable, and how available the functionality must be.
  • Operational and environmental requirements. The environment on which the product will have to work (under water, for example), and what considerations must be made for this environment.
  • Maintainability and support requirements. Expected changes, and the time allowed to make them.
  • Cultural requirements. Special requirements that come about because of the people involved in the product’s development and operation.
  • Legal requirements. The laws and standards that apply to the product.
  • Security requirements. The security and confidentiality of the product.
    p. 94
28
Q

What does the phrase ‘look and feel’ (non functional requirement) refer to?

A

Look-and-feel requirements describe the overall appearance of the product to its users.

SAQ 11

29
Q

When identifying non-functional requirements for the look and feel of a product, why should you avoid the temptation to provide a design for the user interface?

A

The production of a design is the task of the product’s designers, once they know the requirements. The look-and-feel requirements are not about the specifics of the user interface.

SAQ 11

30
Q

The description of a look-and-feel requirement is often loosely worded and therefore difficult to turn into a good design. What should be done to rectify this situation?

A

Fit criteria (dealt with in detail in Section 5) should be added to the requirements in order to make each one measurable.

SAQ 11

31
Q

What general characteristics should the look and feel of a consumer product have?

A

The look and feel is concerned with the impression you wish to make. You want it to reflect the distinctive values, ethos and style of your organisation.

SAQ 11

32
Q

What do usability and humanity requirements describe?

A

They describe how easy to use the product should be for its intended users under specified circumstances, and how satisfied they are with it. This includes how easy it is to learn to use the product.

SAQ 12

33
Q

What are the effects of usability and humanity on a product?

A

Usability and humanity impacts on productivity, error rates, stress levels and acceptance. It determines how well the human part of the system can perform.

SAQ 12

34
Q

How might you express a usability and humanity requirement more precisely than simply ‘easy to learn’?

A

A usability and humanity requirement can be expressed more precisely by describing the level of achievement required after the required training or learning period.

SAQ 12

35
Q

What are the main kinds of performance requirements?

A
  • speed (the time to do something)
  • capacity
  • safety
  • accuracy
  • reliability
  • availability.

SAQ 13

36
Q

Rather than accept requirements that state that something should be done speedily and/or efficiently, what should you aim for?

A

You should look for requirements that specify the speed and efficiency in ways that can be measured objectively. Take into account the possible effects of throughput and volume.

SAQ 13

37
Q

What are the problems of specifying performance requirements for web-based systems?

A

It is hard to specify performance of web-based systems because there are too many unknowns, for example the speed of connection.

SAQ 13

38
Q

How do operational requirements differ from performance requirements?

A

Operational and environmental requirements describe the operational environment (factors external to the product) in which the product must function correctly, whereas performance requirements deal with issues such as speed and size (factors internal to the product).

SAQ 14

39
Q

When do cultural requirements usually arise?

A
  • when the aim is to sell a product in a different country, particularly a country with a different culture and language from the one that the product was initially designed for
  • when eliciting requirements in an organisation different from one’s own.

SAQ 15

40
Q

What is the best approach to dealing with cultural issues?

A

Obtain the help of stakeholders from that culture.

SAQ 15

41
Q

Why are cultural requirements often difficult to deal with?

A

Cultural and political requirements often involve having to ask
personal questions and can be difficult to quantify. Such questioning is likely to be sensitive.

SAQ 15

42
Q

What is the most pressing reason for considering legal requirements?

A

The cost of litigation is a risk for commercial software and can be expensive for other software. There are penalties for non- conformance with the law – fines, imprisonment, and loss of reputation.

SAQ 16

43
Q

How should you determine the appropriate law that affects the product?

A

Obtain help from the company’s lawyers.

SAQ 16

44
Q

In the context of a computer system, what is meant by security?

A

Security is about the prevention of unauthorised access to the system.

SAQ 17

45
Q

There are two problem areas for a distributed computing system that go beyond the normal security requirements. What are they?

A
  1. The communication medium is insecure and users’ communications may be intercepted en route and read or altered.
  2. On an external network communications will pass through many third-party systems with unknown security measures which cannot be controlled.

SAQ 17

46
Q

From the point of view of a security administrator, suggest a useful starting point to monitor potential threats.

A

One useful focal point is at the boundary of the security domain for which the administrator is responsible. In practice, this is likely to be a firewall for a protected network.

SAQ 17

47
Q

What are the five aspects of security from a requirements perspective?

A

Access, privacy, integrity, audit and immunity.

SAQ 18

48
Q

What does the Access aspect of security entail?

A

Authorised users of data should not be prevented or
unnecessarily delayed from accessing that data. This implies that steps should be taken to prevent loss of data and to prevent denial of service attacks.

SAQ 18

49
Q

What does the Privacy aspect of security entail?

A

Data must not be made available to anyone except authorised users. This implies identification of those who are authorised to access specific items of data.

SAQ 18

50
Q

What does the Integrity aspect of security entail?

A

The data held by the system corresponds to the data supplied to the system. Integrity implies that data does not become corrupted.

SAQ 18

51
Q

What does the Audit aspect of security entail?

A

The data and functionality of the product can be verified and inappropriate access can be traced.

SAQ 18

52
Q

What does the Immunity aspect of security entail?

A

The product is protected against external threats and attacks.

SAQ 18

53
Q

What is the first step towards finding whether a solution fits a requirement?

A

The first step towards finding whether a solution fits a requirement is to attach a quantifiable measure to the requirement so that it is testable.

SAQ 19

54
Q

What is a fit criterion?

A

A fit criterion is a quantification or measurement of a requirement, such that the design solution can be measured to find if it unambiguously meets the requirement.

SAQ 19

55
Q

Who needs the fit criteria?

A

The developers of the product use the fit criteria to develop the product to meet those criteria. The testers use the fit criteria to determine whether the delivered product meets the original requirements. The clients for whom the product is being developed use the fit criteria as acceptance criteria for the product.

SAQ 20

56
Q

When are fit criteria specified?

A

The fit criteria can be written or elicited as the requirements are elicited, for example once use cases have been drawn up and the requirements for each task in each use case have been determined.

SAQ 20

57
Q

What is a fit criterion for a functional requirement?

A

A fit criterion for a functional requirement specifies the completion of the function of the product that is specified by that functional requirement.

For example, if the required function is to send an email to a student after a marked TMA has been uploaded by the tutor, then the fit criterion for this requirement is that an email has indeed been sent to the student and reflected in the receiving mailbox.

SAQ 21

58
Q

Do the fit criteria of functional requirements have scales of
measurement?

A

No, the fit criteria of functional requirements do not have scales of measurement. Success is tested in terms of a yes/no answer that implies whether the required function is achieved or not.

SAQ 21

59
Q

Does a fit criterion indicate how the functional requirement would be tested?

A

No, a fit criterion provides some target which, when the solution is tested, reveals whether the solution conforms to the requirement. The fit criterion does not indicate how the product will be tested. It merely states that the tester should ensure that the product complies with that fit criterion.

SAQ 21

60
Q

What does the fit criterion for a non-functional requirement specify?

A

A fit criterion for a non-functional requirement specifies a value or values, on a particular scale of measurement, that must be attained by the property or quality that the requirement is concerned with. These values should be realistic, as discussed in the performance requirements example.

SAQ 22

61
Q

What is the advantage of capturing requirements using a template rather than adopting your own format?

A

The template is divided into a fixed set of categories, which means you are less likely to forget some types of requirements. It also saves having to work out what categories of requirements to deal with each time you start a new document. It helps to communicate requirements to other developers because if there is a standard template then everyone will know what information to expect and in what order. It might also allow projects to be compared and even requirements to be reused more easily.

SAQ 23