The Unified Modeling Language

Slides:



Advertisements
Similar presentations
UML Unified MODELING Language
Advertisements

Analysis and Design with UML
UML: An Introduction.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
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.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Module 2: Introduction to UML
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
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.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
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.
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.
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 Unified Modeling Language.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
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.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
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 Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
1 Module 2: Introduction to UML  Background  What is UML for?  Building blocks of UML  Appendix:  Architecture & Views  Process for Using UML.
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.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
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.
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.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
UML (Unified Modeling Language)
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
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.
Introduction to UML.
Analysis and Design with UML
CHAPTER
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
UML: An Introduction.
Unified Modeling Language
Business Models Modeling.
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
UML SEQUENCE AND CLASS DIAGRAMS
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
The Development Process
Unified Modeling Language
Software Design Lecture : 15.
UML: Collaboration and Deployment Diagram
Introduction to OOAD and the UML
Presentation transcript:

The Unified Modeling Language

The Unified Modeling Language The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to visualize, specify, construct, and document the artifacts of a software­intensive system. Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE)

Building Blocks of UML Things Relationships Diagrams

Things Structural things Behavioral things Grouping things classes, interfaces, collaborations, use cases, active classes, components, nodes. Behavioral things interactions, state machines. Grouping things packages. Annotational things notes.

Relationships Dependency Association Generalization Realization

Diagrams 1. Class diagram 2. Object diagram 3. Use case diagram 4. Sequence diagram 5. Collaboration diagram 6. Statechart diagram 7. Activity diagram 8. Component diagram 9. Deployment diagram

Structural Things Structural things are the nouns of UML models. These are the mostly static parts of a model, representing elements that are either conceptual or physical.

Class Class Attribute Operation A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. Attribute An attribute is a named property of a class that describes a range of values that instances of the property may hold. Operation An operation is the implementation of a service that can be requested from any object of the class to affect behavior.

Use Case Use case A use case specifies the behavior of a system or a part of a system and is a description of a set of sequences of actions, including variants, that a system performs to yield an observable result of value to an actor. Actor An actor represents a coherent set of roles that users of use cases play when interacting with these use cases.

Use Case Diagram Use case diagram A use case diagram shows a set of use cases and actors and their relationships.

Interface Interface An interface is a collection of operations that specify a service of a class or component. Register.exe Billing.exe Billing System

Collaboration Collaboration When to use a Collaboration Diagram Cross between an symbol diagram and a sequence diagram (interaction). Describes a specific scenario Numbered arrows show the movement of messages during the course of a scenario When to use a Collaboration Diagram When you prefer to show a spatial organization of symbols and interaction rather than concentrating on the sequence of the interaction

Collaboration Diagram

Node A node is a physical element that exists at run time and represents a computational resource.

Behavioral Things Behavioral things are the dynamic parts of UML models. These are the verbs of a model, representing behavior over time and space.

Behavioral Things (cont’d) Interaction An interaction is a behavior that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose. State machine A state machine is a behavior that specifies the sequences of states an object or an interaction goes through during its lifetime in response to events, together with its response to those events.

Grouping and Annotational Things Grouping things are the organizational parts of UML models. Package A package is a general purpose mechanism for organizing elements into groups. Annotational things are the explanatory parts of UML models. Note A note is simply a symbol for rendering constraints and comments attached to an element or a collection of elements.

Dependency Dependency A dependency is a using relationship that states that a change in specification of one thing may affect another thing that uses it, but not necessarily the reverse. ScheduleAlgorithm RegistrationManager

Association Association An association is a structural relationship that specifies that objects of one thing are connected to objects of another. Bank Teller serves Customer

Aggregation Aggregation An aggregation is a special form of association that specifies a whole­part relationship between the aggregate (the whole) and a component (the part). Course CourseOffering

Generalization Generalization A generalization is a relationship between a general thing and a more specific kind of that thing. Sometimes it is called an ''is­a­kind­of'' relationship. Employment Teller Manager

<<interface>> Realization Realization A realization is a semantic relationship between classifiers, wherein, one classifier specifies a contract that another classifier guarantees to carry out. Billing.exe Billing System <<interface>> Register.exe

Class and Object Diagram Class diagram A class diagram shows a set of classes, interfaces, and collaborations and their relationships. Object diagram An object diagram shows a set of objects and their relationships.

Sequence Diagram Sequence diagram A sequence diagram is an interaction diagram that emphasizes the time­ordering of messages. This diagram is a model describing how groups of objects collaborate in some behavior over time. The diagram captures the behavior of a single use case. It shows objects and the messages that are passed between these objects in the use case. When to use a sequence diagram A good design can have lots of small methods in different classes. Because of this it can be difficult to figure out the overall sequence of behavior. This diagram is simple and visually logical, so it is easy to see the sequence of the flow of control. A sequence diagram also clearly shows concurrent processes and activations.

Sequence Diagram

State Chart Diagram Statechart diagram When to use a State Diagram A statechart diagram shows a state machine, consisting of states, transitions, events, and activities. Provides a very detailed picture of how a specific symbols changes states. A state refers to the value associated with a specific attribute of an object and to any actions or side effects that occur when the attribute’s value changes When to use a State Diagram Used when you are working on real-time process control applications or systems that involve concurrent processing When you want to show the behavior of a class over several use cases

State Chart Diagram

Activity Diagram Activity diagram An activity diagram is a special kind of a statechart diagram that shows the flow from activity to activity within a system.

Deployment Diagram A Deployment diagram shows the configuration of run-time processing elements and the software components, processes, and objects. Software component instances represent run-time manifestations of code units. Components that do not exist as run-time entities do not appear on these diagrams. These components should be shown on component diagrams.

Component Diagram A component diagram shows the dependencies among software components, including source code, binary code and executable components. Some components exist at compile time, some exist at link time, and some exist at run time; some exist at more than one time.

Example An University wants to computerize their registration system The Registrar sets up the curriculum for a semester One course may have multiple course offerings Students select 4 primary courses and 2 alternate courses Once a student registers for a semester, the billing system is notified so the student may be billed for the semester Students may use the system to add/drop courses for a period of time after registration Professors use the system to receive their course offering rosters Users of the registration system are assigned passwords which are used at logon validation

Actors An actor is someone or some thing that must interact with the system under development Registrar Professor Student Billing System

Use Cases 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 Billing System -- receive billing information from registration Maintain Curriculum Request Course Roster Maintain Schedule

Use Case Diagram Request Course Roster Professor Student Maintain Schedule Billing System Maintain Curriculum Registrar

Sequence Diagram

Collaboration Diagram : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course

Classes ScheduleAlgorithm RegistrationForm RegistrationManager Course Student Professor CourseOffering

Classes ScheduleAlgorithm RegistrationForm RegistrationManager Course addStudent(Course, StudentInfo) Course name numberCredits open() addStudent(StudentInfo) Student name major Professor name tenureStatus CourseOffering location open() addStudent(StudentInfo)

Relationships ScheduleAlgorithm RegistrationForm RegistrationManager Course addStudent(Course, StudentInfo) name numberCredits open() addStudent(StudentInfo) major location tenureStatus Student Professor CourseOffering

Multiplicity and Navigation RegistrationForm RegistrationManager Course Student CourseOffering Professor addStudent(Course, StudentInfo) name numberCredits open() addStudent(StudentInfo) major location tenureStatus ScheduleAlgorithm 1 0..* 1..* 4 3..10 0..4

Inheritance ScheduleAlgorithm RegistrationForm RegistrationManager Course addStudent(Course, StudentInfo) name numberCredits open() addStudent(StudentInfo) major location tenureStatus RegistrationUser name Student Professor CourseOffering

State Transition Diagram 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

Component Diagram People.dll Course.dll Professor Student Course Register.exe Billing.exe Billing System Course.dll People.dll Course User Course Offering Student Professor

Deployment Diagram Registration Database Main Library Building Dorm