Com S 362 --- Object-Oriented Analysis and Design HOMEWORK 6: USE CASES (File $Date: 2003/10/15 15:50:43 $) Due: Problems 1-4 on October 20, 2003. This homework is an individual homework. That is, you should do the problems on your own, without directly collaborating with your teammates or others in class. This homework, problems relates to some of the basic concepts and skills we have been discussing in class; in particular, writing use cases. Read chapter 6 of Craig Larman's book Applying UML and Patterns (Second edition, Prentice-Hall PTR, Upper Saddle River, NJ, 2002). Also read chapter 3 of Martin Fowler with Kendall Scott's book UML Distilled (Addison-Wesley Longman, Inc., Reading, MA, 2000). Finally, as an example look at the web page for the StickSync project: http://www.cs.iastate.edu/~cs362/sticksync/usecases.shtml 1. (20 points) [Brief format use case "Cancel a Reservation"] Consider a reservation system for an airline. Such a system allows travel agents to make reservations for customers who want to fly on airplanes. Using the brief format, write a use case titled "Cancel a Reservation", which would involve a travel agent talking to the reservation system and a customer. Assume that the customer has an existing reservation that they want to cancel. Be sure your use case is written in an essential, UI-free style (see Larman's section 6.11). You only need to consider the "happy path". Although we'd prefer that these be typed, this can be handwritten if your handwriting is clear. 2. (40 points) [Casual format use case "Check Reservation Status"] Consider again a reservation system for an airline. Using the casual format, write a use case titled "Check Reservation Status". Again in this use case the travel agent is talking to the reservation system and a customer who has called to check on one or more reservations that they may have made. (The customer wants to know that the reservation is in the system.) Consider as alternative scenarios what happens if (a) the reservation does not exist, and (b) a flight in the reservation has been canceled. Be sure your use case is written in an essential, UI-free style. Although we'd prefer that these be typed, this can be handwritten if your handwriting is clear. 3. (70 points) [Fully dressed format use case "Make a Reservation"] Consider again a reservation system for an airline. Using the fully dressed format, write a use case titled "Make a Reservation" for an agent making a reservation on behalf of a customer. If you're unfamiliar with the process of making an airline reservation, you might want to play with an online airline booking system, such as expedia.com. (You can do this without actually buying a ticket if you stop at the point where they want your credit card number.) But note that you are *not* to write your use case for this process of buying a ticket on-line; rather you are to write it for the process of having the travel agent make a reservation for a customer. So the main actor will be a travel agent, not a customer. You should consider at least two alternative scenarios for this use case: (a) the customer requests a destination that does not exist, (b) the customer decides that the price is too high. Be sure your use case is written in an essential, UI-free style. Although we'd prefer that these be typed, this can be handwritten if your handwriting is clear. 4. (10 points) [EBP guidelines] Consider again and airline reservation system. For each of the following, write (i) either "yes" to indicate that this is an elementary business process (see Larman section 6.8), or "no", and (ii) briefly explain why. a. Change seat assignments for an existing reservation. b. Compute the sales tax for a payment. c. Delete a flight from the system (without doing anything else to existing reservations). d. Interpret a keystroke from the company's agent. e. Change the time of a reservation.