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 stakeholders 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 described above 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.

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

Here is a list of requirements that apply to the product X. For each requirement, say whether it is a functional or non-functional requirement, and if it is a functional requirement, say whether it is a business requirement or a technical solution
requirement.

(a) X must check a user’s identity.
(b) X must check a user’s password.
(c) X must produce a statement of the user’s account.
(d) X must validate the user’s identity and password within 3 seconds.
(e) X must be usable by users with limited dexterity.
(f) X must employ the company’s proprietary password-maintenance system.
(g) X must operate in arctic climates.

A

(a) Functional, business requirement (the requirement states what needs to be done,
not how to do it).
(b) Functional, technical solution requirement (access to the system can be achieved
in many ways; passwords are just one mechanism, but biometrics may be more
appropriate to this product).
(c) Functional, business requirement (the requirements states what needs to be done,
not how to do it).
(d) Non-functional.
(e) Non-functional.
(f) Functional, technical solution requirement (a specific technology is mandated).
(g) Non-functional.

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

Derive some functional requirements for the following step of a scenario in a hotel
management system: ‘The system shall allocate an available cleaner to each occupied
room.’ Confine yourself to what must be done, not how it is to be done.

A

Here are some suggestions.
The system shall identify occupied rooms.
The system shall identify available cleaners.
The system shall allocate occupied rooms among the available cleaners while balancing their workloads.

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

Imagine that you have been commissioned to produce a Requirements Recording Tool.
The purpose of the tool is to enable a requirements analyst to record information about each requirement for a product. An important requirement for the tool is that it should give its users the impression that they are dealing with a set of cards, each recording a requirement. Without considering the detail of the information to be kept about each requirement, identify four functional requirements for managing a collection of such records. That is, what could the tool to do to help you record the requirements you have elicited so far, and maintain those requirements as you learn more about the required product? If the
tool is to be used on different projects, what additional functionality should the tool
possess?

A

Here are some of the functional requirements that relate to the management of a set of requirements. Yours may differ:
The product shall enable a new requirement to be entered.
The user shall be able to view each requirement in the set.
The product shall enable a user to amend (edit) an individual requirement.
The product shall enable the user to delete a selected requirement from the set of
requirements.
The product shall enable the user to view a summary of all requirements.
The product shall show all requirements that conflict with a given requirement.
The product shall perform a range of checks on the set of requirements.
The user shall be able to view all requirements satisfying a given criterion, for
example, those that mention particular terms.
The product shall show a list of all requirements associated with a selected
business event.
The product shall enable the user to create and amend a set of requirements for a
new product.

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

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

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

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

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

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

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

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

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

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

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

37
Q

What is the best approach to dealing with cultural issues?

A

Obtain the help of stakeholders from that culture.

38
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 equirement is often stated in terms of ‘I want it’.

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

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

41
Q

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

A

Obtain help from the company’s lawyers.

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

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

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

45
Q

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

A

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

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

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

48
Q

Consider a patient-monitoring system in a hospital. What do you think would be a
suitable user requirement for the availability of such a system? Does this requirement
imply any others? How might you measure its availability?

A

The first thing to ask about a patient-monitoring system is: who are the users? Inside a hospital, the doctors and nurses will be responsible for monitoring the patients’ health. So they, not the patients, will be the users (although patients certainly have an interest in the reliability of such systems). A suitable requirement might be: ‘The system should be unavailable for no more than 6 hours per year.’ Perhaps this also indicates another requirement: ‘It must be obvious when there is any fault.’ Notice that we did not write something like ‘When the system fails it should sound an audible warning’, as this would be an unnecessary constraint which is not actually
part of the requirements, even though it might well form part of the eventual solution.
You might measure reliability by one or both of the following:
The proportion of time that the system is operating satisfactorily;
The number of false alarms.

49
Q

A company sells computer accessories (paper, printer ink, modems etc.). It wishes to
introduce an ecommerce system to enable customers who have credit accounts to use
the internet for their purchases. Some customers pay cash with their order, and some order on credit. Goods that are ordered on credit are sent with an invoice to the customers, and payment is required later. Not all of the customers have credit accounts, and for those that do, there is a limit to the amount of credit they can have. Customers
have a customer account number to identify themselves. What security issues are involved in the proposed ecommerce system?

A

The main security issues are as follows: Authentication is needed to establish the identity of the principal user, that is, the customer placing the order. Authorisation is needed to check that the customer making the credit order has a
credit account and is authorised to order on credit, and that the amount of the order does not exceed the credit limit. Repudiation by a customer who claims not to have placed the order may occur.
The company might similarly try repudiating an order it received. Disclosure of confidential information used in the transaction for authentication, customer details and the contents of the order itself may occur. Integrity of the order must be assured. For example, the quantities of items must not change.

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

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

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

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

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

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

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

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

58
Q

How might you determine the fit criterion for the following performance requirement? The customer services personnel should be able to respond rapidly to customer queries.

A

For this performance requirement, talking to the users about their own expectations and those of their customers might reveal that the preferred task time is 1 minute, and that currently it takes three minutes to answer a customer query because of a cumbersome search facility on the current system. So the fit criterion for this requirement might be something like the following. The customer services personnel must be able to find an answer to a customer’s query in not more than one minute of a customer’s call. This example shows that the fit criterion is backed by empirical data for the current situation.

59
Q

Here is an example of a situation and a possible fit criterion for a requirement to address it.
Situation: Customers send letters to the customer services department complaining
about unsatisfactory experiences with a particular product.
Fit criterion: The number of letters complaining about the product within a defined time
period falls below a set threshold.
Give suggestions of possible fit criteria for requirements to address the following
situations related to performance requirements.
(a) Customers return the product if they are unhappy with it after a purchase has been
made.
(b) Users do not find the system user-friendly, because of the number of errors that are
made in completing a task.
(c) The staff members are fairly satisfied, and fewer of them are leaving the
organisation.
(d) The hotel customers find the atmosphere in the hotel very restful.

A

(a) The number of product items returned within a particular period as a percentage of those sold in the same period falls below a set threshold.
(b) Errors shall not occur on more than a specified proportion of the occasions on which the task is executed.
(c) The staff turnover does not exceed a specified level.
(d) The percentage of customers staying in the hotel, over a particular period, who agree that the hotel is restful is above a defined level.

60
Q

We have listed below some requirements and their fit criteria from the Requirements Tool in Exercise 4.
Assess the suitability and clarity of the fit criteria.
(a) Requirement: The product shall enable the user to view a summary of all
requirements.
Fit criterion: The product should show a summary of all requirements.
(b) Requirement: The product shall show all requirements that conflict with a given
requirement.
Fit criterion: The product should show all conflicts with a given requirement.
(c) Requirement: The product shall perform a range of checks on the set of
requirements.
Fit criterion: The product should display the results of a range of checks.

A

(a) The fit criterion does not make it clear what the ‘summary’ consists of. Also, it does not make it clear whether it’s the summary of each requirement or a ‘composite’ summary of all the requirements.A better fit criterion might be: ‘A list will be produced giving a one line summary for
each requirement.’ This might mean we need to enter this in the form of a name for each requirement, for example, ‘Accept a Reservation’, at an earlier stage.
(b) It’s not clear from the fit criterion whether the requirements that conflict with one
requirement need to be shown, or whether it’s the nature of the conflicts that needs
to be shown. A better fit criterion might be: ‘For a given requirement, state the number of any
requirement that conflicts, along with the reason.’
(c) The requirement and the fit criterion do not make it clear what the ‘range of checks’
are nor what the ‘result’ should consist of.
A better fit criterion might be: ‘The requirements will be checked, and the number
of any requirement where all fields are not correct will be reported, as well as the
number of any requirement that conflicts with any other.’

61
Q

Are fit criteria always attainable?

A

No. Fit criteria are not always attainable. Whether they are actually attainable depends on what happens during the development cycle. Constraints can arise when attempting to achieve the fit criteria owing to, for example, the product’s operating environment, the client’s budget, or time. Measurements of fit criteria can only be made
in reasonable ways and in reasonable times.

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