CHAPTER № 1
Introduction into the Unified
Modeling Language (UML)
Brief content:
What is UML?
Notations and metamodels
What is UML?
Unified Modeling Language (UML) – a family of graphical notations, which is based on a unified metamodel. It helps in the specification and design of software systems, especially systems built using object-oriented (OO) technology.
UML is a relatively open standard, which is under the control of the group OMG (Object Management Group – a group of management objects), an open consortium of various companies. OMG group has been formed to create standards that support cross-system interaction, such as the interaction of object-oriented systems.
UML appeared in 1997 as a result of the unification of a plurality ofobject-oriented graphical modeling languages that developed in the late 80's and early 90's.
Methods of Applying UML
There are three modes of developers using UML: sketch mode, design mode and the mode of programming language. The main three – a mode of using UML for sketching. In this mode, developers use UML to exchange information on various aspects of the system. In design mode, you can use UML in the forward and reverse engineering. In direct development (forward engіneerіng) diagrams are drawn to writing code, while reverse engineering (reverse engіneerіng) diagrams are based on the source code to understand it better.
SUMMARY sketching or conceptual modeling – in selectivity. In the process of developing direct sketching of individual elements of a program under development and discussed the development team.
When reverse engineering sketches are used to explain how some part of the system. They do not show all the classes, but only those that are of interest and which should be discussed before you dive into the code. Sketches are also useful in the documentation, and the major role played by the transfer of information, rather than completion.
Language UML as a design tool, on the other hand, aims to complete. In the process of direct development project developed a systems analyst whose job is to build a detailed model for the programmer to write code. systems analyst model can be the same programmer, but as a rule, this acts as a senior programmer who develops models for a team of programmers.
Another approach is that the system analyst has developed a model in the form of project-level interfaces to the subsystems, and then made it possible for developers to work on the implementation details.
When reverse engineering models goal is to provide more information about the program or in the form of paper, or in a form suitable for interactive viewing via a graphical browser.
When developing models require more complex instruments than in the preparation of sketches, as necessary to maintain the detail that meets the requirements of the task. Specialized CASE tools (computer software aіded engіneerіng – automated software development) fall into this category, although the term itself is very unpopular, and suppliers of such means try to avoid it.
The border between the models and sketches rather blurred. The difference between them is that the sketches are performed deliberately incomplete, highlighting the important information, and the models are aimed to be complete, often with a view to reduce to simple programming and to some extent by mechanical action. Sketches can be defined as test elements and models – as final.
A popular trend with the development of UML transition to automate the creation of programs. Many CASE-means somehow generate code that allows you to automate the construction of some parts of the system.
Brief history of the UML
In the 80's object-oriented technology has reached a level of development that is allowed to use them in real problems. Smalltalk, was implemented on the platform that is suitable for practical use; C++ appeared. With this process associated with the development of object-oriented graphical modeling languages.
Basic book on object-oriented graphical modeling languages appeared between 1988 and 1992. The leading figures in this case were Grady Booch (Gradu Booch), Peter Cody (Peter Coad), Ivar Jacobson (Іvar Jacobson), Jim Odell (Jіm Odell), Jim Rumbaugh (Jіm Rumbaugh), Sally Shlaer (Sallu Shlaer) and Steve Mellor (Steve Mellor), Rebecca Virfs Brock (Brock Rebecca Wіrfs).
Each of the authors at the time was the informal leader of a group of professionals, supporters of graphical modeling techniques. All these methods were very similar, but between them and there are small differences.
The conference OOPSLA '95 Grady Booch and Jim Rumbaugh presented his first public description of their joint method – version 0.8 documentation unified method (Method Unіfіed). Later they were joined by Ivar Jacobson. Company Ratіonal (where they work) has collaborated with several organizations and in accordance with its plans to introduce version 1.0 documentation for UML (Unіfіed Modelіng Language).
After considering various proposals artist OMG adopted the final version 1.1 as an official OMG standard. Later, other versions were created. Version 1.2 was entirely cosmetic, Version 1.3 – more meaningful. The version 1.4 has been introduced a lot of detailed concepts about the components and profiles, and in version 1.5 added action semantics. At the moment, the most current version is UML 2.4.1, released in August 2011.
Notations and metamodels
Language UML in its current state defines a notation and metamodel. The notation is a set of graphic elements that are used in the models; It is the syntax of the modeling language. Metamodel – a diagram defining the concept of language.
UML diagrams
UML 2.x describes the 13 official chart types (Table 1). Their classification is shown in Figure 1.
What is a valid UML?
Essential in question is based on what the rules of UML: descriptive and prescriptive. Language prescriptive rules (rules prescrіptіve) is controlled by an official framework that establishes what is and what is not a valid language, and what value is embedded in the notion of language statements. Language of descriptive rules (descrіptіve rules) – the language, the rules of which are recognized by the way people use it in practice.
For most people, UML has descriptive rules. Standard UML has the greatest influence on the content of UML, but it does not only him.
Table 1
Official types of UML diagrams
Figure1. Classification of types of UML diagrams
Looking at the diagram UML, it must be remembered that the basic principle of UML is that any information on a particular chart can be suppressed. This suppression can be global (hide all attributes) or local (do not show any specific classes). Therefore, the chart can never judge anything by its absence.
Do not get too hung up on an acceptable when sketching UML. It is more important to make a good system design, it is better to have a good design in an invalid UML, UML than allowed, but poor design.
The meaning of the KMT
One of the difficulties in UML is that although the specification describes in detail the definition of well-formed UML, but it is not enough to determine the value of the UML metamodel outside the scope of UML. There is no formal description of how the UML is displayed on the specific programming languages. You can not look at the UML diagram and say exactly how it will look appropriate code. However, you can get a rough idea of the kind of program. In practice, this is enough. Development teams in such cases often form their own local arrangements.
1. UML abbreviation