Presents







Detailed Design Document

Index





Executive Summary

Cyrius Overload Productions is a dynamic innovative software group committed to 100% customer satisfaction. We know that the Police Information Gathering System we have developed will help the Springfield Police Department in their fight against crime. A great deal of care is taken to ensure that all of our products allow companies to compete effectively, and win, in highly competitive markets. Today's fast paced society has brought with it a need to process an incredible amount of information in a short time. Through the use of the Police Information Gathering System you will be able to keep all of your information under control to continue the important work of the police force.

After communicating with the liaisons from your company, we have designed a system that will satisfy your requirements. This document is to be considered the final design for a complete system. Please note that all your concerns expressed to us about the overall design document has been addressed.

The Police Information Gathering System is designed as a graphical user interface type system targeted for the Windows 95/NT operating systems. The system will incorporate reliable error-control in order to prevent inevitable human errors. Operation of the Police Information Gathering System will be intuitive to existing staff as it will emulate existing police documentation procedures as closely as possible. It is hoped that this will help minimize any learning curve that is associated with the implementation of any new system. Although the staff at Cyrius Overload Productions will always be available for training personnel in the use of their systems.

The Police Information Gathering System fulfills the following requirements:


A key advantage of the Police Information Gathering System is that it will consolidate the police departments case documentation into one central location. In past years there was never any guarantee that the information was up to date. This will ensure reliable management of all information across the entire breadth of the system. All staff will be informed with the latest data, allowing them to spend more time performing real productive work rather than just following administrative duties.

The Police Information Gathering System will enable administrators to have complete confidence in their case documentation resulting in more efficient use of department resources.

It is hoped that the proposed Police Information Gathering System will remain in use for many years. Features will exist which allow the creation of new document types. Hence, the system will remain useful as it will be flexible enough to evolve with new department procedures.

The final version of the Police Information Gathering System will be easy to install, set up, maintain and learn. However, if problems should arise, Cyrius Overload Productions will always be available to send representatives directly to you to provide complete customer support and service.

Any suggestions, comments or expressions of likes and dislikes are, as always, welcomed. We hope that the system fulfills all your present and future requirements.

Back to the index





Login

Login

Fig 1.
A system login is required for a user who wishes to enter the Police Gathering Information System. A successful login to the system requires a valid username with the corresponding password. Each security level has a different main menu, and in order for the system to load the correct main menu the system will require this information to associate with a security level.

User Name

The user name is the actual name of the user, for example if the name of the user logging in is Joe Smith, the user name is "Joe Smith". This will allow for easy identification of who was using the system and what they did while on it.

Password

A valid password is one that is 3-10 alphanumeric characters. The first character must be alphabetic. Passwords should not be recognizable english words as they make it much too easy to 'hack' into the system.

Clear Button

This button clears the User Name and Password boxes.

OK Button

Upon clicking this button an attempt to access the system with current name and password will be made. The system will verify that the user name and password entered was correct. If the user name was not contained in the database a failed login dialog box will be displayed. Similarly, a dialog box will be displayed if the User Name field is blank. If the attempt was unsuccessful due to the user entering in an invalid password, it will be recorded in a login file, and a failed attempt will occur. Otherwise, if both user name and password are valid, the user is granted access into the system with the security level given to them by a Superuser.

Back to the index





Main Screen

Main
Fig. 2

This screen is displayed once a user has logged in. It serves as the parent for all other windows within the Police Information Gathering System. It is composed of four major components:

  1. Title Bar
  2. Main Menu
  3. Client Area
  4. Status Bar

Title Bar

This displays the name of the application and contains the windows buttons (maximize, minimize, etc.). Note that this bar does not contain an exit button (the windows button, resembling an 'x', that is used to exit the application. This is because the application is meant to be exited by the Superuser only (via the Shutdown System command in the System Menu ).


Back to the index





Main Menu

Menu
Fig. 3

This menu contains all the major commands for the Police Information Gathering System. A main menu topic can be selected by holding the Alt key down while pressing the underlined character. Once a menu is selected, pressing the underlined character causes the choice to be selected.

System


Fig. 4

This menu contains all commands which affect system execution.

Shutdown System
Closes the Police Information Gathering System. This command will only be visible to super users, since other users shouldn't be able to shutdown the system.

Logout
Logs the current user out of the system. The main interface screen is then hidden and the login box is re-displayed. Note that the logout button on the toolbar also performs this operation.

Options
This displays a window which allows configuration of system options. The options window will be designed at a later stage. This is only visible by Superusers, as it involves system configuration.

Edit


Fig. 5
This menu contains all commands to manipulate text. It is the standard windows Edit menu.

Cut
Cuts selected text to the clipboard, where it can be retrieved by the paste command.

Copy
Copies the selected text to the clipboard, where it can be retrieved by the paste command.

Paste
Retrieves text from the clipboard and inserts it at the current cursor position.

Delete
Deletes selected text. Once deleted, text can not be retrieved.

Document



Fig. 6
This menu provides access to all operations involving documents. Archivers and Superusers will be able to see all choices while all other users will only see the commands to search and append notes.

New Document
Creates a new document and displays the archiving window to allow for document entry. This is equivalent to pressing the Archiving button on the toolbar. This choice is visible to Archivers and Superusers only.

Search
Displays the search window, which allows a multiple parameter searching for a document. This is equivalent to pressing the Search button on the toolbar. This command is visible to all users.

Append Notes
Appends new notes to a document. All levels of users can see this command, but it is only enabled when a document is displayed in the currently open window.

Security



Fig. 7
This menu contains all commands dealing with security. This menu can only be seen by Superusers. On choosing any item within this group, the security window is displayed, with the appropriate tab selected. The security window can also be activated by pressing the Security button on the toolbar.

Users
Displays the security window with the Users tab selected. This window allows users to be added, deleted or modified.

Logging
Displays the security window with the Logging tab selected. This window contains logging configuration.

Window



Fig. 8
This menu provides options available to and information about currently open windows.

Cascade
Cascades all currently open windows, one on top of the other.

Tile
Tiles the currently open windows, so that all space within the main form is taken up and all windows are displayed.

Arrange Icons
Organizes the icons of minimized windows.

Currently Open Windows
The names of currently open windows are displayed below the separator bar. (In the above example, the Search, Document Archiver Editor and Security windows are all open). By typing the associated number or clicking the window name, the desired window becomes active.

Help



Fig. 9
This menu displays all information regarding access to on-line help. Note that context sensitive help can also be initiated at any time by pressing a help button or hitting F1 (function key 1).

Help Topics
Displays an index of topics contained within the on-line help.

About
Shows a dialog box containing copyright and production information about the Police Information Gathering System.





Client Area

When windows are displayed (i.e. when the search button is pressed), they will appear within the dark grey client area maximized and ready to be used. If a window is minimized, it's icon will appear at the bottom of the client area, this icon can be double clicked on to minimize it. Should windows extend beyond the edges of the currently viewed desktop, scroll bars will appear allowing the user to scroll over the range of the desktop, making the client area virtually limitless in size, regardless of the physical display size.


Status Bar

Concise information will appear in the status bar, located at the bottom of the screen, when needed. For example, when the mouse is over the Search button on the toolbar, the status window will contain "Search for an Existing Document". This provides easy navigation of the system and quick learning of all features.


Back to the index





Users

Common Users:


Overview

At the top of the "Police Information Gathering System" window, where the pull down menu and button bar are located. Users can find the buttons which trigger the actions that they wanted to perform somewhere under the menu or in the button bar. There are a total of 4 categories under the pull down menu (ie: System, Edit, Window, Help), these are all common functions to all users (See common functions for furthur details). Under the common user login status, a "Common User Button Bar" will appear directly under the pull down menu. There are a total of 3 buttons on the button bar, in which only the "Search" button is applicable to the common users. When clicked on it, a Search engine window will pop up.

The Search Engine consists of 2 main parts. The first part contains all of the searchable fields in which users can enter in any desirable values for their searches.
(Note: Certain error checking conditions apply)

The following fields are included in the Search Engine and are range searchable :

  1. Document Number
  2. Case Number
  3. Date Document Written
  4. Date Document Archived
  5. Time Document Written
  6. Time Document Archived

    The following fields are to be selected using drop down menus, in which all possible values were already enumerated:

  7. Document Type
  8. Document Archiver

    The very last field in the window which does not allow Range search nor does it contains any enumerated data:

  9. Document Author

Any combination of the fields can be used for tracking any document in the database. However, in using range searches users are warned that if the ranges they used were too broad, the returning results might not be useful at all. Since, there are arbitrarily large numbers of records in the database, broad searches might cause the search engine to return many records that are out of the search scope. Therefore, users are advised to use narrow ranges in doing any of their searches.

In addition to the searching fields, there are four buttons located at the button of the window:

  1. The Clear Form button
  2. The Search Button
  3. The Cancel Button
  4. The Help Button

    (See The cection named "Buttons for Search Engine" below for furthur details in the usage of these buttons)

After the searching criterias were entered, clicking on the "Search" button will start the search. Results of the search will be displayed in a separate window called the "Search Results" window.

Again, several common buttons were used in this window. The four buttons used to traverse the list were included, and also the Cancel and Help buttons (See details of the buttons below).

In this window, a list of the results were displayed. Users can highlight any document that they feel interested in, and then click on the "View Document" button to view the details of the record in another window named "Document Information".

In the "Document Information" window, all details of the record were displayed. User can as well view the image of the scanned document by clicking on the "View Case" Button located near the bottom of the screen. The "Append" button also allows users to append notes to the current document. The "print" button outputs the contents of the current document to the printer attached.

In addition to the screens introduced above, there are two windows that pertain to the Common User section. They are the "Scanned Image Editor" and "Enter New Note" windows. They are invoked by the two buttons located in the "Document Information" window, these buttons are named "View Case" and "Append" respectively.

The "Scanned Image Editor/Viewer" window allows the user to view the image of the original document which was scanned at archive time.

The "Enter New Note" window allows users to append new notes to the document located by a previous search.

Functions:

Search for specific document(s)

  1. Document Number
  2. Case Number
  3. Date Document written
  4. Time Document written
  5. Date Document archived
  6. Time Document archived
    the following fields are not allowing the range search:
  7. Document type
  8. Document author
  9. Document archiver

If the the search is successful, all the document(s) that met the search criteria will be displayed in the "Search Results" window. User may use the different buttons (Previous, Next, First, Last document) buttons to highlight the specific document for further action. If the specific document(s) is found the user may press the cancel button to return to the "Search Engine" window. If the user may want to refine the search then they may press the "Search Results" button, this results in the system returning the user to the "Search Engine" window to re-enter any additional new data to further refine the search. To end the searching session, user may press the cancel button in "Search Engine" window.

View the document(s) and note(s)

When user found the specific document that appear in the "Search Results" window, he may view the document in the following steps: Using the different buttons (Previous, Next,...etc) to highlight the specific document that the user want to see. Then press the "View Document" button. This will bring the user to the "Document Information" window. In this window, the following fields will be display:

  1. Document Number
  2. Case Number
  3. Document Type
  4. Officer Name
  5. Date Document Written
  6. Time Document Written
  7. Archiver Name
  8. Date Document Archived
  9. Time Document Archived

There is a pull down box that display the note-writer, date of written and the number of the note for the specific document. User may using the down arrow to highlight the specific note and the note will be displayed right away in the big box on the left. If user want to see the next or previous document, he may use the different buttons like(previous document button, next document button...etc) to scan through the documents.

Append note(s) in specific document(s)

If user want to append a new note to the current document, he may then press "append" button and system will pop up the "Enter New note.." window. User may type in the any text in the box, if user finish the note. He may then press "OK" to confirm the appending process. User may abort the operation anytime by pressing the "cancel" button and return to the "Document Information" window.

View the original document(s)/image(s)

If user want to view the original document(image) for the current document, he may press the "View Case" button to call up the "Scanned Image Editor" window. The original image will be displayed right away. But user CANNOT edit the original image. User may also use the "Zoom In" and "Zoom Out" buttons to view the image.


Under "Scanned Image Editor" window:

Zoom In

The 100% zoom is the actual full screen image of the document. A 200% zoom will enlarge to document to twice its size allowing you to view only 25 percent of the full page at one time. The 400% zoom will further enlarge to document to allow viewing fine details such as signatures. Once the document is zoomed to 400% the Zoom In button will be disabled.

Zoom Out

Due to scanned images being very large in both physical size and display size zooming out will decrease the document size. A document in 50% zoom mode will shrink to a half the size allowing a broader picture. As well a 25% zoom mode will allow even a greater overall picture.

OK button

When the OK button is depressed the scanned image viewer closes.

Help button

By hitting the Help button, help pertaining to the current window is displayed. i.e. the help changes depending on the context.


Under "Search Engine" window:

Search Button

When pressed, the search button will start the search. The search button may be pressed by using the tab key in the keyboard until the button is highlighted or by pointing and clicking with the mouse. A dialog box containing a Cancel button and progress bar is then displayed showing the progress of the search. If at any point in time while the search is going on the user decides to cancel it, all the user has to do is to click on the cancel button.

Cancel Button

The cancel button is used to stop any type of ongoing process, when desired. To activate it the user may tab, until it is highlighted or the user may point and click with the mouse. The user is then return to the Main Screen.

Clear Form Button

The clear form button is used to clear all the contents of the form at once. The user may either tab to the button and then press the "enter" key or point and click with the mouse.

Help button

By hitting the Help button, help pertaining to the current window is displayed. i.e. the help changes depending on the context.


Under "Search Results" window:

First Document Button

This button will highlight the first document in the table. If the first document is already highlighted, or there is only one document in the list this button will be disabled.

Previous Document Button

This button will select the previous document to the current document. If the first document is already selected, or there is only one document in the list this button will be disabled.

Next Document Button

This button will select the next document to the current document. If the last document is already selected, or there is only one document in the list this button will be disabled.

Last Document Button

This button will select the last document in the list. If the last document is already selected, or there is only one document in the list this button will be disabled.

Search Results Button

This function button will allow the search engine (See 4.1.1 Search Entry Screen ) do a further search of the existing table of documents. If new search criteria is entered, only a search will be done on the existing items in the list.

View Document Button

If a document is highlighted this button will be active to the user. If the user activates this button the document information will appear.

Cancel Button

The cancel button will return the user to a new search engine form, where the user will be able to begin a new search.

Help button

By hitting the Help button, help pertaining to the current window is displayed. i.e. the help changes depending on the context.


Under "Document Information" window:

View Case/Image button

Activating this button will display 4.1 Scanned Image Editor window. This window displays the original scanned image that the archiver scanned into the system. Scanned images cannot be edited.

Append button

This button will allow the user to add additional information to a document by bringing up the Enter New Note dialog. A memo number, the current user, date, and time will be will be assigned to each newly appended note.

Print button

This button will allow the user to output the current document to the printer(s) attached.

First Document Button

This button displays the first document from the search table. If there is only one search result or you are at the top of the table this button will be disabled.

Previous Document Button

Clicking this button displays the previous document from the search table.

Next Document Button

The next document button will display the document which follows the current document from the search table.

Last Document Button

Clicking this button displays the last document from the search table. If there is only one search result or you are at the bottom of the table then this button will be disabled.

Return Button

Pressing this button will return the user to 4.1.2 Search Results window. The current document will remain active.

Help button

By hitting the Help button, help pertaining to the current window is displayed. i.e. the help changes depending on the context.


Under "Document Archiver Editor" window:

Document Type Pulldown Box.

Each report saved in the system has an associated type, which is typically the name of the crime described in the document. By selecting the pulldown list button at the right end of this field, the user is presented with a scrollable list of document types the system currently knows about. The user may select one from this list, at which point it is automatically placed in the field. Direct editing of the field is not possible, though new document types may be created with the New Document Type Button.

New Document Type Button

Beside the Document Type field there is a "New Type" button. Selecting this button will take the user to another window that allows them to add a new type to the list.

Attach Notes Button

Clicking this button pops up a file selection window that lets the user locate and read in a text document containing pre-typed comments for the Notes field. Provided the selected document contains valid characters for the Notes field (i.e., is actually a text file), its contents are added to the Notes field as if they had been typed from the keyboard. If the selected file is not readable as plain text, a dialog box pops up saying so and the user is placed back in the Document Archiver Editor window.

Scan Image Button

In the final complete system, selecting this button will allow the user to operate a scanner attached to the computer in order to scan in an image of the paper document. This function will not be implemented for the demonstration system.

Attach Image Button

This button causes a file selection window to pop up so that the user can select a pre-scanned document image for inclusion in the database. If the selected file is not an image format understood by the system, it will pop up a dialog box that says so, and the user will be returned to the Document Archiver Editor window. If the image is readable, the file selection box closes with no error message.

View Image button

Selecting this button leads to the image viewing window, described elsewhere. That window allows the user to view the document image that was scanned or read in using the Scan Image or Attach Image buttons. An image must be attached to every database record, since each record is meant to be an electronic representation of a paper document.

OK button

When the user has finished entering all the relevant data, he or she will click on the OK button to add the new document record to the database. At this point, and error checking on field contents that has not yet been performed will be done. If there is an error in any field, the filing operation will be aborted and the editing cursor will move to the first incorrect field so that the user can fix the error. A dialog box pops up to indicate what type of error was found. If the error is that there is no image attached, the error dialog box will say that an image must be scanned or attached to every new document, and that the Scan Image or Attach Image buttons can be used to accomplish this.

Help button

By hitting the Help button, help pertaining to the current window is displayed. i.e. the help changes depending on the context.

Cancel button


Under "Enter New Note" window:

OK button

new note will be appended into the current document when user presses this button and brings the user back to the "Document Information" window.

Cancel Button

Cancel what the user entered and return the previous "Document Information" window.

Back to the index





Archiver

Overview

When the user clicked on the Archiver Button in the "Police Information Gathering System" Screen, a window named "Document Archiver Editor" will appear. This window allows the user (ie: Archiver) to enter in information and images of the original documents to the database.

The Archiver Editor window was logically divided into two parts. The first part containing all the fields to be entered by the Archiver. Here's the list of fields :

  1. Case Number
  2. Document Type
  3. Officer's name
  4. Date Document Written
  5. Time Document Written

Aside from the list of fields above, a unique Document Number were to be generated internally each time a new document was entered into the system.
Date Document Archived and Time Document Archived were also generated internally by the system.

The second part consists of four buttons located at the bottom of the window. The "Scan Image" button signals the scanner attached to the system to scan the document. The "Attach Image" button can either import an existing image or it is to attach the image scanned by the "Scan Image" function. The "View Image" button pops up the "Image Editor" which is for viewing the image attached with the record to be archived.

The last button included in the set of four is the "Attach Notes" button. This button provides the archiver the ability of attaching written notes to the record from an existing text file.

On the other hand, the archiver can also attach notes to the current document by typing in the notes in the "Notes Area" located near the bottom of the screen. (Note: no error checking is provided in this editing window, therefore, anything can be written as comments. Archivers have to be cautious in using this field.)

Again, this window shares the common buttons such as "OK" and "Cancel" as the other windows. Please refer to the "Archiver Buttons and Toolbar" section for furthur details.

Functions

Enter a new document

Archiver may add a document to the existing system. When "Document Achiver Editor" was pop up ,there are followings field can be contained into the new document:

  1. Case Number
  2. Document Type
  3. Officer's Name
  4. Date Document Written
  5. Time Document Written
  6. Document Number
  7. Note
  8. Archiver Name
  9. Date Document Archived
  10. Time Document Archived

Document Type can be entered by pull down menu using the down arrow ,and choosing the correct type for the document. The Document Number, Date Document Archived, Time Document Archived will be system generated. Archiver Name will be the login name of the archiver.

Attach note to the document

Archiver can either attach an existing note to the record by using the "Attach Notes" button, or he/she could type the notes into the "Notes Area". The notes attached will be kept as a record with the scanned original document's image.

View the scanned image

Archiver can view the scanned image by pressing the "View Image" button. This will call up the "Scanned Image Editor" window. The scanned image will be display right away. Users may also use the "Zoom In" and "Zoom Out" features from the "Scanned Image Editor" to have a different view of the image.

Attach scanned image to the document

After the scanned image is prepared, user can attach the scanned image to the specific document by pressing "Attach Image" button. The attached image will be kept as a record with the notes attached.

Scan in an image

User can scan in a image from the original paper document by pressing the "Scan Image" button. Upon pressing the "Scan Image" button located at the bottom of the window, the scanner attached to the system will produce an exact digitized copy of the original document provided.


Under "Document Archiver Editor" window:

Document Type Pulldown Box.

Each report saved in the system has an associated type, which is typically the name of the crime described in the document. By selecting the pulldown list button at the right end of this field, the user is presented with a scrollable list of document types the system currently knows about. The user may select one from this list, at which point it is automatically placed in the field. Direct editing of the field is not possible, though new document types may be created with the New Document Type Button.

New Document Type Button

Beside the Document Type field there is a "New Type" button. Selecting this button will take the user to another window that allows them to add a new type to the list.

Attach Notes Button

Clicking this button pops up a file selection window that lets the user locate and read in a text document containing pre-typed comments for the Notes field. Provided the selected document contains valid characters for the Notes field (i.e., is actually a text file), its contents are added to the Notes field as if they had been typed from the keyboard. If the selected file is not readable as plain text, a dialog box pops up saying so and the user is placed back in the Document Archiver Editor window.

Scan Image Button

In the final complete system, selecting this button will allow the user to operate a scanner attached to the computer in order to scan in an image of the paper document. This function will not be implemented for the demonstration system.

Attach Image Button

This button causes a file selection window to pop up so that the user can select a pre-scanned document image for inclusion in the database. If the selected file is not an image format understood by the system, it will pop up a dialog box that says so, and the user will be returned to the Document Archiver Editor window. If the image is readable, the file selection box closes with no error message.

View Image button

Selecting this button leads to the image viewing window, described elsewhere. That window allows the user to view the document image that was scanned or read in using the Scan Image or Attach Image buttons. An image must be attached to every database record, since each record is meant to be an electronic representation of a paper document.

OK button

When the user has finished entering all the relevant data, they will click on the OK button to add the new document record to the database. At this point, and error checking on field contents that has not yet been performed will be done. If there is an error in any field, the filing operation will be aborted and the editing cursor will move to the first incorrect field so that the user can fix the error. A dialog box pops up to indicate what type of error was found. If the error is that there is no image attached, the error dialog box will say that an image must be scanned or attached to every new document, and that the Scan Image or Attach Image buttons can be used to accomplish this.

Help button

By hitting the Help button, help pertaining to the current window is displayed. i.e. the help changes depending on the context.

Cancel button

In case the Document Archiver decides that they don't want to document to be entered into the system, they may press the Cancel button. This results in no information being added.


Back to the index





Superuser

Overview

To bring up the Superuser Interface, the user logs in as a Superuser. The default screen that is brought up for the Superuser is just the regular main program screen. The Superuser has the ability to do anything that any other users of this program will be able to do, plus many functions that only the Superusers can use. This means that the administrator will be able to access any of the non-sealed documents, as well as being able to access any of the sealed documents as well. Also the Superuser will be able to add any document to the system in much the same way as an Archiver might. Along with these, the Superuser has the ability to make documents classified and also to seal them. Along with these functions the Superuser is much the same as any other user, except for the fact that they have the ability to add and delete other users of the system.

All functions are accessible from the pull down menus, unlike the other user types, who have limited access to the menu system.

In the system menu there are three functions, the first, Shutdown System, closes the Police Information Gathering System. This command will only be visible to Superusers, since other users shouldn't be able to shutdown the system. And the second is Logout which logs the current user out of the system. The main interface screen is then hidden and the login box is re-displayed. It should be noted that the logout button on the toolbar also performs this operation. The final command under the system menu is Options which is not implemented but will bring up window that will allow system configuration, this will only be visible to the Superusers because it involves the configure a to in of the system.

In the next menu, which is Edit, there are the Cut, Copy, Paste and Delete Commands. Under this menu are several basic functions that come with all windows programs. The first is Cut which cuts selected text to the clipboard, where it can be retrieved by the paste command. The next function is Copy which copies the selected text to the clipboard, where it can be retrieved by the paste command. The next function is Paste which retrieves text from the clipboard and inserts it at the current cursor position. And finally there is the Delete function which deletes selected text. Once deleted, text cannot be retrieved.

Another menu is the document menu, which contains the commands to add a new document, search the database for a previously entered document, or append notes to a previously entered document. The New Document command allows the user to scan a new document into the system, by bringing up the archiving window. The Search command will display the search window which will allow for a multiple parameter search of the database for a document. The final command in the menu is the Append Notes which will allow the user to make notes on any case that is currently saved in the system.

There is also the Security menu, which contains two functions, Users, and Logging. Both of these functions display the Security window, but the users command will display the window with the users tab selected, while the logging command will display the window with the logging tab selected.

Next is the Window menu. This menu contains all the standard window menu options such as, Cascade, Tile, and Arrange Icons, as well as a list of all the currently open windows underneath. The Cascade option will layer all of the windows that are currently open and not minimized. Tile will place all of the currently open non minimized windows in such a fashion that they do not overlap and take up all of the open space in the main window is taken up. The list of currently open windows will bring the selected window to the top and maximize it if necessary.

The Help menu contains two functions to assist with the ease of use of this program. The help topics option will bring up an index of all topics contained in the inline help. The about button will display a window containing the information about the copyright and production of the Police Information Gathering System.

The Toolbar contains buttons that are commonly used options in the menus. It contains a Search button, Archiver button, Security button and Logout button. Each has its own "tool tip", which labels it much the same as it is labeled in the menu. The Search button will display the search window allowing for multi-field searching. The Archiver button will display the archiving window and allow for a new document to be scanned in. The Security button will bring up the security window with the Users tab selected. Finally the Logout button will log the current user out of the system.





Functions

User Security




Fig. 10

The User Security Screen is an information screen designed for the Superuser to add, remove, modify and view current users of the system.

Main User List

The main user list contains three columns, the first of which designates the currently selected user. The second field contains the names of all the users that currently hold accounts on the system. This list of users is in alphabetical by the last name of the user. The third field contains the users security level. A user may be selected by clicking on the appropriate row.

Remove User


Fig. 11

Removing a user from the PIGS database is done by a Superuser through the Remove User form. The user to be deleted is selected in the main user list. Upon pressing the Remove User button, the information of the user to be deleted is displayed in a dialog box and the Superuser is asked for confirmation of deletion.

Add User


Fig. 12

This window allows a Superuser to create a new user account. The new account permits a person who currently does not have access to the system . The security level of the new user is determined by the Superuser. The new account is created with a user name that must be unique, a security level that can only be changed by the Superuser, a comment field that can only be viewed by the Superuser, and a password that is told to the user so that they may log on. When the new user logs on for the first time, he or she is immediately prompted to enter a new password. Pressing ESC in any field will clear the field in text entry mode. This amounts to a field-level cancel operation. The contents of all fields can be revised until either the Close/Cancel or Add User operation is selected.

User Name Field

In this text field, the Superuser enters the unique user name of the new user. This user name is the actual name of the person. In the case that there may be more than one person with the same name, a middle name or portion thereof may be used to authenticate the user name. There are system-imposed restrictions on the format of the login name. It has a maximum length of 40 characters, a minimum is not explicitly imposed because most people have names longer than one letter, though creation of users with no name will not be permitted.. Case is ignored when dealing with user names, and they are stored in lowercase within the system. The only valid characters for this field are the upper and lowercase letters, the digits 0 to 9 and the blank character. If the person entering the name tries to type a name that is too long or tries to type an invalid character, the system will not accept the input and prompt the Superuser of the error and return to the offending field. The help screen for this window will have a note describing what characters are valid for this field. If the Superuser moves to another field or closes the windows by hitting the Add User button (described below), the system checks to see if the login name that has been entered is unique. If it is, the requested action proceeds. If not, a dialog box will appear containing the message "User Name is already in use! Please re-enter." and will have a single "OK" button. When the OK button is clicked, the Superuser will be back to editing the User Name field.

Password Field

This text entry field is where the Superuser types the initial password that the new user will use. The password must be 3-10 alphanumeric characters. The first character must be alphabetic. The password is case-sensitive, and may contain any printable non-control characters (i.e. letters, digits and symbols but not carriage returns). When the password is being typed, only asterisks are displayed - one for each character typed. This is a security feature to help prevent anyone nearby from seeing the password. The error checking on this field is done in conjunction with the checking on the Confirm Password field, and will be described below. If the person at the keyboard tries to enter a password that is too short, however, a dialog box pops up saying "Password is too short". This box has an OK button which, when clicked, returns the Superuser to editing the password. Similarly, if a password is too long a warning dialog will inform the user that the password will be truncated. The password entered here should be known only to the Superuser at the time it is entered, and should be generated by that person using some scheme known to nobody else. Once the new user account has been successfully created, the Superuser can tell the new user what the password and login name are. The new user will then log in using that information, and change his or her password to something unknown to anyone else.

Confirm Password Field

Since only asterisks are displayed when the password is being typed in the Password field, it is hard to be sure it is typed correctly. The Confirm Password field eliminates this problem. Here the Superuser retypes the same password, with the same valid characters and same display of asterisks as above. If the two passwords to not match exactly, the system displays an error dialog box saying "Passwords do not match" with an OK button. When the Superuser clicks on the OK button the system returns to editing this field.

Security Level Select Box

This field is used to set the security access level of the new user. At the right end of the field is a button which, when clicked, expands to a list of valid security levels. The Superuser may then use the mouse or the cursor keys to select from the list. Typing directly into this field is not allowed by the system.

Comments Field

This is a multi-line, freeform text area that can optionally be used to record comments about the new user. Only people with Superuser security levels will be able to see and modify this field. When this field is active for editing, comments can be typed as in a word processor and the mouse can be used to move the cursor. The ENTER and ESC keys behave differently when editing this field than in other cases. Pressing ENTER inserts a new blank line and positions the cursor at the start of that line. Pressing ESC leaves comment-editing mode and allows the Superuser to select operation in the Add User window (this can also be done directly using the mouse). If the Superuser wished to completely discard what has been typed in the comments, he or she must either manually delete the text or cancel the entire Add User operation.

Add User button

Clicking the mouse on this button or Tabbing to it and pressing ENTER will cause the system to create a new user record in the user database with the information provided in the Add User window. It should be noted that if error checking has not yet been performed on the User Name, Password or Confirm Password fields, it will be done when the Add User button is activated. If there is an error, the Superuser will be informed as described in the relevant sections above, and the Add User operation will not take place until the errors have all been corrected. Control now returns to the user Security Window where the newly created user will now be displayed in the main user list.

User Information


Fig. 14

The User Information Window is displayed after the Superuser choose the View User button on the User Security window. The purpose of the this menu is to allow a Superuser to view and to modify information of any user in the database.

User Name

User names can be modified by clicking on the field and typing in any changes that are desirable. The user name field is limited to 40 characters and the user must be present in the database. Changing a user name requires validation by the system to insure that the new user name is not already on the system. See User Name Field for user name requirements.

Password

Passwords can be modified by clicking on the field and typing in changes. Upon entering a password a dialog will confirm the new password. See the Password Field for password requirements.

Security Level

The Security level field different from the others, it contains a drop down box, which has a static list of valid access levels that the user can choose from.

Comments

Comments of any kind can be created or modified and are stored as part of the user's information.

First User

This button displays the first user in the database. If there is only one user or you are at the beginning of the database this button will be disabled.

Previous User

Clicking this button displays the previous user from the database. If the current user is at the beginning of the data base this button will be disabled.

Next User

The next user button will display the user which follows the current user in the database. In the case that the user is at the end of the data base this button will be disabled.

Last User

Clicking this button displays the last user in the database. If there is only one user or you are at the end of the database then this button will be disabled.

OK Button

Returns the Superuser to the main User Security dialog screen.

Cancel Button

Quits the security program without saving any of the information changed in any of the user security features of this window





Logging Security




Fig. 15

The logging information allows the Superuser(s) to keep track of who is accessing what information, and when it is being accessed from the system. This logging information is only allowed to be changed by the super users. Also the super user is the only user allowed to view the log files. The log files contain information depending on which options are chosen in the logging security screen.

Enable Logging Check Box


By clicking on this box, the system will know to set the appropriate flag which will allow information to be written to a log file that only the Super User can access. If this box is not clicked, no login information will be recorded to a log file and all other options on this form will be disabled.

Log Logins Check Box

By clicking on this box, the System will direct the user login information to be written to the log file. If this box is not clicked, no login information is recorded about users that are trying to get onto the Police Information Gathering System.

Log All Logins Radio Button

By clicking this box, the system will record all user logins to a log file that is readable by the Super User. This is a radio button, only one can be selected at a time (i.e. The button toggles back and forth.)

Log Bad Logins Only Radio Button

By clicking this box, the system will record all user logins that failed to have the correct password. This information will be recorded to a log file. This is a radio button, only one can be selected at a time. (i.e. The button toggles back and forth.)

Public Documents Check Box

By checking this box, this sets a flag to show whenever Public Documents are looked at. The information written to a log file will consist of who is accessing the document, day and time the document was accessed, and what document was accessed.

Classified Documents Check Box

By checking this box, this sets a flag to show that whenever Classified Documents are looked at. The information written to a log file will consist of who is accessing the document, day and time the document was accessed, and what document was accessed.

Sealed Documents Check Box

By checking this box, enables the system to show that whenever Sealed Documents are looked at, there is information written to a log file recording that the sealed document had been accessed. The information written to a log file consists of who accessed the document, time and day the document was accessed, and what document was accessed.

Log Document Creation Check Box

Whenever an archiver or Superuser adds a new document to the system, information is recorded to a log file. The information will consist of Document Author, time archive, date archived, and document number.

Log Administrative Functions Check Box

By clicking on this box, Whenever administrative functions are performed on a document, information is recorded into a log file. Administrative functions will consist of viewing documents, appending notes to documents, adding users to the system, removing of users from the system, changing the level of security of a user.

OK Box

By choosing this button, the Superuser is confirming that the selected options are to be used in logging the system actions. The Superuser is then returned to the P.I.G.S Main Screen.

Cancel Box

After this is clicked, all the old information is going to be displayed in the boxes, not saving any of the new information and reloading the old. The Superuser is then returned to the P.I.G.S Main Screen.







Fig. 16

The search engine is the first stage in finding a document. If the user does not have a specific document in mind, the user may perform a search on any document information, except for information contained in the scanned image or appended notes. Documents that are found using this search engine will be displayed in the Search Results table for the user to choose from.

For details see searching under Common Users





Archiving


Fig. 17

Super Users have free reign of the entire system so they are also allowed to archive documents. See the Archiver user class for details. *****





Super Users Tool Bar


Fig. 18

These icons are for frequently used functions. The toolbar allows quick access to the major operations within the Police Information Gathering System. When a button is clicked, its associated action is performed. Each button will have it's own 'Tool Tip'. These tips briefly explain what the button does, and are displayed when the mouse pointer rests over the button for some period of time. The buttons that are displayed will vary with the current users' access. The logout and search buttons will be visible by all users. Superusers and Archivers will also see the Archiving button. Only Superusers will see the security button.

Search Icon

Displays a blank search window. This form can then be filled to search for a document or a range of documents. The search form can also be displayed by selecting Action then Document then Search from the main menu.

Archiver Icon

Creates a new document and displays the archiving window to allow for document entry. This is equivalent to choosing Actions then Documents then New Document from the main menu. This button is visible by Archivers and Superusers only.

Security Icon

This button can only be seen by Superusers. When the security button is pressed, the security window is displayed, with the User tab selected. The security window can also be activated by selecting Actions then Security and either Users or Logging.

Logout Icon

This button will log the user out of the system, terminating their session and redisplaying the System Login dialog box. This may also be accomplished by choosing Logout from the System menu on the Main Menu.

Back to the index





Common Dialogs

Here we described common features of most windowed systems. Included are various icons and methods of manipulating the screen.

Maximize Icon

Increases the window size to take up the whole screen.

Restore Icon

Restores a maximized window to it's original size.

Minimize Icon

Reduces a window to a small icon.

Close

Closes a window. This is equivalent to pressing the Cancel button in most cases.

Scroll Bars

Used to scroll around a box when the contents are larger than the physical size of the box (i.e. a zoomed in view of a document in a small window). The boxes within the scroll bars can be clicked and dragged to move the item within the box.

Context Sensitive Help

By hitting the Help button, help pertaining to the current window is displayed. i.e. the help changes depending on the context.

General Help

By hitting F1 (function key 1) or selecting Help Topics from the main menu, the general help is displayed. This includes an overview of the entire system as well as an indexed list of commands for which help is available.

Back to the index





Management Plan:

After taking under advisement all changes requested by the customer, we have implemented their requirements. As explained by the customer, most problems had to deal with the GUI (graphical user interface), these have been properly corrected at this time. We are open to any suggestion that you may want. Please contact our group manager via e-mail for further considerations.

Functions:

Our systems major functions are broken up into four different areas: Archiving (adding) Documents, Searching Documents, Security, and Printing. These functions are described briefly below. It should be noted that only the Superuser has access to all the different functions.

The system's primary functions are as follows:

  • Adding documents

    This allows users to add documents in to the system's database. The archiver usually performs this, but the Superusers also has this ability. It must be noted that our system will not allow documents to be removed once added.

  • Searching documents

    Another feature that allows users to search through the system's database for specific documents is searching. Due to the large amount of documents our system must handle; it is very important for the customer to be able to search multiple fields as well as ranges of values and thus is implemented. All fields contained within a document may be searched. The search results will be displayed in table format so that they may be searched again. After searching, each document may be displayed, allowing the user to view case reports. Again it should be made clear that not all users have access to this function.

    Project Features:

    The Police Information Gathering System includes the following features. Ability to keep track of both the closed and unsolved cases. Including information such as Case Number, Officers Name, Document Type, and Scanned image of original written document. Once entered, editing of fields is not allowed with the exception of notes, which allows adding of information.

    Another important feature is the ability to search the database of documents. A complex search engine based on such things as: Author, Time, Date, Case Number, and Document Type. This search engine although complex, has a very intuitive interface. This allows for fast and efficient searches. Queries are allowed multiple values and ranges. Further refinement on search results is allowed by specifying the field that the user wishes to narrow the search on.

    Since security is of utmost importance, we have implemented different user accessibility levels. These access levels limit what the user is able to do. System security is a facility to assist Superusers in keeping records of who and what gets accessed, while not preventing people from being as productive as they can be.

    Information storage for the Springfield Police Department has been greatly improved. The project requires a computer system to store police handwritten documents. All documents are gathered and brought back to the headquarters to be entered and stored in the system by an archiver. This will ensure that the most updated information is available to the officers of the Springfield Police Department.

    System Requirements:

    Summary

    When the Police Information Gathering System is complete it will become an indispensable tool for the Springfield Police Department. Its ease of use will come through the GUI that follows your existing documentation procedures. The systems functions, interfaces, screens and walkthroughs have been explained in detail. No effort has been spared in creating a dynamic system that is expandable, secure, easy to use, fast, maintainable and above all reliable.

    Cyrius Overload Productions believes in following proven programming techniques. By following our strict testing regiment we will complete this project in a short time. Soon your police department will be able to continue their fight against crime with the aid of modern technology. The delivered system will meet the needs of all police officers, clerics, and management in your company.

    Back to the index


    Testing

    Introduction

    In order to verify that the PIGS system meets the customers' needs, extensive and varied testing is required. Both the supplier and customer will need to apply appropriate testing procedures to determine the product's acceptability.

    On the technical side, the PIGS development team will perform rigorous functional testing to ensure that the system correctly identifies and handles all possible error conditions, and that it correctly performs all the functions required by the customers. They will also perform integration testing to ensure that the various modules of the program interact seamlessly. The system must operate flawlessly once installed, since the customers will be relying on it heavily once they integrate it into their daily operations.

    In conjuction with representatives of the Springfield Police Department, team members will perform a performance evaluation to determine how efficiently the system can be used under normal circumstances, and acceptance testing to determine if the overall product is satisfactory to the customer. It is important that the PIGS system be easily and efficiently operable in the normal everyday circumstances in which it will be used. No matter how correct and stable software is, COPS would be doing a disservice by producing software that is annoying or counterproductive to use.

    Once the minimal prototype system passes its tests and is accepted by the customer representatives, final development and testing of the complete PIGS system can begin.

    Finally, a user questionnaire is provided for readers of this document so that the customers' representatives can provide valuable feedback to aid the development team in refining the product.

    A tentative schedule for all the testing phases is as follows. These dates represent both course deadlines and internally agreed-upon due dates (which may be subject to change due to unforseen circumstances).

    The COPS programmers will be instructed to carefully plan and discuss each module before they actually begin coding it, and will be testing module operations as frequently as possible. Hopefully most bugs will be caught in this stage.

    The programmers will be required to keep the team informed of their progress, and will be making functional portions of the system available to the PIGS development team before the testing deadlines. Since some members of the team do not use the development platform in their offices, they will be invited to the offices of members who do in order to participate in the testing.

    Each of the various types of testing is described in more detail in the following sections.


    Functional Testing

    This testing will be performed by COPS employees and will test the operation of each major module of the PIGS system. This will include testing all possible error conditions up to and including attempting to crash the program through misuse.

    Since the Delphi development softare being used by COPS programmers is a high-quality product and provides automatic handling of the details of the Windows 95/NT user interface, it will for the most part be assumed that these parts of the user interface work correctly. However, if any problems are noticed they will be remedied.

    User interface details that are handled by Delphi include scroll bars, buttons, pulldown menus, list boxes, dialog boxes for errors, basic editing functions for text entry fields, and low-level mouse and keyboard input. Delphi does not do all the work, however. The behind-the-scenes inner workings of the PIGS system and the actions performed by button and menu selections must be implemented by the programmers.

    Note that most if not all testing will be done on the COPS group development platform, and thus will not account for system-specific error conditions. Since the Springfield Police Department will be upgrading its computer hardware to accomodate the PIGS system, this variable can be eliminated by selecting PIGS-compatible hardware and software as outlined in the system requirements section.

    Functional testing mainly focuses on operations within modules while integration testing tests the interfaces between modules. However, some functions operate across module boundaries and thus cannot be tested properly until all relevant modules have been implemented. For this reason, some degree of integration testing will be done during the functional testing stages and vice versa.

    The following subsections deal with aspects of the PIGS system that will be tested at a modular level.

    General Functions

    Much of the PIGS system user interface will follow the Windows 95/NT user interface standards. In general, the following truths apply. Any exceptions will be noted elsewhere.

    Selecting a button labelled "OK" tells the system that the user has read and understood a system message or, in the case of a data entry window, has entered some information for the system to process. The system will error-check the input and either report an error using a dialog box or store the input in the appropriate place. An error dialog box generally contains a helpful message about what part of the user input is unacceptable, and an "OK" button that will close the dialog box.

    Similarly, a "Cancel" button on a window tells the system that the user has either opened the current window by accident or has decided not to enter any information in the current window. Any pending input is simply ignored and the current window is closed.

    All system operations have more than one way of being activated. All actions can be performed using the keyboard, and any actions not requiring text entry can be performed using the mouse. To speed commonly-used actions, hotkeys instantly activate some menu or button functions. All different ways of initiating a system action will be tested.

    When a block of information is too large to be displayed within the allotted space in a window or box, the system will automatically add vertical and/or horizontal scroll bars that can be used (with the mouse) to being different sections of data within the display area.

    Since the main purpose of the PIGS system is to maintain a database, it is of course essential that information be correctly saved to and retrieved from the database. The programmers will verify this using debugging tools while they are implementing the relevant modules.

    Program Activation

    Little testing is required here. This is simply a matter of being able to activate the PIGS software by clocking on its icon. The software package should be self-contained in its own directory on the computer, and should not require any support software to already be running (other than the operating system).

    It will also be verified that the PIGS system correctly saves any pending data and terminates cleanly when system shutdown is selected.

    Main Window

    This part of the program will be tested to ensure that all buttons and menu choices perform the correct actions and call the correct modules. The main window cannot be fully tested until the integration testing phase.

    Similar testing of buttons and menus will be done on all other modules, when the functions related to those buttons and menus are implemented.

    Login

    This module must always correctly identify user names that are and are not in the user database. For users that are in the database, it must correctly match the entered password against the password recorded in the user database, and must reject logins with a mismatched password. Finally, if the user name and password are accepted, it must correctly set the system security access level for the user. All this will be tested with debugging tools and later with user interaction.

    Security

    The security aspect of the system mainly involves the correct identification of the user's clearance level by the Login module, and correct enabling or disabling of features based on that clearance level. Thus security is more relevant to the integration testing phase.

    The Security window has two parts, one dealing with user maintainence and the other with logging options. These details are covered below.

    User Maintainence (Security window part 1)

    The Security window and module deal with adding, viewing and deleting user accounts. The security window itself dislays a list of all users and their security levels. It will be verified that the list does indeed contain all users in the user database and that the listed security levels are correct.

    The system will not allow the currently logged-on user to delete him/herself. If the Delete User button is clicked while the name of the current user is highlighted in the list, a dialog box will pop up saying "You can't delete yourself!" and the action will not take place.

    Add User

    This module will be tested to ensure that it rejects user names that are already in the user database, or mismatching passwords in the two password fields. It will be confirmed that the user name, password, security level and comments are all correctly saved in the user database in the event of a successful add operation.

    View/Edit User (User Information window)

    This window must correctly display the user database information of the user selected in the security window. The user name must be the one that was selected before the View User button was clicked, and the security level and comments must match up with that user name.

    The user's security level and password can be changed in this window. It will be verified that if changes are made, they are correctly saved to the user database.

    The user information window features four buttons that allow easy access to other users in the list (with respect to the order in which they were displayed in the security window). The leftmost is the "Top" button, which displays the first user. Similarly the rightmost is "End" and displays the last user in the list. The two middle buttons are "Back" and "Forward" and display the alphabetically previous and next users, respectively. Correct functioning of these four buttons will be tested.

    Remove User

    As with the user information window, this one must correctly display the selected user name and associated security level and comments. The security window (above) disallows deletion of the current user, so this potential error will not be checked here.

    If the remove user operation is selected and confirmed, and only under this condition, the system must remove the entire relevant user record from the user database. That includes irreversable erasure of the user name, password, security level and comments. This action will be tested thoroughly.

    Logging Menu (Security window part 2)

    This menu consists of only check boxes and radio buttons, so there is not much that can go wrong. It will be verified that any options changed in this window are correctly saved to the system configuration file.

    Options Menu

    It will be verified that any changes made to each user's configuration options are correctly saved to the system configuration file on that user's workstation. It will be verified that invalid configuration options are rejected. As of this writing, exactly what will be in the options menu has not been identified.

    Create New Document

    This window must correctly create and save a new document record to the main database, provided the information entered is correctly formatted. What constitutes accepted data for this window is outlined elsewhere. Correct saving of records to the database will be verified, as will be correct identification of unacceptable data.

    Create New Document Type

    This is simply a one-field text entry window. If the new document type entered already exists, the system must pop up a dialog box saying so. Otherwise it must correctly add the new type to the document type list.

    Attach Notes

    This button will lead to a standard Windows file selection box. Windows handles all errors associates with its file selectors, but in the event that the user selects a file that cannot be read as text, a dialog box will pop up saying the file is unreadable. This will be tested with text and binary files. The system will only load plaintext notes files, and will reject word processor files.

    View Image

    The system must track whether or not a scanned image is attached to a given document. If there is one, clicking this button brings up the Scanned Image Viewer window.

    There are no errors possible in the viewer window. It simply allows scrolling and zooming of a bitmap. When the limits of scrolling or zooming are reached, the relevant controls have no effect. The image handling module will be checked for all possible errors.

    Attach Image

    As with Attach Notes (above), this button leads to a Windows standard file selector. In the event that the user selects a file that is not a readable image file, a dialog box will say so. Correct operation is therefore easily tested.

    Scan Image

    This function will not be implemented for the demo system, and will not be tested.

    Search for Document

    A description of what constitutes valid input for this window appears elsewhere in this document. It will be verified that the search module correctly identifies valid and invalid input and finds all matching documents in the main database, for all combinations of search fields being used.

    Search Results

    It will be verified that a list window appears which will display all the documents found by the search engine, and which allows the documents in the list to be viewed in the document information window.

    View Document (Document Information window)

    It will be verified that all record information from a selected document is correctly displayed here, and that the View Image and Attach Notes options work correctly here as in the case of creating a new document.

    Printing will only be implemented in the demo system if time permits, and may not be fully tested by the time of the presentation.


    Integration Testing

    This part of the testing will be conducted to test the system as a whole with the aim to uncover errors associated with interfacing. Because the system is written in the Delphi language (a portable, visual windowing language) this testing will be aiming particularly at the system units and modules to assess their interaction as well as their appropriateness.

    Test 1: Try to login with a valid and an invalid user password to check the interaction between the security unit and the system. For the valid user password the user should be able to logon successfully, and for the invalid password the access should be denied with an error message. The security unit will also be checked for logging out.

    Test 2: Modify an existing document to test the interface between the system text editor and the system storage. The appended notes or images should be saved correctly in the system storage after the user finishes modifying the document.

    Test 3: Add a new valid-formatted document and an invalid-formatted document to check the interaction between the system storage unit and the system checking unit. The valid document should be accepted and added whereas the invalid one should be rejected with an error message.

    Test 4: Search documents with various query fields to test the interaction between the searching unit, the storage unit, the security unit and the system checking unit. If the document is found, the user should be able to access the document in case he/she has the authority. If he/she does not have the authority, the user will be informed. If the document is not found, the user should have the choice of trying again with different searching field or cancelling the search.

    Test 5: Add a new account; delete an old account; modify an existing account and check the functions of these accounts accordingly. These tests are used to check the interface between the administration unit, the security unit and the system checking unit. For the new account added, the user should be able to carry out any jobs specified accordingly for that level of authority as in the system specification. For the deleted account, that account should be erased from the system account storage. And the modified account should function appropriately with the changes made to that account.

    Test 6: Test the system icons on the system window to check the interaction between the user interface unit and the system.


    Performance Evaluation

    The system's performance will be evaluated at the user's knowledge level. The expected user or users will operate the system in scenarios in which they carry out their routine, daily job-related tasks. After completion, the tester(s) will fill out a questionnaire evaluation form to give their assesment of the system's performance on such issues as how smooth the system is, how user-friendly the system is and so on. This evaluation form will be examined to eliminate any short comings from the system. The below are the typical scenarios familiar to the perspective users:

    1. An officer named James Bond returns from an overseas (impossible) mission. He accidentally forgets his password and requires help from the administrator.

    Tasks: The administrator can use the system to search through the system account storage to findout what Bond's password is. Then Bond can either use his old password or change it as he pleases.

    2. A detective name Colombo has obtained new photos for a homocide case that he is investigating. He wants to add these photos to the case's documents. The document has the following details:

      Document number:       2349990876
      Case number:           213
      Document type:         Homicide
      Officer name:          Colombo
      Date document written: 21/07/1997
      Time document written: 12:00 am
      Archiver name:         Henry the III
    

    Tasks: Search the system archive for the document (The user can use any of the above details as searching field). Then the new photos are scanned to attach to the text document. Colombo will have a chance to look at the new document before it is stored back in the system's archive.

    3. An officer has been promoted to a higher position. For this position the officer will have more responsibilities as well as more powers. The officer needs a new level in the system's security rank.

    Tasks: The administrator searches for the officer account and changes his security level. The officer will be informed about the change by the administrator.

    4. When the system's archiver is adding a new document, he finds out that the image associated with the document is too vague to be visible when scanned. He want to know what he should do.

    Tasks: When the archiver clicks on the help command he can search for the appropriate content in the system's help information. The help window will allow him to do that and display the information regarding to the required subject.

    5. An officer has found out new information about a criminal case that he is investigating, and he want to add this information to the case's document. However, because this information needs to be confirmed so he only wants to attach it to the document in the form of the document's notes. He remember the case's number is 111.

    Tasks: Search for the document with the case's number of 111, then click on the Attach Notes button to add his notes to the document.

    6. There are complaints about a case completed 2 years ago, so the officer who was solving the case before is now assigned to reopen the case. Because it was 2 years ago, the officer could not remember anything about the case.

    Tasks: Search for all the documents that this officer was involved with, then let the officer find the case among those documents.

    7. The archiver is assigned to create a new document for a criminal case. He received all the details of the case from Ben - the officer in charge of the case. The details are as follows:

         Archiver:        Edison Johnson
         Officer:         Ben Thomas
         Date:            27/02/1997
         Time:            10:30
         Document number: 23450097
         Case number:     312
    

    Tasks: A new document is added with the archiver's name; Ben's name and all the details above.


    User Questionnaire

    Please fill out the following questionnaire as part of your system evaluation session. This survey will be studied by the supplier to improve the final product as well as to eliminate any short coming of the system. For each question, please circle the appropriate answer and add any comments in ink (or in a different color if publishing your response in HTML).

    User Background Information
    
    1. Do you have experience with Windows 95?
            yes             no
    
    2. Where do you have access to Windows 95?
            At home         At work
    
    3. How often do you use the Windows 95 environment?
          never                        frequently
            1       2       3       4       5      
                                              comments:
    
    4. How do you feel about using the Windows 95 environment?
       very uncomfortable                         very comfortable
               1               2       3       4       5
                                                  comments:
    
    5. Do you have experience with the Windows environment?
            yes             no
    
    6. Where do you have access to the Windows environment?
            At home         At work
    
    7. How often do you use the Windows environment?
           never                        frequently
            1       2       3       4       5      
                                                  comments:
    
    4. How do you feel about using the Windows environment?
       very uncomfortable                         very comfortable
               1               2       3       4       5
                                                  comments:
    
    System Performance Information
    
    A/User Interface
    
    1. How organized are the screens' layout?
         very poor                     very well
            1       2       3       4       5
                                              comments:
    
    2. How easy to use are the screens?
         very hard                     very easy
            1       2       3       4       5
                                              comments:
    
    3. How informative are the icons and the buttons on the screens?
         very poor                     very informative
            1       2       3       4       5
                                               comments:
    
    4. How informative are the command choices?
         very poor                     very informative
            1       2       3       4       5
                                               comments:
    
    5. How useful is the content of the help system?
         very poor                      very useful
            1       2       3       4       5  
                                                comments:
    
    6. How proper are the responses of the screens' icons and buttons?
         very poor                      very well
            1       2       3       4       5
                                                comments:
    
    7. How are the screens' characters?
      hard to read                      easy to read
            1       2       3       4       5
                                                 comments:
    
    8. How are the screens' exits?
       hard to find                     easy to find
            1       2       3       4       5
                                                  comments:
    
    9. How easy to switch between sections of a screen?
           hard                            easy
            1       2       3       4       5
                                                   comments:
    
    10.How accurate and effective are the short cut commands?
          very poor                     very good
            1       2       3       4       5
                                                   comments:
    
    B/System Interaction:
    
    1. How is the system's feed back?
      uninformative                       Informative
            1       2       3       4       5
                                                    comments:
    
    2. How are the error messages?
         uninformative                  informative
            1       2       3       4       5 
                                                    comments:
    
    3. How are the system's errors?
       cripple the system                        never occur
            1               2       3       4       5
                                                     comments:
    
    4. How easy is it to add a new document?
           hard                            easy
            1       2       3       4       5
                                                    comments:
    
    5. How easy is it to find a document?
           hard                            easy
            1       2       3       4       5
                                                    comments:
    6. How easy is it to modify a document?
           hard                            easy
            1       2       3       4       5
                                                    comments:
    
    7. How easy is it to scan an image?
           hard                            easy
            1       2       3       4       5
                                                    comments:
    
    8. How easy is it to view an image?
           hard                            easy
            1       2       3       4       5       comments:
    
    9. How easy is it to add a note to a document?
           hard                            easy
            1       2       3       4       5       comments:
    
    10. How easy and effective is it to save a document?
           hard                            easy
            1       2       3       4       5
                                                    comments:
    
    11. How easy is it to cancel an operation?
          hard                            easy
            1       2       3       4       5
                                                    comments:
    
    12. How easy and effective is the system for managing users?
          hard                            easy
            1       2       3       4       5
                                                    comments:
    
    13. How easy is it to add or modify a user's account?
          hard                            easy
            1       2       3       4       5
                                                    comments:
    
    14. How is the system's security?
         very poor                       very good
            1       2       3       4       5
                                                    comments:
    
    C/Overall Performance
    
    1. How user-friendly is the system?
         complicated                      simple
            1       2       3       4       5
                                                    comments:
    
    2. How does this system rate to any similar system you may have used?
         unfavorably                      favorably
            1       2       3       4       5
                                                    comments:
    
    3. How would you rate this system?
         needs improvement                 excellent
            1       2       3       4       5
                                                    comments:
    
    Please give any other comments:
    
    


    Acceptance Test

    The acceptance test will be conducted in April so that the customer has a chance to judge whether the final product meets the required specifications.

    The test will be done on a PC which will be used along with an overhead projector for demonstration. The supplier will carry out typical operations that the system will be responsible in the future. The customer will be able to see how the system deals with situations that may arise in reality. These situations cover a variety of activities including manipulating documents, checking security, adding, deleting user accounts, handling errors, searching, saving documents and so on. At the conclusion of the demonstration, the supplier will answer all the questions and concerns raised by the customer about the system. The purpose of this question period is to help the customer gain a solid knowledge about the system as well as to clear up any misunderstanding about it.

    The overall outline for the acceptance test will be sumitted by the end of March. The details of different walkthroughs that will be done for the demonstration and how they will be presented are included in this submission. The customer can also expect to get a sample of the inputs fed into the system during the testing session from this document. This input sample will contain the details of the documents which will be added to the system, the name and password of the operator, the name and password of the new users added to the system, etc.


    Walkthroughs

    A: Customer login walkthrough

    1. General information: In order to log in to the system, the user must have a valid account set up by the system administrator. This account includes two parts: the username, and the user password. The login window has 2 boxes, the first one designed for the user to enter their username. The second one is used for the user to enter their password. To move around between these two boxes, the user can click the mouse or press the tab key.
    2. Steps: The login procedure contains 2 steps:
      1. Click the username box, and type in the proper username assigned.
        Click the password box and type in the assigned password.
      2. Click the OK button at the bottom.
    3. Notes: If the system recognizes the account then the "Police Information Gathering System" window will appears,otherwise the user will receive a message about their account status.

    B: Customer search walkthrough

    1. General information: In order to search for a document, the user must first access the searching menu table. There are two ways to do that; the user can either click on the search icon which is the first icon from the left in the "Police Information Gathering System" window or select the search command under the action menu in the order Action, Document, Search. Inside the searching menu table, the user can move around between the boxes and the buttons in two ways. If the user wants to activate these boxes or buttons sequentially, they can press the tab key, and every time the cursor will be moved from one box to the next. If the users want to activate these boxes non-sequentially, they can use the mouse and click on the box that they want to activate.
    2. Steps:
      1. Access the searching menu table.
      2. Active the box represeting the field that the user wants to base on to search.
      3. Type in the information for the searching field.
      4. Click on the search button at the bottom of the window.
    3. Notes: The users can do multiple field searching by typing in the searching information in each box representing each desired searching field. If two or more documents match the provided searching field, they will be displayed for the users to choose the right one. The searching table also allows the users to do range searching. For example the users can search for all documents whose case number are in the range 100 to 200. Under the case number boxes, the user types 100 in the "from" box, and 200 in the "to" box, then clicks the search button.

    The first button from the left on the top of the search table can be used to minimize the size of the table. The second button from the left on the top of the table is the maximize button that can be used to maximize the table's size. The third button from the left on the top of the table can be used to close the table. The clear form button at the bottom of the table can be used to clear the current contents of the table. The cancel button at the bottom of the table can be used to cancel the searching. The help button can be used to get help information. When the use clicks on this help button, a help menu table will be displayed and the user can select the subject that they want to know about. In order to use these button, the users only need to click on them.

    The "Document Number" field represents the document number of the document that the users want to search for. The "Case Number" field represents the case number of the document that the users want to search for. The "Date Document Written" represents the date the searching documents were written. The "Date Document Archived" field represents the date the searching documents were archived. The "Time Document Written" and "Time Document Archived" fields represent the time the searching documents were written and archived. The "Document Author" and "Document Archiver" represent the author of the searching document and the person archived the document.

    C: Document Addition walkthrough

    1. General Information: In order to add a new document, the users must first access the "Document Archiver Editor" window. There are two ways to do that. The users can click on the "archiver editor" icon which is the second icon from the left in the "Police Information Gathering System" window, or they can select the command "New Document" under the "Action" menu in the order "Action-Document-New Document". Inside the "Document Archiver Editor" window, the users can move around between the boxes randomly or sequentially by using the mouse or pressing the tab key.
    2. Steps:
      1. Access the "Document Archiver Editor" window.
      2. In each box type in the appropriate information for the document number, the case number, the document type, the officer's name, the archiver name, the date and time the document was written, The "Notes" box is for the archiver to type in the details of the document. The archiver can create new type of document. He/she can attach a note to the document, attach an image to the document, or scan an image to the document. All of these tasks can be achieved by clicking on the appropriate buttons.
      3. Click on the "OK" button to save the document in the system storage.
    3. Notes: The first 3 buttons on the top of the "Document Archiver Editor" window can be used to minimize, maximize, close the window. Inside the "Document type" box, if the user clicks on the down-arrow button, a list of existing document types will be displayed. When the user clicks on the "New type" button, a window will be displayed to allow the user to add a new type in. When the user clicks on the "Attach notes" button, a window will be displayed to allow the user to add notes to the document. These notes will be saved associatively with the document. When the user clicks on the "View" button, the system will display the image associated with the document. The "Cancel" button when clicked will close the "Document Archiver Editor" window without saving the changes made to the document. The "Help" button will allow the user to select a topic and get more information about that topic.
    D: System Security walkthrough

    1. General Information: The system allows the administrator to add a new account, delete an old account and modify an existing account. In order to perform those tasks, the administrator must first access the security window. There are two ways to do that. The administrator can click on the security icon which is the third one in the "Police Information Gathering System" window, or he can select the "security" command under the the "Action" menu in the order "Action -Security".
    2. Steps:
      1. Access the "security" window.
      2. Select either User security or logging options.
        • User security option: This option allows the administrator to have access to the system's account storage. All accounts and their security levels will be displayed. In order to remove an account or to get more information on an account, first the administrator selects that account from the displaying window, then click on the appropriate button. If the "Remove User" button is clicked, the system will delete that account from the system storage. If the "View User" button is clicked a window with detailed information about that account will be displayed. In order to add a new account, the administrator needs to click on the "Add User" button. The System will prompt for the administrator to enter information about that account. The administrator needs to click on the "OK" button to save the modification.
        • Logging option: This option allows the administrator to monitor the system's accounts' security levels. In order to control the security level of an account, the administrator first needs to select that account from "User security" option, then click on the "Logging" button option. Inside the "Logging" window the administrator can enable or disable that account by adding or removing the check mark inside the "Enable Logging" box. Inside the "Log Access to" box are the 3 security levels that a system account can have. A check mark in a box will assign to the account that security level. The "Public Document" box represents the security level that restricts the users'access to only public documents. The "Classified Documents" box represents the second level of security which allows the user to access both public documents and classified documents. However, this security level will not allow the user to access the sealed documents. The "Sealed Document" box represents the highest security level. When an account is assigned this security level, the user will have access to not only public documents and classified documents but also sealed documents.
    3. Notes: The users need to click the "OK" button to save any changes made to the documents. The "Cancel" button will close the "Security" window without saving the changes. The "Help" button will be useful to the users when they need help.

    E: P.I.G.S. Window Control walkthrough

    1. Access: After successfully logging in to the system, the system will pass control to the "Police Information Gathering System" window which acts as a window manager.
    2. Characteristics: The window's command menu tables: The window has 5 command menu tables including "System", "Edit", "Action", "Window", "Help". Under the "System" table there are two command choices which are "Shutdown System" and "Log out". The "Shutdown System" will allow the administrator to shut down the system, whereas the "Log out" command is used by the users to log them out of the system. Under the "Edit" menu are 4 commands "cut", "copy", "delete", "paste" which are used as a standard Windows word buffer in aiding the archiver in modifying documents. The "Action" menu has two main commands which are "documents" and "Security". The functions of these commands have been discussed in detail above. Under the "Window" menu are the commands "Cascade", "Tile", "Arrange icons". These commands are used to rearrange the window's icons or the subwindows displayed by the windows' commands. The first icon when clicked will display the "Search Engine" window, the second icon will display the "Document Archiver Editor" window; the third icon will display the "Security" window; and the fourth icon will log the user out of the system.

    Back to the index



    Implementation

    Pseudocode

    This section outlines high-level pseudocode for the various modules of the PIGS system. The reader can select the name of each section to jump to the DFD in which it appears.

    1.0 Login

      Input : Nothing
      Output: User Name
              Password
    
      Display Login Screen
      If (Clear Button Pressed)
        Clear User Name and Password
      else
        call 2.0 Verify User Data(User Name, Password)
    

    2.0 Verify User Data

      Input : Unverified User Name
              Unverified Password
      Output: User Data
    
      Use Unverified User Name from User Database to return User Data
      if (Unverified User Name found)
        if (encrypt(Unverified User Name) matches Password in User data
          call 3.0 Main Interface(UserData)
      (Login has failed so)
      increment Bad Logins
      if Bad Logins matches Bad Login Attempts
        Write bad login attempt to Log File
        reset Bad Logins 
      Display Invalid User Name or Password Dialog
      call 1.0 Login
    

    3.0 Main Interface

      3.1 Determine Visible Objects
    
        Input : Current User's Data
        Output: Current User's Data
                Enabled Objects
    
        enable Search Features, Options, Logout
        if User Access Level <= Archiver
          enable Document Creation Features
        if User Access Level = Super User
          enable User Maintence Features, Logging Features, System Shutdown.
        call 3.2 Display Main Interface(User Data, Enabled Objects)
    
      3.2 Display Main Interface
    
        Input : Current User's Data
                Enabled Ojects
        Output: Nothing
    
        Display Main Screen and Enabled Objects
        Wait for user input.
        if User wants to Logout
          call 4.0 Logout(Current User's Data)
        else if User wants to Adjust logging
        (note that secure objects are not visible to lower user access levels)
          call 5.0 Logging
        else if User wants to perform User Maintenance
          call 6.0 User Maintenance
        else if User wants to Enter New Document
          call 7.0 Enter New Document
        else if User wants to Search for a Document
          call 8.0 Search for Document(Location of Document Database)
        else if User wants to change thier Options
          call 9.0 Options(encrypted Password for User's Data)
        else if User wants to Shutdown the System
          call 10.0 Verify System Shutdown
    

    4.0 Logout

      4.1 Confirm Logout
    
        Input : Current User's Data
        Output: Current User's Data
    
        Display "Are you sure you want to logout" dialog box
        if Users Response matches No
          call 3.2 Display Main Interface
        else
          call 4.2 Logout User(Current User's Data)
    
      4.2 Logout User
    
        Input : Current User's Data
        Output: Nothing
    
        Write Logout Data to Current User's record in User Database
        reset Current User
        call 1.0 Login
    

    5.0 Logging

      5.1 Get Logging Options
    
        Input : Nothing
        Output: Logging Options
    
        Read Logging Options from System Options Database
        call 5.2 Display Logging Options(Logging Options)
    
      5.2 Display Logging Options
    
        Input : Current Logging Options
        Output: Nothing
    
        Display Current Logging Options
        Wait for User Input
        if User chooses ok and Logging Options have changed
          Write Logging Options to System Options Database
        call 3.2 Display Main Interface
    

    6.0 User Maintenance

      6.1 Get All User Data
    
        Input : Nothing
        Output: All User Data
    
        Get All User Data from the User Database
        Call 6.2 Display User List(All User Data)
    
      6.2 Display User List
    
        Input : All User Data
        Output: Selected User Data
    
        Display All User Names and All Access Levels from All User Data in a grid
        Select first User
        Wait for user input
        if Remove User button pressed
          call 6.3 Remove User(Selected User Data)
        else if Add User button pressed
          call 6.4 Add User
        else if View User button press
          call 6.5 View User(Selected User Data)
        else if Cancel or Ok button Pressed,
          call 3.2 Display Main Interface
    
      6.3 Remove User
        6.3.1 Display User Information
    
          Input : Selected User Data
          Output: Selected User Data
    
          Display Selected User Data and wait for confirmation of deletion
          If Deletion Confirmed
            call 6.3.2 Delete User(Selected User Data)
          else
            call 6.2 Display User Data
    
        6.3.2 Delete User
    
          Input : Selected User Data
          Output: Nothing
    
          Delete Selected User Data from User Database
    
      6.4 Remove User
        6.4.1 Display User Information
    
          Input : Nothing
          Output: New User Data
    
          Display Add User form and wait for input
          If Ok Button pressed and User Data Inputted
            call 6.4.2 Validate Data(User Data)
          else
            call 6.2 Display User Data
    
        6.4.2 Delete User
    
          Input : User Data
          Output: Nothing
    
          Validate user data (see testing)
          if Data Valid
            write User Data to User Database
          else
            display "Invalid Data" Message
            return to calling function with focus on invalid data
    
      6.5 View User
        6.5.1 Display User Data
    
          Input : User Data
          Output: New User Data
    
          Display User Data in User Form and wait for input
          If Ok Button pressed and User Data Changed
            call 6.5.2 Validate Data(User Data)
          else
            call 6.2 Display User Data
    
        6.5.2 Validate Data
    
          Input : User Data
          Output: Nothing
    
          Validate user data (see testing)
          if Data Valid
            write User Data to User Database
          else
            display "Invalid Data" Message
            return to calling function with focus on invalid data
    
    

    7.0 Enter New Document

      7.1 Generate Document Number
    
        Input : User Name
        Output: Next Document Number
                User Name
    
        Get Last Document Number from Document Database
        Next Document Number = Increment(Last Document Number)
        call 7.2 Display Document Entry Form(Next Document Number, User Name)
    
      7.2 Display Document Entry Form
    
        Input : Next Document Number
                User Name
        Output: Document Data
    
        Place Next Document Number
        Display Document Entry Form
        Wait for user input
        if Ok Button Pressed
          call 7.3 Validate Document Data (New Document Data)
        else if Cancel Button Pressed
          call 3.2 Display Main Interface
        else if View Case Picture Button Pressed
          call 7.4 View Case Picture(Case Picture)
        else if Attach Notes Button Pressed
          call 7.7 Attach Notes(User Name)
          Append Notes and Stamp to Notes in New Document Data
        else if Attach Picture Button Pressed
          call 7.6 Get Picture Case Location
          Attach Case Picture
        else if Scan Case Picture Buttton Pressed
          call 7.5 Scan Case Picture
          Attach Case Picture
    
      7.3 Validate Document Data
        (See Testing for more information)
    
        Input : Document Data
        Output: Nothing
    
        Validate all Document Data
        Write New Document using Document Data to Document Database
    
      7.4 View Case Picture
        7.4.1 Display Case Picture
    
          Input : Case Picture
          Output: Case Picture
                  Magnification
    
          Display Case Picture and Form
          Wait for user input
          if Zoom In Button Pressed
            call 7.4.2 Zoom Picture(Magnify 1x,Case Picture)
          else if Zoom Out Button Pressed
            call 7.4.2 Zoom Picture(Magnify 1/2x,Case Picture)
          else if Ok Button Pressed
            return to calling function
    
        7.4.2 Zoom Picture
    
          Input : Magnification
                  Case Picture
          Output: Magnified Case Picture
    
          Magnify Case Picture by given amound
          call 7.4.1 Display Case Picture(Magnified Case Picture)
    
      7.5 Scan Case Picture
      (This will not be implemented for the demonstration system)
    
      7.6 Get Case Picture Location
    
        Input : Nothing
        Output: Case Picture
    
        Get Image Location from User
        Get Image Data from Image Location
        call 7.2 Display Document Entry Form (Image Data)
    
      7.7 Attach Notes
        7.7.1 Get Notes Text
    
          Input : User Name
          Output: Notes Text
                  User Name
    
          Display Notes Entry form
          Wait for user input
          if Ok Button Pressed and Notes Entered
            call 7.7.2 Generate Notes Stamp(Notes Text, User Name)
          else
            call 7.2 Display Document Entry Form
    
        7.7.2 Generate Notes Stamp
    
          Input : Notes Text
                  User Name
          Output: Notes and Stamp Record
    
          Write System Time and User Name to Stamp
          call 7.2 Display Document Entry Form(Notes and Stamp)
    

    8.0 Search For Document

      8.1 Display Search Form
    
        Input : Document Database Location
                User Name
        Output: Search Items
    
        Set Document Database Location and User Name
        if Document Database Location is not Default Database Location
          enable New Seach Button
        Display cleared search form
        Wait for input from user
        if New Search Button Pressed
          call 8.1 Display Search Form(Default Database Location)
        else if Ok Button Pressed and Search Items Available
          call 8.2 Validate Search Data(Search Items)
        else if Cancel Button Pressed
          call 3.0 Main Interface
    
      8.2 Validate Search Data
    
        Input : Search Items
        Output: Search Items
    
        Validate Search Items (see Testing)
        if Items Valid
          call 8.3 Compose SQL Document Query(Search Items)
        else
          Display appropriate error dialog
          call 8.1 Display Search Form with focus on box containg first error
    
      8.3 Compose SQL Document Query
        Note that this process also adds "Return items accesible to current user's security level" to the generated SQL statement.  This will allow only approved documents to be viewed or acknowledged.
    
        Input : Search Items
        Output: SQL Document Query
    
        Parse Search Items into compound SQL Statement
        Call 8.4 Database Interface(SQL Document Query)
    
      8.4 Database Interface
        By setting the Database Location, we can seach a database of seach results using the same interface.
    
        Input : SQL Document Query
        Output: Search Progress
    
        Set Database Location to Chosen Document Database
        Send SQL Document Query to Chosen Document Database
        while Search In Progress
          Receive Search Progress from Chosen Document Database
          Call 8.5 Display Search Progress(Search Progress)
        Receive Search Results from Chosen Document Database
        if no Search Results returned
          Display Search Parameters Not Found dialog box
          call 8.1 Display Search Form
        else
          call 8.6 Create Results Database(Documents)
    
      8.6 Display Search Results
    
        Input : Search Results Documents
        Output: Chosen Database Location
    
        Select First Search Result Document
        Display grid of Partial Information from Search Results Documents
        Wait for User Input
        if Search Results Button Pressed
          call 8.1 Display Search Form(Results Database Location)
        else if View Document Button Pressed
          call 8.7 Display Single Search Result(Selected Document Number)
        else if Cancel Button Pressed
          call 8.1 Display Search Form(Default Database Location)
    
      8.7 Display Single Search Result
        8.7.1 Display Search Results
    
          Input : Document Number
          Output: Nothing
    
          if Result Of Search Database contains Multiple Records
            enable Database Browser Buttons
            enable Return Button
          Display form containing Given Document Number from Search Results Database
          Wait for User Input
          if View Case Button Pressed
            call 7.4 View Case Picture(Case Picture)
          else if Append Notes Button Pressed
            call 7.7 Attack Notes
          else if Print Button Pressed
            call 8.7.2 Format Document For Printing(Document)
          else if Return Button Pressed
            return to calling function
          else if Cancel Button Pressed
            call 8.1 Display Search Form(Main Document Database)
    
        8.7.2 Format Document For Printing
    
          Input : Document
          Output: Print Job
    
          Generate report for printer user Document
          Send report to printer
    

    9.0 Options

      9.1 Display Options
    
        Input : User Data
        Output: Old Password
    
        Display All User Options
        wait for User Input
        if Change Password Button Pressed
          call 9.2 Enter Old Password(Old Password)
        else if Ok Button Pressed
          Write Updated User Data to User Database
        call 3.2 Display Main Interface
    
      9.2 Enter Old Password
    
        Input : Actual Old Password
        Output: Nothing
    
        Display Enter Old Password Form
        Wait for Old Password from User
        if encrypt(Old Password) matches Actual Old Password
          call 9.3 Enter & Confirm New Password
        else
          return to Calling Function
    
      9.3 Enter & Confirm New Password
    
        Input : Nothing
        Output: Nothing
    
        Display Enter & Confirm New Password Form
        wait for user input
        if First Password matches Second Password
          Write encrypt(New Password) to User Database
          call 9.1 Display Options(encrypt(New Password))
    

    10.0 Verify System Shutdown

      Input : Nothing
      Output: Nothing
    
      If System Shutdown should be Verified
        Display Confirm System Shutdown Form
        Wait for User Input
        if Shutdown not confirmed
          call 3.2 Display Main Interface
      call 11.0 Shudown System
    

    11.0 Shutdown System

      Input: Nothing
      Output: Nothing
    
      Close all databases
      Shutdown system.
    


    Data Flow Diagrams

    Overall system structure chart

    Data flow diagrams

    Links to the relevant pseudocode sections can be found below each diagram.



    Pseudocode for: 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0.


    Pseudocode for 3.0


    Pseudocode for 4.0


    Pseudocode for 5.0


    Pseudocode for 6.0


    Pseudocode for 6.3


    Pseudocode for 6.4


    Pseudocode for 6.5


    Pseudocode for 7.0


    Pseudocode for 7.4


    Pseudocode for 7.7


    Pseudocode for 8.0


    Pseudocode for 8.7


    Pseudocode for 9.0


    Back to the index






    Appendices


    Appendix I: Glossary of Terms

    The following is the list of terms taken from the document. Each term provides an explanation as to its definition.
    Activate:
    The action of making something active or current.
    Alphanumeric:
    An character which is either an alphabet or a digit.
    Button:
    A polygonal shaped object that can be selected with a mouse click to perform a function.
    Check Box:
    A data entry field in Windows which can only have two conditions in it: yes or no. A no/disble state is indicated by an empty box, and a yes/enable state by a checkmark in the box.
    Click/Mouse Click:
    Pressing and releasing the left button of the mouse. Usually in reference to the mouse pointer being in a certain area of the screen.
    Data Flow Diagram:
    A diagram showing the flow of data from one function to another within a system.
    Database:
    A collection of data, related and indexed for easy manipulation and retrieval.
    Dialog:
    A window.
    Field:
    An area of a window that may or may not contain data.
    Icon:
    A small object displayed which will run an application program when it is clicked upon.
    Interface:
    A screen layout that allows the user to communicate with the computer.
    Login:
    The action of identifying yourself to a security-oriented computer system and entering a password so that the system can determine your security clearance level and control your access to classified information.
    Menu table:
    A table showing the command choices.
    Module:
    A major logical division of a system, as deemed necessary from a programming perspective.
    Password:
    A secret word given by the user when logging in, which assures the computer system of the person's identity.
    Plaintext:
    Straight ASCII-only test with no formatting characters other than carriage returns, TABs, etc. For example, text produced with EMACS or DOS Edit.
    Platform:
    (As in "development platform"): The type of hardware and software that the PIGS system is designed to be compatible with. May also refer to the compilers and other software used to create the PIGS system.
    Radio Button:
    In the Windows environment, a special type of button that is used where there are multiple selections available and only one of them may be selected at a time. A radio button takes the appearance of a small circular button in front of each option, one of which is highlighted. The highlighted option can be changed by clicking on one of the non-highlighted buttons.
    Screen Shot:
    A picture of an instance of what is displayed on a monitor.
    Scroll Bar:
    A bar on the side of the screen used to scroll around a box when its contents are larger then the physical size of the box; a scroll box indicates the relative positionof the current display to the entire content.
    Security level:
    Each account has a different range of file accessibility. The account's security level determines that.
    Status Bar:
    A bar at the bottom of the screen with information of the screen where the mouse is currently pointing at.
    Toolbar:
    A bar on top of screen which allows quick acces to the major operations within the system.
    Username:
    The name by which a computer system identifies an individual user.
    Window:
    A "screen within a screen". A rectangular area of the screen, the area of which is devoted to one particular program or function of a program. Windows can be resized, closed, opened, moved, hidden, unhidden, stacked, tiled, iconized and restored.
    Back to the index


    Appendix II: Credits

    Editing:
    • Nils Sundstrom
    • Soliel Lapierre
    • Kelly Serge
    Web Design:
    • Nils Sundstrom
    • Soliel Lapierre
    • Kelly Serge
    Skeleton Program:
    • Andy Taylor
    Screen Shots:
    • Andy Taylor
    • Corey Fleece
    Screen Shot Feedback:
    • Soliel Lapierre
    • Corey Fleece
    Login:
    • Nils Sundstrom
    • Kelly Serge
    User Security:
    • Jon Samuelson
    • Raymond Wong
    Remove User:
    • Alejandro Molina
    • Mike Cornick
    Add User:
    • Soliel Lapierre
    • Hanif Remtulla
    User Information:
    • Linh Pham
    • Fred Seen
    Logging Security:
    • Hanif Remtulla
    • Kelly Serge
    Search Engine:
    • Alejandro Molina
    • Corey Fleece
    Search Results:
    • Corey Fleece
    Document Information:
    • Fred Seen
    • Raymond Wong
    Enter New Note:
    • Corey Fleece
    • Nils Sundstrom
    Document Archiver Editor Window:
    • Soliel Lapierre
    • Mike Cornick
    Enter New Document Type:
    • Andy Taylor
    • Corey Fleece
    P.I.G.S Main Screen:
    • Andy Taylor
    • Nils Sundstrom
    Main Menu:
    • Andy Taylor
    Toolbar:
    • Andy Taylor
    Scanned Image Editor:
    • Jon Samuelson
    • Linh Pham
    Executive Summary
    • Mike Cornick
    Overall Design Document Reorganization
    • Kelly Serge
    • Mike Cornick
    • Raymond Wong
    • Jon Samuelson
    • Fred Seen
    • Nils Sundstrom

    Glossary
    • Hanif Remtulla

    Testing section:
    • Soleil Lapierre
    • Linh Pham
    Implementation section:
    • Andy Taylor
    Corrections:
  • Kelly Serge
  • Hanif Remtulla
  • Soliel Lapierre
  • Linh Pham
  • Nils Sundstrom
  • Management section:
    • Nils Sundstrom
    • Alejandro Molina
    • Mike Cornick
    Back to the index



    Appendix III: Screen Shots

    Screen Shots






    Created on Feb. 10, 1997 Spelling Corrections Feb. 11, 1997
    Last Assimilated Feb. 27, 1997.