UML Packages & Related Diagrams

Slides:



Advertisements
Similar presentations
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Advertisements

Deployment Diagrams Depicts a static view of the run-time configuration of Nodes.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Modeling Notations.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
C OMPONENT & D EPLOYMENT D IAGRAMS Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Component and Deployment Diagrams
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
1 RNDS Deployment, Collaborations and Sequences CS : Software Design Winter /T6.
Common Mechanisms in UML
SE-565 Software System Requirements More UML Diagrams.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
SEG4110 – Advanced Software Design and Reengineering
An Introduction to Software Architecture
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
SaveUML System design. System overview Possible...
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
Modelling Class T16: Conceptual Modelling – Architecture Image from
4. UML. CPSC 333: Foundations of Software EngineeringJ. Denzinger 4.1. Motivation The Unified Modeling Language tries to integrate older approaches Developed.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Advanced UML Class Diagrams.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Implementation Diagrams
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Technology Layer. Technology Layer Metamodel Technology Layer Concepts.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Software Engineering Lecture 8 Object-Oriented Analysis.
UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class diagram 2.Composite structure diagram (*) 3.Component.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega. PLAN OF TALK  Introduction about components  Components and component diagrams in uml 2.0  Case study.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
1 Unified Modeling Language, Version 2.0 Chapter 2.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32. Review Behavioral Patterns – Observer Pattern – Chain of command.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Deployment Diagram.
UML Diagrams By Daniel Damaris Novarianto S..
Deployment Diagram.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
COMPONENT & DEPLOYMENT DIAGRAMS
G. Pullaiah College of Engineering and Technology
OO Methodology OO Architecture.
UML Diagrams Jung Woo.
UML dynamic Modeling (Behavior Diagram)
What is an Architecture?
IMPORTANT NOTICE TO STUDENTS:
Analysis models and design models
Class Diagrams.
An Introduction to Software Architecture
What is an Architecture?
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Presentation transcript:

UML Packages & Related Diagrams Extending UML Component Deployment

Why extend UML? Although UML is very well-defined, there are situations in which it needs to be customized to specific problem domains UML extension mechanisms are used to extend UML by: adding new model elements, creating new properties, and specifying new semantics There are three extension mechanisms: stereotypes, tagged values, constraints and notes

Stereotypes Stereotypes are used to extend UML to create new model elements that can be used in specific domains E.g. when modeling an elevator control system, we may need to represent some classes, states etc. as «hardware» «software» Stereotypes should always be applied in a consistent way

Stereotypes (cont.) Ways of representing a stereotype:  Place the name of the stereotype above the name of an existing UML element (if any) The name of the stereotype needs to be between «» (e.g. «node») Don’t use double ‘<‘ or ‘>’ symbols, there are special characters called open and close guillemets Create new icons «button» CancelButton Stereotype state  CancelButton Stereotype in form of icon

Tagged Values Tagged values Define additional properties for any kind of model elements Can be defined for existing model elements and for stereotypes Are shown as a tag-value pair where the tag represent the property and the value represent the value of the property Tagged values can be useful for adding properties about code generation version control configuration management authorship etc.

Tagged Values (cont.) A tagged value is shown as a string that is enclosed by brackets {} and which consists of: the tag, a separator (the symbol =), and a value {author = “Bob”, Version = 2.5} Employee name address Two tagged values

Constraints used to extend the semantics of UML by adding new rules, or modifying existing ones. can also be used to specify conditions that must be held true at all times for the elements of a model. can be represented using the natural language or OCL (Object Constraint Language)

Comments Comments are used to help clarify the models that are being created e.g. comments may be used for explaining the rationale behind some design decisions A comment is shown as a text string within a note icon. A note icon can also contain an OCL expression Title Copy 1..* Abstraction-occurrence pattern

UML Profiles UML Profiles provide an extension mechanism for building UML models for particular domains e.g. real-time systems, web development, etc… A profile consists of a package that contains one or more related extension mechanisms (such as stereotypes, tagged values and constraints) that are applied to UML model elements Profiles do not extend the UML metamodel. They are also called the UML light-weight extension mechanism

UML Profiles (cont.) A UML profile is a specification that does one or more of the following: Identifies a subset of the UML metamodel (which may be the entire UML metamodel) Specifies stereotypes and/or tagged values Specifies well-formedness rules beyond those that already exist Specifies semantics expressed in natural language

Example of a profile inspired by the research report of Cabot et al We would like to create a UML profile for representing basic GUI components. We suppose that our GUI contains the following components: Forms (which can also be dialog boxes) Buttons Constraints: (in practice, we need to be more precise) A form can invoke a dialog box A form as well as a dialog box can contain buttons

The GUI profile package Class and Association are part of UML metamodel GUI Profile Class Association <<stereotype>> Form <<stereotype>> Button <<stereotype>> Contains <<stereotype>> Invokes <<stereotype>> DialogBox

Instance Diagram of the GUI Profile <<Form>> MainView 1 <<Button>> OkButton CancelButton <<Invokes>> <<Contains>> <<DialogBox>> OpenDialogBox

Drawing Subsystems in UML System design must model static and dynamic structures: Component Diagrams for static structures show the structure at design time or compilation time Deployment Diagram for dynamic structures show the structure of the run-time system

Component Component: A component is a named physical and replaceable part of a system that represents physical packaging of otherwise logical elements and that conforms to, and provides the realization of, one or more interfaces. A component type represents a piece of software code (source, binary, or executable) A component type has a type name A component instance represents a run-time code unit A component instance has a name and a type (component-name : component-type) A component is represented as a rectangle with two small rectangles protruding from its side

Component Component: Physical packaging of model elements - Source, binary, executable, configuration, makefile, IDL bindings, etc. - Aggregate of other components Standard stereotypes - <<executable>> - a program that may run on a node - <<application>> - consists of several executables - <<file>> - file containing source code or data - <<library>> - static or dynamic library - <<document>> - a document - <<page>> - HTML page - technology specific <<ActiveX>>, <<JavaBean>>, <<Applet>>, <<DLL>>, <<CORBA Component>>

Modelling Elements: Components Basic Class Object Interface Collaboration Use-case Active Class Component Node Classes are basic model elements. Class names are shown in boldface type. Abstract classes are shown in italic. Object (Class Instance) are shown by class elements with underlined names. Interfaces are indicated by lollipops. Collaborations are indicated by dashed ovals. (They realize use-cases). Use-case is shown by ellipse. Active classes are shown by thick bordered class boxes.(They represent independent thread of processing). A Component is a combination of one or more classes that forms a physical software element. A Node is a processor or hardware device. A Composite Model element is a package or a subsystem of base or composite elements. Composite Package

Component Diagram Component Diagram A graph of components connected by dependency relationships. Shows the dependencies among software components source code, linkable libraries, executables has only a type form, not an instance form Dependencies are shown as dashed arrows from the client component to the supplier component. The kinds of dependencies are implementation language specific.

Use Case to Implementation Use Cases are eventually realized as components (Code) Components of the Implementation trace <<file>> Failed Logins <<page>> GUI/ Slide Entry trace <<executable>> entry of cards

Component Characteristics Component Diagram Component Characteristics Components trace to the model elements they implement (hence all the way back to use cases) A Component usually implements several elements Components provide the same interface as the model elements they implement Compilation dependencies denote which elements are required to compile a specific component Implement component stubs to ease compilation, integration and test

Component Diagram Example Scheduler reservations UML Component UML Interface Planner update GUI

UML 1.x vs. 2.x Component Diagrams

UML 1.x vs. 2.x Component Diagrams

UML 1.x vs. 2.x Component Diagrams Notational differences:  UML 2 components are modeled as simple rectangles uses this symbol as a visual stereotype within the rectangle UML 1.x there were depicted as rectangles with two smaller rectangles jutting out from the left-hand side.  As you can see  Both diagrams model dependencies, either between components or between components and interfaces.  both diagrams use the lollipop symbol to indicate an implemented interface the UML 2 version introduces the socket symbol to indicate a required interface. 

Example: Multitasking

Example: Multitasking Each capsule (i.e., active class) has its own independent thread of control that is implemented using its state diagram. can be mapped to a specific component (or set of components), which can then be built as an executable library or external library. Each component implements a non-trivial set of functionality may not necessarily be a single unit of code or a single binary. System architects can use both capsules and components to depict units of distribution, assembly, and deployment.

Deployment Diagram Deployment diagrams show the configuration of run-time processing elements and the software components, processes, and objects that live on them. Software component instances represent run-time manifestation of code units. Components that do not exist as run-time entities do not appear in Deployment diagrams.

Deployment Diagram Deployment diagrams are useful for showing a system design after the following decisions are made Subsystem decomposition Concurrency Hardware/Software Mapping A deployment diagram is a graph of nodes connected by communication associations. Nodes are shown as 3-D boxes. Nodes may contain component instances. Components may contain objects (indicating that the object is part of the component)

Deployment Diagram A deployment diagram is a graph of nodes connected by communication associations. Nodes may contain component instances; indicates “Component” run on nodes. Components may contain objects; indicates “Objects” is part of the component. Components are connected to other components by dashed-arrow dependencies.

Deployment Diagram A Deployment Diagram shows the actual Hardware configuration consisting of Nodes (processors) Software - Components Processes Objects

Deployment Diagram Sample Deployment Diagram This diagram shows 3 machines: 2 PC workstations running WebLogic and a Mainframe running the ODSs in DB2 <<Buildmaster Workstation>> <<WIN2000 on 1 Ghz PIII>> PC:Win2000 on Intel WebLogic W(dev) Server: WLS Managed Server <<WLS Instance: Port 8888>> administer SSL <<WLS Instance: Port 8888>> Admin Domain:WLS 6.1 Admin Domain:WLS 6.1 Admin Server Admin Server administer Text <<WL Instance: Port 7001>> Team's Server: WLS 6.1 <<Web <<Mainframe>> Browser>> DB2 UNT: SYS D IE 5.5 Text <<Enterprise <<database>> Application>> Claim:ODS JDG.ear get data <<database>> PA&R:ODS Text <<database>> Login:ODS

Deployment Diagram Captures the distinct number of computers involved Shows the communication modes employed Component diagrams can be embedded into deployment diagrams effectively…

Deployment Diagrams Note embedded component diagrams

Deployment Diagram Example Compile Time Dependency :Scheduler :HostMachine <<database>> meetingsDB Runtime Dependency :Planner :PC