UML Use Case Diagrams Use Cases and Actors Example: Staff

UML Use Case Diagrams Use Cases and Actors Example: Staff

Moving Towards Specifications • What functions will the new system Lecture 9, Part 1: provide? – How will people interact with it? Modelling Interactions – Describe functions from a user’s perspective Jennifer Campbell • UML Use Cases – Used to show: CSC340 - Winter 2007 • the functions to be provided by the system •which actors will use which functions CSC340 University of Toronto 2 UML Use Case Diagrams Notation for Use Case Diagrams Communication Capture the relationships between actors association Use case and use cases. Change a client contact Place book order Add a Staff contact Campaign new client Manager Customer Actor Record client payment Accountant System boundary CSC340 University of Toronto[BMF99] 3 CSC340 University of Toronto[BMF99] 4 Use cases and Actors Example: Staff Management Add new Staff staff member Management • Use case: System – a pattern of behavior that the new system is required Add new to exhibit staff category – a sequence of related actions performed by an actor and the system via a dialogue. Change rate for staff category • Actor: Accountant – anything that needs to interact with the system: Change category • a person for staff member • a role that different people may play • another (external) system. Calculate staff bonuses CSC340 University of Toronto 5 CSC340 University of Toronto 6 <<extends>> <<uses>> When one use case adds behaviour to a base case One use case invokes another (like a procedure call); – used to model a part of a use case that the user may see as – used to avoid describing the same flow of events several times optional system behavior; – puts the common behavior in a use case of its own. – also models a separate sub-case which is executed conditionally. Check out item Distribute info to students Cashier <<uses>> Registrar <<extends>> Swipe UPC Distribute schedule code info to students CSC340 University of Toronto 7 CSC340 University of Toronto 8 Example: Car Example: Meeting Scheduler Driver GasAttendant Mechanic Initiator Participant <<uses>> <<uses>> Fill Up Check Oil Fix Car Edit <<extends>> Provide Generate Withdraw constraints Drive Schedule Constraints Schedule < < > <<uses>> <<uses>> meeing u > <<extends>> s s < e < se u s u <<uses>> Turn On s > < Fix car on e > < s > Engine > es> the road > us Validate << User CSC340 University of Toronto 9 CSC340 University of Toronto 10 Identifying Actors Finding Use Cases • Look for: • For each actor, ask the following questions: – the users who directly use the system – Which functions does the actor require from the system? – also others who need services from the system – What does the actor need to do ? • To find actors that are people/roles ask: – Does the actor need to read, create, destroy, modify, or store some kinds of information in the system ? – Who will be a primary user of the system? (primary actor) – Does the actor have to be notified about events in the system? – Who will need support from the system to do her daily tasks? – Does the actor need to notify the system about something? – Who will maintain, administrate, keep the system working? (secondary actor) – What do those events require in terms of system functionality? – Who or what has an interest in the results that the system – Could the actor’s daily work be simplified or made more efficient produces ? through new functions provided by the system? • To find actors that are external systems ask: – Which hardware devices does the system need? – With which other systems does the system need to interact with? CSC340 University of Toronto 11 CSC340 University of Toronto 12 Generalizations Exercise: Online Order System Generalization relations: “is a” • Actor classes – It’s sometimes useful to identify classes of actor Prepare a use case diagram for the online order • E.g. where several actors belong to a single class system: • Some use cases are needed by all members in the class • Other use cases are only needed by some members of the class • Using the online order system, the customer – Actors inherit use cases from the class places his order (by adding items, possibly • Use Case classes removing items, and then submitting the order). – Sometimes useful to identify a generalization of several use • The order clerk retrieves the order from the cases system and assigns it to a delivery person. • The delivery person delivers the order to the customer. CSC340 University of Toronto 13 CSC340 University of Toronto 14 Example: Place UML Sequence Diagrams book order Place book order Customer Customer Customer Invokes • Describe a Use Case using Sequence Diagrams initiates the the search method – Sequence diagrams show step-by-step what’s sequence in OnlineStore involved in a use case • Which objects are relevant to the use case :Customer :OnlineStore :OrderDepartment :Bank • How those objects participate in the function – You may need several sequence diagrams to search for book describe a single use case. • Each sequence diagram describes one possible scenario for Time [book exists] order book the use case submit order request – Sequence diagrams… • …should remain easy to read and understand. debit account • …do not include complex control logic CSC340 University of Toronto 15 CSC340 University of Toronto 16 Example: Calculate staff bonuses Example: Add an advertisement iteration :Accountant :PayrollSystem :Staff :Bank list payroll [for each staff] *get account Activation [for each staff] *calculate bonus update payroll *[for each staff] update account *[for each staff] schedule direct deposit CSC340 University of Toronto 17 CSC340 University of Toronto 18 Modelling Sequences of Events Exercise: Online Order System • Objects “own” information and behaviour • Prepare a sequence diagram for the Assign – Objects don’t “know” about other objects’ Driver use case: information, but can ask for it. – To carry out business processes, objects The order clerk requests a list of drivers from the have to collaborate. system. Using the system, he selects a driver • …by sending messages to one another to invoke and the system checks the driver’s availability. each others’ operations This is repeated until a driver has be selected – Objects can only send messages to one (until an available driver is found). Then the another if they “know” each other order clerk assigns the driver using the system, • I.e. if there is an association between them. and the system notifies the delivery person. CSC340 University of Toronto 19 CSC340 University of Toronto 20 References [Amb03] Ambler, S. W. 2003. The Elements of UML Style. Cambridge, UK: Cambridge University Press. [BMF99] Bennett S., McRobb S., and Farmer R. 1999. Object-Oriented System Analysis and Design using UML. Berkshire, UK: McGraw Hill. CSC340 University of Toronto 21.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us