Title: Sommerville
1Sommerville
2Kap 8 System models
- Goal
- Document the system's functionality
- Understand the system's functionality
- Communicate with users
- Static system aspects
- Context models
- Data models
- Object models
- Dynamic system aspects
- Behavioural models
- Structured development methods
- CASE tools
3System models
- About each model type
- What a model type can represent
- Strengths
- Weaknesses
- Different models show different system
perspectives - Context model the systems relationship to its
surroundings - Behavioural models the system processes (how
the system behaves) and how the system parts
work together - Data models the data / entities in the system
- Architectural models the subsystem structure
4Model types
- Data processing
- How data is processed at different places the
system - Domain
- How entities are composed and related
- Architecture
- System components and the relationships between
them - Classification
- A hierarchical organisation of entities with
common properties - Stimulus/response
- The system's response to events / messages
5Context and architectural model
- Context models show the context in which the
system operates - System borders
- What is inside and what is outside the system
borders - What is covered by the system and what is not
- Architecture models show the system's main
components and how they cooperate - Internal components within the system borders
- External components outside the system borders
6Context model ATM
System border
7Process model
- Shows the most important system processes
- Main processes
- Supporting processes
- Dataflow models - flow of data between processes
- Input
- Output (result)
- State models - how the system reacts to different
messages / stimuli - States
- Stimulus (event)
- State transitions
- Dataflow and state models show different
perspectives
8Dataflow model
- Dataflow diagram (DFD) can be used to model how
data is processed in the system - A DFD shows
- Data elements
- Data store
- Processes
- How data flows through the system
- Which processing steps are happening in which
order - Input to and output from each process
- UML
- Activity diagram
9Dataflow diagram Procurement
Data element
Process
Data store
10Dataflow diagram Insulin pump
11Dataflow diagram - properties
- Models the system's functions
- Showing and documenting the relationships between
the system data and system processes - Gives a good understanding of the system
- Can also be used to show dataflow towards
external modules - outside the system borders - Used in many different system analysis models
- Simple, intuitive, easy to understand
- Can show data processing from beginning to end
12State model
- A state model shows how (parts of) the system
react(s) to internal or external messages /
stimuli - A state machine is a graph
- Node state ( action done when the state is
reached) - Edge state transition
- Label on edge Stimulus (event) to initiate the
transition - An event creates a state transition defined by
the graph - A state can have sub-states
- UML
- State diagram
13State diagram Microwave oven
State
Action
State transition
14State description - Microwave oven
15Stimulus description - Microwave oven
16Substate Microwave oven
17Semantic data model
- A semantic data model describes the logical
structure of the data processed by the system - Frequently used in database design
- Easy to implement as a relational schema
- Most important constructs
- Entity
- Attribute
- Association (relationship)
- Generalisation, aggregation
- Concept definitions - Glossary
- Diagram
- Entity-Relationship (ER) diagram
- UML Class diagram
18Semantic data model - LIBSYS
19Glossary
- Definition of all concepts used in the system
models - Describes the meaning of each
- Entity
- Attribute
- Association
-
- Benefits
- Complete definition of all concepts in one place
- Highlights use of duplicate concepts (synonyms)
- Can be used in all parts of the development
process - Simplifies training of new personnel
20Glossary LIBSYS
21Object oriented models
- Describes a system using classes, operations,
class cooperation and behaviour - Extension of the Entity-Relationship model
- Class Entity
- Can model different aspects of data / entities
- Generalisation hierarchy
- Composite data types / Aggregation
- Object behaviour
- Operations (methods)
- Can model different aspect of the system
- Domain model / Design model
- Interaction between objects (user / system /
classes)
22Generalisation hierarchy
- Extracting common properties between classes into
common superclasses - Can build a hierarchy of super- and subclasses
- Inheritance A subclass inherits alle the
properties of its superclass - Attributes
- Operations
- Associations
- UML
- Class diagram
- Inheritance
23UML Class hierarchy LIBSYS (1)
24UML Class hierarchy LIBSYS (2)
25Multiple Inheritance - LIBSYS
26Aggregation E.g. Course
27Object behaviour models
- Showing how objects / modules / actors cooperate
in the system - Can be used at many levels
- User dialogue
- Communication / cooperation between modules
- Communication / cooperation between classes
program logic - UML
- Sequence diagram
- Cooperation diagram
- Activity diagram
28Sequence diagram User dialogue
29Structured development models
- Systematic process models for system development
- Describes a process to develop systems
- Guidelines to the contents of a good development
model - Many different models have been developed
- Started in the 1970s
- Some important models
- Structured Analysis and Design Method
- SSADM, Yourdon, Jackson (JSD)
- Object Oriented Analyse and Design
- Jacobson (OOSE), Rumbaugh (OMT), Booch
- Unified Process
- Collection of the best elements from many models
30Structured development models - disadvantages
- Only covers functional requirements not
non-functional requirements - Some require producing a lot of documentation
- Models can be hard for users to understand
- A lot of detail
- Difficult notation
- Reaction 1990s
- Agile development methods
- XP
31CASE tools
- Computer tools to support the development process
- Requirement specification
- Analysis
- Design
- Implementation
- Testing
- Version control
- Reverse engineering
- Often focused towards a particular analysis
method - Supplier company - example
- IBM Rational
32Analysis and design tools
33System models Summary (1)
- A model is an abstraction describing one aspect
of a system - Different models describe different aspects
- Static aspects
- Dynamic aspects
34System models Summary (2)
- Context and structure models
- How the system relates to its surrounding
environment external systems and processes - How the system is composed from (smaller)
components - Data models
- Which data are used in the system and how they
are structured - Semantic data models constraints and logical
relationships between data element - Object models
- entities, classification, aggregation, cooperation
35System models Summary (3)
- Process models
- Which processes take place in the system
- Dataflow models - how data is flowing through
and being processed in the system - State models - how the system reacts to internal
and external events / stimuli - Sequence models - Interaction between actors and
modules in the system - Structured development models is a framework for
how to develop system models