Communication Diagrams

Categories:

Recommended

Communication Diagrams

• Model collaborations between objects or roles that deliver the functionalities of use cases and operations
• Model mechanisms within the architectural design of the system
• Capture interactions that show the passed messages between objects and roles within the collaboration
• Model alternative scenarios within use cases or operations that involve the collaboration of different objects and interactions
• Support the identification of objects (hence classes) that participate in use cases
• The communication is implicit in a Sequence Diagram, rather than explicitly represented as in a Communication Diagram
• There is some redundancy between Communication and Sequence Diagrams
– They differently show how elements interact over time
– They document in detail how classes realize user cases
– Communication Diagrams show relationship between objects
– Sequence Diagrams focus on the time in which events occur

package diagram in the Unified Modeling Language depicts the dependencies between the packages that make up a model.

Overview

In addition to the standard UML Dependency relationship, there are two special types of dependencies defined between packages:

  • package import
  • package merge

package import is “a relationship between an importing namespace and a package, indicating that the importing namespace adds the names of the members of the package to its own namespace.” By default, an unlabeled dependency between two packages is interpreted as a package import relationship. In this relationship, elements within the target package will be imported into the source package.

package merge is “a directed relationship between two packages, that indicates that the contents of the two packages are to be combined. It is very similar to Generalisation in the sense that the source element conceptually adds the characteristics of the target element to its own characteristics resulting in an element that combines the characteristics of both” In this relationship, if an element exists within both the source package and the target package, then the source element’s definition will be expanded to include the target element’s definition.

Elements

  1. Package: a general purpose mechanism for organising model elements & diagrams into groups. It provides an encapsulated namespace within which all the names must be unique. It is used to group semantically related elements. It is a namespace as well as an element that can be contained in other packages’ namespaces.
  2. Class: a representation of an object that reflects its structure and behavior within the system. It is a template from which running instances are created. Classes usually describe the logical structure of the system.
  3. Interface: a specification of behavior. An implementation class must be written to support the behavior of an interface class.
  4. Object: an instance of a class. It is often used in analysis to represent an artifact or other item.
  5. Table: a stereotyped class.

Usage

Package diagrams can use packages containing use cases to illustrate the functionality of a software system.

Package diagrams can use packages that represent the different layers of a software system to illustrate the layered architecture of a software system. The dependencies between these packages can be adorned with labels / stereotypes to indicate the communication mechanism between the layers.

When to use

  1. It is used in large scale systems to picture dependencies between major elements in the system
  2. Package diagrams represent a compile time grouping mechanism.
Category:
Tag:

Attribution

Massimo Felici. 2004-2011. Communication Diagrams. http://www.inf.ed.ac.uk/teaching/courses/seoc/2011_2012/notes/SEOC09_notes.pdf

VP Flipbook Maker

This flipbook was made with the free flipbook maker from Visual Paradigm Online, you can also develop a book like this. Create online flipbooks, design, publish and share your flipbooks online, try it now!