2007年7月13日 星期五

Library online - Use Case

1. Introduction
This document represents a draft use-case summary that would be created early in the lifecycle of the development effort. It is by no means a complete requirements specification, but it represents enough data to get the designers started. In fact a number of the “Manage” use cases that appear in the use-case diagram are not even described herein at all. At this point in time, the application does not fully implement the use cases described here.

2. Glossary
Key terms are denoted in italics within the use-case specifications.

Item - A tangible copy of a Title.
Title - The descriptive identifying information for a book or magazine. Includes attributes like name and description.
Reservation - Whenever a borrower wishes to checkout an Item that is not available due to previous checkout by a different borrower a request can be made (a reservation) that locks the borrower in as the next person able to checkout the Item.

3. Actors
Borrower - Interactive actor who uses the library to search for Titles, make reservations, checkout, and return Items.

Librarian - Interactive actor responsible for maintenance of the inventory, acting on behalf of the borrowers, and general support of the library (non-automated as well).
Master Librarian - Interactive actor, themselves a Librarian, who is also responsible for maintaining the set of librarians for the system.
Registered User - Any interactive user for whom the system maintains a system account. This includes borrowers, librarians, and master librarians. Capabilities include basic login, browsing and searching for Titles.

4. Use Cases


5. Use-Case Specification: Login
5.1 Description
A registered user can log in and, upon verification, can initiate subsequent actions.
5.2 Basic Flow
1. Initiated when a registered user chooses to Login.
2. The system prompts for username and password.
3. The registered user enters a username and password and submits them.
4. The system authenticates the username and password combination.
5. The system authorizes the registered user according to the role(s) to which the registered user has been assigned.
6. The system displays the main page and awaits subsequent action.
5.3 Alternative Flows
5.3.1 Invalid Username/Password
1. The system displays the Authentication Failed message.
5.3.2 Account Locked
1. The system displays the .
5.3.3 Authentication Service Unavailable
1. The system displays a Service Unavailable message and does not permit any further attempts to login.
5.4 Subflows
5.5 Key Scenarios
5.6 Preconditions
None.
5.7 Postconditions
5.7.1 Login Success
The user is considered authenticated and is viewing the main page from which additional actions can be initiated.
5.7.2 Login Failure
If the Login fails as described in any of the alternatives above, an appropriate message is displayed and the user is not considered authenticated.
5.8 Extension Points
5.9 Special Requirements
1. Up to three consecutive failed tries to login with invalid username/password combination until locking an account.
2. Minimum password length is 8 characters, and must include a combination of characters including at least one non-alphabetic character.
5.10 Additional Information
1. So far we are not doing much with roles.
2. The “appropriate message” above is vague; we need to come up with how we report this to the user.
3. We need to talk to security people about how reasonable it is to lock the user account after some number of failed attempts. If we keep that rule, we’ll need an Unlock Account use case.


6. Use-Case Specification: Browse
6.1 Description
A registered user can browse the contents of the library as a precursor to other actions.
6.2 Basic Flow
1. Initiated when a registered user chooses to browse Titles.
2. The system responds by displaying all of the Titles in the system, along with topical descriptions.
3. The registered user selects a Title for further information.
4. The system displays Title detail along with the Items and the available action on each Item.
6.3 Alternative Flows
6.3.1 No records
1. The system displays message indicating no Titles are in the system.
6.4 Subflows
6.5 Key Scenarios
6.6 Preconditions
The user has been authenticated.
6.7 Postconditions
None
6.8 Extension Points
6.9 Special Requirements
6.9.1 The Titles will be sorted alphabetically by the name.

6.10 Additional Information

7. Use-Case Specification: Search
7.1 Description
A registered user can search the contents of the library as a precursor to other actions.
7.2 Basic Flow
1. Initiated when a registered user chooses to perform a search of Titles.
2. The system responds by providing the registered user a means to enter search criteria.
3. The registered user enters search criteria and initiates the query.
4. The system determines results and displays the matching Titles, along with topical descriptions.
5. The registered user selects a Title for further information.
6. The system displays Title detail along with the Items and the available action on each Item.
7.3 Alternative Flows
7.3.1 No matches
1. The system displays message indicating no Titles in the system match this criteria.
7.4 Subflows
7.5 Key Scenarios
7.6 Preconditions
The user has been authenticated.
7.7 Postconditions
None

7.8 Extension Points
7.9 Special Requirements
7.9.1 Search conditions
The search only searches based on the name of the Item, not description or any other field.
7.9.2 Search patterns
The system shall use the percent sign as a wildcard (in keeping with standard SQL idioms).
7.9.3 Sorting rules
The results will be sorted alphabetically by the name.

7.10 Additional Information


8. Use-Case Specification: Make Reservation
8.1 Description
A borrower can reserve an Item that is currently checked out but has no pending reservations.
8.2 Basic Flow
1. Initiated when a borrower chooses to make a reservation for an Item.
2. The system demarks the Item as reserved and associates the borrower with the reservation.
8.3 Alternative Flows
8.4 Subflows
8.5 Key Scenarios
8.6 Preconditions
The borrower is viewing a particular Title with an Item that is not currently available.
8.7 Postconditions
None
8.8 Extension Points
8.9 Special Requirements

8.10 Additional Information


9. Use-Case Specification: Remove Reservation
9.1 Description
A borrower can remove an existing reservation from an Item and free it up for other borrowers.
9.2 Basic Flow
1. Initiated when a borrower chooses to remove a reservation for an Item.
2. The system demarks the Item as no longer reserved.
9.3 Alternative Flows
9.4 Subflows
9.5 Key Scenarios
9.6 Preconditions
The borrower is viewing a particular Title with an Item that is reserved by the borrower.
9.7 Postconditions
None
9.8 Extension Points
9.9 Special Requirements
9.10 Additional Information


10. Use-Case Specification: Checkout Item
10.1 Description
A librarian checkout an available Item when a borrower takes the item out.
10.2 Basic Flow
1. Initiated when a librarian chooses to checkout an Item.
2. The system demarks the Item as checked out to the borrower.
10.3 Alternative Flows
10.4 Subflows
10.5 Key Scenarios
10.6 Preconditions
The borrower is viewing a particular Title with an Item that is currently available.
10.7 Postconditions
10.8 Extension Points
10.9 Special Requirements
10.10 Additional Information


11. Use-Case Specification: Return Item
11.1 Description
The librarian marks an Item as available or reserved when the item is returned.
11.2 Basic Flow
1. Initiated when a borrower chooses to return an Item.
2. The system demarks the Item as available.
11.3 Alternative Flows
11.4 Subflows
11.5 Key Scenarios
11.6 Preconditions
The borrower is viewing a particular Title with an Item that is checked out by the borrower.
11.7 Postconditions
11.7.1 Success condition
The Item is marked as available, or marked as reserved when some borrower had made a reservation on it.
11.8 Extension Point
11.8.1 Notify anyone with a reservation on the Item.
11.9 Special Requirements
11.10 Additional Information

沒有留言: