                      Documentation for Library
                      -------------------------

This program emulates a simple library processing system. It loads 
catalog, patron, and transaction databases and allows sorted display
of library items and patrons. It also processes library item check out
and return requests. However, the databases are not updated after 
transactions have been executed. Here are simple UML class diagrams: 

                     ------------
                     | Identity |
                     ------------
                          ^
                          |
                      ----------
                      | Patron |
                      ----------
                          ^
                          |
                    ---------------
                    |             |
                -----------  -----------
                | Student |  | Faculty |
                -----------  -----------

                     ------------
                     | Identity |
                     ------------
                          ^
                          |
                   ----------------
                   | Library_Item |
                   ----------------
                          ^
                          |
     --------------------------------------------
     |              |             |             |         
------------  ------------- -------------- -------------
| Book     |  | Newspaper | | Periodical | | Lost_Item |  
------------  ------------- -------------- -------------

                      ------------              --------
                      | Identity |              | Date |
                      ------------              --------
                           ^
                           |
                     -------------
                     |           | 
                ---------- --------------- 
                | Borrow | | Transaction |
                ---------- --------------- 














                             ------------
                             | Database |
                             ------------
                                  ^
                                  |
     ------------------------------------------------------------------
     |          |              |          |           |               |
----------- ------------ ----------- ---------- ------------ -----------------
| Catalog | | BorrowDB | | Library | | LostDB | | PatronDB | | TransactionDB |
----------- ------------ ----------- ---------- ------------ -----------------

                           ------
                           | UI |
                           ------
                              ^
                              |
    -------------------------------------------------------------
    |           |              |               |                |
---------  -------------  ------------  -----------------  ------------
| LibUI |  | CatalogUI |  | PatronUI |  | TransactionUI |  | BorrowUI |
---------  -------------  ------------  -----------------  ------------


                           ----------
                           | string |
                           ----------
                               ^
                               |
                           --------
                           | Text |
                           --------
                               ^
                               |
                           --------
                           | Name |
                           --------

                            -------------
                            | LibExcptn |
                            -------------
                                  ^
                                  |                
       -----------------------------------------------------
       |               |                  |                |
------------ ------------------- ------------------- ---------------
| IdExcptn | | DB_AccessExcptn | | DB_FormatExcptn | | FieldExcptn | 
------------ ------------------- ------------------- ---------------        
      ^
      |
      -------------------------------------------------------------------
      |            |            |             |           |             |
------------------ |            |             |           |             |
|InvalidIdExcptn | |            |             |           |             |
------------------ |            |             |           |             |
          --------------------- |             |           |             |
          | DuplicateIdExcptn | |             |           |             |
          --------------------  |             |           |             |
                  --------------------------- |           |             |
                  | ItemNotCheckedOutExcptn | |           |             |
                  --------------------------- |           |             |
                                       ------------------ |             |
                                       | ItemLostExcptn | |             |
                                       ------------------ |             |
                                              ------------------------- |
                                              | ItemNonExistentExcptn | |
                                              ------------------------- |
                                               -------------------------------
                                               | ItemAlreadyCheckedOutExcptn |
                                               -------------------------------


Upon execution, a user interface guides the selection of options. This 
software is freely distributable and it is intended as a sample of my C++
software. The source code is stored in compressed tar format.

         Instructions for compiling and executing this software
         ------------------------------------------------------
         1. Uncompress the file:
           gunzip library.tar.gz
         2. Extract files from the tar file:
           tar -xvf Library.tar
         3. cd to the source code directory:
           cd Library
         4. Compile the software
           make
         5. Execute
           libdem

Dan Sullivan
(301) 980-8649
DanSullivan@terpAlum.umd.edu
