System models
Trang 1©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 1
System models
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 2
Objectives
should be modelled as part of the RE process
modelling and object modelling
the Unified Modeling Language (UML)
system modelling
Topics covered
Trang 2©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 4
System modelling
the functionality of the system and models are used
to communicate with customers.
perspectives
• External perspective showing the system’s context or environment;
• Behavioural perspective showing the behaviour of the system;
• Structural perspective showing the system or data architecture.
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 5
Model types
processed at different stages.
composed of other entities.
common characteristics.
reaction to events.
Context models
operational context of a system - they show what lies outside the system boundaries
affect the decision on where to position system boundaries
relationship with other systems
Trang 3©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 7
The context of an ATM system
Auto-teller system
Security system
Maintenance system
Account
da tabase
Usa ge database
Branch
accounting
system
Branch
counter
system
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 8
Process models
and the processes that are supported by the system
processes and the flow of information from one process to another
Equipment procurement process
Get cost estima tes
Accept deli very of equipment
Check deliver ed items Valida te
specifica tion
Specify
equipment
requir ed
Choose equipmentPlace
order Install equipment Find
suppliers
Supplier
da tabase
Accept deli ver ed equipment
Equipment
da tabase
Equipment
spec.
Checked
spec.
Delivery note Delivery note
Order notifica tion
Installa tion
Installa tion acceptance
Equipment details
Check ed and signed or der f orm
Order details plus blank or der for m
Spec + supplier + estima te Supplier list
Equipment
spec.
Trang 4©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 10
Behavioural models
overall behaviour of a system
processed as it moves through the system;
response to events.
so both of them are required to describe the system’s behaviour
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 11
Data-processing models
model the system’s data processing
flows through a system
methods
can understand
Order processing DFD
Complete
or der f orm
Or der
details +
blank
or der f orm
Valida te order Recor d
or der
Send to supplier
Adjust availab le budget
Budget file
Or ders file
Completed
order f or m
Signed order f or m Signed order f orm
Check ed and signed or der + or der notifica tion
Or der amount + account details
Signed order f orm Order details
Trang 5©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 13
Data flow diagrams
perspective
associated with a process is helpful to develop an overall understanding of the system
showing the data exchange between a system and other systems in its environment
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 14
Insulin pump DFD
Insulin requir ement computa tion
Blood sugar anal ysis Blood sugar
sensor
Insulin deli very contr oller Insulin
pump
Blood
Blood
par ameters
Blood sugar level
Insulin
Pump contr ol
requir ement
State machine models
response to external and internal events.
often used for modelling real-time systems.
and events as arcs between these nodes When an event occurs, the system moves from one state to another.
used to represent state machine models.
Trang 6©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 16
Statecharts
sub-models (see following slide)
following the ‘do’ in each state
the states and the stimuli
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 17
Microwave oven model
Full po wer
Enabled
do: operate oven
Full
po w er
Half
po wer
Half
po wer
Full
po wer
Number
Door Door closed
Door closed
Door Start
do: set power
= 600
Half po wer
do: set power
= 3 00
Set time do: get number exit: set time
Disab led
Operation
Cancel
Waiting do: display time
Waiting
do: display
time
do: display 'Ready'
do: display 'Waiting'
Timer
Timer
Microwave oven state description
Waiting The oven is waiting for input The display shows the current time.
Half power The oven power is set to 300 watts The display shows ŌHalf powerÕ.
Full power The oven power is set to 600 watts The display shows ŌFull powerÕ.
Set time The cooking time is s et to the userÕs input value The display shows the cooking time selected and is updated as the time is set.
Disabled Oven operation is disabled for safety Interior oven light is on Display shows ŌNot readyÕ.
Enabled Oven operation is enabled Interior oven light is off Display shows ŌReady to cookÕ Operation Oven in operation Interior oven light is on Display shows the timer countdown On shows ŌCooking completeÕ while buzzer is sounding.
Trang 7©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 19
Microwave oven stimuli
Half power The user has pressed the half power button
Full power The user has pressed the full power button
Timer The user has pressed one of the timer buttons
Number The user has pressed a numeric key
Door open The oven door switch is not closed
Door closed The oven door switch is closed
Start The user has pressed the start button
Cancel The user has pressed the cancel button
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 20
Microwave oven operation
Cook do: run generator
Done do: buzzer on for 5 secs.
Waiting
Alarm
do: display
event
do: check
status
Checking
Turntable
fault
Emitter fault
Disabled
OK
Timeout Time
Door open Cancel Operation
Semantic data models
processed by the system.
entities in the system, the relationships between these entities and the entity attributes
implemented using relational databases.
and associations can be used.
Trang 8©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 22
Library semantic model
Source title publisher issue date pages 1
Article
title
authors
pdf file
fee
has-links 1
Buyer
name
address
billing info
places
fee-payable-to
n
1
n
published-in
1
1 1 Copyright
Agency name address
Country copyright form tax rate
1 Order
order number
date
tax status
in 1
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 23
Data dictionaries
the system models Descriptions of the entities, relationships and attributes are also included.
• Support name management and avoid duplication;
• Store of organisational knowledge linking analysis, design and implementation;
Data dictionary entries
Article Details of the published article that may be ordered bypeople using LIBSYS. Entity 30.12.2002
authors The names of the authors of the article who may be due
Buyer The person or organisation that orders a co py of the
fee-payable-to
A 1:1 relationship between Article and the Copyright
Agency who should be paid the copyright fee. Relation 29.12.2002
Address
(Buyer)
The address of the buyer This is used to any paper
Trang 9©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 25
Object models
object classes and their associations.
objects with common attributes and the services (operations) provided by each object.
• Inheritance models;
• Aggregation models;
• Interaction models.
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 26
Object models
entities manipulated by the system
model using this approach
difficult process requiring a deep
understanding of the application domain
reusable across systems
Inheritance models
common features of all classes.
from one or more super-classes these may then be specialised as necessary.
duplication in different branches is to be avoided.
Trang 10©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 28
Object models and the UML
the developers of widely used object-oriented analysis and design methods.
object-oriented modelling.
• Object classes are rectangles with the name at the top, attributes in the middle section and operations in the bottom section;
• Relationships between object classes (known as associations) are shown as lines linking objects;
• Inheritance is referred to as generalisation and is shown
‘upwards’ rather than ‘downwards’ in a hierarchy.
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 29
Library class hierarchy
Catalo gue n umber Acquisition da te Cost Type Status Number of copies Library item
Acquire () Catalo gue () Dispose () Issue () Return ()
Author
Edition
Pub lication da te
ISBN
Book
Year
Issue
Ma gazine Dir ector
Da te of release Distrib utor Film Version Pla tfor m
Computer pro gram
Title
Pub lisher
Pub lished item
Title Medium Recor ded item
User class hierarchy
Name Address Phone Reg istration # Library user
Reg ister () De-reg ister ()
Affiliation
Reader
Items on loan Max loans Borrower
Depar tment Depar tment phone Staff Major subject Home ad dress Student
Trang 11©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 31
Multiple inheritance
from a single parent class, a system which supports multiple inheritance allows object classes to inherit from several super-classes.
attributes/services with the same name in different super-classes have different semantics.
reorganisation more complex.
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 32
Multiple inheritance
# Tapes Talking book
Author
Edition
Pub lication da te
ISBN
Book
Speak er Duration Recor ding da te Voice recording
Object aggregation
that are collections are composed of other classes
relationship in semantic data models
Trang 12©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 34
Object aggregation
Videota pe Tape ids Lectur e notes Text OHP slides Slides Assignment
Credits
Solutions
Text
Diag rams
Exercises
#Pr ob lems
Description
Course title Number Year Instructor Study pack
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 35
Object behaviour modelling
between objects to produce some particular system behaviour that is specified as a use-case
diagrams) in the UML are used to model interaction between objects
Issue of electronic items
:Library User
Ecat:
Catalog
Lookup
Issue
Display
:Library Item Lib1:NetServer
Issue licence Accept licence
Compress
Deliver
Trang 13©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 37
Structured methods
modelling as an inherent part of the method
for deriving these models and rules and guidelines that should apply to the models
part of a structured method
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 38
Method weaknesses
requirements
about whether a method is appropriate for a given problem
detailed and difficult for users to understand
CASE workbenches
support related software process activities such as analysis, design or testing
system modelling during both requirements engineering and system design
design method or may provide support for a creating several different types of system model
Trang 14©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 40
An analysis and design workbench
Centr al infor ma tion repository Code
gener ator
Query langua ge facilities
Structur ed diag ramming tools
Da ta
dictionary
Repor t gener ation facilities
Design, anal ysis and checking tools Forms
cr ea tion
tools
Impor t/e xpor t facilities
©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 41
Analysis workbench components
Key points
Complementary types of model provide different system information
system in its environment with other systems and processes
data processing in a system
behaviour in response to internal or external events
Trang 15©Ian Sommerville 2004 Software Engineering, 7th edition Chapter 8 Slide 43
Key points
structure of data which is imported to or exported by the systems
entities, their classification and aggregation
between actors and the system objects that they use
developing system models