VoidWorks Software Inc.

Functional Specification
Management Plan

 


Contents                                   

 


Introduction                                   
     It is the opinion of this company that we can create and supply an easy-to-use and efficient database system for the Springfield Library in a minimal amount of time. We realize the focus of the system in relation to the ergonomic and efficiency concerns, and our design will keep these ideas central without compromising the purpose of the system. A structural outline of a proposed system has already been initiated which includes all of the major aspects included in the informal specifications that were supplied to us by your company. A preliminary time frame has also been sketched out so that you can get a rough idea as to how we intend to progress through this contract with a general completion time. Thus all of the preparations can be made before the system finally arrives. Likewise, it is our belief that we can supply a workable prototype that performs all of the operations that are specified in this document by the beginning of March, 1997. It is our hope that the Springfield Library will find that our system fulfills their needs accurately, efficiently and reliably.
Ease Of Use, Speed, ReliabilityIn the specifications we received from your company it was apparent that certain considerations must be made when designing the library system. At the forefront were concerns of ease of use, speed, and reliability. In relation to your concern for speed, it seems that the majority in the computer industry, staff and companies are generally making efforts to find ways to increase the speed of their hardware, software, systems, etc. and it is likewise the case for our company also. Suffice to say, our programmers are always thinking of new ways to increase the speed and efficiency of the systems they work on. We know that we can supply an extremely efficient system that will meet your needs. As to the considerations for ease of use and reliability, every step of the implementation will be designed with these concerns prevalent. Along with this, extensive testing will used to ensure that these criteria have been fulfilled. Keeping in all this in mind, it is our policy to develop the best possible system while maximizing and utilizing your initial capital investment. Other considerations that will be kept in mind as the system progresses are expandibilty, appearance, and consistency in development.
     The actual software used to implement this system has not been fully agreed upon at this time. It is our intention to used established software to implement your library system. There are numerous reasons for this:
     
  1. Established software is cheaper than having a database system built from scratch. This is because it reduces the amount of programming necessary and hence downsizes labour costs. The time spent on error checking is also significantly reduced. The downside to taking this path is that the generalized software will impose some limits. This restricts what can or cannot be done with your system, and might create some annoying (but ultimately non-threatening) bugs in the system.
  2. The system is probably easier to learn. The software we will be using has already gone through the user testing by the company that distributes it, so that it has already been oriented for simplicity and ease of use beyond what we will be testing for in this time frame. Not only that, but it is likely that someone working for your company may be familiar with the software we will be using or will be familiar with similar software under a different platform.
  3. It is easier to get help for your system should it encounter problems. Because we will use well known software, it is not manditory to contact us with every problem. Since we will write the system, however, we believe that it may be in your best interest to contact us with any problems because we will be completely familiar with its structure, and that means quicker and more accurate solutions
  4. No special hardware will be needed. This system will be designed to run under the standard IBM-compatible computer.
     Specific considerations influencing our decision for which software we will use are cost, user interface (ie. how easily YOU can use the system), simplicity of programming, portability, efficiency, expandibility, and versatility. The current possibilities are: Delphi, Access, Psybase, and Oracle. You will be informed as to our particular choice BEFORE implementation of the prototype has begun.

 

Structural Outline                                   
     The preliminary designs that we are contemplating have three main sections: Book Administration, Customer Administration, and Transaction Forms.
Book AdministrationThe Book Administration section deals specifically with manipulating and archiving book data. The section is broken down into five sub-sections that will have selections as follows: Add a Book, Delete a Book, Book search, Modify book data, and an option which will allow you to generate a number of different reports.
Add A BookThe "Add a Book" option allows you to add a new book to the database which will then be within the system so that it can be borrowed. The data attributes included for each book are as follows:
     
ISBN number
The identification number which will be used to identify a book.
Call Number
A unique number which will be supplied by the system to identify specific books
Title
The title of the book
Author
The author of the book
Publisher
The name of the publisher
Version
The book's version (optional)
Edition
The books edition (optional)
Media Type
One of {Book, CD, CD-ROM, Video, Laserdisk, Journal}
Price
Replacement cost in dollars and cents
Subject
The subject category(s) this book falls under
Loan Criteria
One of {Two-week, Overnight, Reserved}
Location
The branch location
Floor #
The floor number that contains this book
Circulation Status
One of {On Loan, Overdue, Being Held, Lost}
     Note that this is merely a preliminary list as there might be additions or deletions in the future by your direction.
Delete A BookThe "Delete a Book" option allows you to permanently remove a book from the database. In order for a book to be deleted, both the ISBN number and the Call number must be used to identify the specific book to be deleted. Currently, no option will be constructed to allow for deleted books to be recovered.
Modify Book DataThe "Modify Book Data" option allows you to change the information about a book that has been stored in the database. Adhereing to the policy stipulated in your specifications, the ISBN number can not be changed. If it were the case that an ISBN number must be changed, you must delete the book first with the "Delete a Book" function followed by going through the "Add a Book" function to re-introduce the book back into the system with the correct ISBN number.
Book SearchThe "Book Search" option allows you to find a book or a list of books that fall under a criteria specified by you. The preliminary criteria that will be allowable for a search are searches by:
     
Book Title
By entering a book title, the system will bring up a list of all books by that title.
Author
By entering an author's name, the system will bring up a list of all authors by that name.
Subject
By entering a subject, the system will search and list all books that fall under that subject category.
     Note that this is just a preliminary list and might be expanded in the future.
Generate A ReportThe "Generate a Report" option allows you to view and print lists and reports which would include the following: All books or some defineable subset of the books; all overdue books; and all books in circulation. The subset of all the books has not, at this time, been clearly defined, but might be based on one or all of the following:
     
  • books by year
  • books by publisher
  • books (ie media) by media type
  • books by loan category
  • books by floor
     Again these lists are still in the preliminary stages and should in no way be construed as to be etched in stone.
Customer AdministrationThe Customer Administration section deals specifically with manipulating and using customer data. This section can be broken down into four sub-sections: Add a New Customer, Remove a Customer, Modify Customer Data, and Generate a Customer Report.
Add A New CustomerThe "Add a New Customer" option allows you to add a new costomer to the database. This new customer is then allowed to borrow books, elicite fines, and has access to the normal functions allowable for a regular customer. The data attributes included for each customer are as follows:
     
User Identification
A unique number generated for each customer that is used as identification.
Name
First and last name of the customer
Telephone Number
telephone number where the customer can be reached. Includes area code.
Address
Customers complete mailing address. Includes: street, city, province, and postal code.
Loaning Category
Choice of: {regular (ie regular customer), librarian, supervisor}.
Max Books
The maximum number of books that this customer can have out at any given time.
Fine limit
The minimum amount of money that the customer owes to the library before borrowing of material is restricted.
Fines
The current amount of outstanding fines owed by this customer.
Restricted
Flag that is set when the customer meets or exceeds the Max Fines allocated to this customer.
     Note that this is just a preliminary list and might be expanded in the future.
Remove A CustomerThe "Remove a Customer" option allows you to permanently remove a customer from the database. In order for a customer to be deleted, the User Identification number must be used to identify the specific customer to be removed. As has been stipulated in the specifications, no customer can be deleted if he/she has a book on loan or has any outstanding fines. As with the "Delete a book" option, no process has been initiated that allows for deleted customers to be recovered.
Modify Customer DataThe "Modify Customer Data" option allows you to change the information about a customer that has been stored in the database. The User Identification number cannot be changed. If it were the case that an User Identification number must be changed, you must delete the customer first with the "Remove a Customer" function followed by an "Add a New Customer" process to re-introduce the customer back into the system with the correct User Identification number. Some data, such as the Max Books and the Max Fines, can only be changed by an individual with supervisor clearance, and cannot be changed otherwise.
Customer SearchThe "Customer Search" option allows you to find a customer or a list of customers that fall under a criteria specified by you. The preliminary criteria that will be used for customer searches are any of the customer's personal identification. These would include any of the following:
     
  • customer identification number
  • customer's name (last and/or first)
  • phone number
  • address
Generate ReportThe "Generate a Customer Report" option allows you to view and print lists and reports which would include the following: All customers or some defineable subset of them; customers with books on loan; customers with overdue books; and customers with outstanding fines. The subset of all the customers has not, at this time, been clearly defined, but might be based on one or all of the following:
     
  • restricted customers
  • customers with supervisor clearance
     Again these lists are still in the preliminary stages and should in no way be construed as to be unchangable.
TransactionsThe Transaction section deals specifically with borrowing, returning, renewing books and putting books on hold. This section is broken down into four sub-sections: Borrowing Books, Returning Books, Renewing Books, and Placing on Hold.
Borrowing A BookTo borrow a book, our system interfaces with an external mechanical device which scans and obtains information such as the customer's identification number (from their user card), ISBN number, and call number from the book. A customer may not borrow a book, if their fine limit has been reached. Our system will generate a due date in accordance with the loan duration specified for the particular media type.
Returning A BookWhen a book is returned, it is made available for others to be borrowed, or, if the book has been placed on hold, the individual for which the book has been held will be notified.
Renewing A BookThe renewing a book process merely updates the due date pending that the book is not on hold, and successful validity checks executed under the borrowing a book process have been performed.
Holding A BookPutting books on hold is a process which allows a customer to restrict a books availability to general customers so that he/she is ensured of being next to receive a particular book that is currently on loan. Only one hold can be placed on any one particular book copy. Holds are placed on a first come first serve basis. Any one customer can place as many holds as his book limit regardless of how many books he currently has on loan. Once a book on hold is made available, the customer has 3 days to either pick up the book or cancel his/her hold. If the customer has undertaken neither of the two options before the 3 day limit has expired, the customer is charged with 3 overdue days upon that book.

 

Possible Enhancements                                   
     There are numerous enhancements that could possibly be implemented to make the system easier to use and/or more versatile in execution. One such enhancement that was already mentioned is the possiblilty to store, access and possibly reinstate a deleted book or customer. Another main ideas is to incorporate more automatic functions to take the work out of the user's hands. On the prelimary sketches, a few tasks are inked in to be automatic (ie. generating a call number or User Identification number), but many others might have to be implemented as manual tasks due to lack of time. Examples of these such options would be checks for books on loan before deletion is allowed, and a similar check for deletion of customers. Other enhancements could include:
     
  • universal searches on the fly
  • direct links from any page to any page
  • more versatile search criteria
  • expanded report generation

 

TimeLine                                   
     
     The above is a breakdown of our time distrabution planned for the ensuing project. We have estimated that there will be five major sections that will follow one after the other.
Functional SpecificationThe first section is the Functional Specification and Management Plan. This section can be further broken down into three parts: User Interaction, the Management Plan, and the Final Summary. User interaction is scheduled from January 16 - 25, 1997; the Management Plan is scheduled from January 17 - 27, 1997; and the Final Summary is scheduled from January 24 - 27, 1997.
Overall DesignThe second section is the Overall Design Specifications. This section is broken down into three parts: major and sub-modules design, modification and management remarks, and the final summary. Modules design is scheduled from January 27 to February 8; modifications and management remarks is schedualed from February 8 - 10; and the summary from February 9 - 11.
Detailed DesignThe third section is the Detailed Design which will act with direct correlation to the implementation phase and testing phase. This section is broken down into three parts: prototype programming; prototype testing; and summary. The programming and testing phases are rather hard to specify, but the prototype programming is tentatively scheduled from February 12 -20, and the testing from February 15 - 25; the summary is scheduled from February 26 - 27. The testing will be carefully planned with numerous sets of tests implemented to ensure accuracy.
User ManualThe fourth section is the writing of the user manual. The actual writing of the user manual will be performed in three phases including outline, detailed draft, and final proof. The outline is schedualed from February 28 to March 1; the detailed write up is schedualed for March 2 - 12; and the final proof is is schedualed for March 13 - 18. The user manual will be concerned with how to use our system, error recognition and handling, and numerous examples as to how the processes are used.
PrototypeThe fifth and final section will be the prototype demonstation for your company. The demonstration is tentatively scheduled for some time between March 31 and April 14, 1997.

 

Summary                                   
     To conclude, here is a list of the main features mentioned in this document:
     
  1. The implemented system will be programmed with your company in mind. We will attempt to incorporate all of the function's specified here while keeping concerns of efficiency, security, and simplicity of use central.
  2. The system will be programmed using established software (such as Access, Delphi, etc.). This will be done to save you money and keep the system easy to maintain.
  3. The structural outline consists of three major sections with each section further separated into numerous sub-sections. The breakdown is as follows:
  4. Book Administration section
    includes options that allow you to add a book, delete a book, modify book data, perform a book search, and generate a report on book data.
    Customer Administration section
    includes options that allow you to add a customer, remove a customer, modify customer data, perform a search on a customer, and generate a report on customer information.
    Transaction section
    allows for the borrowing of books, returning books, renewing books, and placing books on hold.
ConclusionThe system design and implementation prosses for the library system has already been tentatively scheduled culminating in the prototype demonstration performed for your company some time in early April, 1997. It is the belief that we at PC Software Inc. will provide for you a comprehensive and efficient system that will meet your needs by that time. It is our hope that your experience with our company will be a pleasant and mutually benificial undertaking.

Send mail to the Group Leader or the Webmaster
Back to the Main Page
Pages created and maintained with Mortar