Use Case Diagrams: Actors and Interactions

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which type of UML diagram is used to depict a user's possible interactions with a system?

  • Use Case Diagram (correct)
  • Sequence Diagram
  • Class Diagram
  • Activity Diagram

Use case diagrams primarily focus on the internal data structures and algorithms of a system.

False (B)

What is the term used to describe a user of a system in a use case diagram?

Actor

Use case diagrams express the expectations of the ______ for a detailed design.

<p>customers/stakeholders</p> Signup and view all the answers

During which phase of the software development lifecycle is the use case diagram typically employed?

<p>Analysis and design phase (A)</p> Signup and view all the answers

An actor in a use case diagram always represents a specific, individual user of the system.

<p>False (B)</p> Signup and view all the answers

What are the three questions that a use case diagram helps to answer?

<p>What is being described Who interacts with the system What can the actors do</p> Signup and view all the answers

A use case diagram allows us to describe the possible usage ______ that a system is developed for.

<p>scenarios</p> Signup and view all the answers

Match the actor types with their descriptions:

<p>Primary Actor = Takes actual benefit from the execution of a use case Secondary Actor = Receives no direct benefit from the execution of a use case Active Actor = Initiates the execution of use cases Passive Actor = Provides functionality for the execution of use cases</p> Signup and view all the answers

Which of the following is NOT a typical question to ask when identifying actors for a use case diagram?

<p>What data structures are used internally by the system? (B)</p> Signup and view all the answers

An actor that initiates the execution of a use case is referred to as a 'Passive' actor.

<p>False (B)</p> Signup and view all the answers

In a use case diagram, how are actors typically represented?

<p>Stick figures rectangles</p> Signup and view all the answers

In a use case diagram, a user is ______ considered part of the system.

<p>never</p> Signup and view all the answers

What does a generalization relationship between two actors in a use case diagram signify?

<p>One actor inherits from the other actor. (A)</p> Signup and view all the answers

In a generalization relationship between actors, the sub-actor is involved in all use cases with which the super-actor is involved.

<p>True (A)</p> Signup and view all the answers

What type of relationship does generalization express between actors?

<p>&quot;is a&quot;</p> Signup and view all the answers

In the context of use case diagrams, the purpose of identifying actors involves finding out who ______ with the system.

<p>interacts</p> Signup and view all the answers

Which of the following is a question to consider when identifying use cases?

<p>What are the main tasks that an actor must perform? (B)</p> Signup and view all the answers

Use cases should be modeled only once, and not iteratively or incrementally.

<p>False (B)</p> Signup and view all the answers

What is the tangible benefit that a use case should provide?

<p>Functionality expected from the system</p> Signup and view all the answers

Use cases describe ______ expected from the system under development.

<p>functionality</p> Signup and view all the answers

Match the relationship types between use cases with their descriptions:

<p>Inclusion = Behavior of one use-case is integrated in the behavior of another; the included use-case may be executed independently Extension = Behavior of one use-case may be integrated in the behavior of another but does not have to; both use cases can be executed independently</p> Signup and view all the answers

What does an 'include' relationship between two use cases signify?

<p>One use case always includes the functionality of the other. (D)</p> Signup and view all the answers

In an 'extend' relationship between use cases, the extending use case must be executed.

<p>False (B)</p> Signup and view all the answers

In an 'extend' relationship, who decides if the the extended use case is executed?

<p>The extending use case</p> Signup and view all the answers

With the extend relationship, A decides if B is executed, and ______ define under which circumstances the behavior is integrated.

<p>conditions</p> Signup and view all the answers

What is the purpose of an 'extension point' in a use case diagram?

<p>To identify where the behavior of an extension use case should be inserted. (C)</p> Signup and view all the answers

An extension point is specified for an extending use case.

<p>False (B)</p> Signup and view all the answers

Where are extension points written?

<p>A separate section within the use-case</p> Signup and view all the answers

Using the extend relationship, A condition that must be fulfilled for the base use-case to insert the behavior of the extending use-case is to be specified for every ______ relationship.

<p>extend</p> Signup and view all the answers

Match the following terms related to describing use cases

<p>Preconditions = Prerequisite for successful execution Postconditions = System state after successful execution Trigger = Events which initiate/start the use case Standard Process = Individual steps to be taken</p> Signup and view all the answers

What does the 'trigger' component describe when documenting a use case?

<p>The event that starts the use case. (B)</p> Signup and view all the answers

Actors included in system model are within the system boundaries.

<p>False (B)</p> Signup and view all the answers

What does a solid line in a Use Case diagram represent?

<p>Association</p> Signup and view all the answers

Every actor must communicate with ______ use-case.

<p>at least one</p> Signup and view all the answers

What does it suggest if an actor will be within a system boundary?

<p>The system has defined bad boundaries (C)</p> Signup and view all the answers

An actor may be modeled inside a system.

<p>False (B)</p> Signup and view all the answers

What does it mean to group many small use cases that have the same objective?

<p>Modelling Redundant Use-Cases</p> Signup and view all the answers

When identifying use cases, you must always ensure that they are located on the same ______ level.

<p>abstraction</p> Signup and view all the answers

What is the term used to describe the steps required of using the system?

<p>Standard Process (C)</p> Signup and view all the answers

The various steps of the use case itself are separate use cases.

<p>False (B)</p> Signup and view all the answers

Flashcards

What is a use case diagram?

A graphical view of user interactions with a system.

What do use case diagrams express?

Expresses expectations of customers/stakeholders for a detailed design.

What does the Use Case Diagram describe?

Describes possible usage scenarios that a system is developed for.

What questions answer Use Case Diagram?

What is being described, who interacts, and what can they do?

Signup and view all the flashcards

What is a use case?

It is a fundamental concept of many object-oriented development methods.

Signup and view all the flashcards

What are actors in Use Case Diagrams?

Those individuals, systems, or devices that interact with the system.

Signup and view all the flashcards

Actors represent?

Represents roles, not specific users; roles that users adopt.

Signup and view all the flashcards

Actors can be?

Human (Student) or Non-Human (E-mail Server).

Signup and view all the flashcards

What is an active actor?

Initiates the execution of use cases.

Signup and view all the flashcards

What is a passive actor?

Provides functionality for the execution of use cases.

Signup and view all the flashcards

What is a primary actor?

Takes an actual benefit from the use case execution.

Signup and view all the flashcards

What is a secondary actor?

Receives no direct benefit from the use case execution.

Signup and view all the flashcards

Where is an actor?

An actor is ALWAYS clearly outside the system.

Signup and view all the flashcards

What are use cases?

What an actor can do; expected functionality from a system.

Signup and view all the flashcards

What to ask identifying use cases?

Main tasks, information query, system updates, event alerts.

Signup and view all the flashcards

What Use Case Diagram do?

Describes functionality; benefit for actors; derived from customer wishes.

Signup and view all the flashcards

What is a base use-case (include relationship)?

Base use case requires included functionality.

Signup and view all the flashcards

What is a include use-case?

Included may execute separately, required for base case.

Signup and view all the flashcards

What is extending use case?

Extending use case is conditional and optional.

Signup and view all the flashcards

What is the Base use-case?

Base use-case may occur regardless of the existence of the extending use-case.

Signup and view all the flashcards

What is extension points?

Specifies trigger points in the base use-case for extended behavior.

Signup and view all the flashcards

What are conditions?

States when a extended use case should occur.

Signup and view all the flashcards

Abstract Use Case?

It passes properties and behavior to the use-cases.

Signup and view all the flashcards

What does Generalization express between actors?

Expresses an "is a" relationship. Actor A inherits from actor B.

Signup and view all the flashcards

Inheritance relationships

Actor A inherits from actor B.

Signup and view all the flashcards

Actor communication?

Actor A can communicate with Use cases.

Signup and view all the flashcards

How are actors and use cases connected?

An actor is connected to use case using association symbol.

Signup and view all the flashcards

Actor to use case connection

Actors must communicate with at least one use case.

Signup and view all the flashcards

Multiplicities Ends.

Multiplicities are specified for association ends.

Signup and view all the flashcards

What are Preconditions and Postconditions?

Prerequisite and system state after success.

Signup and view all the flashcards

Errors, triggers, and actions

Problems, actors, and what starts the scenario.

Signup and view all the flashcards

What is standard process?

Individual steps of the process.

Signup and view all the flashcards

What is alternative process?

Details the alternative process.

Signup and view all the flashcards

Use Case Diagrams model?

They do not model processes/workflows!

Signup and view all the flashcards

Where actors?

Actors are positions outside the system boundaries.

Signup and view all the flashcards

Abstraction levels?

Avoid modelling multiple abstraction levels.

Signup and view all the flashcards

Is Log-in is a part of Issue certificate?

Use case Log-in is not a part of Issue certificate.

Signup and view all the flashcards

Issue information needs?

Must be associated with two actors when both are never optional.

Signup and view all the flashcards

Redundants Use-cases

Group to form one use case that have the same objective.

Signup and view all the flashcards

Use Case Diagram

Summary of Notation Elements

Signup and view all the flashcards

Study Notes

Use Case Diagram

  • A graphical depiction of a user's possible interactions with a system
  • Demonstrates the different ways a user might interact with a system
  • It summarizes the details of a system's users (actors) and their interactions (use cases) with the system

Key Concepts

  • A fundamental concept of many object-oriented development methods
  • Expresses the expectations of the customers/stakeholders essential for a detailed design
  • Used during the entire analysis and design process.
  • Describes the possible usage scenarios (use cases) that a system is developed for
  • Expresses what a system should do
  • Does not address any realization details like data structures, attributes, or algorithms

Questions Answered

  • What is being described? (the system)
  • Who interacts with the system? (the actors)
  • What can the actors do? (the use cases)

Identifying Actors

  • Use Use-cases
  • Actors initiate the execution of use cases
  • Actors provide functionality for the execution of use cases

Identifying Actors - Key Questions

  • Who uses the main use cases?
  • Who needs support for their daily work?
  • Who is responsible for system administration?
  • What are the external devices or software systems that the system must communicate with?
  • Who has an interest in the results of the system?
  • Actors represent roles that users adopt, not specific users.
  • Actors are always clearly outside the system and never part of it, so they are never implemented

Actor Types

  • Human (e.g., Student or Professor)
  • Non-Human (e.g., E-mail Server)
  • Active: An actor that initiates the execution of use cases.
  • Passive: An actor that provides functionality for the execution of use cases.
  • Primary: An actor that takes an actual benefit from the execution of the use case
  • Secondary: An actor receives no direct benefit from the execution of the use case.

Representing Actors

  • Stick figures
  • Rectangles (containing the stereotype «actor»)
  • Freely definable symbol

Identifying Relationships Between Actors

  • Actors may have common properties (using the same use cases)
  • Actors may be depicted in an inheritance relationship (generalization) with one another.
  • Generalization expresses an “is a” relationship
  • Multiple inheritance is permitted
  • Abstract actors are possible
  • Actor A inherits from actor B
  • Actor A can communicate with use-cases X and Y
  • Actor B can only communicate with the use-case Y

Identifying Use Cases

  • The functionality expected from the system to be developed
  • Model use cases iteratively and incrementally, starting with the “top level" requirements that reflect the business objectives.
  • Describes functionality expected from the system under development
  • Provides tangible benefit for one or more actors that communicate with this use case
  • Derived from collected customer wishes
  • Set of all use cases describes the functionality that a system shall provide
  • Documents the functionality that a system offers

Identifying Use Cases - Key Questions

  • What are the main tasks that an actor must perform?
  • Does an actor want to query or even modify information contained in the system?
  • Does an actor want to inform the system about changes in other systems?
  • Should an actor be informed about unexpected events within the system?

Relationships Between Use Cases

  • Inclusion (the «include» Relationship):
  • The behavior of one use-case (included use case) is integrated into the behavior of another use case (base use case).
  • Base use-case requires the behavior of the included use case to be able to offer its functionality
  • Included use-case may be executed on its own.
  • Extension (the «extend» Relationship):
    • The behavior of one use-case (extending use case) may be integrated into the behavior of another use case (base use case) but does not have to be
    • Both use cases may also be executed independently of each other
    • A decides if B is executed, and conditions define under which circumstances the behavior is integrated.

Extension Points

  • A condition that must be fulfilled for the base use-case to insert the behavior of the extending use-case is to be specified for every <> relationship
    • Conditions are specified, within curly brackets, in notes, each is connected to the corresponding «extend» relationship (or the extending use-case)
  • An extension point identifies the point in the base use-case where the behavior of an extension use-case must be inserted
    • The extension point is specified for a base use-case which can have several extension points
    • Extension points are written in a separate section within the use-case, identified by the keyword extension points
    • If a use-case has multiple extension points, these can be assigned to the corresponding «extend» relationship via specification in a note (as in a condition).

Generalization of Use Cases

  • Use case A generalizes use case B
  • B inherits the behavior of A and may either extend or overwrite it
  • B also inherits all relationships from A
  • B adopts the basic functionality of A but decides itself what part of A is executed or changed.
  • A may be labeled {abstract}
    • Cannot be executed directly.
    • Only B is executable.

Identifying Associations

  • An actor is connected with the use cases via associations (solid lines)
  • Associations express that the actor communicates with the system and uses this certain functionality
  • Every actor must communicate with at least one use-case
  • An association is always binary (i.e., it is always specified between one use case and one actor)
  • Multiplicities may be specified for the association ends
  • If no multiplicity is specified for the actor's association end, 1 is assumed as the default value

Describing Use Cases

  • ID Number – Name
  • Short-Description / Goal
  • Preconditions: Prerequisite for successful execution.
  • Postconditions: System state after successful execution.
  • Error Situations – System State in the Event of an Error: Errors relevant to the problem domain + System state on the occurrence of an error.
  • Actor(s) / Initiator(s): Actors that communicate with the use case.
  • Trigger: Events which initiate/start the use case.
  • Standard Process (Main Success Scenario): Individual steps to be taken.
  • Alternative Processes (Alternative/Other Scenarios): Deviations from the standard process.

Common Errors to Avoid

  • Modelling Processes - Use case diagrams do not model processes/workflows
  • Setting System Boundaries Incorrectly - Actors are not part of the system; hence, they are positioned outside the system boundaries!
  • Mixing Abstraction Levels - Avoid representing “top level" use cases with technically oriented use cases in the same diagram.
  • Functional Decomposition - Various steps are part of the use case, not separate use cases themselves!
  • Incorrect Associations - a use case is associated with two actors, this does not mean that either one or the other actor is involved in the execution of the use case: it means that both are necessary for its execution
  • Modelling Redundant Use-Cases - Many small use cases that have the same objective may be grouped to form one use case when modelling real applications

Summary of Notation Elements

  • System & System Boundary: Boundaries between the system and the users of the system.
  • Use case: Unit of functionality of the system.
  • Actor: Role of the users of the system.
  • Association: Relationship between use-cases and actors.
  • Generalization (Use-Cases): Inheritance relationship between use-cases (B inherits all of A's properties & its entire behaviour).
  • Generalization (Actors): Inheritance relationship between actors (Y participates in all use-cases in which X participates).
  • Extensions (Extend) Relationship: B extends A: Optional (i.e., conditional) use of use-case B by use-case A.
  • Inclusions (Include) Relationship: A includes B: Required (i.e., unconditional) use of use-case B by use-case A.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser