Presentation is loading. Please wait.

Presentation is loading. Please wait.

UML – Unified Modelling Language For Effective OO Development Yves Holvoet Rational Software Corporation Yves Holvoet Rational Software Corporation (say.

Similar presentations


Presentation on theme: "UML – Unified Modelling Language For Effective OO Development Yves Holvoet Rational Software Corporation Yves Holvoet Rational Software Corporation (say."— Presentation transcript:

1 UML – Unified Modelling Language For Effective OO Development Yves Holvoet Rational Software Corporation Yves Holvoet Rational Software Corporation (say Eve Olvoot)

2 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Agenda  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary

3 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. The Importance of Modeling

4 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. What Is a Model?  A model is a simplification (abstraction) of reality.

5 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Abstraction  Is conceptual and captures the essential characteristics of an entity that distinguish it from all other kinds of entities.  Defines a boundary relative to the perspective of the viewer.  Is conceptual and captures the essential characteristics of an entity that distinguish it from all other kinds of entities.  Defines a boundary relative to the perspective of the viewer.

6 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Instance  Is an actual entity instance of the conceptual abstraction.  All instances of a given abstraction share a common structure (data and behavior as described in the Abstraction).  Is an actual entity instance of the conceptual abstraction.  All instances of a given abstraction share a common structure (data and behavior as described in the Abstraction). yourAccount : BankAccount myAccount : BankAccount

7 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Levels of Abstraction Is an abstraction for Is an instance of object Scenario High Level Processor Processor Type Low Level

8 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Modeling Process BusinessBusiness Business Use Cases - Activities Use Cases ScenariosScenarios ClassesClasses ObjectsObjects SourcesSources ProcessesProcesses ProcessorsProcessors Modeling Process Low Level High Level InstanceInstance AbstractionAbstraction SystemSystem BusinessBusiness Business Use Cases - Activities

9 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. UML 1 + 2 * 2 Views SoftwareSoftware ClassesClassesObjectsObjects SourcesSources HardwareHardware ProcessorsProcessors TasksTasks ProcessesProcesses ScenariosScenarios Use Cases PackagesPackagesLayersLayersPackagesPackages LayersLayersSystemsSystems Deployment View Logical View Use Case View Process View Implementation View

10 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. 4 + 1 = 1 + 2 * 2 Views Deployment View Process View Implementation View Logical View Use Case View   The Use-Case view describes the behavior of the system in term of use-cases and scenarios   The Logical view packages the classes of the system and their relationships   The Implementation view describes the mapping of the logical classes to components of the target environment   The Process view deals with concurrency and synchronization   The Deployment view describes the mapping of the software on the hardware   The Use-Case view describes the behavior of the system in term of use-cases and scenarios   The Logical view packages the classes of the system and their relationships   The Implementation view describes the mapping of the logical classes to components of the target environment   The Process view deals with concurrency and synchronization   The Deployment view describes the mapping of the software on the hardware

11 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Use-Case View  3 Main Benefits ClassValidationClassValidation SpecificationSpecification Development Plan object instance of class link instance of association message instance of operation Abstraction for many scenarios

12 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Use Case View: Main Benefits  Specification  in terms of use cases  Development plan  lists iterations  assign scenarios to iterations according to their risk levels  Validation of classes  the necessary objects for the whole system are collectively all the objects participating in all scenarios  the messages between objects drive class relationships  Specification  in terms of use cases  Development plan  lists iterations  assign scenarios to iterations according to their risk levels  Validation of classes  the necessary objects for the whole system are collectively all the objects participating in all scenarios  the messages between objects drive class relationships

13 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Logical View  3 Main Benefits ObjectValidationObjectValidation TerminologyTerminology Development Teams Logical grouping of classes Strong inner coupling (cohesive classes) Weak outer coupling (for reuse, resilience) Logical grouping of classes Strong inner coupling (cohesive classes) Weak outer coupling (for reuse, resilience)

14 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Logical View: Main Benefits  Terminology  it provides vocabulary for common unambiguous understanding of the problem domain  Development Teams  they are derived from packages  packages are created to minimize the coupling  Validation of objects  the objects, links and messages must be in synch with class, relationships and operations  Terminology  it provides vocabulary for common unambiguous understanding of the problem domain  Development Teams  they are derived from packages  packages are created to minimize the coupling  Validation of objects  the objects, links and messages must be in synch with class, relationships and operations

15 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. 2 Dimensions for Software Architecture Logical packages form horizontal layers where layers can only access what is below and not what is above Scenarios form vertical slices where each slice traverses all layers but only “hits” a small sub-set of the classes Rational Unified Process is: Architecture Centric Use Case Driven Rational Unified Process is: Architecture Centric Use Case Driven

16 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Agenda  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary  Modelling  Why?  Levels of Abstraction  5 Views and 2 dimensions of System Architecture  UML  History  10 diagrams  Summary

17 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. History of the UML Nov ‘97UML approved by the OMG

18 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. UML Concepts  The UML may be used to visually model:  The interaction of your application with the outside world Use Case Diagram  The behavior of your system Interaction Diagram  The structure of your system Class Diagram Package Diagram  The components in your system Component Diagram Deployment Diagram  The UML may be used to visually model:  The interaction of your application with the outside world Use Case Diagram  The behavior of your system Interaction Diagram  The structure of your system Class Diagram Package Diagram  The components in your system Component Diagram Deployment Diagram

19 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. 10 UML Diagrams Class Diagram (static part of class) State-Transition Diagram (behavioral part of class) Class Diagram (static part of class) State-Transition Diagram (behavioral part of class) Component Diagram (Sources & Processes) Deployment Diagram (Processors) Activity Diagram Use Case Diagram Interaction Diagram (Scenarios) Object Diagram Collaboration Diagram Sequence Diagram

20 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. StudentRegistrarProfessor Register for CoursesMaintain Course InformationRequest Course Roster Billing System Use Case Diagram  Use case diagrams are created to visualize the interaction of your system with the outside world

21 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. : Student registration form registration manager math 101 1: fill in info 2: submit 3: add course(joe, math 01) 4: add(Joe) 5: are you open? 6: add (Joe) math 101 section 1 Sequence Diagram  A sequence diagram shows step-by-step what has to happen to accomplish a piece of functionality provided by the system

22 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course Collaboration Diagram  A collaboration diagram displays object interactions organized around objects and their links to one another

23 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Student Professor RegistrationUser CourseOffering major 4 3..10 0..4 1 Class Diagram  A class diagram shows the structure of your software

24 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Vegan eat(Food) Vegetarian eat(Food) Omnivore eat(Food) pre-condition of eat() is: -Food parameter must be a Vegetable pre-condition of eat() is: -Food parameter must be either a Vegetable or Derived from Animal No pre-condition at all for eat() Person > eat(Food) Food 2 Main Relationships: Inheritance vs. Association

25 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Course.dll People.dll Course User Register.exe Billing.exe Billing System The Physical World  Component diagrams illustrate the organization and dependencies among software components

26 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Deploying the System  The deployment diagram visualizes the distribution of components across the enterprise. Registration Database Library DormMain Building

27 Color Palette To use or remove these color palettes, go to View/Master/Slide Master Optional logo for your notes/handouts slides APPLYING THESE COLORS 1.1. 2.2. 3.3. Click on the desired color Click on the paintbrush tool located on your toolbar Click on the object you want to colorize Helpful tip: Double click the paintbrush tool to apply color to more than one object at a time. Summary  Visual modeling can be used to:  Define business process  Communicate  Manage complexity  Define software architecture  Promote reuse  The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system  Visual modeling can be used to:  Define business process  Communicate  Manage complexity  Define software architecture  Promote reuse  The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system

28 Questions?


Download ppt "UML – Unified Modelling Language For Effective OO Development Yves Holvoet Rational Software Corporation Yves Holvoet Rational Software Corporation (say."

Similar presentations


Ads by Google