Please send questions to
st10@humboldt.edu .
UML - Unified Modeling Language
* GRAPHICAL language for:
visualizing,
specifying,
constructing, and
documenting
...the artifacts for a software-intensive system
* UML is trying to offer a STANDARD way to write a system's
blueprints, including conceptual things such as:
business processes
system functions
...as well as concreate things such as:
programming language statements
database schemas
reusable software components
* the important point: UML is a LANGUAGE for specifying,
rather than itself a method or procedure;
the UML can depict the definition of a software system;
it can help one to detail the artifacts in the system,
to help document it, and to help construct it --
...it is the language that the blueprints are written in;
* the 1st UML reading describes modeling as:
"Modeling is the designing of software applications before coding"
...makes the claim that modeling can be a way to check one's
design against one's requirements;
UML tries to help by providing a language for specifying,
visualizing, and documenting models of software systems,
including their design and structure
* note that UML can be used to model at different levels of
abstraction - more overall big-picture, drilled-in detail, etc;
* the 1st UML reading mentions 13 types of UML diagram in UML 2.0;
some of the others only mention 8-9 types;
* that 1st reference also divides those 13 into 3 categories:
* 6 that are used to represent static application structure,
* 3 that are used to represent general types of behavior
(more dynamic)
* 4 that are used to represent different aspects of interactions
<--- below indicates that multiple references include that
diagram type (it is part of the 9 often mentioned)
* those used to represent static application structure include:
* class diagram <---
* object diagram <---
* component diagram <---
* composite structure diagram
* package diagram
* deployment diagram <---
* those used to represent behavior/more dynamic aspects include:
* use case diagram <---
[used by some methodologies during requirements gathering]
* activity diagram <---
* state machine diagram <---
* those used to represent interactions, all derived from
the more-general behavioral diagrams, include:
* sequence diagram <---
* communication diagram
* timing diagram
* interaction overview diagram