OBJECT ORIENTED ANALYSIS
&
DESIGN USING UML
• Why do we model?
A model is a simplification at some level of abstraction
We build models to better understand the systems we are developing.
• To help us visualize
• To specify structure or behavior
• To provide template for building system
• To document decisions we have made
• Four basic principles of modeling
1. The models we choose have a profound influence on the solution
we provide
2. Every model may be expressed at different levels of abstraction
3. The best models are connected to reality
4. No single model is sufficient, a set of models is needed to solve any
nontrivial system
1. The models we choose have a profound influence on the solution
we provide
• In other words, choose your models well.
• The right models will brilliantly illuminate the most wicked
development problems, offering insight that you simply could not
gain otherwise; the wrong models will mislead you, causing you to
focus on irrelevant issues.
If you build a system through the eyes of a
• database developer, you will likely focus on entity-relationship
models that push behavior into triggers and stored procedures.
• structured analyst, you will likely end up with models that are
algorithmic-centric, with data flowing from process to process.
• an object-oriented developer, you'll end up with a system whose
architecture is centered around a sea of classes and the patterns of
interaction that direct how those classes work together.
2. Every model may be expressed at different levels of abstraction
• help your investors visualize its look and feel.
• an analyst or an end user will want to focus on issues of what
• a developer will want to focus on issues of how
3. The best models are connected to reality
• the Achilles heel (a weakness or vulnerable point) of structured
analysis techniques is the fact that there is a basic disconnect
between its analysis model and the system's design model.
• In object-oriented systems, it is possible to connect all the nearly
independent views of a system into one semantic whole.
4. No single model is sufficient, a set of models is needed to solve any
nontrivial system
• To understand the architecture of such a system, you need several
complementary and interlocking views:
• a use case view (exposing the requirements of the system),
• a design view (capturing the vocabulary of the problem space and
the solution space),
• an interaction view (showing the interactions among the parts of
the system and between the system and the environment),
• an implementation view (addressing the physical realization of the
system), and
• a deployment view (focusing on system engineering issues).
Each of these views may have structural, as well as behavioral, aspects.
Together, these views represent the blueprints of software.
Importance & Principles of Modeling from UML Designing

Importance & Principles of Modeling from UML Designing

  • 1.
  • 2.
    • Why dowe model? A model is a simplification at some level of abstraction We build models to better understand the systems we are developing. • To help us visualize • To specify structure or behavior • To provide template for building system • To document decisions we have made
  • 3.
    • Four basicprinciples of modeling 1. The models we choose have a profound influence on the solution we provide 2. Every model may be expressed at different levels of abstraction 3. The best models are connected to reality 4. No single model is sufficient, a set of models is needed to solve any nontrivial system
  • 4.
    1. The modelswe choose have a profound influence on the solution we provide • In other words, choose your models well. • The right models will brilliantly illuminate the most wicked development problems, offering insight that you simply could not gain otherwise; the wrong models will mislead you, causing you to focus on irrelevant issues.
  • 5.
    If you builda system through the eyes of a • database developer, you will likely focus on entity-relationship models that push behavior into triggers and stored procedures. • structured analyst, you will likely end up with models that are algorithmic-centric, with data flowing from process to process. • an object-oriented developer, you'll end up with a system whose architecture is centered around a sea of classes and the patterns of interaction that direct how those classes work together.
  • 6.
    2. Every modelmay be expressed at different levels of abstraction • help your investors visualize its look and feel. • an analyst or an end user will want to focus on issues of what • a developer will want to focus on issues of how
  • 7.
    3. The bestmodels are connected to reality • the Achilles heel (a weakness or vulnerable point) of structured analysis techniques is the fact that there is a basic disconnect between its analysis model and the system's design model. • In object-oriented systems, it is possible to connect all the nearly independent views of a system into one semantic whole.
  • 8.
    4. No singlemodel is sufficient, a set of models is needed to solve any nontrivial system • To understand the architecture of such a system, you need several complementary and interlocking views: • a use case view (exposing the requirements of the system), • a design view (capturing the vocabulary of the problem space and the solution space),
  • 9.
    • an interactionview (showing the interactions among the parts of the system and between the system and the environment), • an implementation view (addressing the physical realization of the system), and • a deployment view (focusing on system engineering issues). Each of these views may have structural, as well as behavioral, aspects. Together, these views represent the blueprints of software.