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: