Fundamentals of Visual Modeling with UML Module 2: Principles of Visual Modeling.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

CS487 Software Engineering Omar Aldawud
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 1: Best Practices of Software Engineering.
Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
19 1 Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides and the RUP textbook - considerably modified.
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.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
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
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process.
Object-Oriented Analysis and Design Using the UML Module 1: Best Practices of Software Engineering.
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 19 Chapter 2 Text Introduction to Rational Unified Process.
Principles of Object Technology Module 1: Principles of Modeling.
Information Systems Development Slovak University of Technology Faculty of Material Science and Technology in Trnava.
UML - Development Process 1 Software Development Process Using UML (2)
Modeling software behavior UML
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Identify steps for understanding and solving the
Unified Modeling Language User Guide Section 1—Getting Started.
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.
SWEN 5130 REQUIREMENTS ENGINEERING Unified Modeling Language Short Tutorial By Yuvaraj Mani Teaching Assistant SWEN 5130 Spring semester 2006.
UML 101 – An Introduction Julie Daniels Staff Software Engineering Specialist IBM Rational Software UML 101 – An Introduction Julie Daniels Staff Software.
Systems Analysis and Design in a Changing World, 3rd Edition
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.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
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.
ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw()
CSC 131 Fall 2006 Lecture # 5 UML Use Cases. UML The UML is a graphical language for  specifying  visualizing  constructing  documenting the artifacts.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 01. Concepts.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Principles of Visual Modeling.
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
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
1 Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides and the RUP textbook - considerably modified.
Unified Software Practices v5.5 Copyright © Rational Software, all rights reserved 1 Module 1: The Six Best Practices of Modern Software Engineering.
Rational Unified Process Fundamentals Module 1: Best Practices of Software Engineering Rational Unified Process Fundamentals Module 1: Best Practices of.
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.
A Conceptual Model of the UML  To understand the UML, a conceptual model of the language is need to form and it requires the three major elements: 1.Building.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Modeling Your Application, Data or Service Creating Your UML Model.
Course Number: 1080 Session Length:60 Minutes Target Audience:caDSR Users and Metadata Consumers Trainer: Jennifer Brush NCICB Liaison.
UML Basics Process Model Deployment Model Design Model
Introduction to OOAD and UML
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
Introduction to Rational Unified Process
Essentials of Visual Modeling w/ UML Instructor Notes
Rational Unified Process
Practice 2: Manage Requirements
Essentials of Visual Modeling w/ UML Instructor Notes
Presentation transcript:

Fundamentals of Visual Modeling with UML Module 2: Principles of Visual Modeling

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 2 Objectives  Describe the importance of visual modeling.  Define the four principles of visual modeling.  Explain what the Unified Modeling Language (UML) represents.  Define the type of process that best relates to the UML.

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 3 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 4 What Is a Model?  A model is a simplification of reality.

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 5 Why Do We Model?  Modeling achieves four aims:  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.  We build models to better understand the system we are developing.

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 6 The Importance of Modeling Paper Airplane Fighter Jet Less ImportantMore Important

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 7 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.

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 8 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling

Fundamentals of Visual Modeling with UML Copyright © 2001 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.

Fundamentals of Visual Modeling with UML Copyright © 2001 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

Fundamentals of Visual Modeling with UML Copyright © 2001 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 let you choose your degree of detail, depending on: who is viewing the model. why they need to view it. View for Designers View for Customers

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 12 Principle 3: The Best Models Are Connected to Reality  All models simplify reality.  A good model reflects potentially fatal characteristics.

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 13 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. Process ViewDeployment View Logical View Use-Case View Implementation View End-user Functionality Programmers Software management Performance scalability throughput System integrators System topology delivery, installation communication System engineering Analysts/Designers Structure

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 14 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling

Fundamentals of Visual Modeling with UML Copyright © 2001 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.

Fundamentals of Visual Modeling with UML Copyright © 2001 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.

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 17 The UML Is a Language for Specifying  The UML builds models that are precise, unambiguous, and complete.

Fundamentals of Visual Modeling with UML Copyright © 2001 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

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 19 The UML Is a Language for Documenting Forward Engineering (Code Generation) and Reverse Engineering Domain Expert User Interface Definition Use Case Diagram Actor A Use Case 1 Use Case 2 Use Case 3 Actor B Activity Diagram [yes] Actor A Actor B Class Diagram GrpFile read( ) open( ) create( ) fillFile( ) rep Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortByName( ) DocumentList add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList 1 FileList add( ) delete( ) 1 File read( ) read() fill the code.. State Transition Diagram Openning Writing Reading Closing add file [ numberOffile==MAX ] / flag OFF add file close file Component Diagram Document Repository FileList FileManager GraphicFile File Collaboration Diagram user : »ç¿ëÀÚ mainWnd : MainWnd fileMgr : FileMgr repository : Repository document : Document gFile : GrpFile 9: sortByName ( ) L 1: Doc view request ( ) 2: fetchDoc( ) 5: readDoc ( ) 7: readFile ( ) 3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( ) Sequence Diagram user mainWndfileMgr : FileMgr repositorydocument : Document gFile 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) 9: sortByName ( ) ƯÁ¤¹®¼­¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. È­ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼­ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. È­¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡ º¸¿©ÁØ´Ù.  The UML addresses documentation of system architecture, requirements, tests, project planning, and release management. Model space Executable System Deployment Diagram Window95 ¹®¼­°ü¸® Ŭ¶óÀ̾ðÆ®.EXE Windows NT ¹®¼­°ü¸® ¿£Áø.EXE Windows NT Windows95 Solaris ÀÀ¿ë¼­¹ö.EXE Alpha UNIX IBM Mainframe µ¥ÀÌŸº£À̽º¼­¹ö Windows95 ¹®¼­°ü¸® ¾ÖÇø´ ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼­¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼­¹ö ¹× µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö Forward Engineering (Code Generation) and Reverse Engineering Source Code edit, compile, debug, link 19

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 20 History of the UML

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 21 Inputs to the UML Fusion Operation descriptions, message numbering Fusion Operation descriptions, Meyer Before and after conditions Meyer Harel State charts Harel State charts Wirfs-Brock Responsibilities Wirfs-Brock Responsibilities Embley Singleton classes, high-level view Embley Singleton classes, -level view Odell Classification Odell Classification Shlaer-Mellor Object lifecycles Shlaer-Mellor Gamma, et.al Frameworks, patterns, notes Gamma, et.al Frameworks, patterns, notes Booch Rumbaugh Jacobson

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 22 Where Are We?  What is modeling?  Four principles of visual modeling  The UML  Process and visual modeling

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 23 A Language Is Not Enough to Build a System

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 24 What Type of Process Most Benefits the UML?  The UML is largely process independent. A process fully benefits from the UML when the process is:  Use-case driven  Architecture-centric  Iterative and incremental

Fundamentals of Visual Modeling with UML Copyright © 2001 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 of use cases:  Concise, simple, and understandable by a wide range of stakeholders.  Help synchronize the content of different models. Withdraw Money Customer Check Balance

Fundamentals of Visual Modeling with UML Copyright © 2001 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:  Intellectual control over a project to manage its complexity and to maintain system integrity.  Effective basis for large-scale reuse.  A basis for project management.  Assistance in component-based development.

Fundamentals of Visual Modeling with UML Copyright © 2001 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.

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 28 Iterative 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

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 29 Review  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 is an iteration?

Fundamentals of Visual Modeling with UML Copyright © 2001 Rational Software, all rights reserved 30