1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.

Slides:



Advertisements
Similar presentations
UML Unified MODELING Language
Advertisements

® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Analysis and Design with UML
Unified Modeling Language
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
UML Overview Unified Modeling Language Basic Concepts.
Software Engineering Recitation 3 Suhit Gupta. Review CVS problems XML problems – XML/XSD/DTD/SCHEMAS.
Page 1  Copyright © 1997 by Rational Software Corporation Class Diagrams A class diagram shows the existence of classes and their relationships in the.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML – Unified Modelling Language For Effective OO Development Yves Holvoet Rational Software Corporation Yves Holvoet Rational Software Corporation (say.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
Unified Modeling Language
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Solid Palette Gradient Palette I Gradient Palette II APPLYING THESE COLORS Click on the desired color Click on the paintbrush tool located.
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
Page 1 R Copyright © 1998 by Rational Software Corporation Visual Modeling and the UML.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
SOFTWARE REQUIREMENTS ANALYSIS (SWRA) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
COP43311 Copyright © 1997 by Rational Software Corporation Unified Modeling Language (UML) Based on slides and papers from Rational’s UML website
Analysis & Design with UML
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
Design Jon Walker. More UML ● What is UML again?
OOA&D - 1© Minder Chen, Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML Presentation was downloaded (and is available for free) from Rational.
Introduction to OOAD and the UML
Software Engineering Lecture 8 Object-Oriented Analysis.
Analysis and Design with UML. Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process.
(14-2) UML Instructor - Andrew O’Fallon CptS 122 (December 2, 2015) Washington State University.
Class diagrams Terézia Mézešová.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
IST 210 The Rational Unified Process (RUP) and Unified Modeling Language (UML) Todd Bacastow IST 210: Organization of Data.
Visual Modeling and the UML. Object Oriented Analysis and Design.
Chapter 3: Introducing the UML
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 November 30, 2004.
Analysis and Design with UML  Overview - Object-Oriented Modeling  Benefits of Visual Modeling  History of the UML  Visual Modeling with UML  The.
Analysis and Design with UML
UML Diagrams By Daniel Damaris Novarianto S..
Visual Modeling and the UML
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
UML SEQUENCE AND CLASS DIAGRAMS
Software Architecture & Design Pattern
Object Oriented Analysis and Design
The Unified Modeling Language
The Development Process
Unified Modeling Language
UML: Unified Modeling Language
Software Design Lecture : 15.
Class Diagrams.
UML: Collaboration and Deployment Diagram
Introduction to OOAD and the UML
Presentation transcript:

1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005

2 What is UML? The Unified Modelling Language is a standard notation to model [object oriented] systems. –Syntax and semantics –Model systems –Visual documentations –Collections of best practices –Used to produce a set of artifacts that can be delivered –Wide support –Independent of programming languages –Support high level concepts

3 UML Diagram Types Use Case diagrams Static structure diagrams –Class diagrams –Object diagrams Interaction diagrams –Sequence diagrams –Collaboration diagrams Statechart diagrams Activity diagrams Component diagrams Deployment diagram

4 Copyright © 1997 by Rational Software Corporation Actors An actor is someone or some thing that must interact with the system under development StudentRegistrarProfessorBilling System

5 Use Cases A use case is a pattern of behavior the system exhibits –Each use case is a sequence of related transactions performed by an actor and the system in a dialogue Actors are examined to determine their needs –Registrar -- maintain the curriculum –Professor -- request roster –Student -- maintain schedule Maintain ScheduleMaintain CurriculumRequest Course Roster

6 Copyright © 1997 by Rational Software Corporation Use Case Diagram Use case diagrams are created to visualize the relationships between actors and use cases StudentRegistrarProfessor Maintain ScheduleMaintain CurriculumRequest Course Roster Billing System

7 Copyright © 1997 by Rational Software Corporation Use Case Realizations The use case diagram presents an outside view of the system Interaction diagrams describe how use cases are realized as interactions among societies of objects Two types of interaction diagrams –Sequence diagrams –Collaboration diagrams

8 Class Diagram Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting the system from a static perspective. Class diagrams indicate which classes know about other classes and, if they do, what type of relationship exists. Class diagrams will have different levels of detail (abstraction) depending on where we are in the software development process.

9 Class Diagrams Class diagrams describe types of objects in a system and their relationships. There are three types of relationships between classes: Dependency (“uses”) Aggregation (“has”) Inheritance (“is”) Class diagrams also show the attributes and operations of a class.

10 Class Diagrams Class diagrams consist of several classes connected with relationships Representation of a class:

11 Class Diagram

12 Convention Name of class is a word with initial upper case letter Capitalize first letter of every word in name Name of attributes is lower case letter Capitalize first letter of every word other than first Operations have same naming schemes as attributes Brackets include parameter operation works on

13 Associations “relationship between different objects of one or more classes”

14 Connectors

15 Multiplicities

16 UML Class Diagram Class Association Label Multiplicity

17 Class Derived from the CRC Cards Sections: name, attributes, operations Name Attributes Methods

18 Association It is more important to identify classes than to identify associations Too many associations can be confusing Classes may have association with themselves person manages 1 *

19 Generalization Generalization: identifying commonality among classes

20 Aggregation A composite aggregation (filled diamond) means that the multiplicity at the composite end may be at most one. Shared aggregation (hollow diamond) means that the multiplicity at the composite end may be more than one.

21 Aggregation Guidelines There is an obvious physical or logical assembly The part and composite have the same lifetime Operations applied to the composite propagate to the parts e.g. destruction, movement, etc.

22 Objects and Inheritance subtype supertype dependency

23 Classifier A classifier is a mechanism that describes structural and behavioral features. Types of classifiers are … –classes, interfaces, datatypes, signals, components, nodes, use cases and subsystems. Classes are the most important kind of classifier. –Classes have a number of features beyond attributes and behaviors that allow you to model some of the more subtle/advanced features of a system.

24 Advanced Class Features

25 Abstract and Concrete Classes and Operations

26 Template Icon –A parameterized element. –Represented in UML as a dashed box in the upper right-hand corner of the class icon, which lists the template parameters.

27 State Transition Diagram Copyright © 1997 by Rational Software Corporation Initialization Open entry: Register student exit: Increment count Closed Canceled do: Initialize course do: Finalize course do: Notify registered students Add Student / Set count = 0 Add student[ count < 10 ] [ count = 10 ] Cancel

28 Copyright © 1997 by Rational Software Corporation Sequence Diagram A sequence diagram displays object interactions arranged in a time sequence : Student registration form registration manager math 101 1: fill in info 2: submit 3: add course(joe, math 01) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) math 101 section 1

29 Copyright © 1997 by Rational Software Corporation : 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

30 The Physical World Component diagrams illustrate the organizations and dependencies among software components A component may be –A source code component –A run time components or –An executable component

31 Component Diagram Course Offering StudentProfessor Course.dll People.dll Course User Register.exe Billing.exe Billing System

32 Deploying the System The deployment diagram shows the configuration of run-time processing elements and the software processes living on them The deployment diagram visualizes the distribution of components across the enterprise.

33 Copyright © 1997 by Rational Software Corporation Deployment Diagram Registration DatabaseLibraryDormMain Building