0% found this document useful (0 votes)
93 views71 pages

Academy of Computer Studies: A Project Report ON

This document appears to be a project report submitted for a Master's degree in Computer Applications. It provides an overview of the project, which involves developing a library management system using Visual Basic. It includes sections on Visual Basic features and components, the system development life cycle models considered, existing system analysis, proposed system design, implementation, testing, and maintenance plans. The report also discusses project planning, resources, costs, and benefits.

Uploaded by

Deepak Singhal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views71 pages

Academy of Computer Studies: A Project Report ON

This document appears to be a project report submitted for a Master's degree in Computer Applications. It provides an overview of the project, which involves developing a library management system using Visual Basic. It includes sections on Visual Basic features and components, the system development life cycle models considered, existing system analysis, proposed system design, implementation, testing, and maintenance plans. The report also discusses project planning, resources, costs, and benefits.

Uploaded by

Deepak Singhal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 71

A

PROJECT REPORT

ON

Submitted in partial fulfillment of the requirements for


the award of the “Master Of Computer Application”.

Guide: Submitted By:


Mrs. Sangmitra Ankit Kumar (11112090030)
(Prof. M.C.A Department)

Submitted to

STUDY CENTRE

Academy of Computer Studies


Table Of Contents

1. Certificate
2. Acknowledge
3. About Visual Basic
Features of Visual Basic
Advantages of Visual Basic
Components of Visual Basic
4. SDLC – System Development Life Cycle
Waterfall model
Iterative Enhancement Model
Prototype model
Spiral model
5. Selection Criteria (RAD model)
6. Study of the existing system
7. Problems faced in the existing system
8. Functional Modelling and Information flow
9. Software Project Plan
Fact Finding Techniques
Feasibility analysis
Data Modelling
ER Diagram of the System
Fully attributed data models
10. Data Dictionary
Process Model (Pseudo Codes)
Access levels
10. Input and Output Screens (Screen Dumps)
11. Coding
12. Project Future Scope
13. Software Development Cost
14. Project Resources
15. Hardware Configuration
16. Software Configuration
17. Benefits associated with the product
18. Risk associated with cost and schedule estimates
19. Cost Benefit analysis of the system
20. Quality Assurance
21. Time Chart
22. Data Reports
23. System Testing
24. System Maintenance
25. Validations
ACKNOWLEDGEMENT

This project report on Library Management is the result of idea and suggestions to us by
Mr Ankit Kumar

We have received unfailing encouragement and inspiration of Mr Ankit Kumar whose


exceptional knowledge and unparalleled behavior is full of ardent inspiration in it.
However, we could never adequate thank all those who have their assistance, guidance,
cooperation criticism contributed to the improvement of this report. We are ebullient in
expressing us intense in debtless heartiest gratitude to all of them.

Since performance feedback is essential for effective communication, mistakes and


creative feedback of the report may be unhesitatingly communicated to us, which will be
as far as possible duly acknowledged and most welcome.

Mr. Ankit Kumar (11112090030)


SELF CERTIFICATE

We, student of (MCA 2011-13) Academy of Computer Studieshereby declared that this
work (Library Management) has been carried out by us for the partial fulfillment of the
MCA Program conducted by PTU University , Jalander and has not been submitted
anywhere else for the award of any other Degree or Diploma.
Special thanks to the management of the College for providing us suitable time for
developing the project.Thanks to Mr Ankit Kumar guidance candidature and for
assigning us the project.

We are very grateful his inspiration and intelligent suggestions.

Thanking You

Mr. Ankit Kumar (11112090030)


ABOUT VISUAL BASIC

Microsoft product “Visual Basic”- extremely powerful, state of the art and at the same time easy-
to-use computer programming environment that enables you to develop Windows applications.
This environment includes everything one needs to create, modify, test and compile the
application. With Visual Basic, one can automate everyday tasks, add custom required features
and functions to suits one need, and create applications which makes ones task easier.

Visual means the way you develop an application’s user interface and basic is the type of
programming code that you write. In this chapter, you as a software developer or as a
programmer, you are expected to design and develop every program that works correctly,
efficiently and at the same time easy-to-use by any person who may or may not be well versed
with the computer and its capabilities. The application programs written in any language must be
such that the user of that program should find it extremely friendly in the sense that not much
effort should be required on the part of the user to understand and use an application. It is the
ability of the user interface that you create that someone sees when your program is running. Will
learn some basic concepts of this powerful language.

FEATURES:

 Visual Basic provides an excellent environment for both beginners and professionals to
create efficient applications.
 It is powerful and easy-to-use programming language.
 It displays five windows – a blank Microsoft Visual Basic main window, Properties
window, Project window, Toolbox and the Form window.
 A window using which one can keep a track of errors while developing an application, it
is the Debug Window.
 To see an output on the monitor one can use the Print command.
 Arithmetic operators, to do some calculations between two numbers.

ADVANTAGES OF VISUAL BASIC

 The fastest and easiest way to create applications for Microsoft Windows.
 Visual Basic is based on Basic.
 Fundamental design is the event-driven program concept.
 Is graphical in its programming approach.
 Provides with a complete set of tools to simplify Rapid Application development (RAD).
 Data access features.
 Active X technologies.
 Internet capabilities.
COMPONENTS OF VISUAL BASIC

Form
Contains the background for the Windows program that you are writing and also the controls
with which the user can interact.

Toolbox
The Tool Box window contains tools or controls such as Label, Text Box, List Box, Image
Control, Command Button etc.
Project Window
The project window contains the list of all the files used in the current application. In VB
terminology VB application is generally called a project.
Properties Window
This describes every individual element in the application such as the form contains the
properties like color and size. And also every control contains its own properties.
Code Window
The source code for the application is written in the code window. Much of the time, the
code inside the Code Window contains the settings and retrieval instructions for form
controls.

Menu Bar
Menu Bar contains additional menus that pull down just like virtually all windows
applications use. These are also called as submenus. The commands on the submenus perform
tasks.
Commands on the Menu Bar
 File – contains file related commands.
 Edit – contains commands like copy, cut, paste and graphical controls.
 View – controls you viewing of application’s code, form and project’s windows.
 Insert – let you insert additional objects.
 Run – to execute, halt and resume the application we use the run menu.
 Tools – to work with additional tools.
 Add Ins- lets you add additional components.
 Help – to get help contents.
Standard Controls
The use of the controls in Visual Basic is to built user
interfaces. Controls are also called as Objects.

Label Control
Used to add the descriptive text to the form in any location by using different styles and sizes
of fonts.
Text Box Control
Use the text box control to place an area on the screen for the user’s keystrokes. The text box
control works just like a mini word processor.
Picture Box
This is use to display graphical images.
Command Button
Command button supply push button access to events
that you want the user to trigger.
Check Box
Check Boxes give users multiple choice accesses to
choices they make to need.
Option Buttons
Options Button controls are known as mutually exclusive
controls. Option buttons give the user a list from which to
choose, but they can select exactly one option out of the
list.
Frame Control
Frame Control enables you to group items together on a
form. The group works almost like a misinform within a form.
Dropdown Combo Lists
It is one of the three kinds of lists that you can provide.
This saves the room on the screen by consuming only one line
on the form. It displays the entire list by clicking the down
arrow.
List Box Control
List boxes are controls that give the users choices from
which they can select. The users cannot add items to a list
box.

Data Grid Control


This control allows to quickly building an application for
viewing and editing record sets.

Line Control
This is used to draw various styles of lines on the form at the design time.

Details of Controls & their tasks used in application :-

Label: This control display that in a form that user can’t edit. It is used to identify other controls.
Properties of label control

Textbox: This control displays text that user can edit.

Frame: This control is used to draw boxes in the form and group elements like textboxes,
command button, labels etc.

Command Button: A command button represents an action that is carried out when the user
clicks on the button.
Checkbox: It presents one or more choices that the user can select. The checkbox is a toggle, it
means every time it is checked it changes status (from checked to cleared and vice versa). It has a
value property if it is 0 means checkbox is cleared and 1 is the checkbox is checked.

Option Button:
It appears in-group and the user can choose only one of them. The option button is a toggle i.e.
every time it is checked it changes status (from checked to cleared and vice versa).

Command Dialogue
The Common Dialog control provides a standard set of dialog boxes for operations such as
opening and saving files, setting print option, and selecting colors and fonts. The control also has
the ability to display help by running the windows Help engine.
The Common Dialog control provides an interface between Visual Basic and the routines in the
Microsoft Windows dynamic-link library Commdlg.dll. To create a dialog box using this control,
Commdlg.dll must be in your Microsoft windows System directory.
You use the common Dialog control in your application by adding it to a form and setting its
properties. The dialog displayed by the control is determined by the methods of the control. At
run time, a dialog is displayed or the help engine is executed, when the appropriate method is
invoked; at design time, the Common Dialog controls displayed as icon on form. This icon can’t
be sized.

Properties Description
1 .Name Determines the name use in code to
identify the object
2. Color Set the selected color
3 Copies set the value that determines the no.
of copies to be print
4 File Name Set the path & name of selected file
5 Font Bold Set the text to bold
6 Font Italic Set the text to italic
7 Font name Set the font name

Menu editor: Menu’s can be attached only to forms when menu editor designs them. In the menu
editor window you can specify the structure of your menu by adding one command at a time.
Each menu command has two mandatory properties:

Caption: This is the string that appears on the application menu bar.

Name: This is the name of the menu command. This property doesn’t appear on the screen, but
your code uses it to program the menu command.
SDLC --- System Development Life Cycle

The process of forming and using a system follows a typical set of steps. System follows a life
cycle known as System Development Life Cycle.

The life of system starts with an initial study which is conducted to generate alternate solutions
and their feasibility. Based on this a decision is to be taken on aspects like –
is a new system needed? Detail analysis is then carried out. Design and implementation follow
this. The system put in use. After few years the system becomes less and less effective. Finally
the system retires. It is discarded and gives way to new system. The new system follows the same
life cycle.

The primary definition of SDLC is:

The period of time that begins when a system is conceived and ends when a system is no longer
available for use.

SDLC typically includes number of phases:

 Initial investigation
 Feasibility
 Analysis
 Design
 Development
 Implementation
 Testing
 Maintenance

One of the most important tasks performed by SDLC is to choose the model with respect to
which the new system is being developed. Models a re predefined standards set of phases. Four
types of models are standard:

 Waterfall model
 Iterative enhancement model
 Prototype model
 Spiral model
Waterfall Model
 
System
Feasibilit
Validation
y
Software Plans
&
Requirements Validation
Product
Design
Verification

Detailed
Design
Verification

Code
Unit Test

Integratio
n Product
Verification
Implementatio
n
System
Test
Operations &
Maintenance
Revalidatio
n
 
Salient characteristics of waterfall model
 
·        It brought a definite structure to the process of software development, which was a major
improvement over the previous "code and fix" culture.
 
·        Each phase is distinct and is mandatory for every project irrespective of project size.
 
·        Every phase has well-defined entry and exit criteria.
 
·        This is achieved through the process of reviews and documentation.
 
·        At every phase there is provision for verification and validation and correction of errors and
inconsistencies.

This model was certainly a major step in the right direction. Proper documentation and reviews at
different stages of any project is necessary to ensure that the final product is what the customer
originally required.
 
The strength of the waterfall model is that it allows for communication between the customer and
developer and specifies what will be delivered, when and at what cost.
 
The weakness of this model is its insistence on a complete set of user requirements before
commencement of design.
 
While theoretically it is all very well for the developers to say that all requirements have to be
frozen before design can begin (since it is very cumbersome to be making changes thereafter), in
real life situations it seldom happens.
 
This is because users cannot specify all their requirements in one shot. They generally tend to
come up with modification and additional requirements as the system progresses.
 
Hence if the requirements are frozen at the time of analysis, on the one hand, it leads to a great
deal of discomfort for the development team if they have to contend with requests for change
later on, after having been told originally that requirement specifications have been signed off,
and on the other hand it leads to user dissatisfaction if they find that what in their opinion are
legitimate additional requirements are not being incorporated.
 
 
Demerits of waterfall model

 Iteration always occurs.


 The waterfall approach assumes that the detailed requirements are correctly
known at the beginning. This is one of the major drawback for such organizations
where the requirements are much complex.
 User can’t be able to see the working prototype of the system.

Iterative Enhancement Model

The iterative enhancement model has the same phases as the waterfall model but with fewer
restrictions. A process model developed whereby the construction and perhaps the delivery of the
software are done in phases. Every iteration would therefore deliver a product with incremental
capabilities. Generally the phases occur in the same order as in the waterfall model but they may
be conducted in the several cycle. A usable product is released at the end of each cycle, with each
release providing additional facility.

Benefits of the iterative enhancement model

Every phases of the life cycle is divided, it delivered separately.


Phases are designed in a sequential and Symantec manner.
Requirement is provided at the beginning of the request approval.
Models works well for the project where developers must quickly produce something usable.
Additional features can be easily added during cycle.

Demerits of iterative enhancement model

 Iteration always occurs.


 The iterative approach assumes that the detailed requirements are correctly known
at the beginning. This is one of the major drawback for such organizations where
the requirements are much complex.
 User can’t be able to see the working prototype of the system.
The Prototyping Model
 
Prototyping is a technique that allows for a reduced functionality or limited performance version
of the eventual software to be delivered to the user in the early stages of the development
process. If used judiciously, this approach helps to solidify user requirements earlier, thereby
making the waterfall approach more effective.
 
What is done here is that before proceeding with design and coding, a throwaway prototype is
built to give the user a feel of the system. Of course, the development of the prototype itself
involves design and coding, but this is not done in a very formal manner.
 
The user interacts with the system as she would with the eventual system and would therefore be
in better position to specify the requirements in a more comprehensive manner.
 
Prototyping is generally characterized by the use of special tools to accomplish user interfaces
quickly and cheaply.

Requirements
Analysis
 
Design Design Code Test
 
Code
 
Test

Requirements
Analysis
 
 

The Prototyping Model


 
Prototyping is particularly useful in the development of very large system where it is difficult to
concisely describe the requirements. The prototype then allows the user to be in a position to
visualize the eventual system better and provide invaluable inputs on features, which are
otherwise difficult to describe. In fact quite often this model enables taking decision on whether
this kind of a system is feasible at all and whether it is worth making more investments on the
project.
 
The problem associated with this approach is that the prototype has to be discarded, so some
might argue that the cost involved is higher. However a judicious decision has to be taken in this
regard by ensuring that the cost involved in building the prototype is not very high and is
compensated by the insight and experience gained during developing the same, which would
result in the eventual product being qualitatively superior.
 
Benefits of prototype model

 Prototyping helps the user to see a demo of its system that further allows him to produce
few hidden requirements.
 It acts as a information gathering mechanism.
 Easily identify the software requirements.

Spiral model

It incorporates the elements of the prototype driven approach along with the classic software life
cycle. It also takes into account risk assessment whose outcome determines taking up of the next
phase of the development activity.
 
This is an aspect ignored by other models, which becomes important in large-scale software
development projects. Unlike all other models, which view development as a linear process, this
model views it as a spiral process. Representing iterative development lifecycles as an expanding
spiral does this.
 

Spiral Model

 
These activities involved in spiral model are:
 
a) Planning - At the beginning of every iteration, the objectives, alternatives and constraints for
that iteration are laid out.
 
b) Risk analysis - Here is where the alternatives are analyzed and the associated risks are
identified and evaluated. At this stage a go - no go decision is taken regarding whether it is
worthwhile proceeding with the development of this phase.
 
c) Engineering - This involves the actual development of the product or software for this phase.
This may follow either the prototyping or classic life cycle approach. You will find it interesting
to observe that the greater the distance of spiral from the center, the greater the time spent on this
phase. Quite simply what this means is that as the number of iteration increase, the output would
tend to be the eventual product with the developmental work increasing correspondingly.
 
d) Customer Evaluation - This involves a review of the preceding developmental effort and
therefore planning for the next phase.
 

Benefits of spiral model

 It encapsulates the iterative approach of prototype model and waterfall model.


 User mostly gets what it wants.
 Risk assessment at the beginning of each cycle prevents the system from misguidance.

Demerits of spiral model

 Too long procedure of development of the software.


Prototype few types confuses the user.

Selection Criteria

We have used the RAD (Rapid Action Development) model approach to complete our project
due to the following reasons :

 Rapid Action Development is very dynamic approach to our goal.


 It is time saving and hence suitable as per requirement here.
 It is quite similar to the prototyping model approach.
 Testing can be easily done in the RAD.
 It is resource saving.
 It is cost effective.
STUDY OF THE EXISTING SYSTEM

Library system is managed and owed by UICT a institute of computers & technology.
The library offers its students to access the books, issue books, deposit books and return
the books on the due date otherwise they have to pay the fine. Students have to deposit
the library fee to the institute and then access the library.

The library thus offers the following services to its students:

1. Becoming a member of library,


2. Issue books, Deposit books.

The management carries all the services mentioned above manually. All the tasks are
performed manually, and there is no automation.

The library carries on with its services in the following manner:

1. Member of the library: For opening a new account, first the students are required to fill up
a library card, and fees of the library. The card contains following fields, which are
required to be filled:

i. Name.
ii. Program.
iii. Enrollment no.
iv. Membership no.
v. Valid dates.
vi. Specimen Signature.
vii. Photograph

After submitting the card with the fee to the Librarian they give the receipt to the students
and then he becomes the member of the library
2. Issuing and Depositing the Book: - After becoming a member of the library, he is allowed
to have access to the library. He could issue and deposit books on the library days.

When a book is issued to the member of the library the librarian takes the card from the
member and fills some details of the member in the library maintenance register. The
register contains following fields, which are required to be filled:
i. Date of issue.
ii. Book no.
iii. Enrollment no.
iv. Name of the book.
v. To whom issued.
vi. Signature (member).
vii. Due date.
viii. Date of return.
ix. Fine.
x. Signature (librarian)
PROBLEMS FACED IN THE EXISTING SYSTEM
The library encounters a number of problems with its existing manual system. Due to this the
functioning of the library is adversely affected. This all leads to dissatisfied members, extended
deadlines, chaos, slow processing, mistakes etc. The major problems identified, which the library
is facing, are as under:

1) There is a lot of human error in sensitive issues like transaction etc.

2) The processing is very slow during peak hours.

3) If the staffs are absent or are on holidays, all the work gets crippled.

4) Staff efficiency is not optimized.


FUNCTIONAL MODELING AND INFORMATION FLOW
DATA FLOW DIAGRAMS
The Data Flow Diagrams for all the two modules of the library are as under:

Data Flow Diagrams for becoming a member:

1. Level 0 DFD for becoming a member:

Feedback
& Data
STUDENT
ACCOUNT NEW MEMBER
Produced ACCOUNT
OPENING
Librarian
Rules and SYSTEM
Instructions
Process Specification: In the above DFD, the Students feed all the relevant data and information.
The librarian feeds the rules and instructions, all of which are processed by the account opening
system. After processing a new member account is produced.

2. Level 1 DFD for becoming a member:

LIBRARY CARD&
CARD FEE
STUDENT Submits the card &
Fills an
Fees to the library
library card

Notification Librarian Submits

Notifies Checks for


the Configuration
students Data enrollment

no. o
Creates the Data
account
Information
Students account
Display Data
database
NEW ACCOUNT
Process Specification: The customer fills in the fills the library card. After filling the card, he
submits the card and the fees to the library. The librarian receives the submitted card and fees.
After receiving, the librarian checks for the Enrollment no. of the student. If all the conditions are
satisfied a new account is created for the student. If any of the conditions is not satisfied, the
form is rejected and account not created. After the account is created, the customer is notified
about it. A new account is entered in the New account file.

Data Flow Diagrams for Issuing and depositing the book:

1. Level 0 DFD for the Transaction System

Data and request


CUSTOMER

TRANSACTIO Display REGESTER


Information
N SYSTEM
LIBRARIAN Rules and
Instructions

Process Specification: The students feed in the data and request for the book, and the librarian
feeds in the rules and instructions in the transaction system. All the information is processed and
the data is displayed in the library register.
2. Level 1 DFD for issuing the book

STUDENT REQUEST
Data THE BOOK Configuration
data

Submits

Librarian Commands and


data

Checks for
member library
status

Data

Library register
Process Specification: The member requests a book. The librarian receives it, and thereafter
performs all the verification for authentication of account and checks it. If the account is
authentic, he issues the book to the member. Thereafter he makes the necessary entry into the
library register.

Same process is with deposit of the book.

SOFTWARE PROJECT PLAN

Introduction
The development team of our group has undertaken the project. The project includes
development of Library automation system of UICT. The development of the software will do in
an RAD model.

Business Model: -

Fact finding techniques

Questionnaires

Questionnaires for Librarian

1. Why do you want to automate your library?


2. Do you get books returned on time?
3. Are you regularly updating your book’s database? If yes, then what is the duration?
4. Do you get the book in the same position when customer returns it to you?
5. What span of time you spend for retrieving the data from your database (manually)?
6. How can the various members be managed according to the rules imposing on them?
7. How is each book categorized?
8. How do we communicate with the member on how the fines that have been imposed are
to be taken? Does the member have to pay fixed fine or the fine increment after fixed
amount of time is over?
9. What rules are implied governing of the issue of each book and the money to be paid?
Questionnaires for Members

1. Are you satisfied with the quality of book? (Yes or no)

2. Are you satisfied with the availability of the book’s you are demanding for? (Yes or no)
3. What would you expect from a book library system to do as according to your
expectations?

4. What improvement would you think the librarian must use in practice to provide you
better services for becoming a Market Leader?

5. Are you satisfied with the fine charges? (Yes or no)


6. Are you satisfied with the time books issued for? (Yes or No)
7. How many books are you getting at a time?
8. Feasibility Analysis

All projects are feasible–given unlimited resources and infinite time! Unfortunately, the
development of a computer-based system or product is more likely plagued by a scarcity of
resources and difficult (if not downright unrealistic) delivery dates. It is both necessary and
prudent to evaluate the feasibility of a project at the earliest possible time. During system
engineering three primary areas of interest are considered:

Economic feasibility: An evaluation of development cost weighed against the ultimate income or
benefit derived from the developed system or product.

Technical feasibility: A study of function, performance, and constraints that may affect the
ability to achieve an acceptable system.

Legal feasibility: A determination of any infringement, violation, or liability that could result
from development of the system.
For this checklist, the more questions that elicit a negative response, the higher the risk that
project/product feasibility is questionable.

Economic feasibility:

Have the benefits associated with the product/system/service been Identified explicitly?
Does the configuration represent the most profitable solution?

Can it be marketed successfully? Will ultimate payoff justify development risk?

What is the risk associated with cost and schedule estimates?

Technical feasibility:
Are all elements of the system configuration understood?

Can the configuration be built within pre-established cost and schedule bounds?
Does the technology exist to develop all elements of the system?

Are all interfaces clearly defined?

Are function and performance assured?

Can the configuration be adequately maintained?


Do technical resources exist?

What is the risk associated with the technology?

Can quality assurance be adequately performed on all elements of the system?

Does the proposed configuration properly interface with the system's external environment?
Are machine to machine and human to machine communication handled in an intelligent
manner?

Legal feasibility:

Does this configuration introduce undue liability risk?

Can proprietary aspects be adequately protected?


Is there potential infringement?
Data Modeling

Context Function Model


Through this diagram main processes/interactions involved in the system are analyzed

Member Requests data/processed data Card


1
Result Process

Member
Request Data/processed

Data/processed data
2
Book DATA
Retrieve/
Data/processed data Develop
Reports

Requests/receive

Data/processed

Library REPORTS

Data

3
PURCHASE DEPT Requests Develop

Purchase

Order
Or
ders
SUPPLIERS
Process decomposition:
Here, the above mentioned pocesses are further decomposed and their Pseudo Codes are
Provided

Process customer request


Data Flow Diagram:
1.1.1 data
Complete BOOK DATA
Transactio
n data
Request for deleting
MEMBER CARD
membership
updations

updations

Request for membership


1.1.2
Membership No. New updations 1.1.3
record Update
s record
MEMBER 1 s
1.2.1
Fines / Card Calculate
Fines updations
etc.
Return

1.1
1.2.2 .3
Issue Validate
MEMBE Up
Charges +Updating
1.2.3
R dat Apply the
Data
e Policy

Regular rec
MEMBERSHIP No.
ord
Validate s
Request
BOOK data
BOOK CODE
ERD of the Library Management system

PURCHASE Orders
SUPPLIER
DEPPT.

Develops

REPORT
And DATA
MAINTENENCE
generates generates generates

requests TRANSACTION issues/return


Members BOOKS

IS
A
TRANSACTION
Member
STUDENT FACULTY
Key Domain
M_id Primary key

Non-Key
Name String
IS Address Addres
Reg. A Non Reg.
Telephone Numeric
Email id String
DOB Date
Course name String

IS Data Model
Fully attributed
A

Issue/Return Dept.
Student Faculty

Key Domain Key Domain


M_id Foreign key F_name String
BOOKS
F_id Number
Non-Key Key Key Domain
Card Numbers Number Transaction
Book_id No. Number
Book_id Number Non-Key
Non-Key
Issue date Date
Return date Date Member_id
Name String
Issue_Date
Author name String
Return_Date
Supplier name String
Price Number

Category String
Report Generation dept. and Data Maintenance Dept :

REPORT

Key
Report No.
Dept No.
Non Key
Purpose.
Screen No
Data

QUERY

Key
Query No.
Non-Key
Query Type
Query Text
Transaction_id
Member_id.
Books_ids

Purchase Department :

PURCHASE
MEMBERS Deppt. TRANSACTION BOOKS
SUPPLIER
Key Attributes
Key attributes
Order No. .
Supplier _id
Non –Key attributes
Non Key attributes
Supplier_id
Name
Book_author Order Address
Book Name
Contact No.
Publisher
Email
ISBN Code
Code
Copies
Date

Suggest
s

REPORT
Data Dictionary

Table: Members
Attribute Key Description
Card no. Primary Card no. of the record of
the customer in database.

Enrollment no. ------ Enrollment no.

Name ------ Name of the Member

Address ------ Address of the Member

Table: Member record


Attribute Key Description
Record id Primary Id of the record of the
customer in database

Customer Behavior ------ Member/casual

Name ------ Name of the customer

Address ------ Address of the customer


Date of issue ------ Date of issuing the cassette
Date of return ------ Date of return of cassette
Account no Foreign Account of the customer
Process No. :1
Process Name: ProcstuRec ()
Description: Process student Request
Processing:
Start

Print” Select from menu”


Print” 1. Remove Member Ship”
Print” 2. New Member Ship”
Print” 3. Issue book”
Print” 4. Return book”

Input (Request)

Switch (Request)
{
Case 1: remove ()
Case 2: new ()
Case 3: issue ()
Case 4: return ()
Default: Print, ”Invalid choice entered”
}
End

Process no.: 1.1


Process Name: remove ()

Description: This process clears the previous accounts of the customer and calls another
procedure called update() to update records.

Processing:
Start:
Print” Enter Membership code”
Input (membership code)
If membership code exits in customer database
If membership code has not taken any books
Return the deposit amount
Update (delete, membership_code)
End
Else
Return()
Update1 (delete, membership_code)
End
Else
Print” Invalid Code”
End

Process no.: 1.1.2


Process name: new ();

Description: This process creates new membership.


Processing:
Start:
Print” Enter student Data”
Input (student Data)
…Assign Membership Code
…Charge Deposit (Rs500)
Update1 (enter, Membership_Code)
End:

Process no.: 1.1.3


Process name: Update1 (var1, var2)
Description: This Process enters or deletes any entry from the cutomer_data or
video_data.
Processing:
Start:
If var1 is enter
If var2 is membershiptype
…Create membership record
Else
…Enter”book” book_code “returned”
Else
If var2 is membershiptype
…Delete membership record
Else
…Enter the “book” book_code “issued”:
End:

Process no.: 1.2.1

Process name: issue ()

Description: This Process issues a video

Processing:
Start:
Print” Enter membership code”
Input (Membership Code)
Print” Enter book_code (demanded)”
Input (book_code)

If Membership Code is Valid


If Membership Code has no book Issued
If book_code.category1 “New”
If Customer_code. Book is 2
Print” No New Book can be issued “
Else
Print”Alredy a Book is issued”
Else
Print” Invalid Membership code”

End:

Process 1.1.1.2
Process Name fine(var)
Description: It calculates the amount of fine applicable
Start:
Return Currentdate-Var.issue_date*10
End:

Process No.: 1.2.3


Process Name: Member (var)

Description: This Module handle the issue/return of a member

Processing:
Start:
If var is “Issue”
Print“ Enter Book_code”
If Book_code is “Available”
Print” Enter data for casual Member”
Input (Casual_Member)
…Assign Code
Update (enter, Member_code, Book_code)

Else
Print”video unavailable”
End
Access Levels to the different persons :

1. Administrator : The administrator have complete access over the whole system. He can
delete or modify the database and can update the database.
2. Faculty : the faculty can only search for the books that will be retrieved from the
database and can look or generate the data reports.
3. Member : the member has nearly the same access rights as the faculty. He/She search for
the books that will be retrieved from the database and can look or generate the data
reports.
4. Group : The group users have only a few options in accessing the database.
Coding

Starting Form

Dim Cnt As Integer


Private Sub Form_Load()
Let Cnt = 0
lbldate.Caption = Format(Date, "dd/MM/yyyy")
lbltime.Caption = Time
Timer1.Enabled = True
Timer1.Interval = 70
TimClock.Enabled = True
frmLogin.Data1.DatabaseName = App.Path & "\initialsc.mdb"
End Sub
Private Sub Timer1_Timer()
lblCnt.Caption = (Cnt + 2)
LblLoading.Caption = "Loading..."
If ProgressBar1.Value < ProgressBar1.Max Then
ProgressBar1.Value = ProgressBar1.Value + 2
If ProgressBar1.Value >= 30 Then
LblLoading.Caption = "Setting Preferences..."
End If
If ProgressBar1.Value >= 70 Then
LblLoading.Caption = "Opening Connection..."
End If
End If
Cnt = Cnt + 2
DoEvents
If ProgressBar1.Value = 100 Then
If Timer1.Interval >= 1 Then
Unload Start
Load frmLogin
frmLogin.Show
End If
End If
End Sub
Private Sub Timer2_Timer()
lbltime.Caption = Time
End Sub

Main Form

Public str As String


Public v, i As Integer
Private Sub Aboutp_Click()
Call unloadform
frmAbout.Show
End Sub
Private Sub AddBookp_Click()
AddBook.Show
End Sub
Private Sub AddBook_Click()
End Sub
Private Sub Addstup_Click()
Addstu.Show
End Sub
Private Sub Books_Click()
Call unloadform
'Load AddBook
AddBook.Show
End Sub
Private Sub chlogin_Click()
Call unloadform
Dim dlg As Integer
dlg = MsgBox("Do you want to login as another user", vbYesNo)
If dlg = vbYes Then
Call unloadform
Load frmLogin
frmLogin.Visible = True
Else
Exit Sub
End If
End Sub
Private Sub chpass_Click()
Call unloadform
Load frmconfpass
frmconfpass.Show
End Sub
Private Sub DepBooks_Click()
Deposit.Show
End Sub
Private Sub Exit_Click()
Call unloadform
Unload Me
End Sub
Private Sub Issuebook_Click()
Issue.Show
End Sub
Private Sub MDIForm_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu Short
End If
End Sub
Private Sub mnusearch_Click()
Call unloadform
Load Form1
Form1.Show
End Sub
Private Sub rpt_Click()
DataReport1.Show
End Sub
Private Sub Stu_Click()
Call unloadform
Addstu.Show
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "STUSTAT"
Call ofstudent_Click
Case "ADDSTU"
Call Addstup_Click
Case "ISSUEBK"
Call Issuebook_Click
Case "LIBSTAT"
Call oflibrary_Click
Case "ADDBK"
Call Books_Click
Case "DEPBK"
Call Depositb_Click
Case "ADDUSER"
Call useropt_Click
Case "ABOUT"
Call Aboutp_Click
Case "EXIT"
Call Exit_Click
End Select
End Sub

Private Sub useropt_Click()


Call unloadform
Useroption.Show
End Sub
Private Sub Depositb_Click()
Call unloadform
Deposit.Show
End Sub
Private Sub Issueb_Click()
Call unloadform
Issue.Show
End Sub
Private Sub MDIForm_Load()
If conn.State = adStateOpen Then conn.Close
With conn
.Provider = "Microsoft.jet.oledb.4.0;data source=" & App.Path & "\initialsc.mdb;persist
security info=false"
.Open
End With
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
If Cancel = 0 Then
i = MsgBox("Do you want to exit this application.", vbYesNo)
If i = vbYes Then
End
Else
Cancel = 1
End If
End If
End Sub

Private Sub oflibrary_Click()


Call unloadform
Issuedb.Show
End Sub
Private Sub ofstudent_Click()
Call unloadform
StuAdvance.Show
End Sub

Books Option Form

Private Sub CmdAdd_Click()


general.Bookadd
End Sub
Private Sub Cmddel_Click()
On Error GoTo vip
Data1.Recordset.Delete
Data1.Refresh
vip:
If Err.Number = 3200 Then
MsgBox "Somebody is having this book. So this book can't be deleted now."
End If
End Sub
Private Sub Cmdquit_Click()
Unload Me
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\initialsc.mdb"
Txtbkno.Text = ""
Txtbkname.Text = ""
Txtgrp.Text = ""
Txtyr.Text = ""
End Sub
Student option

Private Sub CmdAdd_Click()


general.addstudent
End Sub
Private Sub Cmddel_Click()
On Error GoTo vip
Data1.Recordset.Delete
Data1.Refresh
vip:
If Err.Number = 3200 Then
MsgBox "User is having a book or have some transaction so this user can't be deleted."
End If
End Sub
Private Sub Cmdquit_Click()
Unload Me
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\initialsc.mdb"
End Sub

Book Deposition Form


Private Sub cmdCalreset_Click()
Calendar1.Today
End Sub
Private Sub Calendar1_Click()
MsgBox "You Are Not Suppose to Change the Date", vbInformation, "Error"
Calendar1.Today
End Sub
Private Sub cmdcancel_Click()
Unload Me
End Sub
Private Sub CmdDeposit_Click()
Call general.Depositb
Issue.CountData.Refresh
Call general.Saaf(Me)
End Sub
Private Sub CmdReset_Click()
Call general.Saaf(Me)
End Sub
Private Sub Form_Load()
DepositData.DatabaseName = App.Path & "\initialsc.mdb"
Issue.IssueData.DatabaseName = App.Path & "\initialsc.mdb"
Issue.RecordData.DatabaseName = App.Path & "\initialsc.mdb"
Issue.StuinfoData.DatabaseName = App.Path & "\initialsc.mdb"
Issue.CountData.DatabaseName = App.Path & "\initialsc.mdb"
Issue.BookinfoData.DatabaseName = App.Path & "\initialsc.mdb"
Issue.IssueData.RecordSource = "Issuedeposit"
Issue.StuinfoData.RecordSource = "stuinfo"
Issue.BookinfoData.RecordSource = "Bookinfo"
Calendar1.Day = Format(Now, "dd")
Calendar1.Month = Format(Now, "mm")
Calendar1.Year = Format(Now, "YYYY")
End Sub
Private Sub txtBkNo_LostFocus()
Dim temp(1 To 2) As String
Call general.FillBknamegrpD(temp())
txtBkName.Text = temp(1)
txtBkGroup.Text = temp(2)
End Sub
Private Sub txtRollNo_LostFocus()
Dim ifine As Integer
If rs.State = adStateOpen Then rs.Close
If txtRollNo.Text = "" Then
Else
rs.Open "select s.tStuName,i.nBookno,i.dissuedat,b.tbookname,b.tbookgroup from bookinfo as
b,issuedeposit i,stuinfo s where b.nbookno=i.nbookno and s.nrollno=i.nrollno and
i.nrollno=val('" & txtRollNo & "')", conn

If rs.EOF And rs.BOF Then


MsgBox "There is no book issued to this student", vbInformation
txtRollNo.Text = ""
txtStuname.Text = ""
txtBkName.Text = ""
txtBkNo.Text = ""
txtBkGroup.Text = ""
txtissueDate.Text = ""
txtRollNo.SetFocus
Else
txtStuname.Text = rs("tStuName")
txtBkName.Text = rs("tBookName")
txtBkNo.Text = rs("nbookno")
txtBkGroup.Text = rs("tbookgroup")
txtissueDate.Text = rs("dissuedat")
Calendar1.Day = Format(rs("dissuedat"), "dd")
Calendar1.Month = Format(rs("dissuedat"), "mm")
Calendar1.Year = Format(rs("dissuedat"), "YYYY")
ifine = DateDiff("D", CDate(txtissueDate.Text), Now)
ifine = ifine - 6
txtfine.Text = ifine * 10
If txtfine.Text <= 0 Then
txtfine.Text = "NIL"
End If
End If
End If
End Sub
Search Form

Private Sub Command1_Click()


If gGroup = "G" Then
SQL = "select * from bookinfo where tbookgroup='" & txtbkname.Text & "'"
Else
SQL = "SELECT bookinfo.nBookNo, bookinfo.tBookName, bookinfo.tBookGroup,
bookinfo.AuthorName, bookinfo.Publisher, bookinfo.Price, issuedeposit.dIssuedAt,
issuedeposit.dDepositedAt, stuinfo.tStuName" _
& " FROM (bookinfo LEFT JOIN issuedeposit ON bookinfo.nBookNo =
issuedeposit.nBookNo) LEFT JOIN stuinfo ON issuedeposit.nRollNo = stuinfo.nRollNo
WHERE Bookinfo.tBookGroup='" & txtbkname & "'"
End If
If DataEnvironment1.rsCommand1.State = adStateOpen Then
DataEnvironment1.rsCommand1.Close

DataEnvironment1.rsCommand1.Open SQL, conn


If DataEnvironment1.rsCommand1.RecordCount = 0 Then
MsgBox "No such book available of this group", vbInformation, "Information"
Else
DataGrid1.DataMember = "command1"
End If
End Sub
Private Sub Form_Load()
DataGrid1.DataMember = ""
End Sub

Login Form

Private Sub cmdcancel_Click()


Beep
Unload Me
End Sub
Private Sub cmdok_Click()
logindata.Recordset.FindFirst ("tuserid='" + txtUserName.Text + "'")
If Not logindata.Recordset.NoMatch Then
If txtPassword.Text = logindata.Recordset.Fields("tpassword") Then
gGroup = logindata.Recordset.Fields("Groupid")
gPassword = logindata.Recordset.Fields("tPassword")
gUserId = logindata.Recordset.Fields("tUserId")
Unload Me
Main.Show
Else
MsgBox "Enter correct password.", vbOKOnly, "Incorrect Password"
txtPassword.SelStart = 0
txtPassword.SelLength = Len(txtPassword.Text)
txtPassword.SetFocus
End If
Else
MsgBox "Either User name or Password is incorrect or ask your system administrator for
further details."
End If
With Main
If gGroup = "A" Then
.Status.Enabled = True
.Tools.Enabled = True
.Stu.Enabled = True
.useropt.Enabled = True
.chpass.Enabled = True
.Depositb.Enabled = True
.Issueb.Enabled = True
.ofstudent.Enabled = True
.oflibrary.Enabled = True
.mnusearch.Enabled = True
.Dbase.Enabled = True
.Books.Enabled = True
.mnulogin.Enabled = True
.chlogin.Enabled = True
.Aboutp.Enabled = True
.About.Enabled = True
.Exit.Enabled = True
.Exit.Enabled = True
.DepBooks.Enabled = True
.Issuebook.Enabled = True
.Addstup.Enabled = True
.AddBookp.Enabled = True
.Toolbar1.Buttons(1).Enabled = True
.Toolbar1.Buttons(2).Enabled = True
.Toolbar1.Buttons(3).Enabled = True
.Toolbar1.Buttons(4).Enabled = True
.Toolbar1.Buttons(5).Enabled = True
.Toolbar1.Buttons(6).Enabled = True
.Toolbar1.Buttons(7).Enabled = True
.Toolbar1.Buttons(8).Enabled = True
.Toolbar1.Buttons(9).Enabled = True
ElseIf gGroup = "F" Then
.Status.Enabled = False
.Tools.Enabled = True
.Stu.Enabled = False
.useropt.Enabled = False
.chpass.Enabled = False
.Depositb.Enabled = False
.Issueb.Enabled = False
.ofstudent.Enabled = False
.oflibrary.Enabled = False
.mnusearch.Enabled = True
.Dbase.Enabled = False
.Books.Enabled = False
.mnulogin.Enabled = True
.chlogin.Enabled = True
.Aboutp.Enabled = True
.About.Enabled = True
.Exit.Enabled = True
.DepBooks.Enabled = False
.Issuebook.Enabled = False
.Addstup.Enabled = False
.AddBookp.Enabled = False
.Toolbar1.Buttons(1).Enabled = False
.Toolbar1.Buttons(2).Enabled = False
.Toolbar1.Buttons(3).Enabled = False
.Toolbar1.Buttons(4).Enabled = False
.Toolbar1.Buttons(5).Enabled = False
.Toolbar1.Buttons(6).Enabled = False
.Toolbar1.Buttons(7).Enabled = False
ElseIf gGroup = "M" Then
.Status.Enabled = False
.Tools.Enabled = True
.Stu.Enabled = False
.useropt.Enabled = False
.chpass.Enabled = False
.Depositb.Enabled = False
.Issueb.Enabled = False
.ofstudent.Enabled = False
.oflibrary.Enabled = False
.mnusearch.Enabled = True
.Dbase.Enabled = False
.Books.Enabled = False
.mnulogin.Enabled = True
.chlogin.Enabled = True
.Aboutp.Enabled = True
.About.Enabled = True
.Exit.Enabled = True
.DepBooks.Enabled = False
.Issuebook.Enabled = False
.Addstup.Enabled = False
.AddBookp.Enabled = False

.Toolbar1.Buttons(1).Enabled = False
.Toolbar1.Buttons(2).Enabled = False
.Toolbar1.Buttons(3).Enabled = False
.Toolbar1.Buttons(4).Enabled = False
.Toolbar1.Buttons(5).Enabled = False
.Toolbar1.Buttons(6).Enabled = False
.Toolbar1.Buttons(7).Enabled = False

ElseIf gGroup = "G" Then


.Status.Enabled = False
.Tools.Enabled = True
.Stu.Enabled = False
.useropt.Enabled = False
.chpass.Enabled = False
.Depositb.Enabled = False
.Issueb.Enabled = False
.ofstudent.Enabled = False
.oflibrary.Enabled = False
.mnusearch.Enabled = True
.Dbase.Enabled = False
.Books.Enabled = False
.mnulogin.Enabled = True
.chlogin.Enabled = True
.Aboutp.Enabled = True
.About.Enabled = True
.Exit.Enabled = True
.DepBooks.Enabled = False
.Issuebook.Enabled = False
.Addstup.Enabled = False
.AddBookp.Enabled = False

.Toolbar1.Buttons(1).Enabled = False
.Toolbar1.Buttons(2).Enabled = False
.Toolbar1.Buttons(3).Enabled = False
.Toolbar1.Buttons(4).Enabled = False
.Toolbar1.Buttons(5).Enabled = False
.Toolbar1.Buttons(6).Enabled = False
.Toolbar1.Buttons(7).Enabled = False

End If
End With
End Sub
Private Sub Form_Load()
logindata.DatabaseName = App.Path & "\initialsc.mdb"
Data1.DatabaseName = App.Path & "\initialsc.mdb"
End Sub

Book Issuing Form

Private Sub cmdCalreset_Click()


Calendar1.Today
End Sub
Private Sub Calendar1_Click()
MsgBox "You Are Not Suppose to Change the Date", vbInformation, "Error"
Calendar1.Today
End Sub
Private Sub cmdcancel_Click(Index As Integer)
Unload Me
End Sub
Private Sub CmdCancel_GotFocus(Index As Integer)
lbTip.Caption = "Quit this form and return to main."
End Sub
Private Sub CmdIssue_Click(Index As Integer)
If general.Check() Then
On Error GoTo message
IssueData.Recordset.AddNew
RecordData.Recordset.AddNew
IssueData.Recordset.Fields("nrollno") = txtRollno.Text
IssueData.Recordset.Fields("nbookno") = txtBkno.Text
IssueData.Recordset.Fields("dissuedat") = txtDate.Text

RecordData.Recordset.Fields("nrollno") = txtRollno.Text
RecordData.Recordset.Fields("nbkno") = txtBkno.Text
RecordData.Recordset.Fields("tbkname") = txtBkName.Text
RecordData.Recordset.Fields("tbkgroup") = txtBkGroup.Text
RecordData.Recordset.Fields("issued") = txtDate.Text
RecordData.Recordset.Update
IssueData.Recordset.Update
MsgBox "Book issued."
CountData.Refresh

txtStuname.Text = ""
txtBkissued.Text = ""
txtBkno.Text = ""
txtRollno.Text = ""
txtBkName.Text = ""
txtBkGroup.Text = ""
txtRollno.SetFocus
'Call general.Saaf(Me)
End If
message:
If Err.Number = 3201 Then
MsgBox "The Roll No. or Book No.,you entered doesn't exists."
End If
If Err.Number = 3022 Then
MsgBox "The book has already issued to someone."
txtBkno.SetFocus
End If
If Err.Number = 3421 Then
MsgBox "Please enter the correct format of Book No. or Roll No."
End If
End Sub
Private Sub CmdIssue_GotFocus(Index As Integer)
lbTip.Caption = " Saves the record to database."
End Sub
Private Sub CmdReset_Click(Index As Integer)
Call general.Saaf(Me)
End Sub
Private Sub CmdReset_GotFocus(Index As Integer)
lbTip.Caption = "Resets the form."
End Sub
Private Sub Form_Load()
IssueData.DatabaseName = App.Path & "\initialsc.mdb"
RecordData.DatabaseName = App.Path & "\initialsc.mdb"
StuinfoData.DatabaseName = App.Path & "\initialsc.mdb"
CountData.DatabaseName = App.Path & "\initialsc.mdb"
BookinfoData.DatabaseName = App.Path & "\initialsc.mdb"
BookinfoData.RecordSource = "BookInfo"
StuinfoData.RecordSource = "stuinfo"
txtDate.Text = general.ghadi()
Calendar1.Today
End Sub

Private Sub Timer1_Timer()


txtTime = Time()
End Sub
Private Sub txtBkNo_gotfocus()
'txtBkName.Text = ""
lbTip.Caption = "Enter The Book No."
End Sub
Private Sub txtbkissued_GotFocus()
lbTip.Caption = "Enter Library Card No."
End Sub
Private Sub txtBkNo_LostFocus()
Dim temp(1 To 2) As String
Call general.FillBknamegrp(temp())
txtBkName.Text = temp(1)
txtBkGroup.Text = temp(2)
End Sub
Private Sub txtRollNo_GotFocus()
'Call general.Saaf(Me)
lbTip.Caption = "Enter Student's Roll No."
End Sub
Private Sub txtRollNo_LostFocus()
txtStuname.Text = general.FillStuname()
txtBkissued.Text = general.FillBkissued()
End Sub
Student Advance Report Form

Private Sub cmdcancel_Click()


Unload Me
End Sub
Private Sub CmdShow_Click()
On Error GoTo errorhandler
StuAdvReport.Show
Exit Sub
errorhandler:
MsgBox "No book is issued."
Exit Sub
End Sub
Private Sub Form_Load()
InitData.DatabaseName = App.Path & "\initialsc.mdb"
End Sub

User Options

Private Sub CmdAdd_Click()


cmdOk.Caption = "Create"
Data1.Recordset.AddNew
txtusername.Enabled = True
txtUserpsswd.Enabled = True
txtUserid.Enabled = True
txtUsercpsswd.Enabled = True
Combo1.Enabled = True
txtusername.SetFocus
End Sub
Private Sub CmdChange_Click()
cmdOk.Caption = "Delete"
txtusername.Enabled = False
txtUserpsswd.Enabled = False
txtUsercpsswd.Enabled = False
txtUserid.Enabled = True
Combo1.Enabled = True
txtUserid.SetFocus
End Sub
Private Sub cmdok_Click()
Dim VarGrId As String
On Error GoTo vip
If Combo1.Text = "" Then
MsgBox "Please select the group"
Combo1.SetFocus
Exit Sub
Else
If Combo1.Text = "Administrator" Then
VarGrId = "A"
ElseIf Combo1.Text = "Faculty" Then
VarGrId = "F"
ElseIf Combo1.Text = "Member" Then
VarGrId = "M"
Else
VarGrId = "G"
End If
End If

If cmdOk.Caption = "Create" Then


If txtUserpsswd.Text = txtUsercpsswd.Text Then
Data1.Recordset.Fields("tusername") = txtusername.Text
Data1.Recordset.Fields("tuserid") = txtUserid.Text
Data1.Recordset.Fields("tpassword") = txtUserpsswd.Text
Data1.Recordset.Fields("GroupId") = VarGrId
Data1.Recordset.Update
MsgBox "User Created"
txtusername.Text = ""
txtUserpsswd.Text = ""
txtUserid.Text = ""
txtUsercpsswd.Text = ""
Combo1.Text = " "
txtusername.Enabled = False
txtUserpsswd.Enabled = False
txtUserid.Enabled = False
Combo1.Enabled = False
Else
MsgBox "confirm password."
End If
vip:
If Err.Number = 3022 Then
MsgBox "User already exists with the name " & txtusername.Text, vbOKOnly
txtUserid.SetFocus
End If
Else
Data1.Recordset.FindFirst ("tuserid='" & txtUserid.Text & "'")
If Data1.Recordset.NoMatch = True Then
MsgBox "no user found."
Else
Data1.Recordset.Delete
MsgBox "User deleted."
End If
End If
End Sub

Private Sub Command1_Click()


Unload Me
End Sub
Private Sub Command2_Click()
cmdOk.Caption = "Change"
End Sub

Private Sub Form_Load()


Data1.DatabaseName = App.Path & "\initialsc.mdb"
txtusername.Text = ""
txtUserpsswd.Text = ""
txtUserid.Text = ""
Combo1.Text = ""
txtusername.Enabled = False
txtUserpsswd.Enabled = False
txtUserid.Enabled = False
Combo1.Enabled = False

End Sub

Module

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As
Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String,
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public gGroup As String
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public gPassword As String
Public gUserId As String

'This library project is created by Amit Sharma. E-Mail: mail to:[email protected]


Function Check() As Boolean

With Issue
Check = False
If .txtRollno.Text = "" Then
MsgBox "Enter Student's card no."
.txtRollno.SetFocus
Else
If .txtBkno.Text = "" Then
MsgBox "Enter Book's No."
.txtBkno.SetFocus
Else
Check = True
End If
End If
End With
End Function

Function FillBkissued() As String

With Issue.CountData.Recordset
FillBkissued = 0
If Not .RecordCount = 0 Then
.MoveFirst

While .EOF = False


If .Fields("nrollno") = Issue.txtRollno.Text Then
FillBkissued = .Fields("numbers")
Exit Function
Else
.MoveNext
End If
Wend
End If
End With

End Function
Function FillStuname() As String

With Issue.StuinfoData.Recordset
.MoveFirst
FillStuname = "No Student found."

While .EOF = False


If .Fields("nrollno") = Issue.txtRollno.Text Then
FillStuname = .Fields("tstuname")
Exit Function
Else
.MoveNext
End If
Wend
End With

End Function

Function FillBknamegrp(temp() As String)

With Issue.BookinfoData.Recordset
.MoveFirst
temp(1) = "No Book Found."

While .EOF = False


If .Fields("nbookno") = Issue.txtBkno.Text Then
temp(1) = .Fields("tbookname")
temp(2) = .Fields("tbookgroup")
Exit Function
Else
.MoveNext
End If
Wend
End With

End Function
Function Saaf(temp As Object)
With temp
.txtStuname.Text = ""
.txtBkno.Text = ""
.txtRollno.Text = ""
.txtissueDate.Text = ""
.txtfine.Text = ""
.txtBkName.Text = ""
.txtBkGroup.Text = ""
.txtRollno.SetFocus
End With
End Function
Function Depositb()
Dim Check As Boolean
'checking whether the given book no or Stuname really exists.
With Deposit.DepositData

.Refresh
If Not .Recordset.RecordCount = 0 Then
.Recordset.MoveFirst
While .Recordset.EOF = False
If .Recordset.Fields("nbookno") = Deposit.txtBkno.Text Then
If .Recordset.Fields("nrollno") = Deposit.txtRollno.Text Then
Call general.filldpstdate
.Recordset.Delete
MsgBox "Book Deposited.", vbOKOnly, "Deposited"
Check = True
Exit Function
Else
MsgBox "This book was not issued to this student."
Exit Function
End If
Else
.Recordset.MoveNext
End If
Wend

Else
MsgBox "No book issued to anyone."
End If
End With
If Check = False Then
MsgBox "This Book is in Library or doesn't exists."
End If
End Function

Function DepositfillStuname() As String

With Issue.StuinfoData.Recordset
.MoveFirst
DepositfillStuname = "No Student found."
While Issue.StuinfoData.Recordset.EOF = False
If .Fields("nrollno") = Deposit.txtRollno.Text Then
DepositfillStuname = .Fields("tstuname")
Exit Function
Else
.MoveNext
End If
Wend
End With

End Function
Function DpstfillBkissued() As String

With Issue.CountData.Recordset
DpstfillBkissued = 0
If Not .RecordCount = 0 Then
.MoveFirst

While .EOF = False


If .Fields("nrollno") = Deposit.txtRollno.Text Then
DpstfillBkissued = .Fields("numbers")
Exit Function
Else
.MoveNext
End If
Wend
End If
End With

End Function
Function filldpstdate()
If Not Issue.RecordData.Recordset.RecordCount = 0 Then
While Issue.RecordData.Recordset.EOF = False
If Issue.RecordData.Recordset.Fields("nbkno") = Deposit.txtBkno.Text Then
Issue.RecordData.Recordset.Edit
'Issue.RecordData.Recordset.Fields("deposit") = Deposit.txtDate.Text
Issue.RecordData.Recordset.Update
Exit Function
Else
Issue.RecordData.Recordset.MoveNext
End If
Wend
End If
End Function

Function FillBknamegrpD(temp() As String)

With Issue.BookinfoData.Recordset
.MoveFirst
temp(1) = "No Book Found."

While .EOF = False


If .Fields("nbookno") = Deposit.txtBkno.Text Then
temp(1) = .Fields("tbookname")
temp(2) = .Fields("tbookgroup")
Exit Function
Else
.MoveNext
End If
Wend
End With

End Function
Function ghadi() As String
Dim p As String
p = Day(Date) & "-" & MonthName(Month(Date)) & "-" & Year(Date)
ghadi = p
End Function

Function addstudent()
On Error GoTo msg
If Addstu.CmdAdd.Caption = "Add Student" Then
Addstu.Data1.Recordset.AddNew
Addstu.CmdAdd.Caption = "Save"
Addstu.Txtrno.SetFocus
Addstu.Txtrno.Text = ""
Else
If Addstu.CmdAdd.Caption = "Save" Then
Addstu.Data1.Recordset.Update
Addstu.CmdAdd.Caption = "Add Student"
End If
End If
msg:
If Err.Number = 3022 Then
MsgBox "The roll no. already exists."
Addstu.Txtrno.SetFocus
End If
If Err.Number = 3426 Then
MsgBox "Enter correct format in card no."
End If

End Function
Function Bookadd()
On Error GoTo msg
If AddBook.CmdAdd.Caption = "Add Book" Then
AddBook.Data1.Recordset.AddNew
AddBook.CmdAdd.Caption = "Save"
AddBook.txtBkno.SetFocus
AddBook.txtBkno.Text = ""
ElseIf AddBook.CmdAdd.Caption = "Save" Then
AddBook.Data1.Recordset.Update
AddBook.Data1.Refresh
AddBook.CmdAdd.Caption = "Add Book"
End If
msg:
If Err.Number = 3022 Then
MsgBox "The Book No. already exists."
AddBook.txtBkno.SetFocus
End If
If Err.Number = 3426 Then
MsgBox "Enter correct format of Book No."
End If
End Function

Function unloadform()
For i = Forms.Count - 1 To 1 Step -1
Unload Forms(i)
Next

End Function

Input and Output Screen

Initializing Window When Project Start


Login Window After Initializing Window
Login Category: -
1) Administrator: -All Preferences
2) Member: - Search (special info)
3) Faculty : - Search (special info)
4) Guest: - Search (only book name, author name, Publisher, Price)

MDI Form After Login as Administrator

MDI Form Menu: -

1. Status: -
 Library Status: - having all the details of books issued to the member.
 Student Status: - having all the details of no. of books issued to the member.
2. Tools: -
 Deposit Books: - Used for deposit the books to the library.
 Issue Books: - Used for Issue the books to the Member.
 Search: - Used for Search, about the book in the library according to login info.
3. Database: - as name suggest
 Student: - having all the details of student in the library.
 Books: - having all the details of the books in the library

4. Login: -
 New User: - Used for creating New User for the library (for Administrator)
 Log off: - Used for Sign as the different User (ALL)
 Change Password: - Used for Change Your Password (ALL)
5. About: - About Software Makers.
6. Exit: - For LogOff.
Student Advance Report Form

Library Status Form


Book Deposition Form
Book Issuing Form
Searching
Student Database

Book Database
User Options
Change Password Form
Project scope
Following is the description of the software -:

 The software will be maintaining database pertaining to all the activities of library
 The software will be producing reports for books in the library
 The software will carry out all the day to day transaction processing of the books

Performance/Behavior issues

 The response time for all the process should be minimal


 The database should be robust and highly secured
 Data security should be provided by the system
 The software should be highly reliable
 The software should be highly scalable.
 The software should be user friendly

Estimation techniques applied and results


A description of each estimation technique and the resultant estimates are presented here.

Estimation technique m
Tables or equations associated with estimation technique m are presented.
Estimation has been done for m.

Project Resources
The following resources were used in developing the software.
People, hardware, software, tools, and other resources required to build the software are
noted here.

PEOPLE:
People are considered to be the most important in the environment for software
development.
The following players participated in the software development
process, which could be categorized into the given categories:

1. Software team: This team comprises of two members, who were responsible for
developing the software. The team constituted of two members:

 Project Leaders: He has multiple roles to play. Apart from imparting technical
skills, He has to look after the proper functioning of the team and the software
development process. He has to possess leadership qualities like Motivating
technical people to produce to their best ability, Ability to mold existing process
that will enable the initial concept to be translated to a final product, Should be
creative and make his team members feel creative.

 System Designer: He has an important role to play. His responsibility lies in


designing the whole of the system, imparting constraints at right point etc.
The software team has 2 individuals and they have to look after the whole of the
tasks. So the generic team organization for the development of the software is
Democratic Decentralized. This software engineering team has no permanent leader.
Task coordinators are appointed for short durations and then replaced by others.

HARDWARE Altogether two Pentium III Personal Computers with 128 MB of RAM
were deployed in developing the software system.

SOFTWARE

The software which were required for developing the application are as under:
Platform: Microsoft Windows 98. or window xp
Front End: Microsoft Visual Basic 6.0.
Back End: Microsoft Access.

Documentation: Microsoft Office 2000 (Microsoft Word, Microsoft Excel).

Scheduling: Microsoft Project.

Benefits associated with the product

With the implementation of the product, the library will be largely benefited.
Many of the tasks, which were quite cumbersome to be handled manually,
would now be completed without any effort.

The major benefit of the implementation of the software is it will increase


the efficiency of the staffs exponentially. The bank will be able to extract more from the same
staff in the same time. Following are the tasks in which the staff efficiency will increase.
The record of daily transactions would be maintained properly, and searching for a particular
transaction of any day could be obtained within no time, thus same a lot of time of a bank. Thus
this will increase the efficiency of the staffs.

Risk associated with cost and schedule estimates :

Developing a software requires a proper timeframe, and also it is required that it stays within
budget. There is always risk associated to the software with cost and schedule estimates.
Following are the ways in which the software could fail due to failure in the estimation of cost
and schedule:
1. It may happen that with due to increasing budget, the software functionality
may be reduced. The software will be limited in the operations it could perform.

2. The software may not be so flexible for future expandability.

3. The software may be not so robust and full of loopholes, which could lead to
its downfall.

4. Security is a big issue with the account section in Banks. There is always a
risk of security leak if the software is not properly tested.

Apart from the system-engineering phase, there have been other feasibility checkpoints in the
life cycle. It has been agreed for the following other categories of feasibility test.

Operational Feasibility: It’s the criteria to measure the urgency of the problem or the
acceptability of the solution. There are two aspect of operational feasibility to be considered:

1. Is the problem worth solving, or will the solution to the problem work?
2. How do the end users and management feel about the problem/solution?

For measure the urgency of the problems we did operational feasibility of the system. For the
identification of the problem, we followed PIECES framework. The following is a list of the
characteristics that addressed for the existing system:

P Performance: It was noticed that the system doesn’t provide adequate throughput and
response time.

I Information: It was identified that the existing system doesn’t provided end users with timely,
pertinent, accurate, and usefully formatted information.

E Economy: The system doesn’t provide adequate service level and capacity to reduce the costs
of the business or increase the profit of the business.

C Control: The system was not adequate to control and protect against fraud and to guarantee
the accuracy and security of data and information.

E Efficiency: The system was not making optimum use of available resources including people,
time etc.
S Service: The system was not providing desirable and reliable service to those who needed
them.

So going to this operation, we identified that the problems that the Library is facing is worth
solving, and the solution to these problems will work.
After doing the operational feasibility, it was concluded that the problems were quite severe and
urgent.

COST-BENEFIT ANALYSIS OF THE SYSTEM

Cost associated with developing the system will fall under following categories:

 Personnel Costs: The cost that will fall under this category would be salaries of system
analyst, programmers, consultants, data entry personnel, computer operators etc.

 Computer Usage: Computers will be used for the following activities – programming,
testing, word processing, maintaining product dictionary, etc. The cost should be
estimated.

 Training: Computer personnel must have to be trained, which will again incur expenses.

 Others: Supply, duplication, equipment, computer equipment, software etc.

Also there will be fixed operating costs at regular intervals that will fall under the following
categories:

 Prorated Salaries of system operators.


 Cost of computer usage.
 Supplies (e.g., preprinted forms, printed-paper used, floppy disks, magnetic tapes, etc.)

Software Quality Assurance Plan And Report

Software Quality Assurance is conducted to ensure that the software process and the resulting
product exhibit characteristics that will result in a successful outcome.

 Our organization has established a broad based “total quality assurance plan” program
 Our organization will be developing metrics that will enable us to accurately predict
defect prevention costs appraisal (inspection) costs failure costs and external failure
(failure in the field) costs
 Role of our team will be clearly defined. It will be carried out uniformly.
 Quality-related roles are to be clearly identified for all software engineers.
 Project teams will be conducting formal technical reviews (e.g., walkthroughs,
inspections)

 There will be a set of written review guidelines prepared by Project Leader. The
project Leader will make sure that the guidelines are followed.
 Results of reviews will be documented
 Organization has established / adopted a set of standards that apply to the software
that are build
 Defect measures will be collected
 Statistical techniques will be applied to defect measures that the team members
collect.
 Serious consideration will be given to software reliability. The team members will try
to compute the reliability of the software that are build.

ISO 9001
ISO 9001 is the standard that our software organization has adopted .

 Our organization have a set of documents that describe procedures for


handling quality records
 If contracts are used, they clearly identify software scope and development
responsibilities.
 Our organization conducts internal quality audits.
 Corrective action is taken (and documented) when quality problems are
encountered.
 Our software process is fully documented.
 Mechanisms have been devised in place that enable us to track the status of the
product throughout the software process.
 Design control methods are available to ensure that the design is traceable to
requirements.
 Software testing activities planned and documented.
 Test results are recorded
 We have adopted ISO 9000-3 as a standard that guides software work.
 Following umbrella activities are performed for every project:
1. Configuration management
2. Change control
3. Requirements tracking
4. Process measurement
5. Product measurement
Project Scheduling (Time Chart)

S.no Activity Days  28 March to 12 April 


28 30 2 4 6 8 10 12
3
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

1. SDLC ||||||||||||||||||||||||||||||

2. Preliminary |||||||||||||||||||||||||||||||||||||||
investigation

3. Requirement |||||||||||||||||||||||||||
Analysis

4. Information |||||||||||||||||||||||||||
Gathering

5. Logical Design ||||||||||||||

6. Database Design ||||||||||||||||||||||||||||

7. Testing |||||||||||||||

8. Implementation ||||||||||||||

9. Maintenance |||||||
System Testing

During system testing the system is used experimentally to ensure that the software does not fail,
in other words we can say that it will run according to its specification & in the way user expect
special test data are input for processing and the result is examined. A limited number of users
may be allow to use the system so the analyst can see whether they try to use it unforeseen ways.
It is desirable to discover any surprise before the organization implements the system and
depends on it.
System Testing is actually a series of different tests whose primary purpose is to fully exercise
the computer- based system. Although each test has a different purpose, all work to verify that all
system elements have been properly integrated and perform allocated functions. There are mainly
two types of testing: -
 Unit Testing
 Combined Testing

Unit Testing begins at the vertex of the spiral and concentrates on each unit of the software as
implemented in source code. Testing progresses by moving outward along the spiral integration
testing, where the focus is on design and the construction of the software architecture. Taking
another turn outward on the spiral, we encounter validation testing, where requirements
established as part of software requirements analysis are validated against the software that has
been constructed. Finally, we arrive at system testing, where the software and other software and
other system elements are tested as a whole.
Unit testing makes heavy use of white-box testing techniques, exercising specific paths in a
module’s control structure to ensure complete coverage and maximum error detection. Next
module’s must be assembled or integrated to form the complete software package. Integration
testing addresses the issues associated with the dual problems of verification and program
construction. Black-box test case design techniques are the most prevalent during integration,
although a limited amount of white-box testing may be used to ensure coverage of major control
paths. After the software has been integrated (constructed), a set of high-order tests is conducted.
Validation criteria (established during requirements analysis) must be tested. Validation testing
provides final assurance that software meets all functional, behavioral and performance
requirements. Black-box testing techniques are used exclusively during validation.
System testing verifies that all elements mesh properly and that overall system
function/performance is achieved.
Testing Chart of the Software

Form Date Output


System Maintenance
Maintenance of the system is necessary for error correction adapting the software to changes in
user requirements or environment or technology. Then changes in methods of processing may
need changes in the software and therefore maintenance. Finally, there is always a need to fine
tune the system and try to make it better and more efficient. This also falls in the purview of
maintenance. Actual correction of mistakes may be only 20% of the entire maintenance process
but since that is the most visible part and with the most impact, most people equate maintenance
with error correction.
Different types of maintenance are :

Adaptive Maintenance: This maintenance is required to keep software current. As the


business expands or as it’s environment (both internal as well as external) changes, the
software also has to be adapted to the changes.

Corrective maintenance: This type of maintenance is what is most commonly understood by


maintenance and that is correction of errors. This is known as No matter how good a
programmer or analyst you may be, it is impossible to create a totally error-free software. The
difference between a "good" and a "bad" software is only the number and severity of errors;
errors there will definitely be in both software.

Perfective maintenance: This is the maintenance is for fine tuning the system or enhancing
the processing capabilities of the system. This is different from what we have discussed in the
earlier point because in the previous point, software was changed due to changes in
technology while here, the technology may not have changed, but the software is changed to
make it more efficient and effective.

Preventive maintenance: This type of maintenance is on going and is not triggered by any
problem but by the passage of time. It is supposed to be done to prevent problems from
occurring.

You might also like