obtaining_reqs_quantitative_temp3

advertisement
Obtaining Requirements
Requirements Engineering Perspective
By Robin Beaumont
e-mail: robin@organplayers.co.uk
Sunday, 06 January 2008Version 2
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
How th is d o cu m en t sh o u ld b e u s ed :
This document has been designed to be suitable for web based and face-to-face teaching. The text has been
made to be as interactive as possible with exercises, Multiple Choice Questions (MCQs) and web based
exercises.
If you are using this document as part of a web-based course you are urged to use the online discussion board
to discuss the issues raised in this document and share your solutions with other students.
Wh o t h i s d o c u m en t i s a im ed at:
This document is aimed at three types of people:

Those who wish to become involved in systems development but are not interested in the nuts and
bolts of programming, such people are commonly called domain experts and act a bridges between a
professional group (e.g. medics, Solicitors etc) to which they belong and IT experts.

As an introduction for those just beginning professional computer science courses.

Those at "board" level of hospitals who wish to gain greater understanding of systems development
issues.
I hope you enjoy working through this document.
Robin Beaumont
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 2 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
Contents
1.
Before you start ....................................................................................................................................... 4
1.1
Prerequisites ............................................................................................................................................4
1.2
Required Resources .................................................................................................................................4
2.
Learning Outcomes .................................................................................................................................. 5
3.
Introduction ............................................................................................................................................. 6
3.1
4.
The Problem with Expert Introspection...................................................................................................6
Methods Used to Gain Requirements ...................................................................................................... 7
4.1.1
5.
The Say-Do Problem ......................................................................................................................................... 8
Domain Analysis ...................................................................................................................................... 9
5.1
What is a Domain? ...................................................................................................................................9
5.2
What is a Domain Expert? .......................................................................................................................9
5.3
Domain Model .........................................................................................................................................9
5.4
Domain Analysis and the Stages of Requirements Engineering ............................................................10
6.
Problems with Requirements Elicitation ................................................................................................ 12
7.
The Domain Expert - Your Role After the Course.................................................................................... 14
8.
Scenario Analysis ................................................................................................................................... 14
9.
Requirement Engineering Standards ...................................................................................................... 15
9.1
ISO 9000-3 .............................................................................................................................................15
9.2
IEEE Standard 830 1993 .........................................................................................................................15
10.
3 Cs UV ............................................................................................................................................... 16
11.
Classifying Requirements ................................................................................................................... 17
12.
Summary ............................................................................................................................................ 18
13.
MCQs ................................................................................................................................................. 19
14.
Web Links ........................................................................................................................................... 21
15.
References ......................................................................................................................................... 21
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 3 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
1. Before you start
1.1 Prerequisites
This document assumes that you have the following knowledge and skills:
1. Basic knowledge of information systems - You should feel confident to be able to answer the following
questions concerning basic knowledge of Health care information systems
1.
2.
3.
The systems view of the world describes everything using three basic aspects. What are they?
I mention the 5 ‘W’s and H to consider when describing a system. What do they stand for?
Information Systems are often classified into one of three tiers. What are the names given to the
tiers?
4. James Martin in 1981 suggested Information Systems could be divided into two types. What were
they?
If you have any difficulty answering any of the above questions go to the following link and find the answers in
the document "Types of Health information systems" at
http://www.robin-beaumont.co.uk/virtualclassroom/chap12/s2/systems1.pdf
2. Basic knowledge of systems development methods - You should feel confident to be able to answer the
following questions concerning basic knowledge of systems development methods:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
What are the names of the two most common methods of developing Information systems?
What are the three levels found in the ‘functional specification’?
What are the main stages of the Waterfall method?
What does PIR stand for?
What is the more modern name for a systems analyst?
What are the two main types of prototyping?
What is the other name given to evolutionary prototyping?
What is the audit cycle similar to?
If I develop a system and gradually add different modules to it, what type of prototype is it?
If I develop a system and gradually make each of the modules have more 'bells and whistles' what
type of prototype is it?
If you have any difficulty answering any of the above questions go to the following link and find the answers in
the document "Information systems development methods" at
http://www.robin-beaumont.co.uk/virtualclassroom/chap12/s3/des1.pdf
3. knowledge of issues around user involvement in systems development - You should feel confident to be
able to answer the following questions
1.
2.
3.
4.
5.
6.
What is ‘top managers strategic withdrawal’ (Newman and Rosenberg 1985)?
Johnson and Scholes 1993 divide stakeholders across several dimensions provide an example of two?
One particular group of stakeholders can present significant problems - who are they?
Traditionally what is often the measure of success of an information system?
Baroudi J J Olson M H Ives B 1986 demonstrated that certain relationships existed in the systems
development context. What were they?
ETHICS attempts to balance three aspects, what are they?
If you have any difficulty answering any of the above questions go to the following link and find the answers in
the document " Getting Users Involved in Developing Information Systems " at
http://www.robin-beaumont.co.uk/virtualclassroom/chap12/s4/des2.pdf
1.2 Required Resources
Ability to be able to read this document while being online so that you can check out various web sites referred
to in the text.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 4 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
2. Learning Outcomes
This document aims to provide you with the following skills and information. After you have completed it you
should come back to these points, ticking off those you feel happy with.
Tick box
Learning outcome
Be able to discuss various definitions concerning "Requirements Engineering" including Goguen and
Linde's (1993)
Be able to discuss the Expert Introspection technique along with its drawbacks
Be able to describe the range of techniques available to discover User requirements
Be able to discuss the advantages and disadvantages of 'focus groups' in obtaining requirements.
Be able to describe what is meant by the term Domain
Be able to describe the Domain Expert concept and how it relates to yourself
Be able to provide a brief description of the 'Feature-Oriented Domain Analysis' process and list its
three basic phases.
Be able to relate the stages of the RE phase of IS development as described by Christel and Kang
(1992)
Be able to draw a diagram illustrating Christel and Kang's interpretation of the first of these stages
Be able to list the four responsibilities of the Requirements Analyst
Be able to define the term 'IBIS'
Be able to discuss the range of problems associated with requirements elicitation (Scope,
understanding, volatility)
Be able to describe the range of problems associated with requirements elicitation (Scope,
understanding, volatility) using the traditional method of IS development.
Using your own experience be able to provide a critique of the above requirements elicitation
problems posited by McDermid (1989)
Be able to describe the purpose of Scenario analysis in Requirements Engineering along with an
overview of how it is carried out
Be able to list two standards concerning Requirements Engineering
Be able to describe the scientific characteristics of requirements. (i.e. Correct, Complete, Consistent,
Unambiguous & Verifiable)
Be able to describe various levels of compliance into which requirements can be categorized
Be able to discuss the classification of requirements into functional and non-functional aspects
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 5 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
3. Introduction
One of the first stages in any Information System development process (termed 'lifecycle' in the trade) is
setting down the proposed requirements for the system. Such requirements may be the complete definitive
set if you are using the traditional waterfall development lifecycle or a more tentative set of basic ones if you
are using some form of iterative prototyping or more radical methods such as eXtreme Programming..
In this document, we will introduce the various approaches used to achieve this, along with the associated
problems. This document provides an overview or the more 'quantitative' techniques. Another document will
describe, and develop your skills in two qualitative methods, one borrowed from Anthropology and the other
from a radical 1960s sociological movement will be discussed in one document, while several other documents
will concentrate on more quantitative techniques.
The process of obtaining requirements can basically be viewed from a qualitative (interpretist) or quantitative
perspective. The majority of systems developers (modellers) have adopted the latter paradigm and have
chosen the term 'Requirements Engineering' (RE) to indicate the process of obtaining, documenting and
validating requirements.
Wikipeadia provides a good introduction to RE at http://en.wikipedia.org/wiki/Requirements_analysis
Guy Saward at the University of Hertfordshire, in his undergraduate course concerning RE provides a good
introduction to what RE is (http://homepages.feis.herts.ac.uk/~3com0027/CONTS(1).HTML):
"Requirements engineering is, roughly speaking, about describing or specifying what people, or organisations,
want from a computer-based system in such a way that software engineers are able to build a system that
satisfies their needs. More precisely, we can define requirements engineering as "the branch of systems
engineering concerned with the real-world goals for, services provided by, and constraints on a large and
complex software-intensive system. It is also concerned with the relationship of these factors to precise
specifications of system behaviour, and to their evolution over time and across system families." (after Zave
1994).
Note: 'software engineer' is a modern term for programmers who also have modelling and software
development management skills.
In other words, the process of RE involves eliciting, modelling, analysing and validating requirements for
systems and software. The verification of finished systems with respect to an original requirements
specification is also an important issue. A range of tools and techniques are available to support each of these
activities, and researchers in this area are currently developing ever more techniques.
We will start by looking at possibly the most common method of obtaining requirements, 'Expert
Introspection'.
3.1 The Problem with Expert Introspection
Surprisingly, one of the most common methods of developing a list of requirements is what is called "Expert
Introspection". It basically amounts to imagining what kind of system 'the expert' would want if she/he were
doing the job using this equipment, etc. It is often nothing more than prophesising, and many systems
developers now consider this technique inappropriate if not dangerous (Goguen and Linde 1993 p154).
As a modeller myself, I feel I must add something here about "Expert Introspection". While the method
(probably a better term would be habit!) has been shown to be largely invalid by researchers, modellers are
placed under a great deal of pressure to produce a set of requirements. Such requirements are expected to be
produced as soon as possible and often with minimal interaction with the client or intended users. In fact, I feel
it could be said that frequently the less time one spends with the client groups to produce the requirements
the more competent and knowledgeable one is (initially) considered to be by the client. We will now consider
other techniques of gaining requirements.
Exercise 1.
Write down ten methods you could use to find out what various stakeholders might want from a proposed
Information System (IS).
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 6 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
4. Methods Used to Gain Requirements
Some of the methods used to collect information are listed below.
1.
2.
Interviews:

tutorial

unstructured

structured

protocol analysis (describing tasks)
Meetings:

brainstorming

Joint Application Design/Rapid Application Design

focus groups

using scenarios
3.
Questionnaires
4.
Video Analysis
5.
Discourse Analysis
6.
Analysis of Current Forms Used (Form Analysis) and/or (Natural Language) Text Analysis
7.
Observation (Non- Participative and Participative)
8.
Task Analysis
9.
Domain Analysis
10. Scenario Analysis
Some of the items listed above I would have expected you to have suggested in the exercise, such as
questionnaires and interviewing. However, I would not have expected anyone to come up with 'Domain
Analysis'! The strange thing is that the list contains several qualitative techniques, yet if you asked most people
involved in obtaining requirements they would see it as a quantitative technique. Basically this is because
'requirements engineers' are not fussy about dirtying their hands with such things if they can be manipulated
to provide quantifiable output at the end of the process. We will look more at this rather bombastic in the
document concerned specifically with qualitative techniques.
I will now provide a brief description of some of the above methods:
Questionnaires: These are frequently used. However, they are often poorly produced by 'techies'. For
example, questions are often not checked first for understandability with the intended respondents, or there
are large gaps or unnecessary rigidity in the questionnaire (i.e. it is not 'fit for purpose').
Interviewing requires good interpersonal skills along with some training from which it has been shown that
modellers benefit. (I did have a reference for this assertion but seen to have lost it - any help welcome)).
JAD: "The team approach to requirements elicitation is characterized by JAD, an acronym for Joint Application
Design. JAD focuses on improving the group process and getting the right people involved at the start [Zahniser
90]. This technique has been used successfully by IBM since the late 1970s, and its advantages include the
promotion of cooperation, understanding and teamwork among users, developers and customers. Developers
help users formulate problems and explore solutions, while users share ownership of the requirements and
associated.documents.
Through the use of structured meeting procedures, facilitation protocols and visual aids, JAD enhances idea
generation and evaluation, communication and consensus generation. Guidance on using JAD is provided in
[Wood 89], which emphasizes its use for online, transaction-based systems..While this technique has been
used successfully, a recognized problem is that all of the participants funnel their ideas through a facilitator or
recorder. Thus, the recorder may inadvertently impose an interpretation on the collected data not shared by
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 7 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
the group. For integration, JAD is dependent on the skills of the recorder, much as the integration of structured
interviews is dependent on the skills of the requirements analyst. An ideal method would allow for the
transparent capture of the information discussed at the meetings and the efficient organization of this
information." (from Christel and Kang 1992 p18)
"...A JAD session can be costly, however, in terms of people and time. A JAD session may contain 18 to 25 people [Wood
89]. The JAD session is capable of producing agreement on "3 screens per half day session" [Wood 89, p111], which hints
that a JAD session for a complex, real-time system may span many days." (from Christel and Kang 1992 p50).
Rapid Application Design (RAD): This is a similar technique to JAD but most importantly comes with software
to enhance the process.
Focus Groups: This is a technique developed in market research and is often done using stimulus material such
as films, story boards or product mock-ups as a focus (hence the name), and it is commonly used to obtain the
opinions of representative potential customers of new products (Goguen and Linde 1993 p155). Focus groups
suffer from the same problems as JAD, or for that matter any method that involves group interactions, namely:
"Focus groups have the advantage of allowing more natural interactions between people than questionnaire
interviews,...However, the groups are usually not natural communities, such as people who eat lunch together,...but rather
are an ad hoc collection, constituted for the occasion by the researcher, usually on the basis of demographic
considerations. Further, although focus groups may be valuable for eliciting responses to products whose features and
trade-offs customers understand (for example, whether they would be willing to pay more for upscale gourmet dog food
for their Doberman Pinschers), they are not useful in eliciting opinions on design issues where the subjects are not experts,
and therefore must respond within the categories and structures provided by the researcher...participants may have widely
different status within the organisation, there is a danger, that some will not feel free to say what they really think,
especially if it is unpopular." (Goguen and Linde 1993 p155 -6)
Task Analysis: This involves either observing or getting prospective system users to describe how they go
about their tasks. The information collected is then structured in some way, often using diagrams. This is also
used in a technique called BPR (Business Process Re-engineering) which will be covered later in the course
including an introduction to some of the diagramming techniques.
Protocol Analysis: This is where subjects describe what they are doing and thinking (the speakers' concurrent
cognitive analysis?) while doing it. While it has been widely used in the past to specify a large number of
different systems, it is now considered to be not very useful. While there are several reasons for its failure (see
Goguen and Linde 1993 for details), I will just concentrate on just one problem below.
4.1.1 The Say-Do Problem
"People know how to do many things that they cannot [verbally] describe. It is commonplace in ethnography
that people's descriptions of how they weave a basket or choose a chief or write a program bear a complex
and opaque relation to how they can be seen to do these things when they are observed. The problem is so
familiar that it has a nickname in social science: the say-do problem; also, philosophers speak of tacit
knowledge. The moral is this: Don't ask people to describe activities that they do not normally describe, or if
you do, then don't believe the answers" (Goguen and Linde 1993 p155).
Exercise 2.
Try to write down how you tie a shoelace into a bow.
When you have tried go to http://www.fieggen.com/shoelace/index.htm
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 8 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
5. Domain Analysis
The above paragraphs have described a few of the techniques available to modellers for discovering
requirements. For a more detailed discussion, including a method for choosing the suitability of a particular
technique in a specific situation, see Davis 1982. We will now look at Domain Analysis.
With the realisation that important contextual factors were not being taken into account when developing IS,
various methods have been devised to take into account such factors. In the quantitative tradition of the
'engineering' perspective, a number of related techniques have developed since the early 1990s to analyse
'domains'.
5.1 What is a Domain?
"A domain is defined by a set of "common" problems or functions that applications in that domain can
solve/do (hence the term "application domain''). Also, a domain is typically characterized by a common jargon
or ontology for describing problems or issues that applications in it address."
(Taken from: http://www.sern.enel.ucalgary.ca/charmi/Courses/97-98/ENEL619.02/FuSeminar.html no longer
active 5/01/2008).
The important thing to note is that a domain has a common vocabulary, such as medicine, law or engineering.
In fact, I would say that medicine contains a large number of domains with each specialty having its own way of
working and vocabulary.
The previous exercise asking you to describe how to tie a shoelace is an instance where everyday language is
insufficient but at the same time does not matter in the everyday domain. However, when the tying of knots is
an important aspect of a domain, such as in sailing, a specialised language is developed to describe it.
Exercise 3.
Take a minute to browse one of the following links.
a. Knot tying notation at: http://www.earlham.edu/~peters/knotting/notate.htm
b. Delve into the world of knots: http://www.earlham.edu/~peters/knotlink.htm
5.2 What is a Domain Expert?
A domain expert is someone who understands a particular domain. They are said to possess "domain
knowledge". This applies to the majority of the Health Informatics students, whether they want to possess it or
not!
Central to the concept of a domain analysis is the domain expert and we will revisit this concept latter.
5.3 Domain Model
A domain model (Also Called a Domain Definition or Domain Specification) is a definition of the domain using
such techniques as object modelling along with data definitions. The model attempts to discover commonalties
and differences among others in the same or different domains. Eventually the idea is to develop generic
models, something that will be discussed further in the documents concerned with systems modelling. See
http://www.robin-beaumont.co.uk/virtualclassroom/contents.htm section 11. This is where you will find the
actual techniques described, along with exercises to help you develop a Domain Model.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 9 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
Another definition of a domain model, focusing on the IS aspect, is the following:
A product of domain analysis which provides a representation of the requirements of the domain. The domain
model identifies and describes the structure of data, flow of information, functions, constraints and controls
within the Domain that are included in software systems in the domain. The Domain Model describes
commonalities and variabilities among requirements for software systems in the domain.
From the Free Online Dictionary of Computing: http://wombat.doc.ic.ac.uk/foldoc/
The amount of information given in this document does not provide you with
the expertise to produce a Domain Model only to be aware that such things
exist along with their purpose.
5.4 Domain Analysis and the Stages of Requirements
Engineering
Note: The abstract below is provided for reference; you will not be assessed on the detailed content. All you
need to know is that a method exists for carrying out a domain analysis, and in this instance with FODA, the
product is a computer system specification.
Domain Analysis is the process used to produce a Domain Model and the following abstract describes a
particular technique of producing a domain model using 'Future Oriented Domain Analysis (FODA)', taken
from
http://www.sern.enel.ucalgary.ca/charmi/Courses/97-98/ENEL619.02/FuSeminar.html no longer active but
simiular information now available at: http://www.sei.cmu.edu/str/descriptions/foda.html
"Numerous Domain Analysis approaches currently exist. Each of them focuses on increasing the understanding
of the domain by capturing the information in a formal model. One such approach is the Feature-Oriented
Domain Analysis (FODA), developed at the Software Engineering Institute (SEI).
FODA defines a process for domain analysis and establishes a specific product for later use. Three basic phases
characterize the FODA process:
1.
Context Analysis: defining the extent (or bounds) of a domain for analysis
2.
Domain Modelling: providing a description of the problem space in the domain that is addressed by
software
3.
Architecture Modelling (Architecture= software + hardware)
1. Context Analysis
The resulting knowledge from the context analysis provides the domain analysis participants with a common
understanding of:
1.
• The scope of the domain
2.
• The relationship to other domains
3.
• The inputs/outputs to/from the domain
4.
• Stored data requirements (at a high level) for the domain
The product resulting from the context analysis is the context model.
2. Domain Modelling
Domain Modelling identifies and models the commonalities and differences that characterize the applications
within the domain. It provides an understanding of the applications in the domain that is addressed by
software. By systematically representing (or modelling) the functions, objects, data and relationships of
applications in the domain, domain modelling is used to define what the applications are, what the
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 10 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
applications do and how the applications work. The activities (or analyses) conducted during the domain
modelling phase provides an understanding of the:
1.
• Features of the software in the domain
2.
• Standard vocabulary of domain experts
3.
• Documentation of the information (entities) embodied in the software
4.
• Software requirements via control flow, data flow and other specification techniques
The FODA Domain Modelling phase produces a domain model which consists of three components. Each
component employs a separate analytical technique to model the interrelated components of the domain
model. An information analysis produces an information model, a features analysis produces a features model
and an operational analysis produces an operational model.
3. Architecture Modelling
This is creating the software architecture(s) that implement solutions to the problems in the domain. The
architectural modelling phase was initially defined as part of the FODA methodology. However, the process of
integrating FODA products with architectural modelling has become part of the domain design activity in the
overall concept of Domain Engineering.
(end of abstract)
The above method is only one of many intended to help define requirements. As Goguen and Linde 1993 p153
put it:
"Requirements engineering is an immature discipline, perhaps not entirely unfairly characterised as a battlefield
occupied by competing commercial methods, firing competing claims at each other, and leaving the consumers
weary and confused."
For the medics amongst you, I would imagine you can well understand the situation. Rather than presentng
you with a selection of methods, I will just present you with one more model of the stages for gaining
requirements.
Christel and Kang 1992 proposed that the RE phase of IS development contains the following stages:
1.
Elicitation of requirements
2.
Specification of requirements
3.
Validation of requirements
They concentrate on the elicitation stage as they feel that this is the most important but least formalised of the
three. They suggest that the elicitation stage should be divided into the following steps:
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 11 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
Exercise 4.
Christel M G Kang K C 1992 Issues in Requirements Elicitation Technical Report CMU/SEI-92-TR-12 ESC-TR-92012 Software Engineering Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213 available from:
http://www.sei.cmu.edu/publications/documents/92.reports/92.tr.012.html (click at bottom of page). Link
Active 05/01/2008.
Read section 5.1 of the Christel and Kang 1992 article while considering the following questions:
1.
What are the four responsibilities of the Requirements Analyst?
2.
What does IBIS stand for?
3.
What are the five stages of requirements elucidation according to the above authors?
6. Problems with Requirements Elicitation
The traditional IS development project rarely had a domain expert, and the relationship between the users and
modellers was simple.
Clients -----------------» Developers (modellers)
This seemingly simple situation presents
some major difficulties during the
requirements elicitation phase. Gilb 1988
provides a lovely cartoon in his book
demonstrating just what can go wrong. This
excellent book is well worth a look not just
for the cartoons.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 12 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
A more measured approach to suggesting the problems with requirements elucidation is the list provided by
McDermid 1989, given below:
Problems of scope:
1.
The boundary of the system is ill-defined.
2.
Unnecessary design information is given.
Problems of understanding:
1.
Users don't fully understand their needs.
2.
Users don't understand computer capabilities and limitations.
3.
The requirements engineer doesn't understand the problem domain.
4.
Users and engineers speak different languages.
5.
'Obvious' information may be omitted.
6.
Different users have conflicting views.
7.
Requirements are vague and untestable.
Problems of volatility:
a.
Requirements evolve over time.
The list above is rather dry so to help you understand more about the problems encountered with developing
requirements, please carry out the exercise below.
Exercise 5.
Hooks I F 1994 Managing Requirements in "Issues in NASA Program and Project Management: A Collection of
Papers on Aerospace Management Issues". Winter 1994. Download from:
http://www.complianceautomation.com/papers/papers.htm (active 05/01/08)
or
http://www.complianceautomation.com/papers/ManagingRequirements.pdf (active 05/01/08)
Ivy Hooks describes, in very clear terms, some of the real problems encountered with NASA projects and RE.
Please read the article bearing in mind:
b.
The article is old. She was working with the old waterfall development method where any change to
the requirements meant the completion of a Review Item Disposition (RID) form along with a complex
procedure.
c.
Read carefully the paragraph concerning accountability.
d.
When reading the section concerned with the Space Station Requirements (p8), think how a similar
scenario might be applied to the NHS Electronic Health/Patient Record Project!
From the above, we can see that one of the most important problems concerning the RE stage is the
ineffective communication between the systems developers and the clients. The ETHICS method attempted to
offer solutions to some of the above problems by educating the users in modelling techniques and the systems
developers in gaining domain knowledge, thus reducing the language gap, more radically in the eXtreme
Programming method the two people actually sit side by side and produce the software together. You will be
aware of this technique along with others from the document concerned with getting users involved in the
development effort. An alternative strategy is to introduce a bridging function; an example of this is the formal
use of the domain expert, which will be considered next.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 13 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
7. The Domain Expert - Your Role After the Course
With the introduction of a domain expert as a bridging role, a more complex relationship exists in place of the
traditional situation. We now have something like:
Modeller
Users
Domain Expert
The domain expert possesses both expert knowledge of the domain and also a working knowledge of system
development methods and issues. Such a role is vital to rectify some of the problems encountered in gaining
requirements, such as those listed above (McDermid 1989).
One popular method of eliciting requirements called "Scenario-Based Requirements Elicitation" can be greatly
enhanced when a domain expert with additional systems development expertise is involved. This version of
this technique will be taught to you in the systems modelling module, under the name of dynamic modelling,
but for now I will provide you with a brief introduction (based upon Guy Saward 1996) on the next page.
Exercise 6.
Do you believe that the current course you are undertaking is helping you fulfil the role I suggest of being a
domain expert, that is who acts as a conduit between the modellers and users?
8. Scenario Analysis
A scenario is a 'story' that describes a particular set of actions and events, such as the process of referring a
patient to the local hospital.
Discussing scenarios helps to:
1.
generate understanding and sense of participation
2.
elicit expertise about the domain from users
3.
uncover unstated requirements
One method you can use to generate scenarios is to carry out the following steps:
1.
Identify main objects ('things' to you and me, they need not necessarily be people, ie medical
notes)
2.
Give each scenario a name (choose the simplest ones first)
3.
Develop brief textual descriptions
4.
Identify the main flow of events (use a technique similar to flow charting)
5.
Consider normal events
6.
Consider exceptional events
7.
Identify possible parallel events
You will learn a lot more about scenario analysis in the systems modelling unit (see: http://www.robinbeaumont.co.uk/virtualclassroom/case_tutorials.htm ). There is even a requirements elicitation method based
upon the development of scenarios called SBRE (Scenario Based Requirements Elicitation) (Holbrook 1990).
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 14 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
9. Requirement Engineering Standards
We will consider two in this section ISO 9000-3 and IEEE Standard 830 1993.
9.1 ISO 9000-3
The following is taken from Saward 1996
(active 05/01/08):
(http://homepages.feis.herts.ac.uk/~3com0027/REST(25).HTML)
ISO 9000-3 guidelines on applying ISO 9001 (and BS5750 and EN 29001) quality principles to the software
development process offer only very general guidance regarding the requirements stage:
'In order to proceed with software development, the supplier should have a complete, unambiguous set of
functional requirements. In addition, these requirements should include all aspects necessary to satisfy the
purchaser's need. These may include, but are not limited to, the following: performance, safety, reliability,
security, and privacy. These requirements should be stated precisely enough so as to allow validation during
product acceptance.
...The purchaser's requirements specification should be subject to documentation control and configuration
management as part of the development documentation.
All interfaces between the software product and other software or hardware products should be fully
specified, either directly or by reference, in the purchaser's requirements specification.
During the development of the purchaser's requirements specification, attention to the following issues is
recommended:
a) assignment of persons (on both sides) responsible for establishing the purchaser's requirements
specification
b) methods for agreeing on requirements and approving changes
c) efforts to prevent misunderstandings such as definition of terms, explanations of background of
requirements
d) recording and reviewing discussion results on both sides.
9.2 IEEE Standard 830 1993
More comprehensive guidance on the nature of a Software Requirement Specification (SRS) Document is given
in the recent IEEE standard 830, which now has the status of 'Recommended Practice'. You can find further
details in A. Davis, "Software Requirements: Objects, Functions and States", Prentice Hall, 1993, chap 3.
Benefits of a good SRS (i.e. one conforming to guidelines given) are listed as:






providing a basis for client-developer agreement regarding system functionality
reducing the development effort
providing a basis for cost estimation and project planning
providing a baseline for product validation and verification
facilitating transfer or re-use of product (for clients and developers)
providing a basis for enhancement
The IEEE standard:






is aimed at software not system requirements
focuses on providing an external or 'black box' view of the software required
can be used to create a requirements document directly, or to create a more specific standard
does not cover project requirements
does not recommend the use of any specific tools, methods or notations
suggests several possible ways of organising a requirements document
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 15 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
The IEEE standard describes a number of desirable properties in a 'Good Software Requirements Specification'.
Some of these relate to the content of the SRS:





correct - if and only if every requirement is one that the software shall meet
unambiguous - statements should have only one interpretation
complete - includes all requirements, defines responses to all inputs, is fully referenced etc
consistent - should not contain factual, logical or temporal contradictions
verifiable - should be able to check that the system has met the requirement
Some relate to the format:



annotated - should indicate relative necessity and relative stability
modifiable - any changes to requirements should be easy to make
traceable - visible mappings, both backwards and forwards, between the customers' initial requests,
the requirements specification and the final system eg using a traceability matrix
10. 3 Cs UV
The standards discussed above embody the scientific paradigm basically aiming to comply to the '3 C's UV'
criteria, which are the following:
 Correct
 Complete
 Consistent
 Unambiguous
 Verifiable
For requirements to be verifiable, they must also be measurable. One person who has fought for the
quantification of nebulous requirements is Tom Gilb. He has published a very popular book on the subject of
not only developing user requirements but also software management in general (Gilb 1988).
In the exercise below you will consider what he has to say about quantifying requirements.
Exercise 7.
Gilb T.1997 Towards the Engineering of Requirements. Requirements Engineering 2 165-169 Springer-Verlag
London. The article is available online at:
http://rej.co.umist.ac.uk/Volume-2/Issue-3/Viewpoints.html
Read the article particularly noting section 6:
"Things we can do to improve Requirements Engineering Practices":
1.
We must define requirements clearly and unambiguously.
2.
We must teach a discipline of specification at the systems level.
3.
We must clearly connect design to requirements.
4.
We must carry out rigorous quality control of requirements and design.
5.
We must not allow highly defective (ambiguous, unclear, inconsistent) specification to be used as
inputs to other work processes.
6.
We must not specify too much detail too early. We must systematically get the benefit of early cycles
of evolutionary deliveries, to help us re-specify requirements more realistically.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 16 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
GILB PUNCH-LINE
We cannot expect to improve software engineering design, testing and quality control until we have
considerably improved our ability to articulate quality requirements and other requirements in
unambiguously clear testable format, and until we even understand the distinction between ends
and means."
Much of the information in this article is based upon that of Billy Koen University of Texas who
published a book for Oxford University Press in 2003 on this subject
http://www.me.utexas.edu/~koen/OUP/OUP.html.
11. Classifying Requirements
In the above article by Gilb you were introduced to the idea of false requirements, which is rather idiosyncratic
to him in contrast most sources recommend the division of requirements into functional and non-functional. It
is also common practice to specify for each requirement a level of compliance such as 'Must', 'Should' or
'Optional' levels (refer back to the introduction to systems development document for more information) and
a unique number.
A traceability matrix is also sometimes included, providing an easy way of seeing the changes over time for
each requirement. The traceability matrix may simply be a set of references to particular sentences in a
narrative specification and when/ who and how each was changed.
To learn more about how requirements are classified, and how they may be improved, carry out the exercise
below.
Exercise 8.
Christel M G Kang K C 1992 Issues in Requirements Elicitation Technical Report CMU/SEI-92-TR-12 ESC-TR-92012 Software Engineering Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213 available from:
http://www.sei.cmu.edu/publications/documents/92.reports/92.tr.012.html (select the PDF version). Link
Active 05/01/2008. [You read part of this for exercise 4]
Read section 1.1 'Definitions' of the above paper. Make sure you understand the difference between
functional and non-functional requirements by the time you have finished reading it.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 17 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
12. Summary
This document has introduced you to the 'requirements' aspects of systems development from a quantitative
perspective. It has focused on, describing the various techniques available for you to use to ensure you capture
all the necessary information, but also the common problems encountered with this activity. Information was
also provided describing the various standards that relate to 'requirements'.
You will be introduced to the actual skills required to collect the detail in several other documents; the
document concerning qualitative techniques will give you practice in developing ethnography skills while the
Modelling documents will focus once again on more quantitative techniques allowing you to collect detailed
requirements, principally UML.
Possibly the most important aspect of this document was the introduction of the 'domain expert' concept and
how this role can be extended to facilitate the system development process...a role for which you will
undoubtedly be most aptly suited by the end of the course!
Finally it must not also be forgotten that the process of elucidating and formalising requirements is within a
organisational/cultural structure and its success or failure depends upon a whole range of things, which we
have discussed elsewhere, but just to remind you, here is a nice diagram from a recent paper discussing this
topic:
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 18 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
13. MCQs
The following Multiple Choice Questions are designed to help you check that you have read through the
material thoroughly. Good luck.
1. What is basically expert introspection in the field of requirements engineering? (one correct answer)
a.
b.
c.
d.
e.
Carrying out an in-depth analysis of user requirements by way of cognitive walk thoughts
Guessing what the user requirements are for someone else
Focusing in a highly structured way the user requirements of a known user
Focusing on the possible requirements of an expert user
Getting an expert to reflect with an intended user their possible needs
2. Expert introspection in the field of requirements engineering is the following: (one correct answer)
a.
f.
g.
h.
i.
A reputable technique
A technique that should only be used by highly trained modellers
A technique that is not considered to be reputable now-a-days
A technique that requires one to attend a certified course
A technique that should never under any circumstances be used
3. What is the say-do problem? (one correct answer)
a.
b.
c.
d.
The inability to describe what one is doing due to a neurological deficit
The inability to describe what one is doing due to the rarity of carrying out the task
The inability to describe what one is doing due to the complexity of the movements
The problem exhibited in some languages to provide adequate words
4. The characteristic of a domain is: (one correct answer)
a.
j.
k.
l.
It has a set of clearly defined roles
There is a particular jargon associated with it
It possesses exclusivity
It possesses a set of unique procedures
5. A domain expert is: (one correct answer)
a.
m.
n.
o.
A software tool which provides context specific help
A form of expert system
A person who possesses domain knowledge
A person who has worked in a specific domain
6. A domain model is: (one correct answer)
a.
b.
c.
d.
A specification of requirements for a particular domain for an information system
A specification of the processes in a domain
A specification of the training needs for a domain
A specification of the generic requirements that can work in a number of domains
7. Requirements engineering has been said to be: (one correct answer)
a.
p.
q.
r.
s.
An exact science
An immature discipline
A mathematical specification technique
An unnecessary process
A stage to be carried out late on in the system development life cycle
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 19 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
8. Scenario analysis helps: (one correct answer)
a.
t.
u.
v.
w.
Teach the prospective users about the system
Uncover unstated requirements
Suggest data requirements for databases
Specify costings
Provide a method of debugging code
9. The ISO 9000-3 standard is concerned with: (one correct answer)
a.
x.
y.
z.
aa.
Washing machine functioning
Software development
Behaviour with clients
Professionalism
Specifically elucidating user requirements
10. What are the '3 Cs UV' criteria? (one correct answer)
a. Correct, complete, consistent, Unambiguous, Verifiable
bb. Correct, complete, costed, Used, Verifiable
cc. Connected, complete, consistent, Unambiguous, Valued
11. Requirements are often divided into the following categories: (one correct answer)
a.
b.
c.
d.
e.
User and client defined
Functional and system
Functional and non-functional
Critical and non critical
Interface and system
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 20 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
14. Web Links
Didar Zowghi (http://www-staff.it.uts.edu.au/~didar/ ) is one of the main researchers concerned with
Requirements Engineering, and until recently provided a number of web resources
(http://www.jrcase.mq.edu.au/seweb/requirements/requirements.html no longer active 06/01/08) the new
link to the Requirements Engineering group at The University of Technology, Sydney appears to provide much
less information http://research.it.uts.edu.au/re/.
Ian Alexander is a Systems Engineer specialising in Requirements Engineering who is a Chartered Engineer and
an Honorary Visiting Research Fellow of City University (UK). He also provides a large amount of information
about RE and systems modelling in general, as well as copies of his papers from reputable journals etc.
http://easyweb.easynet.co.uk/iany/consultancy/papers.htm
Popular Papers on requirements (i.e. writing good requirements, managing requirements etc)
http://www.complianceautomation.com/papers/papers.htm
Above includes the classic article, about NASA by Ivy Hooks which you can also get from:
http://www.complianceautomation.com/papers/ManagingRequirements.pdf
Technical report on user requirements (click on pdf at bottom):
http://www.sei.cmu.edu/publications/documents/92.reports/92.tr.012.html
2007
15th
IEEE
International
Conference
On
Requirements
Engineering
http://www.re07.org/home/ and also provides details of the 16th to be held in Barcelona, Spain, on
September 8-12th 2008
15. References
Anderson R J 1994 Representation and requirements: The value of ethnography in System design. Humancomputer interaction 9 (2) 151 - 82
Anderson R J Hughes J A Sharrock W W 1989 Working for profit:The social organisation of calculability in an
entrepreneurial firm. Aldershot, Avebury.
Becker H S 1963 Outsiders: Studies in the Sociology of Devience. The Free Press. New York Gomm R McNeill P
1982 Handbook for Sociology Teachers. Heinemann, London.
Becker H S Geer B Hughes E C Strauss A L 1961 (reprinted 1980) Boys in white: Student culture in medical
school. University of Chicago Press.
Brodie D A Williams J G Owens R G 1994 Research Methods for the Health Sciences. Harwood Academic
Publishers. Reading UK.
Christel M G Kang K C 1992 Issues in Requirements Elicitation Technical Report CMU/SEI-92-TR-12 ESC-TR-92012 Software Engineering Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213 available from:
http://www.sei.cmu.edu/publications/documents/92.reports/92.tr.012.html (click at bottom of page). Link
Active April 2003.
Cuff E C Payne G C E 1984 (2nd ed.) Perspectives in sociology. George Allen & Unwin.
Davis A M 1993 Software Requirements: Objects, Functions and States. Prentice-Hall
Davis G B 1982 Strategies for Information Requirements Determination. IBM Systems Journal 21 (1) 4 -30
Frakes, W.B. Kang K, 2005 Software Reuse Research: Status and Future, IEEE Transactions on Software
Engineering, 31(7), July, pp. 529-536. [discusses domain analysis]
Gause D G Weinberg G M 1989 Exploring Requirements: Quality Before Design. Dorset House.
Gilb T.1988 Principles of Software Engineering Management. Addison-Wesley Longman.
Gilb T.1997 Towards the Engineering of Requirements. Requirements Engineering 2 165-169 Springer-Verlag
London Also available online at: http://rej.co.umist.ac.uk/Volume-2/Issue-3/Viewpoints.html
Goffman E 1961 Asylums. Penguin Books.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 21 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
Goguen J A 1994 Requirements engineering as the reconciliation of social and technical issues, in Requirements
Engineering: Social and technical issues, Jirotka M & Goguen J (eds.) p. 165 - 200 London, Academic press
Goguen J A Linde C 1993 Techniques for requirements elicitation in Proceedings of RE'93: IEEE International
symposium on requirements engineering, San Dago CA, 4-6 Jan pp. 152-64
Grudin J 1989 The case against User Interface Consistency. Communications of the ACM 32 (10) [October] p.
1164 - 1173
Hammersley M 1993 Social Research: Philosophy, Politics and Practice. Sage Publications.
Heath C Luff P 2000 Technology in action. Cambridge University Press.
Hill W C Holland J D 1992 Edit wear and read wear. Proceedings of ACM CHI'92 Conference. Monterey, CA, 3 - 7
May p3 - 9.
Hjørland B, Albrechtsen H, 1995 Toward a New Horizon in Information Science: Domain-Analysis, Journal of the
American Society for Information Science, No. 6, vol. 46 (1995), pp. 400-425 [discusses domain analysis]
Holbrook H 1990 A scenario based methodology for conducting requirements elicitation. ACM Software
engineering notes 15 (1) No page numbers given in reference
Hooks I F 1994 Managing Requirements in "Issues in NASA Program and Project Management: A Collection of
Papers on Aerospace Management Issues". Winter 1994.
Humphreys L 1973 The Tearoom Trade. Duckworth, London.
Loucopoulos P Karakostas P 1995 System Requirements Engineering. McGraw-Hill.
McDermid J 1989 'Requirements Analysis: Problems and the STARTS Approach', in IEE Colloquium on
Requirements Capture and Specification for Critical Systems, Digest no. 138, Nov. 1989.
McNeill P 1990 Research Methods. Routledge. London
Patrick J 1973 A Glasgow Gang Observed. Eyre Methuen. London
Pope C Mays N 2000 (2nd ed.) Qualitative Research in Healthcare. BMJ Publications. (available online at:
http://www.bmjpg.com/qrhc - click on the Contents link and then click on Chapter 2)
Potts C Newstetter W C 1997 Naturalistic inquiry & requirements engineering: Reconciling their theoretical
foundations, in Proceedings of third IEEE international symposium on requirements engineering, Annapolis,
MN pp. 118-27
Punch M 1979 Observation and the Police: The Research Experience in Hammersley M 1993 Social Research:
Philosophy, Politics and Practice. P.181 - 199. Sage Publications.
Redican B Hedley D A 1988 A field studies project in a City Health & Leisure club. Sociology of Sports Journal 5
50 - 62
Rhode J Beaumont R 1997 Feasibility of developing & implementing a joint classification for those with learning
disabilities. IMG(A) NHS
Roberts K Brodie D A 1992 Inner-City Sport:Who plays, and what are the benefits. Giordano Bruno, Culemborg,
the Netherlands.
Robson C 1993 Real World Research. Blackwell.
Rosenhahn D 1973 On being sane in insane places. Science 179 250 - 258
Saward Guy 1996 'Requirements engineering' course material at:
http://homepages.feis.herts.ac.uk/~3com0027/CONTS(1).HTML
Silverman D 1997 Studying Organisational Interaction: Ethnomethodology's contribution to the 'new
institutionalism', Administrative theory and Praxis 19 (2) 178 - 95
Sommerville I Rodden T Sawyer P Bentley R Twidale M 1993 Integrating Ethnography into the Requirements
Engineering Process, in Proceedings of RE '93, San Diego CA. 165 - 173.
Turner R 1974 Ethnomethodology. Penguin. [Contains a set of papers including Garfinkels description of how
he came to think of the term].
Wallace A F C 1972 Culture and Cognition by J Spradley (ed.). Chandler, New York p.111 - 126.
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 22 of 23
Health Informatics
Obtaining Requirements - introduction - Requirements Engineering Perspective
Document details:
First written 1999
Latest version: 06/01/2008 19:50
Author details: Robin Beaumont robin@organplayers.co.uk tel. 0191 2731150
File: C:\HIcourseweb new\chap5\s5\requirements_quant\obtaining_reqs_quantitative.doc
Robin Beaumont robin@organplayers.co.uk 06/03/2016 Page 23 of 23
Download