310 likes | 725 Views
UML / UML 2.0 Diagrams (Part I). Overview of the 13 diagrams of UML. Structure diagrams Class diagram Composite structure diagram (*) Component diagram Deployment diagram Object diagram Package diagram Behavior diagrams Use-case diagram State machine diagram Activity diagram
E N D
Overview of the 13 diagrams of UML Structure diagrams Class diagram Composite structure diagram (*) Component diagram Deployment diagram Object diagram Package diagram Behavior diagrams Use-case diagram State machine diagram Activity diagram Interaction diagrams Sequence diagram Communication diagram Interaction overview diagram (*) Timing diagram (*) (*) not existing in UML 1.x, added in UML 2.0
UML principle: diagram vs. model Different diagrams describe various facets of the model Several diagrams of the same kind may coexist Each diagram shows a projection of the model Incoherence between diagrams (of the same or of different kind(s)) correspond to an ill-formed model The coherence rules between different kinds of diagrams is not fully stated
Use case diagram Displays the relationship among actors and use cases, in a given system Main concepts: System – the system under modeling Actor – external “user” of the system Use case – execution scenario, observable by an actor
Class diagram The most known and the most used UML diagram Gives information on model structural elements Main concepts involved Class - Object Inheritance Association (various kinds of)
UML Class Gives the type of a set of objects existing at run-time Declares a collection of methods and attributes that describe the structure and behavior of its objects
Properties of UML classes May own features Structural (data related) : attributes Behavioral : methods/operations May own behavior (state machines, interactions, …) May be instantiated except for abstract classes that can NOT be directly instantiated and exist only for the inheritance hierarchy
Simple class box: passive class Class name in italics: abstract class Decode class symbol adornments Vehicle Door door * 1 Underlined attribute = class attribute Attributes area Automobile +wheelsNO : integer +wheelsNO : integer -serialNo : integer -serialNo : integer Feature visibility +, -, #,~ Method (operation) area +fillTank(In volume:real):real +fillTank(In volume:real):real
Object ford : Automobile Instance of a class Can be shown in a class diagram Notation wheelsNO=4 wheelsNO=4 serialNo=123ABC567 serialNo=123ABC567D
Relations Inheritance Association (Aggregation, Composition) Refer to UML_Class_Relation.ppt
Interface Declares set of public features and obligations Specifies a contract, to be fulfilled by classes implementing the interface Not instantiable (abstract class) Its specification can be realized by 0, 1 or several classes Interfaces hierarchies can be defined through inheritance relationships In UML 2.0, interface may also include attributes and a special form of a state machine called a protocol state machine.
SecureInteraction Satellite <<interface>> InteractionPrimitives Interface definition and use examples tokenExchange( tokenExchange() The class Satellite provides implementation for the 3 operations <<interface>> SecureInteraction checkConsistency checkConsistency() retrieveLast()
Service Requester vs. Provider Interface SiteSearch is realized (implemented) by SearchService. Interface SiteSearch is used (required) by SearchController
Package • Used to reflect the organization of packages and their elements. • When used to represent class elements, package diagrams provide a visualization of the namespaces (domains). • Subdivide models to permit teams of developers to manipulate and work effectively together • Typically a logical view (compared against the component/subsystem/deployment diagrams)
Component Its definition evolves from UML 1.x to UML 2.0 In UML 1.x - deployment artifacts In UML 2.0 – structured classes Modular unit with well-defined interfaces that is replaceable within its environment Autonomous unit within a system Has one or more provided and required interfaces Its internals are hidden and inaccessible A component is encapsulated Its dependencies are designed such that it can be treated as independently as possible
A component can have… • Interfaces • An interface represents a declaration of a set of operations and obligations • Usage dependencies • A usage dependency is relationship which one element requires another element for its full implementation • Ports • Port represents an interaction point between a component and its environment • Connectors • Connect two components (links are used to connect objects) • Connect the external contract of a component to the internal structure
Subsystem • Used to decompose the physical organization of large-scale system at the highest level of abstraction
Nodes and Deployment • Nodes: • Devices and • Execution environment • Focused on the artifacts that deploy executables (i.e., .exe, .dll, .lib files)