Systems engineering
UML can be used to model systems in the process of Forward or Backward Design. In Forward Design, the design of the sketch is done before coding the application. This is done to get a better view of the system or workflow that you are trying to create.
Through modeling, many design issues or flaws can be revealed, thus improving the overall project health and well-being.
Designing a system
UML
The 14 diagrams of UML are [1]:
Behavioral diagrams:
- Activity diagram,
- Use Case diagram,
- Interaction Overview diagram,
- Timing diagram,
- State Machine diagram,
- Communication diagram, and
- Sequence diagram.
Structural diagrams:
- Class diagram,
- object diagram,
- Component diagram,
- Component structure diagram,
- Deployment diagram,
- Package diagram, and
- Profile diagram.
The most popuar diagrams among software engineers are: Use Case diagrams, Class diagrams, and Sequence diagrams.
More about UML can be found in the UML Reference Manual.
Developing product lines with UML
A software product line (or product family) consists of a family of software systems that have some common functionality and some variable functionality. The interest in software product lines emerged from the field of software reuse when developers and managers realized that they could obtain much greater reuse benefits by reusing software architectures instead of reusing individual software components.
-- Hassan Gomaa, Designing Software Product Lines with UML