INTRODUCTION TO BOOK SHOP MANAGEMENT SYSTEM
The Bookshop Automation System is to automate all operations in a bookshop. Generally it includes the Order Processing, Stock Management and Accounts Management.
Before automating a bookshop we have to understand the concept of automation. In automation of any operation we make a system which do work automatically as the respective events occurs, for which it is meant.
There are the some common examples of the automation like that auto pilot system in the aircraft, automatic home systems (electric system, water system, fire alarm system, doors system etc). These are best examples of the automation systems.
Here we are try to develop such type system which is provide the automation on the any type of the bookshop. That means a shop which has the type system which provides the facility to the customers of the shop to purchase the books from the shop without any complexity.
For example any customer wants to purchase any book from the shop than first of all customer just choose the stream of the book than he/she can see the more than one type of books there and then he/she can choose the specific book from there. And then purchase it by paying price on bookshop cash counter and receives its invoice.
Almost every activity in the world today is controlled by computer driven software programs. His trend was first accommodated by engineering applications in the past. However, as the lifestyle became more and more complex, every area of human interactions was invaded by various software systems, such as real time, business, simulation, embedded, web based, personal and more recently, artificial intelligence software etc.
According to the above facts, managing and maintaining a book shop could also be controlled by efficient software. This project focuses attention on designing efficient and reliable software which controls the transactions of a bookshop.
In real world, it tends to associate with automated systems as they provide many benefits than doing the same thing in manually. As above mentioned, here we have introduced a system which can be used to maintain a bookshop.
When we are concerning the manual process of a bookshop, the major problem is the waste of time. A customer has to waste his/her valuable time when he needs to buy a book as all the events such as searching, purchasing are done by members of the staff .In briefly, the manual process is very slow. But automation will reduce the time taken in the whole process.
In a bookshop we should deal with a large store. Then person (storekeeper) has to maintain it with documents which are recorded by him. Therefore, there may be defective reports. Also company has to appointed more persons to complete the maintenance of the stationery. Then the company has to have an additional cost.
As we familiar with this type of system at instance we will be able to have the results that we want. Communication with suppliers, customers and other related organizations will be more successful as the system is so fast.
When the bookshop issues an item to a customer, all the stages of the transaction procedure will be facilitated by the system & it will be more accurate.
INTRODUCTION TO COMPUTERIZED DATABASE
Computer application and utilization can be seen in almost all working areas. Computer has easier for men as all those hectic tasks, once done by the man, have been taken over by computers. This has reduced time consumption by manual procedure to a very high level. Besides this, there is always a very low risk of error; inconsistency and loss of information in computer operate calculations and computer driven procedures. Although there are certain computer disadvantages of computer usage as well, such as inefficiency due to loss of data accidently, need for having skilled labor that is computer literate people and expenditure upon computer and its accessories , which make it expensive. But these problems can be rectified by using various techniques or strategies and taking different measures and, thus computer can never be compromised for its services to the mankind.
Computer’s database system has become more popular in this regard. Due to more functionality and support offered by computers, almost all organizations and institution prefer to use computer in order to maintain their databases.
Database is actually shared collection of persistent data or record of interconnected information concerning the organization. In simple words an organization keeping there records in an organized form, called database.
All sort of organization, has to maintain its records for future decision making and progress evaluation. These records when kept in proper form, is called database.
A database system involves the data itself, the hardware on which the data resides, the software’s (called database management system DBMS) that controls the storage and retrieval of data and users themselves.
PRESENT SYSTEM DESIGN
Existing system description:
At present, the Wholesale and Retail outlets are working under manual management. All records related to Products, Sales, Suppliers, Orders, Payment are stored in registers. To manage the whole data, the person maintaining records has to take great pain. Various registers has to be maintained for each separate process.
Existing system, used for the Management of sales of electronic products, is completely dependent on human actions and responses (Manual Management), which couldn’t be free from errors. In each process whether it is Product Management, Maintaining Customer Records, Payment Management, Report Generation, user has to pay attention to a greater extent while performing the tasks.
During the manual management, the tasks, which are to be performed by its users, are:
Maintenance of Customers Records (including the new and the existing customers).
New Products launched in the market.
Maintenance of Customers Payment Record (including installment details).
Issue Orders for more Stock.
Maintenance of Suppliers and Staff Records.
Searching and answer the query asked by other users.
Present monthly, quarterly or annual Reports.
All these operations will lead to continuous modifications in the database (Here Registers).
In case of Customer records, all information related to customers and the product whichthe customer has purchased is to be stored in the Customers register. If the changes in the customer profile (like Phone no. , Address) occur, registers must be updated.
In case of new product launched, all the entries like product name and brand must be same in the register (except Model number).
For the maintenance of the payment records, the customer register has to be checked to know the details of the product purchased by customer. Monthly payment of installment needs record in the register to be updated.
During issuing order of more stock, the product register is required to check to availability of stock in hand. To generate the reports based on the management requirement, will require extensive searching of records.
In case of Supplier and Staff Record Management, the registers need to be updated time to time as information (like Phone No., Address) changes frequently.
PROPOSED SYSTEM AND RELATED REQUIREMENT
Generally, a bookstore application is a database system which has the capabilities of storing and retrieving information about books, customers, and orders. In this project, we are considering to develop a sample centralized relational Bookstore application database for the clerks and managers at a book store. The overview of this application is given in Figure 1. This application may be further used for additional developments. This database can be used to store the records of customers and their preferences, the technical/nontechnical books, magazines to which customers can be subscribed, and the customer orders to the shop (e.g. telephone orders of customer for books, etc.), to be sent to their address.
Figure 1: Architecture of the Bookstore
Objectives of the proposed system
All the Book Shop Keepers can use our project to run their store easily. By using this project they can store all the info Related with the books available in the store. They can also search a particular book easily by getting the information from the project. In this we also define the information of all the customers who wants to purchase the books from their store. In this they can also store the info. Of all the orders of all those books which are not available in the store. Because of this computerization, any book store owner can run their store easily in User friendly Environment.
The Main objectives of this project are:
Reduction of paper work.
Automation of existing manual information systems.
Reduction of manual processing.
Decrease in processing time.
Keeping track that message should be delivered at the correct destination.
Fast retrieval of all type of information.
Good efficiency and response time.
More consistent data handling.
A user-friendly system which do not require any special training or Expertise of computer.
Scope of the proposed system
The system can be used central command where a single person can use the system and work as administrator. Administrator can perform the following operations.
Add/ Delete/ Update customer.
Add/ Delete/ Update customer sale record.
View all type of customer information.
Add/ Delete/ Update employee information.
Add/ Delete/ Update supplier information.
Advantages of the proposed system
The propose system has following major advantages which made it able to accept by Book Shop system.
Easy to use.
Increase data security.
It reduces the chance of losing data by hardware failures.
Easy to update record.
Data retrieved easily and fast.
Provide facility of Dynamic Report.
The system should be less cost. It means it required a reasonable amount to develop, update, delete, add, clear, back, and exit.
In existing system when user want to add record he has required stationary products like paper, pencil etc. each day in big amount and this cost increase after a month or year, also when user want to update or delete some record then to search that record is difficult and after searching to update that record is totally impossible on same page and location. User requires new page or register to newly updated record.
Less time consuming
Less time consuming means something that cannot be done very quickly and which requires a short period to complete. Such that when;
Only the administrators have the authority to edit details in Users and Items tables. No one can enter the system without a username and a password. Normal system users cannot access the Administrators login. All deleting actions are notified by a message box asking to confirm deletion.
System is secure in itself by checking the illegal access of invalid users. System is also capable to input some security checks at certain points.
Data processing generally operation performed on given set of data to extract the required information in an appropriate form such as reports, forms. It means that data can be viewed, delete, search and fetched easily. Data processing should be consistent and reliable.
In manual system we cannot add, delete, update and save record easily. Also when to search some record it become very difficult because first we search all register and then search record one by one but if we want to delete or update the same record it is not possible for us but proposed system gives all these facilities in no time and data processing become easy and speedy and reliable way.
Dynamic reports feature gives the facility to generate a data at runtime. Each time a dynamic report is run, it gathers the most recent data in the warehouse. Only the report definition, which remains the same over time, is stored. Dynamic repots also give facility to view different displaying in detailed data.
In manual system it is not much easy to see whole data of any customer at one time because the whole data is scattered in different location and in different register. If manager or the owner of the book shop wants customer details report and amount report or the staff needs to know about remaining dues of the customer, then user has to collect data from many places and register to make report. The newly created system gives the facility to get dynamic reports from where we get data and make customer report with minimum time use easily.
In manual system the organization has to give job to many persons for data management because one and two man cannot handle the whole organization work therefore they need maximum employee which increase manpower and organization has to spent lot of money on their salary and other facilities but to do all these the organization cannot give satisfied work. But with the use of computer, the need of man power is reduced to a large extends. So by developing the required system we need less people to do better work from whom who work in manual system and give satisfied work.
BMS should help the customers query whether a book in a stock the user can query the availability of a book either by using the book title or by using the name of author.
If the book is not currently sold by the bookshop, then the customer is asked to enter the full detail of the book for procurement of the book by the bookshop.
If a book in stock, the exact number of copies available and the rack number in which the book is located should be displayed.
If a book not in the stock, the query for the book is used to increment a request field for the book.
The manager can periodically view the request field of the book arrive at a rough estimate regarding the current demand for different books.
BMS should maintain the price of various books.
As soon as customer selects his book for purchase, the sale clerk would enter the ISBN number of the books. BMS should update the stock and generate the sales receipt for the book.
BMS should allow employees to update inventory whenever new supply arrives. Also upon request by the owner of book shop.
BMS should generate sales statistics (viz, book name, publisher, ISBN number, number of copies sold and the sales revenue) for any period.
The sales statistics will help the owner to know the exact business done over any period of time and also determine the inventory level required for various books.
The inventory level required for a book is equal to the number of copies of the book sold over a period of one week multiplied by the average number of weeks it takes to procure the book from its publisher.
Every day the bookshop owner would give a command for BMS to print the book which have fallen below the threshold and the number of copies to be procured along with the full address of the publisher.
The software requirement includes those requirements which are needed to develop specific application. The software required for the development of Book Shop management information system.
(a) Front End tool (Microsoft visual studio 2012)
Microsoft visual studio is an integrated development environment from Microsoft. It is used to develop computer programs for Microsoft windows as well as web sites application web services. Visual studio uses Microsoft software development platform such as window forms, Windows presentation foundation, windows store Microsoft Silverlight. It can produce both native code and managed code. Microsoft visual studio forms makes building and running forms application easier for user with disabilities. This enhancement applies un the Microsoft visual studio forms development itself, as well as in the Microsoft visual studio forms application we build and deploy.
Microsoft visual studio is designed for common language infrastructure which consists of the executable code and runtime environment that allows use of various high-level languages on different computer platforms and architectures. The following reasons make Microsoft visual studio a widely used professional language:
Modern and general purpose programming language
Support GUI interface.
A part of .Net framework
(b) Sql server Management studio (20012 R2) Database
Microsoft Structured Query Language (SQL) server is a relational database management system (RDBMS) developed by Microsoft. This product is build for the basic function of storing retrieving data as required by other applications. It can be run either on the same computer or on another across a network. Microsoft makes at least a dozen different actions of Microsoft SQL Server, aimed at different audience and for workloads ranging from small single-machine applications to large internet- facing applications with many concurrent users.
The SQL database provides a number of features in general the features given below.
SQL can execute queries against a database.
Retrieve data from a database.
Insert records in a database.
Update records in a database.
Delete records from a database.
Create a new database.
Create new tables in a database.
Create stored procedures in a database.
Create view in a database.
Set permissions on tables, procedures, and views.
The hardware required to develop and run the application are as follow.
Core i3 / Core i5 better performance.
RAM 4GB maximum.
Minimum of 250 GB or 500 GB hard disk Space needed.
End User requirements
The requirements which are need by end-user are such a person who finally used the software. According to customer and account section requirements. The requirements for end- user are as follow.
User- friendly interface.
Easy to use the software.
Can access the system completely.
Terms used in the interface are user-friendly.
Feasibility study is the measure of how beneficial or practical the development of an information system will be to an organization. The Feasibility analysis is a cross life cycle activity and should be continuously performed throughout the system life cycle.
Economical feasibility Study
According to the resources available and the project scheduling process it is estimated that the expenses allocated for the software to be developed, by the customer is sufficient enough. Hence the economical factor has been considered feasible.
Technical Feasibility study
For the design and development of the system, several software products have been accommodated.
Database design – Sql Server 2012.
Interface design – .NET Framework.
Coding – C# Language.
This software’s have the enough efficiency in producing the system. Therefore the project is technically feasible.
Operational Feasibility Study
By automating the book shop both the customers and employees will feel better than when it was manual. Users will get a very quick service by reducing the manual recordings. Also employees will feel comfortable by reduction of their work. Recording errors will be reduced. Easy to handle a large database. Losing of records will be avoided.
Considering all these factors we can conclude that all the users and end users will be satisfied by the system.
Chapter – 4
SOFTWARE PROCESS MODEL
Software process model
A process is defined as an entity which represents the basic unit of work to be implemented in the system. A process is a series of steps taken in order to achieve a particular end. Software process model is also called software engineering paradigm. This is a description of the sequence of the sequence of activities carried out in a Software Engineering project, and the relative order of these activities.
It provides a fixed generic framework that can be tailored to a specific project, project parameters will include:
Software project model used in this project
As we have many models like
Here we will adopt the prototype model approach, as time to time there may be changes in the requirements.
We use prototype model because in the start of the project all the requirement is not clear to us. The brief description of prototype model is given below.
Prototype is a working model of with some limited functionality. The prototype does not always hold the exact logic used in the actual application and is an extra effort to be considered under effort estimation.
Prototype is used to allow the users evaluate developer proposals and try them out before implementation. It also helps understand the requirements which are user specific and may not have been considered by the developer during product design.
Following is a stepwise approach explained to design a prototype model.
Basic Requirement Identification
This step involves understanding the very basic product requirement especially in term of user interface. The more intricate details of the internal design and external aspects like performance and security can be ignored at this stage.
Developing the initial prototype
The initial prototype is developed in this stage, where the very basic requirements are showcased and user interface are provided. These features may not exactly work in the same manner internally in the actual developed. The workaround are used to give the same look and feel to the customer in the prototype developed.
Review of the prototype
The prototype developed is then presented to the customer and the other important stakeholders in the project. The feedback is collected in an organized manner and used for further enhancements in the product under.
Revise and enhance the prototype
The feedback and the review comments are discussed during this stage and some negotiations happen with the customer based on factors like—time and budget constraints and technical feasibility of the actual implementation. The changes accepted are again incorporated in the new prototype developed and the repeats until the customer expectations are met.
Prototype can have horizontal or vertical dimensions. A Horizontal prototype displays the user interface for the product and gives a broader view of the entire system, without concentrating on internal functions. A vertical prototype on the other side is a detailed of a specific function or a sub system in the product.
The purpose of both horizontal and vertical prototype is different. Horizontal prototypes are used to get more information on the user interface level and the business requirements. It can even be presented in the sales demos to get business market. Vertical prototypes are technical in nature and are used to get details of the exact functioning of the sub system. For example, database requirements, interaction and data processing loads in a given sub system.
When an improved version is there is no need is there to use previous version. The prototyping model consists of three stages.
Listen to customer,
Customer test stage.
There are two basically approaches in prototyping.
A prototype which is usually a practical implementation of the system is produced to help discover requirements problems and the n discarded. This approach is also called ended requirements and they are discussed. The prototyping process starts those requirements which are poorly understood.
An approach to system development where initial prototyping is produced and refined through a number of stages in to the final system and this approach is called open ended approach. The objective of evolutionary prototyping is to deliver a working system to end user. The development starts with those requirements which are best understood.
So these both are used but we used evolutionary for our project because in evolutionary we get our requirement clearly and make reliable software.
Advantages and disadvantages of prototyping
Advantages of prototyping
The prototyping model serves to clarify requirements, which are not clear, hence ambiguity and improving communication between developer and user.
The developer gains the experience and insight by developing a prototype, thereby resulting one better implementation of the requirements.
It provides a working model to the user early in the process, enabling early assessment and increasing the user confidence.
There is a great involvement of the users in software development. Hence the requirements of the users are met to the greatest extent.
Disadvantages of the prototyping model
If the user is not satisfied with developed prototype, then a new prototype is developed. This process goes on until a perfect prototype evolves. Thus model is time consuming and expensive.
The developer losses focus of the real purpose of the prototype and compromises on the quality of the product.
Prototype model can lead to the false expectation. It often creates a situation where the user believes that the development of the system is finished when it is not.
The primary goal of the prototype model is rapid development. Thus, the design of the system may suffer as it built in a series of layers without considering integration of all the other components.
LOGICAL DATABASE DESIGN
In this chapter we described the logical database design. A logical database design describes the data in as much detail as possible; without regard to how they will be physically implemented in the database. Logical database design is the process of deciding how to arrange the attributes of the entities in a given business environment into database structures, such as the tables of a relational database. The goal of logical database design is to create well-structured tables that properly reflect the company’s business environment. The tables will be able to store data about the company’s entities in a non-redundant manner and foreign keys will be placed in the tables so that all the relationships among the entities will be supported. The main features of a logical database design include:
All Entities and relationships among them.
All Attributes for each entity are specified.
The primary key for each entity is specified.
Foreign keys (keys indentifying the relationship between different entities) are specified.
Normalization occurs at this level.
The steps for designing the logical data model are as follow:
Specify primary keys for all entities.
Find the relationships between different entities.
Find all attributes for each entity.
Resolve many – to – many relationships.
A logical database design helps us to analyze the structure of an information system, independent of any specific physical database implementation.
Entity Relationship model & Diagram
An entity- relationship diagram (ERD) is a graphical representation of an information system that shows the relationship between people, objects, places, concepts or events within that system. The ER model is expressed in term of entities in the organization environment, the entities and their relationship. An ER model is normally expressed as entity relationship diagram (or ER diagram), which is graphical representation of an entity relationship model. The elements of an Entity relationship diagram are:
An entity is an object that exists. It doesn’t have to do anything; it just has to exist. In database administration, an entity can be a single thing, person, place, or object. Data can be stored about such entities. In database administration, only those things about something, there is no point in creating an entity in a database.
Relationships are the glue that holds together the various components of an ER model. A relationship, in the context of databases, is a situation that exists between two relational database tables when one table has a foreign key that references the primary key of the other table. Relationships allow relational database to split and store data in different tables, while linking disparate data items. Intuitively, a relationship is association among the instance of one or more entity types that is of interest to the organization.
The attributes of entity represents property or descriptive qualities of an entity. In general, an attribute is a characteristic. In a database management system (DBMS), an attribute refers to a database component, such as a table. It also may refer to a database field. Attributes describe the instance in the row of a database. These are also known as data elements.
Entities with attributes
Figure 5.3.1 Book Entity
Figure 5.3.2 Customer Entity
Figure 5.3.3 Companies Entity
Figure 5.3.4 Customer Balance
Figure 5.3.5 Purchase Entity
Figure 5.3.6 Purchase Details Entity
Figure 5.3.7 Purchase Payment Entity
Figure 5.3.8 Sale Entity
Figure 5.3.9 sale Details Entity
Figure 5.3.10 Employee Entity
Entity Relationship Diagram
Functional Analysis and Modeling
Introduction to functional analysis and modeling
It is focuses on defining the main function of the system and then its detailed functionality. The deliverable from functional analysis is DFD and the flow model is discussed as information is transformed as it flows through computer Based system.
The system accepts inputs in variety of forms from external entity.
Applies hardware, software and human elements to transformed input to outputs.
Produces output in a variety of forms that stored in a specific database.
DFD is graphical representation of flow model.
Introduction to Data flow Diagram
A data flow diagram (DFD) maps out the flow of information for any process or system. It uses defined symbol like rectangle, circle and arrows, plus short text labels, to show data inputs, outputs, storage points and the routes between each destination. Multi-level DFD’s that dig progressively deeper into how the data is handled. They can be used to analyze an existing system or model a new one. Like all the best diagrams and charts, a DFD can often visually “say” things that would be hard to explain in words, and they work for both technical and non-technical audience. That’s why DFD’s remain so popular after all these years. While they work well for data flow software and system, they are less applicable nowadays to visualizing interactive, real-time or database – oriented software or system. DFD is a graphical representation of data that describes how data can flows from one process to another. It can represent a system at any level of abstraction. In fact DFD can provide with both the functional and information flow model of a system. It can be used to process modeling for the system.
Basic symbol used in DFD
Types of DFD
There are two types of Data Flow Diagram.
That type of DFD, which depicts the actual functions performed in the manual system. This type DFD also contain such process which may not be implemented in case of computer based system, so we may say that is the blue print of already existing manual system.
A logical DFD shows the flow of information through the software. It contains circles each of which shows a process in the software. The circles (process) are connected with each other with the help of directed edges. The edges are assigned label which shows either the flow of data or control between software modules. Logical DFD serve as a guide for the programmer to design the software.
Data Flow Diagram
Data flow diagram is also called DFD. It is used to show the flow of information in form of diagram. The process show by circle and different processes connect to each other by arrows. The direction of arrow shows the direction of flow of information. DFD is also called “Bubble Chart”.
Context Level Diagram
Level 1 diagram
Chapter – 6
PHYSICAL DATABASE DESIGN
Attribute Type Null uniqueness Length
BookID Number No Yes 0……10
CategoryID Number No BookName nvarchar(100) No Edition varchar(150) Yes Publiser Varchar(200) Yes Author Varchar(200) Yes UnitPrice Float No Quantity Int Yes Description Nvarchar(500) Yes Attribute Type Null uniqueness Length
CategoryID Number No Name Nvarchr(100) No Description Nvarchar(200) Yes Attribute Type Null uniqueness Length
companyID Int No companyName Nvarchar(100) No ContactNo Varchar(20) No Description Nvarchar(500) No Attribute Type Null uniqueness Length
SalePaymentID Int CustomerID Int TotalAmount Float PaidDate Date PaidAmount Float BalanceAmount Float Description Nvarchar(500) Attribute Type Null uniqueness Length
Attribute Type Null uniqueness Length
Attribute Type Null uniqueness Length
Attribute Type Null uniqueness Length
Chapter – 7
Introduction to testing
It is very important to check the software against different errors and requirements. There are Two main schemes of testing which are the following:
Different steps involved in testing phase to check or find errors, in the requirements. The steps for software testing are the following:
Sub modules and system Testing
Black box and white box Testing
Alpha and Beta Testing
In Unit testing first of all module interfaces is tested to ensure that whether the modules interface is working properly or not.
The local data structure is examined to ensure that the data stored temporary maintains its integrity during all steps in an algorithm’s execution.
Boundary conditions are tested to ensure that the module operates properly at boundaries to limit or restrict processing.
All independent paths (basis paths) through the control structure are exercised to ensure that all statements in a module have been executed at least once. Finally, all error handling paths are tested.
Once individual program components have been tested, they must be integrated to create partial or complete system. Integrating testing is a systematic technique for constructing the program structure while at the same time conducting test to uncover errors associated with interfacing. The objective is to take unit tested components and build a program structure.
Integration testing can be performed in two ways:
Big Bang approach
In Big Bang approach, all the components are combined in advanced and the entire program is tested as a whole, but this is not efficient. The main difficulty that arises in integration testing is locating errors. There are complex interactions between the system components and when an unexpected output is discovered, it may be hard to find the source of errors. To make it easier locate errors, we should use an incremental approach to system integration and testing.
In incremental approach, the program is constructed and tested in small increments i.e. start from minimum components and then add the components after each increment. This is an efficient approach, because in this method:
Sub modules and system Testing
Black box and white box Testing
Alpha and Beta Testing
Chapter – 8