Project Report
Project Report
MTech
in
Software Engineering
by
i
School of Information Technology and Engineering
ii
School of Information Technology and Engineering
Prof. Asha N
Examiner(s) Signature
1.
2.
iii
Certificate
iv
ABSTRACT
System 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
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.
Error Tracking System is an ideal solution to track the bugs of a product, solution
or an application. Bug Tacking System allows individual or groups of developers to
keep track of outstanding bugs in their product effectively. This can also be called as
Defect Tracking System.
The Error Tracking System can dramatically increase the productivity and
accountability of individual employees by providing a documented work flow and
positive feedback for good performance.
All the above features like entry of the bug information, fixing them
up and the filter maintenance category are dealt within the Error Tracking System.
v
ACKNOWLEDGEMENT
I wish to express our heartfelt gratitude to Dr.G.Viswanathan, Chancellor,
VIT, Vellore, for providing facilities for the Industrial Internship. I am highly
grateful to our Vice President, Dr.G. Sekar Viswanathan, Vice chancellor Dr.
Anand A. Samuel, and Pro-Vice Chancellor Dr.S.Narayanan, for providing the
necessary resources.
My sincere gratitude to Dr. Balakrushna Tripathy, Dean, School of
Information Technology and Engineering, for giving me the opportunity to undertake
the project.
I wish to express my sincere gratitude to Dr. S. Sree Dharinya, Head of the
Department, Software and Systems Engineering, Prof. P.Ushapreethi & Prof.
Ramaprabha KP, Industrial Internship Coordinators, M.Tech (Software
Engineering), School of Information Technology and Engineering for providing me
continuous support to do my project work.
I would like to express my special gratitude and thanks to my external guide
Mr O Suman Siddhartha, Bhaskara Info Services Pvt.Ltd and internal guide Prof.
Asha N Assistant Professor, SITE for their esteemed guidance, immense support and
encouragement to complete the internship successfully.
I thank the management of VIT, Vellore for permitting me to use the library
resources. I also thank all the faculty members of VIT, Vellore for giving me the
courage and strength I needed to complete my goals. This acknowledgement would
be incomplete without expressing my whole hearted thanks to my family and friends
who motivated me during the course of the work.
Place: Vellore
Date: 16-10-2019 B Sai Atchutha Reddy
vi
TABLE OF CONTENTS
1. INTRODUCTION
1.1.Problem Statement 1
1.2.Motivation 1
1.3.Objective 1
1.3.1.Proposed System 1
1.3.2.Advantages of Proposed system 2
2. TECHNOLOGIES LEARNT 3-4
3. SYSTEM DESIGN 5
3.1 System Architecture 5
3.2 Module description 5-6
3.3 System Specification 6-7
3.3.1 Software Requirements 6
3..3.2 Hardware Requirements 7
3.4 Detailed Design 8
3.4.1 Use case Diagram 8-9
3.4.2 Sequence Diagram 10-11
3.4.3 Class Diagram 12
3.4.4 Dataflow diagram 13
3.4.5 Activity diagram 13-15
vii
4. IMPLEMENTATION 16
4.1 Implementation details 16-22
5. TEST RESULTS 23
5.1 Test cases
8. REFERENCES 28
viii
LIST OF TABLES
Table No Title Page No
4.1.1 Login Details 21
4.1.2 Employee Details 21
4.1.3 Bug Details 21
4.1.4 Bug Entry Details 22
4.1.5 Appraisal Details 22
5.1 Test cases 23
ix
LIST OF FIGURES
x
LIST OF ABBREVIATIONS
ACRONYM EXPANSION
DSR Dynamic Source Routing
AODV Ah hoc On Demand Distance Vector
FSR Fisheye State Routing Protocol
IDT Indirect Trust
IDTREQ Indirect Trust Request
IDTREP Indirect Trust Reply
TTL Time To Live
NSG Network simulator Script Generator
xi
Chapter 1
INTRODUCTION
Error tracking system is aimed at providing the tracking system of bugs generated in
the software, maintenance of bug levels, and fixation of bugs by the developers in the
organization, the status of the bugs etc.
It also provides way to view the bug priorities and assign levels to the identified bugs
and yet according to the bug status. The bug priorities are maintained in the form of
filters and those filters are created according to the user level or administrator level
depending on the status organized.
1.2 Motivation
The main motivation of this system is develop flawless system, which is access real
time information from anywhere in the world, 24 hours a day 365 days in a year.
Another aim is that manage hundred of projects in multiple locations or just a few.
The another main motive of this system is track the all the defects or bugs in the
project and make the project user friendly and bugs free system.
1.3 Objective
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.
1
users allotted to the bug. It is provided with a fully authenticated system with
password encryption. And has the facility for storing attachments for a bug. One can
keep a track of the bug in a product with much lower cost and effort. The most
advantage of this system is maintaining log records which are helpful in knowing any
errors or misuse of the system by other users.
2
Chapter 2
TECHNOLOGIES LEARNT
Java
Java technology is both a programming language and a platform.The Java
programming language is a high-level language that can be characterized by all of
the following buzzwords:
Simple
Object oriented
Distributed
Interpreted
Robust
Secure
Portable
High performance
Dynamic
ODBC
Open Database Connectivity is a standard application programming interface for
accessing database management systems. The designers of ODBC aimed to make it
independent of database systems and operating systems. An application written using
ODBC can be ported to other platforms, both on the client and server side, with few
changes to the data access code.
ODBC accomplishes DBMS independence by using an ODBC driver as a translation
layer between the application and the DBMS. The application uses ODBC functions
through an ODBC driver manager with which it is linked, and the driver passes the
query to the DBMS. An ODBC driver can be thought of as analogous to a printer
driver or other driver, providing a standard set of functions for the application to use,
and implementing DBMS-specific functionality. An application that can use ODBC
3
is referred to as "ODBC-compliant". Any ODBC-compliant application can access
any DBMS for which a driver is installed.
Drivers exist for all major DBMSs, many other data sources like address book
systems and Microsoft Excel, and even for text or comma-separated values files.
ODBC remains in wide use today, with drivers available for most platforms and most
databases. It is not uncommon to find ODBC drivers for database engines that are
meant to be embedded, like SQLite, as a way to allow existing tools to act as front-
ends to these engines for testing and debugging.
However, the rise of thin client computing using HTML as an intermediate format
has reduced the need for ODBC. Many web development platforms contain direct
links to target databases – MySQL being very common. In these scenarios, there is
no direct client-side access nor multiple client software systems to support;
everything goes through the programmer-supplied HTML application. The
virtualization that ODBC offers is no longer a strong requirement, and development
of ODBC is no longer as active as it once was.
Rational Rose
Rational Rose is an object-oriented programming (OOP) and unified modelling
language (UML) tool to design enterprise-level software applications and
components. It creates visual software application models under object-oriented
principles. Example application models include the creation of actors, use cases,
relationships, objects, entities, etc. Rational Rose uses classical UML concepts to
graphically model software applications. This facilitates documenting the
environment, requirements and overall design.
OOP methodologies use UML to graphically depict software application behaviour
and architecture. These models are the building blocks and development blueprint of
the application’s entire construction process. The popular Rational Rose modelling
tool allows developers to create entire architecture or component-level system
models, while depicting relationship and control flow.
Rational Rose is a powerful graphical user interface modelling tool using efficient
and user-friendly drag and drop and design manoeuvrability. Certain Rational Rose
versions actually produce relevant source code for designed models.
4
Chapter 3
SYSTEM DESIGN
3.1 System Architecture
Guest
Employee
Admin
Error
Tracking
System
Tester Programmer/De
veloper
Manager
5
3.2.3 Bug Identification
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.
3.2.4 Bug Status Maintenance
6
Platform Independent
7
3.4 Detailed Design
<<include>>
Validation Login
Project
Administrator
Department
Employee
Monitor
Manager
Developer Tester
Bugs
Testplan
8
Employee
Register
Login
Project
Employee
Bugs
Testplan
Developer Tester
Logout
Login
Permission
Project
Administrator
Department
Developers
Create Employee
Testers
Create Manager
Logout
9
3.4.2 Sequence Diagram
Administrative Process
1: loginrequest()
validation
response()
2: Create()
response()
3: create()
valid()
confirmation()
4: create()
valid()
confirmation()
5: view()
6: view()
10
Employee Process
Developer()
Verfication
Confirmation()
Tester()
Verification
Confirmation()
2: Login Request()
Validation
response()
response()
confirmation()
11
3.4.3 Class Diagram
12
3.4.4 Dataflow Diagram
Appraisal Value
Entry
Add Employee Fixation of Bugs
Details
Providing
Credentials
Retry
Validation
<<No>>
<<YES>>
Services
13
Employee Process
Employee
Developer Tester
Login
Bugs Testplan
validation
Projects update delete
create create update delete
select
Login
Rectify
Logout
14
Administrative Process
Login
validation
Create/upd
ate/delete
View
Permission
Logout
15
Chapter 4
IMPLEMENTATION
login.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.*;
class login implements ActionListener,KeyListener,FocusListener
{
JFrame f;
Container c;
Connection connection;
Statement statement;
ResultSet rs;
boolean f1=false;
String a2="hai";
JTextField tfield_user_name;
JPasswordField tfield_password;
JLabel label_user_name,label_password,label_message;
JButton button_login,button_cancel;
String[] tfield_text_login=new String[4];
String uid,pwd;
login()
{ try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection("jdbc:odbc:siva","scott","tiger");
16
statement = connection.createStatement();
} catch(Exception x)
{System.out.println(x); }
f=new JFrame("Login Process");
c=f.getContentPane();
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);
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);
17
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();
}
public void focusGained(FocusEvent fe)
{
}
public void focusLost(FocusEvent fe)
{
}
public void keyPressed(KeyEvent ke)
{
if(ke.getKeyCode() == 10)
{
{ if (ke.getSource()==tfield_user_name)
{ 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();
} }}}
bugentry.java
import java.awt.*;
import java.lang.*;
import javax.swing.*;
18
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.*;
public class bugentry implements FocusListener,KeyListener,ActionListener
{ Connection connection;
Statement statement;
ResultSet rs1,rs;
int value;
JPanel testername_panel=new JPanel();
JPanel bugdetail_panel=new JPanel();
JPanel btn_panel=new JPanel();
Border border= new LineBorder(Color.gray,1);
GridLayout grid=new GridLayout(2,5,5,5);
Container c;
JFrame f=new JFrame("Bug Entry");
JLabel lbl_testername=new JLabel("Tester Name");
JTextField tf_testername=new JTextField();
JLabel lbl_code=new JLabel("Code");
JTextField tf_code=new JTextField();
JLabel lbl_date=new JLabel("Date");
JTextField tf_date=new JTextField();
JLabel lbl_duedate=new JLabel("Due Date");
JTextField tf_duedate=new JTextField();
20
Database Design
Login
Username Varchar2(25)
Password Varchar2(25)
Designation Varchar2(25)
21
Bug entry
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)
Appraisal details
Ecode Varchar2(10)
Ename Varchar2(25)
Edesign Varchar2(25)
Joindate Date
Appperiod Varchar2(10)
Projteam Varchar2(10)
Projname Varchar2(25)
Valuepoints Number
22
Chapter 5
TEST RESULTS
23
Chapter 6
RESULTS AND DISCUSSIONS
Screenshots
24
Fig 6.3 Employee Stages
25
Fig 6.5 Tester Login
26
Chapter 7
7.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.
27
Chapter 8
REFERENCES
[1] J. Aranda and G. Venolia, “The secret life of bugs: Going past the errors and
omissions in software repositories”, In ICSE’09 Proceedings of the 31st International
Conference on Software Engineering, 2009.
[2] Singh V.B., Kapur P.K. and Abhishek Tandon, “Measuring Reliability Growth of
Software by Considering Fault Dependency, Debugging Time Lag and Irregular
Fluctuation”, ACM SIGSOFT, Software Engineering Notes Vol. 35 , No.3 pp.1-11,
May 2010.
[3] V.B. Singh, Krishna Kumar Chaturvedi, “Bug Tracking and Reliability
Assessment System (BTRAS)” International Journal of Software Engineering and Its
Applications Vol. 5 No. 4, October, 2011.
[4] J. Anvik, L. Hiew, and G. C. Murphy, Who should fix this bug?, In ICSE06
Proceedings of the 28th International Conference on Software engineering, pages
361370.
[5] Hert Schildt, Herbert Schildt, “JAVA 2: The Complete Reference “, TMH,
California, 1999.
[6] Dr. Sathyaraj Pantham, “Pure JFC Swing”, Sams Tech Media Publications,
Delhi, 1999.
28