version 1.0 Use Case Description Ontology (UCDO). Use cases are a commonly used technique for specifying the functional requirements of a project. This ontology is concerned with the formal representation of the flow of events that occurs in a use case, including alternative flows and exceptional flows. Nonfunctional requirements are specified separately. $Date: 2010/03/14 14:20:10 $ Kenneth Baclawski An entity that participates in a use case. A participant can be a system or an actor. An actor can be a system. What matters is the role being played by the particpant. Each participant has a name that uniquely determines it. A system whose functional requirements are being with use cases. A role played by an entity that is interacting with the system. A sequence of steps representing an interaction of actors with a system. A description of system behavior as it responds to a request. Each use case specifies a functional requirment of exactly one system. A use case has a name that uniquely determines it within the use cases of its system. An alternative flow of events in a use case. A boolean expression use for specifying preconditions, postconditions, alternative conditions and exceptional conditions. One interaction event in a flow. A use case of a system. The system being used by a use case. A necessary condition for an event flow to occur. For a use case, the precondition is a requirement for the system to be invoked. For an alternative flow or exception, the precondition is both necessary and sufficient for the alternative or exception to be invoked. A condition that holds upon the successful completion of an event flow. It is a boolean expression that evaluates to true when the flow completes normally. The reflexive transitive closure of the flow. This property allows one to define a query that examines all of the steps of a flow. The next step in a flow. The steps in a flow form a sequence. The previous step in a flow. The participant that initiates a step in a flow. The specification of a step is a sentence that specifies the action that occurs during the step. The subject of that sentence is the initiator of the step. It can be either an actor or the system. If a step includes another use case, then its initiator is the initiator of the included use case. The first step in a flow. Every flow has exactly one first step. The flow started by a step. A subclass relationship among actors. This is the only relationship between actors that is allowed. A use case that is included as a step of another use case. Since the step is entirely specified by the included use case, the specification attribute serves only to summarize the included use case flow. A use case that is invoked as a result of an exceptional condition that occurs during the invocation of one step of another flow. The precondition of the exception use case is a necessary and sufficient condition for the exception to be invoked. The step that can invoke a use case under exceptional conditions. The step after which an alternative flow begins. The alternative flow begins immediately after the specified step and continues to the end. It does not return to the original flow. To specify an alternative that "joins" back to the original flow, use an alternative of an included use case. The actor or the system that initiates a use case. Such a participant initiates the first step of the use case. This is a derived functional property. The participants of a use case. This will consist of the system and other actors. A participant is the initiator of one of the steps in the flow of the use case. The name of a system, actor or flow. A name is required for a system, actor or use case. It is optional for alternative flows. An informal exposition that explains a system, actor or flow. The version of a system. The authors of a system or flow. The sponsoring organizations of a system. The creation date of a system or flow. The specification of a condition or step. For a condition, the specification is a boolean expression that is usually described informally. For a step, the specification is the action that is being performed by the initiator of the step.