untitled
viviti

Subair Erunnaladummal subair_e@yahoo.com

LIBRARY INFORMATION SYSTEM

Sample Project Report

This sample report does not contain DFD and ERD insert them in appropriate places. The system is developed in Linux platform using Glade interface designer and C as front end and Postegre SQL as Backend. Before using this report make sure that all technical aspects are correct.

LIBRARY INFORMATION SYSTEM

 


1.                       Introduction and Objective

The main objective of this project is to develop a software system to automate operations that are carried out at a Engineering College Library . And to ease the library management activities such as Ordering, Accessioning, Member management, Issue /Return /Renewal/Reservation of books. Another objective of this project is to have an effective, efficient and easy system to manage queries and build reports.

       

2.                       System Analysis


2.1       Identification of Need

The major problems regarding library are

Overhead to prepare book orders from the requirement of various departments.

Overhead of accessioning book.

Time consuming to issue books.

Time consuming to renew books.

Time consuming to return books.

There is no efficient method to handle the enquiries from students and teachers; it is more time consuming to know the status of book. The librarian has to search in so many registers for that. It is also difficult to find out a member who delays the returning of books.

The requirements are identified from the study of the existing system, interview with the officials, on site observation etc. The primary need is a simple system with improved performance having the below mentioned capabilities.

š      Timely, efficient and accurate preparation of orders from the requisition comes from the departments.

š      Fast issuing and returning of books to students and other library members

š      Fast information about the availability of a particular book.

š      Timely and efficient preparation of various reports.

š      A system, which can be used for members directly, even without the help of a librarian.

š      A system, which provides reservation facility to members.

š      A system, which reduce the additional man-hour required on demand.

2.2       Preliminary Investigation

The purpose of preliminary investigation is to evaluate system requirements. It objective includes clarification and understanding of system requirements, determine the size of project, assess cost and benefit, and determine the technical and operational feasibility.

I adopted on-site observation, reviewing organization documents and interviewing as fact-finding techniques during preliminary investigation.

The written documents and reports of previous years of education at the library are very helpful in preliminary investigation. It gives an idea about who are the persons or outside parties directly associated with the library. Enquiry documents are associated with students or peoples outside. It gives a brief overview of the activities of the office and important steps involved in. documents give idea about what inputs are required for various activities. For example, verification report readily gives a clear idea about the input needed. Reports like monthly report, monthly bill, account statement etc give some idea about the volume of transaction.

The next step I had done in system analysis is on-site observation. Through this I got a better understanding of the system and various persons involved in the system. The librarians carry out all the activities at the library. The Chief Librarian gives directions and final approval of processes or documents. It gave me the steps and procedures of various activities carried out. For example, in order preparation various departments submit requisition in predefined formats to the library. From the library the actual requirement of book is analysed prepare orders and send it to principal for final approval. Then he invites quotation from various suppliers and issues order to best quotation. Even though the final authority is principal all the works are done in library. 

I finally conducted interviews with the persons related to the present system. It helped me to get the user’s view about the system and suggestions about the proposed system. I got idea about the responsibilities of various assistant librarians.

After conducting the system analysis, I got a got understanding of requests and idea about the size of the project.

 


3.                       Feasibility Study

A feasibility study and business study must be carried out to decide whether the project is suited to the use of a rapid development approach and to define the high level functionality required. By feasibility we mean a test of system proposal according to its workability, impact on the organisation, ability to meet user needs, and effective use of resources. Only a feasible system will be useful to the organisation, so it is significant to evaluate the feasibility of the system.

3.1       Technical feasibility

Technical feasibility is concerned with specifying equipment and software that will successfully satisfy the user requirements. The equipments required for the proposed system are PC having configuration Pentium I or above with 64MB RAM and 4GB HDD, plus a dot matrix printer and a UPS of min 20mins backup. Software needed are Linux as the operating system and Postgre SQL as database management system.

The specifications given above can easily satisfy the requirements of the system. It is able to give lengthy and complex reports in a given time. The response time will be quick under almost any conditions. It will have the ability to process large reports like monthly reports in a very high speed in which data from many relations involve. Postgre SQL supports high-speed transaction on high volume of data. From the above given facts we can conclude that the system is technically feasible.

3.2       Economical feasibility

It is most commonly known as cost/benefit analysis and its objective is to determine the benefits and savings that are expected from the proposed system and compare them with costs. If benefits outweigh costs, a decision is taken to design and implement the system.

There is already availability of hardware equipments needed for the system at the office, so there is no additional cost is needed for hardware. As Linux and Postgre SQL are free software, there is no additional investment is needed towards the software.

In the proposed system, we can have cost-avoidance benefits. For example, the computerised system will reduce the overheads and time period required in the manual system. This is helpful as there is no need to hire or appoint additional clerical staff in the future.

The proposed system will cause improved service level benefits, as the performance of the computerised system is much higher than the existing manual one. For example, the time required for book issuing, returning, placing orders from requests are minimised. We can reduce this into minutes in the computer-based system.

We can feel improved information benefits in the proposed system, because it will lead to better information for decision-making. It will be helpful to the Librarian to prepare reports like pending returns or delayed returns and send same to principal for further action.

From the above-mentioned benefits, we can know that the proposed system is economically feasible.

3.3       Operational Feasibility

The proposed system is operationally feasible because it will meet the operating requirements of the organisation. I feel extreme support from the Chief Librarian and other official staff of the library and all welcome an efficient and useful computer based system. They are so corporative and involved in the planning and development of the project.

The proposed system will not brought any changes to the system and organisation structure because the proposed system will not cause any harm to the existing staff members.

The staff members of the Library are well trained to operate a computer. So there is no need of training to the existing staff or no need of hiring trained staff.

The above given details about various feasibility supports the fact that the proposed system will be a feasible one.


4.                       Software Engineering Paradigm

Throughout the life cycle of the project, I adopted structured system analysis and design.

Structured analysis is a set of techniques and graphical tools that allow the analyst to develop a new kind of system specification that are easily understandable to the user. I used the following structured tools in the analysis phase of the project.

1)      Data Flow Diagram (DFD)

2)      Data Dictionary

3)      Decision Tree

Structured design is a data flow based methodology. The approach begins with a system specification that identifies input and output of the system. General features such as reports and inputs are identified first and are studied individually in detail. Structured design is an attempt to minimise the complexity and make a problem manageable by subdividing into small modules.


5.                       Software and Hardware requirement Specifications

5.1       Platform & Tools used

The system is developed to run under Linux platform. It also uses various tools, compiler and libraries, which are available with Linux for the development and implementation of this project. A brief description about the platform and tools used are given below.

Platform

Linux

Linux is a fast developing, free, multi-user, multitasking and multi processing operating system, which was originally developed by Linus Torvalds, a Finnish scientist. Since it is a free software anyone can work on it, make changes and enhance it. Apart from the kernel, the creator of Linux has attached a bundle of system software and application software with it, through GNU software effort, which is directed by Free Software Foundation (FSF). There is a wide range of software that can be used with Linux, all of which includes features that can compete with or even surpass those of any other operating system in the world. Some of the features, which justify the selection of Linux as a platform for my project, are given below.

1.         Open source

2.         Free

3.         Availability of wide range of compilers & utilities

4.         Database server support

5.         GUI support and Designers, Tools and libraries to build GUI

6.         Support for a variety of hardware

7.         Worldwide user group support

8.         Highly reliable and secure

Compiler

gcc

gcc is a C compiler used to compile C source code for Linux platform. Since all the source code of my project is written in C, I used gcc compiler create executables.

Tools

GNU make

GNU make is a tool used to compile and link programs written in various languages under Linux platform. This tool uses a file named ‘Makefile’, in which we can give the specification, for compilation and linking, such as the compiler, source files, target file, libraries to be included, flags used while compilation etc.

Glade

Glade is a user interface builder for Linux, which allows developers to design layouts of windows, dialogs, menus and toolbars in a point-and-click fashion, in same vein as a package. Glade allow user interface to be created by designers without a technical background, by separating the interface from the back end code.

Glade is the most advanced RAD (Rapid Application Development) tool for GNOME/GTK and is similar to Windows-based tool such as Power Builder and the Visual C++ Resource Editor. Once we have put together a design, Glade can generate a skeleton source tree, complete with code to create that design, packaging each window and dialog within a creation function. With Glade we have instant access to all common GNOME/GTK widgets, along with their properties that we can adjust in real time, and hence see effects instantaneously.

Libraries

This project uses mainly two libraries one to build the GUI front-end for the user to interact with the system and the other to access the database. The front-end library used here is GIMP Toolkit (GTK), which provides a set of controls or components to build a very good GUI. The second library, ‘libpq’, is used to interact with the PostgreSQL server, which is the database server for this project, in order to store and fetch data.

GIMP Toolkit (GTK)

GTK (GIMP Toolkit) is a library for creating graphical user interfaces. It is licensed using the LGPL license, so we can develop open software, free software, or even commercial non-free software using GTK without having to spend anything for licenses or royalties.

It’s called the GIMP toolkit because it was originally written for developing the GNU Image Manipulation Program (GIMP), but GTK has now been used in a large number of software projects, including the GNU Network Object Model Environment (GNOME) project. GTK is built on top of GDK (GIMP Drawing Kit), which is basically a wrapper around the low-level functions for accessing the underlying windowing functions (Xlib in the case of the X windows system).

There is also a third component called GLib, which is a lower-level library that provides many useful definitions and functions available for use when creating GDK and GTK applications. These include definitions for basic types and their limits, standard macros, type conversions, byte order, memory allocation, warnings and assertions, message logging, timers, string utilities, hook functions, a lexical scanner, dynamic loading of modules, and automatic string completion. A number of data structures (and their related operations) are also defined, including memory chunks, doubly-linked lists, singly-linked lists, hash tables, strings (which can grow dynamically), string chunks (groups of strings), arrays (which can grow in size as elements are added), balanced binary trees, N-ary trees, quarks (a two-way association of a string and a unique integer identifier), keyed data lists (lists of data elements accessible by a string or integer id), relations and tuples (tables of data which can be indexed on any number of fields), and caches.

GTK is written completely in C, it is implemented using the idea of classes and callback functions (pointers to functions) and it can be used with C. There are GTK bindings for many other languages including C++, Guile, Perl, Python, TOM, Ada95, Objective C, Free Pascal, and Eiffel.

GTK is an event driven toolkit, which means it will sleep in ‘gtk_main’ until an event occurs and control is passed to the appropriate function (slot). This passing of control is done using the idea of “signals”. When an event occurs the appropriate signal will be “emitted” by the widget. This is how GTK does most of its useful work.

 

libpq

libpq is the C application programmer’s interface to PostgreSQL. libpq is a set of library routines that allow client programs to pass queries to the PostgreSQL backend server and to receive the results of these queries. libpq is also the underlying engine for several other PostgreSQL application interfaces, including libpq++ (C++), libpgtcl (Tcl), Perl, and ecpg.

libpq uses PGconn object to connect to the database. PGresult to retrieve data from tables. There are functions to connect, execute query and check the status of query being executed etc. 

Database Server

PostgreSQL

PostgreSQL is an object-relational database management system (ORDBMS) based on POSTGRES, Version 4.2, developed at the University of California at Berkeley Computer Science Department. The Defense Advanced Research Projects Agency (DARPA), the Army Research Office (ARO), the National Science Foundation (NSF), and ESL, INC sponsored the POSTGRES project, led by Professor Michael Stonebraker.

PostgreSQL is an open-source descendant of this original Berkeley code. It provides SQL92/SQL99 language support and other modern features.

POSTGRES pioneered many of the object-relational concepts now becoming available in some commercial databases. Traditional relational database management systems (RDBMS) support a data model consisting of a collection of named relations, containing attributes of a specific type. In current commercial systems, possible types include floating point numbers, integers, character strings, money, and dates. It is commonly recognized that this model is inadequate for future data-processing applications. The relational model successfully replaced previous models in part because of its “Spartan simplicity”. However, this simplicity makes the implementation of certain applications very difficult. PostgreSQL offers substantial additional power by incorporating the following additional concepts in such a way that users can easily extend the system:

ü                  Inheritance

ü                  Data types

ü                  Functions

ü                  Other features provide additional power and flexibility:

ü                  Constraints

ü                  Triggers

ü                  Rules

ü                  Transactional integrity

 


5.2       Hardware Requirements: -

 

   

 

Minimum

Preferred

Processor

Pentium I

Pentium II

RAM

32MB

64MB

HDD

2GB

4GB

Printer

132 Column

132 Column

UPS

20Min Back-up

1Hour Back-up



 


6.                       System Design

The primary objective of the system design is to deliver the requirements specified in the feasibility report. The main design objective I give significance are

Practicality

This system will be user-friendly so user with average skills can easily operate

Efficiency

This system will produce output in time with accuracy.

Cost

The system is to design with a minimum cost to satisfy the requirements.

Flexibility

The system will be a modifiable one depending on future needs.

Security

The system should be reliable, secure one.

Mainly following parts have been included in the system design process:

(i)   Output design: the starting point of the design process id the proper knowledge of system requirements, which will normally be converted in terms of, output.

(ii)  Input design: once the output requirements have been finalized, the next step is to find out what data to be made available to the system to produce the desired outputs. The basic documents in which these data are available need to be identified.

(iii) Database design: once the data is captured in the system, these have to be preserved for long period. These data is will generally stored in files in a logical manner

(iv) Procedure design: this step involves specifications of how processing will be performed.

(v)     Control design: it indicates necessary procedures which will ensure correctness of processing, accuracy of data, timely output etc.

6.1       Input Design

The goal of designing makes data entry easy and error free. The input screens of this system clearly give the length of data fields. It follows the same field sequence of the source documents/forms of the organization. The system follows the same data formats as the user follows. Example: ‘dd/mm/yyyy’ for date values.

Every input screen is designed for this system requires only limited amount of input data. So it avoids delays and improves the data entry speed as well as the overall speed of the system. Necessary input validation checks are provided at every data entry screens, so it reduces the possibility of erroneous input. The input screens are made as simple as possible by avoiding extra steps to make it comfortable to the users.

This system uses the menu convention to display the options the user can choose from. All input screen are provided with help to retrieve previous records of key fields. For example in space provided for Author, the user could select the Author’s details from a displayed list. Department code, course code etc are listed in combo boxes so the user can just select it form it. This type of helps in data entry increases the speed and accuracy of input. User will get error message when they carry out unacceptable actions.

            Some input screens are listed in appendix.

6.2       Output Design

The output design should be in an attractive and useful form because success and acceptance of a system to some extent depends on good presentation. There are three main reasons why outputs from computer are required. They are:

ü                  For communicating to the persons concerned

ü                  For re-input to the computer for being connected with other data and further processing

ü                  For permanent storage.

In this system there are reports, displays on screen, and printed forms comes as outputs. Output devices used in this system are monitor and printer. The main design considerations that I have made in designing this system are:

ü                  No data are excluded in the output

ü                  The format of the output is similar to the presently existing one.

ü                  The sequence of reports printed is in a useful way, which is similar to that of the present system.

ü                  The outputs generated are having good quality in appearance, contents, and accuracy.

ü                  The output screens are provided with necessary screen heading and labels for various fields. Buttons are provided for actions like displaying, printing etc.

6.3       Menu Design

The menu of this system is designed in a hierarchical manner. Activities of similar nature are grouped under one menu. Menus are designed in form that the user can work with more than one form at a time.

 

6.4       Form design

Form is a tool with message; it is the physical carrier of data .it provides information for making decisions and improving operations. In this system students attendance sheet is form of action characteristics. It requests the students to mark their attendance. The size of this form is convenient for easy handling and easy to identify and filling up.

 

Data Flow Diagrams

 A data flow diagram (DFD) is a graphical technique that depicts information flow and the transformations that are applied as data moves from input to output. The DFD is also known as a data flow graph or a bubble chart.

The data flow diagram may be used to represent a system or software at any level of abstraction. In fact, DFDs may be partitioned into levels that represent increasing information flow and functional detail. Therefore, the DFD provides a mechanism for functional modeling as well as information flow modeling.


Data flow diagram insert here

 

 


7.                       Coding

Source code for this product has been written in C language.  Code for different system operations are divided into separate C header files and included as and when required to ensure maximum modularity and re-usability.

Source code to build the GUI interfaces is stored in a file named ‘interface.c’ and it includes separate functions for each window or dialog box used in this package. Each function are called when the window has to be created and shown.

Since this project is an event driven one, all the required events have to be handled. Here GTK library provides a signal and slot mechanism for handling events. All of the event functions or slots are defined in a file named ‘callbacks.c’.

Names of all C source and header files are given below:

1.            tbldesign.sql

2.            main.c

3.            callbacks.c

4.            callbacks.h

5.            interface.c

6.            interface.h

7.            support.h

8.            support.c

9.            accession.h

10.        order.h

11.        member.h

12.        issuing..h

13.        returning.h

14.        dues.h

15.        screens.h

16.        accessionregister.h

17.        payment.h

18.        maintenance.h

19.        utilities.h

20.        datasearch.h

21.        interact.h

22.        reservation.h


8.                       Code efficiency

The overall performance of the system, to a greater extent depends on the coding procedures followed by the programmer. So the efficiency of the code is so important in system development. A lot of factors like programming language selection, memory allocation, memory management, programming style, use of variables, re-usability of code, etc determines the efficiency of the programme code. The coding procedures followed in the programmes of this system are as follows

The software is a robust one as it is completely coded in ‘C’ language. The use of pointers causes increase in execution speed. All memory allocation and de-allocation are done explicitly using C functions. It guarantees that no memory space is wasted.

I followed modular programming by dividing the whole system into sub modules. Only database connection and some window widget pointers are used as global. Variables related to remaining widgets, result-set and intermediate results are declared at module level.

 I used the best algorithms from the available algorithms, by checking for minimal and efficient steps, and minimal use of memory, for each module. Some functions are made re-usable which helped to gain a lot of coding effort and time for programming. In this software, functions like diplay_booklist (GtkWidget * Clist_bookname), reserve_book(gchar * string), format_date () etc are reusable.

 Memory management of programs are handled through dynamic memory allocation. So no memory is used until usage comes. It increases the efficiency of the program.

9.                       Optimisation of code

All the modules and functions in this project are optimised to get the intended result with less lines of code. 


10.                Validation Checks

Validation check is needed at every phase of the system development. Improper validation of requests will result in the development of useless system. The first validation check carried out in the design phase of the system.

Data validation checks are very important for the proper functioning of the system. Errors can happen while user input data and usually result in malfunctioning or even termination of the software. So it is very important to prevent erroneous or invalid data.

Errors are generally comes while user try to enter data that the system is not expecting. In order to prevent user from entering invalid data, necessary validation checks are to be provided. Following are some of the validation checks in this system.

v     Verification of Data Type: - Input checks are provided to make sure that only right type of data is entered in an input field.

v     Verification of Length of Data: - There is a restriction in length of data that the user can enter depending on the database field

v     Checking between a range of values: - Checking is provided to check the validity of input data. For example ‘book price’ must be a non-negative value greater than zero.

v     Validation check is also given to check violation of database constraints like primary key violation etc.

v     Visual display of codes with its description, like department code is provided for helping the user in easy data entry. This will help in reducing invalid entry of codes.

11.                Implementation and maintenance

A crucial phase in the system life cycle is the successful implementation of the new system design. Implementation includes all those activities that take place to convert from the old system to the new one.

The implementation tasks can be summarized as follows:

Training Personnel

Conversion

Post implementation review

11.1  Training personnel

Even well designed system can succeed or fail because of the way they are operated and used. Therefore I adopted good training procedure in my system.  Operators of the system are librarians. They are familiar with computer but not with Linux platform. I gave essential Linux training such as the basic usage of X window system, using of word processors and printers and some basic shell commands. When they are confident in Linux platform I introduced the system. A printed copy of user manual is distributed to them prior to the system training.

11.2  Conversion

Conversion is the process of changing from the old system to the new one. There are different methods for conversion- parallel systems, direct conversion, and pilot system and phase in method.

The most secure method of conversion is to run both systems in parallel. Under this approach users continue to operate the old system in the usual manner but they also start to use the new system. This method is the safest one because it ensures that in case of any problems in using the new system, the organization can still fall back to the old system without loss of time and money.

Direct conversion method converts from the old to new system abruptly. The old system is used until a planned conversion day, when it is replaced by the new system. The main disadvantages of this approach are no other system to fall back on if difficulties arise on new system.

In pilot method working version of the system is implemented in one part of the organization, such as a single work area or department. Based on the feedback, changes are made and the system is installed in the remaining departments of the organisation.

Phase in method is used when it is not possible to install a new system through out an organisation all at once. 

In this system I adopted parallel conversion, because it is the safest method. Library is an inevitable part of the institution. Denial of library services for one or two days can cause the complete rejection of the new system.

The conversion is done through the following steps

11.2.1           File conversion

The library already has many books and members. Before running the new system it has to be entered into the new system. I appointed two data entry operators and they completed their work with a week.

11.2.2           Parallel running

After data entry the system started running paralleled with manual one for the period of two week. I took feed back from all the operators; they demanded for some minor modifications. After making the requested changes the system started working standalone.

11.3  Post implementation review

Post implementation review measures the system performance against predefined requirements. It determines how well the system continues to meet performance specifications. It also provides information to determine whether major re-design or modification required.

11.4  System Maintenance

The system maintenance is actually the implementation of the post-implementation review plan. The maintenance can be classified as corrective, adaption or perfective. Corrective maintenance means repairing,, processing or performance failures or making alteration because of  previously ill-defined problem. Adaption maintenance means changing the program functions. Enhancing the performance or modifying the program according to the user’s additional or changing needs are included in perfective maintenance.

Maintenance covers a wide range of activities including correcting coding and design errors, updating documentation and test data and upgrading user support.


12.       Testing

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding.  Testing requires that the developer discard fixed notions of the “correctness” of software just developed and overcome a conflict of interest that occurs when errors are uncovered. Testing is a process of executing a program with intend of finding an error. A good test case is one that has a high probability of finding an as-yet undiscovered error.

If testing is conducted successfully it will uncover errors in the software. As a secondary benefit, testing demonstrates that software functions appear to be working according to specification and that performance requirements appear to have been met. Testing cannot show the absence of defects, it can only show that software errors are present or not.

Initially, tests focused on each module individually, assuring that it functions properly as a unit. Next modules were assembled or integrated to form the complete software package. After the software has been integrated a set of high-order tests were conducted.

Following are the tests conducted in order to assure the quality of this software.

12.1  Unit Testing

Unit testing focuses on verification programmes that make up the system. This helps in detecting the errors in coding and logic that are contained with in the module alone.

In unit testing I tested the interfaces of each module first to ensure information properly flows into and out of the program unit under test. The local data structure is examined to ensure that the data stored temporarily maintains its integrity during all steps of the algorithm. Boundary conditions are tested to ensure that the module operates properly at boundaries established to limit or restrict processing. All independent paths through the control structure are exercised to ensure that all statements in module have been executed at least once. And finally, all error-handling paths are tested.

The outcome of unit testing are- it ensured the proper performance of the interface, the quality of data validation rules in each module is assured, confirmed each module is working according to the proper process logic.

12.2  Integration Testing

Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. The objective was to take unit tested modules and build a program structure that has been dictated by design. Each time a new module is added as part of integration testing, the software changes. New dataflow paths are established, new I/O may occur, and new control logic is invoked.

After the modules were tested and integrated, both valid and invalid test transactions were conducted to text the total software system. Some minor errors, while connecting to database, updating some tables, were found and are corrected. This test ensured the reliability of the system.

12.3  Validation testing

Validation testing provides final assurance that software meets all functional, behavioural, and performance requirements. Validation succeeds when software functions in a manner that can be reasonably expected by the customer.

12.4  System testing

System testing s designed to uncover weaknesses that were not found in earlier tests. This includes forced system failure and validation of total system, as its user in the operational environment will implement it.

Under this testing I took low volume of transactions based on live data. This volume is then increased until the maximum level of each transaction type is reached.

The following tests are conducted under system testing. An important point where the system is tested is its response when invalid data is entered.  Another important test is forced system failure.

12.5   Recovery Testing

Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that recovery is properly performed. If recovery is automatic, re-initialisation, check pointing mechanisms, data recovery and restart are each evaluated for correctness.

This test ensured that no data are lost by abnormal termination of the system.

12.6  Security Testing

Security testing attempts to verify that protection mechanisms built into a system will in fact protect it from improper penetration. During security testing, I played the role of the individual who desires to penetrate the system. The results verified the protection of this system from unauthorised access.

12.7  Black Box Testing

Black box testing is done to find out, incorrect or missing functions, interface errors, errors in external environment, performance error, initialisation and termination error. The above testing is successfully carried out for this application according to the user requirement specification.

12.8  Acceptance testing

User acceptance of the system is the key factors for the success of any system. The system under consideration is tested for user acceptance by constantly keeping in touch with the prospective system users at the time of developing and making changes wherever required. This is done with regard to the following points.

Input screen design

Output screen design

Online message to guide user

Menu driven system

The users of the system are involved in every stage of the design. It is very useful that I had got good suggestions from the user on some complex data entry screens and output screen at the design time.

The above conducted tests verified the reliability, correctness, robustness, user-friendliness, and performance of the system.

 

13.       System Security Measures

System security refers to the technical innovations and procedures applied to the hardware and operating systems to protect against intentional or accidental damage from a defined threat. Powerful system security can be costly, but appropriate security is justified compared to disaster that could result from no protective measures. There are three major motives behind system security.

 

1.         The near – total dependence of organizations on computer base information makes it imperative that a system be protected on a regular basis

2.         Data are a major asset and should be protected. In a data base environment where computer files are centralized, security becomes critical.

3.         Demonstrating effective security measures reinforces management support for designing and implementing candidate systems.

There are three categories of control in data security: Physical security (protection from fire, flood etc), database integrity, and control measures (passwords, encryptions). Potential threat to system security includes errors and omissions, dissatisfied and dishonest employees, fire and natural disasters. Errors and omissions cause the most damage.

The major steps towards security measures in this system are: -

v     Linux is an operating system provides proper authentication with username and password. This provides the maximum security from unauthorized access.

v     User is provided with a user name and a password as identification. This is the security provided in the application level

v     This system is having facilities for backup and recovery. So it gives maximum protection to data if data is backed up on a regular basis.

A risk analysis helps in assessing the probability and cost of possible disasters, pinpoint unacceptable exposures, and adopts preventive measures as part of a security plan. The goal is to identify the threat that results in the greatest monetary losses and provide protection to the appropriate degree.

As the staffs is very familiar with computer system and UPS provides proper power supply, the probability for system crash is minimal. The only threat to the system is from hardware failure or some natural calamities and its possibility is minimal.

14.       Cost Estimation Of The Project

In preparing cost estimates for a system, we need to consider several cost elements. Among them are hardware, personnel, facility, operating and supply costs.

Hardware cost relate to the actual purchase or lease of the computer and peripherals. In our case there no much cost is needed towards the hardware or peripherals.

Personnel costs include EDP staff salaries and benefits as well as pay for those involved in developing the system. Costs incurred during the development of the system are on-time costs and are labelled as development costs. Once the system is installed, the costs of operating and maintaining the system become recurring costs.

Time taken from analysis stage to implementation of this software is about 450 man-hours. The development cost per man-hour will come around 100 rupees. So estimated cost for development is around 45,000 rupees. Six months maintenance is provided for the system, so a recurring cost of at least 5000 will also added with the cost. Thus the total cost estimated for the development and maintenance of the system will be around 50,000 rupees.

15.       Reports

The general principles used in designing of output forms are:

v     The design must be such that it can read from left to right and top to bottom

v     The most important item, such as key field, should be easily available.

v     All pages must have page numbers and heading

v     All columns must be labelled with meaningful labels.

v     To many details should be avoided.

v     Control footing abstracts information about groups of detail lines must be effectively used

v     Page and report footing must be properly defied.

 

All reports generated by this system contain proper heading to identify the report. Names are given for each field in the report. If there is more than one page then this will repeat for the remaining pages too. The logical sequence of each field is one suggested by the users. Page number and date of report appears on top of each page. Summary of the report is given on the end of report.

Major types of report which are generated by the system are given below:

 1. Accession number wise book report

 2. Department wise book report

 3. Author wise book report

 4. Publisher wise book report

 5. Course wise Issued Book report

 6. Date wise Issued Books Reports.

 7. Order Report

 8. Book requisition form report.

 9. Invoice Report.

10. Daily Collection Report

11. Monthly collection report

Some sample reports are shown on the appendix.

Pert

 


Gant

 


16.       Future Scope of the Project

The developed system is capable of doing the present requirements of the library. This system can be extended in the future, on demand, to support extra nodes by making some minor modifications.

The essential book details can be obtained using a barcode reader. Hence there is no need of entering the book details. It can be also extended to process smart identity card to members and they can renew their books without the help of librarian.

It is useful if a web interface is build for this system. This will help the students for searching the library from their home itself.


17.       Bibliography

Books:-

 

Websites:-

                        http://www.linux.org   

                        http://www.postgresql.org

                        http://www.pgadmin.freeserve.co.uk

                        http://www.gnome.org

                        http://www.glade.pn.org

                        http://www.wrox.com

                        http://www.expert-exchage.com

http://leapster.org/linoleum

 

Subair Erunnaladummal subair_e@yahoo.com


Web Hosting · Blog · Guestbooks · Message Forums · Mailing Lists
Easiest Website Builder ever! · Build your own toolbar · Free Talking Character · Email Marketing
powered by a free webtools company bravenet.com