bug report and tracking system documentation

Upload: sampreethi

Post on 02-Jun-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 Bug report and tracking system documentation

    1/52

    Bug Reporting and Tracking System

    Overview of the System

    The project is a developed based on the standards of the coding

    used by the developer is tested before giving to the client. System

    that interacts with the code developed bye the user. Using this project

    any developer with minimal knowledge can easily check correctness

    of the code easily without any errors.

    Business Requirements Analysis

    Before submitting to the client or hosting any site of the project should

    maintain a testing tools. Here this developing system is based on

    this process only. This project will maintain a database for each

    project, in that it maintains project code, bugs. Bug tracking

    developers read these bugs and fi the bugs and update the

    same information in the bug reports.

    The following is the system developed for the above stated needs. !n

    initial feasibility study was conducted " a conclusion was arrived at

    that automating such a system would not only achieve all the things

    mentioned above.

  • 8/11/2019 Bug report and tracking system documentation

    2/52

    Project Plan

    Bug #eporting and Tracking system $B#TS%. This system was designed to report

    and track bugs of different projects while the project is designed, coded, tested

    and also in the documentation.&ata entry into the application can be done through various screens

    designed for various users. 'nce the authori(ed personnel feed the

    relevant data into the system, several reports could be generated as per the

    security.

    The !nalysts will interact with the current manual system users to get the

    #e)uirements. !s a part of this the #e)uirements Specification &ocument will be

    created. The re)uirements Specifications document will contain the !nalysis "

    &esign of the system. The !nalysis, &esign, *mplementation " testing of the

    System will be followed to produce an incremental cycle, which will deliver

    milestones like the #e)uirements Specification &ocument etc., at the end of each

    of the iterations, +hases or cycles. 'nce the &esign is ready the *mplementation

    " Testing strategy of the system will commence. ach will be independent of the

    other. The implementation of the system itself will be broken down into sub-

    systems following the Software ngineering principles for the development ofrobust software.

  • 8/11/2019 Bug report and tracking system documentation

    3/52

    CONCEPTS AND TECHNIQUES

    The ava +ackages

    ight packages comprise the standard ava development environment.

    The ava /anguage +ackage

    The ava language package, also known as java.lang, containsclasses that are core to the ava language. The classes in this packageare grouped as follows0

    'bject

    The granddaddy of all classes--the class from which all others inherit.

    &ata Type 1rappers

    ! collection of classes used to wrap variables of a primitive data type0Boolean, 2haracter, and &ouble, 3loat *nteger and /ong.Strins

    Two classes that implement character data. The String and StringBuffer 2lasses is a thorough lesson on the use of both types of strings.

    System and #untime

    These two classes provide let your programs use system resources.System provides a system-independent programming interface to systemresources and #untime gives you direct system-specific access to theruntime environment. Using System #esources &escribes both theSystem and #untime classes and their methods.

    T!rea"s

    The Thread, Thread &eath and Thread 4roup classes supplementthe multi-threading capabilities so important to the ava language. The java.lang package also defines the runnable interface. #unnablemakes it convenient for ava class to be active without subclassing theThread class. Through an eample-oriented approach Threads of 2ontrolwill teach you about ava threads.

  • 8/11/2019 Bug report and tracking system documentation

    4/52

    2lasses

    The 2lass provides a runtime description of a class and the 2lass/oader class allows you to load classes into your program during runtime.5ath

    The 5ath class provides a library of math routines and values suchas pi.

    ception, rror and Throwable

    1hen an error occurs in a ava program, the program throws an

    object, which indicates what the problem was and the state of theinterpreter when the error occurred. 'nly objects that derive from thethrowable class can be thrown.

    There are two main subclasses of Throwable0 ception and rror.ceptions are a form of Throwable that 6normal6 programs may try tocatch. rrors are used for more catastrophic errors--normal programsshould not catch errors. The java.lang package contains the Throwable,ception, and rror classes, and numerous Subclasses of ceptionand rror that represent specific +roblems. Handling errors usingeceptions shows you how to use eceptions in your ava programs to

    handle errors.

    +rocess

    +rocess objects represent the system process that is created when youuse #untime to eecute system commands. The java.lang +ackagedefines and implements the generic +rocess class.

    The compiler automatically imports this package for you. 7o otherpackages are automatically imported.

    The ava *8' +ackage

    The ava *8' +ackage $java.io% provides a set of input and'utput streams used to read and write data to files or other*nput and output sources. The classes and interfaces defined*n java.io are covered fully in *nput and 'utput Streams.

  • 8/11/2019 Bug report and tracking system documentation

    5/52

    T!e #a$a Utility Pac%ae

    This ava package, java.util, contains a collection of utility classes.!mong them are several generic data structures $&ictionary, Stack,

    9ector, and Hash table% a useful object for tokeni(ing a string and anotherfor manipulating calendar dates.The java.util package also contains the 'bserver interface and'bservable class, which allow objects to notify one another when theychange. The java.util classes aren:t covered separately in this tutorialalthough some eamples use these classes.

    The ava 7etworking +ackage

    The java.net package contains classes and interface definitions thatimplement various networking capabilities. The 2lasses in this package

    include a class that implement a U#/, a connection to a U#/, a socketconnection, and a datagram packet. ;ou can use these classes toimplement client-server applications and other networking communicationapplications.2ustom 7etworking and Security has several eamplesusing these classes, including a client-server eample and an eamplethat uses datagrams.

    The !pplet +ackage

    This package contains the !pplet class, the class that you mustsubclass if you:re writing an applet. *ncluded in this +ackage is the !udio

    2lip interface which provides a very high level abstraction of audio.1riting !pplets eplains the ins and outs of developing your own applets.

    The !bstract 1indow Toolkit +ackages

    Three packages comprise the !bstract 1indow Toolkit0ava.awt, java.awt.image, and java.awt.peer.

    !1T +ackageThe java.awt package provides graphical user interface $4U*%

    elements that are used to get input from and display information to theuser. These elements include windows, buttons, scrollbars, and tetitems.

    !1T *mage +ackageThe java.awt.image package contains classes and interfaces

    for managing image data, such as setting the color model, cropping, color

  • 8/11/2019 Bug report and tracking system documentation

    6/52

    filtering, setting piel values, and grabbing snapshots of the screen.

    !1T +eer +ackageThe java.awt.peer package contains classes and interfaces that

    connect platform-independent !1T components to their platform-

    dependent implementation $such as 5otif widgets or 5icrosoft 1indowscontrols%. 2reating a User *nterface covers all three of the !1T packages.

    3!TU#S '3 !9!

    &istributed

    ava has an etensive library of routines for coping with T2+8*+protocols like HTT+ and 3T+ ava applications can open and accessacross the 7et via U#/s with the same ease as when accessing local file

    system.

    1e have found the networking capabilities of ava to be both strongand easy to use. !nyone who has tries to do *nternet programming usinganother language will revel. How simple ava makes onerous tasks willlike opening a socket connection.

    Ro&ust

    ava is intended for writing programs that must be readable in a 9arietyways. ava puts a lot of emphasis on early checking for possible

    problems, later dynamic checking, and eliminating situations that are errorprone. The single biggest difference between ava has a pointer modelthat eliminates the possibility of overwriting memory and corrupting data.

    The ava compiler detects many problems that in other languageswould only show up at runtime. !s for the second point, anyone who hasspent hours chasing a memory leak cost by a printer bug will be veryhappy with this feature of ava. ava gives you the best of both worlds. ;ou need not pointers foreveryday constructs like string and arrays. ;ou have the power of pointersif you need it, for eample, for like lists. !nd you have always-complete

    safety, since you can never access a bad pointer or make memoryallocation errors.

    Secure

  • 8/11/2019 Bug report and tracking system documentation

    7/52

    ava is intended to be used in networked8distributed environmenttoward that end< a lot of emphasis has been placed on security. avaenables the contraction of virus-free, temper-free systems.

    Here is a sample of what ava=s security features are supposed to

    keep a ava programming from doing0

    >. 'verrunning the runtime stack.

    ?. 2orrupting memory outside its own process space.

    @. #eading or writing local files when invoked through a security-consciousclass loader like 1eb browser.

    Arc!itecture Neutral

    The compiler generates an architecture neutral object file format- thecompiled code is eecutable on many processors, given the presence ofava runtime system...The ava compiler does this by generating byte codeinstructions which have nothing to do with a particular computerarchitecture. #ather they ere designed to be both easy to any machine andeasily translated into native machine code on the fly. Twenty years ago, the U2S& +ascal system did the same thing in acommercial product and, even before that, 7icholas 1orth=s originalimplementation of +ascal used the same approach. By using bytecodes,performance takes major hit. The designers of ava did an ecellent jobdeveloping a byte code instruction set those workers well on today=s most

    common computer architectures. !nd the codes have been designed totranslate easily into actual machine instructions.

    +ortable

    Unlike 2 and 2AA, they are no 6implementation dependent6 aspectsof the specifications. The si(es of the primitive=s data types are specified, asis the behavior of arithmetic on them. 3or eample, an int in ava is always a @?-bit integer. *n 282AA, int canmean a >-bit integer, a @?-bit integer, or any si(e the compiler vendor likes.The only restriction is that it must have at least as many bytes int andcannot have more bytes than a long int.

    The libraries that are a part of the system define portableinterfaces. 3or eample, there is an abstract window class andimplementations of it U7*C, 1indows, and the 5acintosh.

  • 8/11/2019 Bug report and tracking system documentation

    8/52

    Inter'rete"

    The ava interpreters can eecute ava byte codes directly on anymachine to which the interpreter has been ported. Since linking is a moreincremental and lightweight process, the development process can be much

    more rapid and eplanatory. 'ne problem is that the &D is fairly slow at compiling your source codeto the bytecodes that will, ultimately, be interpreted in the current version.

    Hi! Per(ormance

    1hile the performance of interpreted bytecodes is usually morethan ade)uate, there are situations higher performance is re)uired. Thebytecodes can be translated on fly into machine code for the particular 2+Uthe application is running on.

    7ative code compilers for ava are not yet generally available. *nstead thereare just-in-time $jit% compilers. These work by compiling the byte codesinto native code once, caching the results, and then calling them again, ifneeded. This speeds up code once, catching the results, and calling themagain, if needed. This speed up the loop tremendously since once has to dothe interpretation only once. !lthough still slightly slower than a true nativecode compiler, just-in-time compilers can give you a >E-or even ?E-foldspeedup for some programs and will almost always be significantly fasterthan the ava *nterpreter.

    )ultit!rea"e"

    *n a number of ways, ava is more dynamic language than 2or 2AA. *t was designed to adapt to an evolving environment. /ibraries canfreely add new methods and instance variables without any effect on theirclients.... *n ava, finding out run time type information is straightforward. This is an important feature in those situations where code needs tobe added to a running program. ! prime eample is code that is downloadedfrom the *nternet to run in browser.

    PARADI*) O+ #A,A

    ava as a programming language evolved keeping in view certaincriteria and features. *t was built around a model that had these features.Some of the features of this model we have seen like the object oriented,architecture neutral, robust, secure etc. Some additional features areeplaining below

  • 8/11/2019 Bug report and tracking system documentation

    9/52

    &ynamic downloading of applets- !pplets should be downloadable on toa client machine as and when re)uired.

    limination of fatter phenomenon - ava based products could eliminate

    these by giving the users only those features of a product that the userneeds at a time. The remaining features of a product can remain on theserver itself. Supports 7etworks centric computing- ava should be able to supportlow cost 7etwork computers.

    Supports 2'#B!" &2'5-ava supports 2ommon 'bject #e)uestBroken !rchitecture $2'#B!% and &istributed 2ommon 'bject 5odel$&2'5%. This ensures that certain standards for object +rogramming arenet. Supports !ctive C also.

    #A,A APP-ETS

    !pplets are a common way of writing ava applications. *ntegratingweb based sound and graphics into applications is simplified by usingmethods in !pplet class. !pplets are essentially program that run fromwithin a browser. They appear as part of HT5/ documents in the same waythat pictures are presented. The major difference is that instead of a staticgraphics, the ava !pplet is a complete running program. !n !pplet is justlike a widow application, but without a classic window frame. The range ofprograms that can be written as an !++/T are reduced because ofsecurity limitations imposed by the target browser. !pplets run only from

    with in ava-nabled browsers such as 7TS2!+, hotava, and*7T#7T C+/'S#.

    AD,ANTA*ES O+ APP-ETS

    There are several advantages using !pplets. The most obvious isthat you only need one copy of your production class files on an HT5/server. This reduces the nightmare of distributing and installing software bythe tape or disk. *nternet and *ntranet based software also reduces theproblems of /!7 accesses to software instead of accessing a disk by wayof a network-mounted disk. 3iles are accessed through http and 3T+.

    1B pages can also be used as a method of presenting help to yourusers as well as keeping them informed about the latest changes to yourprograms. This enables due to keep in constant touch your users.

    DISAD,ANTA*ES O+ APP-ET

  • 8/11/2019 Bug report and tracking system documentation

    10/52

    #unning your application from a web browser is not necessarily agood thing. Target users must be running a version of web browser thatsupports that ava. *t also helps if uses have an *nternet connection of ?F.Fk or higher on relatively fast computers. !nother large problem is local fileaccess. *f the applet was loaded from an http server, no local files can be

    read or written to on the client machines. /oading the applet from the userslocal disk storage can alleviate this, but this defeats any of the web-basedapplet advantages mention earlier.

    !pplets have reduced network access. *f an applet is loaded fromnetworked machine. 'nly that machine can be communicated with a via asocket connection this prevents the applet from communicating to othermachines on web. This security restriction is alleviated if the applet isloaded from the users local disk.

    !ny ava based graphical application can be easily converted into anapplet. This id because both frame and applet are eecuted from thecontainer class.

    !++/T /*3 2;2/

    There are four methods that give the framework to build the applet*nit $%Start $%Stop $%&estroy $%

    *nit$%0- Used for initial setup such as defining /ayout, passing parametersand other initiali(ations.

    Start$%0- This is called immediately after init $% start $% is called each time user

    Object

    Com'on

    Container

    Panel

    A''let

    .in"o/

    Frame

  • 8/11/2019 Bug report and tracking system documentation

    11/52

    return to the pea or when the page is deconified. Unlike start, init is calledonly once.

    Stop$%0- This method is called when the user moves off the page on whichthe !pplet sits or when it is iconified. *f an applet if not doing time

    consuming activities like performing animation, this need not beimplemented.

    &estroy$%0- This method is called when the browser shuts down. *t is usedto re-claim resources.

    #A,A ,S C00

    The synta of ava looks very much like 2AA. 2ompared to cAA,ava used similar synta for if and loop constructs. The notion of aconstructor is all very similar to what 2AA has.

    The following are some of the differences of ava over 2AA. *f youunderstand these differences you will see why ava is such a beneficialprogramming language.

    2ompare to 2AA ava runs ?E times slower because of platform

    independents.

    very thing must be in a class. There are no global functions or

    global data. *f you want the e)uivalent of global, make static methods andstatic data within a class. There are no structures or enumeration or

    unions. 'nly class.

    The 2har type uses the international >-bit. Unicode character set,

    so it can automatically represent most national characters.

    !ll non-primitive types can only be created using new. !ll primitive types

    can only be created directly, without new. There are wrapper classes forall primitive classes so you can create e)uivalent heap-based objects withnew

    ava has no +reprocessors. *f you want to use classes in another library,

    you say import and the name of the library. There are no preprocessor-like macros.

    There are no ava pointers in the sense of 2 and 2AA. 1hen you create

    an object with new, you get back a reference. 3or eample

  • 8/11/2019 Bug report and tracking system documentation

    12/52

    String s G new String $6peers6%oriente" terminoloy< /e say t!at your &icycle is aninstance o( t!e class o( o&jects %no/n as &icycles3 Bicycles !a$e somestate ?current ear< current ca"ence< t/o /!eels@ an" &e!a$ior ?c!aneears< &ra%e@ in common3 Ho/e$er< eac! &icycle9s state is in"e'en"ent

  • 8/11/2019 Bug report and tracking system documentation

    34/52

    o( can &e "i((erent (rom ot!er &icycles31hen building bicycles, manufacturers take advantage of the fact that bicycles

    share characteristics by building many bicycles from the same blueprint M it

    would be very inefficient to produce a new blueprint for every individual bicycle

    they manufactured.

    In o&ject>oriente" so(t/are< it9s also 'ossi&le to !a$emany o&jects o( t!e same %in" t!at s!are c!aracteristics< rectanlescasses y defaut*$

    2$ est t;e &S+ fie$

    n'oke t;e &S+ fie from a we rowser$

    #ac; of t;ese steps in its simpest form is discussed eow$

    &a'aSer'er +ages sampes, compete wit; working code, are pro'ided wit; t;e product$@or a isting of sampes, see t;e &a'a titeC

    >;eadCodyC

    ;3C0eo ;3CpCoday is: &jsp'get$roperty name()c%ock)

    http://var/www/examples/index.htmlhttp://var/www/examples/index.html
  • 8/11/2019 Bug report and tracking system documentation

    46/52

  • 8/11/2019 Bug report and tracking system documentation

    47/52

    3

    .-

    >;3CpCoday is: =sp:get+roperty nameLIcockI

    propertyLIdateI>C>pC

    >odyC>;tmC

    Rememer to sa'e t;e fie wit; a .jspfiename e.tension$ ;is tes t;e weser'er t;at t;e

    fie is a &a'aSer'er +ages fie and to process it accordingy$

    5! $%ace the #S$ fi%e and associated fi%es

    +acing t;e 'arious parts of a &S+ appication is straig;t forward if you foow t;ese rues:

    &S+ fie

    ;ink of t;e &S+ fie as an 0M" page )w;ic; it is w;en t;e cient recei'es it*$

    ;is makes it o'ious w;ere t;e fie s;oud e paced--in t;e document root oft;e weser'er$ By defaut, t;e document root is:

    server_root>puic?;tm>

    w;ereserver_rootis t;e ocation of t;e instaed &a'a

  • 8/11/2019 Bug report and tracking system documentation

    48/52

    f t;e &a'aBeans components, $cass fies, or ser'et fies associated wit; t;e $=sp

    fie are remote to t;e &a'a

  • 8/11/2019 Bug report and tracking system documentation

    49/52

  • 8/11/2019 Bug report and tracking system documentation

    50/52

    Requirements Specification 7ocument

    !ccording to #oger +ressman in Software ngineering0 ! +ractitioner:s !pproach

    $5c4raw-Hill +ublications% SEPA2FG, the re)uirement specificationdocument is produced at the end of !nalysis of the system. This document is a

    very comprehensive document " contains all the User re)uirements " !nalysis

    diagrams. The #e)uirements are broadly divided into two groups0

    >. 3unctional re)uirements

    ?. 7on-functional re)uirements

    Functiona% Requirements

    The main purpose of functional re)uirements within the re)uirement specification

    document is to define all the activities or operations that take place in the system.

    These are derived through interactions with the users of the system.

    !ccording to this system each project should be maintain uni)ue projectcode in

    the database.

    Non>+unctional Requirements

    The non-functional re)uirements consist of

    >. !nalysis, &esign " &ata re)uirements.?. 2onstraints.@. 4uidelines.. 9alidation 2riteria.

    Analysis< Desin Data requirements

    The !nalysis " &esign phases of the system yield &ata 3low &iagrams, tetualanalysis " &ata &ictionary. &ata dictionary consists of process statementsshowing how data is flowing from starting point to end point.

  • 8/11/2019 Bug report and tracking system documentation

    51/52

    Constraints

    These are the re)uirements that are not directly related to the functionality of thesystem. These should be considered as mandatory when the system isdeveloped. The following 2onstraints were arrived at for the system0

    The bug which is fied cannot be refied in the whole process.

    8uide%ines

    1e have discussed mandatory re)uirements in the previous section. There)uirements in this section should be taken as suggestions " they should bethought of as recommendations to further enhance the usability of the system.

    >. The system should select the project for which he has to find the bug and

    report.

    ?. The system should store the data for each project in database.

    @. The system should be designed in such a way that it is easy to enhance it withmore functionality. *t should be scalable " easily maintainable.

    ,ali"ation Criteria

    The 9alidation 2riteria are dealt separately in the 2hapter dealing with the TestStrategy " Test cases.

    Arc!itecture Tec!noloies use"

    !fter analy(ing the #e)uirements, the !rchitecture chosen for the System to beimplemented is decided as the 5ulti-tier !rchitecture. This architecture is chosenbecause it separates the &evelopment of the System into independent modulesor tiers. 4enerally comple projects use this, as the work in each tier can betaken up by specialists in each field.

    Since the ava based technologies $? M ava ? nterprise dition% overcomeall the drawbacks mentioned above, ava is chosen as the Technology in which

    the +roject is to be implemented. ava has the added advantage of being a fully'bject 'riented /anguage " for projects of considerable compleity this is thebest possible choice.

  • 8/11/2019 Bug report and tracking system documentation

    52/52

    BIBILORA!H"

    ! #9:9 +O;$+= ????? $9TR@+A>98HTO>C

    H=RB=RT S+H@>C

    89RD +OR>=