UML
UML (Unified Modeling Language) Defined
A
graphical language for visualizing, specifying, constructing, and documenting
the artifacts of a software-intensive system. The UML offers a standard way to write a
systems blueprint, including conceptual things such as business processes and
system functions as well as concrete things such as programming language
statements, database schemas, and reusable software components. (UML Specification)
- Visualizing
(It is not good enough to just think it and code it even if you code it
correctly.)
- To
communicate conceptual models to others is error prone unless everyone
speaks the same language. Many
projects develop their own language.
- There
are some things that are easier to explain using models.
- The
originating thoughts must be documented.
They are valuable.
- Specifying
Building models that are precise, unambiguous, and complete.
- Constructing
While it is not a programming language, code can be generated from it.
- Documenting
UML helps document all parts of the software life cycle.
OO - UML is Object Oriented
- Main
building blocks are things not algorithms.
UML Creators/Authorities
- The
three amigos
- Grady
Bootch,
- Jim Rumbaugh
- Ivar Jacobson
- OMG
Object Management Group
UML It is a modeling language
- Model A simplification of
reality (Booch, 6)
- Modeling Language graphical
notation that methods use to express design
- A
modeling Language must include:
- Model
elements fundamental modeling concepts and semantics
- Notation
visual rendering of model elements
- Guidelines
idioms of usage within the trade
- Process advice on what steps to
take in doing design
- The
three amigos have also created a process called the Rational Unified
Process, but it is not the only process that can be used with UML.
- Method consists of a modeling
language and a process
OO Overview
- Class
A description of a set of objects.
- Attributes
Named properties of an object.
Descriptions of the values that are used to describe an object.
- Operations
The implementation of a service that can be requested from any object of
the class to affect behavior.
- Responsibilities
A contract or obligation of a class.
Documentation of the class.
(More abstract than Attributes and Operations.) No specific syntax required.
- Objects
The things in the system.
Sources:
Booch, Rumbaugh,
Jacobson (1999) The
Unified Modeling Language Users Guide,
Addison Wesley