Beruflich Dokumente
Kultur Dokumente
Requirements Model
Objectives:
This Unit will introduce the Object-Oriented Software
Engineering (OOSE) method from Jacobson et al. It will
describe the basics of Ôa use case driven approachÕ. The focus
of the Unit is the development of its Requirements Model. It
will discuss actors, use cases, interface descriptions and
problem domain objects. Relevant notations are drawn from
the UML (Unified Modelling Language)
OOSE Background
¥ Originated in Sweden
¥ " Object-Oriented Software Engineering A Use Case Driven
Approach " by Ivar Jacobson, Magnus Christerson, Patrik
Jonsson & Gunnar Overgaard, Addison-Wesley , 1992
Ð Pragmatic method based on experience
Ð Popular and successful
Ð Complete method
5Ñ1
What Comprises a Method?
3 stages, 5 models
5Ñ2
OOSE Models UML Representations
REQUIREMENTS
ANALYSIS
DESIGN
Use case
model
REQUIREMENTS
model
Use case
model
ANALYSIS
model
Sequence
DESIGN diagram
State
diagram
model
5Ñ3
Use case USE CASE
model MODEL
REQUIREMENTS
model
use
Class cases
diagram
first draft
Use case
model Use case
ANALYSIS model
+ descriptions
model
Class ope rations
diagram seq uence
+ packages
associations Sequence
attributes Diagram
Sequence
classes classes
DESIGN diagram operation
states
State
State Diagram
diagram
interface
definition 2
model interface
CLASS definition 1
DIAGRAM
use
Class cases
diagram
first draft
Use case
model
object roles and
ANALYSIS responsibilities Use case
model model
+ descriptions
'analysis
objects'
Class ope rations
diagram seq uence
+ packages
5Ñ4
Analysis Stage
¥ Primary objectives
Ð to determine what the system must do
Ð to embed the software system in its environment
¥ Two concerns
Ð to get the right thing
Ð to get the thing right (now and for future)
¥ Products
requirements
Ð Requirements Model
Ð Analysis Model interfaces
use case model
customer
domain object model
Requirements Model
5Ñ5
Requirements Model Inputs and Outputs
¥ Inputs :
Ð System requirements specifications [multiple media]
Ð Documentation of existing systems, practices etc. that are
to be followed [text, graphic]
Ð Exchanges between developers and users and specifiers
[multiple media]
¥ Outputs :
Ð use case model [graphic]
Ð concise descriptions of use cases [text]
Ð user interface descriptions [text ... prototypes]
Ð system interfaces [protocols]
Ð problem domain object list (names, attributes) [text]
¥ Notations introduced :
Ð use case diagram (system box, ellipses, names, actor icons,
Ð actor/case links (<uses> and <extends> associations)
¥ association (<extends>, <uses>)
5Ñ6
Requrements Example
ACTORS
¥ An actor is:
Ð anything external to the system, human or otherwise
Ð a user type or category
¥ A user doing something is an occurrence of such a type
¥ A single user can instantiate several different actor types
¥ Actors come in two kinds:
Ð primary actors, using system in daily activities
Ð secondary actors, enabling primary actors to use system
5Ñ7
USE CASES
¥ A use case
Ð constitutes complete course of events initiated by actor
Ð defines interaction between actor and system
Ð is a member of the set of all use cases which together
define all existing ways of using the system
actor initiates use case
instantiated as instantiated as
5Ñ8
Use Case Model
Recycling Machine
Returning Generate
Customer item report
Change item
information
Operator
¥ Consider situation,
¥ Identify actors,
¥ Read specification,
¥ Identify main tasks,
¥ Identify system information,
¥ Identify outside changes,
¥ Check information for actors,
¥ Draft initial use cases, [text]
¥ Identify system boundary,
¥ Draft initial use case model [graphic]
5Ñ9
When is a U s e Case . . . ?
Elaborated Example
¥ BASIC
Ð When the Customer returns a d eposit item, it is measured by the
system. The measurements are used to d etermine what kind of can,
b o ttle or crate has be d eposite d . If accept e d, the Customer total is
incremente d, as is the d aily to t al for tha t specific item type.
¥ ALTERNATIVE
Ð If the item is not acce pte d, 'NOT VALID' is highligh ted on the pa n el.
¥ BASIC
Ð When Customer presses the receipt bu tton, the printer prints the da te .
The customer to t al is calculat e d and the following information printe d
on the re c eipt for e ach item type: name, number returne d , d eposit v alue,
t o tal for this type . Finally the sum that the Customer should receive is
printe d on the re ceipt.
5Ñ10
Use Case Extensions
item stuck
Refinements
<<uses>> <<uses>>
inherits inherits
Concrete actors
Customer Operator
5Ñ11
User Interface Descriptions
¥ Object in specification
¥ Direct counterpart in the application environment
¥ Refinement in stages :
Object noun ->
Logical attributes ->
Static associations
Inheritance ->
Dynamic associations ->
Operations
5Ñ12
Object Examples
¥ OBJECT ATTRIBUTES
¥ name characteristic / information : type
¥ Deposit item name: string, total: integer, value: ECU
¥ Can width: cm, height: cm
¥ Bottle width: cm, height: cm, bottom: cm
¥ Crate width: cm, height: cm, lenght: cm
¥ Receipt total cans: int, total bottles: int, ...
¥ Customer panel receipt button: button
¥ Operator panel bottle data: cm, ...
Requirements Model
¥ Outputs :
Ð use case model [graphic]
Ð concise descriptions of use cases [text]
Ð user interface descriptions [text ... prototypes]
Ð system interfaces [protocols]
Ð problem domain object list (name, attribute: type) [text]
Requirements specifications
USE CASE
Use case
model MODEL
problem
Requirements model domain
object list use
Class cases
diagram
first draft
5Ñ13
REQUIREMENTS MODEL
Stages of production
Inputs:
- System requirements specifications [multiple media]
diagram.
- Documentation of existing systems, practices etc. that are
Key Points
3) Generate for each use case a desciption in natural language text and create a
full use case model [text, graphic]
4) Identify <extends> associations between use cases by modelling:
- optional parts
- complex and alternative cases that are rare
¥ System development can be viewed as model building.
- situations where different use cases can be inserted into or interrupt a use case
5) Refine and complete use cases and use case model
¥ Problem domain objects are identified as a prelude to class
(<generalizes>)
continued ...
5Ñ14
REQUIREMENTS MODEL (continued)
Stages of production
6) Describe user interfaces and test on potential users, if necessary using simulations
or prototypes
7) Describe system interfaces for non-human actors in terms of communication
protocols etc.
8) Initial identification of problem domain objects, beginning with a 'noun list'
derived from the use cases and specification
9) Check whether, and how, all requirements specified by inputs have been
incorporated
Outputs:
- use case model [graphic]
- concise descriptions of use cases [text]
- user interface descriptions [text ... prototypes]
- system interfaces [protocols]
- problem domain object list (names, attributes) [text]
Notations introduced:
use case diagram
(system box, ellipses, names, actor icons, actor/case links,
<uses> and <extends> associations)
association
(<extends>, <uses>)
Transition from Requirements model to Analysis model unlikely to take place without
iterations.
5Ñ15