Unified Modeling Language Essay
There are many technologies and tools that can help you realize in some sense optimal design of IS, starting with the analysis and finishing with a code system. In most cases, these technologies have very stringent requirements for process development and resource use, and attempts to transform them for specific projects are unsuccessful. These technologies are upper CASE tools, or full life-cycle CASE tools. They don’t allow optimizing the activity at the level of individual elements of the project, and as a result, many developers prefer so-called lower CASE tools. However, they encountered a new problem – the problem of interaction between different teams, implementing the Project.
Unified Modeling Language (UML) appeared to be the means of achieving a compromise between those approaches. There are quite a number of tools that support using UML lifecycle of information systems, and, simultaneously, UML is flexible enough to adjust and support specific activities of different development teams.
UML is a language for describing graphical object modeling in software development (Siau, 2001). UML is a language of wide profile; this is an open standard that uses a graphical notation to create an abstract model of the system, called the UML-model. UML was created to identify, visualize, design and document major software systems. UML is not a programming language, but in means to implement UML-models as interpreted code, code generation is possible.
Thus, a powerful impetus to the development of this field of information technology was enabled by the spread of object-oriented programming languages in the late 1980’s – early 1990’s. Users wanted to get a single modeling language that would unite in itself all the power of object-oriented approach and would give a clear model of the system to display the relevant parties. By the mid-nineties, methods of Booch (Grady Booch), OMT-2 (Jim Rumbaugh), OOSE – Object-Oriented Software Engineering (Ivar Jacobson) have become clear leaders in the field. However, those three methods had their strengths and weaknesses: OOSE was the best on the stage of analyzing the problem domain and analysis of system requirements, OMT-2 was preferable to the stages of analysis and design of information systems, Booch best suited for stages of design and development.
Creation of UML began in October 1994, when Jim Rumbaugh and Grady Booch of Rational Software Corporation began work on the union of the methods of OMT and Booch. In autumn 1995, there appeared the first draft version of the unified methodology, which they called the Unified Method 0.8. After Aivar Jakobson and his firm Objectory joined Rational Software Corporation at the end of 1995, the efforts of the three creators of the most common object-oriented methodologies have been combined aiming to create UML (Valles-Barajas, 2011).
Currently, consortium of UML Partners users includes representatives of such giants of information technology, as Rational Software, Microsoft, IBM, Hewlett-Packard, Oracle, DEC, Unisys, IntelliCorp, Platinum Technology (Fowler, 2004).
UML is an object-oriented modeling language, which has the following main characteristics:
It is a visual modeling language, which ensures the development of representative models for interaction of the customer and developer of IS, different groups of developers of IS, provides mechanisms for the expansion and specialization of the basic concepts of language.
UML is the standard notation of visual modeling software systems adopted by the consortium Object Managing Group (OMG) in the autumn of 1997, and today it is supported by many object-oriented CASE-products.
UML includes an internal set of modeling tools, which are now accepted in many ways and means of simulation. These concepts are necessary in most applications, although not every concept is needed in each part of each application. Users are provided with the following language options:
– Building models based on core assets, without using extension mechanisms for most types of applications;
– Adding, if necessary, new elements and symbols, if they are not included in the kernel, or specialized components, the system of symbols (notation) and limitations for specific subject areas (Evans, 2000).
Considering the use of UML, it is worth noting that it is not limited by modeling software. It is also used for modeling business processes, system engineering and mapping organizational structures. UML also allows software developers to reach agreement in graphic notation to represent general concepts (such as classes, components, generalization, aggregation and behavior, and focus more on design and architecture.