Model Use Case Report
Use Case Document for Magic Library System
MagicLibrary Requirements
Revision: 0
October 11, 2007

Approval
The original of this document is approved and signed by:
Name:
Surname:
Title:
Date:
Signature:	
Revision History
Revision	Date	Description	Author	
0	October 11, 2007	Initial version created.		

Table of Contents
Microsoft Word users please click here and press F9 to create Table of Contents. 
OpenOffice.org users please remove this text and select Insert Table of Content from menu.

Index of Use-Cases
UseCase	UC #	Page	
Add item
	4.1	4
	
Add new 
customer user
	3.4	4
	
Add new 
librarian user
	3.1	4
	
Browse
items
	5.3	4
	
Browse
reservations
	6.4	4
	
Cancel
reservation
	6.2	4
	
Change
system settings
	2.2	4
	
Change password
	1.3	4
	
Check 
system settings
	2.1	4
	
Edit customer's 
profile
	3.5	4
	
Edit item
data
	4.3	4
	
Edit librarian's 
profile
	3.2	4
	
Get customer
status summary
	7.2	4
	
Get item
details
	5.2	4
	
Get notification
	6.3	4
	
Increase
reading
items
	4.4	4
	
Login
	1.1	4
	
Logout
	1.2	4
	
Make
reservation
	6.1	4
	
Order
items
	4.5	4
	
Penalize
for overdue
	7.4	4
	
Register 
loan
	7.1	4
	
Register return
	7.3	4
	
Remove
customer user
	3.6	4
	
Remove
item
	4.2	4
	
Remove
librarian user
	3.3	4
	
Search
for an item
	5.1	4

1. Introduction

1.1. Purpose
This document describes functionality of the system.

1.2. Scope
This document is intended to define use cases for the system.
 
1.3. Overview
Section 2 describes the system actors.
Section 3 describes Use Case model of the system.
Section 4 and further describes use cases. All use cases are grouped by their functionality, purpose and context into subsystems. Each section is dedicated for separate subsystem and is divided into subsections for each use case contained in the subsystem.

2. Actors

Figure 2.1. - Actors Diagram
Description: 
•	UC. Administrator
Description: The role of administrator is to register and remove librarian users, also edit system settings. Administrator needs to access system only locally, i.e. inside the library or from his workplace.
Owner :  MagicLibrary Requirements::Users
Child List : 

•	UC. Customer
Description: Customers need the following functionality from the system:
·Search for an item in library funds;
·Get details of a library item;
·Reserve items;
·Check status summary (borrowed books, reserved books, due times, etc.).
They need to access the system both locally (i.e. inside the library) and from the Web.

Owner :  MagicLibrary Requirements::Users
Child List : 

•	UC. Librarian
Description: The role of librarians is to register customer users, handle loans and returns, provide information to customers, and manage library items: register new items, remove (discard) old library items, edit item. Librarians need to use this functionality only locally (i.e. inside the library).
Owner :  MagicLibrary Requirements::Users
Child List : 

•	UC. System user
Description: The following properties need to be defined for both customer and librarian users:
·System access info:
 ·Username (unique);
 ·Password;
·ID (e.g. social security number);
·Full Name (First, Middle, Last);
·Birth date;
·Contact info:
 ·Phone;
 ·E-mail;
 ·Address.
The following additional properties have to be defined for librarian user:
·Duties;
·Date of started working in library.
The following additional properties have to be defined for customer users:
·Faculty;
·Faculty enter year;
·Subscription date;
·Status.
The value of username for customers is an auto-incremental number generated by the system. This number is called customer number and is used for identification of a customer when loaning or returning a library item.
Owner :  MagicLibrary Requirements::Users
Child List : 
o	Customer 
o	Librarian 

•	UC. User
Description: 
Owner :  MagicLibrary Requirements::Users
Child List : 
o	Administrator 
o	System user 

3. Use-Case Model of the System

Figure 3.1. - MagicLibrary System Diagram
Description: 
4. UC.Item Browser

Figure 4.1. - Item Browser Diagram
Description: 
4.2. UC.5.3.Browse
items

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
The librarian and customer shall be able to browse all existing reading items. While browsing the search, the list of reading items matching the search results shall be displayed. The list item shall show all reading item information if the list is displayed in the expanded form. The list item shall show reading item title if the list is displayed in the short form.

Actors
•	Customer
•	Librarian

Diagrams 

PreCondition

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements
•	The expanded form list item shall contain the reading item type, and all reading item information.
•	The short form of list item shall contain the name of reading item.
•	The user shall be able to switch between the short and expanded form of lists.
•	User shall be able to list all reading items.

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Interface File

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	3

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.5.2.Get item
details

Author

Priority
•	Above Normal

Date

Goal

Implementation Issues

Notes

Description
The librarian and customer shall be able review selected reading items details. 

Actors
•	Customer
•	Librarian

Diagrams 

PreCondition

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases
•	Browse
items

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	Internal Logical File

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	2

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.5.1.Search
for an item

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
The librarian and customer shall be able search for reading items according selected search criteria. 

Actors
•	Customer
•	Librarian

Diagrams 

PreCondition

Alternative Flow of Events
•	Alternative Flow #1: System did not find any reading item matching the search criteria [step 2 of main flow]:
1. System notifies the user.
2. Step 1 of main flow.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. User defines the search criteria.
2. System founds some reading items according search criteria.
3. System allows browsing between search criteria. 

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases
•	Browse
items

Non Functional Requirements
•	The search shall be available according any property of the reading item. Also, the search shall be available according the type of reading.

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Inquiry

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	1

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4. UC.Item Management

Figure 4.1. - Item Management Diagram
Description: 
4.2. UC.4.1.Add item

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
The librarian shall be able to add new item to a library system. When adding the new reading item, the librarian shall enter the reading item information, define the number of items received, and the available loan period.

Actors
•	Librarian

Diagrams 

PreCondition
•	Request to add new item.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Item is added to library system.

Extension Points

Included Use Cases

Non Functional Requirements
•	Each item has and unique ID.
•	Each items shall consist:
 - Item ID
 - Information aout item
 - Number of copies owned
 - Available loan period

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	1

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.4.3.Edit item
data

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
The librarian modifies the reading items information when some error is entered into the reading item description.

Actors
•	Librarian

Diagrams 

PreCondition
•	Request to edit reading item data.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Modified reading item data are saved in a database.

Extension Points

Included Use Cases
•	Get item
details

Non Functional Requirements
•	Reading item ID may not be edited.

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	3

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.4.4.Increase
reading
items

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
The librarian increases count of the reading items when some more copies of existing reading items are received.

Actors
•	Librarian

Diagrams 

Figure 4.2.1. - Increase Reading Items Diagram
Description: 

PreCondition

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Figure 4.2.4. - Increase Reading Items Diagram
Description: 

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	4

HyperlinkModel
•	Increase Reading Items

HyperlinkModelActive
•	Increase Reading Items

HyperlinkText

HyperlinkTextActive

4.2. UC.4.5.Order
items

Author

Priority
•	Below Normal

Date

Goal

Implementation Issues

Notes

Description

Actors
•	Librarian

Diagrams 

PreCondition

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	5

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.4.2.Remove
item

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
The librarian shall be able to remove outdated items from library system. The outdated items are the ones that are lost or broken, so cannot be loaned. 

Actors
•	Librarian

Diagrams 

Figure 4.2.1. - Remove Reading Item Diagram
Description: 

PreCondition
•	Request to remove reading item.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Figure 4.2.4. - Remove Reading Item Diagram
Description: 

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Reading item is removed from loning items database.

Extension Points

Included Use Cases
•	Search
for an item

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	High Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	2

HyperlinkModel
•	
•	Remove Reading Item

HyperlinkModelActive
•	Remove Reading Item

HyperlinkText

HyperlinkTextActive

4. UC.Item Reservation

Figure 4.1. - Item Reservation Diagram
Description: 
4.2. UC.6.4.Browse
reservations

Author

Priority
•	Below Normal

Date

Goal

Implementation Issues

Notes

Description
The reader shall be able to browse his reservations list and make changes to the reservations. The reservations list item displays the reading item information and the time when the reading item shall become available.

Actors
•	Customer

Diagrams 

PreCondition
•	Request to review reserved items list.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements
•	Reserved items list item shall display the reserved item and the time when the item becomes available for loan.
•	If reading item is available at current time - none has taken it fo loan - the available time is 'currently available'.
•	If there are no currently available copies of reading item, the date when reading item is available is the first return date of the reading item plus one day.

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Inquiry

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	4

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.6.2.Cancel
reservation

Author

Priority

Date

Goal

Implementation Issues

Notes

Description
The reader shall be able to cancel the reserved reading item. Also, the system cancels the reading item automatically after the defined time period is passed when it is available for loaning.

Actors
•	Customer

Diagrams 

PreCondition
•	Request to cancel reservation.

Alternative Flow of Events
•	Alternative Flow #2: The next customer that has requested the reservation of the selected reading item [step 4 of main flow]:
1. The system updates all following readers reservation dates.
2. The system e-mails the notification to the next customer.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. Select item to canel reservation.
2.  Confirm the cancellation.
3. The system removes the reading item from the reserved items list.
4. The system marks the reading item as available.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Reservation is cancelled.

Extension Points

Included Use Cases
•	Browse
reservations

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity

Component Type

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	2

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.6.3.Get notification

Author

Priority
•	Below Normal

Date

Goal

Implementation Issues

Notes

Description
User shall get e-mail notifications when reserved item becomes available or when reservation is cancelled. User also should be notified 1 day before reading item returning date.

Actors
•	Customer

Diagrams 

PreCondition
•	Reserved reading item is available
•	Reading item reservation is cancelled
•	Loaned reading item must be returned within 1 day.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	High Complexity

Component Type
•	External Output

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	3

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.6.1.Make
reservation

Author

Priority
•	High

Date

Goal

Implementation Issues

Notes

Description
The reader shall be able to reserve the selected reading item. The reading item is added to the readers reserved items list. The list item displays the reading item information and the time when the reading item is available for the loan.

Actors
•	Customer

Diagrams 

Figure 4.2.1. - Make Reservation Diagram
Description: 

PreCondition
•	Request to make item reservation.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Figure 4.2.4. - Make Reservation Diagram
Description: 

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	The reading item is added to the reserved items list for the customer.

Extension Points

Included Use Cases
•	Check 
system settings
•	Get item
details

Non Functional Requirements
•	The reserved items list item shall contain the reading item information and the date when the reading item is available for loan.
•	If reading item is available at current time - none has taken it for loan - the available time is 'currently available'.
•	If there are no currently available copies of reading item, the date when reading item is available is the first return date of the reading item plus one day.

•	The availability for loan is defined using the FIFO principle.
•	User is allowed to make reservation if reservation limit is not exceeded.
•	Reservation limit is set in system settings.

Assumption

Out-standing Issue

Component Complexity
•	High Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	1

HyperlinkModel
•	Make Reservation

HyperlinkModelActive
•	Make Reservation

HyperlinkText

HyperlinkTextActive

4. UC.Loan Registration

Figure 4.1. - Loan Registration Diagram
Description: 
4.2. UC.7.2.Get customer
status summary

Author

Priority
•	Above Normal

Date

Goal

Implementation Issues

Notes

Description
The abstract use case. The librarian may get the list of loaned reading items of the selected customer. Also, the customer may get his own list of loaned reading items. The reading items list contains the loaned reading items and the time when the item shall be returned. If the return time is passed, the reading item is marked.

Actors
•	Customer
•	Librarian

Diagrams 

PreCondition
•	Request to display customer status.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements
•	Loaned items list for customer shall be displayed. List shall include: 
- information about item, 
- loan date,
- the date when item must be returned.

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Inquiry

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	2

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.7.4.Penalize
for overdue

Author

Priority
•	Below Normal

Date

Goal

Implementation Issues

Notes

Description
If customer does not return the reading item in specified time limit, the librarian may penalize the customer for overdue. The librarian may shorten the reading items list limit for the customer, etc.

Actors

Diagrams 

PreCondition
•	Return violation extension point is reached - the reader is late to return the loaned reading item.

Alternative Flow of Events
•	Alternative Flow #1: The librarian selects not to penalize customer [step 2 of main flow]:
1. The system applies no penalization for the reader.
•	Alternative Flow #2: The librarian selects to give warning to the customer [step 2 of main flow]:
1. The system adds warning for the customer.
2. Step 3 of main flow.
•	Alternative Flow #3: The customer has 3 warnings [step 3 of main flow]:
1. The system decreases customer number of reading items for loan
2. The system resets number of warnings
3. The system updates reader properties information.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. The system displays possible items of penalizing.
2. The librarian selects the penalizing method.
3. The system updates reader properties information.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements
•	The penalizing methods are:
- No penalization
- Warning
- Shorten number of reading items for loan after 2 warnings

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	4

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.7.1.Register 
loan

Author

Priority
•	High

Date

Goal

Implementation Issues

Notes

Description
The librarian registers loan for the reader, after the reserved item gets available for the reader.
The reader cannot take more than the limit of items for the loan. The reader cannot take reading items for loan if he/she is penalized for not returned reading items.

Actors
•	Librarian

Diagrams 

Figure 4.2.1. - Register Loan Diagram
Description: 

PreCondition
•	Request to register loan.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Figure 4.2.4. - Register Loan Diagram
Description: 

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Reading item is loaned to customer.

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	1

HyperlinkModel
•	Register Loan

HyperlinkModelActive
•	Register Loan

HyperlinkText

HyperlinkTextActive

4.2. UC.7.3.Register return

Author

Priority
•	High

Date

Goal

Implementation Issues

Notes

Description
The librarian registers the items that customer returns after loan. The customer must return reading items during defined time limit. If customer does not return the loaned reading item during defined time limit, the librarian may penalize the customer for overdue.

Actors
•	Librarian

Diagrams 

Figure 4.2.1. - Register Return Diagram
Description: 

PreCondition
•	Request to register item return.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Figure 4.2.4. - Register Return Diagram
Description: 

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	The item return is registered for customer. Item is available for loaning. 

Extension Points
•	Return violation

Included Use Cases
•	Check 
system settings

Non Functional Requirements
•	The loan period gets passed the next day after the loaned item return date.

Assumption

Out-standing Issue

Component Complexity
•	High Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	3

HyperlinkModel
•	
•	Register Return

HyperlinkModelActive
•	Register Return

HyperlinkText

HyperlinkTextActive

4. UC.MagicLibrary Requirements

Figure 4.1. - Requirements Diagram
Description: 
4. UC.System Access

Figure 4.1. - System Access Diagram
Description: 
4.2. UC.1.3.Change password

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Every user shall be able to constantly change his/her password for security reasons.

Actors
•	User

Diagrams 

PreCondition
•	The user requests to change password.
•	System requests user to change password after password validation limit has expired.

Alternative Flow of Events
•	Alternative Flow #1: User enters incorrect old password [step 2 of main flow]:
1. System informs user that incorrect password is entered.
2. Step 1 of main flow.
•	Alternative Flow #2: New passwords do not match each other [step 4 of main flow]:
1. System informs that passwords do not match.
2. Step 3 of main flow.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. The system requests to enter old password.
2. The user enters his old password.
3. The system requests to enter new password and repeat new password.
4. User enters and repeats his new password.
5. The system changes the user password.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	The user password is changed. 

Extension Points

Included Use Cases

Non Functional Requirements
•	Password shall be longer than 4 symbols.
•	Password validation limit is 150 days.

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	3

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.1.1.Login

Author

Priority
•	Above Normal

Date

Goal

Implementation Issues

Notes

Description
As only registered users can use the system, every user has to provide his/her login information – login name and password – in order to use the system. 

Actors
•	User

Diagrams 

PreCondition
•	User requests to login to a system.

Alternative Flow of Events
•	Alternative Flow #1: User name or password is incorrect [step 2 of main flow]:
1. System informs user that incorrect password or username is entered.
3. Refer to step 1 of main flow.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. The system requests the user to enter his login name and password.
2. The user enters the login name and password.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	The user is logged into the system and may use appropriate functionality according user type - reader, librarian, or administrator.

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	1

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.1.2.Logout

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
After the user ends working with the system, he logs out in order none can use his profile to add new reading items or for any other reason to pretend someone else.

Actors
•	User

Diagrams 

PreCondition
•	The user requests to log out from the system.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. System saves user settings and logs user out.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	The user is logged out from the system.

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	2

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4. UC.System Settings

Figure 4.1. - System Settings Diagram
Description: 
4.2. UC.2.2.Change
system settings

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Administrator may change predefined settings for library system.

Actors
•	Administrator

Diagrams 

PreCondition
•	Request to change system settings

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	System settings are changed.

Extension Points

Included Use Cases

Non Functional Requirements
•	System settings include:
 - Reading item loaning time
 - Reading items loaning limit
 - Reservations limit
 - Penalties for reading item return violation.

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	2

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.2.1.Check 
system settings

Author

Priority
•	Above Normal

Date

Goal

Implementation Issues

Notes

Description
Another use cases check system settings in order to process their tasks. This use case demonstrates use cases reusability.

Actors

Diagrams 

PreCondition
•	Request to check system settings

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Inquiry

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	1

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4. UC.User Management

Figure 4.1. - User Management Diagram
Description: 
4.2. UC.3.4.Add new 
customer user

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Librarian user shall be able to create new customer users (readers). The customer personal information, login name and password shall be specified for a new customer. 

Actors
•	Librarian

Diagrams 

PreCondition
•	Requests to add new customer.

Alternative Flow of Events
•	Alternative Flow #1: Entered user name already exists [step 1 of main flow]:
1. System notifies about already existing user name.
2. Step 1 of main flow.
•	Alternative Flow #2: Passwords do not match [step 3 of main flow]:
1. System notifies that entered passwords do not match.
2. Step 2 of main flow.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. Librarian enters new customer user name.
2. Librarian enters customer user passsword.
3. Librarian reenters customer user password.
4. Librarian enters customer user personal information.
6. Syatem adds customer to a database.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Customer user is added.

Extension Points

Included Use Cases

Non Functional Requirements
•	The customer user's login name shall be unique. 
Customer user's login name shall be longer than 5 symbols. 
•	The customer's user password shall be longer than 4 symbols.

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	4

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.3.1.Add new 
librarian user

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Administrator shall be able to create new librarian users. The librarian personal information, permissions, login name and password shall be specified for each user. 

Actors
•	Administrator

Diagrams 

PreCondition
•	Administrator requests to add new user.

Alternative Flow of Events
•	Alternative Flow #1: Entered user name already exists [step 1 of main flow]:
1. System notifies about already existing user name.
2. Step 1 of main flow.
•	Alternative Flow #2: Passwords do not match [step 3 of main flow]:
1. System notifies that entered passwords do not match.
2. Step 2 of main flow.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. User enters new librarian user name.
2. User enters  librarian user passsword.
3. User reenters librarian user password.
4. User enters librarian user personal information.
5. User specify librarian user permissions.
6. System adds librarian to a database.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Librarian user is added.

Extension Points

Included Use Cases

Non Functional Requirements
•	The librarian user's login name shall be unique. 
Librarian user's login name shall be longer than 5 symbols. 
•	The librarian's password shall be longer than 4 symbols.

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	1

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.3.5.Edit customer's 
profile

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Librarian user shall be able to modify customer users (readers) personal information and password. 

Actors
•	Librarian

Diagrams 

PreCondition
•	Request to edit customer user's information.

Alternative Flow of Events
•	Alternative Flow #1: Incorrect password is entered [step 1 of main flow]:
1. System notifies about incorrect password and asks reenter password.
2. Step 1 of main flow.
•	Alternative Flow #1: Entered passwords do not match [step 1 of main flow]:
1. System notifies about that passwords do not match and asks reenter password.
2. Step 1 of main flow.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. Librarian edits customer user's personal info and/or password
2. System saves changed customer profile.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Customer user information has changed.

Extension Points

Included Use Cases

Non Functional Requirements
•	The customer user's password shall be longer than 4 symbols.

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	5

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.3.2.Edit librarian's 
profile

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Administrator shall be able to edit  librarian users personal information, permissions, and password. 

Actors
•	Administrator

Diagrams 

PreCondition
•	Request to edit librarian user information.

Alternative Flow of Events
•	Alternative Flow #1: Incorrect password is entered [step 1 of main flow]:
1. System notifies about incorrect password and asks reenter password.
2. Step 1 of main flow.
•	Alternative Flow #1: Entered passwords do not match [step 1 of main flow]:
1. System notifies about that passwords do not match and asks reenter password.
2. Step 1 of main flow.

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. User edits librarian personal information, permissions or password.
2. System saves modified librarian user information.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Librarian user information is changed.

Extension Points

Included Use Cases

Non Functional Requirements
•	The  password shall be longer than 4 symbols.

Assumption

Out-standing Issue

Component Complexity
•	Low Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	2

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4.2. UC.3.6.Remove
customer user

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Librarian shall be able to remove customer users (readers) from library system. The customer user may only be removed from the system after he returns all his loans. All reservations user had made are cancelled.

Actors
•	Librarian

Diagrams 

Figure 4.2.1. - Remove Reader Diagram
Description: 

PreCondition
•	Request to remove customer user.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events

Basic Flow of Events Diagrams

Figure 4.2.4. - Remove Reader Diagram
Description: 

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Customer user is removed.

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	6

HyperlinkModel
•	Remove Reader

HyperlinkModelActive
•	Remove Reader

HyperlinkText

HyperlinkTextActive

4.2. UC.3.3.Remove
librarian user

Author

Priority
•	Normal

Date

Goal

Implementation Issues

Notes

Description
Administrator shall be able to remove librarian users from library system. 

Actors
•	Administrator

Diagrams 

PreCondition
•	Request to remove librarian user.

Alternative Flow of Events

Alternative Flow of Events Diagrams

Basic Flow of Events
•	1. User confirms librarian user removal.
2. System removes librarian user from the database.

Basic Flow of Events Diagrams

Exceptional Flow of Events

Exceptional Flow of Events Diagrams

PostCondition
•	Librarian user is removed.

Extension Points

Included Use Cases

Non Functional Requirements

Assumption

Out-standing Issue

Component Complexity
•	Average Complexity

Component Type
•	External Input

TODO

UCOwner Number

UseCase Complexity

UseCase Number
•	3

HyperlinkModel

HyperlinkModelActive

HyperlinkText

HyperlinkTextActive

4. UC.Users