Sie sind auf Seite 1von 104

A

PROJECT REPORT
ON
BUG TRACKING SYSTEM

A project Submitted to Symbiosis Centre for Distance


Learning (SCDL)

In Partial Fulfillment for the Degree of PGDITM

Submitted By:

NIKUNJ AGGARWAL
201402196

PGDITM– 2014

1
SYMBIOSIS CENTRE FOR DISTANCE LEARNING [SCDL]

ACKNOWLEDGEMENT

2
ACKNOWLEDGEMENT

I would like to express my heartfelt thanks to many people. This dissertation is an effort to
contribute towards achieving the desired objectives. In doing so, I have optimized all
available resources and made use of some external resources, the interplay of which, over
a period of time, led to the attainment of the set goals.

I take here a great opportunity to express my sincere and deep sense of gratitude to my
esteemed faculty for giving me an opportunity to work on this project. The support &
guidance from sir, was of great help & it was extremely valuable.

I also express my sincere thanks to all the people who, directly or indirectly, contributed in
time, energy and knowledge to this effort.

Nikunj Aggarwal

3
CONTENTS
Page-No.
1. Abstract 07-08
2. Introduction Profile 09-22
2.1. Introduction to BUG TRACKING SYSTEM
2.1.1 Scope
2.1.2 Existing system with limitations
2.1.3 Proposed System Features
2.2. Introduction to Environment.
2.3 Definitions
2.4 Overview
2.5 System Requirements
2.6 Feasibility Study
3. Software Development Methodology 22-25
3.1 Software Requirement Specification
3.2 Problem Frame
3.3 Interface Requirements
3.4 Functional Requirements
3.5 Nonfunctional Requirements
4. Software Development Environment 25-43
4.1 About HTML
4.2 about PHP
4.3 About JavaScript
4.4 About My sql
4.5 Pseudo Code

4
5. Overall Description About modules 44-48
5.1 Admin module
5.2 Test Manager
5.3 Test Engineer
5.4 Develop Manager
5.5 Develop Engineer
6. Behavioral Description 48-74
6.1 Data Flow
6.1.1 Data Flow Diagrams
6.1.2 Use-Case Documentation
6.2 Process Flow
6.2.1 System flow Chart
6.2.2 Activity Diagrams
7. Design 75-83
7.1 Sequence Diagrams
7.2 Collaboration Diagrams
7.3 E-R Diagrams
8. Database tables Documentation 84-87
9. Screens 88-106
10. System Testing 107
11. Conclusion 108
12. Bibliography 109

5
A bug tracking system is a software application that is designed to help quality
assurance and programmers keep track of reported software bugs in their work. It may be
regarded as a sort of issue tracking system.

Many bug-tracking systems, such as those used by most open source software projects,
allow users to enter bug reports directly. Other systems are used only internally in a
company or organization doing software development. Typically bug tracking systems are
integrated with other software project management applications.

Having a bug tracking system is extremely valuable in software development, and they are
used extensively by companies developing software products.

A major component of a bug tracking system is a database that records facts about known
bugs. Facts may include the time a bug was reported, its severity, the erroneous program
behavior, and details on how to reproduce the bug; as well as the identity of the person
who reported it and any programmers who may be working on fixing it.

Typical bug tracking systems support the concept of the life cycle for a bug which is
tracked through status assigned to the bug. A bug tracking system should allow
administrators to configure permissions based on status, move the bug to another status, or
delete the bug. The system should also allow administrators to configure the bug statuses
and to what status a bug in a particular status can be moved.

Our project “BUG TRACKING SYSTEM” provides services to the employees, managers
as well as Administrator of that particular Software Company. The primary objective of
this system is to help the quality assurance and keep track of reported bugs in their work.

Mainly the BUG TRACKING SYSTEM acts as a bridge between the Test Team
Professionals and Develop Team Professionals.

Administrator is responsible of performing various tasks like adding, removing an


Employee, viewing status of an Employee and requests from Employees.

6
In a corporate environment, a bug-tracking system may be used to generate reports on the
productivity of programmers at fixing bugs. However, this may sometimes yield inaccurate
results because different bugs may have different levels of severity and complexity. The
severity of a bug may not be directly related to the complexity of fixing the bug.

In the olden days the communication between the employees would have been done
through emails to over come this problem we are developing this kind of applications to
help the software professionals.

Due to this, report generation becomes accurate and fast. On the whole our System
benefits Software departments /Organizations. .

Software Constraints:
Backend : My SQL, PHP.
Front End : HTML, CSS, JAVA SCRIPT.

Hardware Constraints : The system is compatible for


 1GB RAM
 1.44 Floppy Disk Drive
 80 GB Hard Disk Drive
 CPU : Pentium IV 2G.B MHZ or more
 Cache : 512kb

This volume presents the manner in which the software was developed and how the
various problems are tackled at the different levels to convince the user.

We hope that this package would prove to be an excellent environment for managing web
sites.

7
INTRODUTION PROFILE

2.1 Introduction about “BUG TRACKING SYSTEM”


Bug tracking system is a web-based application designed to help a work group
keep track of issues and tasks via a shared central resource. The system was designed
specifically with the IT deportment in mind, both from an internal organizational
perspective, as well as to fulfill the needs of the customers.
The main benefit of a bug-tracking system is to provide a clear centralized
overview of development requests (including both bugs and improvements, the boundary
is often fuzzy), and their state.
It provides one roof solution for all the bug issues in the software development. It
doesn’t provide any kind of solution to any kind of problem. It only acts as a means to
transmit the issues and their details to the concerned programmers with accuracy. It is a
tool that helps in providing the solution in right time.
The resource of the “Bug Tracking System” is accessible to anyone (employee)

With in an Organization.

2.1.1 Scope:

2.1.2 Existing system with limitations:


Varied types of practices can be found in bug issue handling. Different software
organizations follow different methods to resolve bugs, issues and other software
development problems. The methods they choose depends upon the nature and criticality
of the project they are handling. But most commonly, almost all the medium to large
software development organizations follow a similar method, which we described above.
But these solutions for handling the bugs and issues are going to be different.

Manual way of handling seems to be impossible in these modern days of high speed.
Issue / bug finder, generator, specialist are all located in different places making the timely
solutions difficult. Keeping track of all these issue related activities is another big area
where maintenance is tougher.

8
As these bugs/issues management solutions will come with different price tags and
implementation bottlenecks, which make them not so adoptable for all the organizations
involved in development. Few solutions may need more processing power, few demand
separate systems, and even few needs separate personnel to handle these issues. And few
automated processes insist complete structural changes in the organization. But
nevertheless, few readymade packages, which really solve all these, will cost more.

2.1.3 Proposed system Features

Though the proposed system doesn’t answer all the above- mentioned drawbacks, it
certainly answers many. The suggested solution will tackle the entire major issues related
to transmitting, tracking, updating the statuses with minimal overheads. The proposed
solution contains a simple intranet or Internet based website, which will be accessible to all
the programmers participating in the development project. All these personnel will have to
authenticate themselves to report any kind of problem aroused in developing the specified
project. These problems will be carried to the concerned developer for solution. It also
makes the administrator to administer these issues or bugs centrally to ensure these issues
or bugs are answered in time by the concerned programmers.

9
Related issue details, but at the same time proper security is incorporated into the
software enabling only the related developers can go to in depth details. And
only these people can respond to those unanswered issues or bugs.

The centrally managed database makes the administration easy. It provides


summarized information about the issues, bugs, and problems. It also provides
standard bookmarks to find out related bug issues that logged developer. Bug
Issue Management application also incorporates rigorous search engine to find
out any kind of bug issue for its details.

Finally, it is planned in such a way that administration of the Bug Issue Management
Application itself is in very easy and intuitive way giving the administrators an
easy walk over it.

2.2 Introduction to Environment:


A. ADMINISTRATOR

By using this Bug Tracking System facilitates to enroll the details of the newly joined
employee into the database and maintains employee’s details up to date. The Administrator
store and retrieve the Departmental details when required.

Administrator can update the details if he wants to do so. He/she will do all these things.
For this purpose he/she needs to login to the system by entering user_id and password. The
employee can view all the details as per the requirement i.e., could generate reports of
those details. And also he/she can do some various tasks. Some of those tasks are as shown
below.

2.2. A.1 ADD EMPLOYEE


This service enables the Admin to add the new employee details. And he/she can generate
an employee serial no, and it sends to that particular employee what ever is created by him.

10
He/she can also add the employees on the bases of their department. And also Admin
create the user_id and password of the each and every employee and it send to their mail
address. He/she can also view the employee details according to their department.

2.2. A.2 DELETE EMPLOYEE


This service enables the Admin to delete the employee. He/she can also delete the
employee based on their department.

2.2. A.3 MODIFY EMPLOYEE


This service enables to the Admin to modify the employee details. He/she can also modify
the employee based on their department. By using this scenario he/she can change or
modify the details like addresses, expertise details, user_id, parent position, password,
status of an employees etc.

By using this module he/she can manage the total organization or a software companies
details up to date by providing the status of those particular employees.

2.2. A.4 STATUS OF AN EMPLOYEE


This service enables a user is in an active state or in an inactive state. If the user is in an
active state it shows Active (1) otherwise it shows IN Active (0) state.

By using this module he/she can manage the total organization or a software companies
details up to date by providing the status of those particular employees.

Admin can generate status of an employee. Whenever he/she creates that particular
employee status must be generated.

2.2. A.5 VIEW EMPLOYEES


By using this service enables the whole details of the employees who are working in that
particular organization or a software company. And also by using this Admin can view the
details of an employee according to their departments also.

11
2.2. A.6 VIEW REQUESTS
By using this service the administrator enables the whole requests of the current working
employees those who want to make changes in their profile and then the administrator can
update their profiles.

2.2. A.7 LOGOUT


This service enables the Administrator to exit from the software.

B.TEST MANAGER:
The test manager is assigned the work by the administrator. The work of the test manager
is to assign the specific module to test engineer. Before going to assign the module to the
test engineer test manager checks the availability of test engineer.

2.2. B.1.Assign module:


Test manager assigns module to the test engineer.

2.2. B.2Notified bugs:


In this test manager able to view the bugs which are reported by test engineer.

2.2. B.3.Request to admin:


A request to admin regarding any queries or updates in the profile.

2.2. B.4.Logout:
This service enables to exit from the application.

C.TEST ENGINEER:
Test engineer performs the different test methods on the given module and bug reports to
the test manager if any and he also receives the tested module from the develop engineer to

12
perform retest and if he find and bugs in the given module he is going to perform the retest

on it else closes the module.

2.2. C.1.Report bugs:


Bug reporting is the main functionality of test engineer where he is going to report the
bug’s details to the test manager.

2.2. C.2.Retest bugs:


In retest of bugs test engineer gets the details of bugs which are find by develop engineer

and test engineer perform retest.

2.2. C.3.Request to admin:


A request to admin regarding any queries or updates in the profile.

2.2. C.4.Logout:
This service enables to exit from the application.

D.DEVELOP MANAGER:
The test manager assigns the notified bugs to develop manager and the work of the
develop manager is assigns the particular module to develop engineer based on the priority
of bugs.

2.2. D.1.Assign bugs:


Develop manager assigns the bugs based on the category of the bugs.For instance, if a bug
is raised in design section then the develop manager assigns to design professional.

2.2. D.2.Request to admin:


A request to admin regarding any queries or updates in the profile.

13
2.2. D.3.Logout:
This service enables to exit from the application.

E.DEVELOP ENGINEER:
The work of develop engineer is to debug the logged bugs that are present in the given
module and maintain the details of that particular bug details and also forward the bug
details to the test engineer the person who is raised the bug.

2.2. E .1. Assigned bugs:


In this section the develop engineer is able to view all the assigned bugs to him.

2.2. E.2.Request to admin:


A request to admin regarding any queries or updates in the profile.

2.2. E.3.Logout:
This service enables to exit from the application

2.3 Definitions:

BUG TRACKING SYSTEM By the name it self it can provide the services to software
Professionals. By using this software we can develop a product with high quality. It is
more useful in the present software organizations or companies. The main use of this
particular software is to used for debugging purpose. Today most of the software
companies using this kind of applications to develop a good quality products with less
amount of money.

BUG TRACKING SYSTEM is used to keep track of reported bug in their work. It also
keep track of product development process to provide quality assurance. It act as bridge
between Test Professionals & Development Professionals.

14
2.4 Overview
The Project BUG TRACKING SYSTEM over all deals with the tracking of bugs. The
bug tracking system supports the concept of bug life cycle. The system has to manage the
assignment of bug, submission of a bug and resolution of bug.

Mainly the BUG TRACKING SYSTEM acts as a bridge between the test team and
development team.

Typically a bug tracking system begin when ever any vendor gives any project to the
administrator then the admin is going to add the particular project in to their database and
divides the project in to different type of modules and assign the modules to their
respective team members to resolve the bugs.

 The privileges of administrator is adding, removing an Employee, view status of


an Employee, Edit profile, View requests from employees and Add Project.
 The privileges of Test Manager is assign module and notified bugs.
 The privileges of Test Engineer is report bugs and re-test of bugs.
 The privileges of Develop manager is to assign module to test engineer.
 The privileges of Test Engineer is to report bugs and re-test bugs.

 The project which has been divided into modules the modules are assigned to test
manager the test manager is again going to assign the module to test engineer for
testing.
 The Test Engineer perform different type of test methodologies to find the bugs and
he is going to report the details of the bug if any to the test manager.
 The Test Manager is now going to assign the module which has been received from
test engineer to Develop Manager.
 The Develop Manager is now assign the module to the Develop Engineer including
the details of the module Id, module name, bug Id and the name of the person who
raised.

15
 When ever the Develop Engineer logs in into his account he can able to view the
details of bug and then he perform different type of methods to find out the reason
for the bug and he forward that details to Test Engineer first the person who raised
the bug. Then the test engineer perform test on the module and perform re-test if
any bugs present and closes the module if no bugs present.

System benefits Software departments /Organizations.


The Entire System/Software is divided into five modules those are:

1. ADMINISTRATOR
2. DEVELOP MANAGER
3. DEVELOP ENGINEER
4. TEST MANAGER
5. TEST ENGINEER

2.5 System Requirements


HARDWARE

The Hardware consists of physical components of the computer that input storage
processing control, output devices. The software that manages the resources of computer is
known as operating systems. Computer always includes an external storage system to store
data in programs. The popular storage medium are floppy disk, other media are hard disks
and magnetic tapes etc. The kind of hardware used in the project is

SERVER SIDE
Minimum : 120GB Hard Disk
Pentium : P-IV Processor
RAM : 2GB
Windows Operating System with Apache preloaded.

16
CLIENT SIDE
Minimum: 120GB Hard Disk
Pentium: P-IV Processor
RAM : 2GB

Windows Operating System with Apache preloaded

SOFTWARES

Software is a set of programs to do a particular task. Software is an essential requirement


of computer systems. The kind of software used in this project is:

Operating System : Red Hat Linux9


Language : PHP, HTML.
Database : MYSQL
Network : LAN
Type of server : Apache
Browser : Internet explorer
Mozilla Firefox
Google chrome
Conqueror and

17
Galleon.

2.4. Feasibility Study


Feasibility study is a compressed capsule version of the entire System Analysis and Design
Process. The study begins by clarifying the problem definition. Feasibility Study is not to
solve the problem but to determine it is worth doing.

Once an acceptable problem definition has been generated, the Analyst develops a logical
model of as reference. Next the alternatives are carefully analyzed for feasibility. At least
three different types of feasibility are considered.

2.4.1 ECONOMIC FEASIBILITY


A system that can be developed technically and that will be used if installed must still be a
good investment for the organization. Financial benefits must equal or exceed the cost. The
cost of feasibility study should be approximately 5 to 10percent of the estimated cost.

18
Next factor the cost of development of this sort of project is the cost per man-hour. In this
case cost is nil and considering the time factor the project is to be completed
in1month.Hence it is economically feasible

2.4.2 TECHNICAL FEASIBILITY


The technical issues usually raised during feasibility are does the necessary technology
exist to do what is suggested? Can the system be expanded if developed? The present
object is being done after all the software requirements are met and also there is provision
for further enhancement.

Language that can reach to system level is needed to give a solution this problem.
Scripting Language like javascript, PHP to provide this option. Minimum hard is enough
to fulfill the requirements to develop this project hence we conclude that this project is
technically reliable.

2.4.3 OPERATIONAL FEASIBILITY


This test of feasibility asks if the system will work when it is developed and installed. Here
are the questions that help tests the operational feasibility of a project. Is there sufficient
support for the project from management and users? Will the proposed system works under
all conditions? Have the users been involved in the planning and development of the
project.

The project has been done with the involvement of management and users and it is tested
to work in all conditions. So it can be considered as operationally feasible

3. SOFTWARE DEVOLOPMENT METHODOLOGY

19
3.1 Software Requirement Specification
The Software Requirements Specifications (SRS) begins the translation process that
converts the software requirements into the language that the developers use. The SRS
draws on the use-cases from the User Requirement Document (URD) and analyses the
situations from a number of perspectives to discover and eliminate inconsistencies,
ambiguities and omissions before development progresses significantly under mistaken
assumptions.

3.2 Problem Frame


The main aim of this module is about creating an intranet connecting all the Government
Departments in a district and to provide services for employees and also citizens in the
district. This system automates various services presently done manually. It allows
collector and higher officials to monitor various works going on in the district’s
government departments.

3.3 Interface Requirements


INTERFACE REQUIREMENTS
 This section defines the parameters that the software product must follow while
interacting with the outside world.
User Interfaces
The constraints that the user interfaces must adhere here are:

 This project consists of several forms through which the user can easily interact
with the system.
 The forms include Employee details entry form, all the viewing forms, etc.

Communication Interfaces
Server System should have a Web server, which supports PHP as server scripting language
and My SQL as database.
 Client System can be of any system with normal Operating System and Internet
Explorer.
 There should be good Internet Connection.

20
 The Proposed System uses Hyper Text Transfer Protocol (HTTP) and File Transfer
Protocol (FTP).

3.4 Functional Requirements

FUNCTIONAL REQUIREMENTS
This section analyzes various angles of the functionality to be developed. You do not need
to use each type of analysis for the entire system. Select only that analysis that best allow
you to complete your understanding of the requirements.

Feature Analysis
Add (), View (), Update () functions are used in this system
 Add () function is used to add new information.
 View () function is used to view the existing details.
 Update () function is used to make any modifications on the existing
information, target or incentive details.

Formal Analysis
In this section, logical analysis further refines the understanding of the features. The logic
addresses properties of the use-cases or of the underlying databases. It can cover the pre-
and the post-conditions of the use-cases, thus helping to validate the state of the system
before and after a particular operation. You should maintain a certain level of abstraction
throughout this section to avoid representing implementation details.

3.5 Nonfunctional Requirements

Performance Requirements
 Platform on which this project developed: Windows Operating System

Software Requirement

21
 Backend Requirement: MY SQL
 Front-end Requirement: PHP, HTML, JAVASCRIPT, CSS.
 Only the administration department uses this system.

Safety & Reliability Requirements


 To access this system, the user is provided with a login entry. If the employee is not
present others in the same department can access the system with the login entry
provided and hence the system is safe and reliable.

Security Requirements
 To access this system, the user is provided with a login entry. If the user is not present
others in the same department can access the system with the login entry provided and
hence the system is secure.

Software Quality Attributes


 This system possess the quality characteristics that will be important to either the
employee ,Administrator or Manager include adaptability, availability, accuracy,
flexibility, interoperability, maintainability, portability, reliability, reusability,
robustness, testability, and usability
REFERENCES:
 For preparing the Software Requirement Specification the following documents are
referred.
 Feasibility system study report for Collect rate department as prepared by IEG.

4 Software Development Environments


4.1 About HTML
HTML
HTML is platform independent, meaning it can be written and viewed on any type of
operating System (Windows, Mac, and UNIX/Linux, whatever!) Because HTML is
platform independent, you'll need to save your HTML files in standard text format,
sometimes known as ASCII.

22
Start with a title

Every HTML document needs a title.

<title> MTEC </title>

The title text is preceded by the start tag <title> and ends with the matching
end tag </title>. The title should be placed at the beginning of your document

Adding interest to your pages with images

Images can be used to make your Web pages distinctive and greatly help to get your
message across. The simple way to add an image is using the <img> tag

Adding links to other pages

What makes the Web so effective is the ability to define links from one page to another,
and to follow links at the click of a button. A single click can take you right across the
world!

Links are defined with the <a> tag. The text between the <a> and the </a> is used as the
caption for the link.
Preformatted Text

One of the advantages of the Web is that text is automatically wrapped into lines fitting
within the current window size. Sometimes though, you will want to disable this behavior.
You do this using the pre element

<Pre>Preformatted text</pre>

Preformatted text is generally rendered using a moonscapes font where each character has
the same width. If you define a style rule for the pre element, some browsers forget to use
the mono space font, necessitating the use of the font-family property.

Flowing text around images

With HTML, you can choose whether any given image is treated as part of the current text
line or is floated to the left or right margins. You control this via the align attribute. If the
align attribute is set to left the image floats to the left margin. If it is set to right the image
floats to the right margin.

4.2 About PHP

23
PHP TECHNOLOGY
PHP recursive acronym for PHP
Hypertext Preprocessor is a widely used Open Source general-purpose scripting language
that is especially suited for Web development and can be embedded into HTML.

The best things in using PHP


It is extremely simple for a newcomer, but offers many advanced features for a
professional programmer.

PHP's features
PHP is mainly focused on server-side scripting, so you can do anything any other CGI
program can do, such as collect form data, generate dynamic page content, or send and
receive cookies. But PHP can do much more.
There are three main areas where PHP scripts are used.
Server-side scripting
This is the most traditional and main target field for PHP. You need three things to make
this work:
 The PHP parser (CGI or server module)
 A web server
 A web browser
You need to run the web server, with a connected PHP installation. You can access the PHP
program output with a web browser, viewing the PHP page through the server.

Command line scripting


You can make a PHP script to run it without any server or browser. You only need the PHP
parser to use it this way scripts can also be used for simple text processing tasks.

Writing desktop applications

24
PHP is probably not the very best language to create a desktop application with a graphical
user interface, but if you know PHP very well, and would like to use some advanced PHP
features in your client-side applications you can also use PHP-GTK to write such
programs. You also have the ability to write cross-platform applications this way. PHP-
GTK is an extension to PHP, not available in the main distribution.

With PHP you have the freedom of choosing an operating system and a web server.
Furthermore, you also have the choice of using procedural programming or object oriented
programming, or a mixture of them. Although not every standard OOP feature is
implemented in PHP 4, many code libraries and large applications (including the PEAR
library) are written only using OOP code. PHP 5 fixes the OOP related weaknesses of PHP
4, and introduces a complete object model.

With PHP you are not limited to output HTML. PHP's abilities include outputting images;
PDF files and even flash movies (using libswf and Ming) generated on the fly. You can
also output easily any text, such as XHTML and any other XML file.

PHP can auto generate these files, and save them in the file system, instead of printing it
out, forming a server-side cache for your dynamic content. -- One of the strongest
and most significant features in PHP is its support for a wide range of databases. -- PHP
also has support for talking to other services using protocols such as LDAP, IMAP, SNMP,
NNTP, POP3, and HTTP.

Smarty
Smarty is a template engine for PHP. It facilitates a manageable way to separate
application logic and content from its representation. This is best described in a situation
where the programmer and the template designer play different roles. They are passed into
Smarty by the application, and then the template designer edits the templates and uses a
combination of HTML tags and template tags to format the presentation of these elements
(HTML tables, background colors, font sizes, style sheets, etc.)

25
If the programmer needs to change the way the article content is retrieved (a change in
application logic.) This change does not affect the template designer; the content will still
arrive in the template exactly the same. Likewise, if the template designer wants to
completely redesign the templates, this requires no changes to the application logic.

Therefore, the programmer can make changes to the application logic without the need to
restructure templates, and the template designer can make changes to templates without
breaking application logic.

One design goal of Smarty is the separation of business logic and presentation logic. This
means templates can certainly contain logic under the condition that it is for presentation
only. Things such as including other templates, altering table row colors, uppercasing a
variable, looping over an array of data and displaying it, etc. are all examples of
presentation logic.

This does not mean that Smarty forces a separation of business and presentation logic. One
of the unique aspects about Smarty is the template compiling. This means Smarty reads the
template files and creates PHP scripts from them. Once they are created, they are executed
from then on. Therefore there is no costly template file parsing for each request, and each
template can take full advantage of PHP compiler cache solutions such as Send
Accelerator

Some of Smarty's features


• It is extremely fast.
• It is efficient since the PHP parser does the dirty work.
• No template-parsing overhead, only compiles once.
• It is smart about recompiling only the template files that have changed.
• It is possible to embed PHP code right in your template files, although this may
not be needed since the engine is so customizable.
• Built-in caching support
• Plug in architecture

26
Requirements
Smarty requires a web server running PHP 4.0.6 or later.

4.3 About JavaScript


JavaScript
JavaScript is a compact, object-based scripting language for developing client and server
Internet applications. JavaScript statements can be embedded directly in an HTML page.
These statements can recognize and respond to user events such as mouse clicks, form
input, and page navigation.

For example, you can write a JavaScript function to verify that users enter valid
information into a form. Without any network transmission, an HTML page with
embedded JavaScript can interpret the entered text and alert the user with a message dialog
if the input is invalid. Or you can use JavaScript to perform an action (such as play an
audio file, execute an applet, or communicate with a plug-in) in response to the user
opening or exiting a page.

JavaScript is a programmable API that allows cross-platform scripting of events, objects,


and actions. It allows the page designer to access events such as startups, exits, and users'
mouse clicks. JavaScript extends the programmatic capabilities of most browsers to a wide
range of authors, and is easy enough for anyone who can compose HTML.

Using JavaScript, even less-experienced developers will be able to direct responses from a
variety of events, objects, and actions. It provides anyone who can compose HTML with
the ability to change images and play different sounds in response to specified events, such
as a users' mouse click or screen exit and entry.

JavaScript code is typically embedded into an HTML document using the SCRIPT tag.
You are free to embed as many scripts into a single document as you like, using multiple
SCRIPT tags. A script embedded in HTML with the SCRIPT tag uses the format:

27
<script language="JavaScript">
<!--
document. write ("Hello World!");
//-->
</script>
Scripts can be placed inside comment fields to ensure that your JavaScript code is not
displayed by old browsers that do not recognize JavaScript. The markup to begin a
comment field is <!-- while you close a comment field using //-->.

JavaScript code, much like other programming languages, is made up of statements, which
serve to make assignments, compare values, and execute other sections of code.

4.4 About My SQL


My SQL is a highly scalable, SQL compliant, open source object-relational
database management system (ORDBMS), Version 4.2, developed at the University of
California at Berkeley Computer Science Department. It supports SQL92 and SQL99
It offers many modern features:
 complex queries
 foreign keys
 triggers
 views
 transactional integrity
 multiversion concurrency control
 Additionally, My SQL can be extended by the user in many ways:
By adding new
 data types

28
 functions
 operators
 aggregate functions
 index methods
 procedural languages

Advantages
My SQL offers many advantages for your company or business over other database
systems.

Immunity to over-deployment
Over-deployment is what some proprietary database vendor’s regard as their #1
license compliance problem. With My SQL, no-one can sue you for breaking
licensing agreements, as there is no associated licensing cost for the software.
This has several additional advantages:
 More profitable business models with wide-scale deployment.
 No possibility of being audited for license compliance at any stage.
 Flexibility to do concept research and trial deployments without needing to include
additional licensing costs.

Better support than the proprietary vendors


In addition to our strong support offerings, we have a vibrant community of My
SQL professionals and enthusiasts that your staff can draw upon and contribute to.

Significant saving on staffing costs


Our software has been designed and created to have much lower maintenance and
tuning requirements than the leading proprietary databases, yet still retain all of the
features, stability, and performance.
In addition to this our training programs are generally regarded as being far more
cost effective, manageable, and practical in the real world than that of the leading
proprietary database vendors.

29
Legendary reliability and stability
Unlike many proprietary databases, it is extremely common for companies to
report that My SQL has never, ever crashed for them in several years of high activity
operation. Not even once. It just works.

Extensible
The source code is available to all at no charge. If your staffs have a need to
customize or extend My SQL in any way then they are able to do so with a minimum of
effort, and with no attached costs. This is complemented by the community of My SQL
professionals and enthusiasts around the globe that also actively extend My SQL on a daily
basis.

Cross platform
My SQL is available for almost every brand of Unix (34 platforms with the latest
stable release), and Windows compatibility is available via the Cygwin framework. Native
Windows compatibility is also available with version 8.0 and above.

Designed for high volume environments


We use a multiple row data storage strategy called MVCC to make My SQL
extremely responsive in high volume environments. The leading proprietary database
vendor uses this technology as well, for the same reasons.

GUI database design and administration tools


Several high quality GUI tools exist to both administer the database and do
database design.

4.5 Pseudo Code

Login php code:

30
<?php
include("database.inc");

$empid = $_POST['emp_id'];
$psw = $_POST['pass'];

$sql = "select position,last_name from employee_info where emp_id='$empid' and


pass='$psw'";
$res = mysql_query($sql);
$count = mysql_num_rows($res);

$data = mysql_fetch_array($res);
$name=$data['last_name'];

if($count == 0)
{
echo "<div id='display'>user name are password is invalid</div>";

echo "<form name=\"login\" method=\"post\" action=\"act_login.php\"


onSubmit=\"return login_validation();\">
<table width=\"500\" border=\"0\" id=\"tbl\">
<tr>
<th colspan=\"2\">LOGIN</th>
</tr>
<tr>
<td>Employee Id: </td>
<td><input type=\"text\" name=\"emp_id\" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type=\"password\" name=\"pass\" /></td>
</tr>

31
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class=\"align_right\"><button type=\"submit\"><img
src=\"images/login.png\" height=\"20\" width=\"60\" /></button></td>
<td class=\"align_left\"><button type=\"reset\"><img
src=\"images/clear.png\" height=\"20\" width=\"60\" /></button>
</tr>
</table>
</form>";
}
else
{
$_SESSION['user_id']=$empid;
$_SESSION['lname']=$name;
$_SESSION['today']=date("d/m/Y");
if( $data['position'] == admin )
{
echo "<script type='text/javascript'>";
echo "location ='index_admin.php' ";
echo "</script>";
}
if( $data['position'] == test_manager )
{
echo "<script type='text/javascript'>";
echo "location ='index_tm.php' ";
echo "</script>";
}
if( $data['position'] == test_engineer )
{
echo "<script type='text/javascript'>";

32
echo "location ='index_te.php' ";
echo "</script>";
}
if( $data['position'] == develop_manager )
{
echo "<script type='text/javascript'>";
echo "location ='index_dm.php' ";
echo "</script>";
}
if( $data['position'] == develop_engineer )
{
echo "<script type='text/javascript'>";
echo "location ='index_de.php' ";
echo "</script>";
}
}
?>

Add Employee Php Code:

<?php
include("database.inc");

$FIRST_NAME=$_POST['f_name'];
$LAST_NAME=$_POST['l_name'];
$ADDRESS1=$_POST['add1'];
$ADDRESS2=$_POST['add2'];
$CITY=$_POST['city'];
$STATE=$_POST['state'];
$ZIP=$_POST['zip'];
$MAIL=$_POST['e_mail'];

33
$PHN0=$_POST['ph_no'];
$JOIN_DATE=$_POST['join_date'];
$STATUS=$_POST['status'];
$EXPERTISE=$_POST['expertise'];
$PARENT_POS=$_POST['par_pos'];
$PASS=$_POST['pass'];
$POSITION=$_POST['position'];

/*************************** INSERT VALUES INTO BUG_EMPLOYEE TABLE


********************/

$stmt="insert into employee_info


values('','$FIRST_NAME','$LAST_NAME','$ADDRESS1','$ADDRESS2','$CITY','$STA
TE','$ZIP','$MAIL',
$PHN0,'$JOIN_DATE','$STATUS','$EXPERTISE','$PARENT_POS','','$PASS','$POSITIO
N','emp','','','','','')";

$res=mysql_query($stmt);
$data=mysql_insert_id();

$sql="select * from employee_info where emp_id=$data";


$res=mysql_query($sql);
$row=mysql_fetch_array($res);

echo "<table width=\"500\">


<tr>
<th colspan=\"2\">Successfully Inserted</td>
</tr>
<tr class=\"red\">
<td width=\"250\">Employee Id:</td>
<td width=\"250\">".$row['emp_id']."</td>
</tr>

34
<tr class=\"red\">
<td width=\"250\">Password:</td>
<td width=\"250\">".$row['pass']."</td>
</tr>
<tr class=\"red\">
<td width=\"250\">Position:</td>
<td width=\"250\">".$row['position']."</td>
</tr>
<tr>
<td width=\"250\">First Name:</td>
<td width=\"250\">".$row['first_name']."</td>
</tr>
<tr>
<td width=\"250\">Last Name:</td>
<td width=\"250\">".$row['last_name']."</td>
</tr>
<tr>
<td width=\"250\">Address1:</td>
<td width=\"250\">".$row['address1']."</td>
</tr>
<tr>
<td width=\"250\">Address2:</td>
<td width=\"250\">".$row['address2']."</td>
</tr>
<tr>
<td width=\"250\">City:</td>
<td width=\"250\">".$row['city']."</td>
</tr>
<tr>
<td width=\"250\">State:</td>
<td width=\"250\">".$row['state']."</td>
</tr>
<tr>

35
<td width=\"250\">Zip:</td>
<td width=\"250\">".$row['zip']."</td>
</tr>
<tr>
<td width=\"250\">Mail:</td>
<td width=\"250\">".$row['mail']."</td>
</tr>
<tr>
<td width=\"250\">Phone No:</td>
<td width=\"250\">".$row['phone_no']."</td>
</tr>
<tr>
<td width=\"250\">Join Date:</td>
<td width=\"250\">".$row['join_date']."</td>
</tr>
<tr>
<td width=\"250\">status:</td>
<td width=\"250\">".$row['status']."</td>
</tr>
<tr>
<td width=\"250\">Expertise:</td>
<td width=\"250\">".$row['expertise']."</td>
</tr>
<tr>
<td width=\"250\">Parent Position:</td>
<td width=\"250\">".$row['parent_pos']."</td>
</tr>
<tr>
<td colspan=\"2\">&nbsp;</td>
</tr>
<tr>
<td colspan=\"2\" align=\"right\"><a href=\"add_employee.php\">back</a></td>
</tr>

36
</table>";

?>

Report Bugs Php Code:

<?php
include("database.inc");
$raised_by=$_SESSION['user_id'];

$module_id=$_POST['module_id'];
$desc=$_POST['description'];
$title=$_POST['title'];
$priority=$_POST['priority'];
$raised_date=$_POST['start_date'];
$estimated_end_date=$_POST['end_date'];

$sql="insert into bug_track values('',


$module_id,'$desc','$title','$priority','$raised_by','$raised_date','','$estimated_end_date','op
en','','','','','','')";
mysql_query($sql);
echo "<script> location='index_te.php' </script>";

?>

Assign Module Php Code:

<?php
include("database.inc");

37
$project_id=$_POST['project_id'];
$project_name=$_POST['project_name'];
$module_name=$_POST['module_name'];
$assigned_date=$_POST['start_date'];
$estimated_end_date=$_POST['end_date'];
$assigned_to=$_POST['assigned_to'];

$sql="insert into test_work_assign


values('$module_id','$module_name','$assigned_date','$estimated_end_date','','$assigned_t
o','open','$project_id', '$project_name','','')";
mysql_query($sql);
$data=mysql_insert_id();

$stmt="select * from test_work_assign where module_id=$data";


$res=mysql_query($stmt);
$row=mysql_fetch_array($res);

echo "<table width=\"500\">


<tr>
<th colspan=\"2\">Successfully Inserted</td>
</tr>
<tr class=\"red\">
<td width=\"250\">Project Id:</td>
<td width=\"250\">".$row['project_id']."</td>
</tr>

<tr class=\"red\">
<td width=\"250\">Project Name:</td>
<td width=\"250\">".$row['project_name']."</td>
</tr>

38
<tr class=\"red\">
<td width=\"250\">Module Id:</td>
<td width=\"250\">".$row['module_id']."</td>
</tr>
<tr class=\"red\">
<td width=\"250\">Module Name:</td>
<td width=\"250\">".$row['module_name']."</td>
</tr>
<tr>
<td width=\"250\">Assigned Date:</td>
<td width=\"250\">".$row['assigned_date']."</td>
</tr>
<tr>
<td width=\"250\">Estimated End Date:</td>
<td width=\"250\">".$row['estimated_end_date']."</td>
</tr>

<td width=\"250\">Assigned To:</td>


<td width=\"250\">".$row['assigned_to']."</td>
</tr>
<tr>
<td colspan=\"2\">&nbsp;</td>
</tr>
<tr>
<td colspan=\"2\" align=\"right\"><a href=\"index_tm.php\">back</a></td>
</tr>
</table>";

?>

39
5.Overall Description About modules
The Entire System is divided into five modules those are as shown in the following

5.1. ADMINISTRATOR
By using this Bug Tracking System facilitates to enroll the details of the newly
joined employee into the database and maintains employee’s details up to date. The
Administrator store and retrieve the Departmental details when required.

40
Administrator can update the details if he wants to do so. He/she will do all these
things. For this purpose he/she needs to login to the system by entering user_id and
password. The employee can view all the details as per the requirement i.e., could generate
reports of those details. And also he/she can do some various tasks. Some of those tasks
are as shown below.

5.A.1 ADD EMPLOYEE


This service enables the Admin to add the new employee details. And he/she can
generate an employee serial no, and it sends to that particular employee what ever is
created by him.

He/she can also add the employees on the bases of their department. And also
Admin create the user_id and password of the each and every employee and it send to their
mail address. He/she can also view the employee details according to their department.

5.A.2 DELETE EMPLOYEE


This service enables the Admin to delete the employee. He/she can also delete the
employee based on their department.

5.A.3 MODIFY EMPLOYEE


This service enables to the Admin to modify the employee details. He/she can also
modify the employee based on their department. By using this scenario he/she can change
or modify the details like addresses, expertise details, user_id, parent position, password,
status of an employees etc …..
By using this module he/she can manage the total organization or a software
companies details up to date by providing the status of those particular employees.

5.A.4 STATUS OF AN EMPLOYEE


This service enables a user is in an active state or in an inactive state. If the user is
in an active state it shows Active (1) otherwise it shows IN Active (0) state.
By using this module he/she can manage the total organization or a software
companies details up to date by providing the status of those particular employees.

41
Admin can generate status of an employee. Whenever he/she creates that particular
employee status must be generated.

5.A.5 VIEW EMPLOYEES


By using this service enables the whole details of the employees who are working
in that particular organization or a software company. And also by using this Admin can
view the details of an employee according to their departments also.

5.A.6 VIEW REQUESTS


By using this service the administrator enables the whole requests of the current
working employees those who want to make changes in their profile and then the
administrator can update their profiles.

5.A.7 LOGOUT
This service enables the Administrator to exit from the software.

5.2.TEST MANAGER:
The test manager is assigned the work by the administrator. The work of the test manager
is to assign the specific module to test engineer. Before going to assign the module to the
test engineer test manager checks the availability of test engineer.

5.B.1.Assign module:
Test manager assigns module to the test engineer.

5.B.2Notified bugs:

42
In this test manager able to view the bugs which are reported by test engineer

5.B.3.Request to admin:
A request to admin regarding any queries or updates in the profile.

5.B.4.Logout:
This service enables to exit from the application.

5.3.TEST ENGINEER:
Test engineer performs the different test methods on the given module and bug reports to
the test manager if any and he also receives the tested module from the develop engineer to
perform retest and if he find and bugs in the given module he is going to perform the retest

on it else closes the module.

5.C.1.Report bugs:
Bug reporting is the main functionality of test engineer where he is going to report the
bugs details to the test manager.

5.C.2.Retest bugs:
In retest of bugs test engineer gets the details of bugs which are find by develop engineer

and test engineer perform retest.

5.C.3.Request to admin:
A request to admin regarding any queries or updates in the profile.

5.C.4.Logout:

43
This service enables to exit from the application.

5.4.DEVELOP MANAGER:
The test manager assigns the notified bugs to develop manager and the work of the
develop manager is assigns the particular module to develop engineer based on the priority
of bugs.

5.D.1.Assign bugs:
Develop manager assigns the bugs based on the category of the bugs.For instance, if a bug
is raised in design section then the develop manager assigns to design professional.

5.D.2.Request to admin:
A request to admin regarding any queries or updates in the profile.

5.D.3.Logout:
This service enables to exit from the application.

5.5.DEVELOP ENGINEER:
The work of develop engineer is to debug the logged bugs that are present in the given
module and maintain the details of that particular bug details and also forward the bug
details to the test engineer the person who is raised the bug.

5.E.1.Assigned bugs:
In this section the develop engineer is able to view all the assigned bugs to him.

5.E.2.Request to admin:
A request to admin regarding any queries or updates in the profile.

44
5.E.3.Logout:
This service enables to exit from the application.

6. BEHAVIORAL DESCRIPTION
6.1 DATA FLOW

1) A Data Flow has only one direction of flow between symbols. It may flow in both
directions between a process and a data store to show a read before an update. The
later is usually indicated however by two separate arrows since these happen at
different type.
2) A join in DFD means that exactly the same data comes from any of two or more
different processes data store or sink to a common location.
3) A data flow cannot go directly back to the same process it leads. There must be at
least one other process that handles the data flow produce some other data flow
returns the original data into the beginning process.
4) A Data flow to a data store means update (delete or change).
5) A data Flow from a data store means retrieve or use.
6) A data flow has a noun phrase label more than one data flow noun phrase can
appear on a single arrow as long as all of the flows on the same arrow move
together as one package.

6.1.1 DATA FLOW DIAGRAMS

A data flow diagram is graphical tool used to describe and analyze movement of
data through a system. These are the central tool and the basis from which the other
components are developed. The transformation of data from input to output, through
processed, may be described logically and independently of physical components
associated with the system. These are known as the logical data flow diagrams. The
physical data flow diagrams show the actual implements and movement of data between
people, departments and workstations. A full description of a system actually consists of a
set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson

45
notation develops the data flow diagrams. Each component in a DFD is labeled with a
descriptive name. Process is further identified with a number that will be used for
identification purpose. The development of DFD’s is done in several levels. Each process
in lower level diagrams can be broken down into a more detailed DFD in the next level.
The lop-level diagram is often called context diagram. It consists a single process bit,
which plays vital role in studying the current system. The process in the context level
diagram is exploded into other process at the first level DFD.
The idea behind the explosion of a process into more process is that understanding
at one level of detail is exploded into greater detail at the next level. This is done until
further explosion is necessary and an adequate amount of detail is described for analyst to
understand the process.
Larry Constantine first developed the DFD as a way of expressing system
requirements in a graphical from, this lead to the modular design.
A DFD is also known as a “bubble Chart” has the purpose of clarifying system
requirements and identifying major transformations that will become programs in system
design. So it is the starting point of the design to the lowest level of detail. A DFD
consists of a series of bubbles joined by data flows in the system.

DFD SYMBOLS
In the DFD, there are four symbols
1. A square defines a source (originator) or destination of system data
2. An arrow identifies data flow. It is the pipeline through which the information flows
3. A circle or a bubble represents a process that transforms incoming data flow into
outgoing data flows.
4. An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.

46
Source or Destination of data

Data flow

Data Store

CONSTRUCTING A DFD
Several rules of thumb are used in drawing DFD’s:
1. Process should be named and numbered for an easy reference. Each name should be
representative of the process.
2. The direction of flow is from top to bottom and from left to right. Data traditionally
flow from source to the destination although they may flow back to the source. One
way to indicate this is to draw long flow line back to a source. An alternative way is to
repeat the source symbol as a destination. Since it is used more than once in the DFD
it is marked with a short diagonal.
3. When a process is exploded into lower level details, they are numbered.
4. The names of data stores and destinations are written in capital letters. Process and
dataflow names have the first letter of each work capitalized.
A DFD typically shows the minimum contents of data store. Each data store
should contain all the data elements that flow in and out.
Questionnaires should contain all the data elements that flow in and out. Missing
interfaces redundancies and like is then accounted for often through interviews.

SAILENT FEATURES OF DFD’s

1. The DFD shows flow of data, not of control loops and decision are controlled
considerations do not appear on a DFD.

47
2. The DFD does not indicate the time factor involved in any process whether the data
flows take place daily, weekly, monthly or yearly.
3. The sequence of events is not brought out on the DFD.

TYPES OF DATA FLOW DIAGRAMS


1. Current Physical
2. Current Logical
3. New Logical
4. New Physical

1. CURRENT PHYSICAL

In Current Physical DFD process label include the name of people or their
positions or the names of computer systems that might provide some of the overall system-
processing label includes an identification of the technology used to process the data.
Similarly data flows and data stores are often labels with the names of the actual physical
media on which data are stored such as file folders, computer files, business forms or
computer tapes.

2. CURRENT LOGICAL

The physical aspects at the system are removed as mush as possible so that the
current system is reduced to its essence to the data and the processors that transforms them
regardless of actual physical form.

3. NEW LOGICAL
This is exactly like a current logical model if the user were completely happy with
he user were completely happy with the functionality of the current system but had
problems with how it was implemented typically through the new logical model will differ

48
from current logical model while having additional functions, absolute function removal
and inefficient flows recognized.

4. NEW PHYSICAL
The new physical represents only the physical implementation of the new system.

RULES GOVERNING THE DFD’S

PROCESS
1) No process can have only outputs.
2) No process can have only inputs. If an object has only inputs than it must be a
sink.
3) A process has a verb phrase label.

DATA STORE
1) Data cannot move directly from one data store to another data store, a process must
move data.
2) Data cannot move directly from an outside source to a data store, a process, which
receives, must move data from the source and place the data into data store
3) A data store has a noun phrase label.

SOURCE OR SINK
The origin and /or destination of data.
1) Data cannot move direly from a source to sink it must be moved by a process
A source and /or sink has a noun phrase land

49
6.1.1 DATA FLOW DIAGRAMS

The data maintained in this particular software or in this system is as shown in


the following figure

The process flow in this system is as shown in the following figure

50
6.1.2 USECASE DIAGRAM

Use case Diagram for “Administrator”

51
Use Case Diagram for “Test Manager”

52
Use Case Diagram for the “Test Engineer”

53
Use Case Diagram for “Develop Manager”

54
Use Case Diagram for “Develop Engineer”

55
The table below offers a consolidated view of the Use-Cases. Detailed descriptions of
the use cases are given in the Use-Case Specification section following this table.

56
Use-Case ID Use-Case Name Priority1 Stability2 Status of
Verification

1.0 Login High Stable Verifiable


1.1 Add Employee Medium Stable Verifiable
1.2 Delete Employee Medium Stable Verifiable
1.3 Edit Employee Medium Stable Verifiable
1.4 View All Employees Medium Stable Verifiable
1.5 Inactivate Employees Medium Stable Verifiable
1.6 Log out High Stable Verifiable

Use case activities done by the Test manager


2.0 Login High Stable Verifiable
2.1 Home Medium Stable Verifiable
2.2 Assign modules Medium Stable Verifiable
2.3 Notified bugs Medium Stable Verifiable
2.4 Request to admin Medium Stable Verifiable
2.5 View all Medium Stable Verifiable
2.6 Log out High Stable Verifiable

Use case activities done by the Test engineer


3.0 Login High Stable Verifiable
3.1 Home Medium Stable Verifiable
3.2 Report bugs Medium Stable Verifiable
3.3 Retest bugs Medium Stable Verifiable
3.4 Request to admin Medium Stable Verifiable
3.5 View all Medium Stable Verifiable
3.6 Log out High Stable Verifiable

Use case activities done by the Develop Manager


4.0 Login High Stable Verifiable
4.1 home Medium Stable Verifiable
4.2 Assign bugs Medium Stable Verifiable
4.3 Request to admin Medium Stable Verifiable
4.4 View all Medium Stable Verifiable
4.5 Logout High Stable Verifiable

Use case activities done by the Develop Engineer


5.0 Login High Stable Verifiable
5.1 home Medium Stable Verifiable
5.2 Assigned bugs Medium Stable Verifiable
5.3 Request to admin Medium Stable Verifiable
1
Priority: High, Medium or Low
2
Stability: Stable / Unstable

57
Use-Case ID Use-Case Name Priority Stability Status of
Verification

5.4 View all Medium Stable Verifiable


5.5 Logout High Stable Verifiable

Use-Cases Specifications:

Use-Case ID:1.0,2.0,3.0, Use Case Name:


4.0,5.0 Login

Description: The user who enters the system is provided with a login id in order to access
the services of the system.
Preconditions: Not applicable.
The administrator who is the user of the system logins into the system and
monitors the details regarding employees and targets assigned to various
district officers and also generates reports regarding these details.
Post conditions: Admin can view, add and update the details of all the employees and target
reports.
All the updating made regarding the details of all the employees and the
targets are to be updated and stored in the database.
Frequency of Use: Whenever the user wants to access the services provided.
Normal Course of Whenever the user i.e., the administrator of the system wants to view, update
Events: or generate reports regarding to the employee and target details, this use-case
is performed.
Alternative Courses: Whenever the Administrator is absent, an authorized person in the same
department is allowed to login with a valid id & password.
Includes: This use-case includes all the other use-cases in the system. They are 1.1 to
5.5

58
Associated Additional requirements needed for this use-case are the login entry for
Requirements: others to access the system if the administrator is not present.

59
Use-Case ID: 1.1 Use Case Name:
Add Employee
Description: In this use-case the entire Employee should be added or created by the
Administrator and he also maintained the reports.
Preconditions: User-Id should be valid user-id.
When adding new employee, System checks whether the admin login is
having that provisions or not? ID should be unique.
Post conditions: New work assignment details should be updated in the database.
Frequency of Use: For every new Employee details will be added once and can be
changed later.
Normal Course of Adding new employee details
Events:
Alternative Courses: No other alternative exists for this use-case.
Includes: Login use-case.
Associated No additional Requirement is needed for managing Employee details.
Requirements:

Use-Case ID: 1.2 Use Case Name:


Delete Employee
Description: In this use-case the Delete Employee reports should be maintained.

Preconditions: User-Id should be valid user.


When Deleting Employee reports, System checks whether the user login
is having that Admin’s or not? ID should be unique.
Post conditions: New work submission reports should be updated in the database.
Frequency of Use: For every deleting reports should be updated in the database .
Normal Course of Deleting employee reports.
Events: Forwarding the reports to concerned employee.
Alternative Courses: No other alternative exists for this use-case.
Includes: Login use-case.
Associated No additional Requirement is needed for managing details.
Requirements:

60
Use-Case ID:1.3 Use Case Name:
Edit Employee
Description: In this use-case the Employee Details should be Modified by the Admin
and maintained the database.
Preconditions: User-Id should be valid user.
When editing employee details, System checks whether the user login is
having that admin are not?
Post conditions: Changed details should be updated in the database.
Frequency of Use: For every updated detail will be added once and can be changed later.
Normal Course of Updated Details details are
Events: Forwarding to concern officer/employee.
Alternative No other alternative exists for this use-case.
Courses:
Exceptions: Login use-case.
Includes: No additional Requirement is needed for managing Editing Employee
details.
Associated In this use-case all the Employee Details should be maintained.
Requirements:

61
Use-Case ID: 1.4 Use Case Name:
View All Employee
Description: In this use-case is useful for the viewing all the employees those are
present in that particular organization
Preconditions: User-Id should be valid user.
ID should be unique.
Post conditions: Employee details can view, and also can view on the basis of their
respective departments.
Frequency of Use: For every employee details are viewed from the database.
Normal Course of particular employee details can view on the basis of his id
Events:
Alternative No other alternative exists for this use-case.
Courses:
Includes: Login use-case.
Associated No additional Requirement is needed.
Requirements:

Use-Case ID: 1.5 Use Case Name:


Modify Status of an Employee
Description: In this use-case is useful for the pupas of modifying the status of an
employee those are present in that particular organization
Preconditions: User-Id should be valid user.
ID should be unique.
Post conditions: Employee details can view, and also the status can be changed on the basis
of their respective departments.
Frequency of Use: For every employee whenever he joins in to the organization then that
time onwards his status is active in case e is out from the company then
his status becomes inactive.
Normal Course of When status changed then it can automatically changed in the database on
Events: the basis of his id.
Alternative No other alternative exists for this use-case.
Courses:
Includes: Login use-case.

62
Associated No additional Requirement is needed.
Requirements:

Use case Documentation Regarding to the “developer’s as shown in the following

Use-Case ID: 2.4, Use Case Name:


3.4, 4.3, 5.3 Request to Admin
Description: In this use-case the user sends the request to the Admin for any
conversation.
Preconditions: User-Id should be valid user.
Post conditions: Request details should be updated in the database.
Frequency of Use: For every new request details will be raised once. And that can’t
be changed later.
Normal Course of For new request details raised and those are
Events: Forwarding to the Admin.
Alternative Courses: No other alternative exists for this use-case.
Includes: Login use-case.
Associated No additional Requirement is needed.
Requirements:

63
Use-Case ID: 1.3 Use Case Name:
Update Profile
Description: In this use-case Employee can manage his profile whenever
the changes occurred in his profile like address,ph.no etc…
Preconditions: User-Id should be valid user.
Status of the update profile should be veiled.
Post conditions: After applying the update profile automatically the
information should be updated in the database
Frequency of Use: For every update profile can be done by the developer as
well as the Admin also.
Normal Course of Events: For every update profile management is maintain by the
admin whenever the changes occur by the developer then it
automatically done in the database at the same time one
popup will send to the Admin
Alternative Courses: No other alternative exists for this use-case.
Includes: Request Details use-case. login use case
Associated Requirements: No additional Requirement is needed for profile modified
by an employee.

64
6.2.1 ACTIVITY DIAGRAM
Activity Diagram of the Administrator in This System is as shown in the
following following figure.

65
Activity Diagram of the Test Manager in This System is as shown in the following
following figure.

66
Activity Diagram of the Test Engineer in This System is as shown in the following figure

67
Activity Diagram of the Develop Manager in This System is as shown in the following
following figure

68
Activity Diagram of the Develop Engineer in This System is as shown in the
following figure

69
7. DESIGN:

7.1 SEQUENCE DOCUMENTATION

70
“Sequence Diagram” for this login is as shown in the following

“Sequence Diagram” for this project is as shown in the following

71
“Sequence Diagram” for this bug flow is as shown in the
following

72
“Sequence Diagram” for this requests in project is as shown in
the following

73
7.2 Collaboration diagrams:

“Collaboration diagram” for this login is as shown in the


following

74
“Collaboration diagram” for this bug flow is as shown in the
following

75
“Collaboration Diagram” for this project is as shown in the
following

76
“Collaboration diagram” for requests is as shown in the
following

77
EMPLOYEE_INFO
Emp_id(PK)
First_name
Last_name
Address1
Address2
City
State
Zip
Mail
Phone_no BUG_RETEST_TRACK
Join_date
Status
Bug_id(FK) 7.3 E-R
Module_id(FK)
Expertise Testing_id(PK)
Parent_pos Priority
DIAGRAMS :
Name Status
Pass Estimated_end_date
Possition End_date
Emp_ext
Raised_by
Atbt_02
Atbt_03 Atbt_02
Atbt_03 78
Atbt_04
Atbt_05 Atbt_04
Atbt_06 Atbt_05
PROJECT_INFO
Project_id(PK)
Project_name
Start_date
End_date
Client_name
Emp_id(FK)
Atbt_02
Atbt_03
Atbt_04
Atbt_05
Atbt_06

TEST_WORK_ASSIGN
Module_id(PK)
Module_name
Assigned_date
Estimated_end_date
End_date
Assigned_to
Status
Project_id(FK)
Project_name
Atbt_03
Atbt_04

79
8. DATA BASE TABLE DOCUMENTATION

DATABASE TABLES

Table structure for table bug_retest_track

Field Type Null Default


bug_id int(10) No
module_id int(10) No
testing_id int(10) No
priority varchar(45) No
status varchar(45) No
estimated_end_date varchar(45) No
end_date varchar(45) No
raised_by varchar(45) No
atbt_02 varchar(45) No
atbt_03 int(10) No
atbt_04 tinyint(1) No
atbt_05 datetime No

Table structure for table bug_track

Field Type Null Default


bug_id int(10) No
module_id int(10) No
desc varchar(500) No
title varchar(45) No
priority varchar(45) No
raised_by varchar(45) No
raised_date varchar(45) No
assigned_to varchar(45) No
estimated_end_date varchar(45) No
status varchar(45) No
end_date varchar(45) No

80
atbt_01 varchar(45) No
atbt_02 varchar(45) No
atbt_03 int(10) No
atbt_04 tinyint(1) No
atbt_05 datetime No

Table structure for table employee_info

Field Type Null Default


emp_id int(10) No
first_name varchar(45) No
last_name varchar(45) No
address1 varchar(120) No
address2 varchar(120) No
city varchar(45) No
state varchar(45) No
zip varchar(45) No
mail varchar(45) No
phone_no varchar(15) No
join_date varchar(45) No
status varchar(45) No
expertise varchar(45) No
parent_pos varchar(45) No
name varchar(45) No
pass varchar(45) No
position varchar(45) No
emp_ext varchar(45) No
atbt_02 varchar(45) No
atbt_03 varchar(45) No
atbt_04 tinyint(1) No
atbt_05 datetime No
atbt_06 int(10) No

Table structure for table project_info

Field Type Null Default


project_id int(10) No

81
project_name varchar(45) No
start_date varchar(45) No
end_date varchar(45) No
client_name varchar(45) No
emp_id int(10) No
atbt_02 varchar(45) No
atbt_03 int(10) No
atbt_04 int(10) No
atbt_05 tinyint(1) No
atbt_06 datetime No

Table structure for table request_details

Field Type Null Default


emp_id int(10) No
last_name varchar(45) No
description varchar(500) No
atb1 datetime No
atb2 varchar(45) No
atb3 tinyint(1) No
atb4 datetime No
atb5 int(10) No

Table structure for table test_work_assign

Field Type Null Default


module_id int(10) No
module_name varchar(45) No
assigned_date varchar(45) No
estimated_end_date varchar(45) No
end_date varchar(45) No
assigned_to varchar(45) No
status varchar(45) No
project_id int(10) No
project_name varchar(45) No
atbt_03 varchar(45) No
atbt_04 tinyint(3) No

82
83
9 screens

HOME PAGE

84
LOGIN PAGE

85
86
ADMIN PAGE

87
ADD PROJECT

ADD EMPLOYEE

88
DELETE EMPLOYEE

89
EDIT STATUS

90
EDIT PROFILE

91
TEAM MANAGER

92
ASSIGN MODULE

93
NOTIFED BUGS

94
TEST ENGINEER

95
REPORT BUGS

96
RETEST BUGS

97
DEVELOP MANAGER

98
ASSIGN BUGS

99
DEVELOP ENGINEER

100
ASSIGNED BUGS

101
10.PROJECT TESTING
1) COMPILATION TEST:

 It was a good idea to do our stress testing early on, because it gave us
time to fix some of the unexpected deadlocks and stability problems
that only occurred when components were exposed to very high
transaction volumes.

2) EXECUTION TEST:

102
 This program was successfully loaded and executed. Because of
good programming there were no execution error.

3) OUTPUT TEST:
 The successful output screens are placed in the output screens
section.

11.CONCLUSION

 The project has been appreciated by all the users in the organization.
 It is easy to use, since it uses the GUI provided in the user dialog.
 User friendly screens are provided.
 The usage of software increases the efficiency, decreases the effort.

103
 It has been efficiently employed as a Site management mechanism.
 It has been thoroughly tested and implemented.

12. BIBLIOGRAPHY
SOFTWARE ENGINEERING
By Roger.S. Pressman

SQL FOR PROFESSIONALS


By Jain

104

Das könnte Ihnen auch gefallen