Soft Engineering Ch 4: Requirements Engineering

0.0(0)
studied byStudied by 3 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/22

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

23 Terms

1
New cards

Requirements Engineering

The process of establishing the services that a customer
requires from a system and the constraints under which
it operates and is developed.

2
New cards

User requirements

Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.

3
New cards

System requirements

A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so written for developers and may be part of a contract between client and contractor.

4
New cards

AGILE Methods & Requirements

  • Many AGILE methods argue that producing detailed system requirements is a waste of time as requirements change so quickly.

  • AGILE methods usually use incremental requirements engineering and may express requirements as ‘user
    stories’ (discussed in Chapter 3).

  • This is practical for business systems but problematic for systems that require pre-delivery analysis (E.G., critical systems) or systems developed by several teams.

5
New cards

Functional Requirements

  • Statements of services the system should provide in detail, how the system should react to particular inputs and how the system should behave in particular situations.

  • May state what the system should not do.

  • Depend on the type of software, expected users and the type of system where the software is used.

6
New cards

Non-functional requirements

  • Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.

  • Often apply to the system as a whole rather than individual features or services.

  • Non-functional requirements may be more critical than functional requirements. If these are not met, the system may be useless.

7
New cards

Requirements Elicitation

Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational
constraints. (usually through interviewing customers)
May involve end-users, managers, engineers involved in
maintenance, domain experts, trade unions, etc. These
are called stakeholders.

8
New cards

Closed Interviewing

based on pre-determined list of questions

9
New cards

Open interviews

where various issues are explored with stakeholders.

10
New cards

Effective Interviewing

  • Be open-minded, avoid pre-conceived ideas about the requirements and are willing to listen to stakeholders.

  • Prompt the interviewee to get discussions going using a springboard question, a requirements proposal, or by working together on a prototype system.

11
New cards

Ethnography

Observing the stakeholders social and organizational, and day-to-day work habits in the working environment to infer requirements for software.

12
New cards

Scope of Ethnography

Requirements that are derived from the way that people
actually work rather than the way which process
definitions suggest that they ought to work.
 Requirements that are derived from cooperation and
awareness of other people’s activities.
 Awareness of what other people are doing leads to changes in the ways in which we do things.
 Ethnography is effective for understanding existing
processes but cannot identify new features that should
be added to a system.

13
New cards

Stories and Scenarios

Real-life examples of how a system can be used.
A description of how a system may be used for a particular task.
 Because they are based on a practical situation,
stakeholders can relate to them and can comment on
their situation with respect to the story.
 User stories

  • As a (user type) I want to (action/feature) so that (reason)

14
New cards

Scenarios

A structured form of user story

They should include:
 A description of the starting situation
 A description of the normal flow of events
 A description of what can go wrong
 Information about other concurrent activities
 A description of the state when it finishes

15
New cards

Requirement Specification

The process of writing down the user and system
requirements in a requirements document.
 User requirements have to be understandable by end-
users and customers who do not have a technical
background.
 System requirements are more detailed requirements
and may include more technical information.
 The requirements may be part of a contract for the
system development.
 It is therefore important that these are as complete as possible.

16
New cards

Natural Language

The requirements are written using numbered sentences in natural language. Each sentence should express one requirement.

17
New cards

Structured natural language

The requirements are written in natural language on a standard form or template. Each field provides information about an aspect of the requirement.

18
New cards

Design description languages

This approach uses a language like a programming language, but with more abstract features to specify the requirements by defining an operational model of the system. This approach is now rarely used although it can be useful for interface specifications.

19
New cards

Graphical notations

Graphical models, supplemented by text annotations, are used to define the functional requirements for the system;

Ex: UML use case and sequence diagrams are commonly used.

20
New cards

Mathematical specifications

These notations are based on mathematical concepts such as finite-state machines or sets. Although these unambiguous specifications can reduce the ambiguity in a requirements document, most customers don’t understand a formal specification. They cannot check that it represents what they want and are reluctant to accept it as a system contract.

21
New cards

Guidelines for Writing Requirements Specifications

  • Invent a standard format and use it for all requirements.

  • Use language in a consistent way. Use shall for
    mandatory requirements, should for desirable
    requirements.

  • Use text highlighting to identify key parts of the
    requirement.

  • Avoid the use of computer jargon.

  • Include an explanation (rationale) of why a requirement is necessary.

22
New cards

Form-Based Requirement Specifications

  • Definition of the function or entity.

  • Description of inputs and where they come from.

  • Description of outputs and where they go to.

  • Information about the information needed for the computation and other entities used.

  • Description of the action to be taken.

  • Pre and post conditions (if appropriate).

  • The side effects (if any) of the function.

23
New cards

Software requirement document

the official statement of what is required of the system developers.

Should include both a definition of user requirements and a specification of the system requirements.
It is NOT a design document. As far as possible, it
should be a set of items describing WHAT rather than HOW to do it.