Requirements Analysis

com6030-2; Department of Computer Science; 2001
Requirements Analysis
 Requirements process: elicitation and
specification
 Functional and non-functional
requirements
 Deliverables
 Notations for requirements: diagrammatic,
formal, static, dynamic
1
com6030-2; Department of Computer Science; 2001
Requirements process
 The process of capturing and defining system’s
needs: behaviour, constraints, people involved
 Defines what a system should do (instead of how –
design) without referring to a specific hardware/
software environment
 Contains two main stages
o A. Requirements elicitation and analysis
o B. Requirements definition and specification
 Uses specific notations, models and methods
 Produces deliverables (requirements documents)
2
com6030-2; Department of Computer Science; 2001
A. Requirements elicitation and analysis
 Uses a variety of methods to capture the
requirements and involves both designer and end
user/client
 Involves iterative discussions with the client to
understand the system’s characteristics
 Useful to separate/prioritise the requirements (ex:
library system)
o Requirements that must be met (borrow,
lend books)
o Requirements that are desirable but not
necessary (journals processing)
o Requirements that are possible but could be
eliminated (books reservation)
 Objects (books, staff ) and attributes: book
name, isbn) + their operations (add book,
borrow book) and states (book in library,
on loan) are identified
 A document (requirements definition) may be
written at the end of this stage
3
com6030-2; Department of Computer Science; 2001
B. Requirements definition and
specification
 Requirements are specified by an analyst in a
technical way (using some specific notations,
methods)
 A document (requirements specification) is
produced; may contain only specifications or may
be combined with requirements definition
 The document produced is used as a basis for design
Example: library system
 In the requirements definition: “a member of staff
may borrow/return books; the maximum number of
books that may be borrowed is 12”
 In the requirements specification we may find:
o in a specific notation, the interactions between
staff member actor and use the cases
borrow books and return books
o additionally a text description: “a staff member
may borrow a book when the total number of
books borrowed is less than 12”
o user interface
4
com6030-2; Department of Computer Science; 2001
Functional requirements
 describe what the system does or expect to do:
functionality
 functionality of a system includes
o describe the system processing (borrow a book:
check availability and no of books already borrowed
and assign book)
o details of the inputs into the system (borrow a
book: book and member of staff identification;
scope for some verifications)
o details of the outputs that are expected from the
system (borrow a book: could be only associated
to some failures – book not available, already 12
books borrowed)
o interactions with other components of the system
(library system might interact with
university staff system to getting info about
staff)
 functionality is expressed through
o functions describing various levels of detail
(structured approach)
o use cases, objects with attributes and operations,
their interactions and behaviour (Object Oriented
approach )
5
com6030-2; Department of Computer Science; 2001
Non-functional requirements
 three main types of non-functional requirements:
 product requirements, which refer the system under
development:
o performance criteria: response time for finding
a book in the system is no more than 15 sec
o security considerations: authorized user may
add books/journals
o software constraints: platform, programming
language, environment
o a specific format (ASCII, pcx, gif),
programming language
o interface requirement: format of the interface,
types, number of screens
o physical requirements: hardware platform and
configuration
o availability: the system must have no more
than 2h/month of down time
 process requirements, which refer to the
development process involved (process standards,
methods – ex: UML)
 external requirements refer to the interaction with
other systems, constraints imposed by legislation,
budget available – important also for feasibility
study
6
com6030-2; Department of Computer Science; 2001
Requirements definition/specification
document
 general view on the system and background: general
description with main achievements and limits
 detailed description of the proposed system:
o functions and data - classes
o relationships/interactions among them
o interactions with the environment – use cases
o constraints (non-functional aspects)
 environment in which the system will operate
 appendix/glossary of concepts/terms used (precision
and avoid misunderstandings)
7
com6030-2; Department of Computer Science; 2001
How to express requirements
 natural language (main part); disadvantages:
o leads to misunderstandings because of the
inherent ambiguity of natural languages
o it is over flexible allowing related requirements
to be expressed in completely different ways
o requirements are not partitioned (divided in
small (sub)groups): makes it difficult to
maintain
 diagrammatic/visual notations of a specific
methodology or ad-hoc notations:
o structured, object-oriented
o static (structural: class diagrams), dynamic
(behavioural: statecharts) specification
 formal descriptions: state-based, algebraic, logic
 combined approaches (natural language, UML and
Z)
8
com6030-2; Department of Computer Science; 2001
Ad-hoc diagrammatic notation – static
diagrammatic)
A design editor specification
Methodology
compiler
Design editor
Environment database
Code skeleton
generator
Design analyser
NAME
DESCRIPTION
Design editor
An editing system which allows design
diagrams to be created, modified and
stored in a db
Methodology
compiler
A translation system which takes a
formal description of a design method
and translates it
9
com6030-2; Department of Computer Science; 2001
Use case diagram (UML) – static
diagrammatic
Add a new client
Assign staff to work
on a campaign
Campaign manager
Change a client contact
USE CASE
DESCRIPTION
Add a new client
When a new client enter all
details are recorded
Assign staff to work on a When a new campaign starts,
campaign
members of staff are assigned
to work on it
…
…
10
com6030-2; Department of Computer Science; 2001
Functional description and Transition
diagrams – (dynamic diagrammatic and
formal)
 the system is viewed as a set of states and functions
passing from one state to another
F(curr_state,curr_function) = next_state
borrow
return
Book
available
Book not
available
F(Book available, borrow)=Book not available
F(Book not available, return)=Book available
F(Book available, return)=?
11
com6030-2; Department of Computer Science; 2001
Petri nets – (dynamic diagrammatic and
formal/ parallel behaviour)
suitable for expressing synchronization aspects
for systems with concurrent behaviour
4 Philosophers sitting around a table are
thinking most of the time; from time to time,
becoming hungry they want to eat; this is
possible only when the two forks next to them
are available; when these are available they
may eat and then put down the forks and
restart to think.
Ph1
Ph2
Ph4
Ph3
12
com6030-2; Department of Computer Science; 2001
Fork
Ph_i thinking
Ph_i eating
Fork
Ph_j thinking
Ph_j eating
Fork
13
com6030-2; Department of Computer Science; 2001
Conclusions
 Requirements elicitation
 Requirements specification
 Functional requirements and nonfunctional requirements
 Requirements document
 Notations: diagrammatic, formal, static,
dynamic
14