Uml Slot

broken image


Made with
DIAGRAM 14

Unified Modeling Language (UML)

A UML diagram is a diagram based on the UML (Unified Modeling Language) with the purpose of visually representing a system along with its main actors, roles, actions, artifacts or classes, in order to better understand, alter, maintain, or document information about the system. UML is an acronym that stands for Unified Modeling Language. Simply put, UML is a modern approach to. In UML models, instance specifications are elements that represent an instance in the modeled system. When you instantiate a classifier in a model, the instance specification that you create represents an entity in the modeled system at a point in time, similar to a snapshot of the entity.

Unified Modeling Language (UML) is a language of graphic description for object modeling in the field of software engineering. UML was created for definition, visualization, designing of software systems. UML is an open standard that uses graphic notations for creating visual models of object-oriented software systems.

There are seven types of Structure Diagrams that must be present in any modeled system:

The Behavior Diagrams group includes:

The subgroup of Interaction Diagrams controls the flow of control and data, and includes:

Pic. 1. UML Notation


Class Diagrams

UML Class Diagram is a type of Structure Diagrams that shows the classes of a system, attributes, operations, and the relationships between them.

Class Diagram is one of important types of UML Diagrams. UML Class Diagrams are used for static modeling of the system, for data modeling, for conceptual modeling of the application, and for modeling of the system dictionary, On the Class Diagram, Classes are represented as boxes that consist of three parts: name, attributes of the class, and operations or methods.

Use the following notations to set the visibility of a class member: Public (+), Private (-), Protected (#), Derived (/), Static (_), Package (~). Notation must be placed before the name of class member.

There are a few types of associations between objects and classes on the Class Diagrams.

Bi-directional associations are represented by a line between two classes, it is default connection between classes. Uni-directional associations are represented as the unbroken lines with an open arrowhead.

Aggregation is an association with the relation between the whole and its parts, and is represented as empty diamond on the Class Diagram.

Composition is a strong variant of aggregation, represents on as filled diamond.

Inheritance is when a child object or class assumes all properties of his parent object or class, is represented as empty triangle. There are four notations: 0.1, 1, 0.*, 1.*, that indicate the multiplicity of associations.


Package Diagrams

UML Package Diagram is a type of Structure Diagrams that represents the packages of the model and dependencies between them.

Package Diagrams are used to illustrate the layered architecture of a software system. The packages depict the different layers of a software system. To indicate the types of dependencies between the packages are used the stereotypes.

There are two special types of dependencies between the packages in UML: package import and package merge.

To design UML Package Diagrams use the following shape types:

  • Package – it is the mechanism indispensable for organizing the elements and diagrams into the groups.
  • Class - it is a description of logical structure of the system, its objects and their behavior in the system.
  • Interface - it is a specification of the behavior.
  • Object - it is an instance of class, and others.

UML Package Diagrams are very useful for working with large systems, because they allow to clearly view all the dependencies between the elements of these systems.


Object Diagrams

UML Object Diagram is a type of Structure Diagrams that shows the objects of the system and attributes, and relations between the objects at a certain moment of time.

UML Object Diagram represents a specific instance of a Class Diagram at a moment of time.

A correlated group of the Object Diagrams shows how the system will develop over the time.

Objects and links on the UML Object Diagram are represented by Instance Specification that use the slots to show the object classifier, instance name, attributes and other structural characteristics. One attribute or feature has the one corresponded slot. Links between instances are named as links. You can also use the associations of aggregation (represents as empty diamond) or composition (represents as filled diamond), and other UML entities on the UML Object Diagram.


Use Case Diagrams

UML Use Case Diagram is a type of Behavior Diagrams that displays the dependencies between the actors and use cases. UML Use Case Diagram displays the system on the conceptual level.

The purpose of a UML Use Case Diagram is to demonstrate the various types of users of a system and the different ways of their interacting with this system. Use Case Diagrams are often used together with the textual use cases and other types of diagrams.

The notation for a Use Case Diagram involves the following types of symbols:

  • Use cases are represented as the horizontally shaped ovals and display the different uses.
  • Actors are the people that employ the use cases and are represented on the diagram as figures of persons. Actors cannot be related each to other (except relations of generalization/inheritance).
  • Associations are shown as lines between actors and use cases.
  • System boundary – the box with the name and ovals (use cases) inside that sets a system scope to use cases.
  • Packages that allow you to add the elements in groups.

Sequence Diagrams

UML Sequence Diagram is a type of Interaction Diagrams that describes the interactions between objects and classes that are involved in the scenario and the sequence of messages exchanged between them.

Uml

UML Sequence Diagram represents the processes and objects that occur at the same time as lifelines (parallel vertical lines), and the messages exchanged between them as horizontal arrows.

Sequence Diagrams are very popular in dynamic modeling.


Collaboration Diagrams

UML Communication Diagram in UML 2.0 (Collaboration Diagram in UML 1.x) is a type of Interaction Diagrams that displays the interactions of objects using the sequenced messages.

UML Communication Diagrams shows simultaneously the static structure and dynamic behavior of a system. Communication Diagrams involve the information taken from Class, Sequence, and Use Case Diagrams.

On the Communication Diagrams are shown the interactions between objects and the time as a separate dimension is not used, in contrast to Sequence Diagram.

UML Communication Diagrams also as UML Object diagrams use the free-form arrangement of objects and links. Messages are numbered in the chronological order. Reading of Communication Diagram starts on the message 1.0, and continues in the direction of sending messages from object to object.


Activity Diagrams

UML Activity Diagram is a type of Behavior Diagrams that graphically describes decomposition of the some activity on the components.

Activity Diagrams are used in modeling of business processes, technological processes, sequential and parallel computations. UML Activity Diagram allows to show the sequence, branching and synchronization of processes.

To design UML Activity Diagrams use the following shape types:

  • rounded rectangles to describe the actions;
  • diamonds to describe decisions;
  • bars to represent the start or end of the activities that occur at the same time;
  • black circle to indicate the start of the workflow;
  • encircled black circle to indicate the end of the workflow;
  • arrows to represent the order in which activities happen.

Activity Diagrams were a specialized form of the State Diagrams in UML 1.x. In UML 2.x, the Activity Diagrams were reformed and now are based on Petri net-like semantics that allows to model a lot more situations.


Component Diagrams

UML Component Diagram is a type of Structure Diagrams that shows how components are connected to larger components or software systems, and shows the dependencies among these components.

Component-based development supposes that constructed components can be reused and replaced by some other components. Components in UML can represent logical components and physical components. The behavior of components is defined in the terms of provided interfaces and required.

There are two types of connectors linking components: assembly connectors and delegation connectors.

Assembly connector is a connector between two components that allows to connect the required interface of one component with the provided interface of another component. Thus the assembly connector is described that one component provides the services that another component requires.

A delegation connector is a connector that describes how a component realizes the specification of behavior. When a delegation connector is assigned, the signals that arrive at the port will be delegated on the internal part. To communicate with external part it is necessary to delegate signals from the internal part to a port using the delegation connector.


Deployment Diagrams

UML Deployment Diagram is a type of Structure Diagrams that shows the physical deployment of information generated by the software programs.

Slots

The information generated by the software is called 'artifact'. The hardware with installed software is called 'node'. Thus, UML Deployment Diagram models the physical deployment of artifacts on nodes.

UML Deployment Diagram is intended for visualization of elements and components of the program that exist only on the stage of its runtime. The development of the Deployment Diagram is the last stage of the specification of the software system model.

UML Deployment Diagram represents the nodes as boxes, and the artifacts as rectangles within the boxes. The nodes can have subnodes that are represented as nested boxes. One node on the UML Deployment Diagram can conceptually describe more than one physical node. There are two types of nodes: device nodes and execution environment nodes.

Device nodes are the computing resources with capability of processing memory and executing of software. An execution environment node (EEN) is a computer system that is located inside a device node.

The other shapes the most used in UML Deployment Diagrams are:

  • Communication path - a line that connect two device nodes and represents communications between them.
  • Package - a file shaped box that groups together all the device nodes.
  • Data Store, Frames, Components UML, and others.

State Machine Diagrams

UML State Machine Diagram is a type of Behavior Diagrams that displays the finite state machine with states and state transitions.

UML State Machine Diagram is a realization of the mathematical concept of a finite state machine. State Machine Diagram is an oriented graph for finite state machine in what tops represent states and connectors show transitions between two states. States are represented as rounded rectangles and state transitions as arrows. The Initial State of the system is represented as black circle, and Final State as encircled black circle.

UML State Machine Diagram is the object-based version of Harel State Chart that is extended by UML. UML State Machines keep the main benefits of traditional finite state machines and also overcome their restrictions. UML State Machines extend the notion of actions.


Timing Diagrams

UML Timing Diagram in the UML 2.0 is a specific type of Interaction Diagrams that describes the timing constraints. UML Timing Diagrams describes the behaviors of the objects during a certain period of time.

UML Timing Diagram is an inverted form of a Sequence Diagram – the axes are reversed thus the time is passing on the x-axis from left to right, and the different components of the system which interact with each other are arranged on the y-axis.


Interaction Overview Diagrams

UML Interaction Overview Diagram is a type of Interaction Diagrams that describes an overview in which the nodes represent interaction diagrams.

Interaction Overview Diagrams look the same as Activity Diagrams. The difference is that: on the Interaction Overview Diagram every individual activity describes as a frame that can include the nested Interaction Diagrams. This feature makes the Interaction Overview Diagrams useful to deconstruct the complex scenarios.


Composite Structure Diagrams

UML Composite Structure Diagram is a type of Structure Diagrams that shows the internal structure of a class and the interactions of elements of the internal structure of the class.

The Composite Structure Diagrams appeared in UML 2.0 to supplement the existing artifacts such as classes. A Composite Structure Diagram consists of the set of elements that are connected and collaborate at the runtime. Each element executes the defined role in this collaboration.

UML Composite Structure Diagram includes internal parts; ports through these parts interact between each other and with the outside world; connectors between parts or ports; collaborations and structured classifier.

The Rapid UML Solution for ConceptDraw DIAGRAM provides templates and samples for each type of UML diagram that help you to create the UML Diagrams in one moment.


TEN RELATED HOW TO's:

Cross Functional Flowchart Examples →

ConceptDraw DIAGRAM extended with Cross-Functional Flowcharts Solution from the Business Processes Area is a powerful software which offers a variety of Cross Functional Flowchart examples. The use of predesigned examples as the base for your own Cross Functional Flowchart Diagrams is a timesaving and useful way.
Related Solution:

UML Block Diagram →

Use Case Diagram Taxi Service UML. This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the UML Use Case Diagram library of the Rapid UML Solution from the Software Development area of ConceptDraw Solution Park. This sample shows the work of the taxi service and is used by taxi stations, by airports, in the tourism field and delivery service.
Related Solution:

UML Use Case Diagram Example. Registration System →

The use case diagram (behavior scenarios, precedents) is the initial conceptual representation of the system during its design and development. This diagram consists of actors, use cases and relationships between them. When constructing a diagram, common notation elements can also be used: notes and extension mechanisms. This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the UML Use Case Diagram library of the Rapid UML Solution from the Software Development area of ConceptDraw Solution Park. This sample shows the types of user's interactions with the system and is used at the registration and working with the database system.
Picture: UML Use Case Diagram Example. Registration System

Cloud Computing Architecture →

The Cloud Computing Architecture is the structure of the system, which is based on the needs of end-user and includes the set of components and subcomponents required for cloud computing, among them cloud resources, services, middleware, software components, front-end platforms (cloud clients), cloud-based back end platforms (servers, storage), and a network (Internet, Intranet, Intercloud). When designing the Cloud Computing Architecture diagrams, the ConceptDraw DIAGRAM diagramming and vector drawing software advises to turn attention for the powerful Cloud Computing Diagrams solution from the extensive Computers and Network area of ConceptDraw Solution Park.
Related Solution:

Campus Area Networks (CAN). Computer and Network Examples →

If we divide computer networks by scale, we get several main categories. The smallest network is PAN, as it connects personal devices themselves, and as the number of users grows, a local area network can be recognized, and campus area networks (CAN) connects several local networks located within some area like a university or a corporation. Computers connected to CAN share public educational materials and list of CAN network examples includes such prestigious universities like Stanford and Carnegie Mellon. This is an example of a computer network diagram created for a campus area network. It was created using using ConceptDraw solution for the Computer and Network diagramming. The specific of this sample campus network is its distribution. It is rather broad to embrace a big campus territory. This diagram can be applied as a template for designing custom area network topology diagram for a particular educational institution.Computer and Network Examples *'>
Picture: Campus Area Networks (CAN). Computer and Network Examples

Process Flow Chart Symbols →

Process Flow Chart is a visual diagram which shows the processes and relationships between the major components in a system, and uses for this the special process flow chart symbols: special shapes to represent different types of actions and process steps, lines and arrows to represent relationships and sequence of steps. It often named process flow diagram, it use colored flowchart symbols. It is incredibly convenient to use the ConceptDraw DIAGRAM software extended with Flowcharts Solution from the 'Diagrams' Area of ConceptDraw Solution Park for designing professional looking Process Flow Charts.
Related Solution:

Mac OS GUI Software →

ConceptDraw DIAGRAM diagramming and vector drawing software extended with Mac OS User Interface Solution from the Software Development area is a powerful Mac OS GUI Software
Related Solution:

System Design →

ConceptDraw DIAGRAM system design software is a product of CS Odessa that was developed especially for making it much simpler to create all the needed diagrams, charts, flowcharts, schemes and other drawings when there is such a need in it. Having the Specification and Description Language (SDL) solution installed from the ConceptDraw STORE application may be another bonus to any ConceptDraw DIAGRAM diagramming and drawing software's user as it offers both stencil libraries with the design elements and the pre-made examples of the diagrams, such as the SDL ones.
Related Solution:

UML Timing Diagram, Design Elements →

UML Timing Diagram as special form of a sequence diagram are used to explore the behaviors of objects throughout a given period of time. ConceptDraw has 393 vector stencils in the 13 libraries that helps you to start using software for designing your own UML Diagrams. You can use the appropriate stencils of UML notation from UML Timing library.
Related Solution:

Business Process Modeling with ConceptDraw →

Business Process Modeling Notation -BPMN- is a set of standard symbols that allow you to create a graphical view of a business process. The symbols were developed to help users develop standard, unified structure of processes, and any messages shared between these processes. This is business process improvement tools.

Uml Solution Center Email

*'>
Picture: Business Process Modeling with ConceptDraw
DIAGRAM 14

A property is a structural feature which could represent

  • an attribute of a classifier, or
  • a member end of association, or
  • a part of a structured classifier.

As a structural feature, property represents some named part of the structure of a classifier. For example, Patient class could have id, name, gender, date of birth, etc. as its properties.

Attributes (properties) of Patient class are
id, name, gender, birth date, home address, visits.

When instance of a classifier is created, each non static property becomes a part of the state of that instance, and is implemented by some mapping of the name of the property to a specific value or values that the state of the instance is composed of. Values of each property have specific type and are allocated in the slots of the instance or associated with that instance.

Instance newPatient of the Patient class
has slots with values specified.

The general syntax for properties is shown below:

property ::= [ visibility ] ['/'] property-name [ ':' property-type ] [ '[' multiplicity ']' ] [ '=' default-value ] [ property-modifiers ]
visibility ::= '+' | '~' | '#' | '-'
property-modifiers ::= '{' property-modifier [ ',' property-modifier ] * '}'
property-modifier ::= 'id' | 'readOnly' | 'ordered' | ( 'seq' | 'sequence' ) | 'unique' | 'nonunique' | 'union' |
'redefines' property-name | 'subsets' property-name | property-constraint

Optional visibility is the visibility of the property. Note, that there is no default visibility. Also, visibility may be suppressed from being displayed on a diagram, even if it has some value in the model (e.g. stored by UML tool). So, if visibility is not shown on a diagram, it was either not specified or suppressed.

Forward slash '/' means that the property is derived.

The property-type is the type of the property represented by the name of classifier.

Property could have multiplicity. The multiplicity bounds constrain the size of the collection of property values. By default the maximum bound is 1.

The default-value option is an expression for the default value or values of the property.

Property may have optional modifiers:

ModifierDescription
idProperty is part of the identifier for the class which owns the property.
readOnlyProperty is read only (isReadOnly = true).
orderedProperty is ordered (isOrdered = true).
uniqueMulti-valued property has no duplicate values (isUnique = true).
nonuniqueMulti-valued property may have duplicate values (isUnique = false).
sequence (or seq)Property is an ordered bag (isUnique = false and isOrdered = true).
unionProperty is a derived union of its subsets.
redefines property-nameProperty redefines an inherited property named property-name.
subsets property-nameProperty is a subset of the property named property-name.
property-constraintA constraint that applies to the property

Attribute

Older UML 1.x specifications, e.g. UML 1.4.2 Specification, defined attribute as a named slot within a classifier that describes a range of values that instances of the classifier may hold.'

In UML 2.x a propertyowned by a classifier represents an attribute of the classifier. Context of the attribute is the owning classifier.

For example, Patient class may have id, name, gender, date of birth, etc. as its attributes.

Attributes of Patient class are
id, name, gender, birth date, home address, visits.

UML specification very vaguely describes ownership of (non static) attribute as some relationship when the value or values related to the instance of the classifier are being held in the slots of the instance.

Slot is UML element which specifies that an instance has a value or values for a specific structural feature. UML specification also says that a slot gives the value or values of a structural feature of the instance. An instance can have one slot per structural feature of its classifiers, including inherited features.

In programming we would call this kind of mapping as memory slots or storage. In plain English, attributes of classifier are stored in slots of the classifier.

When instance of a classifier is created, each non static property becomes a part of the state of that instance, and is implemented by some mapping of the name of the property to a specific value or values that the state of the instance is composed of. Values of each property have specific type and are allocated in the slots of the instance or associated with that instance.

Instance newPatient of the Patient class
has slots with values specified.

Attribute Vs. Member End of Composition or Association

Specifications and User Guides of the older UML 1.x versions considered attribute as a shortcut or semantic equivalent of the composition. For example, UML 1.4.2 Specification explained:

Note that an attribute is semantically equivalent to a composition association; however, the intent and usage is normally different.

(It would be really helpful to see some explanation of what exactly that snobbish 'normally different intent and usage' might mean, so the next citation provides some clue.)

The class symbol may be thought of as an example of the composition nesting notation (with some special layout properties). However, attribute notation subordinates the attributes strongly within the class; therefore, it should be used when the structure and identity of the attribute objects themselves is unimportant outside the class.

In UML 1.x they also called it 'different ways to show composition', so that the example of the Patient class with attributes shown above could be also rendered using composition instead of some attributes.

Address and visits attributes of the Patient class
shown here as two compositions, as allowed by UML 1.x.

UML 2.x specifications allow to show an attribute using notation for association, so that that previous example of the Patient class could be rendered in UML 2.5 as shown below.

Address and visits attributes of the Patient class
may be shown using association notation in UML 2.x.

Note, that the ownership of association ends by the associated Patient class is indicated graphically by a small filled circles (aka dots, see explanations following). Also note, that there are no adornments (decorations) at the association ends connected to the class.

Uml Solution Center

Association Member End

When a property is an association end, the value or values of the property are related to the instance or instances at the other end(s) of the association.

A property owned by an association represents an attribute of the association and is named member end. In the case of an association end context is the set of types at the other end or ends of the association.

Association end could be owned either by

  • end classifier, or
  • association itself.

Association ends of associations with more than two ends must be owned by the association.

UML standard does not mandate the use of explicit end-ownership notation, but defines a default. When dot notation is not used in binary association, association ends are assumed to be owned by association.

Member End of Association Vs. Attribute

Classifier attribute may represent an association end when this association end is owned by the classifier.

Ownership of association ends by an associated classifier may be indicated graphically by a small filled circle (aka dot). The dot is drawn at the point where line meets the classifier. It could be interpreted as showing that the model includes a property of the type represented by the classifier touched by the dot. This property is owned by the classifier at the other end.

Association end query is owned by classifier QueryBuilder
and association end qbuilder is owned by association Builds itself

Qualifier

A property may have other properties (attributes) that serve as qualifiers. A qualifier is a property which defines a partition of the set of associated instances with respect to an instance at the qualified end. (And probably more appropriate name for qualifier would be selector or key.)

Qualifiers are used to model hash maps in Java, dictionaries in C#, index tables, etc. where fast access to linked object(s) is provided using qualifier as a hash key, search argument or index.

A qualifier is shown as a small rectangle attached to the qualified classifier also called the source. This qualifier rectangle is part of the association, not part of the classifier. UML does not allow qualifier to be suppressed.

Uml Slot Cars

One or several attributes of the qualifier are drawn within the qualifier box, one to a line. Qualifier attributes have the same notation as classifier attributes, except that initial values are not used in this case.

UML allows having a qualifier on each end of a single association.

Multiplicity of Target

Given a qualified object and a qualifier instance, the number of objects at the target end of the association is constrained by the declared multiplicity of the target.

Target multiplicity should allow 0 ('no results') if the domain of the qualifier is large or infinite, e.g. number, long string, date. It can be exactly 1 for qualifiers of enumerated or restricted domain.

In the case in which the target multiplicity is 0.1, the qualifier value is unique with respect to the qualified object, and links to at most one associated object.

Given a company and a social security number (SSN)
at most one employee could be found

Isle casino buffet crab legs

UML Sequence Diagram represents the processes and objects that occur at the same time as lifelines (parallel vertical lines), and the messages exchanged between them as horizontal arrows.

Sequence Diagrams are very popular in dynamic modeling.


Collaboration Diagrams

UML Communication Diagram in UML 2.0 (Collaboration Diagram in UML 1.x) is a type of Interaction Diagrams that displays the interactions of objects using the sequenced messages.

UML Communication Diagrams shows simultaneously the static structure and dynamic behavior of a system. Communication Diagrams involve the information taken from Class, Sequence, and Use Case Diagrams.

On the Communication Diagrams are shown the interactions between objects and the time as a separate dimension is not used, in contrast to Sequence Diagram.

UML Communication Diagrams also as UML Object diagrams use the free-form arrangement of objects and links. Messages are numbered in the chronological order. Reading of Communication Diagram starts on the message 1.0, and continues in the direction of sending messages from object to object.


Activity Diagrams

UML Activity Diagram is a type of Behavior Diagrams that graphically describes decomposition of the some activity on the components.

Activity Diagrams are used in modeling of business processes, technological processes, sequential and parallel computations. UML Activity Diagram allows to show the sequence, branching and synchronization of processes.

To design UML Activity Diagrams use the following shape types:

  • rounded rectangles to describe the actions;
  • diamonds to describe decisions;
  • bars to represent the start or end of the activities that occur at the same time;
  • black circle to indicate the start of the workflow;
  • encircled black circle to indicate the end of the workflow;
  • arrows to represent the order in which activities happen.

Activity Diagrams were a specialized form of the State Diagrams in UML 1.x. In UML 2.x, the Activity Diagrams were reformed and now are based on Petri net-like semantics that allows to model a lot more situations.


Component Diagrams

UML Component Diagram is a type of Structure Diagrams that shows how components are connected to larger components or software systems, and shows the dependencies among these components.

Component-based development supposes that constructed components can be reused and replaced by some other components. Components in UML can represent logical components and physical components. The behavior of components is defined in the terms of provided interfaces and required.

There are two types of connectors linking components: assembly connectors and delegation connectors.

Assembly connector is a connector between two components that allows to connect the required interface of one component with the provided interface of another component. Thus the assembly connector is described that one component provides the services that another component requires.

A delegation connector is a connector that describes how a component realizes the specification of behavior. When a delegation connector is assigned, the signals that arrive at the port will be delegated on the internal part. To communicate with external part it is necessary to delegate signals from the internal part to a port using the delegation connector.


Deployment Diagrams

UML Deployment Diagram is a type of Structure Diagrams that shows the physical deployment of information generated by the software programs.

The information generated by the software is called 'artifact'. The hardware with installed software is called 'node'. Thus, UML Deployment Diagram models the physical deployment of artifacts on nodes.

UML Deployment Diagram is intended for visualization of elements and components of the program that exist only on the stage of its runtime. The development of the Deployment Diagram is the last stage of the specification of the software system model.

UML Deployment Diagram represents the nodes as boxes, and the artifacts as rectangles within the boxes. The nodes can have subnodes that are represented as nested boxes. One node on the UML Deployment Diagram can conceptually describe more than one physical node. There are two types of nodes: device nodes and execution environment nodes.

Device nodes are the computing resources with capability of processing memory and executing of software. An execution environment node (EEN) is a computer system that is located inside a device node.

The other shapes the most used in UML Deployment Diagrams are:

  • Communication path - a line that connect two device nodes and represents communications between them.
  • Package - a file shaped box that groups together all the device nodes.
  • Data Store, Frames, Components UML, and others.

State Machine Diagrams

UML State Machine Diagram is a type of Behavior Diagrams that displays the finite state machine with states and state transitions.

UML State Machine Diagram is a realization of the mathematical concept of a finite state machine. State Machine Diagram is an oriented graph for finite state machine in what tops represent states and connectors show transitions between two states. States are represented as rounded rectangles and state transitions as arrows. The Initial State of the system is represented as black circle, and Final State as encircled black circle.

UML State Machine Diagram is the object-based version of Harel State Chart that is extended by UML. UML State Machines keep the main benefits of traditional finite state machines and also overcome their restrictions. UML State Machines extend the notion of actions.


Timing Diagrams

UML Timing Diagram in the UML 2.0 is a specific type of Interaction Diagrams that describes the timing constraints. UML Timing Diagrams describes the behaviors of the objects during a certain period of time.

UML Timing Diagram is an inverted form of a Sequence Diagram – the axes are reversed thus the time is passing on the x-axis from left to right, and the different components of the system which interact with each other are arranged on the y-axis.


Interaction Overview Diagrams

UML Interaction Overview Diagram is a type of Interaction Diagrams that describes an overview in which the nodes represent interaction diagrams.

Interaction Overview Diagrams look the same as Activity Diagrams. The difference is that: on the Interaction Overview Diagram every individual activity describes as a frame that can include the nested Interaction Diagrams. This feature makes the Interaction Overview Diagrams useful to deconstruct the complex scenarios.


Composite Structure Diagrams

UML Composite Structure Diagram is a type of Structure Diagrams that shows the internal structure of a class and the interactions of elements of the internal structure of the class.

The Composite Structure Diagrams appeared in UML 2.0 to supplement the existing artifacts such as classes. A Composite Structure Diagram consists of the set of elements that are connected and collaborate at the runtime. Each element executes the defined role in this collaboration.

UML Composite Structure Diagram includes internal parts; ports through these parts interact between each other and with the outside world; connectors between parts or ports; collaborations and structured classifier.

The Rapid UML Solution for ConceptDraw DIAGRAM provides templates and samples for each type of UML diagram that help you to create the UML Diagrams in one moment.


TEN RELATED HOW TO's:

Cross Functional Flowchart Examples →

ConceptDraw DIAGRAM extended with Cross-Functional Flowcharts Solution from the Business Processes Area is a powerful software which offers a variety of Cross Functional Flowchart examples. The use of predesigned examples as the base for your own Cross Functional Flowchart Diagrams is a timesaving and useful way.
Related Solution:

UML Block Diagram →

Use Case Diagram Taxi Service UML. This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the UML Use Case Diagram library of the Rapid UML Solution from the Software Development area of ConceptDraw Solution Park. This sample shows the work of the taxi service and is used by taxi stations, by airports, in the tourism field and delivery service.
Related Solution:

UML Use Case Diagram Example. Registration System →

The use case diagram (behavior scenarios, precedents) is the initial conceptual representation of the system during its design and development. This diagram consists of actors, use cases and relationships between them. When constructing a diagram, common notation elements can also be used: notes and extension mechanisms. This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the UML Use Case Diagram library of the Rapid UML Solution from the Software Development area of ConceptDraw Solution Park. This sample shows the types of user's interactions with the system and is used at the registration and working with the database system.
Picture: UML Use Case Diagram Example. Registration System

Cloud Computing Architecture →

The Cloud Computing Architecture is the structure of the system, which is based on the needs of end-user and includes the set of components and subcomponents required for cloud computing, among them cloud resources, services, middleware, software components, front-end platforms (cloud clients), cloud-based back end platforms (servers, storage), and a network (Internet, Intranet, Intercloud). When designing the Cloud Computing Architecture diagrams, the ConceptDraw DIAGRAM diagramming and vector drawing software advises to turn attention for the powerful Cloud Computing Diagrams solution from the extensive Computers and Network area of ConceptDraw Solution Park.
Related Solution:

Campus Area Networks (CAN). Computer and Network Examples →

If we divide computer networks by scale, we get several main categories. The smallest network is PAN, as it connects personal devices themselves, and as the number of users grows, a local area network can be recognized, and campus area networks (CAN) connects several local networks located within some area like a university or a corporation. Computers connected to CAN share public educational materials and list of CAN network examples includes such prestigious universities like Stanford and Carnegie Mellon. This is an example of a computer network diagram created for a campus area network. It was created using using ConceptDraw solution for the Computer and Network diagramming. The specific of this sample campus network is its distribution. It is rather broad to embrace a big campus territory. This diagram can be applied as a template for designing custom area network topology diagram for a particular educational institution.Computer and Network Examples *'>
Picture: Campus Area Networks (CAN). Computer and Network Examples

Process Flow Chart Symbols →

Process Flow Chart is a visual diagram which shows the processes and relationships between the major components in a system, and uses for this the special process flow chart symbols: special shapes to represent different types of actions and process steps, lines and arrows to represent relationships and sequence of steps. It often named process flow diagram, it use colored flowchart symbols. It is incredibly convenient to use the ConceptDraw DIAGRAM software extended with Flowcharts Solution from the 'Diagrams' Area of ConceptDraw Solution Park for designing professional looking Process Flow Charts.
Related Solution:

Mac OS GUI Software →

ConceptDraw DIAGRAM diagramming and vector drawing software extended with Mac OS User Interface Solution from the Software Development area is a powerful Mac OS GUI Software
Related Solution:

System Design →

ConceptDraw DIAGRAM system design software is a product of CS Odessa that was developed especially for making it much simpler to create all the needed diagrams, charts, flowcharts, schemes and other drawings when there is such a need in it. Having the Specification and Description Language (SDL) solution installed from the ConceptDraw STORE application may be another bonus to any ConceptDraw DIAGRAM diagramming and drawing software's user as it offers both stencil libraries with the design elements and the pre-made examples of the diagrams, such as the SDL ones.
Related Solution:

UML Timing Diagram, Design Elements →

UML Timing Diagram as special form of a sequence diagram are used to explore the behaviors of objects throughout a given period of time. ConceptDraw has 393 vector stencils in the 13 libraries that helps you to start using software for designing your own UML Diagrams. You can use the appropriate stencils of UML notation from UML Timing library.
Related Solution:

Business Process Modeling with ConceptDraw →

Business Process Modeling Notation -BPMN- is a set of standard symbols that allow you to create a graphical view of a business process. The symbols were developed to help users develop standard, unified structure of processes, and any messages shared between these processes. This is business process improvement tools.

Uml Solution Center Email

*'>
Picture: Business Process Modeling with ConceptDraw
DIAGRAM 14

A property is a structural feature which could represent

  • an attribute of a classifier, or
  • a member end of association, or
  • a part of a structured classifier.

As a structural feature, property represents some named part of the structure of a classifier. For example, Patient class could have id, name, gender, date of birth, etc. as its properties.

Attributes (properties) of Patient class are
id, name, gender, birth date, home address, visits.

When instance of a classifier is created, each non static property becomes a part of the state of that instance, and is implemented by some mapping of the name of the property to a specific value or values that the state of the instance is composed of. Values of each property have specific type and are allocated in the slots of the instance or associated with that instance.

Instance newPatient of the Patient class
has slots with values specified.

The general syntax for properties is shown below:

property ::= [ visibility ] ['/'] property-name [ ':' property-type ] [ '[' multiplicity ']' ] [ '=' default-value ] [ property-modifiers ]
visibility ::= '+' | '~' | '#' | '-'
property-modifiers ::= '{' property-modifier [ ',' property-modifier ] * '}'
property-modifier ::= 'id' | 'readOnly' | 'ordered' | ( 'seq' | 'sequence' ) | 'unique' | 'nonunique' | 'union' |
'redefines' property-name | 'subsets' property-name | property-constraint

Optional visibility is the visibility of the property. Note, that there is no default visibility. Also, visibility may be suppressed from being displayed on a diagram, even if it has some value in the model (e.g. stored by UML tool). So, if visibility is not shown on a diagram, it was either not specified or suppressed.

Forward slash '/' means that the property is derived.

The property-type is the type of the property represented by the name of classifier.

Property could have multiplicity. The multiplicity bounds constrain the size of the collection of property values. By default the maximum bound is 1.

The default-value option is an expression for the default value or values of the property.

Property may have optional modifiers:

ModifierDescription
idProperty is part of the identifier for the class which owns the property.
readOnlyProperty is read only (isReadOnly = true).
orderedProperty is ordered (isOrdered = true).
uniqueMulti-valued property has no duplicate values (isUnique = true).
nonuniqueMulti-valued property may have duplicate values (isUnique = false).
sequence (or seq)Property is an ordered bag (isUnique = false and isOrdered = true).
unionProperty is a derived union of its subsets.
redefines property-nameProperty redefines an inherited property named property-name.
subsets property-nameProperty is a subset of the property named property-name.
property-constraintA constraint that applies to the property

Attribute

Older UML 1.x specifications, e.g. UML 1.4.2 Specification, defined attribute as a named slot within a classifier that describes a range of values that instances of the classifier may hold.'

In UML 2.x a propertyowned by a classifier represents an attribute of the classifier. Context of the attribute is the owning classifier.

For example, Patient class may have id, name, gender, date of birth, etc. as its attributes.

Attributes of Patient class are
id, name, gender, birth date, home address, visits.

UML specification very vaguely describes ownership of (non static) attribute as some relationship when the value or values related to the instance of the classifier are being held in the slots of the instance.

Slot is UML element which specifies that an instance has a value or values for a specific structural feature. UML specification also says that a slot gives the value or values of a structural feature of the instance. An instance can have one slot per structural feature of its classifiers, including inherited features.

In programming we would call this kind of mapping as memory slots or storage. In plain English, attributes of classifier are stored in slots of the classifier.

When instance of a classifier is created, each non static property becomes a part of the state of that instance, and is implemented by some mapping of the name of the property to a specific value or values that the state of the instance is composed of. Values of each property have specific type and are allocated in the slots of the instance or associated with that instance.

Instance newPatient of the Patient class
has slots with values specified.

Attribute Vs. Member End of Composition or Association

Specifications and User Guides of the older UML 1.x versions considered attribute as a shortcut or semantic equivalent of the composition. For example, UML 1.4.2 Specification explained:

Note that an attribute is semantically equivalent to a composition association; however, the intent and usage is normally different.

(It would be really helpful to see some explanation of what exactly that snobbish 'normally different intent and usage' might mean, so the next citation provides some clue.)

The class symbol may be thought of as an example of the composition nesting notation (with some special layout properties). However, attribute notation subordinates the attributes strongly within the class; therefore, it should be used when the structure and identity of the attribute objects themselves is unimportant outside the class.

In UML 1.x they also called it 'different ways to show composition', so that the example of the Patient class with attributes shown above could be also rendered using composition instead of some attributes.

Address and visits attributes of the Patient class
shown here as two compositions, as allowed by UML 1.x.

UML 2.x specifications allow to show an attribute using notation for association, so that that previous example of the Patient class could be rendered in UML 2.5 as shown below.

Address and visits attributes of the Patient class
may be shown using association notation in UML 2.x.

Note, that the ownership of association ends by the associated Patient class is indicated graphically by a small filled circles (aka dots, see explanations following). Also note, that there are no adornments (decorations) at the association ends connected to the class.

Uml Solution Center

Association Member End

When a property is an association end, the value or values of the property are related to the instance or instances at the other end(s) of the association.

A property owned by an association represents an attribute of the association and is named member end. In the case of an association end context is the set of types at the other end or ends of the association.

Association end could be owned either by

  • end classifier, or
  • association itself.

Association ends of associations with more than two ends must be owned by the association.

UML standard does not mandate the use of explicit end-ownership notation, but defines a default. When dot notation is not used in binary association, association ends are assumed to be owned by association.

Member End of Association Vs. Attribute

Classifier attribute may represent an association end when this association end is owned by the classifier.

Ownership of association ends by an associated classifier may be indicated graphically by a small filled circle (aka dot). The dot is drawn at the point where line meets the classifier. It could be interpreted as showing that the model includes a property of the type represented by the classifier touched by the dot. This property is owned by the classifier at the other end.

Association end query is owned by classifier QueryBuilder
and association end qbuilder is owned by association Builds itself

Qualifier

A property may have other properties (attributes) that serve as qualifiers. A qualifier is a property which defines a partition of the set of associated instances with respect to an instance at the qualified end. (And probably more appropriate name for qualifier would be selector or key.)

Qualifiers are used to model hash maps in Java, dictionaries in C#, index tables, etc. where fast access to linked object(s) is provided using qualifier as a hash key, search argument or index.

A qualifier is shown as a small rectangle attached to the qualified classifier also called the source. This qualifier rectangle is part of the association, not part of the classifier. UML does not allow qualifier to be suppressed.

Uml Slot Cars

One or several attributes of the qualifier are drawn within the qualifier box, one to a line. Qualifier attributes have the same notation as classifier attributes, except that initial values are not used in this case.

UML allows having a qualifier on each end of a single association.

Multiplicity of Target

Given a qualified object and a qualifier instance, the number of objects at the target end of the association is constrained by the declared multiplicity of the target.

Target multiplicity should allow 0 ('no results') if the domain of the qualifier is large or infinite, e.g. number, long string, date. It can be exactly 1 for qualifiers of enumerated or restricted domain.

In the case in which the target multiplicity is 0.1, the qualifier value is unique with respect to the qualified object, and links to at most one associated object.

Given a company and a social security number (SSN)
at most one employee could be found

In the case of target multiplicity 0.*, the set of associated instances is partitioned into possibly empty subsets, each selected by a given qualifier instance.

Given a library and author name none to many books could be found

Target multiplicity should allow 0 if the domain of the qualifier is large or infinite, e.g. number, long string, date.

Multiplicity of Qualifier

UML 2.4 specification is mumbo jumbo gibberish explaining multiplicity of qualifier:

The multiplicity of a qualifier is given assuming that the qualifier value is supplied. The 'raw' multiplicity without the qualifier is assumed to be 0.*. This is not fully general but it is almost always adequate, as a situation in which the raw multiplicity is 1 would best be modeled without a qualifier.

Given chessboard and specific rank and file we'll locate exactly 1 square.
UML specification provides no lucid explanation of what multiplicity 1 means for qualifier.





broken image