Unit 2 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 therefore has to take place early in the software development process. However, an iterative and incremental process recognises that requirements are not stable, and that revisiting, clarifying and specifying requirements occurs in parallel with the other phases of development.

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

Stakeholders include hospital administrators, receptionists, doctors, nurses, patients and the general public.

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.

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

Consider the following list of poorly expressed requirements. Indicate which of the properties introduced in Subsection 2.1 are not respected, and ask a question to clarify the meaning of the requirement.

(a) The software system should provide acceptable performance under maximum load conditions.
(b) If the system fails in operation there should be minimal loss of data.
(c) The software should be developed so that it can be used by inexperienced users.

A

(a) The requirement is ambiguous and not verifiable. How can performance be measured? What is maximum load?
(b) The requirement is ambiguous and not verifiable. What is minimal loss of data?
(c) The requirement is ambiguous. What are the usability criteria?

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

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

A

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

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

What are the benefits of documenting requirements within a project?

A

Requirements documentation records decisions; it is the main reference for what should be built, and the basis for validation of the built system.

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

Who are the stake holders in a hotel reservation system?

A

The stakeholders include the hotel owners, receptionists, existing customers and the general public accessing the system to make reservations.

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

Consider the example of a hotel reservation system, and invent some examples of the main inputs for a requirements engineering process.

A

Examples of inputs include:

  • stakeholder needs – there should be a help system for first-time users of the system;
  • domain information – rooms are identified by a number where the first digit indicates the floor, and the subsequent digits indicate the number of the room on that floor;
  • existing documentation – there is a manual system currently used for reservations;
  • regulations and organisational standards – an acknowledgement is sent to every customer that makes a reservation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the purposes of a requirements document?

A

A requirements document is for communication – from the requirements engineer to the designer. It serves as a contract with the client (and other stakeholders) for what the system must do.

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

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

What is one property that a functional requirement should not possess?

A

A functional requirement should not be a statement about a quality.

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

What is a non-functional requirement?

A

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

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

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

A

A technical solution requirement is a constraint on the product due to the technology of the solution that must be adopted. A business functional requirement is a specification of the work, or business, independent of the way that work will be carried out. Thus the two types of requirement arise from different domains: the business domain and the solution domain. We want to keep issues related to the business separate from those of the solution.

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

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

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

A

Use cases are derived from business events, and each use case is described by a set of scenarios. A scenario is a series of steps that complete the functional tasks of a use case. A task is something that the actor identifies as being part of the work of the use case. Thus the steps in a scenario provide a mechanism (thinking technique) for determining all the functional requirements needed by each step.

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

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

A

Ask the user!

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

Why must functional requirements be testable?

A

It can then be determined whether the delivered product meets the intention of the user.

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

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

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

A

Natural language is often ambiguous.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
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 may be possible to avoid ambiguity entirely, but the cost of being so precise can be enormous and the result unreadable. Therefore, we accept having to live with some ambiguity, but try to ensure that the risk of doing so is acceptably small. One way in which you can try to reduce ambiguity is by providing clear definitions of any technical terms you use. A second way is by ensuring that requirements are not stated in too general terms.

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

Why should you record the meanings of business and technical words in a requirements specification?

A

They should be recorded to avoid ambiguity and aid clarity in the usage of terms.

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

Summarise the overall process for determining a set of functional requirements.

A

1 Understand the domain, determining 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 – sets 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.

23
Q

What does the phrase ‘look and feel’ refer to?

A

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

24
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 are not about the specifics of the user interface.

25
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 later in the unit) should be added to the requirements, to make them measurable.

26
Q

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

A

The look and feel is concerned with the impression we wish to make; we want it to reflect the distinctive values, ethos and style of our organisation.

27
Q

What do usability requirements describe?

A

Usability requirements specify how easy to use a product should be for its intended users under specified circumstances. They include requirements for how easy it should be to learn to use the product.

28
Q

What are the effects of usability on a product?

A

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

29
Q

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

A

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

30
Q

What are the main kinds of performance requirement?

A

Normally, the main performance requirements involve speed (the time to do something), capacity, reliability and accuracy.

31
Q

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

A

Look for requirements which specify the speed and efficiency in ways that can be measured objectively.

32
Q

How do operational requirements differ from performance requirements?

A

Operational 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).

33
Q

When do cultural requirements usually arise?

A

Cultural requirements usually arise: when a company attempts to sell a product in a different country, particularly a county with a very different culture and/or language from the one that the product was initially designed for; when eliciting requirements in an organisation different from one’s own.

34
Q

What is the best approach to dealing with cultural issues?

A

Obtain the help of stakeholders from that culture.

35
Q

What characterises a political requirement?

A

A political requirement is a requirement for which someone is unwilling or unable to provide a coherent rationale. A political requirement is often stated in terms of ‘I want it’.

36
Q

Why are cultural and political 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 very sensitive.

37
Q

What is the most pressing reason for considering legal requirements?

A

The cost of litigation is one of the major risks for commercial software, and can be expensive for other kinds of software. There are penalties for non-conformance with the law: fines, imprisonment and loss of reputation.

38
Q

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

A

Obtain help from the company’s lawyers.

39
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.

40
Q

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

A

The additional security problems that arise with a distributed system are that:

  • the communication medium is insecure: users’ communications may be intercepted en route and read or altered;
  • on an external network, communications will pass through many third-party systems with unknown security measures, which cannot be controlled.
41
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 you are responsible. In practice, this is likely to be a firewall for a protected network.

42
Q

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

A

The three aspects are confidentiality, integrity and availability (CIA).

43
Q

Distinguish between the three aspects of security.

A

Confidentiality – 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.

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

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

44
Q

Why is it a good idea to consider bringing in a security expert to help identify security requirements?

A

Security is an extremely important issue, and getting it wrong may be disastrous. Where developers have not been trained in security, it would be prudent to have a security expert on the team to advise them.

45
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.

46
Q

What is a fit criterion?

A

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

47
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.

48
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 we find the requirements for each task in each use case.

49
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 the functional requirement. For example, if the required function is to send an email to the student after a marked TMA has been uploaded by the tutor, then the fit criterion for this requirement is that an email should indeed be sent to the student and reflected in their mailbox on the forum.

50
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 given in terms of a yes/no answer that implies that the required function is either achieved or not.

51
Q

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

A

A fit criterion provides some target that, 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 the specified fit criterion.

52
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 with which the requirement is concerned.

53
Q

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

A

The template is divided into a fixed set of categories, which means we are less likely to forget some types of requirement. It also saves us from having to work out what categories of requirement to deal with each time we start a new document. It helps us to communicate requirements to our fellow-developers. If we have a standard template, then everyone will know what information to expect and in what order. (It might also allow us to compare projects and even reuse requirements more easily.)