Report on Fines
Interface Definitions:
Inputs to module:
The module report on fines is a sub module of the "library transaction" module. It is called from the first level of the Nexus booklenders software to let the librarian have some control of the fine data store. The call is done by a simple request at the top level with the click on a button using a mouse.
Inputs by user:
Outputs:
This module calls one or more of four sub modules. In all of these cases the module causes the sub-modules to query the databases for information concerning either the specific fields or a full report. These sub-modules call the Fine data store, Book data store or the Borrower data store for its required information.
Data Abstractions:
ID# is a positive integer number
call# is a positive integer number
borrowed is a date (see data stores for a definition)
returned is a date
due is a date
amount is a currency (see data stores for a definition)
first is a variable length string of characters denoting a first name.
last is a variable length string of characters denoting a last name.
middle is a variable length string of characters.
address is a variable length string of characters.
city is a variable length string of characters.
prov/state is a variable length string of characters.
code is a variable length string of characters.
type is an alphanumeric character.
cost is a currency
title is a variable length string of characters.
Sub-Modules:
Design:
Environment: GUI (graphical user interface)
Interface: Pop-up window ( see picture files )
The module will be a basic "call sub-module" module. The librarian will be informed that the report on fines is needed the "path" to take is that of a report on overdue books as any book that is overdue will as well require a fine unless the librarian removes such by way of the modify module.
ERROR HANDLING:
Upon the calling of an improper sub-module (i.e. want search got report) the sub-module will be equipped with a "Back" button for going back to the last level. All other errors will be handled by the sub-modules.
IMPORTS:
EXPORTS:
The module will export a request to activate a sub-module. This would include; Call to overdue: the call is made by a request to the module as the librarian makes a click on the appropriate button on window. Call to search: the call is made by a request to the module as the librarian makes a click on the appropriate button on window.
Call to modify: the call is made by a request to the module as the librarian makes a click on the appropriate button on window. Call to print: is done by modules search and overdue.
Sub-Module:
Overdue
Interface Definitions:
Inputs to module:
Inputs by user:
Outputs:
This module returns a list of the overdue books on loan by the library and any outstanding fine that remains unpaid. The return will be in the form of a report and may be viewed on the screen or printed by the librarian (see print module). The report is, at this point in time, in the form of:
Data Abstractions:
ID# is a positive integer number
call# is a positive integer number
borrowed is a date (see data stores for a definition)
returned is a date
due is a date
amount is a currency (see data stores for a definition)
Sub-Modules:
Design:
Environment: GUI (graphical user interface)
Interface: Pop-up window ( see picture files )
Error Handling:
Imports:
Exports:
report #1
report #2
etc...
Sub-Module
Search
Interface Definitions:
Input to module:
Input by user:
Outputs:
Data Abstractions:
ID# is a positive integer number
call# is a positive integer number
borrowed is a date (see data stores for a definition)
returned is a date
due is a date
amount is a currency (see data stores for a definition)
Sub-Modules:
Design:
Environment: GUI (graphical user interface)
Interface: Pop-up window ( see picture files )
The module queries the database application for the match of a given field and returns the match or matches to the librarian in a text box.
Error Handling:
Upon receiving a syntax error or an error in the input that is not the same type as the field being searched the module shall inform the librarian of the error made and ask for a correction. The module will have full allowances for the librarian to remove what he/she has typed in and replace it. The module will as well have a return to different field choice by way of click buttons and a return to calling module. The module will prompt the librarian, when the print is chosen, if they really wish a print done. (This may save paper and cost).
Imports:
Exports:
Sub-Module
Modify
Interface Definitions:
Input to module:
Input by librarian:
Outputs:
Data Abstractions:
ID# is a positive integer number
call# is a positive integer number
borrowed is a date (see data stores for a definition)
returned is a date
due is a date
amount is a currency (see data stores for a definition)
Sub-Modules
Design:
Environment: GUI (graphical user interface)
Interface: Pop-up window ( see picture files )
The module does a request to the search module with the field
input by the librarian. The search module returns the report for
that given field and the librarian is then prompted for the field
they wish to update. When the update is done and the librarian
confirms that the update is correct the module writes the report
to the data store.
Error Handling:
Upon receiving a syntax error or an error in the input that is not the same type as the field being modified the module shall inform the librarian of the error made by way of a text box and ask for a correction to be entered in a text box.
The module will have full allowances for the librarian to remove
what he/she has typed in and replace it( i.e. backspace to remove
characters ...). The module will not allow the removal of a full
record but will allow the librarian to adjust all fields except
Id# to allow that a record always be there for future reference.
Imports:
Exports:
Sub-Module
Print
Interface Definitions:
Input to module:
Input by user:
The preference for the module to output a format for a mailing list or a billing list. There as well will be a form letter for the billing to be used if the librarian so wishes with the fields to be inserted into it. The choice will be input by way of push on buttons.
Outputs:
This data store outputs a record to the printer for the use of the librarian in this form:
These are set in the form of a list and if the librarian requires
a format for a mailing label or a billing letter they will be
prompted and the form will be filled out and printed. The buttons
to select which format and the confirmation of each step are output
to the librarian.
Data Abstractions:
Id# is a positive integer number
call# is a positive integer number
borrowed is a date (see data stores for a definition)
returned is a date
due is a date
amount is a currency (see data stores for a definition)
first is a variable length string of characters denoting a first name.
last is a variable length string of characters denoting a last name.
middle is a variable length string of characters.
address is a variable length string of characters.
city is a variable length string of characters.
prov/state is a variable length string of characters.
code is a variable length string of characters.
type is an alphanumeric character.
fee is a currency
title is a variable length string of characters.
Sub-Modules:
Design:
Environment: GUI ( graphical user interface )
Interface:
Error Handling:
Imports:
Exports:
The key fields are output to the respective search modules to help retrieve required data. These are the Id# for the borrower and the Call# for the book. The module will export the forms built to a printer for the creation of the required lists, letters and mailing labels.