Bug Tracking System - Documentation

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 43

SarhadCollegeofArts,CommerceandScience,Ka

traj, Pune

ProjectReporton
“Bug Tracking System”
AProjectsubmittedto
InPartialfulfilmentoftherequirementsforthedegree of
M.Sc. (Computer
Science)By

Vinayak Khavale Rollno: 5161


Apeksha Nikalje RollNo: 5173

Under the guidance of


Prof. Mr. Amol kale
2021-2022
ACKNOWLEDGEMENT

Thesatisfactionandeuphoriathataccompanythesuccessfulcompletionofanytaskwouldbeimp
ossiblewithoutthementionofthepeoplewhomadeitpossible,whoseconstantguidanceandenco
uragementcrownedoureffortswithsuccess.

I would also like to thank MS. Sonali. Gholve, Professor and Head,
DepartmentofComputerScience,forherconstantsupport.

I express mygratitudeto Ms. FatimaTamboli, AssistantProfessor, myprojectguideforconstantly


monitoring the development of the project and setting up precisedeadlines. Her valuable
suggestions were the motivating factors in completing thework.

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

1.1 INFORMATION CONSISTENCY

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.

InSpring MVCtohandle logicfor request, wehavetocreateController. Tocreate object for


controller we have to use@Controller annotation. To invoke themethod against Each url
pattern, we have to use @RequestMapping(“/URI”)WithGET and POSTrequest.
Foreverymodule,weneedtocreateonecontrollerclass.

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):

Hibernate is an ORM (object relational mapping ramework) which maps the


javaobjectswithrelational(database) tables.

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.

MySQL is an RDBMS which follows all the rules

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 is an open source web server. Tomcat 7 or 8 support java 7 and


above.Torunjavaapplicationsthroughinternetwehavetodeploytheapplicationsinanyone
ofthe servers.Tomcat isone of popularservertouse.

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.

jQuery is mainly implemented on client side(browser) to performclient-

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.

Other terms for non-functional requirements are "constraints", "quality


attributes","qualitygoals","qualityofservicerequirements"and"non-
behavioralrequirements".

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:

In software engineering, maintainability is the ease with which a software productcanbe


modifiedinorderto:
 Correctdefects
 Meetnewrequirements
Newfunctionalitiescanbeaddedintheprojectbasedontheuserrequirementsjustby addingthe
appropriatefiles to existingproject.
Sincetheprogrammingisverysimple,itiseasiertofindandcorrectthedefectsandto make the
changesin theproject.

3.2.3 SCALABILITY:

System
iscapableofhandlingincreasetotalthroughputunderanincreasedloadwhenresources(typicallyhard
ware)are added.

System canworknormallyundersituations suchaslow bandwidthandlargenumber of users.

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.

Project can be executed under different operation conditions provided it meets


itsminimumconfigurations.Onlysystemfilesanddependantassemblieswouldhaveto be
configuredin such case.

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

No sensitive information from the customer’s private data can be derived by


thethirdparty. Companiesget knowthe realand fakereviews.

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

FigureNo 6.2:- JDK

downloadStep 3: Install the Jdk once after the download

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

Onceafter thedownloadiscomplete clickontheexefiletoinstallit.

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

Clickonthedesiredversion ofTomcatfromthe leftpanel.

FigureNo6.12:-Apachewebsite

Clickonwindows serviceinstaller,once after thedownloadiscompleterunit.

FigureNo6.13:-Downloads

After installationthetomcatservericonwillbepresentin thedownrightpanel.


FigureNo6.14:-ApacheTomcat

Open browser and type

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.

This project has lot of scope to replace existing system followed by


softwareorganizations. This application willsave time, increase security and
providesbetter performance withwell-designeddatabase.
REFERENCES
[1] Grannell, Craig. The Essential Guide to CSS and HTML Web Design,
friendsofED, 2007.

[2] Castro,ElizabethandHyslop.HTML5,andCSS,EightEdition:
(VisualQuickStartGuide), Peachpit Press,2013.

[3] Crockford,Douglas.JavaScript: TheGood 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


SuccessfulCommercialWebSites,MorganKaufmann,2000.

[6] St. Laurent, Simon and DeLong, B.K. HTML: Moving Toward XML,
HungryMinds,2000.

[7] MickleyGillenwater,Zoe.StunningCSS3:AProject-basedGuidetotheLatestinCSS,
NewRiders2010.

You might also like