Download System Modelling in Software Engineering: Types, Weaknesses, and Tools and more Papers Software Engineering in PDF only on Docsity!
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1
System models
z Abstract descriptions of
systems whose requirements
are being analysed
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 2
System modelling
z System modelling helps the analyst to understand
the functionality of the system and models are
used to communicate with customers
z 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
Structured methods
z Structured methods incorporate system modelling
as an inherent part of the method
z Methods define a set of models, a process for
deriving these models and rules and guidelines
that should apply to the models
z CASE tools support system modelling as part of a
structured method
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 4
Method weaknesses
z They do not model non-functional system
requirements
z They do not usually include information about
whether a method is appropriate for a given
problem
z They may produce too much documentation
z The system models are sometimes too detailed
and difficult for users to understand
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 5
Model types
z Data processing model showing how the data is processed
at different stages
z Composition model showing how entities are composed
of other entities
z Architectural model showing principal sub-systems
z Classification model showing how entities have common
characteristics
z Stimulus/response model showing the systemās reaction
to events
Context models
z Context models are used to illustrate the
boundaries of a system
z Social and organisational concerns may affect the
decision on where to position system boundaries
z Architectural models show the a system and its
relationship with other systems
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 10
Behavioural models
z Behavioural models are used to describe the
overall behaviour of a system
z 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
z Both of these models are required for a
description of the systemās behaviour
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 11
Data-processing models
z Data flow diagrams are used to model the
systemās data processing
z These show the processing steps as data flows
through a system
z Intrinsic part of many analysis methods
z Simple and intuitive notation that customers can
understand
z Show end-to-end processing of data
Order processing DFD
Complete
order form
Order
details +
blank
order form
Validate
order
Record
order
Send to
supplier
Adjust
available
budget
Budget
file
Orders
file
Completed
order form
Signed
order form
Signed
order form
Checked and
signed order
+ order
notification
Order
amount
+ account
details
Signed
order form
Order
details
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 13
Data flow diagrams
z DFDs model the system from a functional
perspective
z Tracking and documenting how the data
associated with a process is helpful to develop an
overall understanding of the system
z Data flow diagrams may also be used in showing
the data exchange between a system and other
systems in its environment
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 14
CASE toolset DFD
Design
editor
Design
cross checker
Design
analyser
Report
generator
Design
database
Code skeleton
generator
Design
database
Input
design
Valid
design
Checked
design
Design
analysis
User
report
and
Referenced
designs
Checked
design Output
code
State machine models
z These model the behaviour of the system in
response to external and internal events
z They show the systemās responses to stimuli so
are often used for modelling real-time systems
z 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
z Statecharts are an integral part of the UML
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 19
Statecharts
z Allow the decomposition of a model into sub-
models (see following slide)
z A brief description of the actions is included
following the ādoā in each state
z Can be complemented by tables describing the
states and the stimuli
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 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
Operation
Door
open
Cancel
Semantic data models
z Used to describe the logical structure of data
processed by the system
z Entity-relation-attribute model sets out the
entities in the system, the relationships between
these entities and the entity attributes
z Widely used in database design. Can readily be
implemented using relational databases
z No specific notation provided in the UML but
objects and associations can be used
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 22
Software design semantic model
Design
name description C-date M-date
Link
name type
Node
name type links
has-links
1 n
Label
name text icon
has-labels has-labels
n
n
has-nodes is-a has-links
n
n 1
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 23
Object models
z Object models describe the system in terms of
object classes
z An object class is an abstraction over a set of
objects with common attributes and the services
(operations) provided by each object
z Various object models may be produced
- Inheritance models
- Aggregation models
- Interaction models
Object models
z Natural ways of reflecting the real-world entities
manipulated by the system
z More abstract entities are more difficult to model
using this approach
z Object class identification is recognised as a
difficult process requiring a deep understanding
of the application domain
z Object classes reflecting domain entities are
reusable across systems
User class hierarchy
Name
Address
Phone
Registration
Library user
Register ()
De-register ()
Affiliation
Reader
Items on loan
Max. loans
Borrower
Department
Department phone
Staff
Major subject
Home address
Student
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 29
Multiple inheritance
z Rather than inheriting the attributes and services
from a single parent class, a system which
supports multiple inheritance allows object
classes to inherit from several super-classes
z Can lead to semantic conflicts where
attributes/services with the same name in
different super-classes have different semantics
z Makes class hierarchy reorganisation more
complex
Multiple inheritance
# Tapes
Talking book
Author
Edition
Publication date
ISBN
Book
Speaker
Duration
Recording date
Voice recording
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 31
Object aggregation
z Aggregation model shows how classes which are
collections are composed of other classes
z Similar to the part-of relationship in semantic
data models
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 32
Object aggregation
Videotape
Tape ids.
Lecture
notes
Text
OHP slides
Slides
Assignment
Credits
Solutions
Text
Diagrams
Exercises
#Problems
Description
Course title
Number
Year
Instructor
Study pack
Object behaviour modelling
z A behavioural model shows the interactions
between objects to produce some particular
system behaviour that is specified as a use-case
z Sequence diagrams (or collaboration diagrams) in
the UML are used to model interaction between
objects
Analysis workbench components
z Diagram editors
z Model analysis and checking tools
z Repository and associated query language
z Data dictionary
z Report definition and generation tools
z Forms definition tools
z Import/export translators
z Code generation tools