2.3 UML and Software Development Lifecycles
The typical software development process consists of
several phases: requirements-gathering, high-level design, low-level
design, coding and unit testing, integration testing, and deployment.
Different methodologies divide these areas into different categories
and subdivisions.
UML provides several diagram types that fit into each section of the
Software Development Lifecycle (SDLC). Here's an
overview of the diagram types we address in this chapter, in roughly
the order they enter the development process:
- Use case diagrams
-
Used through the high-level design phase to identify common sets of
activities that users of the system indulge in. Use case diagrams
also describe the participants in each use case. Use cases are
helpful when developing test plans.
- Class diagrams
-
Used as early as the high-level design process to define the domain
model for the application: specifically, the relationship of data
objects within the system, the relationships between them, and the
operations that they can perform or that can be performed on them.
- Interaction diagrams
-
Sometimes used during the requirements gathering process but
particularly used in high- and low-level design to show the
interactions between objects in the system. Interaction diagrams are
also very helpful in the testing state when creating testing
processes and procedures.
- Activity diagrams
-
Used during requirements gathering and high-level design to further
identify process flows within the system. Unlike program flow charts,
activity diagrams include users and activities beyond the code
itself, and allow clear delineation of the roles played by various
participants.
- Deployment diagrams
-
Used during the high-level design phase to indicate how a system will
be distributed across physical resources, and during the deployment
phase to document that configuration.
The rest of this chapter explores the diagram types in more detail.
|