Discusses the software development life cycle

Assignment Help JAVA Programming
Reference no: EM131342929

CASE STUDY: BUG TRACKING SYSTEM

A bug can be defined as an unexpected defect in a computer program Number of faults, flaws and imperfection can be encountered in an application developed with a given technology and platform. All these bugs should be reported to the organization responsible lot the development of that Particular software product. All software development companies are interested in getting updates for the recognized bugs in all of their products, so that, they can be fixed at the earliest by their technical experts. We need a system which can help in tracking bugs with all information about them. Such a system is known as bug tracking system.

The required information about a bug can include.
- Time, when the bug first appeared
- steps to reproduce this bug, if any.
- The product name and version related to bug.
- Environment (Windows. UNIX) in which bug appeared.
- Type of the bug (GUI, Server].

A bug tracking system is software which can be designed to help programmers in keeping track of reported bugs in their other software products. This can be seen as one of the form of issue tracking system. A bug tracking system allows user to report a detected bug directly to the concerned people who can fix it. A bug tracking system can be integrated with some other software management applications and can be used internally in a software developing organization to improve the team work efficiency.

A bug tracking system maintains a database that records all fads about all detected and reported bugs. The details about a bug may include its seventy, the unexpected program behavior, the identity of the user who reported it and identity of expert who is fixing it.

A bug can be assigned a status according to the stage of its life cycle and can be moved from one status to another status like new, assigned, closed and more. Only an administrator should be allowed to configure the different states of a bug. The complexity of fixing a bug does not depend on the severity of that bug.

This chapter discusses the software development life cycle of a project named Bug Tracking System which can be used to track all bugs reported by the user.

SDLC of the Project

The software development life cycle (SDLC) of a project should be discussed first when a project development is planned. An efficient requirement analysis and software design assures the development of equally efficient system with fewer efforts in changing modules again and again which the case may be with a poorly analyzed and designed system. The SDLC of the project has been discussed further in this chapter

Requirement Analysis

The requirement analysis of a given system specifies its exact need. All requirements to be fulfilled by the newly designed system should be considered first before designing it. A better design can only be prepared after a full requirement analysis of the system and finding why the system is required. A bug tracking system can be used by some end users who con report a bug encountered by them. The other users of this application are software management people who are responsible to handle all the bugs reported and fix them. Following is the list of requirements to be fulfilled for bug tracking system.

• it should provide a user Interface to submit the details of a newly discovered bug with all details like its type, its severity, the steps to reproduce it and some erroneous behavior of the application due to the bug

• There should be a provision of assigning reported bugs to a programmer or a group of programmers responsible and capable of fixing these bugs.

• All users should be capable of viewing status of reported bugs.

• The expert group should be provided some user interface to give some possible solutions for the reported bugs

• All types of access to the system should be checked and verified for the authentication of the user.

After going through requirement analysis, we can design various modules for the application. These modules can be designed and planned separately and integrated together to make whole application work and meet all requirements specified in requirement specifications.

• Login module
• Admin module
• Technical Expert module
• Bug Reporting module

Let us now discuss all these modules in detail.

Login Module

This module has been designed to manage login process. All types of accesses by different type of users are verified for their authentication. This module includes user interface to enter login id and password to check the identity of the user. Only the authorized user can configure reported bug for Ito status. Different modules ore secured from different type of users who dog

Admin Module
This module manages functions such as assigning various properties to the reported bugs (severity, priority) and changing its status. Further, it handles the assignment of specific bug to some technical expert who can fix it. An administrator can also delete the bugs if required.

Technical Expert Module
This module helps in handling of reported bugs by some technical experts assigned to them by administrator. They can provide some sort of solutions for the reported bugs. Some bugs cannot be fixed in the current version of the software produce and hence the solution can be given in the form of new version of the product. A technical expert can give solutions only for the bugs assigned to it.

Bug Reporting Module
This module provides user interfaces to submit details of a newly encountered bug. A normal user cart sign in and report a bug which has been detected by him. The user can enter it details of the bug including how the program behaves because of the bug, the steps to reproduce bug, and type of the bug, A user can see details all the bugs reported by him with the different comments given by num of technical experts.

Database Design
Facts about all reported bugs are to be maintained in database. The available authorized user Who can access the system is also stored in the form of table. Hence, we design a database schema to be managed by this application.

The queries for all tables have been given in queries.txt file which you can find in Bug Tracking System folder. Execute all queries given to create tables and input some records in them. The Insert queries have also been provided in the same file.

Development
With the available requirement specification prepared in requirement analysis phase and design specification created after software designing phase, we can start the development of our bug tracking system with the creation of different components like Servlet and JSP page.

The following details give a brief idea about various components in different modules:

      •Home page

JSP pages

      •header.jsp

      •menu.jsp

      •default.jsp

       •Login module

  Servlet

     •Login.java

 JSP pages

     •login.jsp

     •logout jsp

     •loginerror.jsp

     •admin.jsp

     •expert.jsp

    •user.jsp

Admin module

  Servlet

    •SignUp.java

  JSP pages

    • bugsadmin.jsp

    • updatebug.jsp

   • updatebug1.jsp

   •del.jsp

   •bugdetaill.jsp

   •configexp.jsp

   •configexpl.jsp

   •addexpert.isp

Technical Expert module

   JSP pages

    •bugcomment.jsp

    •addcomment.jsp

 Bug Reporting module

   Servlet

     • ReportBug.java

    JSP pages

     •signup.jsp

     •reportbuq.jsp

     •viewbugs.jsp

     •bugdetails.jsp

You can find the project folder with all sub folders and code files in Bug Tracking System folder. The project folder is named bug. Create a directory structure similar what has been created in the project folder. You can copy all code files from the bug folder. All .java files ore available in Bug Tracking System\bug\WEE-INF\src folder and all . jsp files are in Bug Tracking System\ bug folder.

The reader can copy the project folder bug and place d in the webapp folder of their Tomcat installation and can run the application to see the flow of project Figure V.1.1 presents the home page of this Web application.

Testing
Testing may be destructive for any of the project, but creation and checking of project for the test cases is important to find out all the logical flaws in the developed project. The project is also tested for the proper functioning of all methods and modules designed and developed along with the testing of all navigation routes in the application.

Implementation and Maintenance

This is the lost phase in the development of any project. A fully tested protect is implemented in the real working environment and maintained thereafter for the changes required due to change in requirement of the user or any other fault detected after implementation.

Attachment:- Assignment.rar

Reference no: EM131342929

Questions Cloud

Important part of the g1-s transition checkpoint : Cell cycle checkpoints are an important feature of a dividing cell to reduce errors that can occur in various stages of the cell cycle. Loss of Rb, an important part of the G1-S transition checkpoint, can result in uncontrolled cell cycle progress..
Calculate the energy and specific heat as functions : Calculate the energy and specific heat as functions of the temperature for arbitrary values of α.
Flask-shaped cylindrical structures known as phialides : What arises from flask-shaped cylindrical structures known as phialides?
Inflation of the apex of the conidospore : What is produced by inflation of the apex of the conidospore and later the inflated apex is separated by a septum?
Discusses the software development life cycle : A bug can be defined as an unexpected defect in a computer program Number of faults, flaws and imperfection can be encountered in an application developed with a given technology and platform. All these bugs should be reported to the organization ..
Explore the country music video from cultural standpoint : Explore the following country music video from a cultural standpoint. You will notice that the lyrics and video narrative do not sync with one another. Explain why you think that it is the case.
Write the given essay assignment : Write the given essay assignment.- Briefly describe six of the nine criteria a teacher considers when selecting a story to tell to the class.
Discuss about the applicability of medical necessity : Physicians must practice appropriate medical management: They must provide the correct services for their patients to get better, given their existing conditions. They must also be able to demonstrate medical necessity for the services they provid..
What kind of public relations efforts does company engage : What kind of advertising campaigns is this company currently engaged in? What kind of media do they advertise in, for example television, the internet, etc.? What kind of public relations efforts does this company engage in

Reviews

Write a Review

 

JAVA Programming Questions & Answers

  Using notepad that implements a basic text analyzer

Write a Java application using Notepad that implements a basic Text Analyzer.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Evaluate an infix expression entered by the user

Spaces between tokens are allowed but not required. The program will repeatedly prompt the user for the value of x, displaying the value of the expression each time. When the user enters the letter q instead of a number, the program terminates.

  Java application to display multiple choice questions

Write down the application which displays series of TEN(10) multiple choice questions: questions must cover all the Java. Each question must have four possible answers and only one answer must be correct.

  Method summarizesequences that takes a string as a parameter

Now implement the method summarizeSequences that takes a String as a parameter. This method should open the file named by this String, and read a sequence from that file into an array list using the getSequence method you wrote above

  What is the purpose of the restrict keyword in c99

Arrays of strings in C and C++ can also be initialized with string literals. In this case, the array is one of pointers to characters.

  Consider an algorithm for computing cubes using addition

You have a computer where multiplication is an enormously expensive operation compared to addition. Consider an algorithm for computing cubes using only addition (FYI: the first 5 cubes are 13 = 1, 23 = 8, 33 = 27, 43 = 64 and 53 = 125). This comp..

  What is a java archive

What type of output does the javadoc command generate and how do you view the output and what is a Java archive?

  Modify the program to include an add button

These buttons should allow the user to perform the corresponding actions on the item name, the number of units in stock, and the price of each unit. An item added to the inventory should have an item number one more than the previous last item.

  Develop a application that allows to manage the grades

The objective of this work is to develop a application that allows to manage the grades of several subjects in each course (Course -> subject -> grade).

  What is the difference between statement

What is the difference between Statement and PreparedStatement interface?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd