Professional Documents
Culture Documents
Bug Tracking System - Documentation
Bug Tracking System - Documentation
Bug Tracking System - Documentation
traj, Pune
ProjectReporton
“Bug Tracking System”
AProjectsubmittedto
InPartialfulfilmentoftherequirementsforthedegree of
M.Sc. (Computer
Science)By
Thesatisfactionandeuphoriathataccompanythesuccessfulcompletionofanytaskwouldbeimp
ossiblewithoutthementionofthepeoplewhomadeitpossible,whoseconstantguidanceandenco
uragementcrownedoureffortswithsuccess.
I would also like to thank MS. Sonali. Gholve, Professor and Head,
DepartmentofComputerScience,forherconstantsupport.
Finally,anoteofthankstotheteachingandnon-teachingstaffofDeptofComputerScience, for
their cooperation extended to me, and my friends, who helped
medirectlyorindirectlyinthecourseoftheprojectwork.
PradipAppasahebKolage(207029)
ABSTRACT
Bugtrackingsystemisanonlineprojectmanagementtool,whichwillbeusedtotrackandmanageb
ugswiththeprojectwithoutanylatency.ProjectManagerwillcreateteammembersincludingdev
elopersandtestingteam.Testingteamwillcreateandassign bugs to developer in the bug
tracker which notifies developer
immediatelythroughemailnotification.Developerwillstartfixingthebugswhichwereallocated
tohimandaftercompletingthefix,willupdateitas“resolution”inthebugtrackerwhichwill
notifies the testing team through email notification. Testing team member
willimmediatelyverifythefixandclosetheissueifitisworkingelsetestingteamwillre-
opentheissue.Inthiswayentireprocesswillbeautomatedwhichwillhelpstoachievethequalityin
theproject.
Project success rates can be increased. There will be tracking for all the bugs and
qualityoftheteamcanbemeasuredbasedonthisapplication.Everyactioninthisapplicationwillse
ndnotificationtotheteammemberswhichwillnotifytheteamimmediately.
Thebugreportismailedtotheprojectmanagerandthedeveloperassoonasthebugisidentified.Thi
smakesthatnoerrorwillgounfixedbecauseofpoorcommunication.Itmakesensurethatanyonew
honeedstoknowaboutabugcanlearnofitsoonafteritisreported. Bug tracking system plays
vital role in the testing phase. But it
supportsassigningprojectsforthedeveloper,testerbytheprojectmanager.
INTRODUCTION
A bug is a common term used to describe an error, mistake, failure, or fault in aprogram.
Most bugs arearising from mistakes and errors made by people ineither programs source
code or its design, and few are caused by compilers. BugTrackingSystem isaweb-
basedapplicationthatis
designedtohelpqualityassuranceandprogrammerskeeptrackofreportedsoftwarebugsintheir
work.A major component of bug tracking is a database that records facts and knownbugs.
The report of database can consist of several information which can
alsocalledfacts.Theprojectmanagerassignsprojectstothedevelopers.Thedeveloperdevelopst
heprojectsaspercustomerrequirements.Theprojectmanager itself assigns the developed
applications to the Testers for testing. Thetesters test the application and identify the bugs
in the application. When
thetesterencountersno.ofbugs,hegeneratesauniqueidnumberforeachindividual bug. The
bug information along with its id is mailed to the projectmanager and developer. This is
Bug Report. These are stored in the database.This is usefulfor further reference. Bug
information includesthe bug id, bugname, bug priority, project name, bug location, bug
type. This whole processcontinues until all the bugs are got fixed in the application. The
bug report ismailed to the project manager and the developer as soon as the bug is
identified.Thismakesthatnoerrorwillgounfixedbecauseofpoorcommunication.Itmakes
ensure that anyone who needs to know about a bug can learn of it soonafter it is reported.
Bug Tracking System plays an vital role in the testing
phase.Butitsupportsassigningprojectsforthedeveloper,testerbytheprojectmanager. The Bug
Tracking System maintains the different users separately i.e.
itprovidesseparateenvironmentsforprojectmanager,developerandtester.
1.2 PROBLEMDEFINITION
Bug Tracking System is to test the application for the bugs and report it to theproject
manager and developer. The main intention behind the Bug TrackingSystem is that to
track bugs and report them. Store the bug information with auniqueidin the database.
Theproblemintheoldersystemcanbedefinedasthewholeprojectmaintenance; user’s
maintenance and their assignment have to be maintainedmanually. The Software
development companies have to face a lot of problemswhile maintaining manually allthe
maintenance of the projects their bugs andtheir status. This type of problem makes the
whole system an inefficient one andthus making a poor and unorganized working. In
order to remove this type ofproblem, so that the paper is planned to develop. Bug tracking
software is a“DefectTrackingSystem”orasetofscriptswhichmaintainadatabaseofproblem
reports. Bug tracking software allows individuals or groups of developersto keep track of
outstanding bugs in the product description etc. in the form ofreports from time to time.
The paper effectively. Bug tracking software can trackbugs and changes, communicate
with members, submit and review patches, andmanagequalityassurance.Thisweb-
basedapplicationisagreattoolforassigning and tracking issues and tasks during software
development and anyother projects thatinvolveteams oftwo ormorepeople.
1.3 PROJECTPURPOSE
Bug Tracker is an online application which will be used to track and manage bugswith the
project without any latency. Project success rates can be increased.There will be tracking
for all the bugs and quality of the team can be measuredbased on this application. Every
action in this application will send notification totheteammemberswhich willnotify
theteamimmediately
1.4 MODULESDESCRIPTION
Admin:Thismodulehastheentireaccesstoallothermodules,admincreatestheprojectandassig
ningtheprojectstothecreatedmanager,addingmembersto the managers, assigning
bugsbasedon thepriority.
Manager: Manager has the full access to the particular project assigned by
theadminandcontrolstheteammember’saccess tothebugsassigned.
Developer: Can access the task or bug assigned by the manager, view
assignedprojectsandresolvingtheassignedbug.Developercanviewthebugslistassignedby the
manager.
Tester: Tester can access to the projects or bugs assigned by the manager, canview the
assigned projects and can add a new bug to the list and send the bugback to the manager.
Tester can login to the system and access the assignedprojectslist.
Reports: Both Admin and Manager can access this module and generate
thereportsbasedon therequirements
LITERATURESURVEY
2.1 EXISTINGSYSTEM
Mostofthecompaniesmanuallyinteractwiththeteambyupdatingstatusbetweendevel
opers and QAmembers.
Projectmanagerhasnopropervisibilityofwhatishappingintheprojects.Thisleads to
failurein theprojectdelivery.
2.2 PROPOSEDSYSTEM
BugTrackerisanonlineapplicationwhichwillbeusedtotrackandmanagebugs
withtheproject withoutanylatency.
Projectsuccessrates canbeincreased.
Therewillbetrackingforallthebugsandqualityoftheteamcanbemeasuredbase
d on thisapplication.
Everyactioninthisapplicationwill
sendnotificationtotheteammemberswhichwillnotifythe teamimmediately
2.3 SOFTWAREDESCRIPTION
SpringMVC:
SpringMVCfollowsMVCdesignpatternwhichProvidescleanseparationbetween Model,
View and Controller. In Spring MVC there willbe one frontcontroller for the entire
project. It is called as ’Dispatcher Servlet’. Everyrequestin this application will be
forwarded to the dispatcher servlet with the help ofweb.xmlfile. Web.xmlis called as
deployment descriptor. Dispatcher Servletshould be configured as servlet in web.xml and
every request should be routed todispatcher servlet.
Forexample:Forloginmoduletherewill
beLoginController.ForHomepagetherewillbeHomePageController.
Fig2.1:Homepagecontroller.
SpringTransactions(commitorrollback):InBusinessLogiclayer,wehavetouseSpring
transactions Which ensures that every method is business logic layerensures that
transaction is enabled. Transaction maintains unit of work. In onetransaction we can call
so many queries which belong to one unit of work. If thereis any failure in the middle of
the transactions all the Previous completed work
inthattransactionwillberolledback.Ifeverythingissuccesswithinthattransaction, all the
Queries will be committed to database. To enable transactionsin business logic layer, we
have configured transaction management ion springapplication Context configuration file.
Once after configured, we have to use@Transactionalannotationon the topof themethodin
Thebusinesslogiclayer.Transaction
containspropagations
Required(transactionisrequired.Ifnotitwillcreate newtransaction)
Notrequired(transactionisnotrequired)
Requiresnew(newtransactionisrequiredforeverymethod)
Mandatory(transactionismandatory.Elseitwillthrowexception)
Hibernate (persistencelayer):
Themainadvantagesofhibernate:
1. Noneedtowrite planSQL
queriesinjava.Wecanwriteobjectorientedprogramming.Hibernate
willgeneratethesqlqueriesinternally
2. For all databases same java logic will be used. This helps java developerto write
sample piece of code which will work for anydatabases(Oracle,MySQL,DB2etc)
3. byusing‘dialect’,wecanconfigurewhichvariationofsqlquerieshibernatewillgenerate.
4. HibernateprovideslotofperformanceimprovementtechniquesAsbelow
Lazyloading
Cachemechanisms(primaryandsecondary)
Fetchingstrategies
Objectorientedqueries.
Toconfigurehibernatewehavetouseconfigurationfile
Calledhibernate.cfg.xmlfile.Foronedatabasewewillmaintainonehibernate.cfg.xmlfileHiber
nateConfigurationcontainssessionFatcorywhichcontainsFactoryofsessionobject.Session
willcontaindatabaseconnection.Sessionis single threaded.
Byusingsessionwewillexecutequeries.
Tomapjavaobjectwithdatabasetables,wewill usejavaannotations.Theyare
@Entity:toregister javaclasswithtable
@Table:mapsthejavaclasswithdatabasetable.foeexampletomapthejavaclass
withusertable
@Table(name=”user”)
@Column:to paythefieldinthejavaclasswith
thecolumnsinthedatabasetable
@Id:tomapwithprimarykeyinthetable
Fig2.2Flowof javaprogram
Database(MySQL):
MySQL is the popular open source database which is used to store the relationaldatain
thedatabasein theformof tableswithrows andcolumns.
asdefinedInRDBMS.
For everytableinMySQL,wedefineprimarykeywhichisanuniqueidentifier.
Toconnectwithdatabasefromjavabyusinghibernatewehavetousemainly4properties:
1. databasedrivername
2. databaseurl(type4driver)
3. username
4. password
To establish connection between java and database, we have to use above 4properties.
Otherwise database will not allow to connect due to security issues.MySQL
followintegrity(data correctness)andnormalizationrules.
Fig2.3MySqldatabase
Server(Tomcat):
Tomcat acts as a container which will manages the life cycle of the
objectsstartingfromobject creation tilldestroy.
Tomcatcontainsmainly3directories:
1. webapps:todeploywarfile
2. bin:to stopandstarttomcat
startup.bat
shutdown.bat
3. conf:server.xmlfileforconfiguration
Fig2.4 ClientApplication
JQuery(javascriptframework):
JQueryisanopensourceframeworkwhichisimplementedonthetopoftheJava script.
sidevalidation.Forexample:
emailvalidation
passwordvalidation
mandatoryfieldvalidation
Html5:
ForpresentationofUIscreens,wewillusehtml(hypertextmarkuplanguage).Forexam
ple:
Login screen contains, 2 text fields with Email and Password.Html5 screens
aremoreresponsiveandsupportallthepopular browsersinthewebworld
CSS3:(Cascadestylesheets):
Toapplystylesonthetopofhtmlscreens,wehavetousecss.
Forexample:Color,Border,Margin,paddingetc.
JSP:
Short for Java Server Page. A server-side technology, Java Server Pages are anextension
to the Java servlet technology that was developed by Sun. JSPs havedynamic scripting
capability that works in tandem with HTML code, separating thepage 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
istranslatedintoJavaservletbeforebeingrun,anditprocessesHTTPrequestsand generates
responses like any servlet. However, JSP technology provides amore convenient way to
code a servlet. Translation occurs the first time theapplicationis run. AJSPtranslatoris
triggeredby the
.jsp file name extension in a URL. JSPs are fully interoperable with servlets. Youcan
include output from a servlet or forward the output to a servlet, and a servletcan include
output from a JSP or forward output to a JSP. JSPs are not restrictedto any specific
platform or server. It was originally created as an alternative
toMicrosoft'sASPs(ActiveServerPages).Recently,however,MicrosofthascounteredJSPtech
nologywithitsownASP.NET,partof the.NETinitiative.
REQUIREMENTANALYSIS
3.1 FUNCTIONALREQUIREMENTS
In software engineering, a functional requirement defines a function of a softwaresystem
or its component. A function is described as a set of inputs, the behavior,and outputs.
Functional requirements may be calculations, technical details, datamanipulation and
processing and other specific functionality that define what asystem is supposed to
accomplish. Behavioral requirements describing all thecases where the system uses the
functional requirements are captured in usecases.
3.2 NON-FUNCTIONALREQUIREMENTS
Insystemsengineeringandrequirementsengineering,anon-functionalrequirement is a
requirement that specifies criteria that can be used to judge theoperation of a system,
rather than specific behaviors. This should be contrastedwith functional requirements that
define specific behavior or functions. The planfor implementing functional requirements
is detailed in the system design. Theplanforimplementingnon-
functionalrequirementsisdetailedinthesystemarchitecture.
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 interfaceis
simple and efficient andeasyto use.
3.2.2 MAINTAINABILITY:
3.2.3 SCALABILITY:
System
iscapableofhandlingincreasetotalthroughputunderanincreasedloadwhenresources(typicallyhard
ware)are added.
3.2.4 PORTABILITY:
Portability is one of the key concepts of high-level programming. Portability is
thesoftware code base feature to be able to reuse the existing code instead
ofcreatingnewcodewhenmovingsoftwarefromanenvironmentto another.
3.3 HARDWAREREQUIREMENTS
Processor :AnyProcessorabove500MHz
RAM :512Mb
HardDisk : 10GB
Inputdevice : StandardKeyboardandMouse
Outputdevice :VGAandHighResolutionMonitor
3.4 SOFTWAREREQUIREMENTS
Operatingsystem:Windows 7
Technologies : CoreJava7,Jsp,Servlets, JDBC,Html, Javascript,css
WebFramework:SpringMVC,Spring
ORM,SpringCore,SpringTransactions
ORMFramework:Hibernate
ApplicationServer:Tomcat
Database :MySQL
IDETools :Eclipse
DESIGN
4.1 DESIGNGOALS
This section provides a description of the project from a management perspectiveand an
overview of the framework within which the conceptualsystem designwas prepared. If
appropriate, include the information discussed in the subsequentsectionsin thesummary.
4.1.1 INPUT/OUTPUTPRIVACY
4.1.2 EFFICIENCY
The reviews given on a share has to be transparent to the buyers. The
newspublishedonsocialmedia,newsanddecisionboards shouldbereal.
4.2 SYSTEMARCHITECTURE
Fig4.1MVCArchitecture
Fig4.2N-tierArchitecture
Fig4.3ServletEngine
4.3 SEQUENCEDIAGRAM
Fig4.4:Sequencediagramforprojectmanager
Fig4.5:Sequencediagramfor Developer
Fig4.6:Sequencediagramfor Tester
4.4 DATAFLOWDIAGRAM
Fig4.7:DATAFLOWDIAGRAM
Fig4.8:FLOWDIAGRAM
4.5 USECASEDIAGRAM
Fig4.9: Usecasediagramforbugtracker
Fig4.10:Use casediagramforuserand developer
4.6 ERDIAGRAM
Fig4.11:ERDiagramfor Bugtracker
IMPLEMENTATION
5.1CODESNIPPETS
SOFTWAREINSTALLATION
6.1 JDKINSTALLATION
Step1:Gototheofficialwebsiteoforacleusingthebelowlinktodownloadjdkandjre(inbuilt).
https://www.oracle.com/technetwork/java/javase/downloads/index.html
FigureNo6.1:Oraclewebsite
Step 2:clickon thelatest JDKversion
iscomplete.
FigureNo6.3:-JDKinstallation
Step 4: set environment
variableRight click on
computer=>properties
FigureNo6.4:-Systemwindow
SelectAdvancedsystemsetting=>EnvironmentVariables.
FigureNo6.5:-EnvironmentVariable
Create anewpathvariable.
FigureNo6.6:-Pathcreation
OpencommandpromptandexecutethecommandJAVAC.
FigureNo6.7:-Commandprompt
6.2 EclipseInstallation
Browseto thebelowlink todownloadEclipseOxygen and clickon
thedownloadicon.https://www.eclipse.org/oxygen/
FigureNo6.8:-Eclipsewebsite
FigureNo6.9:-Eclipseinstaller
Acceptthetermsandconditions.
Clickonrememberacceptedlicense=>accept.
FigureNo6.10TermsandConditions
AfterinstallationclickonlaunchtoopentheIDE,selectpath tosavetheprojectfiles.
FigureNo6.11:-IDE
6.3 TomcatInstallation
BrowsetotheofficialapachewebsiteinordertodownloadTomcatserver.https://
tomcat.apache.org/download-90.cgi
FigureNo6.12:-Apachewebsite
FigureNo6.13:-Downloads
Localhost:8580Andthebelowpage
willbedisplayed.
FigureNo6.15:-successfulinstallation
SCREENSHOTS
7.1 LogintheBugtrackingsystemwebpage
7.2 HomePage
7.3 addingnewteammember
7.4 statusoftheproject
7.5 Summaryofthebugs
7.6 Uploadthecode
CONCLUSION
Bug Tracking System helps to detect and manage the bugs in software
productseffectively. It is the best projectmanagement tool. It can be used totrack thebugs
in the project modules and assist in troubleshooting errors for testing
anddevelopmentprocess.
This project highly avoids all sources of delay in bugs reporting level within theproject
modules in the software industry. As application is deployed in a companyserver,itis
much more secure.
This can be modified and enhanced for performing more complex task related
tobugtracking system.
[2] Castro,ElizabethandHyslop.HTML5,andCSS,EightEdition:
(VisualQuickStartGuide), Peachpit Press,2013.
[4] Flanagan, David. Javascript : The Definitive Guide, Fifth Edition, O'Reilly
&Associates,2006.
[6] St. Laurent, Simon and DeLong, B.K. HTML: Moving Toward XML,
HungryMinds,2000.
[7] MickleyGillenwater,Zoe.StunningCSS3:AProject-basedGuidetotheLatestinCSS,
NewRiders2010.