Since its emergence in the mid-1990s as a modeling methodology to allow developers to define, specify and analyze software architectures, the Universal Modeling Language has changed dramatically Now it is becoming a true industry standard capable of satisfying requirements for a wide spectrum of applications and environments.
Once the new standard is approved, UML will be useful not only in defining, partitioning and analyzing software elements and how they work together, but also in modeling both the hardware and software elements in a design and the relationships between them Additions have made to this enterprise-level tool much more useful in a wide range of real-time and deterministic embedded systems And developers will now be able to use UML to generate the application code from the system defined with the modeling language.
In its evolution, UML owes a lot not only to the developer community but also to many of its predecessors and competitors, in particular applications and segments These include the Specification Description Language (SDL), developed for the telecom and networking environment; real-time object-oriented modeling (Room); and real-time UML, as well as other influences such as Message Sequence Charts.
In both SDL and Room, architectural modeling is ascribed much importance, and constructs for supporting this kind of modeling constitute some of the most important proposed improvements to UML Architectural modeling not only increases the modeler's arsenal but may affect the way systems are developed in that it supports a more component-based approach. But since backward compatibility is a strong requirement, the approach is not forced on users. Further, it should be remembered that UML is not a method; it can be used with most development processes.
The idea of compositional building blocks is at the core of architectural modeling, and the goal is for each building block to model the structure and behaviour of a part of the system.
In SDL, the fundamental concept was a state machine that executed within a process. In later revisions, the block concept was introduced to model structural aspects of the system, wherein a block could contain other communicating blocks or processes. In SDL-2000, the latest revision to date, the concepts of block and process have been harmonized into that of an agent that could capture both structure and behaviour.
Room, which later evolved into UML-RT, offers a corresponding construct in capsule. One of the characteristics of these building blocks is that they are self-contained, which is reflected by the fact that they are all active, i.e., they have their own thread of control.
This makes it easier to model distributed systems and to assemble the building blocks in different ways. Each building block can thus be viewed as a complete system by itself or can be used as a small part of a system.
Next Chapter: UML Diagrams
Only 6 Chapters have been published. The remainder will follow soon.
Whether you need all of the Work Breakdown Stages mentioned in this website done from scratch for your next project or perhaps just some of the modeling tasks (e.g. to build 'process maps' from existing Business Requirements, or to document your application's Use Cases, etc, my services are for hire on a freelance basis.
Try my services free for one week - contact me to discuss an arrangement.