Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 19

LAPPEENRANTA UNIVERSITY OF TECHNOLOGY

Department of Information Technology


010760001 Team Project on Software Engineering

Design specification document


5 K Library Management Systems
Version 1.1

Author: Andrey Zajaev


0227413
zajaev@lut.fi

Supervisors: Yana Selioukova


Jan Voracek

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

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

1. Introduction

1.1. Purpose

The purpose of this document is to describe design of Library Management Software


for 5K Inc. This document prepared for developer Innovative Technologies Laboratories
(ITL) internal use and for customer (5K). This document created using ITL Project Plan
and Requirements documents, which are mentioned in references section. The result of
this document will be Test Document.

1.2. Definition and Abbreviations

 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

This version of design document consist next parts:


Design Considerations – general description of the software system including its
functionality and matters related to the overall system.

Architectural Strategies – this part describe design decisions and strategies that affect
the overall organization of the system and its higher-level structures.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

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

Assumptions and Dependencies

3.1.1. Related software and hardware.

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.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

3.1.2. End-user characteristics

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:

3.1.3. Hardware constraints

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

3.1.4. Software constraints

 Microsoft Windows 2000 Advanced Server


 Microsoft Windows 98 Second Edition
Innovative Technologies Labs.
18.04.2002
Design Document v 1.1

 Microsoft Windows XP Professional


 Apache Web Server
 PHP plug-in for Apache
 PHP Server side script language
 MySQL Database
 Internet Explorer 4.0 - 6.0
 Netscape Navigator 4.0 – 6.2
 Microsoft Office
 Adobe Acrobat

3.2. Communications Interfaces Constraints

Interactions with LMS should be made using TCP/IP network protocol.

Goals and Guidelines

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

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

Particular type of product

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.

Reuse of existing software components

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.

Future plans for extending or enhancing the software

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.

User interface paradigms

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.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

Error detection and recovery

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.

Memory management policies

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.

Distributed data and control over a network

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

 Navigate to first | previous | next | last pages


 Modify category of items – modify category name, code and maximum
duration of lending for this category of items
 Modify category of users – modify category name, code and maximum
duration of lending for this category of users

Approaches to control

5K LMS Database will be almost automatically controlled by internal function and


features. But of course main access to control the system will be given to advanced and
experienced user in this area. Administrator will have all necessary functions and
instructions for controlling database. Also ITL Company may support this database if
customer 5K decides that it is more suitable.

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

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

users. If user has delayed the return of the book the system will send email notices to
user with specified time intervals.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

5. System Architecture

The Library management system will have four main components:

 Database for storing different types of data such as users, books


etc. Developer selected MySQL Database engine.

 Main server based on Windows 2000 Advanced Server with


Apache Web Server

 PHP Server side script language for connection between server


database and user web interface

 Java application for administrative jobs with database such as


sending emails, control dates of landing etc.

Figure 1

The system can be divided into two main parts. The first part is Client Side and the
second is a Server side.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

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.

5.1. Sub-System architecture

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

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

Keywords text 256 Keywords

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

Table name User


Field Type Description
category_code long User category, for connection with category table
Description text 256 User description
Login text 256 Staff login
Name text 256 User Name
Password text 256 Staff password
second_name text 256 User second name
Status boolean User status
user_code long User code for connection with lending table
user_id text 256 User identification

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.

6. Policies and Tactics


The developed system is not very big, but has enough complex functions and
queries. For reduce complexity of whole system ITL developers use the MySQL

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

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.

7. Detailed System Design

Detailed Subsystem Design

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.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

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.

Main menu consist:

 News: Information about changes in library (for example: changes in schedule


or some administrative information).
 Index – user can return to the main page from any part of the site.
 Search – provide detailed search through the library. This part has a help.
 Staff – for work with library as librarian user should be logged into the system,
this step give possibility for it, also user should have a username and
password. This part developed for staff only.
 Student – usual library users can connect to library, for check their current
status (lending period, as example).

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

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.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

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.

Innovative Technologies Labs.


18.04.2002
Design Document v 1.1

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

Innovative Technologies Labs.


18.04.2002

You might also like