- U nified M odeling L anguage. GO TO USER ROLES PAGE Many Stakeholders, many views  Architecture may be many things to many different stakeholders 

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
UML: Unified Modeling Language
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Class Diagram & Object Diagram
© Copyright Eliyahu Brutman Programming Techniques Course.
7M822 UML Class Diagrams advanced concepts 15 September 2008.
7M822 UML Class Diagrams advanced concepts 14 October 2010.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
UML Diagrams Computer Science I.
- U nified M odeling L anguage Rajthilak S Alfonso G B.
Unified Modeling Language
CSCI-383 Object-Oriented Programming & Design Lecture 9.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Unified Modeling Language, Version 2.0
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
CS3773 Software Engineering Lecture 04 UML Class Diagram.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
CS /31 Illinois Institute of Technology CS487 Software Engineering OOA with UML David Lash.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Unit 1 INTRODUCTION TO MODELING AND CLASS MODEL Ref : L7-UML.PDF.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
An Introduction to the Unified Modeling Language
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
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.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Model Lecture p6 T120B pavasario sem.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Chapter 3: Introducing the UML
Basic Characteristics of Object-Oriented Systems
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
CHAPTER
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Unified Modeling Language—UML A Very Brief Introduction
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
Activity Diagrams Activity diagrams describe the workflow behavior of a system.  The diagrams describe the state of activities by showing the sequence.
Business System Development
Systems Analysis and Design With UML 2
CIS 375 Bruce R. Maxim UM-Dearborn
CIS 375 Bruce R. Maxim UM-Dearborn
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

- U nified M odeling L anguage

GO TO USER ROLES PAGE Many Stakeholders, many views  Architecture may be many things to many different stakeholders  End user  Project Manager  System Engineer  Developer  Tester  Maintainer  Multidimensional Reality  Many Stakeholders multiple views, multiple blueprints

GO TO USER ROLES PAGE Models  Modeling is the designing of software applications before coding.  Models are the higher level of abstraction of the System.  A model plays the analogous role in software development that blueprints and other plans (site maps, elevations, physical models) play in the building of a skyscraper.  Modeling is the only way to visualize the design and check it against requirements before one starts to code.  Models are also the vehicle for communication with various stake holders.

GO TO USER ROLES PAGE What is UML? General-purpose modeling language Helps to specify, visualize, and document models of software systems High Level abstraction of the system Represents the system using Graphical Notations from various Perspectives used for business modeling and modeling of other non-software systems too UML 2.0

GO TO USER ROLES PAGE Evolution of UML Successor to the wave of Object Oriented Analysis and Design(OOA&D). unifies the notations used by three amigos(Grady Booch, Ivar Jacobson and James Rumbaugh) in their OO methods. OMG

GO TO USER ROLES PAGE Different Perspectives of System

GO TO USER ROLES PAGE Basic OO Terms A model is an abstraction of the underlying problem. The domain is the actual world from which the problem comes. Models consist of objects that interact by sending each other messages. Objects have things they know (attributes) and things they can do (behaviors or operations). The values of an object's attributes determine its state. Classes are the "blueprints" for objects. A class wraps attributes (data) and behaviors (methods or functions) into a single distinct entity. Objects are instances of classes.

GO TO USER ROLES PAGE The Unified Modelling Language – 1.4 Structural Diagrams- class,object,component,deployment diagrams. Behavioural Diagrams – Use Case, Activity and State Chart diagrams. Interaction Diagrams – Sequence and Collaboration diagrams. Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams Models

GO TO USER ROLES PAGE USE CASE DIAGRAM Outsider's view of a system. Emphasizes on what a system does rather than how. Use case diagrams are the collection of scenarios. A scenario is an example of what happens when someone(Actor) interacts with the system. Scenarios together accomplishes a specific goal of the user. Every use case diagram has actors, use cases, and communications.

GO TO USER ROLES PAGE Use Case Modeling: Core Elements Introduction to UML 10

GO TO USER ROLES PAGE Use Case Modeling: Core Relationships Introduction to UML 11 >

GO TO USER ROLES PAGE Use Case Modeling: Core Relationships (cont’d) Introduction to UML 12 >

GO TO USER ROLES PAGE Use Case Relationship

GO TO USER ROLES PAGE Extend and Include Relationship we can add extend relationships to a model to show the following situations:  A part of a use case that is optional system behavior  A subflow is executed only under certain conditions  A set of behavior segments that may be inserted in a base use case Include Relationship  The behavior of the inclusion use case is common to two or more use cases.  The result of the behavior that the inclusion use case specifies, not the behavior itself, is important to the base use case.

GO TO USER ROLES PAGE Example :Use Case Diagram Introduction to UML 15

GO TO USER ROLES PAGE USE CASE DIAGRAM Use case diagrams are helpful in three areas. determining features (requirements). New use cases often generate new requirements as the system is analyzed and the design takes shape. communicating with clients. Their notational simplicity makes use case diagrams a good way for developers to communicate with clients. generating test cases. The collection of scenarios for a use case may suggest a suite of test cases for those scenarios.

GO TO USER ROLES PAGE CLASS DIAGRAM Structural overview of a system by showing its classes and the relationships among them Static diagrams Static relations: Associations Subtypes Static structure: Attributes Operations Created along with use case diagrams Transition from what? to How?

GO TO USER ROLES PAGE CLASS DIAGRAM- Class The illustration uses the following UML™ conventions. Static members are underlined. Instance members are not. The operations follow this form: ( ) : The parameter list shows each parameter type preceded by a colon. Access specifiers appear in front of each member.

GO TO USER ROLES PAGE CLASS DIAGRAM Class information: visibility and scope  Attributes and operations can be labeled according to access and scope SymbolAccess +public -private #protected

GO TO USER ROLES PAGE Class Operations An operation is the implementation of a service that can be requested from any object of the class in order to affect behaviour. Used to manipulate the attributes or to perform other actions. Operations are normally called functions, but they are inside a class and can be applied only to objects of that class. Signature - return-type, a name and zero or more parameters. The signature describes everything needed to use the operation.

GO TO USER ROLES PAGE Example : Class Diagram

GO TO USER ROLES PAGE Class-Association Associations are structural relationships where instances (objects) of one class are connected to instances (objects) of another class.  an employee works for a company  a company has a number of offices An association is normally bidirectional, which means that if an object is associated with another object, both objects are aware of each other (navigation is bidirectional by default). Binary association connects exactly two classes. The most common association is just a connection between classes.

GO TO USER ROLES PAGE Association adornments: name, role The association has a name - the descriptive term, often a verb, for the association. Each association has two association ends; each end is attached to one of the classes in the association. An end can be explicitly named with a label. This label is called a role name (association ends are often called roles).

GO TO USER ROLES PAGE Reflexive Associations A class has an association to itself.  Example: A directory may contain other directories. DirectoryFile 0..1 parent subdirectory 0..* 10..*

GO TO USER ROLES PAGE Class Navigability A navigability arrow on an association shows which direction the association can be traversed or queried.

GO TO USER ROLES PAGE Class Associations: multiplicity Multiplicity defines the number of objects associated with an instance of the association.  Default of 1 (1: 1)  0 or 1: 0..1  Zero or more (0..infinite): *  1 or more (1..infinite): 1..*  n..m; range from n to m inclusive CarPerson transports passenger CarPerson transports passenger 5 CarPerson transports passenger * CarPerson transports passenger 1..* CarPerson transports passenger 2..5

GO TO USER ROLES PAGE Class - Generalization A specialization / generalization relationship, in which objects of the specialized element (child) are substitutable for objects of the generalized element (parent).  Superclass – the generalization of another class, the child.  Subclass – the specialization of another class, the parent.

GO TO USER ROLES PAGE Generalization - characteristics Identify common features concerning behaviour and knowledge. Define these common features on a higher level in the inheritance hierarchy. The aim is at behaviour more than knowledge when combining classes. Generalization is a bottom-up process. A superclass includes all common properties of its subclasses.

GO TO USER ROLES PAGE Specialization - characteristics Define a new class which is a special appearance of an existing class. Specialization is a top-down process. A subclass can have attributes and operations that are specific for that sub-class. A subclass may redefine operations of its super-class

GO TO USER ROLES PAGE Class Diagram - Constraints The basic constructs of association, attribute, and generalization do much to specify important constraints. They cannot indicate every constraint. These constraints still need to be captured; the class diagram is a good place to do that. The UML allows you to use anything to describe constraints. The only rule is that we put them inside braces { }.

GO TO USER ROLES PAGE CONSTRAINTS

GO TO USER ROLES PAGE Aggregation and Composition  Associations in which an object is part of a whole are aggregations.  Composition is a strong association in which the part can belong to only one whole -- the part cannot exist without the whole. Composition is denoted by a filled diamond at the whole end.

GO TO USER ROLES PAGE Aggregation and Composition

GO TO USER ROLES PAGE Alternative Notation for Composition

GO TO USER ROLES PAGE Advanced Class Concepts : Abstract An operation is abstract if it has no implementation. A abstract class cannot have any direct instances. Abstract classes only occur in the context of an inheritance hierarchy. Abstract operations and classes are specified by writing its name in italics.

GO TO USER ROLES PAGE Advanced Class Concepts : Abstract cont.

GO TO USER ROLES PAGE Class Diagram with Interfaces

GO TO USER ROLES PAGE Package Diagram To simplify complex class diagrams, we can group classes into packages. Packages. Packages appear as rectangles with small tabs at the top. The package name is on the tab or inside the rectangle. The dotted arrows are dependencies.

GO TO USER ROLES PAGE PACKAGE DIAGRAM

GO TO USER ROLES PAGE Interaction : Sequence Diagram Sequence diagrams and Collaboration diagrams Class and object diagrams are static model views. Interaction diagrams are dynamic. They describe how objects collaborate. A sequence diagram is an interaction diagram that details how operations are carried out -- what messages are sent and when. Sequence diagrams are organized according to time. The time progresses as we go down the page. The Sequence diagram lists objects horizontally, and time vertically, and models these messages over time.

GO TO USER ROLES PAGE Sequence Diagram : Drawing Elements Diagram Header Elements  Actor Represents an external person or entity that interacts with the system  Object Represents an object in the system or one of its components  Unit Represents a subsystem, component, unit, or other logical entity in the system (may or may not be implemented by objects)  Separator Represents an interface or boundary between subsystems, components or units (e.g., air interface, Internet, network)  Group Groups related header elements into subsystems or components being modeled and are laid out horizontally at the top of the diagram.

GO TO USER ROLES PAGE Sequence Diagram Body Elements Message Synchronous Message Asynchronous Message Create Message Destroy Message Action

GO TO USER ROLES PAGE Sequence Diagram Body Elements Block(Loop or Conditional) Page Break Return Message Free Note Flow Note Diagram links

GO TO USER ROLES PAGE Interaction : Sequence Diagram

GO TO USER ROLES PAGE Sequence Diagram-Example

GO TO USER ROLES PAGE

SEQUENCE DIAGRAM

GO TO USER ROLES PAGE Usage of Sequence Diagram Complex interactions between components  components are being developed in parallel by different teams  Supporting Robust interface covering multiple scenarios Use case elaboration  can be used to flesh out the details of one or more use cases

GO TO USER ROLES PAGE COLLABORATION DIAGRAM Type of an interaction diagram. Collaborates the static and dynamic relationship Focus on Object Roles rather than timing. Each message in a collaboration diagram has a sequence number. The Collaboration diagram may be used to:  Describe a specific scenario by depicting the movement of messages between the objects  Show a spatial organization of objects and their interactions, rather than the sequence of the interactions

GO TO USER ROLES PAGE COLLABORATION DIAGRAM

GO TO USER ROLES PAGE Sequence Diagram Reserving a copy of book in Library

GO TO USER ROLES PAGE Collaboration Diagram Reserving a copy of book in Library

GO TO USER ROLES PAGE STATE CHART DIAGRAM Objects have behaviors and state. The state of an object depends on its current activity or condition. A statechart diagram shows the possible states of the object and the transitions that cause a change in state. Our example diagram models the login part of an online banking system. Logging in consists of entering a valid social security number and personal id number, then submitting the information for validation. Logging in can be factored into four non-overlapping states: Getting SSN, Getting PIN, Validating, and Rejecting. From each state comes a complete set of transitions that determine the subsequent state.

GO TO USER ROLES PAGE State Chart Diagram – Dial Tone

GO TO USER ROLES PAGE STATE CHART DIAGRAM - Login

GO TO USER ROLES PAGE STATE CHART DIAGRAM States are rounded rectangles. Transitions are arrows from one state to another. Events or conditions that trigger transitions are written beside the arrows. Uses  The life history of a given class, usecase, operation  The events that cause a transition from one state to another  The actions that result from a state change

GO TO USER ROLES PAGE ACTIVITY DIAGRAM An activity diagram is essentially a fancy flowchart. Activity diagrams and statechart diagrams are related. Statechart diagram focuses attention on an object undergoing a process (or on a process as an object). An activity diagram focuses on the flow of activities involved in a single process. The activity diagram shows the how those activities depend on one another.

GO TO USER ROLES PAGE Element and its descriptionSymbol Initial Activity: This shows the starting point or first activity of the flow. Activity: Represented by a rectangle with rounded (almost oval) edges. Decisions: Similar to flowcharts. Signal: When an activity sends or receives a message, that activity is called a signal. Signals are of two types: Input signal (Message receiving activity) shown by a concave polygon and Output signal (Message sending activity) shown by a convex polygon. Concurrent Activities: Some activities occur simultaneously or in parallel. Such activities are called concurrent activities. For example, listening to the lecturer and looking at the blackboard is a parallel activity. This is represented by a horizontal split (thick dark line) and the two concurrent activities next to each other, and the horizontal line again to show the end of the parallel activity. Final Activity: The end of the Activity diagram is shown by a bull's eye symbol, also called as a final activity.

GO TO USER ROLES PAGE ACTIVITY DIAGRAM

GO TO USER ROLES PAGE Activity Diagram - Example

GO TO USER ROLES PAGE Implementation diagrams Show aspects of model implementation, including source code structure and run-time implementation structure Kinds  component diagram  deployment diagram

GO TO USER ROLES PAGE Component Diagram Introduction to UML 62 Shows the organizations and dependencies among software components Components include  source code components  binary code components  executable components

GO TO USER ROLES PAGE Elements of component diagram Element and its descriptionSymbol Component: The objects interacting with each other in the system. Depicted by a rectangle with the name of the object in it, preceded by a colon and underlined. Class/Interface/Object: Similar to the notations used in class and object diagrams Realization/Association: Similar to the relation/association used in class diagrams

GO TO USER ROLES PAGE Component Diagram

GO TO USER ROLES PAGE Deployment Diagram Introduction to UML 65 Shows the configuration of run-time processing elements and the software components, processes and objects that live on them Deployment diagrams may be used to show which components may run on which nodes

GO TO USER ROLES PAGE Deployment Diagram

GO TO USER ROLES PAGE The Current Official UML Specification: The current official version of UML and its associated specifications can be downloaded from OMG Specifications Catalog page for Modeling and Metadata Specifications at g.htm#UML

GO TO USER ROLES PAGE UML Certification OCUP OMG Certified UML Professional Three Certification Levels:  OCUP Fundamental  OCUP Intermediate  OCUP Advanced Link :

GO TO USER ROLES PAGE References Web References :     Book References :  UML Distilled by Martin Fowler with kendall Scott, Pearson Education.  User Guide for UML by Grady Booch, Ivar Jacobson and James Rumbaugh

Thank You