Unit 2 Flashcards
What is meant by requirements engineering?
An activity in the process of developing software that aims to elicit and specify the requirements of the client(s)/user(s) in a form that can be used in the design of the software and in assessing its quality once it is built. It can be divided into two main activities: requirements elicitation and requirements analysis.
What is meant by a stakeholder of a system?
An individual and/or an organisation affected by the success or failure of a software system.
What are the properties that requirements must be checked for?
- Necessary and traceable – each requirement should fulfil a purpose and it should be clear where each requirement comes from.
- Non-ambiguous and realistic – there should be no alternative interpretations for one requirement and it should be possible to carry each requirement through to development.
- Complete – in a plan-driven development all the intended functionality is described as completely as possible, although in practice it is often not possible to be absolute about this and it is important to allow for requirements that emerge later in the system development and during maintenance. Agile development makes a strong argument that requirements will emerge during development and cannot be considered complete in advance. The level of completeness of requirements will also depend on the system to be developed and on the development environment.
- Consistent – requirements should not contradict each other.
- Verifiable and validated – it should be possible to check that a requirement has been implemented, and that what is implemented corresponds to what was intended.
What are the inputs of a requirements engineering process?
The stakeholders’ needs are one of the inputs into this process. Other inputs come from existing knowledge of the domain, existing regulations, the organisation’s standards, and existing systems.
What are the outputs of a requirements engineering process?
The outputs of a requirements engineering process are a set of artefacts that can help in understanding the intended requirements for a system. In plan-driven development, this output takes the shape of a requirements document and the models of what the system is intended to do.
List the different activities associated with the requirements engineering process.
Requirements elicitation, requirements analysis and negotiation, requirements documentation and requirements validation.
What happens during the requirements elicitation activity of the requirements engineering process?
Requirements elicitation is the activity concerned with identifying the requirements. This is done by consulting the stakeholders, reading existing documents, understanding the domain, defining the boundaries of the system, and understanding the possibilities of change.
There are many techniques for elicitation such as interviews, focus groups, team meetings, brainstorming sessions, and more recent approaches such as crowd sourcing. Often several of these techniques are used in conjunction. There are also modelling techniques to help this process such as activity diagrams, use cases, scenarios, and user stories.
The goal of elicitation is to find out what the system to be developed will do. This involves finding the system’s stakeholders, defining the boundaries of the system, and discovering the main objectives the system has to meet. At this stage the requirements engineer is discovering and recording requirements.
What happens during the requirements analysis and negotiation activity of the requirements engineering process?
Requirements analysis and negotiation is the activity where requirements are categorised, prioritised and examined for their properties of consistency, completeness and ambiguity. This activity also involves the negotiations around conflicting interests and requirements. Models of requirements are created to help communication with the customers and developers.
What happens during the requirements documentation activity of the requirements engineering process?
Requirements documentation is usually done through a template document. Documentation also includes the modelling artefacts.
What happens during the requirements validation activity of the requirements engineering process?
Requirements validation consists of a careful check of the overall requirements documentation, usually following a checklist of questions. This is a way of ensuring that the requirements correspond to what is really intended of the system.
Where and when does the requirements engineering process take place in an iterative and incremental development process?
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.
Identify the stakeholders for a system to book appointments for a hospital.
Hospital administrators, receptionists, doctors, nurses, patients, general public.
Suggest ways in which requirements may evolve.
Examples are:
- 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.
Consider the following list of poorly expressed requirements, indicate which properties are not respected and ask questions to clarify their meaning:
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. 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?
What are requirements and stakeholders and how do they relate to each other?
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.
What are the benefits of documenting requirements within a project?
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.
What is an agile approach to requirements engineering documentation?
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.
Which other activities will be taking place in parallel with requirements engineering?
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.
Who are the stakeholders in a hotel reservation system?
The hotel owners, receptionists, existing customers, the general public accessing the system to make a reservation.
Consider the example of a hotel reservation system and invent some examples of the main inputs for a requirements engineering process.
Examples 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 in a floor
- existing documentation – the manual system used for reservations
- regulations and organisational standards – an acknowledgement is sent to every customer who makes a reservation.
What is a business event?
A business event is something that a system must respond to.
What is a business process?
Definition of what gets done in the business: by whom, in what order, needing what and with what consequences.
What is meant by the term ‘actor’?
A representation of users of a software system in a particular role, when interacting with use cases. An actor can also represent the role of an external system that interacts with a software system.
Briefly describe the MoSCoW scheme.
A scheme in DSDM classifying requirements into Must have, Should have, Could have, and Won’t have.
What is meant by a user story?
A story written by an intended user of a system; it describes some functionality that is of value to the person(s) writing the story. It represents a user’s expectation of the system.
Give an example of the typical format of a user story.
An example of a typical format is ‘as a [role] I want [feature] so that [reason]’.
What are the step used in the user story technique as defined by Beck and West (2004)?
- The customer (user) thinks of something she wants the system to do.
- The desire is written down on an index card, given a name and a number.
- An estimate is made of how long it will take to realize the story in fully functional and releasable form.
- Stories are factored – split into smaller stories – if it appears they will take too long to implement as written.
- Stories are factored if one aspect of the story is more important than others.
- Stories are factored if they are long and rambling or overly general.
- Stories are prioritized.
- Stories are aggregated into collections, each collection defining the scope of work undertaken by the team this period.
- Work products are validated. Their ability to satisfy the original story is confirmed.
- The customer uses the developed system and new stories are conceived.
- Iterate.
What are the essential characteristics of a good user story as listed by Cohn (2004) and Beck and West (2004)?
Cohn (2004) lists the following characteristics as essential for a good story: independent, negotiable, valuable to users and customers, estimable, small, testable.
Beck and West (2004) highlight four characteristics of a story: discrete, estimable, testable and prioritised.
Give an example of the typical format of a requirement.
‘The system shall …’
List some ways in which you can avoid ambiguity when specifying requirements.
Pronouns (for example ‘it’, ‘their’) should be avoided, as should words with multiple meanings.
Avoid using words with multiple meanings.
Any words that have technical meanings or meanings specific to the business should be given definitions that get recorded in the requirements specification. For similar reasons, abbreviations, including acronyms, should be defined there.
How does Sommerville (2011) define a user requirement?
User requirements are abstract statements of the software requirements for the customer and end-user of the system.
How does Sommerville (2011) define a system requirement?
System requirements are a more detailed description of the functionality to be provided.
Why is it important to make a distinction between a requirement and its solution?
It is important to understand the essence of the business, not its implementation. This is vital because it is too easy to hide significant functionality by describing an implementation, and too easy to select one implementation when better ones may exist.
What are the purposes of requirements?
Communication – from the requirements engineer to the designer.
As a contract with the client (and other stakeholders) for what the system must do.
What is a functional requirement?
A functional requirement describes an action that the product must take if it is to carry out the work it is intended to do.
Indicate one property that a functional requirement should not possess?
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.