The Unified Modeling Language (UML) is a graphical object-oriented modeling language that provides a visual syntax for capturing the important elements from a business problem domain and documenting it as a series of visually self-describing models, known as artifacts . A collection of artifacts pertaining to a specific business problem is known as the model domain . UML does not describe or dictate how software should be developed. Instead, it promotes a process of abstraction where the essential elements and their respective attributes within the context of a business problem are separated from the whole business problem. This provides an extremely visually oriented and focused platform for deriving a software solution. UML supports many types of artifacts, because there are many perspectives from which to observe a software system depending upon who you are in relation to the project. For example, a software developer will be interested in converting the design of the software into programming code, while a business analyst will be interested in the behavior of the software solution in relation to the initial problem domain. The UML artifacts are categorized by eight primary diagrams, as described in Table 3.1. Textual artifacts do exist in the context of these eight diagrams and will be discussed later in this chapter with their respective diagrams when applicable . Table 3.1. A Description of the Eight Primary UML Diagrams
Each UML diagram in Table 3.1 models a specific aspect of a software system, and hence contributes to the overall abstraction process of a problem domain. For example:
The artifacts also exist as living documents that provide an ideal reference for software maintenance by providing all the traceable details of what the software was intended to do and how it intended to do it. Note The types of artifacts you decide to use are completely dependent on the complexity and type of your problem domain. |