OBJECT ORIENTED PROGEAMMING TE

OBJECT ORIENTED PROGEAMMING TERM PAPER
TOPIC: – BOOK STORE MANAGEMENT SYSTEM

SUBMITTED TO:-MR. ROHIT BENIWAL

SUBMITTED BY:-MANIK GARG

SECTION:-E6912

ROLL NO:-RE6912A23

REGISTRATION NUMBER:-10900871

ACKNOWLEDGEMENT
THIS TERM PAPER IS MY INDIVIDUAL WORK AND I WOULD TO LIKE GIVE THE CREDIT TO ALL THOSE PERSON WHO HELPED ME, GUIDED ME AND CONTINUOSLY MOTIVATED ME TO COMPLETE IT.I WOULD ALSO LIKE TO THANK MY SITER AND IBM’er NIHARIKA GARG BECAUSE SHE GAVE HER LAPTOP TO ME AND IN THE LAST MY DEDICATED FACULTY AND MENTOR Mr.ROHIT BENIWAL,WHO GUIDED ME THROUGHOUT THE TERM AND GAVE ME TIPS IN IMPROVISING MY EFFORTS.HE HAD BEEN A LIGHTNING PILLER THROUGHOUT THE COURSE .THIS WOULD NOT BE POSSIBLE WITHOUT HIS GUIDANCE.

TABLE OF CONTENTS:-
Sr.No TOPIC NAME Page No. 1. INTRODUCTION 4 2. PROBLEM DEFINITION 5 3. REQUIREMENT SPECIFICATION 6 4. LIFE CYCLE MODEL
7 5. SYSTEM DESIGN 8-11 6. SOURCE CODE 12-18 7. SNAPSHOTS 18-19 8. OPERATED PROCEDURE 19-20 9. CONCLUSION 20-21 10. BIBLIOGRAPHY 22
ABSTRACT
_ The project report consists of 2 phases. In the first phase, the problem assigned to us has been
mentioned. Second phase provides the solution for the same problem along with an insight into
the development process involved.
_ Introduction part gives the information regarding Bookshop management System. It also
gives brief introduction about the project under the topic PROBLEM DEFINITION .It
gives a short introduction about Bookshop and its operations.
_ The next part is the REQUIRMENT ANALYSIS which is mainly concerned with study
of various requirements such as user, System, Hardware/Software & Performance. It also
includes feasibility study of system.

1. INTRODUCTION
In the existing system, most of the records are maintained on paper. It becomes very inconvenient to modify the data. In the existing system, here is a possibility that the same data in different registers may have different values which means the entries of the same data do not match. This inconsistent state does not supply the concrete information which poses a problem in the case information related to particular search record.
Our project is very useful. User is no longer required to check his register in search of records, as now it can be searched over the software by choosing some options. The user need not to type in most of the information. He/she is just required to enter the desired options. On the whole it liberates the user from keeping lengthy manual records. In a nutshell, it abates the work load of an organization..
A book shop uses a personal computer to maintain the inventory of books that are being sold at the shop. The list includes details such as author, title, price, publisher, stock position,etc. Whenever a customer wants a book, the shopkeeper inputs the title and author of the book and the system replies whether it is in the list or not. If it is not, an appropriate message s displayed. If book is in the list, then the system displays the book details and asks for number of copies. If the requested copies are available the, total cost of the books is displayed; otherwise the message “Required copies not in stock” is displayed.
2. Problem Definition:-
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 life
Style 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.

3. Requirement Specification:
From discussion with various bookshop owners various requirements are arrived at:
Book shop management system (BSM)

_ BSM 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.

_ The customer can also provide his e-mail address and mobile, so that he can be intimated
automatically by the software as and when the book copy received.

_ 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.

_ BSM 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. BAS should update the stock and generate the sales receipt for the
book.

_ BSM should allow employees to update inventory whenever new supply arrives. Also
upon request by the owner of book shop.

_ BSM should generate sales statistics (via, 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 BAS 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.
4. LIFE CYCLE MODEL:-A software life cycle model is a descriptive and diagrammatic representation of the software life cycle. A life cycle model represents all the activities to make a software product transit through its life cycle phases. It also captures the order in which these activities are to be undertaken. In other words, a life cycle model maps the different activities performed on a software product from it’s inception to retirement. Here we have used SPIRAL MODEL for explaining.

SPIRAL MODEL:
The spiral model is one that couples the iterative nature of prototyping with controlled and systematic aspect of linear sequential or waterfall model. It provides the potential for rapid development incremental versions of the systems. Here it is used for successful development of sales and product management system.
Spiral model consists of 3 phases:
* Planning
* Risk analysis
* Engineering
Fig(1.0)
5. SYSTEM DESIGN:-
Procedural design:
Fig 2.0(making book shop automated for better usability)

Data Flow Diagram (DFD):

ETITIY RELATIONSHIP DIAGRAM:-
Fig 4.0(ER DIAGRAM OF BOOK STORE MANAGEMENT)
Fig 5.0 (class representation)
HERE FINISHES THE FIRST PART OF TERM PAPER

6. SOURCE CODE:-

#include<iostream.h>
#include<conio.h>

class book
{
int flag,selecteded;
char bk_nm[20];
char ath_nm[20];
char **option;
int getchoice(char * greet, char * choices[]);
public:
cout(“n Choice : %s n”, greet);
option=choices;
}
while(*option)
{
cout(“%s n”,*option);
option++;
}
cout<<“Enter your choice :”;
cin>>selected;
option = choices;
while(*option)
{
if(selected == *option[0])
{
if(selected == A)
{
flag=1;
b.record(“plz enter choice”,type);
break;
}
else if(selected == G)
{
flag=1;
b.getdata(“plz enter ur choice”,type);
break;
}
}
}option++;
if(!flag)
{
cout(“n incorrect choice,select again n”);
}
return selected;
}

virtual void getdata(char * greet, char *choices[])
{
cout(“n Choice : %s n”,greet);
option = choices;
}
while(*option)
{
cout(“%s n”,*option);
option++;
}
cout<<“Enter your choice :”;
cin>>selected;
option = choices;
while(*option)
{
if(selected == *option[0])
{
if(selected == N)
{
flag=1;
p=&n;
p->getdata();
break;
}
else if(selected == O)
{
flag=1;
p=&o;
p->getdata();
break;
}
else if(selected == E)
{
flag=1;
p=&e;
p->getdata();
break;
}
}
option++;
}
if(!flag)
{
cout(“n incorrect choice,select again n”);
}
}
virtual void record(char*greet, char *choices[])
{
cout(“n Choice : %s n”,greet);
option=choices;
while(*option)
{
cout(“%s n”,*option);
option++;
}
cout<<“Enter your choice :”;
cin>>selected;
option = choices;
while(*option)
{
if(selected == *option[0])
{
if(selected == N)
{
flag=1;
p=&n;
p->record();
break;
}
else if(selected == O)
{
flag=1;
p=&o;
p->record();
break;
}
else if(selected == E)
{
flag=1;
p=&e;
p->record();
break;
}
}
option++;
}
if(!flag)
{
cout(“n incorrect choice,select again n”);
}
}
};

class newbook:public book
{
char bk_nmr[20],ath_nmr[20],edr;
float price;
int cp;
public :
void getdata();
void record();
void check();
void display();
};
void newbook :: getdata()
{
cout<<“n Enter book name :n author name :n edition :”;
cin>>bk_nm>>ath_nm>>ed;
n.check();
}
void newbook :: record()
{
cout<<“n Enter book name :n author name :n edition :”;
cin>>bk_nmr>>ath_nmr>>edr;
cout<<“n Enter number of copies”;
cin>>cp;
cout<<“n Enter price of one copy”;
cin>>price;
}
void newbook :: check()
{
if(n.bk_nm==n.bk_nmr && n.ath_nm==n.ath_nmr && n.ed==n.edr)
n.display();
cout<<“”n Sorry book is not present””;
}
void newbook :: display()
{
cout<<“n Book Name :%s”<<bk_nm;
cout<<“n Author Name :%s”<<ath_nm;
cout<<“n Book edition :%s”<<ed;
cout<<“n Book price :%s”<<price;
cp–;
}
class oldbook : public book
{
char bk_nmr[20],ath_nmr[20],edr;
float price;
int cp;
public:
void getdata();
void record();
void check();
void display();
};
void oldbook :: getdata()
{
cout<<“n Enter book name :n author name :n edition :”;
cin>>bk_nm>>ath_nm>>ed;
o.check();
}
void oldbook :: record()
{
cout<<“n Enter book name :n author name :n edition :”;
cin>>bk_nmr>>ath_nmr>>edr;
cout<<“n Enter number of copies”;
cin>>cp;
cout<<“n Enter price of one copy”;
cin>>price;
}
void oldbook :: check()
{
if(o.bk_nm==o.bk_nmr && o.ath_nm==o.ath_nmr && o.ed==o.edr)
o.display();
else
cout<<“”n Sorry Book is not present””;
}
void oldbook :: display()
{
cout<<“n Book Name :%s”<<bk_nm;
cout<<“n Author Name :%s”<<ath_nm;
cout<<“n Book edition :%s”<<ed;
cout<<“n Book price :%s”<<price;
cp–;
}
class Ebook:public book
{
char bk_nmr[20],ath_nmr[20],edr;
float price;
int cp;
public :
void getdata();
void record();
void check();
void display();
};
void Ebook :: getdata()
{
cout<<“n Enter book name :n author name :n edition :”;
cin>>bk_nm>>ath_nm>>ed;
e.check();
}
void Ebook :: record()
{
cout<<“n Enter book name :n author name :n edition :”;
cin>>bk_nmr>>ath_nmr>>edr;
cout<<“n Enter number of copies”;
cin>>cp;
cout<<“n Enter price of one copy”;
cin>>price;
}
void Ebook :: check()
{
if(e.bk_nm==e.bk_nmr && e.ath_nm==e.ath_nmr && e.ed==e.edr)
e.display();
else
cout<<“”n Sorry book is not present””;
}
void Ebook :: display()
{
cout<<“n Book Name :%s”<<bk_nm;
cout<<“n Author Name :%s”<<ath_nm;
cout<<“n Book edition :%s”<<ed;
cout<<“n Book price :%s”<<price;
cp–;
}

void main()
{
clrscr();
book b,*p;
newbook n;
oldbook o;
ebook e;
int choice=0;
char menu[] = {
“A- Add to record”,
“G- Get a book”,
“Q-Quit”
};
do
{
choice=b.getchoice(“plz select an action”,menu);
printf(“you have chosen %c n”,choice);
}while(choice != ‘q’||’Q’);

char type = {
“N – new book”,
“O – old book”,
“E – ebook”,
“Q – quit”
getch();
}

7. SNAPSHOTS:-
HERE FINISHES THE SECOND PART

8. OPERATING PROCEDURES:-
MINIMUM SYSTEM REQUIRMENTS
Operating system: MS Windows XP or Windows Vista
Language: C ++Language
Processor: Pentium IV Processor
RAM: 512 MB
Hard disk: 5 GB
User Interfaces
The system users are:-
_ the book shop management as the system administrators.
_ Book shop cashiers as the normal users.

System administrators
The administrator logs on to the system by inserting administrator user name and password.
Administrator can do any transaction as well as editing all details inside the database such as
adding, editing and deleting a new user or adding, editing and deleting items.

System users
System users are the ones who at the cashier and do transactions with customers. The users have
To enter the user name and password and click on ‘Login’ button. If user makes any mistake the
System will ask for the correct username and password until he enters the correct one.
When the user wants to do any transaction user has to click on the menu icon on the main menu.
Then the transaction window will open. User has to enter the Book No and press enter. Then user
has to select the transaction type and the quantity. Then click on the update button. Then the
system will automatically update the database according to the transaction type. Hardware
Interfaces

The Book Shop System is having the following hardware:

_ Book shop main computer _ other pc’s

Software Interfaces
_ System will interact with the system database to record all transaction data.

Performance Requirements:
_ the response time for menu changes will be not more than 3 seconds.

_ The time for search for a book will not more than 3 seconds.

_ The time to print the stock valuation will not be more than 3 seconds.

_ The time taken to update the database or get information from the database will not be
more than 2 seconds.
_ The time taken to prompt message boxes will not more than 2 seconds.

9. CONCLUSION:-
This Bookshop Automation System is an attempt to overcome the present inefficient and time
consuming process of locating, reserving and purchasing quality reading materials available in
the store. Currently, clients have to go through a time consuming process to perform
a aforementioned tasks which cause waste of labor and firms resources. Through our automated
book store solution, we provide an easy way of searching, reserving and purchasing of books.
User data are validated and checked for authenticity with the data stored in the system database.
All the newly coined processes will address time consuming, ineffective and inefficient areas of
the existing system which has being wasting a lot of firms resources such as, labor, electricity,
equipment, products and services, while discouraging customers to make purchases and repelling
clients from the book store.
Proposed system will support both clients and the store in many areas. It’s worth analyzing and
identifying the benefits as it would directly influence the productivity of the store.
Customer satisfaction plays the most vital role in any form of product and service rendering store
as the existence of any firm solely depends on its customer-base. Therefore, every system should
facilitate the customer satisfaction up to a certain extent which is feasible from the company
perspective.
The aforementioned facts ensure customer satisfaction to a greater extent benefiting the store in:
_ Retaining current customers
_ Tempting current customers to attract their friends to the store
_ Attracting new customers
_ Enhancing the customer faith on the firm due to secure transaction techniques while
temping customers to make more online purchases
_ Identifying profitable customers
_ Identifying different categories of customers
_ Making necessary alterations and plans to address broader range of customers
_ Identifying key areas of the inventory which need to be maintained at a healthy stock limit
_ Analyzing trends to make more effective management decisions and
_ development of new strategies to increase profit
These particulars will make sure the broadening the customer base of the store which will have
good impact on the sales and revenue of the store. Employee satisfaction also plays an influential role in healthy revenue levels of a firm. Due to the proposed system, employees will have to handle minimum amount of workload than that of the existing system which will help the employees to provide optimal service to the firm while.

10. BIBLIOGRAPHY:-
* Australian Computer Society, 2003, ASC Code of Ethics. Retrieved March 15,
2007, from http://www.acs.org.au.htm
* WWW.SCRIBD.COM
1