Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban

Understanding the Unified Modeling Language (UML)

Sinan Si Alhir, http://sites.google.com/site/salhir/

Diagrams

Diagrams depict knowledge in a communicable form. The UML provides the following diagrams, organized around architectural views, regarding models of problems and solutions:

  • The User Model View
    • Use case diagrams depict the functionality of a system.
  • The Structural Model View
    • Class diagrams depicts the static structure of a system.
    • Object diagrams depict the static structure of a system at a particular time.
  • The Behavioral Model View
    • Sequence diagrams depict an interaction among elements of a system organized in time sequence.
    • Collaboration diagrams depict an interaction among elements of a system and their relationships organized in time and space.
    • State diagrams depict the status conditions and responses of elements of a system.
    • Activity diagrams depict the activities of elements of a system.
  • The Implementation Model View
    • Component diagrams depict the organization of elements realizing a system.
  • The Environment Model View
    • Deployment diagrams depict the configuration of environment elements and the mapping of elements realizing a system onto them.
  • Other diagrams may be defined and used as necessary.

Fundamentally, diagrams depict knowledge (syntax).

Modeling Mechanisms

Mechanisms are practices for approaching modeling and diagramming that enable the creation of more precise and communicable models.

  • Perspectives define a particular point of view from which to draw or read a diagram. They enable clear viewpoints to be associated with diagrams, and are used to heighten the effectiveness of the communication.
  • Dichotomies define how something may be viewed from two different perspectives. They enable something to be viewed from multiple perspectives, and are used to discover inconsistencies within models.
  • Layers or levels of abstraction define a particular level of abstraction and establish a level of detail at which attention and concentration are focused regarding a subject (problem or solution). They enable focused communication, and are used for organizing all of the diagrams pertaining to a single model into a coherent body of knowledge.
  • Extension mechanisms define the means for customizing and extending the UML. They enable the UML to be flexible and adaptive, and used to ensure that the UML will evolve rather than be redefined to meet changing needs and requirements.

Within a problem-solving process, knowledge regarding a problem and solution is captured, organized around decisions, and depicted using the UML so that it can be communicated and leveraged. When deciding what diagram to use for communicating, consider the question or questions the communication is addressing, and what diagram or set of diagrams most effectively communicate the response. This decision centers on what dimensions of a model are to be emphasized in the response. Fundamentally, each diagram type emphasizes different dimensions of a model.

And within a problem-solving process, it is the underlying method that suggests how knowledge is utilized to realize a solution to a problem. This includes suggesting which diagrams to use and the perspective and the level of abstraction used to render and interpret these diagrams. Methods should be considered as suggestions and recommendations that organize and facilitate the problem-solving process rather than being considered rigid and inflexible rules that restrict the art of problem solving.

Conclusion

Conclusively, the Unified Modeling Language is an evolutionary general-purpose, broadly applicable, tool-supported, and industry standardized language for specifying, visualizing, constructing, and documenting the artifacts of a system-intensive process. It is a fundamental communication mechanism that empowers organizations to capture, communicate, and leverage strategic, tactical, and operational business and technological knowledge on an enterprise-wide scale. Such knowledge can be applied to improve value by increasing quality, reducing costs, and reducing time-to-market while managing risks and being proactive to ever-increasing change and complexity.

By understanding the overall context in which the UML applies and how the UML is holistically and cohesively organized to facilitate solving problems, we have reviewed the required foundation for strategically determining how to successfully apply the language to maximize its benefits. However, caution should be emphasized. Simply because the UML evolved primarily from various second-generation object-oriented methods, the UML is not simply a third generation object-oriented modeling language. Its scope extends its usability far beyond its predecessors. And it is experience, experimentation, and gradual adoption of the standard that will reveal its true potential and enable organizations to realize its benefits.


Related Unified Modeling Language UML articles

More Unified Modeling Language UML Knowledge


Go to page 3   


Click here to view the complete list of archived articles

This article was originally published in the Spring 1999 issue of Methods & Tools

Methods & Tools
is supported by


Testmatick.com

Software Testing
Magazine


The Scrum Expert