We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 23
CONTENTS
. Introduction. 05-06
. Objective & Scope of the Project ----- 06-08
. Theoretical Background
. Problem Definition & Analysis
. System Implementation
6.1 The Hardware used
6.2 The Softwares used
6. System Design & Development
7.2 Database Design
7.3 Menu Design
7.4 |/O Forms Design & Event Coding
7. User Manual. 45-47
8.1 How to install
8.2 Working with Software
8. References.coding simplicity. As a back-end a powerful, open source
RDBMS, My SQL is used as per requirement of the CBSE
curriculum of Informatics Practices Course.
2. Objective & Scope of the Project
he objective of the software project is to develop
a computerized MIS to automate the functions of
a spots shop This software project is also aimed to
enhance the current record keeping system, which
will help managers to retrieve the up-to-date
information at right time in right shape.
The proposed software system is expected to do the
following functionality-
¥ To provide a user friendly, Graphical User Interface
(GUI) based integrated and centralized environment
for MIS activities.
¥ The proposed system should maintain all the
records and transactions, and should generate the
required reports and information when required.
¥ To provide graphical and user-friendly interface to
interact with a centralized database based on
client-server architecture.2. There is no provision to calculate fine or penalty
etc. for defaulter members; however it can be
developed easily with the help of adding modules.
3. Some application area like deleting the record.
So far as future scope of the project is concerned,
firstly it is open to any modular expansion i.e. other
modules or functions can be designed and embedded
to handle the user need in future. Any part of the
software and reports can be modified independently
without much effort.Role of RDBMS Application Program:
A computer database works as an electronic filing
system, which has a large number of ways of cross-
referencing, and this allows the user many different
ways in which to re-organize and retrieve data. A
database can handle business inventory, accounting
and filing and use the information in its files to
prepare summaries, estimates and other reports. The
management of data in a database system is done by
means of a general-purpose software package called
a Database Management System (DBMS). Some
commercially available DBMS are MS SQL Server, MS
ACCESS, INGRES, ORACLE, and Sybase. A database
management system, therefore, is a combination of
hardware and software that can be used to set up and
monitor a database, and can manage the updating
and retrieval of database that has been stored in it.
Most of the database management systems have the
following capabilities:
¢ Creating of a table, addition, deletion, modification
of records.
¢ Retrieving data collectively or selectively.
The data stored can be sorted or indexed at the
user's discretion and direction.
¢ Various reports can be produced from the system.
These may be either standardized report or thatafter co-founder Monty Widenius's daughter, my. The
name of the MySQL Dolphin (our logo) is “Sakila,”
. MySQL is a database management system.
A database is a structured collection of data. It may
be anything from a simple shopping list to a picture
gallery or the vast amounts of information in a
corporate network. To add, access, and process
data stored in a computer database, you need a
database management system such as MySQL
Server. Since computers are very good at handling
large amounts of data, database management
systems play a central role in computing, as
standalone utilities, or as parts of other
applications.
MySQL is based on SQL.
A relational database stores data in separate tables
rather than putting all the data in one big
storeroom. This adds speed and flexibility. TheSQL
part of “MySQL” stands for “Structured Query
Language.” SQL is the most common standardized
language used to access databases and is defined by
the ANSI/ISO SQL Standard. The SQL standard has
been evolving since 1986 and several versions
exist. In this manual, “SQL-92” refers to the
standard released in 1992, “SQL: 1999” refers to the
standard released in 1999, and “SQL: 2003” refers
to the current version of the standard.
MySQL software is Open Source.
Open Source means that it is possible for anyone
to use and modify the software. Anybody can
download the MySQL software from the Internet and
use it without paying anything. If you wish,you
may study the source code and change it toProvides transactional and no transactional
storage engines.
Uses a very fast thread-based memory allocation
system.
Executes very fast joins using an optimized
nested-loop join.
Implements SQL functions using a highly
optimized class library that should be as fast as
possible. Usually there is no memory allocation at
all after query initialization.
Provides the server as a separate program for use
in a client/server networked environment, and as
a library that can be embedded (linked) into
standalone applications. Such applications can be
used in isolation or in environments where no
network is available.
Password security by encryption of all password
traffic when you connect to a server.
Support for large databases. We use MySQL
Server with databases that contain 50 million
records. We also know of users who use MySQL
Server with 200,000 tables and about
5,000,000,000 rows.
MySQL client programs can be written in many
languages. A client library written in C is available
for clients written in C or C++, or for any
language that provides C bindings.
APIs for C, C++, Eiffel, Java, Perl, PHP, Python,
Ruby, and Tcl are available, enabling MySQL
clients to be written in many languages.
The Connector/ODBC (MyODBC) interface provides
MySQL support for client programs that use ODBC
(Open Database Connectivity) connections.Something else was afoot in the summer of 1999: Sun
Microsystems wanted better Java development tools,
and had become interested in NetBeans. It wasa dream
come true for the NetBeans team: NetBeans would
become the flagship tool set of the maker of Java itself!
By the fall, with the next generation of NetBeans
Developer in beta, a deal was struck. Sun Microsystems
had also acquired another toolscompany, during the
acquisition, the young developers who had been
involved in open-source projects for most of their
programming careers, mentioned the idea of open-
sourcing NetBeans. Fast forward to less than six months
later, the decision was made that NetBeans would be
open sourced. WhileSun had contributed considerable
amounts of code to open source projects over the
years, this was Sun'sfirst sponsored open source
project, one in which Sunwould be paying for the site
and handling the infrastructure.
Features of Net Beans
A free, open-source Integrated Development
Environment for software developers. You get all the
tools you need to create professional desktop,
enterprise, web, and mobile applications with the Java
platform, as well as C/C++, PHP, JavaScript, Groovy,
and Ruby.
NetBeans IDE 6.9 introduces the JavaFX Composer,
support for JavaFX SDK 1.3, OSGi interoperability,
support for the PHP Zend framework and Ruby on
Rails 3.0, and more.After the analysis of the functioning of a Sport shop
system, the proposed System is expected to do the
following: -
¥ To provide a user friendly, Graphical User Interface
(GUI) based integrated and centralized environment
for computerized Sport shop management System.
¥ The proposed system should maintain all the
records and transactions, and should generate the
required reports and information when required.
¥To provide efficient and secured Information
storage, flow and retrieval system, ensuring the
integrity and validity of records.
¥ To provide graphical and user-friendly interface to
interact with a centralized database based on
client-server architecture.
¥ To identify the critical operation procedure and
possibilities of simplification using modern IT tools
and practices.6. System Design & Development
6.1 Database Design:
An important aspect of system design is the design of
data storage structure. To begin with a logical model
of data structure is developed first. A database is a
container object which contains tables, queries,reports
and data validation policies enforcement rules or
constraints etc. A logical data often represented asa
records are kept in different tables after reducing
anomalies and redundancies. The goodness of database
design lies in the table structure and its relationship.
This software project maintains a database named
shopkeeper which contains the following tables.
Table Design:
The database of shopkeeper System contains 5 tables.
The tables are normalized to minimize the redundancies
of data and enforcing the validation rules of the
organization. Most of the tables are designed to store
master records. The tables and their structure are given
below.
‘Table: shopkeeper
Column Name Type
‘Shooper_id Integer
name Varchar
city Varchar
phone Varchar
address Varchar
Table: item
Column Name Type
Ttem_id Integer
Item mame
description
price
Table: orderitem6.2 Menu Design:
JSS Info ware gateway comprises the following
options, organized in a user friendly way. The menu
system divided in Menu Bars, each having a pull down
menus containing options for a specific task.
Sr. | Menu Bar _| Pull Down Menu’ Purpose Forms Attached
1 f PubUT)
Customer entry __| serton of Cusiomer ubUT ava
Sports [item entry Insertion of tem records. _| PubEditUI java
club Order entry Insertion of Order records. | PubDelUljava
Customer list, view Customer ist TibUTjava
Ttem list view Item list UibEditUTjava
Order list view Order ist TibDelUljava
Quit Application Close the Application =
6.3 I/O Forms Design & Event Coding:
The software project for Sport shop Management
contains various forms along with programming
codes. Forms (JFrames) and their event coding are
given below.
Frame: MainULjava
SPORTS SHOP1 TODO add your handling code here:
)
private void jMenultem!ActionPerformed(java.awL.event.ActionEvent evt) {
Systemexit( | TODO add your handling code here:
}
js
* @param args the command line arguments
"
public static void main(String args{]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void rund {
new MainMenuUI() setVisible(true);
Frame: SHOPINUT
Shopkeeper Data Input Form
Shopkeeper Detats:
Shopkeeper's 1D.
import java.sql.*s
import javax.swing.JOptionPane;
public class ShopINUI extends javax.swing.JFrame {
/* Creates new form ShopINUI */
ic ShopINUIO {
tComponents();
private void btnBackActionPerformed(ava.awt.event.ActionE vent evt) {
this.setVisible(false);txtSHCity.setText("");
txtSHPhone.setTexti
pe
* @param args the command line arguments.
"7
public static void main(String args|}) {
java.awt. EventQueue.invokeLater(new Runnable() {
public void run() {
new ShopINUI(.setVisible(true);
3
Ds
}
Frame: IemINULjava
Sports Item Input Form
tem Dette
Item 1:
tem Name:
Deserption:
Back to Main
Coding for ItemINUL java
import java.sql.*s
import javax.swing.JOptionPane;
public class ItemINUI extends javax.s
1 Creates new form ItemINUI */
ItemINUIO {
initComponents();
3
private void btnClear ActionPerformed(java.awt.event.ActionEvent evt) {
1 TODO add your handling code here:| Or ee
Sports Item Order Form
Order No. Date:
‘Shopkeeper Id and Name Item Id and Name
{100 Deepak yadav {100- SHOE"S
‘101-ankit aswal 101 TRACK SUIT
4102. Issarar all 103. BAT
tem 1D:
Item price:
Discount
‘order Quantity: ¥ =
Discount (9%): |
Clear
Coding for OrderINULJava
import javax.swing.DefaultListModel;
import java.sql.*s
import javax.swing.JOptionPane;
public class OrderINUI extends javax.swing.JFrame {
J** Creates new form OrderINUI */
OrderINUIO {
initComponents();
3
private void btnClearActionPerformed(java.awt.event.ActionE vent evt) {
1 TODO add your handling code here:
txtOrdno.setText("");
txtOrdDate.setText(
txtSID.setText("");
txtItemID.setText("");
txtSName.setText("");int rowsE ffected = stmt.executeU pdate(strSQL);
stem.out.printIn(rowsEffected +" rows effected");
con.close();
} eatch (Exception ¢) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
}
private void formWindowGainedFocus(java.awt.event. WindowEvent evt) {
11 Creating a ListModel object sModel to perform DefaultListModel
// method operations for Shopkeeper list
DefaultL istModel sModel = (DefaultL istModel) jListl.getModel();
11 Creating a ListModel object Model to perform DefaultComboBoxModel
// method operations for Item list
DefaultL ist Model iModel = (DefaultL ist Model) jList2.getModel();
sModeL.clear();
iModel.clear();
try {
‘Class.forName("'com.mysqL.jdbe.Driver");
Connection con = (Connection)
DriverManager.getConnection(""jdbe: calhost:3306/shopkeeper","root","kvue");
Statement stmt = null;
ResultSet r i;
ResultSet rst = null;
String SQL = "SELECT * FROM shopkeeper’
String SQL1 = "SELECT * FROM item";
stmt = con.createStatement();
1/ Steps to extract shopkeepers id and name
Fs = stmtexecuteQuery(SQL)s
while (rs.next()) {
String sID = rs.getString("Shopper
String Snam tString("Nam
sModel.addElement(sID +" -" +Sname)s
3
jList1.setModel(sModel);
// Steps to extract item id and namewhile (rs.next()) {
uble iprice = rs.getDouble("Price");
tatltemPrice.setText(Double.toString( ip:
7
con.close();
} cateh (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
e.printStackTrace();
4
pe
* @param args the command line arguments
4
public static void main(String argsf}) {
java.awt EventQueue.invokeLater(new Runnable() {
public void run() {
new OrderINUI().setVisible(true);
3
Frame: CustListULjava
Ei customers list
Customer ID ‘Address:
Display/ Query. Back to Menu
Coding of CustListUL java
import javax.swing.table.*;
import javasql.
import javax.swing.JOptionPane;
ajButton2.setText("Back to Menu");
jButton?.add Action istener(new java.awt.event.ActionListener() {
publi jonPerformed(java.awt.event.ActionE vent evt) {
jButton2ActionPerformed(evt);
3
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [Il] {
{oull, null, null, null, null},
{oull, null, null, null, null},
{oull, null, null, null, null},
{null, null, null, null, null}
h
new String [] {
jScrollPanel.setViewportView(Tabl
javax.swing.GroupL ayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(avax.swing.GroupLayout. Alignment.LEADING)
-addGroup (layout.createSequentialGroup()
-addGroup (layout.createParallelGroup(avax.swing.GroupLayout.Alignment.LEADING)
-addGroup(layout.createSequentialGroup()
saddContainerGap0)
.addComponent(jScrollPane1, javax.swing. GroupLayout.DEFAULT_SIZE, 587,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
-addGap(171, 171, 171)
.addComponent(Button1)
.addGap(38, 38, 38)
.addComponent(jButton2)))
.addContainerGap())
%
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout. Alignment.LEADING)
-addGroup(layout.createSequentialGroup()
.addCompon rollPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 172,
javax.swing.GroupLayout.PREFERRED_SIZE)JOptionPane.showMessageDialog( this, e.getMessage());
3
private void jButton2.ActionPerformed(java.awt.event.ActionEvent evt) {
this.setVisible( false);
new MainMenuUl().setVisible(true);
pe
* @param args the command line arguments
4
public static void main(String argsf}) {
java.awt EventQueue.invokeLater(new Runnable() {
public void run) {
new CustListUI().setVisible(true);
3
Ds
}
Frame: MemListULjava
Cerrar
Description
Display/Query BacktoMenu_|
Coding for ItemListUI java
import javax.swing.table.*;
import java.sql.*;
import javax.swing.JOptionPane;
i
* To change this template, choose Tools | Templates
* and open the template in the editor.jButton1 setText("Display/Query");
jButton1.addActionListener(new java.awt.event.ActionListener() {
publi actionPerformed(java.awtevent.ActionE vent evt) {
Button! ActionPerformed(evt);
3
Ds
jTablel .setModel(new javax.swing table.DefaultTableModel(
new Object [II {
{null, null, null, null),
(null, null, null, null},
null, null, null, null),
null, null, null, null}
}
new String {] {
"Item ID", "Name", "Descrip
‘roll Panel setViewportView(jTable1);
javax.swing.GroupL ayout layout = new javax.swing. GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout setHori
layout.createParallelGroup(avax.swing.GroupLayout.Alignment.LEADING)
.addGroup (layout.createSequentialGroup()
-addGroup(layout.createParallelGroup(avax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
-addContainerGapQ)
.addComponent(jSerollPane!, javax.swing.GroupLayout.DEFAULT_SIZE, 564,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
-addGap(171, 171, 171)
.addComponent(Button1)
saddGap8, 38, 38)
.addComponent(Button2)))
addContainerGap())
%
layout setVerticalGroup(
layout.createParallelGroup(avax.swing.GroupLayout.Alignment.LEADING)
.addGroup (layout.createSequentialGroup()
addComponent(jScrollPane!, javax.swing.GroupLayout. PREFERRED_SIZE, 172,
javax.swing.GroupLayout. PREFERRED. SIZE)
addGap(35, 35, 35)System.out.printIn(ITid + "|" + IName + "|" + IDese + "|" + IPrice);
modeladdRow(new Object]] {ITid, Name, IDesc, IPrice});
3
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage));
3
pe
* @param args the command line arguments
a]
public static void main(String argsf]) {
java.awt EventQueue.invokeLater(new Runnable() {
public void run() {
new ItemListUI().setVisible(true);
3
Ds}
Frame: OrdListULjava
OnderNo. | OrderDate | tem ld _|Customerld) Guantiy | Price |Discount(2)|__Amount
[_ Display/Query Back to Menu
Coding for OrdList!
import javax.swing.table.*;
import java.sql.";
import javax.swing.JOptionPane;
* To change this template, choose Tools | Templates
* and open the template in the editor.
4public void actionPerformed(java.awtevent.ActionE vent evt) {
jButton1 ActionPerformed(evt);
3
Ds
jTable1 .setModel(new javax.swing table.DefaultTableModel(
new Object [II] {
(null, null, null, null, null, null, null, null},
(null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
(null, null, null, null, null, null, null, null}
h
new String [] {
"Order No.", "Order Date", "Item Id", "Customer Id", "Qua
"Discount(%)", "Amount
3
DF
jScrollPanel.setViewportView(jTabl
javax.swing.GroupL ayout layout = new javax.swing.GroupLayout(getContentPane();
getContentPane().setLayout(layout);
layout setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout. Alignment.LEADING)
-addGroup (layout.createSequentialGroup()
-addGroup (layout.createParallelGroupGavax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
saddContainerGap0)
.addComponent(jScrollPane!, javax.swing. GroupLayout.DEFAULT_SIZE, 588,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
-addGap(171, 171, 171)
.addComponent(Button1)
.addGap(38, 38, 38)
.addComponent(Button2)))
addContainerGap())
%
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout. Alignment.LEADING)
.addGroup (layout.createSequentialGroup()
.addComponent(ScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 172,
javax.swing.GroupLayout.PREFERRED_SIZE)
addGap(35, 35, 35)
-addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)System.out.printIn(Ordno + "|" + Ordd + "|" +Oltemid + "|" + OSid + "!" + OQty +
"[" + [Price + "|" + Dise + "|" + OAmount);
modeLaddRow(new Object[] {Ordno, Ordd, Oltemid, OSid, OQty, IPrice, Dise,
OAmount});
os
} cateh (Exception e) {
JOptionPane.show MessageDialog(this, e.getMessage());
3
ee
* @param args the command line arguments
4
public static void main(String argsf}) {
java.awt EventQueue.invokeLater(new Runnable() {
public void run() {
new OrdListUI().setVisible(true);
3
Ds
4
EB doopak,ankit and issarar
‘Sports Chib View | qult
aut
SPORTS SHOP
Coding of QUIT
private void jMenultem | ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);_ // TODO add your handling code he
}Note: The PC must have MySQL server with user (root) and
password (kvuc) . If root password is any other password, it
can be changed by running MySQL Server Instance Configure
Wizard.
Start » Program » MySQL > MySQL Server » MySQL Server
Instance Config Wizard
Provide current password of root and new password as
“kyuc” , this will change the root password.
To install a MySQL database from a dump file ( shop.sql) ,
simply follow the following steps.
Step 1: Copy the Lib.sql file in C:\Program
files\Mysql\MySql server 5.1\Bin folder.
Step 2: Open MySQL and type the following command to
create the dabase named Shopkeeper.
mysql> create database shopkeeper;
Step 3: Open Command Window (Start » Run » cmd)
Step 4: Go to the following folder using CD command of
bos.
C:\Program files\Mysql\MySqI server 5.1\Bin>
Step 5: type the following command on above prompt -
C:....\bin> mysql -u root -pkvuc Library < shop.sql
This will create a shopkeeper databse with required tables.
7.2 Working with SoftwareProject:
The Sport Shop Management Program consists of the following
logically organized Menu-structure for the easy functionality.
User may choose the menu options for corresponding works.8. References
In order to work on this project titled -Sport shop
Management System, the following order of spots
material are referred by me during the various phases
of development of the project.
(1) The Complete Reference Java 2.0 -by Shildit
(2) MySQL, Black Book -by Steven Holzner
(2) Understanding SQL - Gruber
(3) http://www.mysgl.org/
(4) http://www.netbeans.ors/
(5) On-line Help of NetBeans ®
(6) Informatics Technology for class XII -by Preeti
Saxena
(7) Various Websites of Discussion Forum and
software development activities.
Other than the above-mentioned books, the
suggestions and supervision of my teacher and my
class experience also helped me to develop this
software project.