Object Oriented Development
with Java
(CT038-3-2)
Principles of Visual Modeling
System Modeling
Prepared by: Lee Kim Keong First Prepared on: June 13 Last Modified on: April 19
Quality checked by: null
Copyright 2019 Asia Pacific University of Innovation and Technology
Learning outcome
• At the end of this lesson, you will be able
to
– Describe the importance of visual modeling
and the role of model drive architecture
– Define four principles of visual modeling
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
What Is a Model?
• A model is a simplification of reality.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Why Model?
• Modeling achieves four aims:
– Helps you to visualize a system as you want it
to be.
– Permits you to specify the structure or
behavior of a system.
– Gives you a template that guides you in
constructing a system.
– Documents the decisions you have made.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Cont’d
• You build models of complex systems
because you cannot comprehend such a
system in its entirety.
• You build models to better understand the
system you are developing.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
The Importance of Modeling
Less Important More Important
Paper Airplane Fighter Jet
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Software Teams Often Do Not
Model
• Many software teams build applications
approaching the problem like they were
building paper airplanes
– Start coding from project requirements
– Work longer hours and create more code
– Lacks any planned architecture
– Doomed to failure
• Modeling is a common thread to
successful projects
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Model Driven Architecture (MDA)
• An approach to using models in software
development
– Separate the specification of the operation of a
system from the details of the way that system
uses the capabilities of its platform.
• specifying a system independently of the platform
that supports it
• specifying platforms
• choosing a particular platform for the system
• transforming the system specification into one for a
particular platform
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Four Principles of Modeling
• The model you create influences how the
problem is attacked.
• Every model may be expressed at
different levels of precision.
• The best models are connected to reality.
• No single model is sufficient.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Principle 1: The Choice of
Model is Important
• The models you create profoundly
influence how a problem is attacked and
how a solution is shaped.
– In software, the models you choose greatly
affect your world view.
– Each world view leads to a different kind of
system.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Principle 2: Levels of Precision
May Differ
• Every model may be expressed at
different levels of precision.
– The best kinds of models let you choose your
degree of detail, depending on:
• Who is viewing the model.
• Why they need to view it.
View for Customers View for Designers
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Principle 3: The Best Models Are
Connected to Reality
• All models simplify reality.
• A good model reflects potentially fatal
characteristics.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Principle 4: No Single Model Is
Sufficient
• No single model is sufficient. Every non-
trivial system is best approached through
a small set of nearly independent models.
– Create models that can be built and studied
separately, but are still interrelated.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Review
• What is a model?
• What are the viewpoints of MDA?
Describe each one.
• What are the four principles of modeling?
Describe each one.
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling
Q&A
CT038-3-2 Object Oriented Development with Java Principle Visual Modeling