Вы находитесь на странице: 1из 27





Under the Guidance of: SAURAV SINGH NARUKA

Submitted by: KALPANA BIRLA


This is Certified that the project Entitled SUPER MARKET BILLING SYSTEM Submitted by: KALPANA BIRLA under my supervision and guidance. Submitted for the Practical Examination held in 2011 at Marudhar Defence Sr. Sec. School, Merta City, Nagaur.

Subject Incharge




We are very much thankful to Mr. Saurabh Singh Naruka for all the support he has Given to us. This is only his support that we are able to Complete the project with in Time. We are very grateful for his cooperation in completion of this project. He acted As the guiding spirit behind the completion of this project. I am also thankful to my classmates for their co-operation. Finally I thank my parents for their support and blessings. Our thanks also extend to the entire school for providing such a friendly and learning atmosphere to read.

Sr. No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Topic. Introduction Requirement Analysis Limitation of current system Advantage of proposed system Hardware & Software Requirements Modular Description Function Point Analysis Implementation Data Flow Diagram System Defined Function Source Code Output Screen Project Summary Conclusion Page. 1 2 3 4 5 6 8 9 10 12 13 19 21 22




Requirements definition and management is recognized as a necessary step in the delivery of successful system s and software projects, discipline is also required by standards, regulations, and quality improvement initiatives. Creating and managing requirements is a challenge of IT, systems and product development projects or indeed for any activity where you have to manage a contractual relationship. Organization need to effectively define and manage requirements to ensure they are meeting needs of the customer, while proving compliance and staying on the schedule and within budge. The impact of a poorly expressed requirement can bring a business out of compliance or even cause injury or death. Requirements definition and management is an activity that can deliver a high, fast return on investment. The BANK MANAGEMENT SYSTEM undertaken as a project is based on relevant technologies. The main aim of this project is to develop software for bank management system. This project is to develop software for bank management system. This project has been developed to carry out the processes easily and quickly, which is not possible with the manuals systems, which are overcome by this software. This project is developed using C++ language and executed in TURBO 3. Hence it provides the complete solution for the current management system.

Requirements are prone to issues of ambiguity, incompleteness, and inconsistency. Techniques such as rigorous inspection have been shown to help deal with these issues. Ambiguities, incompleteness, and inconsistencies that can be resolved in the requirements phase typically cost orders of magnitude less to correct than when these same issues are found in later stages of product development. Requirements analysis strives to address these issues. Take a long time to produce Begin to limit the implementation option available Are costly to produce

Requirements for both the system and the software are documented and reviewed with the customer.

Limitations of Current System

Every system has pros & cons so existing system have many advantages & disadvantages. So the limitations of existing are as follows:

User Interface: User interface is not so much good that operators feel some problems in working. Graphical User Interface: GUI is not good so the operators get bored by watching screen. Processing Speed: Processing speed of the software is not so much good to operate fast. Flexible: Existing system is not so much flexible that can be changed according to the operators & customers. Automatic Generation of Reports: Not able to automatic generate the reports & documents. Workload: Sometimes the system hangs when workload is more.

Error Free: Sometimes the system gives error in the calculation in making the bill & in the information of the products due to workload.

Man Power: Existing system uses so many people to operate the system. Resources: System does not use the resources properly.

Advantages of Proposed System

To reduce the limitations of the existing system there is a need to develop a new system. The new system should concern the requirements of the customers. It has following quality: Reduction in processing cost. Error reduction. Automatic posting. Improve reporting. Automatic production of documents & reports. Faster response time.

Ability to meet user requirements. Flexibility. Reduced dependency. Improves resource users. Reduction in use of paper. Reduction in use of man power. Proposed system includes these above qualities including existing qualities.

Hardware requirements
Minimum requirements: Pentium i133MHz Ram 16 MB Hard disk 2.1 GB Recommended: Pentium III

Ram 128 MB Hard disk 10 GB

Others: Printer Colored Monitor

Software requirements
Operating System:DOS, WINDOWS 98/XP Compiler :TURBO C++ VER 4.0


Open new account Deposit amount Withdraw amount Balance Enquiry Modify an account

Close account Display all records Exit

Module 1-Open an account: A module new account is literally the form for the customer to open a new account. A new account is opened with the following details of the customer, with the default account number Account No. Account Holder Name Account Type (CURRENT/SAVING) Amount Module 2-Deposit: Deposition should be done each time the customer deposits a particular amount for an account. Deposition is done in the account after the following details. Account number Amount to deposit Module 3-withdrawal: Using this withdrawal module the user can withdraw a particular amount for an account. Withdrawal can be done after getting the following details: Account number Amount to be withdraw

Module 4-Balance Enquiry(view detail of an account): Using this module the user can withdraw a particular amount details. It can be done after getting the following details: Account number Account Holder Name Type of Account

Balance Amount

Module 5-Modify an account: This module is used to modify the account that we want this done after receiving the account number. Then the corresponding new details are need to enter and the the account will modified: Account Holder Name Type of Account Balance Amount Module 6- Close an account: This module is to used to close the account that is no longer required. It can be done after getting the following detail: Account No.

Module 6-Display all records: This module is used to display all the records present in the corresponding file.


Function points measure software size by qualifying the functionality provided to the user based solely on logical design and functional specifications. With this in mind, the objectives of FP counting are to:

Measures functionality that the user requests and receivers Provide a normalized measure across projects and organizations

A function point is one standard unit of software size and complexity. Most software is decomposable into function points, which can then be counted, giving its size and complexity. Standards for sizing software using function points are in the International Function Points Users Group (IFPUG) Function Points Counting Practices Manuals.

Implementation is the realization, application, or execution of a plan, idea, model, design, specification, standard algorithm, or policy.

The design must be translated in to machine-readable form. The code generation step performs their tasks. If design is performed in a detailed manner, code generation can be accomplished mechanistically. Maintenance: In software, software maintenance is the process of enhancing and optimizing developed software (software release), as well as remedying defects. Software maintenance is one of the phases in the software development process, and follows development of software into the field. The software maintenance phase involves changes to the software in order to correct defects and deficiencies found during field usage as well as the addition of new functionality to improve softwares usability and applicability.


This diagram, represents a banking process, which maintains customers accounts. In this example, customers can withdraw or deposit cash, request information about their account or update their account details.

Level 0:
Bankin g Syste m

Custom er

Accounti ng

Level 1:
Custom er Customer Query

Transmis sion Purpose Form

Check requirement Schedu le Amount

Bankin g Syste

Self Accoun t

Accou nt Balanc e Amoun t Informati

Balance amount balance Amount

Check Sched ule Confir med Withdr aw Withdr aw In

Request Configurat ion

Foreign Exchange withdrawral amount

Det ails


clrscr():- clrscr clears the current text window and places the cursor in the upper left-hand corner.

gotoxy():- moves the cursor to the given position in the current text window.If the coordinates are invalid, the call to gotoxy is ignored.

sleep():- With a call to sleep, the current program is suspended from execution for the number of seconds specified by the argument seconds.

getch():- getch reads a single character directly from the keyboard, without echoing to the screen.

open():- Opens a file for an fstream.

Gets:- gets collects a string of characters terminated by a new line from the standard input stream stdin and puts it into s.

Delay:- With a call to delay, the current program suspended from execution for the time specified by the argument milliseconds.

//*************************************************************** // HEADER FILE USED IN PROJECT //**************************************************************** #include<iostream.h> #include<conio.h> #include<stdio.h> #include<process.h> #include<fstream.h> #include<ctype.h> //*************************************************************** // CLASS USED IN PROJECT //**************************************************************** class account { int acno; char name[50]; int deposit, withdraw; char type; public: void create_account() { cout<<"\nEnter The account No."; cin>>acno; cout<<"\n\nEnter The Name of The account Holder "; gets(name); cout<<"\nEnter Type of The account (C/S) "; cin>>type; type=toupper(type); cout<<"\nEnter The Initial amount(>=500 for Saving and >=1000 for current )"; cin>>deposit; cout<<"\n\n\nAccount Created.."; } void show_account() { cout<<"\nAccount No. : "<<acno; cout<<"\nAccount Holder Name : "; puts(name); cout<<"\nType of Account : "<<type; cout<<"\nBalance amount : "<<deposit; } void modify_account() { cout<<"\nAccount No. : "<<acno; cout<<"\nModify Account Holder Name : "; gets(name); cout<<"\nModify Type of Account : ";cin>>type; cout<<"\nModify Balance amount : ";cin>>deposit; }

void dep(int x) { deposit+=x; } void draw(int x) { deposit-=x; } void report() {cout<<acno<<"\t"<<name<<"\t\t"<<type<<"\t\t"<<deposit<<endl;} int retacno() {return acno;} float retdeposit() {return deposit;} char rettype() {return type;} }; //class ends here

//*************************************************************** // global declaration for stream object, object //**************************************************************** fstream fp; account ac; //*************************************************************** // function to write in file //**************************************************************** void write_account() { fp.open("account.dat",ios::out|ios::app); ac.create_account(); fp.write((char*)&ac,sizeof(account)); fp.close(); } //*************************************************************** // function to read specific record from file //**************************************************************** void display_sp(int n) { clrscr(); cout<<"\nBALANCE DETAILS\n"; int flag=0; fp.open("account.dat",ios::in); while(fp.read((char*)&ac,sizeof(account)))

{ if(ac.retacno()==n) { ac.show_account(); flag=1; } } fp.close(); if(flag==0) cout<<"\n\nAccount number does not exist"; getch(); } //*************************************************************** // function to modify record of file //**************************************************************** void modify_account() { int no,found=0; clrscr(); cout<<"\n\n\tTo Modify "; cout<<"\n\n\tEnter The account No. of The account"; cin>>no; fp.open("account.dat",ios::in|ios::out); while(fp.read((char*)&ac,sizeof(account)) && found==0) { if(ac.retacno()==no) { ac.show_account(); cout<<"\nEnter The New Details of account"<<endl; ac.modify_account(); int pos=-1*sizeof(ac); fp.seekp(pos,ios::cur); fp.write((char*)&ac,sizeof(account)); cout<<"\n\n\t Record Updated"; found=1; } } fp.close(); if(found==0) cout<<"\n\n Record Not Found "; getch(); } //*************************************************************** // function to delete record of file //**************************************************************** void delete_account() { int no; clrscr(); cout<<"\n\n\n\tDelete Record"; cout<<"\n\nEnter The account no. of the customer You Want To Delete"; cin>>no; fp.open("account.dat",ios::in|ios::out);

fstream fp2; fp2.open("Temp.dat",ios::out); fp.seekg(0,ios::beg); while(fp.read((char*)&ac,sizeof(account))) { if(ac.retacno()!=no) { fp2.write((char*)&ac,sizeof(account)); } } fp2.close(); fp.close(); remove("account.dat"); rename("Temp.dat","account.dat"); cout<<"\n\n\tRecord Deleted .."; getch(); } //*************************************************************** // function to display all accounts deposit list //**************************************************************** void display_all() { clrscr(); fp.open("account.dat",ios::in); if(!fp) { cout<<"ERROR!!! FILE COULD NOT BE OPEN\n\n\n Go To Admin Menu to create File"; getch(); return; } cout<<"\n\n\t\tACCOUNT HOLDER LIST\n\n"; cout<<"====================================================\n"; cout<<"A/c no.\tNAME\t\tType\t\tBalance\n"; cout<<"====================================================\n"; while(fp.read((char*)&ac,sizeof(account))) { ac.report(); } fp.close(); } //*************************************************************** // function to deposit and withdraw amounts //**************************************************************** void deposit_withdraw(int option) { int no,found=0,amt; clrscr(); cout<<"\n\n\tEnter The account No."; cin>>no; fp.open("account.dat",ios::in|ios::out); while(fp.read((char*)&ac,sizeof(account)) && found==0)

{ if(ac.retacno()==no) { ac.show_account(); if(option==1) { cout<<"\n\n\tTO DEPOSITE AMOUNT "; cout<<"\n\nEnter The amount to be deposited"; cin>>amt; ac.dep(amt); } if(option==2) { cout<<"\n\n\tTO WITHDRAW AMOUNT "; cout<<"\n\nEnter The amount to be withdraw"; cin>>amt; int bal=ac.retdeposit()-amt; if((bal<500 && ac.rettype()=='S') || (bal<1000 && ac.rettype()=='C')) cout<<"Insufficience balance"; else ac.draw(amt); } int pos=-1*sizeof(ac); fp.seekp(pos,ios::cur); fp.write((char*)&ac,sizeof(account)); cout<<"\n\n\t Record Updated"; found=1; } } fp.close(); if(found==0) cout<<"\n\n Record Not Found "; getch(); } //*************************************************************** // INTRODUCTION FUNCTION //**************************************************************** void intro() { clrscr(); gotoxy(31,11); cout<<"BANKING"; gotoxy(35,14); cout<<"TRANSACTIONS"; gotoxy(35,17); cout<<"SYSTEM"; cout<<"\n\nMADE BY : your name"; cout<<"\n\nSCHOOL : your school name"; getch(); } //*************************************************************** // THE MAIN FUNCTION OF PROGRAM //****************************************************************

void main() { char ch; intro(); do { clrscr(); cout<<"\n\n\n\tMAIN MENU"; cout<<"\n\n\t01. NEW ACCOUNT"; cout<<"\n\n\t02. DEPOSIT AMOUNT"; cout<<"\n\n\t03. WITHDRAW AMOUNT"; cout<<"\n\n\t04. BALANCE ENQUIRY"; cout<<"\n\n\t05. ALL ACCOUNT HOLDER LIST"; cout<<"\n\n\t06. CLOSE AN ACCOUNT"; cout<<"\n\n\t07. MODIFY AN ACCOUNT"; cout<<"\n\n\t08. EXIT"; cout<<"\n\n\tSelect Your Option (1-8) "; ch=getche(); switch(ch) { case '1': clrscr(); write_account(); getch(); break; case '2': clrscr(); deposit_withdraw(1); break; case '3': clrscr(); deposit_withdraw(2); getch(); break; case '4': int num; clrscr(); cout<<"\n\n\tEnter The account No. "; cin>>num; display_sp(num); break; case '5': clrscr(); display_all(); getch(); break; case '6': delete_account(); break; case '7': clrscr(); modify_account(); getch(); break; case '8':exit(0); default :cout<<"\a"; } }while(ch!='8'); } //*************************************************************** // END OF PROJECT //***************************************************************

1. Main Menu:

2. Deposit Amount:

3. Balance Enquiry:

Project Summary
The goals that are achieved by the software are: Instant access. Improved productivity. Optimum utilization of resources. Efficient management of records. Simplification of the operations. Less processing time and getting required information. User friendly. Portable and flexible for further enhancement.

When looking for solid accounting software, you want to find a solution that gives you the best value for your investment. Naturally, you first the software that meets your needs, both now and in the future. Engineering is based on designing different projects. Nowadays, most products and system are becoming more complex in nature, and there is an increasing demand relative to new technology application at a time when our natural resources are dwindling now thats where engineering and engineers are not only useful for the technologies and machineries in the business world, but it is also constructive in different components of business such as management, financing, employment, and marketing.

The system is designed to perform task of multiple users. Case Study is referenced through many books. The main source is internet