Professional Documents
Culture Documents
Design Specification Document 5 K Library Management Systems
Design Specification Document 5 K Library Management Systems
Lappeenranta
2002
Design Document v 1.1
Table of Contents
1. Introduction............................................................................................................................ 3
1.1. Purpose........................................................................................................................ 3
1.2. Definition and Abbreviations......................................................................................3
1.3. Summary...................................................................................................................... 3
2. System Overview................................................................................................................... 4
3. Design Considerations........................................................................................................... 4
3.1. Assumptions and Dependencies....................................................................................4
3.1.1. Related software and hardware..........................................................................4
3.1.2. End-user characteristics.....................................................................................5
3.2. General Constraints.......................................................................................................5
3.2.1. Hardware constraints..........................................................................................5
3.2.2. Software constraints............................................................................................5
3.3. Communications Interfaces Constraints...................................................................6
3.4. Goals and Guidelines.....................................................................................................6
3.5. Development Methods...................................................................................................6
4. Architectural Strategies..........................................................................................................6
4.1. Particular type of product...............................................................................................7
4.2. Reuse of existing software components.........................................................................7
4.3. Future plans for extending or enhancing the software...................................................7
4.4. User interface paradigms...............................................................................................7
4.5. Error detection and recovery..........................................................................................8
4.6. Memory management policies.......................................................................................8
4.7. Databases management................................................................................................8
4.8. Distributed data and control over a network...................................................................8
4.9. Approaches to control....................................................................................................9
4.10. Communication mechanisms.....................................................................................9
5. System Architecture............................................................................................................. 11
5.1. Sub-System architecture...........................................................................................12
6. Policies and Tactics.............................................................................................................15
7. Detailed System Design......................................................................................................15
7.1. Detailed Subsystem Design.........................................................................................15
References.................................................................................................................................. 19
1. Introduction
1.1. Purpose
User - the person who will use final version of 5K LMS software
Customer - the person who pays for developed software and predefine
requirements
LMS – Library management System
RAM – Random Access Memory
HDD - Hard Drive Disk
KISS - "Keep it simple stupid!"
MSIE – Microsoft Internet Explorer
1.3. Summary
Architectural Strategies – this part describe design decisions and strategies that affect
the overall organization of the system and its higher-level structures.
System Architecture – this part gives high-level overview of how the functionality and
responsibilities of system were partitioned and then assigned to subsystems.
Policies and Tactics – in this part of design document we describes design policies and
tactics which affect on details of the interface and implementation of various aspects of
the system.
2. System Overview
The main goal of the developed software: create Library Management System
concerning 5K requirements. System should be very easy in use and at the same time
provide good functionality and performance. Developed system will have next main
functions and features:
o View library items list and item status with add/delete/modify functions
o View library users list and users status with add/delete/modify functions
o Search for items and users with different conditions.
System will have user-friendly web interface with full help about all functions. All
interactions with database are provided through the Web server.
3. Design Considerations
The LMS software will be running on Intel/AMD based platforms, with installed
MySQL database, Apache Web Server, PHP plug-in for Apache web server. Operating
system related for the software is follow: Windows XP, Windows 2000, and Windows 9x.
No special knowledge needed for use 5K LMS software, for example basic
knowledge of MS Internet Explorer 5.5 enough for interaction with system.
General Constraints
Hardware and Software resources were chosen from developer’s point of view. For
best performance and good functionality we strongly recommend use the follow
configurations as for Main Server, where database will be, and for workstation:
Main Server
Intel Inside Pentium III processor based Server
Random Access Memory: 256 Megabytes
HDD 40 Gigabytes
Cable Internet Connection
Workstation
Intel Inside Pentium II processor based workstation
Random Access Memory: 512 Megabytes
HDD 30 Gigabytes
Cable Internet Connection
The main goal of 5K LMS Software is anywhere and anytime online. User can
connect to the library from any place through the internet. Another one advantages that;
software will be developed according KISS method, which allows using software for all
users who have basic knowledge in working with MSIE.
Development Methods
In our company we are use the conventional approach; First of all we start from
analysis of system requirements that should be done, this part completed by our
Requirements engineer. After this we start to design the system and this task performed
by me. When the main part of Design document was completed it was given to our tester
and configuration manager to complete work on this project. Other information about the
project you can find in their documents on our web-site.
4. Architectural Strategies
The LMS 5K software will be created with using PHP language for developing web-
interface and exchange data between LMS Database, MySQL will use for storage data
about books, CDs, other literature, staff accounts, information about users and etc.,
Apache Web Server will provide interactions with user through Internet, Java web server
for management LMS database: everyday revising LMS database, generating e-mails for
users and staff.
In this project some of exist software components used, because ITL Company has
great experience in Web-based software. Modules for work with MySQL database, Java
Server Application. In ITL company Excellent Web Development is one of main
advantages.
All future plans for extending or enhancing the software depends on future Customers
requirements, It is no problem for extend developing system (5K LMS), because all
components easily can be modified and removed by customer wishes, some new
components may be added to the system.
Developed system has a KISS ("Keep it simple stupid!") principle. All interfaces in the
system very easy for understanding, using and no need some special background for
work with its. If user will have some misunderstandings or problems with interface or
have some complex functions, unusual features, system offer very detailed and
specialized help about all components in the system.
Error detection in 5K LMS software will be provided primary by the system itself. All
entered data about books, CDs and other items in database, users will checked before
recording to database and if some incompatible type entered in some field, error
message will appear on screen and entry won’t be added to database. Also 5K LMS
database will have function for monthly backup.
Developed system will work very carefully with exist memory, for best performance
system need 512 MB of physical memory for central database. After complete some
operation, system will unload unused data from memory. System will stable work with
95% of loaded memory.
Databases management
For managing database in 5K LMS software database, ITL Company offer Java
server application for this task. Because it is have all necessary features, easy in
modifying and upgrading. Java server Application has best performance in this software
area, especially in web-based software.
To control 5K LMS system through the network ITL Company will develop special
access to main database for very experienced persons and give them administrators
accounts.
View and Modify person detailed information (Also block librarian, change
password)
Delete person
Innovative Technologies Labs.
18.04.2002
Design Document v 1.1
Approaches to control
Communication mechanisms
The system will communicate with users and staff, through the interfaces and e-mail
notifications. For librarian system provide the next functions and interfaces: search
engine on library web-page, detailed information about all registered users in the system,
detailed information about books, CDs, and other items, that stored in 5K LMS database.
Functions for manage user status, change information about user and books.
Also system will have special function for administrator. Administrator of 5K LMS can
modify information about user and staff accounts, change passwords and additional
information in database.
The system will provide for user the same functions as library staff interface, but
some functions will be deactivated: delete, modify, view user list. User will have
possibility to order unavailable books. If the book is returned to library the user who has
ordered this book will receive email notice about availability of this book and book will be
reserved for specified time. If this time has expired the book becomes available for all
users. If user has delayed the return of the book the system will send email notices to
user with specified time intervals.
5. System Architecture
Figure 1
The system can be divided into two main parts. The first part is Client Side and the
second is a Server side.
The client side usually consist a personal computer with the Web-Browser. Client
machine provide follow possibilities for library staff:
Access to library database ( as librarian)
Add, Modify and delete information about the book, CD, additional literature
Add, Modify and delete information about users
Check book and users status
View all users in library
Search for book, CDs and etc., by author, title, and year
For users:
Access to library database (as user)
Check own status
Search the book by title, author, and year
Order/Lend the book
The Server side - provide main interaction between users and LMS database, if say
more precisely between users Web-Browser and MySQL database. Because it’s receive
requests from user through web server and send them to the MySQL database as SQL
queries, next step which server side perform is send answer to user. This function
provided by PHP and Apache Web server.
LMS database will have the following structure: there are will be five tables for
storing different kinds of data.
Class Table
Table name Class
Field Type Description
Author text 256 Author Name
category_code long Book category, for connection with category, user tables
class_code long Class code, for connection with lending and queue tables
Date date Date of publication
Description text 256 Description of book
Title text 256 Book title
Items class is the item title, item author, date of publishing and description. The
library will have several item of one class, so each book will have own unique identifier.
This identifier will be stored in Lending table. These tables will be connected by class
code. Category code is reference to items categories, which are stored in Category table.
Category Table
Table name Category
Field Type Description
book_user boolean 1 is a users and 0 is a item
category_code long Book category, for connection with item and user tables
category_name text 256 Name of category.
maximum_duration byte Maximum duration for this category
In this table the data about items and user categories are stored. Book user is used
for dividing user and item. Category code is category code and it used for connection
with item and user tables. Category name is the name of category and maximum
duration is maximum duration of lending for user or for item.
User Table
User table will store information about users, staff and administrators of system. This
table connected with category table and lending table via category code and user code
fields appropriately.
Innovative Technologies Labs.
18.04.2002
Design Document v 1.1
Lending Table
Table name Lending
Field Type Description
availability_status boolean Book availability status
book_code long Internal book code
class_code long Class code, for connection with class and queue tables
End_date date End date
modify_date date Modify date
reserved boolean Status of reservation
start_date date Start date
User_code long User code for connection with user table
This table will store the main information lending. Availability status describes current
status of item. Book code is internal unique for each item code. Class code is book class
code for connection with Class and Queue tables.
Queue Table
Table name Queue
Field Type Description
class_code long Class code, for connection with class and lending tables
order_date long Date of order
status boolean Queue status
User_code long User code for connection with user table
This table will store data about items orders. When item is reserved in lending table,
the appropriate record is deleted from queue table.
database, Apache web server with PHP and Java Server Application. All section were
source code have complexity, there are need to be commented, for further extending.
System should be easy to use for users; it is mean that all user function should be
performed without any problems. Also system should have easy installing process.
The ITL Company has developed all interfaces for 5K LMS software, in this document
you can see only main interfaces that already exist and work. The ITL Company offer to
our customer follow interfaces and functions and customer agree with ITL Design and
not have any objectives about it. After this all interfaces and functions was be developed.
Figure 2.
This is a Home page of 5K Library Management System (Figure 2). All iterations with
library database will be start from this page. For use database as librarian, first of all it is
need to login to the system. This also can be done from this page.
Figure 3.
The search page, shown on figure 3, provides next functions to users (students, stuff
and etc.):
Here you can see field “find this”, in this field user should enter information about
book, CD or journal. Also it is possible to select different type of search, such as search
by “Keyword”, author, title, Journal title, and date.
On the bottom on this page, all necessary help, about every kind of search, are
shown.
Figure 4.
For example user is logged into the system and wants to find some book, he
should press the “search” bottom on the user menu and after this system brig the screen
that shown on figure 3. User enters keyword in search string and selects the “Search by
Keyword” and press search, system bring the next screen, shown on figure 4, with result
of user search.
There are user can easily see title of book, author and year of publishing. On this
stage it is possible to order the book, of course if it not charged. All other interfaces are
based on these screens (Figure 2-4) and developed. As was mentioned earlier Customer
was completely agree with it and do not have any misunderstandings.
References
[1] Project Plan
[2] Requirements documents
[3] Pressman, R. S.: Software Engineering: A Practitioner’s Approach, fifth edition
[4] Course web page http://www.it.lut.fi/opetus/01-02/010760001/index.html
[5] Viewpoints for requirements elicitation: a practical approach, I. Somerville, P. Sawyer
and S. Viller, ICRE 98