Professional Documents
Culture Documents
of the bugs generated in software, maintenance of the bug levels, fixing of the Bugs by
the developers or programmers inside the organization, the status of the bugs etc. It also
provides ways to view the Bug priorities and assigned levels to the bug identified and yet
The Bug priorities are maintained in the form of filters and those filters are
created according to the user level or Administrator level depending upon the status
organized. Reports are now and then produced to maintain the functionality of the
System.
All the above features like entry of the bug information, fixing them up
and the filter maintenance category are dealt within the Fault Detecting System. This
1
TABLE OF CONTENTS
1. Introduction 2
1.1. Problem 2
1.2. Software tools 3
2. Problem Statement 6
3. Methodology 8
4. Problem Description 10
5. System Requirements 12
6. System Analysis and Design 14
6.1 Data collection 14
6.2 Data flow diagram 14
6.3 Feasibility Study 15
6.4 Input/Output&Form Design 16
6.5 Database design 20
7. Source Code 22
8. Result 51
9. Conclusion 58
9.1. Conclusion 58
9.2. Future Enhancement 58
10. Bibliography 60
2
INTRODUCTION
3
INTRODUCTION
Chapter 1
Introduction
1.1 Problem
The objective of this project is to build a tool for the maintenance of bugs involved in
the software production. Based on the performance of each programmer in terms of bugs,
the appraisal value must be calculated. It also automates the process of manually handling
the status and critical evaluation of bugs and its priorities.
4
Platform Independent
5
PROBLEM
STATEMENT
6
PROBLEM STATEMENT
Chapter 2
Problem Statement
7
METHODOLOGY
8
METHODOLOGY
Chapter 3
Methodology
9
PROBLEM
DESCRIPTION
10
PROBLEM DESCRIPTION
Chapter 4
Problem Description
This module identifies the bug for a specific language. The languages will be
distinguished by unique language code. This module includes the types of errors which
are present in the program and a master table is maintained for the type of errors.
In this module the employee details are maintained in a separate database. Also
the details of the project under which the employees are working is maintained.
4.4 Appraisal
The appraisal is calculated depending upon the performance of the employee. The
factors for deciding the performance includes efficiency, effectiveness, total working
hours, time taken to clear the bugs etc.,
This module is developed for assigning permission level for different users. It also
give provision for updating the error codes and assigning accessing and denials.
11
PROBLEM
DESCRIPTION
12
SYSTEM REQUIREMENTS
Chapter 5
Hardware specification:
Software specification:
13
SYSTEM
ANALYSIS
&
DESIGN
14
SYSTEM ANALYSIS & DESIGN
Chapter 6
Bug entry
Fig 6.2.1
Fixation of Bugs
Assigning Priority
15
Testing Group Programmer
Fig 6.2.2
6.3 Feasibility Study:
Technical feasibility:
• Since JAVA is platform independent the project could virtually run on any kind of
architecture.
• User interaction is made easier and provisions are available for updating
information.
•
Economical feasibility:
16
6.4 Input/Output & Form Design
17
Fig 6.4.3 Bug Entry Form
18
Fig 6.4.5 Testing Group Login
19
Fig 6.4.7 Guest Login
20
6.5 Database Design:
Login
Username Varchar2(25)
Password Varchar2(25)
Designation Varchar2(25)
Employee
Ecode Varchar2(10)
Ename Varchar2(25)
Eadd Varchar2(25)
Ecity Varchar2(25)
Epin Varchar2(25)
Ephone Varchar2(10)
Edept Varchar2(25)
Edesign Varchar2(25)
Eskillset Varchar2(10)
Epstage Varchar2(25)
Bugmas
Buglang Varchar2(10)
Bugcode Varchar2(10)
Bugtype Varchar2(10)
Bugname Varchar2(10)
Bugdesc Varchar2(25)
21
Bugentry
Ename Varchar2(25)
Ecode Varchar2(10)
Opendate Date
Duedate Date
Projname Varchar2(25)
Modname Varchar2(25)
Section Varchar2(25)
Langtype Varchar2(10)
Errcode Varchar2(10)
Errname Varchar2(25)
Errstatus Varchar2(10)
Appraisalval
Ecode Varchar2(10)
Ename Varchar2(25)
Edesign Varchar2(25)
Joindate Date
Appperiod Varchar2(10)
Projteam Varchar2(10)
Projname Varchar2(25)
Valuepoints Number
CODING
22
CODING
Chapter-7
login.java
import javax.swing.*;
23
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import java.sql.*;
import java.net.*;
import java.io.*;
JTextField tfield_user_name;
JPasswordField tfield_password;
JLabel label_user_name,label_password,label_message;
JButton button_login,button_cancel;
login()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection("jdbc:odbc:siva","scott","tiger");
statement = connection.createStatement();
}
24
catch(Exception x)
{System.out.println(x);
}
tfield_user_name=new JTextField();
tfield_password=new JPasswordField();
label_message=new JLabel("Enter username & password");
label_user_name=new JLabel("User Name");
label_password=new JLabel("Password");
button_login=new JButton("Login");
button_cancel=new JButton("Cancel");
c.setLayout(null);
f.setBounds(200,200,300,170);
label_message.setBounds(60,10,225,20);
label_user_name.setBounds(10,35,75,20);
label_password.setBounds(10,65,75,20);
tfield_user_name.setBounds(120,35,150,20);
tfield_password.setBounds(120,65,150,20);
button_login.setBounds(50,100,75,25);
button_cancel.setBounds(150,100,75,25);
c.add(label_message);
c.add(label_user_name);
c.add(label_password);
c.add(tfield_user_name);
c.add(tfield_password);
25
c.add(button_login);
c.add(button_cancel);
tfield_user_name.addKeyListener(this);
tfield_user_name.addFocusListener(this);
tfield_password.addFocusListener(this);
tfield_password.addKeyListener(this);
button_cancel.addActionListener(this);
button_cancel.addKeyListener(this);
button_cancel.addFocusListener(this);
button_login.setFocusable(true);
button_login.addActionListener(this);
button_login.addKeyListener(this);
button_login.addFocusListener(this);
f.setResizable(false);
f.show();
}
26
{ tfield_password.requestFocusInWindow();}
if (ke.getSource()==tfield_password)
{ button_login.requestFocusInWindow();}
if (ke.getSource()==button_login)
{ button_login.doClick();}
if(ke.getSource()==button_cancel)
{
button_cancel.doClick();
}
}
}
}
if(e.getSource()==button_login)
{
try{
String s=tfield_user_name.getText().toLowerCase().trim();
String s1=tfield_password.getText().toLowerCase().trim();
String a,a1;
27
rs=statement.executeQuery("select * from login");
while(rs.next())
{
a=rs.getString(1);
a1=rs.getString(2);
a2=rs.getString(3);
if(s.equals(a) && s1.equals(a1))
{
tfield_user_name.requestFocusInWindow();
tfield_user_name.setText("");
tfield_password.setText("");
}
}
catch(Exception a1)
{}
}
}
public static void main(String[] args)
{
28
new login();
}}
logentry.java
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import java.sql.*;
import java.net.*;
import java.io.*;
JFrame f;
Container c;
Connection connection;
Statement statement;
ResultSet rs1;
boolean f1=false;
String a2="hai";
JTextField tfield_user_name,tfield_designation,tfield_password;
//JPasswordField tfield_password;
JLabel label_user_name,label_password,label_designation,label_message;
JButton button_add,button_cancel,button_clear;
29
logentry()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection("jdbc:odbc:siva","scott","tiger");
statement = connection.createStatement();
}
catch(Exception x)
{System.out.println(x);
}
tfield_user_name=new JTextField();
tfield_password=new JTextField();
tfield_designation=new JTextField();
button_add=new JButton("Add");
button_cancel=new JButton("Cancel");
button_clear=new JButton("Clear");
c.setLayout(null);
f.setBounds(200,200,300,200);
label_user_name.setBounds(10,35,75,20);
label_password.setBounds(10,65,75,20);
30
label_designation.setBounds(10,95,75,20);
tfield_user_name.setBounds(120,35,150,20);
tfield_password.setBounds(120,65,150,20);
tfield_designation.setBounds(120,95,150,20);
button_add.setBounds(28,125,75,25);
button_clear.setBounds(108,125,75,25);
button_cancel.setBounds(188,125,75,25);
c.add(label_user_name);
c.add(label_password);
c.add(label_designation);
c.add(tfield_user_name);
c.add(tfield_password);
c.add(tfield_designation);
c.add(button_add);
c.add(button_cancel);
c.add(button_clear);
tfield_user_name.addKeyListener(this);
tfield_user_name.addFocusListener(this);
tfield_password.addFocusListener(this);
tfield_password.addKeyListener(this);
tfield_designation.addFocusListener(this);
tfield_designation.addKeyListener(this);
button_cancel.addActionListener(this);
button_cancel.addKeyListener(this);
button_cancel.addFocusListener(this);
31
button_clear.addActionListener(this);
button_clear.addKeyListener(this);
button_clear.addFocusListener(this);
button_add.setFocusable(true);
button_add.addActionListener(this);
button_add.addKeyListener(this);
button_add.addFocusListener(this);
f.setResizable(false);
f.show();
}
public void focusGained(FocusEvent fe)
{
}
if (ke.getSource()==tfield_password)
{ tfield_designation.requestFocusInWindow();}
if (ke.getSource()==tfield_designation)
{ button_add.requestFocusInWindow();}
if (ke.getSource()==button_add)
32
{ button_add.doClick();}
if (ke.getSource()==button_clear)
{ button_clear.doClick();}
if(ke.getSource()==button_cancel)
{
button_cancel.doClick();
}
}
}
}
if(e.getSource()==button_add)
33
{
try{
String s1=tfield_user_name.getText().toLowerCase().trim();
String s2=tfield_password.getText().toLowerCase().trim();
String s3=tfield_designation.getText().toLowerCase().trim();
String a,a1;
if(rs1.next())
{
JOptionPane.showMessageDialog(f,"Employee Code already exist
" ,"Confirmation"+"Message",JOptionPane.INFORMATION_MESSAGE);
button_clear.doClick();
}
else
{
statement.executeUpdate("insert into login values('"+s1+"','"+s2+"','"+s3+"')");
statement.executeUpdate("commit");
JOptionPane.showMessageDialog(f,"Record Added
" ,"Confirmation"+"Message",JOptionPane.INFORMATION_MESSAGE);
button_clear.doClick();
}
}
catch(Exception a1)
{}
}
}
public static void main(String[] args)
{
new logentry();
}}
34
bugentry.java
import java.awt.*;
import java.lang.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.net.*;
import java.io.*;
import java.sql.*;
Connection connection;
Statement statement;
ResultSet rs1,rs;
int value;
35
JTextField tf_testername=new JTextField();
36
JLabel lbl_status=new JLabel("Status");
JTextField tf_status=new JTextField();
bugentry()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection("jdbc:odbc:mano","scott","tiger");
statement = connection.createStatement();
}
catch(Exception x)
{
System.out.println(x);
}
c=f.getContentPane();
c.setLayout(null);
testername_panel.setBounds(10,50,500,55);
//testername_panel.setBorder(border);
testername_panel.setLayout(grid);
bugdetail_panel.setBounds(10,120,500,140);
//bugdetail_panel.setBorder(border);
bugdetail_panel.setLayout(new GridLayout(5,4,10,5));
37
btn_panel.setBounds(10,280,500,40);
//btn_panel.setBorder(border);
btn_panel.setLayout(new GridLayout(1,3,5,5));
testername_panel.add(lbl_testername);
testername_panel.add(tf_testername);
testername_panel.add(lbl_code);
testername_panel.add(tf_code);
testername_panel.add(lbl_date);
testername_panel.add(tf_date);
testername_panel.add(lbl_duedate);
testername_panel.add(tf_duedate);
bugdetail_panel.add(lbl_projname);
bugdetail_panel.add(tf_projname);
bugdetail_panel.add(lbl_modname);
bugdetail_panel.add(tf_modname);
bugdetail_panel.add(lbl_section);
bugdetail_panel.add(tf_section);
bugdetail_panel.add(lbl_lang);
bugdetail_panel.add(tf_lang);
bugdetail_panel.add(lbl_errorcode);
bugdetail_panel.add(tf_errorcode);
bugdetail_panel.add(lbl_name);
38
bugdetail_panel.add(tf_name);
bugdetail_panel.add(lbl_desc);
bugdetail_panel.add(tf_desc);
bugdetail_panel.add(lbl_pgmname);
bugdetail_panel.add(tf_pgmname);
bugdetail_panel.add(lbl_status);
bugdetail_panel.add(tf_status);
btn_panel.add(btn_add);
btn_panel.add(btn_clear);
btn_panel.add(btn_cancel);
tf_projname.addFocusListener(this);
tf_modname.addFocusListener(this);
tf_section.addFocusListener(this);
tf_lang.addFocusListener(this);
tf_errorcode.addFocusListener(this);
tf_name.addFocusListener(this);
tf_desc.addFocusListener(this);
tf_pgmname.addFocusListener(this);
tf_status.addFocusListener(this);
btn_add.addFocusListener(this);
btn_clear.addFocusListener(this);
btn_add.addFocusListener(this);
tf_projname.addKeyListener(this);
tf_modname.addKeyListener(this);
tf_section.addKeyListener(this);
39
tf_lang.addKeyListener(this);
tf_errorcode.addKeyListener(this);
tf_name.addKeyListener(this);
tf_desc.addKeyListener(this);
tf_pgmname.addKeyListener(this);
tf_status.addKeyListener(this);
btn_add.addKeyListener(this);
btn_clear.addKeyListener(this);
btn_cancel.addKeyListener(this);
btn_add.addActionListener(this);
btn_clear.addActionListener(this);
btn_cancel.addActionListener(this);
c.add( testername_panel);
c.add( bugdetail_panel);
c.add(btn_panel);
f.setSize(550,400);
f.setDeErrorCloseOperation(f.EXIT_ON_CLOSE);
f.setVisible(true);
f.setResizable(false);
f.show();
40
public void keyPressed(KeyEvent ke)
{
if(ke.getKeyCode() == 10)
{
{
if (ke.getSource()==tf_projname)
{ tf_modname.requestFocusInWindow();}
if (ke.getSource()==tf_modname)
{ tf_section.requestFocusInWindow();}
if (ke.getSource()==tf_section)
{ tf_lang.requestFocusInWindow();}
if (ke.getSource()== tf_lang)
{ tf_errorcode.requestFocusInWindow();}
if (ke.getSource()==tf_errorcode)
{ tf_name.requestFocusInWindow();}
if (ke.getSource()==tf_name)
{ tf_desc.requestFocusInWindow();}
if (ke.getSource()==tf_desc)
{ tf_pgmname.requestFocusInWindow();}
if (ke.getSource()==tf_pgmname)
{ tf_status.requestFocusInWindow();}
if (ke.getSource()==tf_status)
{ btn_add.requestFocusInWindow();}
41
if(ke.getSource()==btn_add)
{
btn_add.doClick();
}
if(ke.getSource()==btn_clear)
{
btn_clear.doClick();
}
if(ke.getSource()==btn_cancel)
{
btn_cancel.doClick();
}
}
}
}
/* if(e.getSource()==btn_add)
42
{
try{
String s1=tf_ecode.getText();
String s2=tf_ename.getText();
String s3=tf_eadd.getText();
String s4=tf_ecity.getText();
String s5=tf_epin.getText();
String s6=tf_ephone.getText();
String s7=tf_edept.getText();
String s8=tf_edesign.getText();
String s9=tf_eskillset.getText();
String s10=tf_epstage.getText();
String a,a1;
if(rs1.next())
{
JOptionPane.showMessageDialog(f,"Employee Code already exist
" ,"Confirmation"+"Message",JOptionPane.INFORMATION_MESSAGE);
}
else
{
statement.executeUpdate("insert into employee
values('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"','"+s7+"','"+s8+"','"+s9+"','"+s1
0+"')");
statement.executeUpdate("commit");
JOptionPane.showMessageDialog(f,"Record Added
" ,"Confirmation"+"Message",JOptionPane.INFORMATION_MESSAGE);
}
}
catch(Exception a1)
43
{}
}
if(e.getSource()==btn_clear)
{
tf_ecode.setText(" ");
tf_ename.setText(" ");
tf_eadd.setText(" ");
tf_ecity.setText(" ");
tf_epin.setText(" ");
tf_ephone.setText(" ");
tf_edept.setText(" ");
tf_edesign.setText(" ");
tf_eskillset.setText(" ");
tf_epstage.setText(" ");
}
if(e.getSource()==btn_delete)
{
try
{
String s=tf_ecode.getText();
String a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
while(rs.next())
{
a1=rs.getString(1);
a2=rs.getString(2);
a3=rs.getString(3);
a4=rs.getString(4);
a5=rs.getString(5);
44
a6=rs.getString(6);
a7=rs.getString(7);
a8=rs.getString(8);
a9=rs.getString(9);
a10=rs.getString(10);
if(s.equals(a1))
{
tf_ecode.setText(a1);
tf_ename.setText(a2);
tf_eadd.setText(a3);
tf_ecity.setText(a4);
tf_epin.setText(a5);
tf_ephone.setText(a6);
tf_edept.setText(a7);
tf_edesign.setText(a8);
tf_eskillset.setText(a9);
tf_epstage.setText(a10);
JOptionPane.showMessageDialog(f,"Record
Deleted" ,"Confirmation"+"Message",JOptionPane.INFORMATION_MESSAGE);
}
}
else
{
45
JOptionPane.showMessageDialog(f,"No
records" ,"Confirmation"+"Message",JOptionPane.INFORMATION_MESSAGE);
}
}
}
catch(Exception ex)
{}
}
*/
}
public static void main(String args[])
{
try{
bugentry e1=new bugentry();
}
catch(Exception e)
{ System.out.println(e);
}
}
}
RESULT
46
RESULT
Chapter 8
Result
47
Fig 8.1 License Page
48
Fig 8.3 Login Entry
49
8.5 Employee Stages
50
Fig 8.7 Searching Records
51
Fig8.9 Record Deleted
52
Fig 8.11 Bug Entry
53
CONCLUSION
&
FUTURE
ENHANCEMENT
54
CONCLUSION & FUTURE ENHANCEMENT
Chapter 9
9.1 Conclusion
This proposed system enables the bug maintenance easier and eliminates the
chaos involved in the complexities of tracing a bug within a project team. Performance
appraisal can be done based on the performance criteria fixed by the organization and
provisions are provided to evaluate the efficiency of programmer under various
circumstances.
Different kind of statistical data can be fetched from the database and the results
can be presented in the form of reports. Request for password changes can be automated
so that the indication need not be done manually for the given point of time. The
employee details within an organization can be centralized. It enables the employers to
gather information about an employee from anywhere within the organization.
55
BIBLIOGRAPHY
56
BIBLIOGRAPHY
Chapter 10
Bibliography
10.1 Books
1999.
10.2 Websites
• www.javaalmanac.com
• www.javaworld.com
57