多媒体测试系统
 
STUDENT
 
FACULTY
 
SCHOOL
 
SUPPORT
 
PUBLIC
 
SIGNUP
DAILY QUIZ
 
     
  B U L L E T I N    B O A R D

643 Week 10/15 Outline: Use Case Modeling

(Subject: Systems Analysis/Authored by: Liping Liu on 4/11/2024 4:00:00 AM)/Views: 2815
Blog    News    Post   

Concepts of Actors and Use Cases:

Actor -- A group of users that play the same role in using the system. 

  1. The user can be a person, an organization, or another system that communicate with the system to be developed. In general it is an autonomous agent that is external to the system to be developed but interacts with it. So we shall not restrict the concept of actors to physical human beings.
  2. Sometimes there are many users who do the same thing, and sometimes one user may do different things with the system. In any case, we group all the users that play the same role into each group to make it an actor even though the group may have only one user. If a person plays different roles, then he or she belongs to different actors.
  3. Not all the things interact with the system are users or agents. A key to determine whether they are users or not is whether they have the capability of requesting services from or providing services to the system to be developed. For example, in the automatic teller machine (ATM), credit card holder uses a credit card to interact with the ATM. Is the credit card a user? It is external to the system and interacts with the system. However, does it have ability to request services (or gain value) or provide service? 
  4. Actors must be logically outside the system to be developed. A system is made of one or more classes, including domain (or business) classes, control classes, and user interface classes. Sometimes, systems also include hardware components and databases. All these are not external to the system, and so should not be actors. Then what about employees who will use the system? Don’t we already represent employees as class Employee, which is a part of the system? A tricky question. Yes, we modeled employees into the system as Employee class but we did not actually teleport actual employees into the system, and so actual employees are still outside the system.

Use Case: A group of uses that deliver one and only one observable result of value

  1. It sounds like a functions but is NOT.  It is a class
  2. Named after a verb
  3. Is associated with one and only one primary actor, zero or more secondary actors
  4. Each instance has a sequence of interactions between the user and the system that has a definite beginning and ending points.
  5. It is used to capture a functionality of the system, but it stands at much higher level than a function: 1) has to satisfy one goal of the primary actor; 2) has to have one observable result of value to the primary actor; 3) may be performed by one or more helping functions to perform each use use. 

Role Map: Inheritance may be used between actors. A child actor is a subset of a parent actor in the sense that, whoever a user in the child actor can do more than other users in the parent actor. It can be used to solve two modeling problems:

  1. Each use case is associated with one and only primary actor. What about the situations as follows:
    1. A bank customer can use ATM to deposit and transfer money, and in addition, she can withdraw cash like a card holder. Should both Customer and Card Holder be associated with Withdraw Cash?
    2. Both cashier and Manager can do checkouts. 
    3. Both Student and Advisor can register classes for a student. Registrar can do it too.
    4. Both nurse and receptionist can take appointments. 
  2. A use case may be associated with two or more secondary ones. What about the situations as follows:
    1. To withdraw cash, the ATM needs to get approval from either the bank or the Visa Center, but not both.
    2. To update inventory, the inventory system needs to get either sales data from the POS or from the vendor fulfillment system, but not both.

Process of Use Case Modeling:

  1. Identify the users or primary actors
  2. Identify what are the goals or interests of each actor with the system
  3. Identify the use cases from the goals and interests of each actor
  4. Use role maps to organize the actors 
  5. *Optimize use cases to minimize the amount of work in describing each use case (see Chapter 10)

Examples:

  • ATM 
  • Hospital Admission and Discharge System

  • Student Registration System

Homework:

  • Reading: Chapter 9
  • Exercises: Correctness Questions: online; Hands-on Questions: Questions 7 and  8 of Chapter 9 

           Register

Blog    News    Post
 
     
 
Blog Posts    News Digest    Contact Us    About Developer    Privacy Policy

©1997-2024 ecourse.org. All rights reserved.