Book Shop Management System Documentation
Book Shop Management System Documentation
T
1.1. Covering Page e
1.2. College Certificate
1.3. Acknowledgement s
1.4. Declaration t
1.5. Abstract
C
2.0. Introduction
2.1. Company Profile a
2.2. Project s
2.3. Overview
e
s
3.0. Literature Survey
4.0. System Analysis 9.0. M
4.1. Existing System
4.2. Proposed System ain
4.3. Feasibility Study
4.4. Project Planning with Graph ten
4.5. Software/ Hardware Requirements
4.6. Modules and its Description an
4.7. Data Flow Diagrams
ce
nc
6.0. System Design
6.1. Input Design em
6.2. Output Design ent
6.3. UML Diagrams
11.0. C
6.4. Data Dictionary
6.5. Normalization on
6.6. E-R Diagram clu
sio
7.0. Implementation
n
7.1. Methodology
7.2. Technologies Used
8.0. Testing
8.1. Introduction
12.0. Bibliography
2-8
Book Shop Management system
A Book Shop Management system is basically for management of incoming and outgoing material
from the Book shop It also maintain management of all incoming and outgoing finance from the
Shop account section. It will reduce paper work & work load of user. To reduce the Paper work and
provide fast service to customers. The main objective is to provide the customers fast and error
free transaction. It can be used in any Book Shop for maintaining database details and their
quantities. This project is used for handle user needs. It must be outgoing process to know
requirements of customer during whole system development life cycle
Existing system:
The book shop contains different types of books of various subjects with various quality according
to the customer’s needs and requirement. The main thing of the book shop is to maintain lot of
records for the daily transaction of the business. It is necessary for every business to maintain all
records, which show the profit and loss of the business.
Proposed system
While creating new software we should analyze what is the basic need of the software. Analysis is
nothing but a planning of creation of software to get proper output from it. Analysis is details study
of projects that you want to show in your software solving problems. The basic need of the
software is to save the time of the user with the help of all useful information. And also to maintain
the collection of data in your computer systematically, so that it’s easy to understand. The
proposed system provides lot of facility to the user to store information of the Books and it
provides information in quick time in a systematic manner. The processing time on the data is very
fast. It provides required data quickly to the user and also in specified manner to the user.
Modules:
Book Details
Quantities of Books
Customer Details
Sale Details
Customer bill receipt
Rate List
4.1. Software/ Hardware Requirements
Hardware Requirements
• Hard disk : 40 GB
• RAM : 512 MB
Software Requirements
• Coding Language : C#
Depending on the results of the initial investigation the survey is now expanded to a
more detailed feasibility study. “FEASIBILITYSTUDY” is a test of system proposal according
to its workability, impact of the organization, ability to meet needs and effective use of the
resources. It focuses on these major questions: 1.What are the user’s demonstrable needs
and how does a candidate system meet them? 2. What resources are available for given
candidate system? 3. What are the likely impacts of the candidate system on the
organization? 4. Whether it is worth to solve the problem? During feasibility analysis for
this project, following primary areas of interest are to be considered. Investigation
and generating ideas about a new system does this. Steps in feasibility analysis eight
steps involved in the feasibility analysis are:
Form a project team and appoint a project
leader.
Prepare system flowcharts.
Enumerate potential proposed system.
Define and identify characteristics of proposed system.
Determine and evaluate performance and cost effective of each proposed
system.
Weight system performance and cost
data.
Select the best-proposed system.
Prepare and report final project directive to management.
Feasibility study is the procedure to identify, describe the evaluate candidate system and
select the best possible action for the job. The initial investigation culminated in a proposal
summarized the thinking of the analyst, was presented to the user for review. The
proposal initiated a feasible study to describe and evaluate the best system to choose in
terms of economical, technical and behavioral constraints. The terms constraints involved
in feasibility analysis are-
o Technical
o Economical
o Operational
o Behavioral
2.4.1 Technical Feasibility
A study of resource availability that may affect the ability to achieve an acceptable
system. This evaluation determines whether the technology needed for the proposed
system is available or not.
Can the work for the project be done with current equipment existing
software technology & available personal?
Can the system be upgraded if developed?
If new technology is needed then what can be developed?
This is concerned with specifying equipment and software that will successfully satisfy
the user requirement. The technical needs of the system may include:
Front-end and back-end selection
An important issue for the development of a project is the selection of suitable front-end
and back-end. When we decided to develop the project we went through an extensive
study to determine the most suitable platform that suits the needs of the organization as
well as helps in development of the project. The aspects of our study included the following
factors.
Front-End selection
1. It must have a graphical user interface that assists employees that are not from IT
background.
2. Scalability and extensibility.
3. Flexibility.
4. Robustness.
5. According to the organization requirement and the culture.
6. Must provide excellent reporting features with good printing support.
7. Platform independent.
8. Easy to debug and maintain.
9. Event driven programming facility.
10. Front-end must support some popular back end like MS Access. According to the
above stated features we selected Java 1.6 as the front-end for developing our
project.
Back-End Selection
Customer
New Details
Customer Book
Purchase Shop Class
Order Manage Details
ment Order
Sales System Details
Bills
Details
3.2.1 Basic
7.1. Methodology:
Software products are oriented towards customers like any other engineering products. It is
either driver by market or it drives the market. Customer Satisfaction was the main aim in the
1980's. Customer Delight is today's logo and Customer Ecstasy is the new buzzword of the
new millennium. Products which are not customer oriented have no place in the market
although they are designed using the best technology. The front end of the product is as crucial
as the internal technology of the product.
A market study is necessary to identify a potential customer’s need. This process is also called
as market research. The already existing need and the possible future needs that are combined
together for study. A lot of assumptions are made during market study. Assumptions are the
very important factors in the development or start of a product's development. The assumptions
which are not realistic can cause a nosedive in the entire venture. Although assumptions are
conceptual, there should be a move to develop tangible assumptions to move towards a
successful product.
Once the Market study is done, the customer's need is given to the Research and Development
Department to develop a cost-effective system that could potentially solve customer's needs
better than the competitors. Once the system is developed and tested in a hypothetical
environment, the development team takes control of it. The development team adopts one of
the software development models to develop the proposed system and gives it to the
customers.
Software Requirement Analysis is also known as feasibility study. In this requirement analysis
phase, the development team visits the customer and studies their system requirement. They
examine the need for possible software automation in the given software system. After
feasibility study, the development team provides a document that holds the different specific
recommendations for the candidate system. It also consists of personnel assignments, costs of
the system, project schedule and target dates.
The requirements analysis and information gathering process is intensified and focused
specially on software. To understand what type of the programs to be built, the system analyst
must study the information domain for the software as well as understand required function,
behavior, performance and interfacing. The main purpose of requirement analysis phase is to
find the need and to define the problem that needs to be solved.
In System Analysis and Design phase, the whole software development process, the overall
software structure and its outlay are defined. In case of the client/server processing technology,
the number of tiers required for the package architecture, the database design, the data
structure design etc are all defined in this phase. After designing part a software development
model is created. Analysis and Design are very important in the whole development cycle
process. Any fault in the design phase could be very expensive to solve in the software
development process. In this phase, the logical system of the product is developed.
3) Code Generation
In Code Generation phase, the design must be decoded into a machine-readable form. If the
design of software product is done in a detailed manner, code generation can be achieved
without much complication. For generation of code, Programming tools like Compilers,
Interpreters, and Debuggers are used. For coding purpose different high level programming
languages like C, C++, Pascal and Java are used. The right programming language is chosen
according to the type of application.
4) Testing
After code generation phase the software program testing begins. Different testing methods are
available to detect the bugs that were committed during the previous phases. A number of
testing tools and methods are already available for testing purpose.
5) Maintenance
Software will definitely go through change once when it is delivered to the customer. There are
large numbers of reasons for the change. Change could happen due to some unpredicted input
values into the system. In addition to this the changes in the system directly have an effect on
the software operations. The software should be implemented to accommodate changes that
could be happen during the post development period.
7.2. Technologies Used:
Type Definitions
Describes user-defined types.
Type Members
Describes events, fields, nested types, methods, and properties, and
concepts such as member overloading, overriding, and inheritance.
Value Types
Describes built-in and user-defined value types.
Classes
Describes the characteristics of common language runtime classes.
Delegates
Describes the delegate object, which is the managed alternative to
unmanaged function pointers.
Arrays
Describes common language runtime array types.
Interfaces
Describes characteristics of interfaces and the restrictions on
interfaces imposed by the common language runtime.
Pointers
Describes managed pointers, unmanaged pointers, and unmanaged
function pointers.
Related Sections
. NET Framework Class Library
Provides a reference to the classes, interfaces, and value types
included in the Microsoft .NET Framework SDK.
In This Section
Language Interoperability
Describes built-in support for cross-language interoperability and
introduces the Common Language Specification.
ADO.NET Overview
ADO.NET is an evolution of the ADO data access model that directly addresses customer
requirements for developing scalable applications. It was designed specifically for the web with
scalability, statelessness, and XML in mind.
ADO.NET uses some ADO objects, such as the Connection and Command objects, and also
introduces new objects. Key new ADO.NET objects include the Dataset, Data Reader, and Data
Adapter.
The important distinction between this evolved stage of ADO.NET and previous data architectures is that
there exists an object -- the Dataset -- that is separate and distinct from any data stores. Because of that,
the Dataset functions as a standalone entity. You can think of the DataSet as an always disconnected
record set that knows nothing about the source or destination of the data it contains. Inside a Dataset,
much like in a database, there are tables, columns, relationships, constraints, views, and so forth.
A Data Adapter is the object that connects to the database to fill the Dataset. Then, it connects back to
the database to update the data there, based on operations performed while the Dataset held the data.
In the past, data processing has been primarily connection-based. Now, in an effort to make multi-tiered
apps more efficient, data processing is turning to a message-based approach that revolves around
chunks of information. At the center of this approach is the Data Adapter, which provides a bridge to
retrieve and save data between a Dataset and its source data store. It accomplishes this by means of
requests to the appropriate SQL commands made against the data store.
The XML-based Dataset object provides a consistent programming model that works with all models of
data storage: flat, relational, and hierarchical. It does this by having no 'knowledge' of the source of its
data, and by representing the data that it holds as collections and data types. No matter what the source
of the data within the Dataset is, it is manipulated through the same set of standard APIs exposed
through the Dataset and its subordinate objects.
While the Dataset has no knowledge of the source of its data, the managed provider has detailed and
specific information. The role of the managed provider is to connect, fill, and persist the Dataset to and
from data stores. The OLE DB and SQL Server .NET Data Providers (System.Data.OleDb and
System.Data.SqlClient) that are part of the .Net Framework provide four basic objects: the Command,
Connection, DataReader and DataAdapter. In the remaining sections of this document, we'll walk
through each part of the DataSet and the OLE DB/SQL Server .NET Data Providers explaining what they
are, and how to program against them.
The following sections will introduce you to some objects that have evolved, and some that are new.
These objects are:
DataReaders. For reading a forward-only stream of data records from a SQL Server
data source.
DataSets. For storing, remoting and programming against flat data, XML data and
relational data.
DataAdapters. For pushing data into a DataSet, and reconciling data against a
database.
When dealing with connections to a database, there are two different options: SQL Server .NET Data
Provider (System.Data.SqlClient) and OLE DB .NET Data Provider (System.Data.OleDb). In these
samples we will use the SQL Server .NET Data Provider. These are written to talk directly to Microsoft
SQL Server. The OLE DB .NET Data Provider is used to talk to any OLE DB provider (as it uses OLE DB
underneath).
Connections
Connections are used to 'talk to' databases, and are respresented by provider-specific classes such as
SQLConnection. Commands travel over connections and resultsets are returned in the form of streams
which can be read by a DataReader object, or pushed into a DataSet object.
Commands
Commands contain the information that is submitted to a database, and are represented by provider-
specific classes such as SQLCommand. A command can be a stored procedure call, an UPDATE
statement, or a statement that returns results. You can also use input and output parameters, and return
values as part of your command syntax. The example below shows how to issue an INSERT statement
against the Northwind database.
DataReaders
The DataReader object is somewhat synonymous with a read-only/forward-only cursor over data. The
DataReader API supports flat as well as hierarchical data. A DataReader object is returned after
executing a command against a database. The format of the returned DataReader object is different
from a recordset. For example, you might use the DataReader to show the results of a search list in a
web page.
DataSets
The DataSet object is similar to the ADO Recordset object, but more powerful, and with one other
important distinction: the DataSet is always disconnected. The DataSet object represents a cache of
data, with database-like structures such as tables, columns, relationships, and constraints. However,
though a DataSet can and does behave much like a database, it is important to remember that DataSet
objects do not interact directly with databases, or other source data. This allows the developer to work
with a programming model that is always consistent, regardless of where the source data resides. Data
coming from a database, an XML file, from code, or customer input can all be placed into DataSet
objects. Then, as changes are made to the DataSet they can be tracked and verified before updating the
source data. The GetChanges method of the DataSet object actually creates a second DatSet that
contains only the changes to the data. This DataSet is then used by a DataAdapter (or other objects) to
update the original data source.
The DataSet has many XML characteristics, including the ability to produce and consume XML data and
XML schemas. XML schemas can be used to describe schemas interchanged via WebServices. In fact,
a DataSet with a schema can actually be compiled for type safety and statement completion.
DataAdapters (OLEDB/SQL)
The DataAdapter object works as a bridge between the DataSet and the source data. Using the
provider-specific SqlDataAdapter (along with its associated SqlCommand and SqlConnection) can
increase overall performance when working with a Microsoft SQL Server databases. For other OLE DB-
supported databases, you would use the OleDbDataAdapter object and its associated OleDbCommand
and OleDbConnection objects.
The DataAdapter object uses commands to update the data source after changes have been made to
the DataSet. Using the Fill method of the DataAdapter calls the SELECT command; using the Update
method calls the INSERT, UPDATE or DELETE command for each changed row. You can explicitly set
these commands in order to control the statements used at runtime to resolve changes, including the use
of stored procedures. For ad-hoc scenarios, a CommandBuilder object can generate these at run-time
based upon a select statement. However, this run-time generation requires an extra round-trip to the
server in order to gather required metadata, so explicitly providing the INSERT, UPDATE, and DELETE
commands at design time will result in better run-time performance.
2. ADO.NET was created with n-Tier, statelessness and XML in the forefront. Two new
objects, the DataSet and DataAdapter, are provided for these scenarios.
3. ADO.NET can be used to get data from a stream, or to store data in a cache for
updates.
5. Remember, you can execute a command directly against the database in order to do
inserts, updates, and deletes. You don't need to first put data into a DataSet in order
to insert, update, or delete it.
6. Also, you can use a DataSet to bind to the data, move through the data, and navigate
data relationships
ASP.NET
LANGUAGE SUPPORT
The Microsoft .NET Platform currently offers built-in support for three languages: C#,
Visual Basic, and JScript.
ASP.NET Web Forms pages are text files with an .aspx file name extension.
They can be deployed throughout an IIS virtual root directory tree. When a browser
client requests .aspx resources, the ASP.NET runtime parses and compiles the target
file into a .NET Framework class. This class can then be used to dynamically process
incoming requests. (Note that the .aspx file is compiled only the first time it is accessed;
the compiled type instance is then reused across multiple requests).
An ASP.NET page can be created simply by taking an existing HTML file and
changing its file name extension to .aspx (no modification of code is required). For
example, the following sample demonstrates a simple HTML page that collects a user's
name and category preference and then performs a form postback to the originating
page when a button is clicked:
ASP.NET provides syntax compatibility with existing ASP pages. This includes support
for <% %> code render blocks that can be intermixed with HTML content within an .aspx file.
These code blocks execute in a top-down manner at page render time.
Code Generation
The design must be translated into a machine readable form. The code
generation steps perform this task.
Testing
The testing process focuses on the logical internals of the software assuring that
all statements have been tested and on the functional externals that is conducting tests to
uncover errors and ensure that defined input will produce actual results that agree with
required.
Maintenance
1 User_Name Text
2 Password Text
1 BookID Number
2 BookName Text
3 ISBN Text
4 Category Number
5 Author Text
6 Price Number
7 SalePrice Number
8 Stock Number
3) Cat Table – Book Categories Information
1 Cat_ID Number
2 Cat_Name Text
1 Cust_ID Number
2 Cust_Name Text
3 Cust_Addr Text
4 Cust_No Text
5 CreditAmt Number
6 GenTime Date\Time
5) Bills Table – Bills Information
1 Bill_ID Number
2 Customer_ID Number
3 BillDate Date\Time
4 Bill_Details Number
5 Bill_Time Date\Time
6 Total Number
7 TotalDisc Number
8 AmtRecv Number
1 Bill_Details_ID Number
2 Bill_ID Number
3 Book_ID Number
4 Quantity Number
5 Discount Number
6 Cust_ID Number
8.0. TESTING
8.1. Introduction
Software testing is a critical element of software quality assurance and represents the
anomaly for the software. During earlier definition and development phases, it was
system is error free because it is so till the next error drops up during any phase of the
development or usage of the product. A sincere effort however needs to be put to bring
The testing phase involves the testing of development system using various data.
Preparation of the test data plays a vital role in system testing. After preparing the test
data, the system under study was tested using those data. While testing the system, by
using the test data, errors were found and corrected by using the following testing steps
and corrections were also noted for future use. Thus, a series of testing is performed on
TEST PLAN:
The importance of software testing and its implications cannot be overemphasized. Software
testing is a critical element of Software Quality Assurance and represents the ultimate review of
the specifications, design and coding.
Software Testing:
As the coding is completed according to the requirement we have to test the quality of
the software. Software testing is a critical element of the software quality assurance and
represents the ultimate review of specification, design and coding. Although testing is to
uncover the errors in the software functions appear to be working as per the
specification, those performance requirements appear top have been met. In addition,
data collected as testing is conducted provide a good indication of software reliability
and some indications of software quality as a whole. To assure the software quality we
conduct both white box testing and black box testing.
White box testing is a test case design method that uses the control structure of the
procedural designs to derive test cases. As we are using a non procedural language,
there is very small scope for the white box testing. Whenever it is necessary, there the
control structures are tested and successfully passed all the control structures with a
very minimum errors.
System testing:
It is designated to uncover weakness that was not detected in the earlier tests. The total
system is tested for recovery and fallback after various major failures to ensure that no
data are lost. an acceptance test is done to validity and reliability of the system. The
philosophy behind the testing is to find error in project. There are many test cases
designed with this in mond.The flow of testing is as follows
Code Testing :
Specification testing is done to check if the program does with it should do
and how it should behave under various condition or combinations and submitted for
processing in the system and it is checked if any overlaps occur during the processing.
This strategy examines the logic of the program. Here only syntax of the code is tested.
In code testing syntax errors are corrected, to ensure that the code is perfect.
Unit Testing :
The first level of testing is called unit testing. Here different modules are
tested against the specification produced running the design of the modules. Unit testing
is done to test the working of individual modules with test oracles. Unit testing comprises
a set of tests performed by an individual programmer prior to integration of the units into
a large system. A program unit is usually small enough that the programmer who
developed it can test it in a great detail. Unit testing focuses first on the modules to
locate errors. These errors are verified and corrected so that the unit perfectly fits to the
project.
System Testing :
The next level of testing is system testing and acceptance testing. This
testing is done to check if the system has met its requirements and to find the external
behavior of the system. System testing involves two kinds of activities.
Integration testing
Acceptance testing
The next level of testing is called the Integration testing. In this many
tested modules are combined into subsystems, which were then tested. Test case data
is prepared to check the control flow of all the modules and to exhaust all possible inputs
to the program. Situations like treating the modules when there is no data entered in the
test box is also tested.
This testing strategy dictates the order in which modules must be
available, and exerts strong influence on the order in which the modules must be written,
debugged and unit tested. In integration testing, all modules on which unit testing\g is
performed are integrated together and tested.
Acceptance testing:
This testing is performed finally by user to demonstrate that the implemented system
satisfies its requirements. The user gives various inputs to get required outputs.
Specification Testing:
This is done to check if the program does what it should do and how it should behave
under various conditions or combination and submitted for processing in the system and
it is checked if any overlaps occur during the processing.
This is done to determine how long it takes to accept and respond i.e., the total time for
processing when it has to handle quite a large number of records. It is essential to check
the exception speed of the system, which runs well with only a handful of test
transactions. Such systems might be slow when fully loaded. So testing is done by
providing large number of data for processing. A system testing is designed to uncover
weaknesses that were not detected in the earlier tests.
The total system is tested for recovery and fall back after various major failures to
ensure that no data is lost during an emergency, an acceptance test is done to ensure
about the validity and reliability of the system.
6) Input / Output Screens
Splash Screen
Login Screen
Main Screen
Sales Operations Screen
New Bill screen
Book Details Screen
Customer Details Screen
Inventory Operations screen
Order Entry
Inventory Details Screen
Reports
Customer Details Report
Stock Report
8) Future Scope and Limitation
This software has demands in private and public area. This software provides a
great help in managing the data in a well-mannered order. This project is designed specially
to maintain the data in a sequential manner and to save the tome and efforts of database
Administrator. The project is structured according to today’s need.
Due to time constraint it is possible that some points might remain uncovered by us.
In future we will update our software to give valuable information left at present.
Though the system has been designed according to the requirements of the users it has
its own limitation. Thus the limitation of system are-
No facility to create new users with different roles
Object oriented Approach has been not been fully utilized
12.0. BIBLIOGRAPHY
5. Herbert Schildt, the Complete Reference Java 2.0, Tata Mc Graw Hills, Fifth Edition,
1998, New York, Page No. 13-26, 75-316
Websites:
http://www.msdn.microsoft.com/vbasic
http:// www.vbdotnetheaven.com
http:// www.startvbdotnet.com
http:// www.devarticles.com/c/b/VB.Net
http:// www.accelebrate.com/vb.net/default.htm
http:// www.programmersheaven.com/2/VB-NET-School
http:// www.harding.edu/fmccown/vbnet_csharp_comparison.html
http:// www.a1vbcode.com/