Principles of Object Technology Module 1: Principles of Modeling.

Slides:



Advertisements
Similar presentations
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
Advertisements

CS487 Software Engineering Omar Aldawud
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
PRJ270: Essentials of Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Unified Modeling (Part I) Overview of UML & Modeling
Rational Worldwide Software Symposium
Fundamentals of Visual Modeling with UML Module 2: Principles of Visual Modeling.
Iterative development and The Unified process
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Object Oriented Analysis and Design Using the UML
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
IS0514 Lecture - Week 2 Best Practice Development Methodology.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Identify steps for understanding and solving the
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process Adapted by Dr. Spiegel.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
The Rational Unified Process 1 EECS810: Software Engineering.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
The principles of an object oriented software development process Week 04 1.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Introduction to Rational Unified Process
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process (RUP)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Rational Unified Process  “de facto standard”, framework.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Object oriented analysis and design 1 Software Development Life Cycle (SDLC)
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
Software Development Framework
Process 4 Hours.
Unified Process Source & Courtesy: Jing Zou.
Introduction to Software Engineering
Rational Worldwide Software Symposium
Rational Unified Process
Rational Worldwide Software Symposium
Software engineering -1
Rational Worldwide Software Symposium
Presentation transcript:

Principles of Object Technology Module 1: Principles of Modeling

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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).

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 3 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling  The Rational Unified Process (RUP)

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 4 The Importance of Modeling Paper Airplane F-15 Fighter Jet Less ImportantMore Important

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 6 What Is a Model?  A model is a simplification of reality.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 8 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling  The Rational Unified Process (RUP)

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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. Deployment Diagram Process Model Design Model

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 14 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling  The Rational Unified Process (RUP)

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 15 What Is the UML?  The UML is a language for  Visualizing  Specifying  Constructing  Documenting the artifacts of a software-intensive system.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 17 The UML Is a Language for Specifying  The UML allows the building of models that are precise, unambiguous, and complete.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 19 The UML Is a Language for Documenting  The UML addresses documentation of system architecture, requirements, tests, project planning, and release management.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 20 History of the UML

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 21 Inputs to the UML Fusion Operation descriptions, Message numbering Fusion Operation descriptions, Message numbering Meyer Before and after conditions Meyer Before and after conditions Harel State charts Harel State charts Wirfs-Brock Responsibilities Wirfs-Brock Responsibilities Embley Singleton classes, High-level view Embley Singleton classes, High-level view Odell Classification Odell Classification Shlaer-Mellor Object Lifecycles Shlaer-Mellor Object Lifecycles Gamma, et.al Frameworks, patterns, notes Gamma, et.al Frameworks, patterns, notes Booch Rumbaugh Jacobson

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 22 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling  The Rational Unified Process (RUP)

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 23 A Language Is Not Enough to Build a System

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 25 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. Withdraw Money Customer Check Balance

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 28 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. T I M E Iteration 1Iteration 2Iteration 3 I C D R T I C D R T I C D R T

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 29 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling  The Rational Unified Process (RUP)

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 30 Introducing the Rational Unified Process (RUP)  The Rational Unified Process is  Use-case driven.  Architecture-centric.  Iterative and incremental.

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 31 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 time

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 32 Phase Boundaries Mark Major Milestones Inception Elaboration Construction Transition Inception Elaboration Construction Transition Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Release Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Release time

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 33 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).

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 34 Bringing It All Together: The Iterative Approach Project Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Process Workflows Iterations Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration & Change Mgmt Requirements ElaborationTransitionInceptionConstruction Workflows group activities logically In an iteration, you walk through all workflows

Principles of Object Technology, v1.0 Copyright © 2000 Rational Software, all rights reserved 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?