Transcript Document

Object Oriented
Software Development
2009-2010
Modelling information systems
OOSAD Booklet Chapter 3
Lecture: Week 2
Brian Farrimond
Objectives

At the end of this session you should be able
to:



Explain some difficulties in requirements analysis
Describe in outline some strategies for obtaining
requirements
Explain the purpose of the following UML models in
the process:



Use Case
Class Association Diagram
Sequence Diagram
2
System Requirements
The Requirements specification must provide sufficient
information to enable the system to be constructed
“successfully.”
• Functional requirements
• What the system must do (tasks)
• Non-Functional Requirements
• Eg constraints, such as hardware to be
used,
• Eg interface, documentation, training,
management standards to be used.
3
The Difficulty with Requirements


System Requirements are normally
written in English
According to the Oxford English
Dictionary, the 500 words used most in
the English language each have an
average of 23 different meanings.
4
Examples:
The Duchess handled the launching beautifully,
confidently smashing the champagne against the
prow. The crowd cheered as she majestically slid
down the greasy runway into the sea.
Anti-nuclear protestors released live
cockroaches inside the White House Friday,
and these were arrested when they left and
blocked a security gate.
5
What’s wrong with these?


“The system shall list all the details of the
members”.
Instructions to make tea





Fill kettle with water
Put tea bag in cup
Pour water from kettle into cup
Add milk
Drink
6
From a British Airways Memorandum, quoted in Pilot
Magazine, December 1996:
The Landing Pilot is the Non-Handling Pilot until the
decision altitude call, when the Handling Non-Landing Pilot
hands the handling to the Non-Handling Landing Pilot,
unless the latter "calls go around," in which case the
Handling Non-Landing Pilot continues handling and the
Non-Handling Landing Pilot continues non-handling until
the next call of "land" or "go around" as appropriate.
In view of recent confusions over these rules, it was deemed
necessary to restate them clearly.
7
Requirements should be ..



Complete
Unambiguous
Correct ( does what the user wants)

…. Whatever that is.
8
A checklist for fuzzy requirements
1988, the MITRE Corporation, prepared a checklist for the U.S.
Air Force:
1.
2.
3.
Incomplete lists ending with "etc.,"
"and/or," and "TBD.“
Vague words and phrases such as
"generally," "normally," "to the greatest
extent," and "where practicable.“
Imprecise verbs such as "supported,"
"handled," "processed," or "rejected.“
9
A checklist for fuzzy requirements
1988, the MITRE Corporation, prepared a checklist for the U.S.
Air Force:
4.
5.
6.
7.
Implied certainty, flagged by words such as
"always," "never," "all," or "every.“
Passive voice, such as "the counter is set." (By
whom or what?)
Every pronoun, particularly "it" or "its." Each
should have an explicit and unmistakable
reference.
Comparatives, such as "earliest," "latest,"
"highest." Words ending in "or" or "est"
should be suspect.
10
A checklist for fuzzy requirements
1988, the MITRE Corporation, prepared a checklist for the U.S.
Air Force:
Words and phrases whose meaning can be disputed
between developer and customer, such as
instantaneous, simultaneous, achievable,
minimum,
Contractually troublesome phrases:
8.
9.
a.
b.
c.
d.
e.
"Design goal." The developer will spend money and other
resources with no guarantee of goal accomplishment.
"To the extent practicable." A decision in the eyes of the
developer.
"Where applicable." There are no criteria for judgment.
"Shall be considered." The developer will think about.
"A minimum of X." The developer will provide exactly X.
11
Gathering requirements – How?
Background
Reading
Interviewing
Document
Sampling
Observation
Questionnaires
12
Your Coursework

You will eventually need to Think
about how this applies to your feasibility
study (Coursework 3)
13
Modelling for Clarity

Models represent the key features


The meaning of the model elements and rules
for combining must be understood and clear


An abstraction of reality
Unambiguous syntax and semantics
Used to communicate with

Developers, Clients, (and any passing aliens)
14
Example – Mountain bike hire
company
Extract from Statement of Requirements
“ Only members can hire bikes. A member can
reserve bikes in advance (the system records
details of the bike, member, date and time
reserved).”
“Leaders (who must be members) take groups of
members on particular rides. A leader has to
hold a leadership certificate. ”
“Members can ride by themselves or can book
specific rides”
15
Use Case Modelling


This shows the tasks and what or who
will initiate them.
What tasks can you identify?
16
Use Case
Static Model
Lead Ride
Reserve Bike
Leader
Member
Book Ride
17
Class Modelling




The system is composed of objects that
communicate to perform the system’s tasks.
Objects represent real-world things, events or
roles (e.g. a particular member or bike)
Objects have Attributes and Behaviour
A Class is a template for objects of the same
type (eg Bike is a Class)
18
Class Association Model

A Class-Association
Diagram shows the
structure of the
system: eg
Reservation
makes
for
*
4
Member
Bike
1
books
1
*
*
Leader
Ride
leads
1
*
19
Generalisation
Reservation
makes
for
*
4
Member
Bike
1
books
1
*
*
Leader
Ride
leads
1
*
Association
Class
20
Generalisation


Member
A Leader is-a-kind-of Member
Therefore


Leader

The Leader Inherits all the
characteristics of a Member and adds
extra (specialised) behaviour or
attributes
Member is a generalisation of leader
Leader is a specialisation (or Subclass) of Member
21
Association
Leader
Ride
leads
1
*
A Ride is led by 1 Leader
A Leader Leads many Rides
22
How many reservations can a
member make?
Reservation
makes
for
*
4
Member
Bike
1
books
1
*
*
Leader
Ride
leads
1
*
23
Dynamic Models




Use Case and Class diagrams do not show how
a system behaves over Time
Dynamic models can show this
UML has several Dynamic models, you will only
meet Sequence Diagrams on this course.
These show details of how a Use Case is
implemented, corresponding to program code.
24
A Possible Book Bike Ride
Use Case
aUser
aMember : Member
aRide: : Ride
Object
Book(aRide)()
Time
books()
()
Message
()
25
Summary


Systems are complex, Models help to represent
key features clearly and reduce ambiguity.
Requirements should be






Unambiguous
Complete
Correct
Use Case models show tasks
Class Diagram models show structure
Sequence Diagram models show behaviour of a
single use case over time.
26