Presentation on how to chat with PDF using ChatGPT code interpreter
Quickbill
1. A Project on
QUICK BILL
Submitted
In partial fulfillment of the requirements for the
Award of the degree of
BACHELOR OF TECHONOLOGY
IN
COMPUTER SCIENCE & ENGINEERING
Submitted by
SAMEER ALAM (1352510045)
PRACHI PANDEY (1352510034)
ARVIND AGRAHARI (1352510016)
NEELAM SINGH (1452510905)
Under the guidance of
MS. SWETA
(Asst. Professor)
BUDDHA INSTITUTE OF TECHNOLOGY
CL-1, SECTOR-7 GIDA (GORAKHPUR), UP (INDIA) - 273209
(AFFILIATED TO Dr. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY),
LUCKNOW, UP (INDIA)
APRIL, 2017
2. A Project on
QUICK BILL
Submitted
In partial fulfillment of the requirements for the
Award of the degree of
BACHELOR OF TECHONOLOGY
IN
COMPUTER SCIENCE & ENGINEERING
Submitted by
SAMEER ALAM (1352510045)
PRACHI PANDEY (1352510034)
ARVIND AGRAHARI (1352510016)
NEELAM SINGH (1452510905)
Under the guidance of
MS. SWETA
(Asst. Professor)
BUDDHA INSTITUTE OF TECHNOLOGY
CL-1, SECTOR-7 GIDA (GORAKHPUR), UP (INDIA) - 273209
(AFFILIATED TO Dr. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY),
LUCKNOW, UP (INDIA)
APRIL, 2017
3. ii
DECLARATION
I hereby declare that the project entitled “Quick bill” submitted for the B.Tech. (CSE)
degree is my original work and the project has not formed the basis for the award of any
other degree, diploma, fellowship or any other similar titles.
Place:
Date:
Signature of the Student
4. iii
CERTIFICATE
This is to certify that Sameer Alam, Arvind Agrahari, Prachi Pandey and Neelam
Singh, a student of B Tech (CSE) of BUDDHA INSTITUE OF TECHNOLOGY,
(Gorakhpur) have completed the project work entitled “Quick Bill” in partial fulfillment
of the requirements for the award of Bachelor of Technology in Computer Science and
Engineering affiliated to Dr. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY,
(Lucknow) under my guidance during the academic year 2016-17.
Place:
Date:
Ms. Sweta Mr. Sachidanand Chaturvedi
(Asst. Professor) (Head Of Department)
Department of CS & Engg. Department of CS & Engg.
5. iv
ACKNOWLEDGEMENT
It gives us great pleasure in presenting this project report titled “Quick bill”. On this
momentous occasion, we wish to express our immense gratitude to the range of people
who provided invaluable support in the completion of this project. Their guidance and
encouragement has helped in making this project a great success. Many thanks to our
project guide Assistant Professor Ms. Sweta. Without her guidance and motivation this
report would not have been completed. We express many thanks to our HOD Mr.
Sachidanand Chaturvedi, he has given us the opportunity to write the report and without
missing to acknowledge those references with the help of which this report work has been
properly done
Sameer Alam (1352510045)
Prachi Pandey (1352510034)
Arvind Agrahari (1352510016)
Neelam Singh (1452510905)
6. v
ABSTRACT
This software project is a supermarket billing system with some added functionality. This
system is built for fast data processing and bill generation for supermarket customers.
The billing system consists of mysql database and effective front end designed. The
billing database is a vast collection of product name, price and other product specific
data. A product when billed is searched from the database and its price is added to the
bill based upon the product quantity.
The billing server simultaneously starts billing for the particular cart. In case the
customer removes an item from the cart, the server immediately recognizes it and aligns
the billing accordingly. Once the customer acknowledges the server to provide the bill,
the server provides the gross amount. The customer on paying the bill is provided an
acknowledgement by the server and the goods are dispatched to the customer by the time.
The advantages of using such a system is that the time taken for billing huge amount of
items is reduced greatly and it is very useful and secured in big shopping complexes
The system also contains discounts on various products so that the product is offered at
discounted price while billing. The supermarket billing system is built to help
supermarkets calculate and display bills and serve the customer in a faster and efficient
manner. This software project consists of an effective and easy Guide to help the
employee in easy bill calculation and providing an efficient customer service
7. vi
TABLE OF CONTENTS
Declaration ii
Certificate iii
Acknowledgement iv
Abstract v
Table of Content vi
List of Figures viii
List of Tables ix
CHAPTER 1 INTRODUCTION 1
1.1 Overview 1
1.2 Objective 1
1.3 Future Scope 1
CHAPTER 2 LITERATURE REVIEW 2
2.1 Analysis of Present Software 2
2.2 Existing System facing problems 2
2.3 Characteristics of Proposed System 2
CHAPTER 3 FEASIBILITY ANALYSIS 3
3.1 Need for Feasibility Study 4
CHAPTER 4 METHODOLOGY 6
4.1 Waterfall Life Cycle Model 6
CHAPTER 5 TECHNOLOGY USED 8
5.1 MySQL 8
5.2 JDBC 8
9. viii
LIST OF FIGURES
S.No FIGURE NAME PAGE NO
4.1 Waterfall Life Cycle Model 6
5.3 JDBC Architecture 9
6.4.1 Cashier Registration 16
6.4.2 Maintain Stock Details 17
6.4.3 Billing 17
6.4.4 Product Search 17
6.4.5 Search Bill 18
7.1 Quick Bill 21
7.2 Admin Login 24
7.2.1 Admin Home 27
7.2.2 Add Cashier 33
7.2.3 Update Stock 34
7.3 Cashier Login 34
7.3.1 Cashier Home 35
7.3.2 Create Bill 44
7.3.3 Product Information 45
7.3.4 Search Bill 45
8.1 Various Level of Testing 47
10. ix
LIST OF TABLES
S.No TABLE NAME PAGE NO
6.5.1 Admin details 18
6.5.2 Cashier details 18
6.5.3 Stock details 19
6.5.4 Bill details 19
11. 1
CHAPTER 1
INTRODUCTION
1.1 Overview
The project is on Supermarket Billing. Supermarket is the place where customers come
to purchase their daily using products and pay for that. So there is a need to calculate
how many products are sold and to generate the bill for the customer. The aim is to
automate its existing manual system by the help of computerized equipment and full-
fledged computer software, fulfilling the requirements, so that their valuable
data/information can be stored for a longer period with easy accessing and manipulation
of the same.
For easy and convenient processing we need to develop software, which work as per our
requirements. While preparing this software we got to remember few things i.e. this
software must have a friendly environment, in other words it should not be much
complicated to handle, it should have option for future modification in the database i.e.
in the goods list, new items and workers list. For smooth functioning we had to prepare
a database by which we could enter the required data in their respective locations. In
this database all the record of daily entry made are stored, so that we can use them in
future whenever allotted to their caretaker. Other than that no one could use this and on
entering an illegal password or login name an error message get displayed.
1.2 Objective
This project will serve the following objectives:-
1 Add and maintain records of available products.
2 Add and maintain customer details.
3 Add and maintain description of new products.
4 Add and maintain new entered category of products.
5 Provides economic/financial reports to the owner monthly or weekly and yearly.
6 Provides a convenient solution of billing pattern.
7 Make an easy to use environment for users and customers.
1.3 Future Scope
1 This project will help the store keeper in fast billing
2 This project enable store keeper to maintain a great database of all customers visited
and purchase product from store.
3 Project will enable to see report regarding product and category.
4 Easy to maintain in future prospect.
12. 2
CHAPTER 2
LITERATURE REVIEW
2.1 Analysis of Present System
Before we begin a new system it is important to study the system that will be improved
or replaced (if there is one). We need to analyze how this system uses hardware,
software, network and the people resources to convert data resources, such as
transaction data, into information products, such as reports and displays. Thus we
should document how the information system activities of input, processing, output,
storage and control are accomplished.
2.2 Existing System facing some problems
1. Inability of modification of data: The managing of huge data effectively and
efficiently for efficient results, storing the details of the consumers etc. in such a
way that the database can be modified as not possible in the current system.
2. Not user friendly: The existing system is not user friendly because the retrieval
and storing of data is slow and data is not maintained efficiently.
3. Difficulty in reports generating: Either no reports generating in a current
system or they are generated with great difficulty reports take time to generate
in the current system.
4. Manual operator control: Manual operator control is there and lead to a lot of
chaos and errors.
5. Lot of paperwork: Existing system requires lot of paper work and even a small
transaction require many papers fill. Moreover any unnatural cause (such as fire
in the organization) can destroy all data of the organization. Loss of even a
single paper led to difficult situation because all the papers are interrelated.
6. Inability of sharing the data: Data cannot be shared in the existing system.
This means that no two persons can use the same data in existing system. Also
the two departments in an organization cannot interact with each other without
the actual movement of data.
7. No support in decision-making: Existing system does not support managerial
decision-making.
8. No support in strategic competitive advantage: Existing system do not
support strategic competitive advantages.
2.3 Characteristics of Proposed System
1. Easiness in modification of data: The proposed system provides managing of
huge data effectively and efficiently for efficient results, storing the details of
the customers, employees etc. in such a way that the database can be modified.
13. 3
2. User friendly: The proposed system is user friendly because the retrieval and
storing of data is fast and data is maintained efficiently. Moreover the graphical
user interface is provided in the proposed system, which provides user to deal
with the system very easily.
3. Reports are easily generated: Reports can be easily generated in a proposed
system. So any type of reports can be generated in a proposed system, which
helps the managers in a decisions-making activity.
4. Sharing the data is possible: Data can be shared in proposed system. This
means that two or more persons can use the same data in existing system
provided that they have right to access that data. Also the two or more
departments in an organization can easily interact with each other without the
actual movement of data.
5. No or very few paperwork: The proposed system either does not require paper
work or very few paper works is required. All the data is feted into the computer
immediately and various bills and reports can be generated through computers.
Since all the data is kept in a database no data of the organization can be
destroyed. Moreover work becomes very easy because there is no need to keep
data on papers.
6. Support strategic competitive advantage: Proposed system support strategic
competitive advantages. Since the proposed systems provide easiness in reports
generating it will provide strategic advantages among competitors.
7. Computer operator control: Computer operator control will be there no errors.
Moreover storing and retrieving of information is easy. So work can be done
speedily and in time.
14. 4
CHAPTER 3
FEASIBILITY ANALYSIS
Title: Feasibility report for the computerization of the various activities of the company.
Background: The Company facing the problem of inconsistent and out of time
information in its activities. Very much time is consuming for report generation, which
is not very helpful for decision making. So we want a system, which provide immediate
information.
Method of study: The analysis procedure comprised of field trips in the various
departments of the company. The following documents and sources were looked up:
The purchase order that contain items to be purchased.
The accounts register.
Purchase order issues to vendors.
Bills receive from vendors.
Bills give to the customers.
Purchase return forms (if any) give to vendors.
3.1 Need for Feasibility study
The feasibility study is carried out to test whether the proposed system is worth being
implemented. Feasibility study is a test of system proposed regarding its work ability,
its impact on the organization ability to meet user needs and effective use of resources.
It is usually carried out by a small number of people who are familiar with the
information system techniques, understand the part of the business or organization that
will be involved or effected by the project and are skilled in the system analysis and
design
process.
The key consideration involve in the feasibility study are:
1. Technical
2. Behavioral
3. Economic
1. Technical Feasibility
Technical feasibility centers on the existing computer system (hardware, software etc)
and to what extent it can support the proposed system addition. For example, if the
current system is operating at 70% capacity (an arbitrary value), then another
application could overload the system or require additional hardware. If the budget is
serious constrain then the project is judged not feasible.
2. Behavioral Feasibility
An evaluation of the behavior of the end users, which may effect the envelopment of the
system. People are inherently resistant to change and computers have to know to
facilitate changes and computers have to known to facilitate changes. An estimate
should be made of how strong a reaction the user staff is likely to have towards the
15. 5
development of a computerized system. It is a common knowledge that a computer
installation has something to do with turnover, transfer, retraining and changes in
employee job status, therefore the introduction of a candidate system requires special
effort to educate, sell and train the staff on new ways of conducting business. The
personal of the user organization will be affected by the proposed system. As the aim of
the system is only to satisfy the information needs, no employees will lose their position
by the proposed system. In fact the proposed system will help the organization in
reducing the voluminous work involved. Also the involvement of users in every stage of
the project is going to increase the success factor. The staff in not well educated for
running a computerized system. They are adamant in perceiving a mechanical process
of working as they have long been used to the manual entry system. This aspect needs
considerable amount of attention. Our system is also feasible for organization because it
supports of the organization and its strategic plan.
3. Economic Feasibility
The procedure is to determine the benefits and savings that are expected from a
candidate system and compare it with the costs. If a benefit outweighs costs, then the
decision is made to design and implement the system.
Otherwise further alterations are made in the proposed system
1. Manpower cost
2. Hardware and software cost.
16. 6
CHAPTER 4
METHODOLOGY
4.1 Waterfall Life Cycle Model
Waterfall model states that the phases (analysis, design, and coding, testing, support)
are systematized in a linear order and each phase should accomplished entirely earlier
of the next phase begins. In this way the step by step phase initially analyzing phase is
completed and that output takes place at the end of analyze phase after that output will
be given as input for the design phase, depending on the inputs it generates all design
steps, like ways all phases processed and produced all successful outputs, And will to
find out whether the project is pursuing on the exact path or not. If not the project may
be discard or any other action takes place to continue. The model is the most
commonly used and also known as linear sequential lifecycle model.
Fig 4.1 Waterfall Life Cycle Model
17. 7
Advantages:
1. This model is very easy to use and implement.
2. Each phase is completed at a time and processed.
3. This model better works for smaller projects if only the requirements are well
understood.
4. In each phase have deliverables and that must be reviewed.
Disadvantages:
1 If the requirements are gathered are inaccurate then the final product is inaccurate and
the error is known in the final phase of the model. Any sort of errors that cannot be
detected in any previous phase.
2 For long, object-oriented, complex and ongoing projects it’s a poor model.
3 This model has high risks.
18. 8
CHAPTER 5
TECHNOLOGIES
5.1 MySQL
MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses.
MySQL is developed, marketed, and supported by MySQL AB, which is a Swedish
company. MySQL is becoming so popular because of many good reasons:
1 MySQL is released under an open-source license. So you have nothing to pay to
use it.
2 MySQL is a very powerful program in its own right. It handles a large subset of
the functionality of the most expensive and powerful database packages.
3 MySQL uses a standard form of the well-known SQL data language.
4 MySQL works on many operating systems and with many languages including
PHP, PERL, C, C++, JAVA, etc.
5 MySQL works very quickly and works well even with large data sets.
6 MySQL is very friendly to PHP, the most appreciated language for web
development.
7 MySQL supports large databases, up to 50 million rows or more in a table. The
default file size limit for a table is 4GB, but you can increase this (if your
operating system can handle it) to a theoretical limit of 8 million terabytes (TB).
8 MySQL is customizable. The open-source GPL license allows programmers to
modify the MySQL software to fit their own specific environments.
5.2 JDBC (JAVA DATABASE CONNECTIVITY)
JDBC technology is an API(included in both J2SE and J2EE releases) that provides
cross DBMS connectivity to a wide range of SQL database and access to other tabular
data sources, such as spreadsheets or flat files. With a JDBC technology-enabled driver,
you can connect all corporate data even in a heterogeneous environment.
19. 9
The JDBC API makes it possible to do three things:
Establish a connection with a database or access any tabular data source
Send SQL statements
Process the results
Types of JDBC Drivers
A JDBC-ODBC bridge provides JDBC API access via one or more ODBC drivers.
A native-API partly Java technology-enabled driver converts JDBC calls into calls on
the client API for Oracle, Sybase, Informix, DB2, or other DBMS.
A net-protocol fully Java technology-enabled driver translates JDBC API calls into a
DBMS-independent net protocol which is then translated to a DBMS protocol by a
server. A native-protocol fully Java technology-enabled driver converts JDBC
technology calls into the network protocol used by DBMSs directly.
5.3 JDBC Architecture
The JDBC Architecture consists of two layers:
The JDBC API, which provides the application-to-JDBC Manager connection.
The JDBC Driver API, which supports the JDBC Manager-to-Driver Connection.
The JDBC API uses a driver manager and database-specific drivers to provide
transparent connectivity to heterogeneous databases. The JDBC driver manager
ensures that the correct driver is used to access each data source.
Java
JDBC
JDBC
Driver
JDBC JDBC JDBC
Oracl
SQL
ODB
C
20. 10
Fig 5.3 JDBC Architecture
5.4 Netbeans
NetBeans is first and foremost a well-crafted open source programmer's integrated
development environment (IDE). It's powerful, it's useful, it's extensible, it's open and
it's free. The practices which Net Beans imposes are fully as intricate as your current
development practices. More intricate, perhaps, because if you are a real programmer,
you will wish to supplement your work style with Net Beans rather than attempting to
use Net Beans to completely replace your current work style. The practice of Net
Beans development is not easier. It's just more effective than what you were doing
before Net Beans. It provides the services common to creating desktop applications
such as window and menu management, settings storage and is also the first IDE to
fully support JDK 5.0 features.
Features
Net Beans offers all the usual and expected features of an IDE:
A syntax-coloring editor aware not only of the Java language.
Component inspector
Object browser
Debugger
Integrated source control support for
External CVS
Built-in CVS
Most external source control systems of your choice
5.4.1 Application
The Net Beans platform and IDE are free for commercial and non-commercial use, and
they are supported by Sun Microsystems. It can be downloaded from
http://www.netbeans.org/ to be able to successfully build programs it is recommended
to follow the intended procedure, described here. First it’s important to create a new
project. Various project types are available however in this case the intended type will
be Java Application.
21. 11
It is recommended that you change the name of the project to something of this sort:
unit_1.Here the chosen location is: netbeans_home/workspace. To keep control over
the way that classes (e.g. the main launching class) are defined it is recommended to
uncheck the two check boxes. After Finish is clicked the new project structure will be
in place, however we now need to extend this by adding a new package. In this manner
classes associated with the same topics can be stored in one package. The end result
will be multiple packages in one project, each having a number of classes (programs).
The process is simple, just right-click on the Source Package label in Net Beans’
Projects tab and click New -> Java Package.
Here we will label the package as exercises. Clicking Finish will terminate this
process. Next we will create a simple class example and store it within our newly
created package. This process is very straight forward and involves a right-click on the
appropriate exercises package, after which we choose Java Class. Set the class name to
Welcome. The other details can be checked to verify that all is as intended. The new
class structure will be generated and at this point we need to edit the code and add the
necessary lines. Note that the first line of code is referring to the package name in
which this class will be stored. The code is missing a main method (since we un
checked the check box previously, which we add. Within this method we also need to
add the line System.out.println (“Welcome to Java”);
Notice that while adding this line of code Net Beans’ editor will be suggesting stuff to
make our lives easier. The next step is to either save , compile and execute our
program, or else execute it directly (which will automatically save and compile). Any
output from the executed program will be displayed in the terminal window. In the
above example the program executed correctly and the intended message “Welcome to
Java” displayed. If some compile time and runtime errors were encountered, the
appropriate exception message would have also been displayed in this window.
22. 12
CHAPTER 6
SOFTWARE DESIGN DESCRIPTION
Design
Design is the first step in the development phase for any engineering product or
system. It may be defined as a “the process of applying various techniques and
principles for the purpose of defining a device, a process, or a system insufficient
detail to permit its physical realization”.
Software design is an iterative process through which requirements are translated into
a “blue print” for the constructing software. The design is represented at high level of
abstraction, a level that can be directly translated to a specific data, functional behavior
requirements. Preliminary design is concerned the transformation of requirements into
a data and software architecture.
The design is solution, a “how to” approach to the creation of a new system. This is
composed of several steps. It provides the understanding and procedural details
necessary for implementing the system recommended.
The database design transforms the information domain model created during analysis
into the data structures that will be required to implemented software.
The architecture design describes how the software communicates within itself, to
systems that interoperate with it, and with humans who use it. An interface implements
flow of information.
The interface design describes how the software communicates within itself, to systems
that interoperate with it, and with humans who use it. An interface implements flow of
information.
6.1 Input Design
Input design is the process of converting user-oriented input to a computer based
format. Input design is a part of overall system design, which requires very careful
attention. Often the collection of input data is the most expensive part of the system.
The main objectives of the input design are
23. 13
1 Produce cost effective method of input
2 Achieve highest possible level of accuracy
3 Ensure that the input is acceptable to and understood by the staff.
6.1.1 Input data
The goal of designing input data is to make entry easy, logical and free from errors as
possible. The entering data entry operators need to know the allocated space for each
field; field sequence and which must match with that in the source document. The
format in which the data fields are entered should be given in the input form .Here data
entry is online; it makes use of processor that accepts commands and data from the
operator through a key board. The input required is analyzed by the processor. It is
then accepted or rejected. Input stages include the following processes:
Data Recording
Data Transcription
Data Conversion
Data Verification
Data Control
Data Transmission
Data Correction
One of the aims of the system analyst must be to select data capture method and
devices, which reduce the number of stages so as to reduce both the changes of errors
and the cost .Input types, can be characterized as:
External
Internal
Operational
Computerized
Interactive
Input files can exist in document form before being input to the computer. Input design
is rather complex since it involves procedures for capturing data as well as inputting it
to the computer.
24. 14
6.2 Output Design
Outputs from computer systems are required primarily to communicate the results of
processing to users. They are also used to provide a permanent copy of these result for
latter consultation .Computer output is the most important and direct source of
information to the users. Designing computer output should proceed in an organized
well throughout the manner. The right output must be available for the people who
find the system easy o use. The outputs have been defined during the logical design
stage. If not, they should defined at the beginning of the output designing terms of
types of output connect, format, response etc.
Various types of outputs are:
External outputs
Internal outputs
Operational outputs
Interactive outputs
Turn around outputs
All screens are informative and interactive in such a way that the user can fulfill his
requirements through asking queries.
6.3 UML Diagrams
Design is the place where quality is fostered in software development. Design is the
only way that we can accurately translate a user’s requirements into a finished
software product or system. Software design serves as the foundation for all software
engineers and software maintenance steps that follow. Without design we risk building
an unstable design – one that will fail when small changes are made, one that may be
difficult to test, and one whose quantity cannot be assessed until late in the software
engineering process.
Taking software requirements specification document of analysis phase as input to the
design phase we have drawn Unified Modeling Language (UML) diagrams. UML
depends on the Visual modeling of the system. Visual modeling is the process of
taking the information from the model and displaying it graphically using some sort of
25. 15
standards set of graphical elements.
UML Diagrams are drawn using the Visual Paradigm Software. We seem to be able to
understand complexity better when it is displayed to us visually as opposed to written
textually. By producing visual models of a system, we can show how system works on
several levels. We can model the interactions between the users and the system.
Types of UML Diagrams
Each UML diagram is designed to let developers and customers view a software system
from a different perspective and in varying degrees of abstraction. UML diagrams
commonly created in visual modeling tools include:
Use Case Diagram: Displays the relationship among actors and use cases.
Class Diagram: Models class structure and contents using design elements such as
classes, packages and objects. It also displays relationships such as containment,
inheritance, associations and others.
Interaction Diagrams:
Sequence Diagram: Displays the time sequence of the objects participating in the
interaction. This consists of the vertical dimension (time) and horizontal dimension
(different objects).
Collaboration Diagram: Displays an interaction organized around the objects and their
links to one another. Numbers are used to show the sequence of messages.
State Diagram: Displays the sequences of states that an object of an interaction goes
through during its life in response to received stimuli, together with its responses and
actions.
Activity Diagram: Displays a special state diagram where most of the states are action
states and most of the transitions are triggered by completion of the actions in the source
states. This diagram focuses on flows driven by internal processing.
Physical Diagrams:
Component Diagram: Displays the high level packaged structure of the code itself.
Dependencies among components are shown, including source code components, binary
code components, and executable components. Some components exist at compile time,
at link time, at run times well as at more than one time.
Deployment Diagram: Displays the configuration of run-time processing elements and
the software components, processes, and objects that live on them. Software component
instances represent run-time manifestations of code units.
26. 16
Views of UML Diagrams
Considering that the UML diagrams can be used in different stages in the life cycle of a
system, let us take a look at the "4+1 view" of UML diagrams. The 4+1 view offers a
different perspective to classify and apply UML diagrams. The 4+1 view is essentially
how a system can be Each of these views represents how a system can be modeled. This
will enable us to understand where exactly the UML diagrams fit in and their
applicability. viewed from a software life cycle perspective. Each of these views
represents how a system can be modeled. This will enable us to understand where
exactly the UML diagrams fit in and their applicability.
The different views are:
Design View:
The design view of a system is the structural view of the system. This gives an idea of
what a given system is made up of. Class diagrams and object diagrams form the design
view of the system.
Process View:
The dynamic behavior of a system can be seen using the process view. The different
diagrams such as the state diagram, activity diagram, sequence diagram, and
collaboration diagram are used in this view.
Component View:
Component view shows the grouped modules of a given system modeled using the
Use case View:
Finally, we have the use case view. Use case diagrams of UML are used to view a
system from this perspective as a set of discrete activities or transactions.
6.4 DATA FLOW DIAGRAMS
6.4.1 Cashier Registration:
27. 17
Request Cashier Information
Response Cashier Information
Response
Fig 6.4.1 Cashier Registration
6.4.2 Maintain Stock details:
Request Stock Information
Response Stock Information
Response
Fig 6.4.2 Maintain Stock detail
6.4.3 Create Bill:
Request Request Bill request
Response Response Bill
Response
Fig 6.4.3 Create Bill
6.4.4 Product Search:
Request Product Information
Response Product Information
Response
Fig 6.4.4 Product Search.
Admin Server Cashier
database
Admin Server Stock
database
Customer Server Bill
database
Cashier
Cashier Server Stock
database
28. 18
6.4.5 Bill Search:
Request Bill No
Response Bill Information
Fig 6.4.5 Bill Search.
6.5 Database Design
6.5.1 Admin Details:
Field Type Null Key Default Extra
Username varchar(15) YES NULL
Password varchar(15) YES NULL
Table 6.5.1 Admin details
6.5.2 Cashier Details:
Field Type Null Key Default Extra
Id int(15) NO PRI NULL auto-increment
Name varchar(15) YES NULL
Mno varchar(15) YES NULL
Address varchar(15) YES NULL
Email varchar(15) YES NULL
Password varchar(15) YES NULL
Table 6.5.2 Cashier detail
Cashier Server Stock
database
29. 19
6.5.3 Stock Details:
Field Type Null Key Default Extra
Id int(15) NO PRI NULL
Pname varchar(15) YES NULL
Available int(15) YES NULL
Mrp int(15) YES NULL
Table 6.5.3 Stock detail
6.5.4 Bill Details:
Field Type Null Key Default Extra
Bno int(15) NO PRI NULL auto-increment
Cname varchar(15) YES NULL
Amt int(15) YES NULL
Pdate Date YES NULL
Table 6.5.3 Bill detail
30. 20
CHAPTER 7
SAMPLE CODE AND SCREENSHOTS
7.1 Quick bill :
Code :
import java.awt.event.*;
import java.awt.*;
public class Quickbill extends javax.swing.JFrame {
public Quickbill() {
initComponents();
this.setLocation(300,100);
}
public void close(){
WindowEventwinClosingEvent=new
WindowEvent(this,WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(winClosingEvent);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
close();
AdminLogin al=new AdminLogin();
al.setVisible(true);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
close();
CashLogin cash=new CashLogin();
31. 21
cash.setVisible(true);// TODO add your handling code here:
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Quickbill().setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel2;
}
Fig 7.1 Quick bill
56. 46
CHAPTER 8
TESTING
A process of executing a program with the explicit intention of finding errors, that is
making the program fail.
Software Testing
It is the process of testing the functionality and correctness of software by running it.
Process of executing a program with the intent of finding an error
A good test case is one that has a high probability of finding an as yet undiscovered
error. A successful test is one that uncovers an as yet undiscovered error.
Software Testing is usually performed for one of two reasons
Defect detection
Reliability estimation
Black Box Testing
Applies to software or module, tests functionality in terms of inputs and outputs at
Interfaces. Test reveals if the software is fully operational with reference to
requirements specification.
White Box Testing
Knowing the internal working i.e. to test if all internal operation are performed
according to program structure and data structures.
Testing Objective
The main aim of testing is to uncover a host of errors, systematically and with minimum
effort and time. Starting formally, we can say, Testing is a process of executing a
program with the intent of finding an error. A successful test is one that uncovers an as
yet undiscovered error.
As he good test case is one that has a high probability of finding errors, if it exists. But
there is one thing that testing cannot do testing cannot show the absence of defects it
can only show that software defects are present.
57. 47
As the test results are gathered and evaluated they begin to give a qualitative indication
of the reliability of the software. If servers’ errors are detected, the overall quality of the
software is a natural suspect. If, on the other hand, all the errors, which are encountered,
are easily modifiable, then one of the two conclusions can be made:
For the purpose of the current system we are assuming that in the event that errors that
are easily modifiable points to the later possibility, since repeating the entire testing
routine can be very time consuming. What we propose to do instead is to get it tested
by one or more persons who are not a part of the development team but is well versed
with the subject and with the concept of software testing. If we cannot detect any
serious errors, it will enable us to state with the more confidence that the software does
actually conform to expected standards.
Test Plan
The importance of software testing and its implementations cannot be
overemphasized. Software testing is a critical element of Software Quality Assurance
and represents the ultimate review of the specifications, design and coding.
Testing Methodology
In order to uncover the errors present in the different phases we have the concept of
levels of testing. The basic levels of testing are as shown below:
Fig 8.1 Various levels of Testing
Test Cases
A strategy for software testing will begin in the following order
1. Unit testing
2. Integration testing
58. 48
3. Validation testing
4. System testing
Unit Testing
It concentrates on each unit of the software as implemented in source code and is a
white box oriented. Using the component level design description as a guide, important
control paths are tested to uncover errors within the boundary of the module. In the unit
testing, the step can be conducted in parallel for multiple components.
Integration Testing
Here focus is on design and construction of the software architecture. Integration 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 that has been dictated by design.
Validation Testing
In this requirements established as part of software requirements analysis are validated
against the software that has been constructed i.e., validation succeeds when software
function in a manner that can be reasonably expected by the customer.+
System Testing
Is the menu bar displayed in the appropriate contested some system related features
included either in menus or tools? Do pull –Down menu operation and Tool-bars work
properly? Are all menu function and pull down sub function properly listed?; Is it
possible to invoke each menu function using a logical assumptions that if all parts of the
system are correct, the goal will be successfully achieved .? In adequate testing or non-
testing will leads to errors that may appear few months later.
The purpose of the system testing is to consider all the likely variations to which it will
be suggested and push the systems to limits.
The testing process focuses on the logical intervals of the software ensuring that all
statements have been tested and on functional interval is conducting tests to uncover
errors and ensure that defined input will produce actual results that agree with required
results. Program level testing, modules level testing integrated and carried out.
59. 49
CHAPTER 9
CONCLUSION
“Supermarket Management System” software developed for a company has been designed to
reduce the time taken to handle the sales activity. It is designed to replace an existing manual
record system for reducing time taken for calculations and for storing data. The system uses
JAVA Swing as front end and MySQL server as a backend for the database.
The system is strong to handle daily operations where the database is cleared over certain time.
This system will reduce manual work, calculations and will also provide periodic reports any
time.
The proposed supermarket management system is very useful for big supermarkets as well as
small ones to manage their inventories, staffs, and records of purchases and sales. New features
and modules can be easily added into the system, so the project is very flexible and can adapt to
the requirements of the supermarket and its users.
60. 50
REFERENCE
Bruce Eckel, Thinking in Java Third Edition, Publisher: Pearson Education.
Herbert Schildt,The Complete Reference to Java 2, Publisher: Tata McGraw-Hill.
Roger S. Pressman, Software Engineering-A practitioner’s approach, Publisher:
Tata McGraw-Hill.
Grady Booch, James Rumbaing, Ivar Jacobson, The Unified Modelling Language
User Guide, Publisher: Pearson Education.
Martin Fowler & Scott, UML Distilled Second Edition, Publisher Pearson
education
Michael Morrison, Wireless Java with J2ME, Publisher Tec media