Augustana University College

COMPUTING SCIENCE 220
Software Engineering and Human-Computer Interfaces


Assignment 1 - Use Cases with UML



Due Date: Thursday, October 4, by the start of the lab session

Objectives

Introduction

This lab continues our work on creating a domain model for a library information system. In our first lab, we concentrated on identifying the relevant use cases. In this lab, we will practice writing use cases and depicting them with UML use case diagrams.

Assignment

Assume that we have identified the following actors and goals:

Actor Goals Notes
Librarian Loan book to patron Authenticate patron, identify book, mark book as on-loan in catalogue, and add book to list of books on loan to this patron, with a specific due date. If patron's membership has expired, either refuse to lend book or enter "Manage patron information" use case to renew membership.
Renew book Identify patron and book, assess fine if overdue, and revise due date. Patron's membership status is checked. Renewal can be done by telephone.
Process book returned by patron Identify book, mark as available, and remove from list of books loaned to patron; if book is overdue, assess patron a fine.
Handle book reported as lost Identify book, mark as lost, and assess patron a fine.
Manage patron information Create, retrieve, update, or delete patron information.
Cataloguer Process new book Add new record to online catalogue, or add a copy to an existing record if book is a duplicate.
Patron Search for a book in the online catalogue Enter a search string, specifying whether to search for a name, a title, or a subject, to see a list of books matching the search string, then select a book to see the full record for that book; or enter a call number, and see a display of the system record for the specified book.
Administrator Send overdue book notices. Request a list of all books that are overdue by more than some minimum number of days.

Note that book ordering and accessions are not currently included in the scope of the automated library information system.

  1. Create a UML Use Case Diagram to depict the set of actors and use cases listed above.  For now, create this diagram as a hand-drawn sketch.  In next week's lab, we will practice using a CASE tool to draw a use case diagram, and you can submit the more formal diagram instead of your informal sketch with your use case text.
  2. Select one of the Librarian's use cases and write the use case text in the "fully dressed" format, following the example given on pp. 68–72 of the textbook (in either the single- or two-column formats).
  3. Select two other use cases and write one of them in the brief format and the other in casual format.  Make sure that you choose a use case that has at least one alternative scenario for the use case in casual format.  These formats are illustrated on p. 63 and defined on p. 66.

Submission

Submit the use case diagram and text in hard-copy form by the beginning of the lab session on Thursday, October 4. Late submissions will be assessed a penalty of 1% per hour.

Copyright © 2003, 2007 Jonathan Mohr