Se 08
Se 08
Se 08
System Models
Stan Kurkovsky
Objectives
To explain why the context of a system should be modeled as part of the
RE process
To describe behavioral modeling, data modeling and object modeling
modeling
To introduce some of the notations used in the Unified Modeling
Language (UML)
To show how CASE workbenches support system modeling
Stan Kurkovsky
System modeling
System modeling helps the analyst to understand the functionality
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
systems context or environment
Behavioral perspective showing the behavior of the system
Structural perspective showing the system or data architecture
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 subsub-systems
Classification model showing how entities have common characteristics
Stimulus/response model showing the system
systems reaction to events
Stan Kurkovsky
Context models
Context models are used to illustrate the operational context of a system
- they show what lies outside the system boundaries.
Social and organizational concerns may affect the decision on where
where to
position system boundaries.
Architectural models show the system and its relationship with other
other
systems.
Stan Kurkovsky
Process models
Process models show the overall process and the processes that are
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.
Stan Kurkovsky
Behavioral models
Behavioral models are used to describe the overall behavior of a system.
Two types of behavioral model are:
Data processing models that show how data is processed as it moves
moves through
the system;
State machine models that show the systems response to events.
s
behavior.
system
Stan Kurkovsky
DataData-processing models
Data flow diagrams (DFDs) may be used to model the system
systems data
processing.
These show the processing steps as data flows through a system.
DFDs are an intrinsic part of many analysis methods.
Simple and intuitive notation that customers can understand.
Show endend-toto-end processing
of data.
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.
Stan Kurkovsky
An integral part of the UML and are used to represent state machine
machine models.
Allow the decomposition of a model into subsub-models (see following slide).
A brief description of the actions is included following the do
do in each state.
Can be complemented by tables describing the states and the stimuli.
stimuli.
Stan Kurkovsky
Stan Kurkovsky
Stan Kurkovsky
Data dictionaries
Data dictionaries are lists of all of the names used in the system
system models.
Descriptions of the entities, relationships and attributes are also
also included.
Advantages
Support name management and avoid duplication;
Store of organizational knowledge linking analysis, design and
implementation;
Name
Article
authors
Buyer
fee-payable-to
Address
(Buyer)
Description
Details of the published article that may be ordered by people using LIBSYS.
The names of the authors of the article who may be due a share of the fee.
The person or organisation that orders a copy of the article.
Type
Date
Entity
30.12.2002
Attribute
30.12.2002
Entity
30.12.2002
A 1:1 relationship between Article and the Copyright Agency who should be
Relation
paid the copyright fee.
29.12.2002
The address of the buyer. This is used to any paper billing information that is
Attribute
required.
31.12.2002
Stan Kurkovsky
Object models
Object models describe the system in terms of object classes and their
associations.
An object class is an abstraction over a set of objects with common
common
attributes and the services (operations) provided by each object.
object.
Various object models may be produced
Inheritance models;
Aggregation models;
Interaction models.
Stan Kurkovsky
Inheritance models
Organize 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
supersuper-classes. these may then be specialized as necessary.
Class hierarchy design can be a difficult process if duplication in different
branches is to be avoided.
Stan Kurkovsky
Stan Kurkovsky
Stan Kurkovsky
Multiple inheritance
Rather than inheriting the attributes and services from a single parent
class, a system which supports multiple inheritance allows object
object classes
to inherit from several supersuper-classes.
This can lead to semantic conflicts where attributes/services with
with the
same name in different supersuper-classes have different semantics.
Multiple inheritance makes class hierarchy reorganization more complex.
complex.
Book
Voice recording
Author
Edition
Publication date
ISBN
Speaker
Duration
Recording date
Talking book
# Tapes
Stan Kurkovsky
Object aggregation
An aggregation model shows how classes that are collections are
composed of other classes.
Aggregation models are similar to the partpart-of relationship in semantic
data models.
Stan Kurkovsky
Stan Kurkovsky
Structured methods
Structured methods incorporate system modeling as an inherent part
part of
the method.
Methods define a set of models, a process for deriving these models
models and
rules and guidelines that should apply to the models.
CASE tools support system modeling as part of a structured method.
method.
Weaknesses
They do not model nonnon-functional system requirements.
They do not usually include information about whether a method is
is
appropriate for a given problem.
The may produce too much documentation.
The system models are sometimes too detailed and difficult for users
users to
understand.
Stan Kurkovsky
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 modeling 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.
Workbench components
Diagram editors
Model analysis and checking tools
Repository and associated query
language
Data dictionary
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.
system.
State machine models model the system
systems behavior in response to
internal or external events
Semantic data models describe the logical structure of data which
which is
imported to or exported by the systems.
Object models describe logical system entities, their classification
classification and
aggregation.
Sequence models show the interactions between actors and the system
system
objects that they use.
Structured methods provide a framework for developing system models.
models.
Stan Kurkovsky