Applications of UML

Last updated

UML (Unified Modeling Language) is a modeling language used by software developers. [1] UML can be used to develop diagrams and provide users (programmers) with ready-to-use, expressive modeling examples. [note 1] Some UML tools generate program language code from UML. [2] UML can be used for modeling a system independent of a platform language. UML is a graphical language for visualizing, specifying, constructing, and documenting information about software-intensive systems. [3] UML gives a standard way to write a system model, covering conceptual ideas. [4] [note 2] With an understanding of modeling, the use and application of UML can make the software development process more efficient.

Contents

History

UML has applied to various activities since the second half of the 1990s and been used with object-oriented development methods.

Fields applying UML

UML has been used in following areas

UML can also be used to model nonsoftware systems, such as workflow in the legal systems, medical electronics and patient healthcare systems, and the design of hardware. [3]

Diagram examples
Hierarchy of diagrams in UML 2.2 UML diagrams overview.svg
Hierarchy of diagrams in UML 2.2
UML deployment diagram showing a static view of a deployed system
This is an example of a deployed view of system in which user communicates to server through web browser UML Diagram Deployment.svg
UML deployment diagram showing a static view of a deployed system
This is an example of a deployed view of system in which user communicates to server through web browser
Restaurant Use Case Diagram
In this example, the working of that restaurant is used to understand how UML can be used to implement a restaurant system. Here wait staff take order and serve food to patron. Then patron eat food, drink wine and pay bill. In this diagram patron, chef, cashier and wait staff are actors. Restaurant-UML-UC.png
Restaurant Use Case Diagram
In this example, the working of that restaurant is used to understand how UML can be used to implement a restaurant system. Here wait staff take order and serve food to patron. Then patron eat food, drink wine and pay bill. In this diagram patron, chef, cashier and wait staff are actors.
Applications of UML in embedded systems Ete sim.jpg
Applications of UML in embedded systems

Modeling applications of UML using various diagrams

The following lists of UML diagrams and functionality summaries enable understanding of UML applications in real-world examples.

Structure diagrams and their applications

Structuring diagrams show a view of a system that shows the structure of the objects, including their classifiers, relationships, attributes and operations:

Behaviour diagrams and their applications

Behaviour diagrams are used to illustrate the behavior of a system, they are used extensively to describe the functionality of software systems. Some Behaviour diagrams are:

Interaction diagrams and their applications

Interaction diagrams are subset of behaviour diagrams and emphasize the flow of control and data among the things in the system being modelled:

Web applications

Web applications of UML can be used to model user interfaces of web applications and make the purpose of the website clear. Web applications are software-intensive systems [5] and UML is among the efficient choice of languages for modeling them. Web software complexity of an application can be minimized using various UML tools.

UML-based web engineering aims at offering a UML profile that matches the needs of web development better. The following are examples:

Embedded systems

Software in embedded systems design needs to be looked carefully for software specification and analysis. Unified Modeling Language and extension proposals in the realtime domain can be used for the development of new design flows. UML can be used for specification, design and implementation of modern embedded systems. UML can also be used for modelling the system from functional requirements through executable specifications and for that purpose it is important to be able to model the context for an embedded system – both environmental and user-driven. [6] [ failed verification ]

Some key concepts of UML related to embedded systems:

A specific UML profile, called MARTE for Modeling and Analysis of Real-Time and Embedded systems, provides some extensions dedicated to the domain.

See also

References and notes

Notes

  1. UML can be applied in areas like embedded systems, web applications, commercial applications etc.
  2. For example, models of business processes and system functions, as well as things like classes written in a programming language, database schemas, and reusable software components.
  3. Such as, software engineering in aircraft combat systems
  4. Use Case Diagrams from UML are useful to understand real-time systems
  5. Communication diagrams are used for showing communication between objects or parts.
  6. Sequence diagram are used for communication between objects in terms of sequences.
  7. Timing diagram are a specific type of interaction diagram where the focus is on timing constraints.

Citations

  1. "Power of UML related reference".
  2. "Some UML tools generate program language tools".
  3. 1 2 "Grady Booch, Jacobson and rumbaugh book".{{cite web}}: Missing or empty |url= (help)
  4. [1412.2458] Systems, Views and Models of UML. By Ruth Breu Radu Grosu Franz Huber Bernhard Rumpe Wolfgang Schwerin. arXiv arxiv.org
  5. "Modeling Web Application Architectures with UML" (PDF).
  6. "UML for embedded systems". CiteSeerX   10.1.1.67.5101 .{{cite web}}: Missing or empty |url= (help)

Related Research Articles

<span class="mw-page-title-main">Object-modeling language</span> Component in software development

An object-modeling language is a standardized set of symbols used to model a software system using an object-oriented framework. The symbols can be either informal or formal ranging from predefined graphical templates to formal object models defined by grammars and specifications.

<span class="mw-page-title-main">Unified Modeling Language</span> Software system design modeling tool

The unified modeling language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.

In software and systems engineering, the phrase use case is a polyseme with two senses:

  1. A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
  2. A potential scenario in which a system receives an external request and responds to it.
<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language or block coding is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

<span class="mw-page-title-main">Business process modeling</span> Activity of representing processes of an enterprise

Business process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current business processes may be analyzed, improved, and automated. BPM is typically performed by business analysts, who provide expertise in the modeling discipline; by subject matter experts, who have specialized knowledge of the processes being modeled; or more commonly by a team comprising both. Alternatively, the process model can be derived directly from events' logs using process mining tools.

A UML tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language (UML), which is the industry standard general-purpose modeling language for software engineering.

Domain-specific modeling (DSM) is a software engineering methodology for designing and developing systems, such as computer software. It involves systematic use of a domain-specific language to represent the various facets of a system.

Specification and Description Language (SDL) is a specification language targeted at the unambiguous specification and description of the behaviour of reactive and distributed systems.

Object-oriented analysis and design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality.

<span class="mw-page-title-main">StarUML</span>

StarUML is a software engineering tool for system modeling using the Unified Modeling Language, as well as Systems Modeling Language, and classical modeling notations. It is published by MKLabs and is available on Windows, Linux and MacOS.

<span class="mw-page-title-main">Activity diagram</span> Graphical representation of a workflow

Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and organizational processes, as well as the data flows intersecting with the related activities. Although activity diagrams primarily show the overall flow of control, they can also include elements showing the flow of data between activities through one or more data stores.

UMLet is an open-source Java-based UML tool designed for teaching the Unified Modeling Language and for quickly creating UML diagrams. It is a drawing tool rather than a modelling tool as there is no underlying dictionary or directory of reusable design objects. UMLet is distributed under the GNU General Public License.

Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract representations of the knowledge and activities that govern a particular application domain, rather than the computing concepts.

Executable UML is both a software development method and a highly abstract software language. It was described for the first time in 2002 in the book "Executable UML: A Foundation for Model-Driven Architecture". The language "combines a subset of the UML graphical notation with executable semantics and timing rules." The Executable UML method is the successor to the Shlaer–Mellor method.

<span class="mw-page-title-main">Systems modeling language</span> General-purpose modeling language

The systems modeling language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.

The Toolkit for Conceptual Modeling (TCM) is a collection of software tools to present specifications of software systems in the form of diagrams, tables, trees, and the like. TCM offers editors for techniques used in Structured Analysis as well as editors for object-oriented (UML) techniques. For some of the behavior specification techniques, an interface to model checkers is offered. More in particular, TCM contains the following editors.

A profile in the Unified Modeling Language (UML) provides a generic extension mechanism for customizing UML models for particular domains and platforms. Extension mechanisms allow refining standard semantics in strictly additive manner, preventing them from contradicting standard semantics.

EAST-ADL is an Architecture Description Language (ADL) for automotive embedded systems, developed in several European research projects. It is designed to complement AUTOSAR with descriptions at higher level of abstractions. Aspects covered by EAST-ADL include vehicle features, functions, requirements, variability, software components, hardware components and communication. Currently, it is maintained by the EAST-ADL Association in cooperation with the European FP7 MAENAD project.

<span class="mw-page-title-main">Interaction Flow Modeling Language</span>

The Interaction Flow Modeling Language (IFML) is a standardized modeling language in the field of software engineering. IFML includes a set of graphic notations to create visual models of user interactions and front-end behavior in software systems.

Prosa UML Modeller assists software developers to design applications visually by using Unified Modeling Language. Unified Modeling Language - UML , is a standardized graphic notation developed to create visual models of object oriented software systems.