A use case refinement approach proposed by Cockburn and tailored for the purpose of the NCI was applied next (step 4). In this approach, use cases are structured at five levels, each identified in a row of Table 3.1-1 below. The "Community detail" and "UML diagrams" columns introduce RM-ODP community concepts and associated UML notation. The content of these columns will be discussed further in subsequent text.
Level |
Use case detail |
Community detail |
UML diagrams |
---|---|---|---|
Cloud |
Summary Goal |
Community objective (User focus) |
UML4ODP:
|
Kite |
Summary Goal |
Sub-community sub-objective (if any) in complex communities; |
UML4ODP:
|
Sea |
User Goal Level |
High-level interaction, between User and System; |
UML4ODP:
|
Underwater |
Sub-function Goal - needed to accomplish a user goal. |
As above but detailed interaction between User and System Roles, in terms of steps/sequence of steps involved |
UML4ODP:
|
Clam |
Sub-function Goal - not use cases per se - rather services/functions that implement |
Each interaction supported by service interface; possibly use business rules derived from policy to constrain the behavior of roles |
Define services as identified above; consider use of SAIF behavioral framework (BF) or other approaches, e.g. SoaML |
Table 3.1-1. Use Case levels and Related Architecture Artifacts
These different use case levels are valuable as a way of presenting requirements to various stakeholders and end-users, depending on their expertise and responsibility. In a way, this classification through levels provides a complement to the existing classification of use cases using stories. Note that the existing stories could mostly be categorized as Sea level use cases.
Further, these levels have been implemented as UML stereotypes, allowing their classification in the Sparx EA tool as well as showing their traceability to the requirements documented on the wiki pages for the project. By applying this method, business analysts involved in the effort have modelled most of the use cases in the EA tool and these models will be published on the wiki pages.
An example of Use Case levels and related architecture artifacts follows. For illustrative purposes in this and the remaining sections, we will consider the 21090 Datatype Support requirement described on the page Init1pm16.pm4 - 21090 Datatype Support. This use case can be considered a Kite level use case, because it describes new functionality of the NCI semantic infrastructure to support 21090 datatype management for Information Modelers.
This use case can then be further refined into a set of Sea level use cases, namely:
- Import Datatypes
- Localize Datatypes
- Generate XML Mapping
- Register Datatypes
- Interoperate on Datatypes
- Translation Services
Note that other classifications may also be possible and this is somewhat dependent on the modeller's choice. For example, with a greater level of detail these use cases could also be considered Underwater use cases.