Date post: | 23-Dec-2015 |
Category: |
Documents |
Upload: | chester-montgomery |
View: | 214 times |
Download: | 0 times |
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1
Chapter 7: System models
Abstract descriptions of systems whose requirements are being analysed
Let’s face it .. they are diagrams!
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 2
System modelling
Different models present the system from different 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 2000 Software Engineering, 6th edition. Chapter 7 Slide 3
Structured methods Structured methods incorporate system modelling
as an inherent part of the method Methods define a set of models, a process for
deriving these models and rules and guidelines that should apply to the models
CASE tools support system modelling as part of a structured method
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 4
Context models Context models are used to illustrate the
boundaries of a system
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 5
The context of an ATM system
Auto-tellersystem
Securitysystem
Maintenancesystem
Accountdatabase
Usagedatabase
Branchaccounting
system
Branchcountersystem
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 6
Behavioural models Behavioural models are used to describe the
overall behaviour of a system Two types of behavioural model are shown here
• Data processing models that show how data is processed as it moves through the system
• State machine models that show the systems response to events
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 7
Order processing DFD
Completeorder form
Orderdetails +
blankorder form
Valida teorder
Recordorder
Send tosupplier
Adjustavailablebudget
Budgetfile
Ordersfile
Completedorder form
Signedorder form
Signedorder form
Checked andsigned order
+ ordernotification
Orderamount
+ accountdetails
Signedorder form
Orderdetails
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 8
Data Flow Diagrams
Show the processing steps as data flows through a system
Robust:• Analysis: Used to model the system’s data processing
• Design: Used to describe module interaction
Flow of data .. not control Popular and well supported. Tools allow
• hierarchical (7 +/- 2??)
• automatic consistency, completeness checking
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 9
CASE toolset DFD
Designeditor
Designcross checker
Designanalyser
Reportgenerator
Designdatabase
Code skeletongenerator
Designdatabase
Inputdesign
Validdesign
Checkeddesign
Designanalysis
Userreport
and
Referenceddesigns
Checkeddesign Output
code
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 10
State machine models These model the behaviour of the system in
response to external and internal events They show the system’s responses to stimuli so
are often used for modelling real-time systems State machine models show system states as
nodes and events as arcs between these nodes. When an event occurs, the system moves from one state to another
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 11
Microwave oven modelFull power
Enabled
do: operateoven
Fullpower
Halfpower
Halfpower
Fullpower
Number
TimerDooropen
Doorclosed
Doorclosed
Dooropen
Start
do: set power = 600
Half powerdo: set power = 300
Set time
do: get numberexit: set time
Disabled
Operation
Timer
Cancel
Waiting
do: display time
Waiting
do: display time
do: display 'Ready'
do: display 'Waiting'
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 12
Statecharts Statecharts are an integral part of the UML Allow the decomposition of a model into sub-
models (see following slide) A brief description of the actions is included
following the ‘do’ in each state Can be complemented by tables describing the
states and the stimuli
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 13
Microwave oven operation
Cookdo: run generator
Done
do: buzzer on for 5 secs.
Waiting
Alarm
do: display event
do: checkstatus
Checking
Turntablefault
Emitterfault
Disabled
OK
Timeout
TimeOperation
Dooropen
Cancel
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 14
Semantic data models Used to describe the logical structure of data
processed by the system Entity-relation-attribute model sets out the
entities in the system, the relationships between these entities and the entity attributes
Widely used in database design. Can readily be implemented using relational databases
No specific notation provided in the UML but objects and associations can be used
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 15
Software design semantic modelDesign
namedescriptionC-dateM-date
Link
nametype
Node
nametype
links
has-links
12
1 n
Label
nametexticon
has-labelshas-labels
1
n
1
n
has-linkshas-nodes is-a
1
n
1
n1
1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 16
Data dictionaries Data dictionaries are lists of all of the names used
in the system models. Descriptions of the entities, relationships and attributes are also included
Advantages• Support name management and avoid duplication
• Store of organisational knowledge linking analysis, design and implementation
Many CASE workbenches support data dictionaries
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 17
Data dictionary entries
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 18
Object models Object models describe the system in terms of
object classes An object class is an abstraction over a set of
objects with common attributes and the services (operations) provided by each object
Various object models may be produced• Inheritance models
• Aggregation models
• Interaction models
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 19
Object models Natural ways of reflecting the real-world entities
manipulated by the system More abstract entities are more difficult to model
using this approach Object class identification is recognised as a
difficult process requiring a deep understanding of the application domain
Object classes reflecting domain entities are reusable across systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 20
Inheritance models Organise the domain object classes into a
hierarchy Classes at the top of the hierarchy reflect the
common features of all classes Object classes inherit their attributes and services
from one or more super-classes. these may then be specialised as necessary
Class hierarchy design is a difficult process if duplication in different branches is to be avoided
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 21
The Unified Modeling Language Devised by the developers of widely used object-
oriented analysis and design methods Has become an effective standard for object-
oriented modelling Notation
• 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
Library class hierarchyCatalogue numberAcquisition dateCostTypeStatusNumber of copies
Library item
Acquire ()Catalogue ()Dispose ()Issue ()Return ()
AuthorEditionPublication dateISBN
Book
YearIssue
MagazineDirectorDate of releaseDistributor
Film
VersionPlatform
Computerprogram
TitlePublisher
Published item
TitleMedium
Recorded item
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 23
Object aggregation
Videotape
Tape ids.
Lecturenotes
Text
OHP slides
Slides
Assignment
Credits
Solutions
TextDiagrams
Exercises
#Problems Description
Course titleNumberYearInstructor
Study pack