UCDs are used to describe the interaction between a system and its environment. They form the topmost level(s) of an OO model. An OO model can either be the sole content of the analysis or design modelling domain in a Cradle project, or any number of OO models and can be contained within each domain. An OO model may be the expansion of any process in a DFD.
An OO model starts by examining the interaction between the OO system under study and its environment. An OO model can either be the sole content of the analysis or design modelling domain in a Cradle project, or an OO model can be embedded within a DFD process. In the first case, the environment of the OO model is the entire system environment, else the environment of an OO model is the environment of the system function (DFD process) of which it is an expansion. The latter approach allows an arbitrary number of OO models to be contained within each of the analysis and design modelling domains in a Cradle project.
The topmost UCD will have a name and number both set to the name of the DFD process, if any, containing the OO model, otherwise, the name and number should be set to the same value.
A UCD represents the environment as a set of external actors, each of which is defined in an environment specification, whose name and number are taken from the actor name. This means that the definitions of actors will be shared between all UML models that reference them. These actors participate in classes of interaction with the system. Each class of interactions is called a use case.
Each use case has a description in a specification. Cradle provides a number of default frames in such specifications, to allow a sensible division of the often large amount of text needed to properly describe the use case. These frames are:
A brief summary of the use case should be entered in the TEXT frame.
Each use case contains one or more possible sequences or flows of events between the system and the environment: a normal sequence, and sequences that relate to alternate cases or error handling situations. A scenario is a particular route through the normal, alternate, or error use case flows, and are normally chosen sensibly to highlight a particular alternate sequence or to describe a particular exceptional case.
Lower-level UCDs can be created below the use cases in the top-level UCD to:
Common behaviour may be shown in a shareable use case marked with a double border. The name and number of any use case specification or child UCD of these use cases is taken from their name. Use cases reference this common behaviour by a uses relation to the common behaviour. A use case may be a specialisation of another use case, shown by an extends relation going to the specialisation.
In the top-level UCD, the system is shown as a single rectangular system symbol which has a name and expands into a top-level Package Diagram (PD).
Lower-level UCDs are not allowed to contain a system symbol, to ensure that there is only one entry point into the hierarchy of PDs for the component, process, and deployment views that contains the implementation of the OO model.
UCDs are not hierarchical and the connectivity is shown below:
UCDs are available in both the Essential and Implementation Domain.
Each use case has a name and number which is the UCD number and a decimal number. Lower-level UCDs have a name and number which match the use case for which they are the expansion.
An example UCD is:
The symbols available in UCDs are:
Symbol | Name | Description | Definition | Expansion |
---|---|---|---|---|
Comment | Makes a note anywhere in the diagram. Are always surrounded by * characters. Note: If you do not want Cradle to automatically add an * go to the Graphics Settings section of Project Setup and turn off the Automatically add asterisks to diagram's comment symbols option. | None | None | |
System | Representation of the entire system in the OO model, contains the entire model. | System specification | PD | |
External Actor | A part of the environment that stimulates the system or is stimulated by it. | Environment | None | |
Use Case | A class of interactions between one or more actors and the system. | Use case specification | UCD SQD COD eFFBD | |
Shareable Use Cases (Uses) | A common set of behaviour that is shared by one or more use cases, in one or more OO models. | Use case specification | UCD | |
Picture | Allows you to choose the location of a GIF or JPEG image to be displayed as a diagram symbol or to be embedded in an existing diagram symbol. | None | None | |
Actor Use Case Association | Link between actors and the use cases in which they are involved. | None | None | |
Use Case Includes Relation | Shows the use cases referenced by a use case. | None | None | |
Use Case Extends Relation | Shows the use case of which particular use cases are a specialisation. | None | None | |
Generalisation Relation | A relationship between actors or between use cases to show that one is a specialisation of the other, so that a specific actor is a special case of another actor or that a use case is a special case of another use case. | None | None | |
Use Case Named Relation | A relationship between use cases where the user can set the name of the relationship. The name must be in a pair of << and >>. The typical value is <<constrains>>. | None | None | |
Item | Represents a requirement or system note in the diagram. | None | None | |
Context Item | Represents a requirement or system note in a diagram and is a container within which other object symbols can be drawn or attached. | None | None | |
Cross Reference Link | Represents a cross reference that exists between a pair of system notes/requirements. It can also represent a cross reference between a system note/requirement and a specification or data definition or system that describes the objects symbols that it connects. | None | None |