1/61
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
System modeling
is the process of developing abstract
models of a system, with each model presenting a
different view or perspective of that system.
System modeling
representing a
system using some kind of graphical notation, which is
now almost always based on notations in the Unified
Modeling Language (UML).
System modelling
helps the analyst to understand the
functionality of the system and models are used to
communicate with customers.
Models of the existing system
are used during requirements
engineering. They help clarify what the existing system does
and can be used as a basis for discussing its strengths and
weaknesses. These then lead to requirements for the new
system.
An external perspective
where you model the context or
environment of the system.
An interaction perspective
where you model the
interactions between a system and its environment, or
between the components of a system.
A structural perspective
where you model the
organization of a system or the structure of the data that
is processed by the system.
A behavioral perspective
where you model the dynamic
behavior of the system and how it responds to events.
Activity diagrams
which show the activities involved in a
process or in data processing .
Use case diagrams
which show the interactions
between a system and its environment.
Sequence diagrams
which show interactions between
actors and the system and between system components.
Class diagrams
which show the object classes in the
system and the associations between these classes.
State diagrams
which show how the system reacts to
internal and external events.
True
Incomplete and incorrect models are OK as their role is to
support discussion.
T/F
False
Models should be an accurate representation of the system but
needs to be complete.
T/F
True
Models have to be both correct and complete.
T/F
Context models
are used to illustrate the operational
context of a system - they show what lies outside the
system boundaries.
System boundaries
are established to define what is
inside and what is outside the system.
True
Context models simply show the other systems in the
environment, not how the system being developed is
used in that environment.
T/F
Process models
reveal how the system being developed
is used in broader business processes.
TRUE
Modeling user interaction is important as it helps to
identify user requirements.
T/F
False
Modeling system-to-system interaction can not highlights the
communication problems that may arise.
Modeling component interaction
helps us understand if a
proposed system structure is likely to deliver the required
system performance and dependability.
Use case diagrams and sequence diagrams
_____ and _____ may be
used for interaction modeling.
use case
represents a discrete task that involves
external interaction with a system.
Use Case Modeling
Represented diagramatically to provide an overview of
the use case and in a more detailed textual form.
Sequence diagrams
are part of the UML and are used to
model the interactions between the actors and the
objects within a system.
A sequence diagram
shows the sequence of interactions
that take place during a particular use case or use case
instance.
Structural models of software
display the organization of
a system in terms of the components that make up that
system and their relationships.
Structural models
may be static models, which show the
structure of the system design, or dynamic models,
which show the organization of the system when it is
executing.
Class diagrams
are used when developing an
object-oriented system model to show the classes in a
system and the associations between these classes.
An association
is a link between classes that indicates
that there is some relationship between these classes.
Generalization
is an everyday technique that we use to
manage complexity.
Generalization
Rather than learn the detailed characteristics of every
entity that we experience, we place these entities in
more general classes (animals, cars, houses, etc.) and
learn the characteristics of these classes.
generalization
In object-oriented languages, such as Java, ____ is
implemented using the class inheritance mechanisms built into
the language.
In a generalization
the attributes and operations associated with
higher-level classes are also associated with the lower-level
classes.
An aggregation model
shows how classes that are
collections are composed of other classes.
Aggregation models
are similar to the part-of relationship
in semantic data models.
Behavioral models
are models of the dynamic behavior
of a system as it is executing. They show what happens
or what is supposed to happen when a system responds
to a stimulus from its environment.
Data Driven Modeling
Many business systems are data-processing systems
that are primarily driven by data. They are controlled by
the data input to the system, with relatively little external
event processing
Data-driven models
show the sequence of actions
involved in processing input data and generating an
associated output.
Data-driven models
They are particularly useful during the analysis of
requirements as they can be used to show end-to-end
processing in a system.
Event Driven Modeling
Real-time systems are often event-driven, with minimal
data processing. For example, a landline phone
switching system responds to events such as ‘receiver
off hook’ by generating a dial tone.
Event-driven modeling
shows how a system responds to
external and internal events.
Event Driven Modeling
It is based on the assumption that a system has a finite
number of states and that events (stimuli) may cause a
transition from one state to another.
State machine models
These model the behaviour of the system in response to
external and internal events.
State machine models
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.
Model-driven engineering (MDE)
is an approach to
software development where models rather than
programs are the principal outputs of the development
process.
Model-driven engineering (MDE)
The programs that execute on a hardware/software
platform are then generated automatically from the
models.
model-driven engineering
Pros
Allows systems to be considered at higher levels of abstraction
Generating code automatically means that it is cheaper to adapt
systems to new platforms.
model-driven engineering
Cons
Models for abstraction and not necessarily right for
implementation.
Savings from generating code may be outweighed by the costs
of developing translators for new platforms.
Model-driven architecture (MDA)
was the precursor of
more general model-driven engineering
Model-driven architecture MDA
is a model-focused approach to software design
and implementation that uses a subset of UML models to
describe a system.
Model-driven architecture MDA
Models at different levels of abstraction are created.
From a high-level, platform independent model, it is
possible, in principle, to generate a working program
without manual intervention.
A computation independent model (CIM)
These model the important domain abstractions used in a
system. CIMs are sometimes called domain models.
A platform independent model (PIM)
These model the operation of the system without reference to its
implementation. The ___ is usually described using UML models
that show the static system structure and how it responds to
external and internal events.
Platform specific models (PSM)
These are transformations of the platform-independent model
with a separate PSM for each application platform. In principle,
there may be layers of PSM, with each layer adding some
platform-specific detail.
Agile methods and MDA
The developers of MDA claim that it is intended to
support an iterative approach to development and so can
be used within agile methods.
Executable UML or xUML.
The fundamental notion behind model-driven
engineering is that completely automated transformation
of models to code should be possible.
This is possible using a subset of UML 2, called
_____