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

(a) Identify the stakeholders for a system to book appointments for a hospital.
(b) Suggest ways in which requirements may evolve.

A

(a) Stakeholders include hospital administrators, receptionists, doctors, nurses, patients and the general public.
(b) 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
3
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
4
Q

(a) What are requirements and stakeholders, and how do they relate to each other?
(b) What are the benefits of documenting requirements within a project?

A

(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.
(b) 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
5
Q

(a) Who are the stakeholders in a hotel reservation system?
(b) Consider the example of a hotel reservation system, and invent some examples of the main inputs for a requirements engineering process.

A

(a) The stakeholders include the hotel owners, receptionists, existing customers and the general public accessing the system to make reservations.
(b) 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
6
Q

(a) What are the purposes of a requirements document?
(b) What is a functional requirement?
(c) What is one property that a functional requirement should not possess?
(d) What is a non-functional requirement?
(e) What is a technical solution requirement and what is a business functional requirement? Why is it useful to distinguish them?
(f) What overarching property should the set of functional requirements that result from a requirements gathering process possess?
(g) How do business events and use cases help in determining functional requirements?

A

(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.
(b) A functional requirement describes an action that the product must take if it is to carry out the work it is intended to do.
(c) A functional requirement should not be a statement about a quality.
(d) A non-functional requirement is a requirement about a quality that the product must have.
(e) 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.
(f) 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.
(g) 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
7
Q

(a) How do you discover whether a set of functional requirements are sufficient for the product to be useful, and whether the functionality is correct?
(b) Why must functional requirements be testable?
(c) Can you think of some generic questions to ask that can help in making requirements precise and complete?
(d) What is the major problem with a requirement that is written in a natural language such as English?
(e) 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?
(f) Why should you record the meanings of business and technical words in a requirements specification?

A

(a) Ask the user!
(b) It can then be determined whether the delivered product meets the intention of the user.
(c) Questions of the form ‘When should something happen?’ and ‘To whom should something be sent?’ are useful. You may have thought of others.
(d) Natural language is often ambiguous.
(e) 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.
(f) 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
8
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
9
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
10
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
11
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

(a) What does the phrase ‘look and feel’ refer to?
(b) 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?
(c) 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?
(d) What general characteristics should the look and feel of a consumer product have?

A

(a) Look-and-feel requirements describe the overall appearance and behaviour of the product to its users.
(b) 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.
(c) Fit criteria (dealt with in detail later in the unit) should be added to the requirements, to make them measurable.
(d) 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.

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

(a) What do usability requirements describe?
(b) What are the effects of usability on a product?
(c) How might you express a usability requirement more precisely than simply ‘easy to learn’?

A

(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.
(b) Usability impacts on productivity, error rates, stress levels and acceptance. It determines how well the human part of the system can perform.
(c) A usability requirement can be expressed more precisely by describing the level of achievement required after the required training or learning period.

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

(a) What are the main kinds of performance requirement?
(b) Rather than accept requirements which state that some thing should be done speedily and/or efficiently, what should you aim for?

A

(a) Normally, the main performance requirements involve speed (the time to do something), capacity, reliability and accuracy.
(b) Look for requirements which specify the speed and efficiency in ways that can be measured objectively.

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

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

(a) When do cultural requirements usually arise?
(b) What is the best approach to dealing with cultural issues?
(c) What characterises a political requirement?
(d) Why are cultural and political requirements often difficult to deal with?

A

(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.
(b) Obtain the help of stakeholders from that culture.
(c) 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’.
(d) 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.

17
Q

(a) What is the most pressing reason for considering legal requirements?
(b) How should you determine the appropriate law that affects the product?

A

(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.
(b) Obtain help from the company’s lawyers.

18
Q

(a) In the context of a computer system, what is meant by security?
(b) There are two problem areas for a distributed computing system that go beyond the normal security requirements. What are they?
(c) From the point of view of a security administrator, suggest a useful starting point to monitor potential threats.

A

(a) Security is about the prevention of unauthorised access to the system.
(b) 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.
(c) 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.

19
Q

(a) What are the three aspects of security from a requirements perspective?
(b) Distinguish between the three aspects of security.
(c) Why is it a good idea to consider bringing in a security expert to help identify security requirements?

A

(a) The three aspects are confidentiality, integrity and availability (CIA).
(b) 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.
(c) 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.

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

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

Not all of the issues would necessarily be addressed by having a component in the network or computer systems to manage them. For example, repudiation of the order by the customer may be accepted as a commercial risk, and the customer may be allowed to return unwanted goods.

22
Q

(a) What is the first step towards finding whether a solution fits a requirement?
(b) What is a fit criterion?

A

(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.
(b) 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.

23
Q

(a) Who needs the fit criteria?

(b) When are fit criteria specified?

A

(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.
(b) 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.

24
Q

(a) What is a fit criterion for a functional requirement?
(b) Do the fit criteria of functional requirements have scales of measurement?
(c) Does a fit criterion indicate how the functional requirement would be tested?

A

(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.
(b) 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.
(c) 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.

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

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

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

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

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

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