Relationship between use case diagram and collaboration

Terms and Concepts

relationship between use case diagram and collaboration

Actors may be connected to use cases only by association. Interaction diagrams, including sequence diagrams and collaboration diagrams, are discussed in. Sequence and collaboration diagrams both aim at describing the dynamic . There is a difference between sequence diagrams and collaboration diagrams. In UML modeling, a relationship is a connection between two or more UML model abstraction relationships to a model in several diagrams, including use- case, Communication path, A communication path is a type of association between.

The second kind of use cases is the concrete use cases, which has a complete behaviour and is separately runnable. In addition, some authors [7, 8] claim that the fragment of interaction, represented by an included use case, should be encapsulated and that inclusion does not have interleaving semantics. However, most experts on UML [3, 5] agree that generalization is a way of describing particular cases of use cases.

But, the problem is the direction of the arrow repre- senting both inclusion and extension, a problem found by some authors [6—8]. The arrow of inclusion is supposed to go from the base use case to the included use case. But in the extension relation- ships, the arrow goes in the opposite direction. It can be explained as follows: Finally, some authors [14, 15] have deeply studied the extension points of extended use cases.

This interpretation can be considered as the most accepted one for use cases and use-case relationships. The proposed technique will use these intended properties and will clarify some of these concepts by means of sequence diagrams. Sequence diagrams describe use cases, and use-case relation- ships are extracted from them. Our technique can be summarized as follows. Each use case represents a task in which the actor participates. Some of the interaction steps in a sequence diagram can be deployed in another sequence diagram or subdiagram.

These extensions are represented as new sequence sub diagrams. Next sections take as a running example the description of an automatic teller machine ATM system.

A complete version of the modelling technique applied to this ATM system is available at http: We assume that a use-case diagram is a high-level description of actor interactions with the system to be developed.

Figure 1 shows an initial description of the use-cases diagram of the ATM system, in which we have considered three actors and four use cases. Main use-case diagram of the ATM system. Now, in our technique, each use case is described by means of a unique sequence of behaviour in which the developers can decide whether they includes all the steps and variants.

That is, pieces of behaviour could separately be described by means of another sequence diagram. A sequence diagram of the Register use case.

relationship between use case diagram and collaboration

Included use cases, use-case extensions and generalizations can thus uniformly be handled. This will be explained later on. It is supposed that the developer has decided to include both validations in order to describe the basic beha- viour.

relationship between use case diagram and collaboration

However, whenever the card is not valid or the pin is incorrect, the alternative course should be separately described from other use cases, in particular, they will correspond to extensions of this base use case. Alternatively, the developer could include all the alternative courses in a unique sequence diagram handling the invalid card and invalid pin cases inside the opt constructor. Associations between use cases and actors Now, an association between a use case and an actor means that an actor participates in the behaviour described by the use case.

This participation involves interaction: In addition, if a use case includes another one, the actor necessarily interacts with the included use case. The same happens with use-case extensions and use-case specializations.

In Figure 3, the Client actor interacts with the Make Transactions use case.

relationship between use case diagram and collaboration

Although there is no association directly connecting the actors Client and Bank and the included use cases, the actors can observe and therefore interact with the system to withdraw cash or recharge a phone card. However, the Mobile actor interacts only in the Recharge PhoneCard use case, given that it is directly connected to this use case.

One of the reasons why the actor interaction with the use case is required is to prevent the inclusion from corresponding to functional decomposition referring to internal processing. The use-case model shows an external view of the system [3], and therefore, each use case should interact with the actors representing the system boundaries.

In this fragment, the actor connected to the base use case participates. In fact, the name of the included use case is inserted as one of the sequence steps of the base. The included use case is encapsulated and there is no interleaving with the base use case. The base use case cannot access the included use case, except for the retrieval of the observable result by the actor. More than one end of the association may have the same type.

  • Relationship types
  • UML Use Case Diagrams
  • Describing Use-Case Relationships with Sequence Diagrams

An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends; otherwise, the association is not navigable from the opposite ends. Actor Actors are the entities that interact with a system.

Use Case Diagram - UML 2 Diagrams - UML Modeling Tool

Although in most cases, actors are used to represent the users of system, actors can actually be anything that needs to exchange information with the system.

So, in a hospital information system, you may have doctor and patient as actors but not Dr. The term "role" is used informally here and does not necessarily imply the technical definition of that term found elsewhere in this specification. Actors may represent roles played by human users, external hardware, or other subjects.

Use case diagram

System The scope of a system can be represented by a system shapeor sometimes known as a system boundary. The use cases in the system make up the total requirements of the system.

If a subject or system boundary is displayed, the use case ellipse is visually located inside the system boundary rectangle. Note that this does not necessarily mean that the subject classifier owns the contained use cases, but merely that the use case applies to that classifier.

Include An include relationship specifies how the behavior for the inclusion use case is inserted into the behavior defined for the base use case.

relationship between use case diagram and collaboration

An include relationship defines that a use case contains the behavior defined in another use case. Extend An extend relationship specifies how the behavior of the extension use case can be inserted into the behavior defined for the base use case.

A relationship from an extending use case to an extended use case that specifies how and when the behavior defined in the extending use case can be inserted into the behavior defined in the extended use case. This relationship specifies that the behavior of a use case may be extended by the behavior of another usually supplementary use case.

relationship between use case diagram and collaboration

The extension takes place at one or more specific extension points defined in the extended use case. Note, however, that the extended use case is defined independently of the extending use case and is meaningful independently of the extending use case.

On the other hand, the extending use case typically defines behavior that may not necessarily be meaningful by itself. Instead, the extending use case defines a set of modular behavior increments that augment an execution of the extended use case under specific conditions. Note that the same extending use case can extend more than one use case. Furthermore, an extending use case may itself be extended.