1NH15CS157
1NH15CS157
PROJECT REPORT
ON
BACHELOR OF ENGINEERING
IN
BY
Ms. Vasantha M
Assistant Professor(2),
Dept. of CSE
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CERTIFICATE
It is hereby certified that the project work entitled “BUG TRACKING SYSTEM” is a bonafide
work carried out by NITIN KUMAR REDDY K A (1NH15CS157) in partial fulfilment for the
award of Bachelor of Engineering in COMPUTER SCIENCE AND ENGINEERING of the New
Horizon College of Engineering during the year 2018-2019. It is certified that all
corrections/suggestions indicated for Internal Assessment have been incorporated in the
Report deposited in the departmental library. The project report has been approved as it
satisfies the academic requirements in respect of project work prescribed for the said
Degree.
External Viva
1. ………………………………………….. ………………………………….
2. …………………………………………… …………………………………..
ACKNOWLEDGEMENT
The satisfaction and euphoria that accompany the successful completion of any task
would be impossible without the mention of the people who made it possible, whose
constant guidance and encouragement crowned our efforts with success.
I am grateful to Dr. Prashanth C.S.R, Dean Academics, for his unfailing encouragement
and suggestions, given to me in the course of my project work.
I would also like to thank Dr. B. Rajalakshmi, Professor and Head, Department of
Computer Science and Engineering, for her constant support.
I express my gratitude to Ms. Vasantha M, Assistant Professor (2), my project guide for
constantly monitoring the development of the project and setting up precise deadlines.
Her valuable suggestions were the motivating factors in completing the work.
Finally, a note of thanks to the teaching and non-teaching staff of Dept of Computer
Science and Engineering, for their cooperation extended to me, and my friends, who
helped me directly or indirectly in the course of the project work.
II
ABSTRACT
Bug tracking system is an online project management tool, which will be used to track
and manage bugs with the project without any latency. Project Manager will create
team members including developers and testing team. Testing team will create and
assign bugs to developer in the bug tracker which notifies developer immediately
through email notification. Developer will start fixing the bugs which were allocated to
him and after completing the fix, will update it as “resolution” in the bug tracker which
will notifies the testing team through email notification. Testing team member will
immediately verify the fix and close the issue if it is working else testing team will re-
open the issue. In this way entire process will be automated which will helps to achieve
the quality in the project.
Project success rates can be increased. There will be tracking for all the bugs and quality
of the team can be measured based on this application. Every action in this application
will send notification to the team members which will notify the team immediately.
The bug report is mailed to the project manager and the developer as soon as the bug is
identified. This makes that no error will go unfixed because of poor communication. It
makes ensure that anyone who needs to know about a bug can learn of it soon after it is
reported. Bug tracking system plays vital role in the testing phase. But it supports
assigning projects for the developer, tester by the project manager.
I
CONTENTS
ABSTRACT I
ACKNOWLEDGEMENT II
LIST OF FIGURES V
1 INTRODUCTION
1.1 INFORMATION CONSISTENCY 1
1.2 PROBLEM DEFINITION 2
1.3 PROJECT PURPOSE 2
1.4 MODULES DESCRIPTION 2
2 LITERATURE SURVEY
2.1 EXISTING SYSTEM 4
2.2 PROPOSED SYSTEM 4
2.3 SOFTWARE DESCRIPTION 4
3 REQUIREMENT ANALYSIS 11
3.1 FUNCTIONAL REQUIREMENTS 11
3.2 NON-FUNCTIONAL REQUIREMENTS 11
3.2.1 ACCESSIBILITY 11
3.2.2 MAINTAINABILITY 11
3.2.3 SCALABILITY 12
3.2.4 PORTABILITY 12
3.3 HARDWARE REQUIREMENTS 12
3.4 SOFTWARE REQUIREMENTS 13
4 DESIGN
4.1 DESIGN GOALS 14
4.1.1 INPUT/OUTPUT PRIVACY 14
4.1.2 EFFICIENCY 14
4.2 SYSTEM ARCHITECTURE 14
4.3 SEQUENCE DIAGRAM 16
4.4 DATA FLOW DIAGRAM 19
4.5 USE CASE DIAGRAM 21
III
4.6 ER DIAGRAM 23
5 IMPLEMENTATION
5.1 CODE SNIPPETS 24
6 SOFTWARE INSTALLATION
6.1 JDK INSTALLATION 27
6.2 Eclipse Installation 31
6.3 Tomcat Installation 33
7 SCREEN SHOTS
7.1 Login the Bug tracking system web page 35
7.2 Home Page 36
7.3 adding new team member 36
7.4 status of the project 37
7.5 Summary of the bugs 37
7.6 Upload the code 38
8 CONCLUSION 39
REFERENCES 40
IV
LIST OF FIGURES
Fig no. Fig.Name Page no.
2.1 Home page controller 5
2.2 Flow of java program 7
2.3 MySql database 8
2.4 Clint Application 9
4.1 MVC Architecture 14
4.2 N-tier Architecture 15
4.3 Servlet Engine 15
4.4 Sequence diagram for project manager 16
4.5 Sequence diagram for Developer 17
4.6 Sequence diagram for Tester 18
4.7 Data Flow Diagram 19
4.8 Flow Diagram 20
4.9 Use case diagram for bug tracker 21
4.10 Use case diagram for user and developer 22
4.11 ER Diagram for Bug tracker 23
6.1 Oracle website 27
6.2 JDK download 28
6.3 JDK installation 28
6.4 System window 29
6.5 Environment Variable 29
6.6 Path creation 30
6.7 Command prompt 30
6.8 Eclipse website 31
6.9 Eclipse installer 31
6.10 Terms and Conditions 32
6.11 IDE 32
6.12 Apache website 33
6.13 Downloads 33
6.14 Apache Tomcat 34
V
6.15 successful installation 34
VI
Bug Tracking System 2018-19
CHAPTER 1
INTRODUCTION
A bug is a common term used to describe an error, mistake, failure or fault in a program.
Most bugs are arise from mistakes and errors made by people in either programs source
code or its design, and few are caused by compilers. Bug Tracking System is a web-based
application that is designed to help quality assurance and programmers keep track of
reported software bugs in their work. A major component of bug tracking is a database
that records facts and known bugs. The report of database can consist of several
information which can also called facts. The project manager assigns projects to the
developers. The developer develops the projects as per customer requirements. The
project manager itself assigns the developed applications to the Testers for testing. The
testers test the application and identify the bugs in the application. When the tester
encounters no. of bugs, he generates a unique id number for each individual bug. The
bug information along with its id is mailed to the project manager and developer. This is
Bug Report. These are stored in the database. This is useful for further reference. Bug
information includes the bug id, bug name, bug priority, project name, bug location, bug
type. This whole process continues until all the bugs are got fixed in the application. The
bug report is mailed to the project manager and the developer as soon as the bug is
identified. This makes that no error will go unfixed because of poor communication. It
makes ensure that anyone who needs to know about a bug can learn of it soon after it is
reported. Bug Tracking System plays an vital role in the testing phase. But it supports
assigning projects for the developer, tester by the project manager. The Bug Tracking
System maintains the different users separately i.e. it provides separate environments
for project manager, developer and tester.
The problem in the older system can be defined as the whole project maintenance;
user’s maintenance and their assignment have to be maintained manually. The Software
development companies have to face a lot of problems while maintaining manually all
the maintenance of the projects their bugs and their status. This type of problem makes
the whole system an inefficient one and thus making a poor and unorganized working. In
order to remove this type of problem, so that the paper is planned to develop. Bug
tracking software is a “Defect Tracking System” or a set of scripts which maintain a
database of problem reports. Bug tracking software allows individuals or groups of
developers to keep track of outstanding bugs in the product description etc. in the form
of reports from time to time.The paper effectively. Bug tracking software can track bugs
and changes, communicate with members, submit and review patches, and manage
quality assurance. This web-based application is a great tool for assigning and tracking
issues and tasks during software development and any other projects that involve teams
of two or more people.
Developer: Can access the task or bug assigned by the manager, view assigned projects
and resolving the assigned bug. Developer can view the bugs list assigned by the
manager.
Tester: Tester can access to the projects or bugs assigned by the manager, can view the
assigned projects and can add a new bug to the list and send the bug back to the
manager. Tester can login to the system and access the assigned projects list.
Reports: Both Admin and Manager can access this module and generate the reports
based on the requirements
CHAPTER 2
LITERATURE SURVEY
2.1 EXISTING SYSTEM
Most of the companies manually interact with the team by updating status
between developers and QA members.
Project manager has no proper visibility of what is happing in the projects. This
leads to failure in the project delivery.
Spring MVC follows MVC design pattern which Provides clean separation between
Model, View and Controller. In Spring MVC there will be one front controller for the
entire project. It is called as ’Dispatcher Servlet’. Every request in this application will be
forwarded to the dispatcher servlet with the help of web.xml file. Web.xml is called as
deployment descriptor. Dispatcher Servlet should be configured as servlet in web.xml
and every request should be routed to dispatcher servlet.
In Spring MVC to handle logic for request, we have to create Controller. To create object
for controller we have to use@Controller annotation. To invoke the method against
Each url pattern, we have to use @RequestMapping(“/URI”)With GET and POST request.
For example:For login module there will be LoginController. For Homepage there will be
HomePageController.
Spring Transactions (commit or rollback): In Business Logic layer, we have to use Spring
transactions Which ensures that every method is business logic layer ensures that
transaction is enabled. Transaction maintains unit of work. In one transaction we can call
so many queries which belong to one unit of work. If there is any failure in the middle of
the transactions all the Previous completed work in that transaction will be rolled back.
If everything is success with in that transaction, all the Queries will be committed to
database. To enable transactions in business logic layer, we have configured transaction
management ion spring application Context configuration file. Once after configured, we
have to use @Transactional annotation on the top of the method in
Hibernate is an ORM (object relational mapping ramework) which maps the java objects
with relational (database) tables.
1. No need to write plan SQL queries in java. We can write object oriented
programming. Hibernate will generate the sql queries internally
2. For all databases same java logic will be used. This helps java developer to write
sample piece of code which will work for any databases(Oracle,MySQL,DB2 etc)
3. by using ‘dialect’, we can configure which variation of sql queries hibernate will
generate.
Lazy loading
Fetching strategies
Called hibernate.cfg.xml file. For one database we will maintain one hibernate.cfg.xml
fileHibernateConfiguration contains sessionFatcory which contains Factory of session
object.Session will contain database connection. Session is single threaded.
To map java object with database tables, we will use java annotations. They are
@Table: maps the java class with database table.foe example to map the java
class with user table
@Column: to pay the field in the java class with the columns in the database
table
Database (MySQL) :
MySQL is the popular open source database which is used to store the relational data in
the database in the form of tables with rows and columns.
In RDBMS.
For every table in MySQL, we define primary key which is an unique identifier.
To connect with database from java by using hibernate we have to use mainly 4
properties:
3. username
4. password
To establish connection between java and database, we have to use above 4 properties.
Otherwise database will not allow to connect due to security issues. MySQL follow
integrity(data correctness) and normalization rules.
Tomcat is an open source web server. Tomcat 7 or 8 support java 7 and above. To run
java applications through internet we have to deploy the applications in any one of the
servers. Tomcat is one of popular server to use.
Tomcat acts as a container which will manages the life cycle of the objects starting from
object creation till destroy.
startup.bat
shutdown.bat
JQuery is an open source framework which is implemented on the top of the Java script.
For example:
email validation
password validation
Html5:
For example:
Login screen contains, 2 text fields with Email and Password.Html5 screens are more
responsive and support all the popular browsers in the web world
JSP:
Short for Java Server Page. A server-side technology, Java Server Pages are an extension
to the Java servlet technology that was developed by Sun. JSPs have dynamic scripting
capability that works in tandem with HTML code, separating the page logic from the
static elements -- the actual design and display of the page -- to help make the HTML
more functional (i.e. dynamic database queries). A JSP is translated into Java servlet
before being run, and it processes HTTP requests and generates responses like any
servlet. However, JSP technology provides a more convenient way to code a servlet.
Translation occurs the first time the application is run. A JSP translator is triggered by the
.jsp file name extension in a URL. JSPs are fully interoperable with servlets. You can
include output from a servlet or forward the output to a servlet, and a servlet can
include output from a JSP or forward output to a JSP. JSPs are not restricted to any
specific platform or server. It was originally created as an alternative to Microsoft's ASPs
(Active Server Pages). Recently, however, Microsoft has countered JSP technology with
its own ASP.NET, part of the .NET initiative.
CHAPTER 3
REQUIREMENT ANALYSIS
3.1 FUNCTIONAL REQUIREMENTS
In software engineering, a functional requirement defines a function of a software
system or its component. A function is described as a set of inputs, the behavior, and
outputs. Functional requirements may be calculations, technical details, data
manipulation and processing and other specific functionality that define what a system
is supposed to accomplish. Behavioral requirements describing all the cases where the
system uses the functional requirements are captured in use cases.
3.2.1 ACCESSIBILITY:
Accessibility is a general term used to describe the degree to which a product, device,
service, or environment is accessible by as many people as possible. User interface is
simple and efficient and easy to use.
3.2.2 MAINTAINABILITY:
In software engineering, maintainability is the ease with which a software product can
be modified in order to:
Correct defects
Meet new requirements
New functionalities can be added in the project based on the user requirements just by
adding the appropriate files to existing project.
Since the programming is very simple, it is easier to find and correct the defects and to
make the changes in the project.
3.2.3 SCALABILITY:
System is capable of handling increase total throughput under an increased load when
resources (typically hardware) are added.
System can work normally under situations such as low bandwidth and large number of
users.
3.2.4 PORTABILITY:
Portability is one of the key concepts of high-level programming. Portability is the
software code base feature to be able to reuse the existing code instead of creating new
code when moving software from an environment to another.
Project can be executed under different operation conditions provided it meets its
minimum configurations. Only system files and dependant assemblies would have to be
configured in such case.
CHAPTER 4
DESIGN
No sensitive information from the customer’s private data can be derived by the third
party. Companies get know the real and fake reviews.
4.1.2 EFFICIENCY
The reviews given on a share has to be transparent to the buyers. The news published
on social media, news and decision boards should be real.
CHAPTER 5
IMPLEMENTATION
CHAPTER 6
SOFTWARE INSTALLATION
https://www.oracle.com/technetwork/java/javase/downloads/index.html
https://www.eclipse.org/oxygen/
Once after the download is complete click on the exe file to install it.
After installation click on launch to open the IDE, select path to save the project files.
https://tomcat.apache.org/download-90.cgi
Click on windows service installer, once after the download is complete run it.
After installation the tomcat server icon will be present in the down right panel.
CHAPTER 7
SCREEN SHOTS
CHAPTER 8
CONCLUSION
Bug Tracking System helps to detect and manage the bugs in software products
effectively. It is the best project management tool. It can be used to track the bugs in the
project modules and assist in troubleshooting errors for testing and development
process.
This project highly avoids all sources of delay in bugs reporting level within the project
modules in the software industry. As application is deployed in a company server, it is
much more secure.
This can be modified and enhanced for performing more complex task related to bug
tracking system.
This project has lot of scope to replace existing system followed by software
organizations. This application will save time, increase security and provides better
performance with well-designed database.
REFERENCES
[1] Grannell, Craig. The Essential Guide to CSS and HTML Web Design, friends of ED,
2007.
[2] Castro, Elizabeth and Hyslop . HTML5, and CSS, Eight Edition: (Visual QuickStart
Guide), Peachpit Press, 2013.
[3] Crockford, Douglas. JavaScript: The Good Parts, O'Reilly & Associates, 2008.
[4] Flanagan, David. Javascript : The Definitive Guide, Fifth Edition, O'Reilly & Associates,
2006.
[5] Friedlein, Ashley. Web Project Management: Delivering Successful Commercial Web
Sites , Morgan Kaufmann, 2000.
[6] St. Laurent, Simon and DeLong, B.K. HTML: Moving Toward XML, Hungry Minds,
2000.
[7] Mickley Gillenwater, Zoe. Stunning CSS3: A Project-based Guide to the Latest in CSS,
New Riders 2010.