Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
) is a modeling language used by
software developer
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development inv ...
s.
UML
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
can be used to develop diagrams and provide users (programmers) with ready-to-use, expressive modeling examples.UML can be applied in areas like
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s,
web application
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
s,
commercial application
Companies whose business centers on the development of open-source software employ a variety of business models to solve the challenge of how to make money providing software that is by definition licensed free of charge. Each of these business str ...
s etc. Some UML tools generate program language code from UML. 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. UML gives a standard way to write a
system model
Systems modeling or system modeling is the interdisciplinary study of the use of models to conceptualize and construct systems in business and IT development.conceptual ideas.412.2458Systems, Views and Models of UML. By Ruth Breu Radu Grosu Franz Huber Bernhard Rumpe Wolfgang Schwerin. arXiv arxiv.orgFor example, models of
business process
A business process, business method or business function is a collection of related, structured activities or tasks by people or equipment in which a specific sequence produces a service or product (serves a particular business goal) for a parti ...
class
Class or The Class may refer to:
Common uses not otherwise categorized
* Class (biology), a taxonomic rank
* Class (knowledge representation), a collection of individuals or objects
* Class (philosophy), an analytical concept used differently ...
es written in a programming language,
database schema
The database schema is the structure of a database described in a formal language supported by the database management system (DBMS). The term " schema" refers to the organization of data as a blueprint of how the database is constructed (divid ...
s, and reusable
software component
Component-based software engineering (CBSE), also called component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a give ...
s. With an understanding of modeling, the use and application of UML can make the
software development process
In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software deve ...
more efficient.
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
*
Enterprise information systems
An Enterprise Information System (EIS) is any kind of information system which improves the functions of enterprise business processes by integration. This means typically offering high quality of service, dealing with large volumes of data and c ...
Telecommunications
Telecommunication is the transmission of information by various types of technologies over wire, radio, optical, or other electromagnetic systems. It has its origin in the desire of humans for communication over a distance greater than tha ...
* DefenseSuch as, software engineering in aircraft combat systems
*
Transportation
Transport (in British English), or transportation (in American English), is the intentional movement of humans, animals, and goods from one location to another. Modes of transport include air, land ( rail and road), water, cable, pipel ...
*
Retail
Retail is the sale of goods and services to consumers, in contrast to wholesaling, which is sale to business or institutional customers. A retailer purchases goods in large quantities from manufacturers, directly or through a wholesaler, and th ...
workflow
A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence ...
in the legal systems,
medical electronics
Biomedical engineering (BME) or medical engineering is the application of engineering principles and design concepts to medicine and biology for healthcare purposes (e.g., diagnostic or therapeutic). BME is also traditionally logical sciences ...
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:
*
Class diagram
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the r ...
*
Component diagram
In Unified Modeling Language (UML), a component diagram depicts how components are wired together to form larger components or software systems.
They are used to illustrate the structure of arbitrarily complex systems.
Overview
A component dia ...
*
Composite structure diagram
Composite structure diagram in the Unified Modeling Language (UML) is a type of static structure diagram, that shows the internal structure of a class and the ''collaborations'' that this structure makes possible.
This diagram can include inte ...
*
Deployment diagram
A deployment diagram in the Unified Modeling Language models the ''physical'' deployment of artifacts on nodes.Deployment diagrams show "the allocation of Artifacts to Nodes according to the Deployments defined between them.Unified Modeling Lan ...
*
Object diagram
In object-oriented programming, an object diagram in the Unified Modeling Language (UML) is a diagram that shows a complete or partial view of the structure of a modeled system at a specific time.
Overview
In the Unified Modeling Language ( ...
*
Package diagram
A package diagram in the Unified Modeling Language depicts the dependencies between the packages
Package may refer to:
Containers or Enclosures
* Packaging and labeling, enclosing or protecting products
* Mail, items larger than a letter
* Chi ...
*
Profile diagram
In the field of software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and ...
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:
*
Activity diagram
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 o ...
*
State machine diagram
A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case ...
*
Use case diagram
A use case diagram is a graphical depiction of a user's possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. Th ...
Use Case Diagrams from UML are useful to understand real-time systems
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:
*
Communication diagram
A communication diagram in the Unified Modeling Language (UML) 2.0, is a simplified version of the UML 1.x collaboration diagram.
UML has four types of interaction diagrams:
* Sequence diagram
* Communication diagram
* Interaction overview dia ...
Communication diagrams are used for showing communication between objects or parts.
*
Interaction overview diagram
Interaction Overview Diagram is one of the fourteen types of diagrams of the Unified Modeling Language (UML), which can picture a control flow with nodes that can contain interaction diagrams.
The interaction overview diagram is similar to the ...
*
Sequence diagram
A sequence diagram or system sequence diagram (SSD) shows process interactions arranged in time sequence in the field of software engineering. It depicts the processes involved and the sequence of messages exchanged between the processes needed ...
Sequence diagram are used for communication between objects in terms of sequences.
* Timing diagramTiming diagram are a specific type of interaction diagram where the focus is on timing constraints.
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 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
UWE (UML-based Web Engineering) is a software engineering approach for the development of Web applications. UWE provides a UML profile (UML extension), a metamodel, model-driven development process and tool support (ArgoUWE) for the systematic ...
aims at offering a UML profile that matches the needs of web development better. The following are examples:
*Representation of web applications using a set of models
**Web app use case model
**Web app implementation model
**Web app deployment model
**Web app security model
**Web app site map
*To model pages, hyperlinks, and dynamic content on the client and server side.
*For modeling server side aspects of web page with one class and client side aspect with another and distinguishing the two by using UML's extension mechanism to define
stereotype
In social psychology, a stereotype is a generalized belief about a particular category of people. It is an expectation that people might have about every person of a particular group. The type of expectation can vary; it can be, for exampl ...
's and icons for each server and client page.
*Stereotypes in UML are used to define new semantics for modeling element.
*Forms in HTML can also be modeled using various UML constructs.
*UML can be used to express the execution of the system’s business logic in those Web-specific elements and technologies.
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.
Some key concepts of UML related to embedded systems:
*UML is not a single language, but a set of notations, syntax and semantics to allow the creation of families of languages for particular applications.
*Extension mechanisms in UML like profiles, stereotypes, tags, and constraints can be used for particular applications.
*Use-case modelling to describe system environments, user scenarios, and test cases.
*UML has support for object-oriented system specification, design and modelling.
*Growing interest in UML from the embedded systems and realtime community.
*Support for state-machine semantics which can be used for modelling and synthesis.
*UML supports object-based structural decomposition and refinement.
A specific UML profile, called
MARTE
Marte may refer to:
*Marte, Nigeria, a Local Government Area in Borno State
*Marte (surname), including a list of people with the name
*C.D. Marte, a Mexican football club
* C.D. Atlético Marte, a Salvadoran football club
* ST ''Marte'', a tug in ...
for Modeling and Analysis of Real-Time and Embedded systems, provides some extensions dedicated to the domain.
See also
*
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
*
Web application
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
*
Embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
*
MARTE
Marte may refer to:
*Marte, Nigeria, a Local Government Area in Borno State
*Marte (surname), including a list of people with the name
*C.D. Marte, a Mexican football club
* C.D. Atlético Marte, a Salvadoran football club
* ST ''Marte'', a tug in ...
*
UML tools
This article compares UML tools. UML tools are software applications which support some functions of the Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of sof ...
References and notes
''Notes''
''Citations''
{{Reflist, refs=
* {{Cite web , title=Power of UML related reference
, url=http://www.sparxsystems.com/platforms/uml_tool.html
*{{Cite web , title=Some UML tools generate program language tools
, url=http://www.coderanch.com/t/98273/patterns/importance-UML
*{{Cite web , title=Grady Booch, Jacobson and rumbaugh book
*{{Cite web , title=Modeling Web Application Architectures with UML
, url=http://dl.acm.org/ft_gateway.cfm?id=317677&type=pdf&CFID=36848136&CFTOKEN=65755783 , format=PDF
*{{Cite web , title=UML for embedded systems
, citeseerx = 10.1.1.67.5101