CPSC 333: Library Information System, Version Three

Location: [CPSC 333] [Ongoing Examples] [Library Information System] Version Three

This page was most recently modified on March 25, 1997


Problem Statement

This version of the Library Information System differs from Version Two in three significant ways: Additional functions and data are added in order to provide (somewhat) better system security, a data base package is to be used to manage information about books, card holders, and loans, and a more modern human computer interface is to be used.

Additional Functions and Changes to Existing Ones

On system startup, a librarian is required to log onto the system in order to use it. The system ``knows about'' multiple librarians but (in order to keep things simple) only one librarian can be logged onto the system at a time: If one librarian is using the system and another wishes to, then the first librarian must ``quit'' (or log out) from the system before the second librarian can log on.

Each librarian has a (unique) ``logon id'' and a ``password.'' As you'd expect, a librarian can change his or her password. The ``Chief Librarian'' can create accounts (logon ids and initial passwords) for new librarians, and can delete librarian's accounts; other librarians don't have these privileges.

Another change is that this system will interact with a data base, that is used to store information about books, card holders, and loans (but not librarians' account information, which is kept in an encrypted password file). This data base will be updated during each user command, so that another ``error condition'' should be introduced for many events - ``Data Base Access Failed.'' Another consequence of this change is that startup and shutdown (``quit'' ) operations are modified, since they no longer involve the transfer of large amounts of data.

As mentioned above, a more modern user interface will be used. This will be described in a bit more detail, below. It should be noted, at this point, though, that it will change the user ``errors'' that are possible, since existing books or card holders can now be identified by making selections from (scrollable) lists prepared by the system, instead of typing information in.

While the way in which inputs are supplied, outputs are reported, and some possible ``error conditions'' may change, each of the events shown on the event list for Version Two does have a corresponding event on an event list for Version Three as well. The following additional events would also be required for Version Three.

Event Number: 13
Event Name: Librarian Logs On
Inputs: logon id, password
Outputs: status message
Error Conditions:
  1. Logon ID is not recognized
  2. Password is incorrect
Effects: If the logon id and password are accepted, then menus, that can be used to display commands that the librarian can select, will appear.

Event Number: 14
Event Name: Librarian Logs Off
Inputs:
Outputs: none
Error Conditions: none

Event Number: 15
Event Name: Chief Librarian Creates New Librarian's Account
Inputs: logon id, password
Outputs: status message
Error Conditions:
  1. Syntactically incorrect inputs
  2. Logon ID is already in use
  3. Password is insecure

Event Number: 16
Event Name: Chief Librarian Deletes Librarian's Account
Inputs: logon id, confirmation
Outputs: status message
Error Conditions: none

Event Number: 17
Event Name: Librarian Changes Password
Inputs: old password, new password, retyped new password
Outputs: status message Error Conditions:
  1. Old password is incorrect
  2. New password and retyped new password don't agree
  3. New password is same as old password
  4. New password is insecure

Human Computer Interface

A more modern, graphical user interface will be used for this version of the system.

On system startup, a dialog box will be displayed. The librarian can use this to enter his or her logon id and password (of course, the password is not displayed as it's typed in).

If the logon id and password are accepted, then a set of pull down menus with names ``Librarian,'' ``Book,'' ``Card Holder,'' and ``Loan'' will appear. These will have entries corresponding to each of the commands that the librarian can request.

The entries for the ``Librarian'' menu will depend on which librarian is logged on: Only the entries ``Change Password'' and ``Quit'' will be displayed, unless the Chief Librarian is logged on - in which case, the entries ``Create New Account'' and ``Delete Account'' are displayed as well.

The entries for the ``Book'' menu can be used to add, change, delete, or display information about books, and are the same for each librarian. The entries for the ``Card Holder'' and ``Loan'' menus are similar.

Class Diagram

A class diagram showing ``problem domain'' classes and instance connections, but no other classes, and no message connections, is as follows.

Class Diagram


References in Lab Exercises

This system will be considered in one or more lab exercises.

Location: [CPSC 333] [Ongoing Examples] [Library Information System] [Version Three]


Department of Computer Science
University of Calgary

Office: (403) 220-5073
Fax: (403) 284-4707

eberly@cpsc.ucalgary.ca