1 / 35

Principles of Object Technology Module 1: Principles of Modeling

Principles of Object Technology Module 1: Principles of Modeling. Objectives: Principles of Modeling. Understand the importance of visual modeling. Define the four principles of visual modeling. Explain what the Unified Modeling Language (UML) represents.

tait
Télécharger la présentation

Principles of Object Technology Module 1: Principles of Modeling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Principles of Object TechnologyModule 1: Principles of Modeling

  2. Objectives: Principles of Modeling • Understand the importance of visual modeling. • Define the four principles of visual modeling. • Explain what the Unified Modeling Language (UML) represents. • Define the type process that best relates to the UML. • Understand the structure of the Rational Unified Process (RUP).

  3. Where Are We? • What is modeling? • Four principles of visual modeling • The UML • Process and visual modeling • The Rational Unified Process (RUP)

  4. The Importance of Modeling Less Important More Important Paper Airplane F-15 Fighter Jet

  5. Software Teams Often Do Not Model • Many software teams build F-15 fighter jets approaching the problem like they were building paper airplanes. • Start coding from project requirements • Work longer hours and create more code • Lack of any planned architecture • Most of these projects fail • A common thread to successful projects is modeling.

  6. What Is a Model? • A model is a simplification of reality.

  7. Why Do We Model? • We build models to better understand the system we are developing. • Modeling achieves four aims. Modeling • Helps us to visualize a system as we want it to be. • Permits us to specify the structure or behavior of a system. • Gives us a template that guides us in constructing a system. • Documents the decisions we have made. • We build models of complex systems because we cannot comprehend such a system in its entirety.

  8. Where Are We? • What is modeling? • Four principles of visual modeling • The UML • Process and visual modeling • The Rational Unified Process (RUP)

  9. 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.

  10. 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. Design Model Deployment Diagram Process Model

  11. Principle 2: Levels of Precision May Differ • Every model may be expressed at different levels of precision. • The best kinds of models are those that let you choose your degree of detail, depending on who is doing the viewing and why they need to view it.

  12. Principle 3: The Best Models Are Connected to Reality • The best models are connected to reality. • All models simplify reality. • A good model will reflect potentially fatal characteristics.

  13. Principle 4: No Single Model Is Sufficient • No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models. • Create models that can be built and studied separately, but that are still interrelated.

  14. Where Are We? • What is modeling? • Four principles of visual modeling • The UML • Process and visual modeling • The Rational Unified Process (RUP)

  15. What Is the UML? • The UML is a language for • Visualizing • Specifying • Constructing • Documenting the artifacts of a software-intensive system.

  16. The UML Is a Language for Visualizing • Communicating conceptual models to others is prone to error unless everyone involved speaks the same language. • There are things about a software system you can’t understand unless you build models. • An explicit model facilitates communication.

  17. The UML Is a Language for Specifying • The UML allows the building of models that are precise, unambiguous, and complete.

  18. The UML Is a Language for Constructing • UML models can be directly connected to a variety of programming languages. • Maps to Java, C++, Visual Basic, and so on • Tables in a RDBMS or persistent store in an OODBMS • Permits forward engineering • Permits reverse engineering

  19. The UML Is a Language for Documenting • The UML addresses documentation of system architecture, requirements, tests, project planning, and release management.

  20. History of the UML

  21. Inputs to the UML Booch Rumbaugh Jacobson Fusion Fusion Meyer Meyer Operation descriptions, Operation descriptions, Before and after Before and after Message numbering Message numbering conditions conditions Embley Embley Harel Harel Singleton classes, Singleton classes, State charts State charts High High - - level view level view Gamma, et.al Gamma, et.al Wirfs Wirfs - - Brock Brock Frameworks, patterns, Frameworks, patterns, Responsibilities Responsibilities Odell Odell notes notes Shlaer Shlaer - - Mellor Mellor Classification Classification Object Lifecycles Object Lifecycles

  22. Where Are We? • What is modeling? • Four principles of visual modeling • The UML • Process and visual modeling • The Rational Unified Process (RUP)

  23. A Language Is Not Enough to Build a System

  24. What Type of Process Most Benefits the UML? • The UML is largely process independent. However, to get the most benefit from the UML, you should consider a process that is • Use-case driven. • Architecture-centric. • Iterative and incremental.

  25. Check Balance Check Balance Customer Customer Withdraw Money Withdraw Money A Use-Case Driven Process • Use cases defined for a system are the basis for the entire development process. • Benefits • Use cases are concise, simple, and understandable by a wide range of stakeholders. • Use cases help synchronize the content of different models.

  26. An Architecture-Centric Process • A system’s architecture is used as a primary artifact for conceptualizing, constructing, managing, and evolving the system under development. • Benefits • You gain and retain intellectual control over a project to manage its complexity and to maintain system integrity. • It provides an effective basis for large-scale reuse. • It provides a basis for project management. • It helps with component-based development.

  27. An Iterative and Incremental Process • Critical risks are resolved before making large investments. • Initial iterations enable early user feedback. • Testing and integration are continuous. • Objective milestones focus on the short term. • Progress is measured by assessing implementations. • Partial implementations can be deployed.

  28. Iteration 1 Iteration 2 Iteration 3 R R R D D D C C C I I I T T T T I M E Iterative and Incremental Development • Earliest iterations address greatest risks. • Each iteration produces an executable release, an additional increment of the system. • Each iteration includes integration and test.

  29. Where Are We? • What is modeling? • Four principles of visual modeling • The UML • Process and visual modeling • The Rational Unified Process (RUP)

  30. Introducing the Rational Unified Process (RUP) • The Rational Unified Process is • Use-case driven. • Architecture-centric. • Iterative and incremental.

  31. time time Process Structure: Lifecycle Phases The Rational Unified Process has four phases • Inception- Define the scope of project. • Elaboration - Plan project, specify features, baseline architecture. • Construction- Build the product. • Transition- Transition the product to end user. Inception Elaboration Construction Transition Inception Elaboration Construction Transition

  32. time Lifecycle Lifecycle Lifecycle Lifecycle Initial Operational Initial Operational Product Product Objective Objective Architecture Architecture Capability Capability Release Release Milestone Milestone Milestone Milestone Milestone Milestone Phase Boundaries Mark Major Milestones Inception Inception Elaboration Elaboration Construction Construction Transition Transition Inception Inception Elaboration Elaboration Construction Construction Transition Transition

  33. Inception Inception Elaboration Elaboration Construction Construction Transition Transition Inception Inception Elaboration Elaboration Construction Construction Transition Transition Preliminary Preliminary Architect. Architect. Architect. Architect. Devel. Devel. Devel. Devel. Devel. Devel. Transition Transition Transition Transition Preliminary Preliminary Architect. Architect. Architect. Architect. Devel. Devel. Devel. Devel. Devel. Devel. Transition Transition Transition Transition Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Minor Milestones: Releases Iterations and Phases An iteration is a distinct sequence of activities based on an established plan and evaluation criteria, resulting in an executable release (internal or external).

  34. Bringing It All Together: The Iterative Approach In an iteration, you walk through all workflows Phases Process Workflows Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Workflows group activities logically Implementation Test Deployment Configuration & Change Mgmt Project Management Environment Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter. Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 Iterations

  35. Checkpoints • What is a model? • What are the four principles of modeling? Describe each one. • What is the UML? Describe each of its four benefits. • What process characteristics best fit the UML? Describe each characteristic. • What are the four phases of the Rational Unified Process? Describe each one. • What is an iteration? What is a phase?

More Related