SlideShare a Scribd company logo
1 of 44
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1
Chapter 7
System Models
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 2
System models
 Abstract descriptions of systems whose
requirements are being analysed
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 3
Objectives
 To explain why the context of a system should
be modelled as part of the RE process
 To describe behavioural modelling, data
modelling and object modelling
 To introduce some of the notations used in the
Unified Modeling Language (UML)
 To show how CASE workbenches support
system modelling
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 4
Topics covered
 Context models
 Behavioural models
 Data models
 Object models
 CASE workbenches
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 5
System modelling
 System modelling helps the analyst to
understand the functionality of the system and
models are used to communicate with customers
 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 6
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 7
Method weaknesses
 They do not model non-functional system
requirements
 They do not usually include information about
whether a method is appropriate for a given
problem
 The may produce too much documentation
 The system models are sometimes too detailed
and difficult for users to understand
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 8
Model types
 Data processing model showing how the data is
processed at different stages
 Composition model showing how entities are
composed of other entities
 Architectural model showing principal sub-systems
 Classification model showing how entities have
common characteristics
 Stimulus/response model showing the system’s
reaction to events
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 9
Context models
 Context models are used to illustrate the
boundaries of a system
 Social and organisational concerns may affect
the decision on where to position system
boundaries
 Architectural models show the a system and its
relationship with other systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 10
The context of an ATM system
Auto-teller
system
Security
system
Maintenance
system
Account
database
Usage
database
Branch
accounting
system
Branch
counter
system
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 11
Process models
 Process models show the overall process and
the processes that are supported by the system
 Data flow models may be used to show the
processes and the flow of information from one
process to another
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 12
Equipment procurement process
Get cost
estimates
Accept
delivery of
equipment
Check
delivered
items
Validate
specification
Specify
equipment
required
Choose
supplier
Place
equipment
order
Install
equipment
Find
suppliers
Supplier
database
Accept
delivered
equipment
Equipment
database
Equipment
spec.
Checked
spec.
Delivery
note
Delivery
note
Order
notification
Installation
instructions
Installation
acceptance
Equipment
details
Checked and
signed order form
Order
details +
Blank order
form
Spec. +
supplier +
estimate
Supplier list
Equipment
spec.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 13
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
 Both of these models are required for a
description of the system’s behaviour
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 14
Data-processing models
 Data flow diagrams are used to model the
system’s data processing
 These show the processing steps as data flows
through a system
 Intrinsic part of many analysis methods
 Simple and intuitive notation that customers can
understand
 Show end-to-end processing of data
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 15
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 2000 Software Engineering, 6th edition. Chapter 7 Slide 16
Data flow diagrams
 DFDs model the system from a functional
perspective
 Tracking and documenting how the data
associated with a process is helpful to develop
an overall understanding of the system
 Data flow diagrams may also be used in showing
the data exchange between a system and other
systems in its environment
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 17
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
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 18
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
 Statecharts are an integral part of the UML
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 19
Microwave oven model
Full power
Enabled
do: operate
oven
Full
power
Half
power
Half
power
Full
power
Number
Timer
Door
open
Door
closed
Door
closed
Door
open
Start
do: set power
= 600
Half power
do: set power
= 300
Set time
do: get number
exit: 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 20
Microwave oven state
description
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 set 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 completion of
cooking, the buzzer is sounded for 5 seconds. Oven
light is on. Display shows ‘Cooking complete’ while
buzzer is sounding.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 21
Microwave oven stimuli
Stimulus Description
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 2000 Software Engineering, 6th edition. Chapter 7 Slide 22
Statecharts
 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 23
Microwave oven operation
Cook
do: run
generator
Done
do: buzzer on
for 5 secs.
W
aiting
Alarm
do: display
event
do: check
status
Checking
Turntable
fault
Emitter
fault
Disabled
OK
Timeout
Time
Operation
Door
open
Cancel
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 24
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 25
Software design semantic
model
Design
name
description
C-date
M-date
Link
name
type
Node
name
type
links
has-links
1
2
1 n
Label
name
text
icon
has-labels
has-labels
1
n
1
n
has-links
has-nodes is-a
1
n
1
n
1
1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 26
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 27
Data dictionary entries
Name Description Type Date
has-labels
1:N relation between entities of type Node or
Link and entities of type Label. Relation 5.10.1998
Label
Holds structured or unstructured information
about nodes or links. Labels are represented by
an icon (which can be a transparent box) and
associated text.
Entity 8.12.1998
Link
A 1:1 relation between design entities
represented as nodes. Links are typed and may
be named.
Relation 8.12.1998
name (label)
Each label has a name which identifies the type
of label. The name must be unique within the
set of label types used in a design.
Attribute 8.12.1998
name (node)
Each node has a name which must be unique
within a design. The name may be up to 64
characters long.
Attribute 15.11.1998
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 28
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 29
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 30
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 31
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 hierarchy
Catalogue number
Acquisition date
Cost
Type
Status
Number of copies
Library item
Acquire ()
Catalogue ()
Dispose ()
Issue ()
Return ()
Author
Edition
Publication date
ISBN
Book
Year
Issue
Magazine
Director
Date of release
Distributor
Film
Version
Platform
Computer
program
Title
Publisher
Published item
Title
Medium
Recorded item
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 2000 Software Engineering, 6th edition. Chapter 7 Slide 34
Multiple inheritance
 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
 Can lead to semantic conflicts where
attributes/services with the same name in
different super-classes have different semantics
 Makes class hierarchy reorganisation more
complex
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 35
Multiple inheritance
# Tapes
Talking book
Author
Edition
Publication date
ISBN
Book
Speaker
Duration
Recording date
Voice recording
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 36
Object aggregation
 Aggregation model shows how classes which
are collections are composed of other classes
 Similar to the part-of relationship in semantic
data models
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 37
Object aggregation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 38
Object behaviour modelling
 A behavioural model shows the interactions
between objects to produce some particular
system behaviour that is specified as a use-case
 Sequence diagrams (or collaboration diagrams)
in the UML are used to model interaction
between objects
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 39
Issue of electronic items
:Library User
Ecat:
Catalog
Lookup
Issue
Display
:Library Item Lib1:
NetServer
Issue licence
Accept licence
Compress
Deliver
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 40
CASE workbenches
 A coherent set of tools that is designed to
support related software process activities such
as analysis, design or testing
 Analysis and design workbenches support
system modelling during both requirements
engineering and system design
 These workbenches may support a specific
design method or may provide support for a
creating several different types of system model
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 41
An analysis and design
workbench
Central
information
repository
Code
generator
Query
language
facilities
Structured
diagramming
tools
Data
dictionary
Report
generation
facilities
Design, analysis
and checking
tools
Forms
creation
tools
Import/export
facilities
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 42
Analysis workbench components
 Diagram editors
 Model analysis and checking tools
 Repository and associated query language
 Data dictionary
 Report definition and generation tools
 Forms definition tools
 Import/export translators
 Code generation tools
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 43
Key points
 A model is an abstract system view. Complementary
types of model provide different system information
 Context models show the position of a system in its
environment with other systems and processes
 Data flow models may be used to model the data
processing in a system
 State machine models model the system’s behaviour
in response to internal or external events
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 44
Key points
 Semantic data models describe the logical
structure of data which is imported to or exported
by the systems
 Object models describe logical system entities,
their classification and aggregation
 Object models describe the logical system
entities and their classification and aggregation
 CASE workbenches support the development of
system models

More Related Content

Similar to ch07.ppt

07 - Design and Implementation.pptx
07 - Design and Implementation.pptx07 - Design and Implementation.pptx
07 - Design and Implementation.pptxssuser13a155
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system modelsAzhar Shaik
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11Siddharth Ayer
 
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptxdevnasra1
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software PrototypingZafar Ayub
 
IRJET- A Comprehensive Outline of the Types of Simulation
IRJET- A Comprehensive Outline of the Types of SimulationIRJET- A Comprehensive Outline of the Types of Simulation
IRJET- A Comprehensive Outline of the Types of SimulationIRJET Journal
 
IRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life CycleIRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life CycleIRJET Journal
 
Software Engineering - Ch12
Software Engineering - Ch12Software Engineering - Ch12
Software Engineering - Ch12Siddharth Ayer
 
IJSRED-V2I3P91
IJSRED-V2I3P91IJSRED-V2I3P91
IJSRED-V2I3P91IJSRED
 
IJSRED-V2I3P91
IJSRED-V2I3P91IJSRED-V2I3P91
IJSRED-V2I3P91IJSRED
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7mohammad hossein Jalili
 
IRJET- Modelling and Control of Variable Frequency Drive using PLC and Ma...
IRJET-  	  Modelling and Control of Variable Frequency Drive using PLC and Ma...IRJET-  	  Modelling and Control of Variable Frequency Drive using PLC and Ma...
IRJET- Modelling and Control of Variable Frequency Drive using PLC and Ma...IRJET Journal
 
about how software prototyping helps in SDLC
about how software prototyping helps in SDLCabout how software prototyping helps in SDLC
about how software prototyping helps in SDLCshettyplacement08
 

Similar to ch07.ppt (20)

Ch11
Ch11Ch11
Ch11
 
UML1
UML1UML1
UML1
 
SYSTEM ENGINEERING
SYSTEM ENGINEERINGSYSTEM ENGINEERING
SYSTEM ENGINEERING
 
07 - Design and Implementation.pptx
07 - Design and Implementation.pptx07 - Design and Implementation.pptx
07 - Design and Implementation.pptx
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system models
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11
 
SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptx
 
ch28-software-reengineering.ppt
ch28-software-reengineering.pptch28-software-reengineering.ppt
ch28-software-reengineering.ppt
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Ch07
Ch07Ch07
Ch07
 
IRJET- A Comprehensive Outline of the Types of Simulation
IRJET- A Comprehensive Outline of the Types of SimulationIRJET- A Comprehensive Outline of the Types of Simulation
IRJET- A Comprehensive Outline of the Types of Simulation
 
IRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life CycleIRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
 
Ch7
Ch7Ch7
Ch7
 
Ch7
Ch7Ch7
Ch7
 
Software Engineering - Ch12
Software Engineering - Ch12Software Engineering - Ch12
Software Engineering - Ch12
 
IJSRED-V2I3P91
IJSRED-V2I3P91IJSRED-V2I3P91
IJSRED-V2I3P91
 
IJSRED-V2I3P91
IJSRED-V2I3P91IJSRED-V2I3P91
IJSRED-V2I3P91
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
IRJET- Modelling and Control of Variable Frequency Drive using PLC and Ma...
IRJET-  	  Modelling and Control of Variable Frequency Drive using PLC and Ma...IRJET-  	  Modelling and Control of Variable Frequency Drive using PLC and Ma...
IRJET- Modelling and Control of Variable Frequency Drive using PLC and Ma...
 
about how software prototyping helps in SDLC
about how software prototyping helps in SDLCabout how software prototyping helps in SDLC
about how software prototyping helps in SDLC
 

Recently uploaded

GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 

Recently uploaded (20)

GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 

ch07.ppt

  • 1. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models
  • 2. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 2 System models  Abstract descriptions of systems whose requirements are being analysed
  • 3. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 3 Objectives  To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling  To introduce some of the notations used in the Unified Modeling Language (UML)  To show how CASE workbenches support system modelling
  • 4. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 4 Topics covered  Context models  Behavioural models  Data models  Object models  CASE workbenches
  • 5. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 5 System modelling  System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers  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
  • 6. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 6 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
  • 7. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 7 Method weaknesses  They do not model non-functional system requirements  They do not usually include information about whether a method is appropriate for a given problem  The may produce too much documentation  The system models are sometimes too detailed and difficult for users to understand
  • 8. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 8 Model types  Data processing model showing how the data is processed at different stages  Composition model showing how entities are composed of other entities  Architectural model showing principal sub-systems  Classification model showing how entities have common characteristics  Stimulus/response model showing the system’s reaction to events
  • 9. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 9 Context models  Context models are used to illustrate the boundaries of a system  Social and organisational concerns may affect the decision on where to position system boundaries  Architectural models show the a system and its relationship with other systems
  • 10. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 10 The context of an ATM system Auto-teller system Security system Maintenance system Account database Usage database Branch accounting system Branch counter system
  • 11. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 11 Process models  Process models show the overall process and the processes that are supported by the system  Data flow models may be used to show the processes and the flow of information from one process to another
  • 12. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 12 Equipment procurement process Get cost estimates Accept delivery of equipment Check delivered items Validate specification Specify equipment required Choose supplier Place equipment order Install equipment Find suppliers Supplier database Accept delivered equipment Equipment database Equipment spec. Checked spec. Delivery note Delivery note Order notification Installation instructions Installation acceptance Equipment details Checked and signed order form Order details + Blank order form Spec. + supplier + estimate Supplier list Equipment spec.
  • 13. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 13 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  Both of these models are required for a description of the system’s behaviour
  • 14. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 14 Data-processing models  Data flow diagrams are used to model the system’s data processing  These show the processing steps as data flows through a system  Intrinsic part of many analysis methods  Simple and intuitive notation that customers can understand  Show end-to-end processing of data
  • 15. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 15 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
  • 16. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 16 Data flow diagrams  DFDs model the system from a functional perspective  Tracking and documenting how the data associated with a process is helpful to develop an overall understanding of the system  Data flow diagrams may also be used in showing the data exchange between a system and other systems in its environment
  • 17. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 17 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
  • 18. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 18 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  Statecharts are an integral part of the UML
  • 19. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 19 Microwave oven model Full power Enabled do: operate oven Full power Half power Half power Full power Number Timer Door open Door closed Door closed Door open Start do: set power = 600 Half power do: set power = 300 Set time do: get number exit: set time Disabled Operation Timer Cancel Waiting do: display time Waiting do: display time do: display 'Ready' do: display 'Waiting'
  • 20. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 20 Microwave oven state description 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 set 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 completion of cooking, the buzzer is sounded for 5 seconds. Oven light is on. Display shows ‘Cooking complete’ while buzzer is sounding.
  • 21. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 21 Microwave oven stimuli Stimulus Description 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
  • 22. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 22 Statecharts  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
  • 23. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 23 Microwave oven operation Cook do: run generator Done do: buzzer on for 5 secs. W aiting Alarm do: display event do: check status Checking Turntable fault Emitter fault Disabled OK Timeout Time Operation Door open Cancel
  • 24. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 24 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
  • 25. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 25 Software design semantic model Design name description C-date M-date Link name type Node name type links has-links 1 2 1 n Label name text icon has-labels has-labels 1 n 1 n has-links has-nodes is-a 1 n 1 n 1 1
  • 26. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 26 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
  • 27. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 27 Data dictionary entries Name Description Type Date has-labels 1:N relation between entities of type Node or Link and entities of type Label. Relation 5.10.1998 Label Holds structured or unstructured information about nodes or links. Labels are represented by an icon (which can be a transparent box) and associated text. Entity 8.12.1998 Link A 1:1 relation between design entities represented as nodes. Links are typed and may be named. Relation 8.12.1998 name (label) Each label has a name which identifies the type of label. The name must be unique within the set of label types used in a design. Attribute 8.12.1998 name (node) Each node has a name which must be unique within a design. The name may be up to 64 characters long. Attribute 15.11.1998
  • 28. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 28 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
  • 29. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 29 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
  • 30. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 30 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
  • 31. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 31 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
  • 32. Library class hierarchy Catalogue number Acquisition date Cost Type Status Number of copies Library item Acquire () Catalogue () Dispose () Issue () Return () Author Edition Publication date ISBN Book Year Issue Magazine Director Date of release Distributor Film Version Platform Computer program Title Publisher Published item Title Medium Recorded item
  • 33. 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
  • 34. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 34 Multiple inheritance  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  Can lead to semantic conflicts where attributes/services with the same name in different super-classes have different semantics  Makes class hierarchy reorganisation more complex
  • 35. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 35 Multiple inheritance # Tapes Talking book Author Edition Publication date ISBN Book Speaker Duration Recording date Voice recording
  • 36. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 36 Object aggregation  Aggregation model shows how classes which are collections are composed of other classes  Similar to the part-of relationship in semantic data models
  • 37. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 37 Object aggregation
  • 38. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 38 Object behaviour modelling  A behavioural model shows the interactions between objects to produce some particular system behaviour that is specified as a use-case  Sequence diagrams (or collaboration diagrams) in the UML are used to model interaction between objects
  • 39. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 39 Issue of electronic items :Library User Ecat: Catalog Lookup Issue Display :Library Item Lib1: NetServer Issue licence Accept licence Compress Deliver
  • 40. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 40 CASE workbenches  A coherent set of tools that is designed to support related software process activities such as analysis, design or testing  Analysis and design workbenches support system modelling during both requirements engineering and system design  These workbenches may support a specific design method or may provide support for a creating several different types of system model
  • 41. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 41 An analysis and design workbench Central information repository Code generator Query language facilities Structured diagramming tools Data dictionary Report generation facilities Design, analysis and checking tools Forms creation tools Import/export facilities
  • 42. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 42 Analysis workbench components  Diagram editors  Model analysis and checking tools  Repository and associated query language  Data dictionary  Report definition and generation tools  Forms definition tools  Import/export translators  Code generation tools
  • 43. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 43 Key points  A model is an abstract system view. Complementary types of model provide different system information  Context models show the position of a system in its environment with other systems and processes  Data flow models may be used to model the data processing in a system  State machine models model the system’s behaviour in response to internal or external events
  • 44. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 44 Key points  Semantic data models describe the logical structure of data which is imported to or exported by the systems  Object models describe logical system entities, their classification and aggregation  Object models describe the logical system entities and their classification and aggregation  CASE workbenches support the development of system models