Requirements Definition

advertisement
4 REQUIREMENTS DEFINITION
REQUIREMENTS DEFINITION ....................................................................................................................... 2
Requirements Catalogue ....................................................................................................................... 2
Finding the System Requirements ......................................................................................................... 5
Types of Requirement ............................................................................................................................ 6
Requirements Definition Through the Salon Case Study ...................................................................... 6
Relationship of Requirements Definition to Other Techniques ........................................................... 10
The Place of Requirements Definition in the System Development Template ..................................... 11
Afterthought: Data Oriented Functional Requirements...................................................................... 11
Afterthought: Requirements Should Hinge on Objectives................................................................... 11
Afterthought: Influencing Requirements ............................................................................................. 12
Section References .............................................................................................................................. 13
Requirements Definition Exercises ..................................................................................................... 13
6 March, 2016
Short Courses
4 Requirements Definition
...a fleeting episode, a fragment of
landscape or a remark overheard may
provide the only means of understanding
and interpreting areas which would
otherwise remain barren of meaning.
C. Levi-Strauss, Tristes Tropiques
Requirements Definition
Requirements Definition is probably the most important technique in Structured Analysis.
It is the only technique that permeates every step of the method. It also is one of the least
pictorial, making it difficult to describe precisely. In essence, the technique involves
capturing what the users really want and making sure that every subsequent project
activity leads to the best possible transformation of those user needs into system needs
which, when satisfied, will deliver what the users wanted in the first place.
Within a structured development the technique of Requirements Definition passes
through two phases. Initially, the user requirements are identified. This is done while the
main investigation is in progress. As the requirements are identified, two models of the
system are built. The first represents the processing necessary to meet those requirements,
and the second portrays the underlying structure of the data that is needed to support this
processing. For each of these models the distinct techniques of Data Flow Modelling and
Logical Data Modelling are prescribed.
To identify the requirements the systems analyst has to resort to traditional 'factfinding' procedures, such as interviewing, use of questionnaires, collecting of documents,
running workshops, work shadowing, and observation.
As the project progresses, the requirements identified while performing the
Feasibility Study and the Requirements Analysis start taking a clear shape which can be
worked upon. A requirement is well defined only when the Data Flow Model and the
Logical Data Model explain the processing and data support necessitated by that
requirement. The Requirements Analysis module effectively comes to an end when the
requirements that will be satisfied by the new system are chosen and signed off by the
Project Board.
In the second phase, the technique makes sure that every subsequent product can
be traced back to a specific user requirement and that all user requirements are dealt with.
In this manner, the technique becomes the litmus test through which the success of the
project will be judged.
Requirements Catalogue
The main product of Requirements Definition is the Requirements Catalogue which acts
as a repository where everything the user wants from the future database system is logged.
The Requirements Catalogue consists of separate entries such as the one depicted in
figure 4.1. Each entry contains details which help identify the requirement, a description,
relevant comments, and a reference to other analysis and design products which are a
4 Requirements Definition
2
response to the requirement. When complete, the Requirements Catalogue contains all the
requirements identified by the team of a particular project.
The Requirements Catalogue Entry suggested here is filled-in in the following
way:
 Project The name or id of the project or system for which this is a requirement
 Author The name or id of the team member who fills-in the particular requirement
 Date
 Version It is good practise to be able to keep track of entries which are a rephrasing or
an update of earlier requirements
 Page of
 Source This is the first entry for the requirement which is of some substance. It
contains the name of the person or the document through which the requirement was
identified. The document may be an existing document of the business or organisation
or a document created by the team while identifying requirements. Examples of the
latter are 'interview 3 notes with DJ', 'observation by NL at 05/07/94' etc
 Priority An estimate of the importance of a requirement which depends on some
scale accepted by the team. Examples include numeric scales from, say, 1 to 5, or
descriptive scales such as L for Low, M for Medium and H for High. Whatever the
scale, it should be understood by both the team and the users. While difficult to
predetermine in most cases, priority settings placed here may influence whether a
requirement goes on to be designed for or is dropped later on. It should be clear from
the onset of a project who is responsible for assigning priorities
 Owner The person or group who is responsible for deciding what will happen to a
requirement.
 Functional requirement There are two types of requirement. Functional and nonfunctional. Functional requirements are the requirements that are essential for the
running of the system. Those include updates, enquiries, major reports etc. As they
are identified by the team they are logged in on the catalogue. The description of the
requirement is usually in the user's words. As the project proceeds, some
requirements may be found to be in conflict. In this case the owners of these
requirements are responsible for negotiating which requirement will remain.
 Non-functional requirements Non-functional requirements involve issues such as
acceptable service levels, response times, access restrictions, security issues, back-up
considerations, audit and control requirements, general constraints etc. Usually a
functional requirement will contain a few non-functional requirements, but there
could be certain non-functional requirements that apply to the whole system and so
have no specific functional requirement associated with them. Each non-functional
requirement consists of a brief description, a target value, an acceptable range, and
any comments that may be necessary. Target values usually involve times when the
requirement is expected to be available and/or expected response times. The
acceptable range then includes a relaxation of the target value which the users will
tolerate.
Target values are best dealt with in groups to avoid repetition in every entry.
 Benefits A requirement has to be traceable back to some business objective. Its benefit
to the system should thus be measurable in some way. Benefits are usually a mix of
4 Requirements Definition
3
tangible and intangible benefits. A requirement becomes useful
measure
when
a clear
Requirements Catalogue Entry
Project
Author
Date
Source
Priority
Functional Requirement
Version
Owner
Page of
Requirement ID
Business Event:
Description
Non-functional requirements
Target value
Acceptable range
Comments
Benefits
Comments/suggested solutions
Related Documents
Related requirements
Resolution
Figure 4.1 A blank Requirements Catalogue Entry suggestion which closely follows the
recommendation in the SSADM v4 manual. A project team should decide early on on the shape of the
4 Requirements Definition
4
form to be used. As the number of requirements grows, a grouping mechanism to group together
requirements affecting the same functional area of the new system is advisable.




of its benefits can be stated. The entry here requires a statement, in plain English, of
the perceived benefits of satisfying the requirement. Inevitably, some consistency
between the benefits and the priority should exist if the entry is to be in any way
meaningful.
Comments/suggested solutions An informal section to jot ideas that may be useful
later on.
Related documents As the project proceeds, analysis and design products are
developed. Each one of these should justify its existence by managing to pinpoint the
actual (user) requirements it caters for. In order to facilitate cross referencing, relevant
new products should be jotted down here. Initially, original business documents may
be mentioned, specifically if they are also connected with the source of the
requirement.
Related requirements Requirements can usually be grouped together because they
relate to the same functional area. A study of all related requirements clarifies them
and helps avoid conflicts.
Resolution It is important to log what happens to a requirement. With reference to
related documents, this section of the form will have to be filled in by the end of the
project. If a requirement is dropped later on, the reasons for doing so have to be stated
here.
Finding the System Requirements
The identification of system requirements is not straightforward. In fact, it is not always
easy to even identify who the user is, who’s views carry more weight, and who’s make
any computing sense. This is why a good Project Initiation Document should be present,
laying out clearly the objectives of the system to be developed.
The analyst acts as an intermediary trying to understand the way the business or
organisation runs. This understanding is modelled and then successively transformed and
refined until it becomes a set of unambiguous programming specifications with which
programmers can deal without having to resort back to the user. If the transformations are
successful, every end product will be traceable to a requirement which itself will be there
to support a specific business activity. We therefore need first to model the activities
taking place, isolate those that are data oriented and then attach a requirement, with the
users’ consent, to them. This requirement will, by definition, be a computer related
requirement and we will use the DFD to associate a computing process with it. This way
of building the system ensures the users never lose touch with what we are doing, since
now any suggestion of a computer process is traced, via the relevant requirement, to the
activity which it supports.
Since there is a link between a requirement, a computing process and the data that
supports the process, we can utilise our Data Flow Model and our Logical Data Model to
identify requirements. This is possible because the DFM and the LDM have the ability to
help us see things that mere fact finding simply cannot. So, while the DFM represents
data oriented processes that are ‘required’ by the user, many times we identify a
requirement by first discovering a process need through the DFM. For this reason there is
no clear sequence which dictates that requirements are first identified, then the DFM is
4 Requirements Definition
5
set up to represent them and then the LDM which supports the DFM is drawn up. On the
contrary, the three techniques of Requirements Definition, DFM and LDM are done
simultaneously and dynamically feed into each other. Realising this is fundamental and
shows why Requirements Definition is a black art and why DFM and LDM are also
powerful investigation tools.
In a structured systems development we therefore expect the steps of Investigating
and Defining Requirements, Investigating Current Processing, and Investigating Current
Data to simultaneously follow the first step of Establishing the Analysis Framework.
Types of Requirement
While identifying requirements, three types should emerge. Firstly we have those
requirements that simply retain the current environment’s functionality by reproducing
what is already done in the business. These requirements may carry with them a promise
of better working conditions but the analyst should be conscious of not providing
anything new to the business. Statements like “with the new system you will be able to
take appointments more efficiently” mean nothing to a business which simply opens a big
diary and places a customer’s name against a day and time. Caution should also be
exercised to avoid words such as “efficiently” because a good requirements entry should
also explain how this efficiency will be measured. The Business Activity Model is a good
vehicle through which to first identify this type of requirement.
The second type of requirement is one where the same information as currently
will be collected, but this time due to computerisation new opportunities arise in
searching through it. This type of requirement is essentially for an enquiry of sorts. For
example, at the press of a button all the salon’s red headed customers can be identified
for, say, marketing purposes. This type of requirement is what makes the system an
information system. The imagination of the users and the analysts are a good source for
these requirements. If the users also understand the potential of the LDM then the ideas
this model can generate are sometimes spectacular.
The third type of requirement is one which introduces new activities to the
business and really changes work conditions. This type is more difficult to identify and
may lead to conflicts because of the changes it introduces. Sometimes these requirements
are a request to be able to do what a competitor does, or to open up a new area of
business, or to introduce new administration tasks in order to monitor things. These
activities represent new opportunities for a business and should be treated with much
more care. The logicalisation of the Data Flow Model may help here, but Impact Analysis
and Risk Analysis are called for. This third type is what makes the systems analyst’s job
more challenging and more exciting.
Requirements Definition Through the Salon Case Study
The Salon's requirements would normally be picked up through meeting the people who
work in it. The main person would clearly be the proprietor of the business who is the
ultimate owner of each requirement.
In the Salon's case no formal interviews were arranged. Instead, informal
discusions with the proprietor, a receptionist, and a volunteer stylist were used to clarify
points that were picked up by observing the business in operation.
4 Requirements Definition
6
The circumstances of the business were such that the most important discusions
where those with the proprietor, Ms S. Todd, since she was the person who knew the
business inside-out. This was because she had been responsible, at one time or another,
for recruiting staff, ordering stock, deciding on and pricing the services to be provided by
the salon, advertising, taking appointments, and, having trained as a hair stylist herself in
her salad years, physically completing appointments.
The ‘interviews’ with the other members of staff were mainly to make sure that
the details of each person's job were accurately reflected in the system to be designed. No
conflicts of interest were observed.
The objectives of the business were clear from the onset. S. Todd was an
expanding business whose aim was to set up a chain of high profile salons across London.
There were currently two salons in the chain and the administration of both of them had
become a bit cumbersome for the proprietor. In order for the administration costs not to
swamp the real business of the Salon, it seemed that the efficiency provided by
computerisation should be investigated.
While the ‘interviews’ constituted the most formal method for pinpointing the
user's business requirements, the most important information gathering was done through
straight forward observation of the Salon in operation. This entailed simply ‘sitting at a
corner’ of the shop and observing appointments being taken, completed and paid for,
picking up a price list, looking at the manner orders were made and deliveries accepted,
seeing the interactions between managers, staff and managers, customers and staff,
trainees at work etc. Visits to other salons, sometimes masquerading as a customer, were
also very fruitful in this case. Inevitably, the language used within the salon was more
familiar to the female members of the analysis team who played an important part in
explaining the niceties of life in a hairdresser's salon to their male counterparts.
A brief search through the competition suggested that computerisation of the
business procedures was not only viable but imperative. For reasons not entirely clear, an
‘off the shelf’ system was not considered by the proprietor.
It quickly became apparent that there seem to be three subsystems which coexist
inside the Salon. These are a) an Appointments system which is the main business of the
Salon that is visible to its customers, b) a Personnel system which ensures the recruitment
of staff and trainees to perform the salon’s business, and c) a Stock system which ensures
there are sufficient products to use when attending to customer hair and beauty needs. All
three are also responsible for keeping financial records which are made available to the
accountants who visit the premises every third month to ‘keep the books’ and deal with
the VAT.
These three sub-systems are reflected, through the organisation chart, on the
Salon's DFD. It was thus decided fairly early in the project to group the requirements in a
way that would reflect these organisational divisions. It was felt that this would facilitate
the Project Board's decision making later on.
With the help of the Business Activity Model, the following requirements were
identified:
4 Requirements Definition
7
APPOINTMENTS REQUIREMENTS
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
Produce a personal report for customers, containing their treatment history
Produce a report of daily takings
Set up an appointment for a customer
Keep customer records
Keep a record of all the skills attained by trainees during their apprenticeship with
the salon
Arrange for (immediate) payment of appointments
Keep a record of stock usage (for statistical and financial purposes)
Hold a record of allergies and product reactions
Produce a report to show the income generated per employee
Add new treatments to the range of facilities provided by the salon
Warn about employee unavailability and stock shortcomings for imminent
appointments
Sell products through the salon
PERSONNEL REQUIREMENTS
E1.
E2.
E3.
E4.
E5.
Keep updated employee files
Keep record of salary scales
Keep training record of trainees
Arrange for payment of weekly salaries
Produce a weekly employee availability list
STOCK REQUIREMENTS
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
Provide a list of stock in hand
Reconcile supplier invoices with deliveries
Reconcile deliveries with orders
Register purchase orders
Keep a record of inter salon transfers for internal accounts
Keep a record of suppliers and the products they supply
Record invoice payments
Warn about outstanding invoices
Produce a 'year end' invoice report for accounts
Keep a record of all salons in the chain to include name, address etc. for transfer
purposes
The above requirement summaries are very useful as a quick reference to the whole salon
system. They of course lack sufficient detail to be totally unambiguous. A full
Requirements Catalogue Entry is usually necessary to expand on the requirement and
give enough information to trace its origins lest it is still not clear. A complete example is
shown in figure 4.2.
4 Requirements Definition
8
Requirements Catalogue Entry
Project S.Todd
Author NL
Date 7.7.94
Version 1
Page 1 of 1
Source Interview 2 with ST
Priority H
Owner ST
Requirement ID A6
Functional Requirement
Arrange for (immediate) payment of appointments:
Appointments should be paid for upon completion of the appointment. It is important for the stylist
responsible for the appointment to inform reception of all the treatments provided before the customer
leaves the premises. A full list of all the services arranged for during the setting up of the appointment,
plus any services that were provided at the stylist’s suggestion without pre-arrangement should be
available for charging purposes. The method of payment should be recorded and a bill provided for the
customer. A record of the transaction should be kept for tax purposes.
Business Event: Appointment Completed
Non-functional requirements
Description
Target value
Acceptable range
Input services provided immediately through
4 seconds per service
keyboard
print bill
5-10 secs
Comments
under 20 secs
Benefits
No time will be lost calculating the value of each service. A record for tax purposes will reduce
accounting fees considerably. Customers will have a complete breakdown of the treatment they pay for.
Comments/suggested solutions
The LDS will contain entities to trace and charge for all Jobs making up an Appointment.
A direct link to a printer is necessary
Related Documents
Interview and observation notes. Identified through BAM. LDS entities Appointment, Job, Treatment,
Skill, and Treatment Skill. DFD processes 5.1 and 5.2.
Related requirements
A1, and to a lesser extent A3 & A4
Resolution
Accepted by BSO and TSO. Implemented. Function Id:__
Figure 4.2 An example Requirement Catalogue Entry following closely the default recommendation
4 Requirements Definition
9
Relationship of Requirements Definition to Other Techniques
BAM
DFM
LDM
BSO
DD
RD
P
TSO
RDA
FD
PDD
CBM
EBM
LDPD
PPS
The BAM is a good source of User Requirements that retain the business’ current
functionality.
During investigation the DFMs and the LDM are set-up at the same time as the
Requirements Catalogue is produced.
The necessity for an enquiry function need not be shown on the DFM, in which
case the Requirements Catalogue is the only place where it is logged.
The bottom half of the Requirements Catalogue entries is continuously updated to
show the progress of a requirement through the system’s development.
Prototyping and Dialogue Design are influenced by entries, functional or nonfunctional, in the Requirements Catalogue. (If Prototyping is used for investigation it may
become a source of requirements.)
BSOs are based on User Requirements, and can lead to dropping a requirement
altogether.
The TSO has to be chosen to accommodate all requirements, including the nonfunctional.
The two techniques of Physical Design are highly influenced by target values
stated in the Requirements Catalogue.
4 Requirements Definition
10
The Place of Requirements Definition in the System Development Template
The Requirements Catalogue permeates the system’s development. Every product
justifies its inclusion by tracing back to a requirement.
D
e
c
i
s
i
o
n
Investigation
Specification
Conceptual model
S
t
r
u
c
t
u
r
e
U
s
e
r
RD
Internal design
Construction
External design
O
r
g
a
n
i
s
a
s
i
o
n
P
o
l
i
c
i
e
s
a
n
d
P
r
o
c
e
d
u
r
e
s
Afterthought: Data Oriented Functional Requirements
Since the aim of analysis is to identify a computer process that will satisfy a given user
requirement, and since an information system computer process is essentially an
interchange of specific data items, it soon becomes evident that user requirements have to
be expressed in a data oriented sense. Thus the analyst has to intuitively interpret a user
requirement into a form that is computable. Only then can resolutions of the requirement
be meaningful. If the requirement is not dropped by the BSO, then computer function(s)
will be attached to it. These functions will form the basis for the subsequent programming
specifications. It will then be possible to pick-up any programming section and crossreference it back through the function to the requirement for which it was created in the
first place. Documentation becomes complete and meaningful only when this
backtracking from chunks of code to the original requirement is possible.
Non specific requirements such as ‘computerise appointments’ are too vague and
need refinement. In the Salon's case, this refinement has led to requirements A1-A11,
each of which is data specific. Others, such as ‘allow for business expansion’ have to be
seen as non-functional requirements which will have practical usefulness only when
clear-cut measures of the perceived expansion can be pin-pointed.
Afterthought: Requirements Should Hinge on Objectives
All project products hinge on requirements. If a system analysis product cannot be linked
with a user requirement, then that product should not have been produced. This statement
has different repercussions depending on what stage of the development we are in. During
4 Requirements Definition
11
Requirement Analysis, the identification of requirements is done simultaneously with the
building of the process and data models. If a process which does not appear to have been
required is stumbled upon during Data Flow Modelling, then the analyst should enquire
whether the requirement has been missed by the team. In this manner the Data Flow
Model strengthens the analysts’ understanding of the problem by identifying a user
requirement to which the process is duly attached. On the other hand, by the time we
come to Requirements Specification the user requirements have been determined by the
Project Board during BSOs. To continue adding new requirements now defeats the rigour
required by Analysis and is contrary to the notion of ‘hard’ waterfall methods. Discipline
is then needed to identify the functions, and only the functions, that address the
requirements. Any function that cannot trace back to a chosen requirement should be
treated with caution because it either means it should not be there or that the Analysis was
slipshod.
Since every development product justifies its inclusion by pointing to the
requirement to which it is a response, one may wonder what justifies the inclusion of a
requirement in the Requirements Catalogue. The answer to this question is subtle: each
requirement has to hinge on a business objective. These business objectives should be
part of any decent Project Initiation Document. In short, an analyst should continuously
strive to comprehend why a system’s objectives exist, what is their role and what their
purpose. Answers to those questions help determine the, usually not so clear cut, system
boundary and so add to the analysts’ appreciation of the user requirements.
The astute reader will have recognised that statements such as ‘computerise
appointments’ and ‘allow for business expansion’ are more akin to objectives than
requirements.
Afterthought: Influencing Requirements
The job of the analyst is to identify computer requirements for the user with the help of
the user. When working within a waterfall framework, certain assumptions are implicit.
For instance, not much conflict of interest exists, the system to be built is somehow clearcut, a project board which represents the user community has been set up and is
empowered to take decisions, and all involved have the success of the future computer
system at heart. When these conditions are met, our job is to tease out the requirements
and phrase them in a manner that our technical knowledge suggests will prove
constructive. Analysts are not supposed to massage requirements to fit with their own
points of view. Instead they should act as facilitators to the users’ request for a computer
information system.
4 Requirements Definition
12
Your reaction to the last statement above betrays your opinion on how much, if at all, the
analyst should influence requirements. If you had no reaction you are probably an
inexperienced analyst.
The answer you give to the question of whether analysts should be detached
observers of the development or whether they should actively participate in it will define
the kind of analyst you aspire to be. You may consider that your job resembles that of an
engineer. Alternatively you may consider yourself a facilitator or even an emancipator
[Dahlbom and Mathiassen, 1993]. As an engineer you will be “primarily interested in
technology” and you will feel that your task is to “construct the optimal technical solution
to be delivered to your client in response to given requirements”. As a facilitator you will
try and understand more about the environment in which your system will reside. You
will “engage in a dialogue with clients” and probably “take an experimental, evolutionary
approach to develop satisfactory computer solutions”. As an emancipator you may go
further, become more critical and view systems as a vehicle for power. You will then try
to involve yourself “directly in the problematic situation of the client, intervening to
change the existing power structures and to create a more equal distribution of resources
and opportunities”. The choice is yours - maybe.
Section References
Dahlbom, B. and Mathiassen, L. (1993) Computers in Context, the Philosophy and
Practice of Systems Design, NCC Blackwell
Requirements Definition Exercises
1) Study the Business Activity Model and the Requirements of the Salon. Decide which
requirements simply retain what is already going on in the salon, which represent
better use of existing information and which represent actions not currently offered by
the salon.
4 Requirements Definition
13
Download