UNIFIED MODELING LANGUAGE (UML)
УДК 519.876.2
Pavel Ivanovich Chisnikov
post-graduate student of Knowledge Management Department, Moscow State University of Economics, Statistics and Informatics.
Phone: + 33 6 98 07 75 87, E-mail: chisnikovpavel@mail.ru
The article gives a brief overview of the methods of the UML graphical description for the object modeling software, provides a classification of diagrams and methods of their usage.
Keywords: UML, modeling, diagrams, class, OMT, OOSE, OSSAD.
Павел Иванович Чисников,
аспирант кафедры Управления знаниями и прикладной информатики в менеджменте Московского государственного
университета экономики, статистики и информатики (МЭСИ); Тел.: + 33 6 98 07 75 87, E-mail: chisnikovpavel@mail.ru
В статье дается краткий обзор методов языка UML графического описания для объектного моделирования в области программного обеспечения, приводится классификация диаграмм и методы их использования.
Ключевые слова: UML, моделирование, диаграммы, класс, OMT, OOSE, OSSAD.
1. Introduction
UML is the language of a graphical description for the object modeling in software development, which was created and standardized by Rational Software and Object Management Group in 1997. UML is the wide profile language, it is an open standard that uses graphic symbols to create an abstract model of the system, called the UML model. UML was created to identify, visualize, design and documentation of major software systems. Unified Modeling Language emerged from the three methods of object modeling: a Booch method, Object Modeling Technique (OMT) and Objectory (OOSE) Process. It was created by Grady Booch, James Rumbaugh and Ivar Jacobson, who are now working in Rational Software.
UML describes the various phases of object development (analysis, concept and application) offering nine basic types of diagrams:
• Use case diagram describes the behavior of the system with the user's perspective.
• Class diagram describes the static structure of the systems, it shows the system classes, their attributes, methods, and dependencies between classes and does not contain time information. Class is an abstraction of similar items.
• Object diagram represents a complete or partial slice of the simulated system at a given time. The diagram shows the objects instances of classes (objects) of the system showing the current values of their attributes and relationships between objects.
• Sequence diagram represents the objects and their interactions, ordered in time.
• Interaction overview diagram represents the structural interaction of objects and their linkage. Sequence and interaction diagrams are isomorphic.
• Timing diagram expresses the dynamic behavior of the object in terms of states, activities, changes and developments.
• Activity diagram represents the system workflow. These allow describe the development of procedures or functions.
• Composite structure diagram shows the physical application of the system, in terms of logistics. It shows internal structure of classes and, if possible, the interaction of elements (parts of) the internal structure of the class
• Deployment diagram describes the configuration of working elements and components that apply to them.
The only usage case diagram, sequence and interaction overview diagrams will be used in comparison, because they are the only ones that can simulate processes. The UML Studio used in modeling is a tool that supports all UML diagrams and other modeling techniques, and which allows users to create their own templates. It also includes tools for writing code, including Java and C + +.
UML is a general method. The only three types of models of the nine abovemen-tioned should be described. They are the only which are necessary for the simulation.
2. Chart precedents
There are three main modeling approaches in UML: a model of use cases, static models and dynamic models. Use cases models describe user needs. Static models mainly consist of diagrams that describe the system components and their interactions, including mechanisms of generalization, aggregation and association. Dynamic models describe the behavior of the system.
Use cases define the common processes that are managed in the system. Modules of precedent models are use cases, the participants and the actual simulated system. The use case is graphically represented by an oval with the name in the inner part, indicating the functionality provided by the system or task that must be accomplished with the support of the system.
Actor is an external source (not part of the system), which interacts with the system through the use case. The characters are as real people (such as users of the system) and other computer systems or external events. Characters don't represent physical people or systems, they represent their roles. This means that when a person interacts with the system in different ways (assuming different roles), he displayed several actors. For example, a person working in customer support and taking orders from customers will be displayed in the system as a "party of support" and "party sales". Persons interact with the system, sending and receiving signals. When a person sends a signal to the system, then it should be a separate version of usage in
Table 1. Legend for the use case diagram
С / Person is a set of functions that interact with use cases. It may be a man, a computer system or equipment.
{^Usecas^^ The use case describes what the system does, but does not indicate how it does it. Options for use are often supplemented with text scripts.
С / - - -i Use case J Actor may be combined with the use case only by association that represented the full feature.
[ Use case 1 \ ! Use case 2 j The rectangle that was placed around the use cases, serves to limit the boundaries of the system. All that the outside is the external environment of the system.
1 1 1 A use case can include or produce another variant of use, the scheme is represented by the dashed arrow in the legend indicates, is that the inclusion or expansion. Inclusion is used to avoid repeated simulation of identical events, which are sometimes occurring in some use cases. Extension serves to simulate the variations of all the events of the use case.
Q X Person 2 Л Person 1 Person can be determined on the basis of common data. Specialty persons are "derivatives" of the data or super classes. This generalization is observed non painted arrow. The secretary of the person can be provided as an example.
( Use case y> 1 Interaction , The abovementioned use case does not explain how the system operates. To do this, there is the concept of interaction, which describes the functioning of the system. The association between the interaction and use case is called the implementation.
N°" ] A Note allows to save text graphic description model and can be used in all types of UML models.
the system (Kim, 2002).
The figure (Figure 1 ) shows a diagram of a use case of a new type of production company (Kim, 2002).
3. The static model and a class
The term "class" is an abstraction of the totality of real objects that have a common set of properties and the same behavior. Class diagram can be used to provide a static view of the system in terms of object classes and relations between these classes.
UML uses four types of interaction in its modeling language to describe the static relationships in the class diagram: association, composition, generalization and dependency (Kim, 2002).
4. Dynamic model
Vend or
R & D team
M arketi ng team
purchasing team
Figure 1. Use case diagram, representing the development of a new product
In the simulation process occur problems, connected with the description of the interaction of objects inside the system, as well as the system with external objects. Interactions of objects in UML are described using a dynamic model.
Changing the state of the system is usually caused by sending a signal from one object to another. In UML, modeling language implemented four types of signals: synchronous, synchronous with the immediate response, asynchronous and simple.
UML also allows you to construct four types of dynamic charts, namely, the state diagram, chart, order, interaction diagrams and charts of action. State and action diagrams can be used to describe the structure of the system, while the diagrams of order and interaction suggest a description of action, which will be implemented in the system.
5. Sequence diagram
Sequence diagram and an interaction overview diagram in UML is the general term "interaction diagram". Moreover, they describe the interaction between objects, which contain a system or process, as well as interaction with the environment. Sequence diagrams allow modeling the dynamic system, and they seek mainly to show the movement and the chronological order of signals, in other words, they describe the movement of information. They are directly related to the scenarios defined in use cases. Interaction overview diagrams describe these interactions, but rather in terms of structure than in terms of time.
Here is the exact order of the signals produced during the process of recording a company in the register of commercial entities (Figure 2). This diagram shows the sequence of objects Questionnaire, Notary Act and the Registry entry and the signals that have been made between the parties Manager, Notary, Registry. It should be noted that sequence diagrams do not allow determining the conditions or parallel actions which are possible in the activity diagram.
Sequence diagrams are used for modeling the information system and its components, but it is believed that there is also the possibility of extending the concept of systems and processes, as the purpose of the system is the objective of the process, that is the formation of the value of a product or service. Thus, it becomes possible to process modeling, as well as the creation of an intermediate level
Table 2. Notation for sequence diagram
O bje ct
T T
h
Roles and objects do not represent real people or specific objects. They are all responsible positions, which take one or more members of the class. They are drawn with a dotted line, which represents time passing (from top to bottom) which is called the life line. It represents the life expectancy of the object, and is represented in the form of a thin rectangle that shows the period of activity of the object.
The signals between objects can be of several types: create, delete, report, query and returns. The scheme includes: a query and returns, which allows you to call the operation of the facility or return value. The order of signals is defined by their position along the life line.
О
file entries in the registry
Entrepreneur Pi—prepared-
notarial act
О
Registration
registry entry
—performsn added-
-senti
transmitted—i-proœssed-1-
-valid-
sent-
Figure 2. Sequence diagram Table 3. Notation for interaction overview diagrams
О À Role The role is not a real persons, it represents the posts, which takes one or more participants.
Object The object does not represent anything specific or real - is a general object of these or that class.
Communication between objects and roles show the organization or structure of the interaction.
Signal _ The signals produced between objects or roles are written above or beside the links that connect them. Usually - this is the sequence number to indicate the chronological order of the signals.
between the abstract model and operating model, thereby showing the movement of information.
6. Interaction overview diagrams As we explained in the preceding paragraph, interactions of UML diagrams in-
clude sequence diagrams and collaboration. Both types of diagrams are symmetrical, there is a possibility to switch from one type to another because they are equivalent. Nevertheless, they describe the system differently: while the sequence
Role
diagrams based on the time scale, the diagram of cooperation focuses on the structural aspects of the interaction system and shows the organization of information flows.
Figure 3 shows the flow of information between the various parties interested in the company's registration in the registry. Chronology of the diagram is defined numbering signals.
Although the UML interaction overview diagrams were intended to simulate the information system, it is believed that they are fully applicable to simulate Office Support Systems Analysis and Design (OSSAD) 1. In fact, they also describe the information flow between participants in the system, even if they are slightly different, because they do not make a clear distinction between actors and roles, and they allow you to add a dynamic aspect by planning the formation of the signals. Nevertheless, the interaction overview diagrams play an important role in the modeling work, because they are the intermediary between the abstract level and the activity diagram shown below.
7. Activity Diagram Activity diagrams show the flow of control and information that circulates within the system or subsystem. They can provide an accurate procedure and determine the conditions for their implementation. In addition, you can assign some of installations by swim lanes.
Activity diagram (Figure 4) is similar to the description of the operational processes of Adonis and model OSSAD, which correspond to each other, even
Employee Registry Figure 3. Interaction overview diagrams
Table 4. Notation for activity diagrams
Object The object is required to perform activities. It is possible to describe the state of the object in square brackets under his name. Dependence is used to form links between other objects or activities.
-> Line of activity or monitoring.
-----5>l The dependence is used to show part of the object in the development activities.
<c> Icon selection shows that there are several scenarios, due to a Boolean expression. By selecting a single value exists at the inlet and at least two to exit.
( Activity 1.1 } Q Activity 12 } Icon of branching shows that the flow is divided into several parallel operations. Black strap, which symbolizes the point of branching, may also be brought to heel. The junction allows you to combine parallel operations. It can have multiple values at the entrance, but their number must match the number of branches. At the junction there is only one value at the output. The black strap, which symbolizes the connection point, can be represented vertically.
Figure 4. Activity Diagram
despite the fact that the model of Adonis and UML uses the term activity, whereas OSSAD uses the term operation. The procedure for recording companies in the register will look identical in all models. Activity diagrams are needed to describe how it has implemented some processes or sub processes.
8. Conclusion
In conclusion, it should be noted that though the standard is widespread, it also has some disadvantages as well as any other method. The most serious among them are:
• Redundancy of language - is a rather difficult
• Incorrect semantics - an abstract syntax
• General purpose - is a universal method, applicable for solving difficult problems of narrow tasks.
These problems are carrying the complexity of the application, rather than its inability, so they are not critical.
References
1. Craig Larman Application of UML 2.0 and design patterns = Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. - 3rd ed. - M.: "Williams», 2006. -736 pp. - ISBN0-13-148906-2
2. Joseph Shmuller Teach Yourself UML 2 for 24 hours. Practical Guide = Sams Teach Yourself UML in 24 Hours, Complete Starter Kit. - M.: "Williams», 2005. - 416 pp. - ISBN 0-672-32640-X
3. Grady Booch, James Rumbaugh, Ivar Jacobson Language UML. User = The Unified Modeling Language user guide. - 2. - Moscow, St. Petersburg.: "DMK Press», "Peter», 2004. - 432 pp. -ISBN 5-94074-260-2
4. Booch G., Jacobson, A., Rambaud J. UML. Classic CS. 2 ed. Ed. from English; Under the general editorship of Professor. S. Orlova - St. Petersburg.: Peter, 2006. - 736 - ISBN 5-469-00599-2
_
Подписной купон на научно-практический журнал
«в кономика, Статистика и ^^нформатика.
Феетмик ЩЖО»
Подписка на научно-практический журнал «Экономика, статистика и информатика. Вестник УМО» на 2010 г. осуществляется через каталог подписных изданий
«Газеты. Журналы» ОАО Агентство «Роспечать» — подписной индекс 80246
Уважаемые читатели, чтобы подписаться на журнал «Экономика, статистика и информатика. Вестник УМО», необходимо заполнить данный купон:
Ф.И.О. _
Организация_
Индекс_ Город_
Адрес _
Тел. _Факс_ E-mail_
Номер платежного поручения_Дата
Редакционная подписка
Заполните купон и вместе с копией платежного поручения вышлите по факсу: (495) 442-73-66. В случае, если Вам необходимо выставить счет, счет-фактуру, акт, договор, Вам необходимо связаться с Алексеем Пузаковым по телефону: (495) 442-82-44 или по электронной почте: APuzakov@mesi.ru Стоимость подписки на 2010 г. — 4000 руб., полгода — 2000 руб., в том числе НДС —10%.
Наши реквизиты:
Учредитель: ГОУ ВПО МЭСИ
Адрес редакции:
ГОУ ВПО МЭСИ ИНН 7729094137 КПП 772901001 р/с 40503810600001009079 Отделение 1 Московского ГТУ Банка России БИК 044583001
Главный редактор Н.В. Тихомирова Заместитель главного редактора Ю.Ф. Тельнов Ответственный редактор Е.А. Егорова П. А. Смелов Технический редактор А.В. Пузаков
119501, г. Москва, ул. Нежинская, д. 7, оф. 106 Тел.: (495) 442-82-44 Факс: (495) 442-73-66 E-mail: APuzakov@mesi.ru
Тираж 1500 экз.