You are on page 1of 5

What is UML?

UML stands for Unified Modeling Language It is a industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems The UML uses mostly graphical notations to express the OO analysis and design of software projects. Simplifies the complex process of software design

Why UML for Modeling? Use graphical notation to communicate more clearly than natural language (imprecise) and code(too detailed). Help acquire an overall view of a system. UML is not dependent on any one language or technology. UML moves us from fragmentation to standardization. ARCHITECTURE OF UML It is used for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views. The views are used to describe the system from the viewpoint of different people such as end-users, developers and project managers.

The four views of the model are logical, development, process and physical view. In addition selected use cases or scenarios are utilized to illustrate the architecture serving as the 'plus one' view. Hence the model contains 4+1 views Logical view : The logical view is concerned with the functionality that the system provides to end-users. UML Diagrams used to represent the logical view include Class diagram, Communication diagram, Sequence diagram. Development view : The development view illustrates a system from a programmer's perspective and is concerned with software management. UML Diagrams used to represent the development view include the Package diagram

Process view : The process view deals with the dynamic aspects of the system, explains the system processes and how they communicate, and focuses on the runtime behaviour of the system. UML Diagrams to represent process view include the Activity diagram Physical view : The physical view depicts the system from a system engineer's point-of-view. This view is also known as the deployment view. UML Diagrams used to represent physical view include the Deployment diagram Scenarios : The description of an architecture is illustrated using a small set of use cases, or scenarios which become a fifth view. Here Use Case diagrams are used.

A Conceptual Model of the UML

To understand the UML, you need to form a conceptual model of the language, and this requires learning three major elements: the UML's basic building blocks, the rules that dictate how those building blocks may be put together, and some common mechanisms that apply throughout the UML
Building Blocks of the UML The vocabulary of the UML encompasses three kinds of building blocks:

1. Things 2. Relationships 3. Diagrams Things are the abstractions that are first-class citizens in a model; relationships tie these things together; diagrams group interesting collections of things.
1. Things in the UML

There are four kinds of things in the UML: 1.1 Structural things 1.2 Behavioral things 1.3 Grouping things 1.4 Annotational things These things are the basic object-oriented building blocks of the UML. You use them to write well-formed models. 1.1 Structural Things:



INTERFACE An interface is a collection of operations that specify a service of a class or component

A use case is a description of sequences of actions

A component is a modular part of the system design that hides its implementation behind a set of external interfaces

An artifact is a physical and replaceable part of a system that contains physical information ("bits")

A node is a physical element that exists at run time and represents a computational resource

1.2 Behavioral Things: Behavioral things are the dynamic parts of UML models



1.3 Grouping Things: Grouping things are the organizational parts of UML models. These are the boxes into which a model can be decomposed. There is one primary kind of grouping thing, namely, packages.

1.4 Annotational Things Annotational things are the explanatory parts of UML models. These are the comments you may apply to describe

2. Relationships in the UML:

First, a dependency is a semantic relationship between two model elements in which a change to one element (the independent one) may affect the semantics of the other element

association is a structural relationship among classes that describes a set of links

Third, a generalization is a specialization/generalization relationship in which the specialized element (the child) builds on the specification of the generalized element (the parent)

3. Diagrams in the UML:

1. Class diagram 2. Object diagram 3. Component diagram 4. Use case diagram 5. Sequence diagram 6. Communication diagram 7. State diagram 8. Activity diagram 9. Deployment diagram 10. Package diagram 11. Timing diagram 12. Interaction overview diagram