Page 1

Defect Tracking System

Project Description:

Defect Tracking system from here after we referred it as DTS. DTS is used in any companies by using this we can easily maintain and allocate the bugs in a project to different members available in a company. Through this we can eliminate the waste of time of roaming from one place to other place for discussing and sharing of bugs once a member is logged into a system(DTS) he can able to view all the bugs which are responsible by him, he can view the projects which are responsible by him, he can able to view the all members bugs and the projects. The person able to view all the bugs and the projects by search criteria for that DTS consists of 3 options 1. Based on priority 2. Based on status 3. Based on Employee who is responsible. 4. Based on the Projects. DTS consists of following modules: 1. Administrator 2. Employee 3. Guest 4. Add Bug 5. View Bugs. 6. Reports.

Administration: Administrator logs in with appropriate login id and password. Once he logged into the DTS he can able to do operations on following parts. 1. Employee. 2. Priorities. 3. Statuses. 4. Projects. 1

<<College name>><place>>


Defect Tracking System 5. Bugs. Including to above he can do the following operations. 1. Assign projects to the members available in the DTS. 2. Assign bugs to the members available in the DTS. 3. View the projects and bugs available for him. 4. View the projects and bugs available for others available in DTS. 5. Search the projects and bugs based on the options. i. Priority. ii. Status iii. Based on person Responsible Employee: In employees part administrator can do following operations. 1. Add new employee. 2. Delete Existing Employee. 3. Update Existing Employee Information. 4. View Existing Employee. Priorities: In priority part administrator can do following operations. 1. Add new Priority. 2. Delete Existing Priority. 3. Update Existing Priority Information. 4. View Existing priorities. Status: In status part administrator can do following operations. 1. Add new status. 2. Delete Existing Status.

2

<<College name>><place>>


Defect Tracking System 3. Update Existing Status Information. 4. View Existing Status. Projects: In projects part administrator can do following operations. 1. Add new Project. 2. Delete Existing Project. 3. Update Existing Project Information. 4. View Existing projects.

Employee: Employee login wherein again administrator validates and allows him to access the DTS once the employee login he can do the following operations. 1. View the projects assigned to him. 2. View the bugs assigned to him by whom. 3. Assign any bug to any member available in the system. 4. Update the bugs. 5. Search the bugs and project based on the following options. i. Priority. ii. Status. iii. Based on person Responsible.

Guest: Guest is also a member in a company but he is not belongs to the particular team. He doesnâ&#x20AC;&#x2122;t have a login and password to enter into the DTS. He can do the following operation on DTS. Search the bugs and project based on the following options. i. Priority.

3

<<College name>><place>>


Defect Tracking System ii. Status. iii. Based on person Responsible. Reports: Reports module again consists of following i. Employee Reports ii. Status Reports iii. Priority Reports iv. Projects Reports v. Bugs Reports 2.1. Existing system The Existing system is manual system where, each time administrator personally looks out for each employee in the team to assign projects to them. Some times there is a possibility of changing the project names, Also there is a possibility of changing the priority names and status names and values of priority and status respectively at that time administrator has to intimate the changes he made and for which priority we give more importance this is very time consuming process. Employee personally moving around to each persons in a team to share the doubts and dividing of bugs. If he has any doubts he need to go administrator to verify his doubts he need to search any project or bug based on different criteria it is very difficult in manual process. Guest(is employee of company but he is not a member in a team) has also many problems they are: for him also it is very difficult to view the bugs or projects assigned to different members in a team.

Drawbacks of the existing system: â&#x20AC;˘

Lot of time is wasted in looking out for bugs and projects.

4

<<College name>><place>>


Defect Tracking System •

Cannot view various bugs or projects available for one member at a time.

It is a very time consuming process.

There is no privacy in this system.

Administrator has to involve each and every simple bug.

2.2. Proposed system: The major prospect of this system to develop computerized application, which is administrative, based to provide the complete information of the DTS. This application will provide the detailed information of all employees involved in the team and also provides the projects and bugs available for members. Not only this, it is also Provides different options for search a particular bug or project available in a team. By this surely we can saves a quality of time which can be utilized in other productive manner.

3. SOFTWARE REQUIREMENT SPECIFICATION

5

<<College name>><place>>


Defect Tracking System

Hardware Requirements: Processor

: Pentium-IV

Ram

: 256 MB MINIMUM

Hard Disk

: 2 GB Minimum

Processor speed

: 2.6 GHz

Software Specifications: Language

: C#.Net.

Technologies

: ASP.Net.

Web Authoring Tool

: HTML.

Server

: IIS.

IDE

: Visual Studio .Net

Database

: MS-Access.

4. SOFTWARE DEVELOPMENT METHODOLOGY:

6

<<College name>><place>>


Defect Tracking System SOFTWARE METHDOLOGY: Here I am using JACOBSON METHDOLOGIES to develop the proposed system. INTRODUCTION: In 1986 BOOCH developed the Object Oriented Design concept is called as BOOTCH METHOD. It covers both analysis and Design phases of the Object Oriented System, The BOOTCH METHOD consists o following diagrams: 1

Class diagrams

2

Object diagrams

3

State transition diagram

4

Module diagram

5

Process diagram

6

Interaction diagram

BOOTCH used the large set of symbols. Even though BOOTCH defines a lot of symbols to document almost every design decision, if we work with his method, you will notice that you never use all these symbols and diagrams, This is this main draw back of the BOOTCH METHOD. In 1991 Jim Raumbaugh develop the OMT (Object Modeling Technique) with the help of his team It covers analysis, Design and implementation of the system.

OMT separates Modeling into three different parts: 1

Object Model Presented by the Object Model and the data dictionary.

7

<<College name>><place>>


Defect Tracking System 2

Dynamic model Presented by the State diagrams and Event flow diagrams.

3

Functional Model Presented by Data flow and constraints.

There is no traceability in the different phases, both forward and back ward; this is the main disadvantage of the OMT. In order to avoid the problems faced in the above two models JACOBSON invented the one model called as the JACOBSON METHDOLOGIES (Object Oriented Software Engineering). It will cover the entire life cycle and stress tractability between different phases, 0both forward and back ward, Additionally he invented the Use case diagrams, these diagrams are necessary to understanding system requirement. It captures the goal of the system. It is used to identify the Use cases and External users (external users are the users who interact with our system to complete the bug) THE JACOBSON ET AL. METHDOLOGIES: JACOBSON METHDOLOGIES (Object Oriented Software Engineering) OOSE cover the Entire life cycle and stress trace ability between the different phases, both forward and backward. And Use case diagrams, these diagrams are necessary to understanding system requirement. It captures the goal of the system. It is used to identify the USE CASES and External users (external users are the users who interact with our system to complete the bug) The Use case Description must contain 4

HOW and WHEN the use case begins and ends.

5

The interaction between the use case and its actors, including WHEN the interaction occurs and WHAT is exchanged.

8

<<College name>><place>>


Defect Tracking System 6

HOW and WHEN the use case will need data stored in the system or will store data in the system.

7

EXCEPTION TO THE flow of events.

8

HOW and WHEN concepts of the problem domain are handled. By using the use case model we will find the External users, External users are the users who will interact with our system to complete the bug. Every single use case should describe one main flow of events. An exceptional additional flow of events could be added.

OBJECT ORIENTED SOFTEWARE ENGINEERING: Object oriented software engineering also called, as the objectory. It is build around several models: 1

USE CASE MODEL: The use-case model defines the outside (actor) and inside (use case) of the systems behavior.

2

DOMAIN OBJECT MODEL: The objects of the “real” world are mapped in to the main object model.

3

ANALYSS OBJECT MODEL: The analysis object model presents how the source code (implementation) is carried out and written.

4

IMPLIMENTATON

MODEL:

The

implementation

model

represents the implementation of the system. 5

TEST MODEL: The test model constitutes the test plan, specification and reports.

9

<<College name>><place>>


Defect Tracking System JACOBSON METHDOLOGY consists o following diagrams: 7

Use case Diagrams

8

UML activity diagram

9

UML use Case Diagram

10 Sequence diagrams 11 Class diagrams 12 Business class diagrams

Use case Diagrams: A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse An actor is a person, organization, or external system that plays a role in one or more interactions with your system.

UML activity diagram: Activity diagrams are used to document workflows in a system, from the business level down to the operational level. When looking at an Activity diagram, you'll notice elements from state diagram, the Activity diagram is a variation of the state diagram where the "states" represent operations, and the transitions represent the activities that happen when the operation is complete. The general purpose of Activity diagrams is to focus on flows driven by internal processing vs. external events. Sequence diagrams: UML sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic, and are commonly used for both analysis and design purposes. Sequence diagrams are the most popular

10

<<College name>><place>>


Defect Tracking System UML artifacts for dynamic modeling, which focuses on identifying the behavior within your system. Class diagrams: A class diagram describes the static structure of the symbols in your new system. It is a graphic presentation of the static view that shows a collection of declarative (static) model elements, such as classes, types, and their contents and relationships. Classes are arranged in hierarchies sharing common structure and behavior, and are associated with other classes IDENTIFYING ACTORS AND USERS Actors An actor is a person, organization, or external system that plays a role in one or more interactions with your system. Actors are drawn as stick figures Actors are used to interacting with the system to performance complete the bug. A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors. Use cases. A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse A use case is an external view of the system that represents some action the user might perform in order to complete a bug. Identifying the actors:

11

<<College name>><place>>


Defect Tracking System Who are using the system is to identify the actors. The term actor represents the role use plays wit respect to the system. When dealing with actors, it is important to think roles rather tan people or job titles. A user may play mare more than one role. You have to identify the actors and understand how they will use and interact with the system. The term actors represent the role user plays. Theses are different actors are used in the ACTORS Administrator Employer Guest

USE CASES Based On Products 1. Categories are done 2. List Of categories 3. Add or Delete Categories 4. Update the Categories 5. Enter Userid and Password 6. Validate 7. Confirm and grant Access

12

<<College name>><place>>


Defect Tracking System How the actors are interacting with the system: If there are interactions between the actors in your system, you cannot represent those interactions on the same diagram as your system. What you can do instead is draw a separate UCD, treating one of the actors itself as a system, and your original system (along with the other actors) as actors on this new diagram. USE CASE DIAGRAM: The usage of use case diagram includes:  Describes the behavior of a system from a user's standpoint  Provides functional description of a system and its major processes.  Provides graphic description of the users of a system and what kinds of interactions to expect within that system  Displays the details of the processes that occur within the application area A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors. Which actors specify the represents the role a user plays with respect to the system. In the case of a new system who will be using the system. I like to start by identifying as many actors as possible. You should ask how the actors interact with the system to identify an initial set of use cases. Then, on the diagram, you connect the actors with the use cases with which they are involved. If actor supplies information, initiates the use case, or receives any information as a result of the use case, then there should be an association between them. I generally don’t include arrowheads on the association lines because my experience is that people confuse them for indications of information flow, not initial invocation. As I begin to notice similarities between use cases, or between actors

13

<<College name>><place>>


Defect Tracking System

Login Use Case ID: DTS001 Use Case LOGIN_EMPLOYEE_ADMINISTRATOR Name: Created By: Date Created:

G.Gireesh 13/03/09

Last Updated By: G.Gireesh Date Last 13/03/09 Updated:

Actors: Description:

Administrator, Employee Employee and Administrator enter valid Username and password which is validated and confirmed by the

Preconditions:

administrator. Admin is already created the Username and Password for each

Normal Flow:

Employee and Administrator and assign to them. 1. Employee or Administrator must entered the Username and Password 2. Based on the Employee or Administrator username and password corresponding home page is displays. 1. Once Employee logged in to system, home

Alternative Flows:

Page related to Employee displays. 2. Employee can do the bugs related to his Home page. 3.

Once Administrator logged in to system home

page related to Administrator is displays. 4.

Administrator can do the operations related to

his home page. 1. After step 1 in Normal Flow admin fills only few

Exceptions:

mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields must required. Priority:

High

14

<<College name>><place>>


Defect Tracking System Frequency of Use: Notes and Issues:

High None

3. Adding of Projects Use Case ID: Use Case Name: Created By: Date Created:

Description:

DTS003 ADMIN_ADD_PROJECTS G.Gireesh Last Updated By: 13/03/09 Date Last Updated:

G.Gireesh 13/03/09

Actors: Administrator Administrator should add new project to the existing list of

Preconditions:

projects. Admin already logged into the system with relevant username

Normal Flow:

and password and admin is in Admin Main Page 1.Admin selects Manage Projects Link and system opens sub options to manage the project 2. Admin Clicks on Add new project and system displays a page to add new project. 3. Add new project page will contain field like project name, Responsible Employee etc. 4.

Admin

fills

all

the

fields

in

the

Add

project page and clicks submit button 5. System should add the new project into the database and displays message that “New project Alternative Flows:

added successfully” 1.After step 3 admin fills only mandatory fields and click submit button 2.System should add the new project into the database and displays message that “New project added

Exceptions:

successfully” 1 .After step 3 in Normal Flow admin fills only few mandatory fields and click submit button

15

<<College name>><place>>


Defect Tracking System 2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 3 in Normal Flow admin fills project details that already exist. 4. System will display error message â&#x20AC;&#x153;Project already available in the databaseâ&#x20AC;? Priority: Frequency of Use: Notes and Issues:

High High None

1. Adding of Priorities Use Case ID: DTS004 Use Case ADMIN_ADD_PRIORITIES Name: Created By: Date Created:

G.Gireesh 13/03/09

Last Updated By: G.Gireesh Date Last 13/03/09 Updated:

Description:

Actors: Administrator Administrator should add new project to the existing list of

Preconditions:

Priority. Admin already logged into the system with relevant username

Normal Flow:

and password and admin is in Admin Main Page 1.Admin selects Manage Priority Link and system opens sub options to manage the project 2. Admin Clicks on Add new priority and system displays a page to add new priority. 3. Add new priority page will contain field like priority name, Priority Description etc. 4. Admin 16

fills

all the fields

in the Add

<<College name>><place>>


Defect Tracking System priority page and clicks on submit button 5. System should add the new priority into the database and displays message that “New priority added successfully” 1.After step 3 admin fills only mandatory fields and

Alternative Flows:

click submit button 2.System should add the new priority into the database and displays message that “New priority added successfully” 1 .After step 3 in Normal Flow admin fills only few

Exceptions:

mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 3 in Normal Flow admin fills priority details that already exist. 4. System will display error message “Priority name is already available in the database choose another” Priority: Frequency of Use: Notes and Issues:

High High None

2. Adding of Employees Use Case ID: DTS005 Use Case ADMIN_ADD_EMPLOYEE. Name: Created By: Date Created:

G.Gireesh 13/03/09

Last Updated By: G.Gireesh Date Last 13/03/09 Updated:

17

<<College name>><place>>


Defect Tracking System

Description:

Actors: Administrator Administrator should add new Employee to the existing list of

Preconditions:

Employees. Admin already logged into the system with relevant username

Normal Flow:

and password and admin is in Admin Main Page 1.Admin selects Manage Employees Link and system opens sub options to manage the Employee 2. Admin Clicks on Add new Employee and system displays a page to add new Employee. 3. Add new Employee page will contain field like Employee name, Username, Password etc. 4.

Admin

fills

all

the

fields

in

the

Add

Employee page and clicks submit button 5. System should add the new Employee into the database and displays message that “New Employee added successfully” 1.After step 3 admin fills only mandatory fields and

Alternative Flows:

click submit button 2.System should add the new Employee into the database and displays message that “New Employee added successfully” 1 .After step 3 in Normal Flow admin fills only few

Exceptions:

mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 3 in Normal Flow admin fills Employee details that already exist. 4. System will display error message “Employee already available in the database” Priority:

High

18

<<College name>><place>>


Defect Tracking System Frequency of Use: Notes and Issues:

High None

3. Adding of Status Use Case ID: DTS006 Use Case ADMINISTRATOR_ADD_STATUS. Name: Created By: Date Created:

G.Gireesh 13/03/09

Last Updated By: G.Gireesh Date Last 13/03/09 Updated:

Description:

Actors: Administrator Administrator should add new Employee to the existing list of

Preconditions:

Status. Admin already logged into the system with relevant username

Normal Flow:

and password and admin is in Admin Main Page 1.Admin selects Manage Status Link and system opens sub options to manage the Status 2. Admin Clicks on Add new Status and system displays a page to add new Status. 3. Add new Status page will contain field like Status name, Status Description etc. 4.

Admin

fills

all

the

fields

in

the

Add

Status page and clicks submit button 5. System should add the new Status into the database and displays message that “New Status added Alternative Flows:

successfully” 1.After step 3 admin fills only mandatory fields and click submit button 2.System should add the new Status into the database and displays message that “New Status added successfully” 19

<<College name>><place>>


Defect Tracking System Exceptions:

1 .After step 3 in Normal Flow admin fills only few mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields to be filled in 3. After Step 3 in Normal Flow admin fills Status details that already exist. 4. System will display error message â&#x20AC;&#x153;Status already available in the databaseâ&#x20AC;?

Priority: Frequency of Use: Notes and Issues:

High High None

4. Search Bugs.

Use Case ID: DTS007 Use Case SEARCH BUGS_AND_PROJECTS Name: Created By: Date Created:

G.Gireesh 13/03/09

Last Updated By: G.Gireesh Date Last 13/03/09 Updated:

Actors: Description:

Employee, Administrator, Guest Administrator or Employee or Guest can search the projects or

Preconditions:

bugs by different search criteria available in the system. Admin or Employee already logged into the system with relevant username and password to perform other bugs other

Normal Flow:

than searches. 1. Guest only search for the projects and bugs assigned to various Employees or Admin based on different search criteria available for him. 2. Admin or Employee searches for projects and bugs 20

<<College name>><place>>


Defect Tracking System based on different search criteria available for them. . 3. Admin Clicks on Add new bug and system displays a page to add new bug page. 4. Add new Status page will contain field like bug name, Project name, Assigned To, Assigned By Status, Priority of the bug, Status of the bug etc. 5.

Admin

fills

all

the

fields

in

the

Add

Bug page and clicks on submit button. 6. System should add the new Bug into the database and

displays

message

that

“New

Bug

added

successfully”. 1. After step 3 admin fills only mandatory fields and

Alternative Flows:

click submit button. 2. System should add the new Bug into the database and

displays

message

that

“New

Bug

added

successfully”. 1 .After step 3 in Normal Flow admin or Employee

Exceptions:

fills only few mandatory fields and click submit button 2. System will display error message indicating all the mandatory fields must be required. Priority: Frequency of Use: Notes and Issues:

High High None

21

<<College name>><place>>


Defect Tracking System

Use case diagrams

1. Employee Login:

Enter Login and password

Validate Employee

Administrator

Confirm Login and Password

22

<<College name>><place>>


Defect Tracking System

2. Administrator Bugs

Maintaining Employees

Maintaining Priorities

Maintaining Status

Maintaining Projects

Administrator Search for bugs or projects

23

<<College name>><place>>


Defect Tracking System

Creation of projects

Adding of Projects

Assigning projects to Employees

Administrator

Updating or deleting the projects

Assigning Bugs to Employees

24

<<College name>><place>>


Defect Tracking System

4. Creation of priorities

Adding Priorities

Assigning priorities to Bugs

Administrator Updating or deleting the priorities

Assigning Status to Bugs

25

<<College name>><place>>


Defect Tracking System

Creation of Status Adding of Status

Assigning Status to Bugs

Administrator Updating or deleting the Status

Assigning Status to Bugs

26

<<College name>><place>>


Defect Tracking System

Creation of Employees Adding of New Employees

Assigning Login and password to Employee

Administrator Updating or deleting the Employee

Assigning project or task to Employee

27

<<College name>><place>>


Defect Tracking System

Employees Task:

View bugs and projects

View projects

Add bugs Employee

Assigning bugs to Employee

Search Projects and Bugs

28

<<College name>><place>>


Defect Tracking System

Guest Bugs

View bugs and projects

View projects

Guest

Search Projects and Bugs

29

<<College name>><place>>


Defect Tracking System

5. Feasibility Study Feasibility study is an important phase in the software development process. It enables the developer to have an assessment of the product being developed. It refers to the feasibility study of the product in terms of out comes of the product, operational use and technical support required for implementing it. Feasibility study should be performed on the basis of various criteria and parameters. The various feasibility studies are: 1

Economic Feasibility

2

Technical Feasibility

3

Operational Feasibility

4

Time And Resource Feasibility

5.1. ECONOMIC FEASIBILITY: The proposed Cellular Recruitment Alert System will save lots of paper work and facilitate magnetic record keeping thereby reducing the costs incurred on overheads. This reduction in cost prompts the company to go for such computer-based system. 5.2. TECHNICAL FEASIBILITY: As the saying goes â&#x20AC;&#x153; to error is humanâ&#x20AC;? keeping in view the about fact, presently all organizations are on the look out of saving their productive time by getting rid over various types of repetitive and monotonous works done by humans as well as Proving a means of establishing a connection through their internet. The key process areas of current system are nicely amenable to automation and hence the technical feasibility is proved. 5.3. OPERATIONAL FEASIBILITY: Since the inception of Internet, it is continuously growing in leaps and bounds, as more people are arriving at the conclusion that they cannot escape from it and in order to keep up, they have to participate in that. In today's world, Cellular Cell

30

<<College name>><place>>


Defect Tracking System phone Devices provides an efficient, reliable, cost-effective and timesaving platform for communication. Here in the proposed system Cellular Recruitment Alert System is implemented on the cell phone devices, which will be enable to end users of Cellular Cell phone Devices to obtain the information about the various products that are the part of the system and the at the same time can proceed with the Cellular Recruitment System 5.4. TIME AND RESOURCE FEASIBILITY: This system helps the user to find in the best usage of resources keeping in track of all the product details over a period of time, thereby reducing the decision making process easier and worthwhile. Acts to be a solution provider in determining the best allocation of resources and finding out the way for time reduction

6. Software requirement specification: The software, Site Explorer is designed for management of web sites from a remote location.

Introduction Purpose: The main purpose for preparing this document is to give a general insight into the analysis and requirements of the existing system or situation and for determining the operating characteristics of the system. Scope: This Document plays a vital role in the development life cycle (SDLC) and it describes the complete requirement of the system. It is meant for use by the developers and will be the basic during testing phase. Any changes made to the requirements in the future will have to go through formal change approval process.

Developerâ&#x20AC;&#x2122;s responsibilities overview: The developer is responsible for:

31

<<College name>><place>>


Defect Tracking System

1

Developing the system, which meets the SRS and solving all the requirements of the system?

2

Demonstrating the system and installing the system at client's location after the acceptance testing is successful.

3

Submitting the required user manual describing the system interfaces to work on it and also the documents of the system.

4

Conducting any user training that might be needed for using the system.

5

Maintaining the system for a period of one year after installation.

6.1. Functional Requirements: Output Design

Outputs from computer systems are required primarily to communicate the results of processing to users. They are also used to provides a permanent copy of the results for later consultation. The various types of outputs in general are: 1

External Outputs, whose destination is outside the organization.

2

Internal Outputs whose destination is with in organization and they are the

3

User’s main interface with the computer.

4

Operational outputs whose use is purely with in the computer department.

5

Interface outputs, which involve the user in communicating directly with

Output Definition The outputs should be defined in terms of the following points:  Type of the output  Content of the output  Format of the output  Location of the output  Frequency of the output  Volume of the output  Sequence of the output

32

<<College name>><place>>


Defect Tracking System It is not always desirable to print or display data as it is held on a computer. It should be decided as which form of the output is the most suitable. For Example  Will decimal points need to be inserted  Should leading zeros be suppressed.

Output Media: In the next stage it is to be decided that which medium is the most appropriate for the output. The main considerations when deciding about the output media are: 1

The suitability for the device to the particular application.

2

The need for a hard copy.

3

The response time required.

4

The location of the users

5

The software and hardware available.

Keeping in view the above description the project is to have outputs mainly coming under the category of internal outputs. The main outputs desired according to the requirement specification are: The outputs were needed to be generated as a hot copy and as well as queries to be viewed on the screen. Keeping in view these outputs, the format for the output is taken from the outputs, which are currently being obtained after manual processing. The standard printer is to be used as output media for hard copies.

Input Design Input design is a part of overall system design. The main objective during the input design is as given below: •

To produce a cost-effective method of input.

To achieve the highest possible level of accuracy.

To ensure that the input is acceptable and understood by the user.

Input stages: The main input stages can be listed as below: •

Data recording

33

<<College name>><place>>


Defect Tracking System •

Data transcription

Data conversion

Data verification

Data control

Data transmission

Data validation

Data correction

Input types: It is necessary to determine the various types of inputs. Inputs can be categorized as follows: •

External inputs, which are prime inputs for the system.

Internal inputs, which are user communications with the system.

Operational, which are computer department’s communications to the system?

Interactive, which are inputs entered during a dialogue.

Input media: At this stage choice has to be made about the input media. To conclude about the input media consideration has to be given to; •

Type of input

Flexibility of format

Speed

Accuracy

Verification methods

Rejection rates

Ease of correction

Storage and handling requirements

Security

Easy to use

Portability Keeping in view the above description of the input types and input media, it can be said

that most of the inputs are of the form of internal and interactive. As

34

<<College name>><place>>


Defect Tracking System Input data is to be the directly keyed in by the user, the keyboard can be considered to be the most suitable input device.

Error Avoidance At this stage care is to be taken to ensure that input data remains accurate form the stage at which it is recorded up to the stage in which the data is accepted by the system. This can be achieved only by means of careful control each time the data is handled.

Error Detection Even though every effort is make to avoid the occurrence of errors, still a small proportion of errors is always likely to occur, these types of errors can be discovered by using validations to check the input data.

Data Validation Procedures are designed to detect errors in data at a lower level of detail.

Data

validations have been included in the system in almost every area where there is a possibility for the user to commit errors. The system will not accept invalid data. Whenever an invalid data is keyed in, the system immediately prompts the user and the user has to again key in the data and the system will accept the data only if the data is correct. Validations have been included where necessary. The system is designed to be a user friendly one. In other words the system has been designed to communicate effectively with the user. The system has been designed with pop up menus.

User Interface Design It is essential to consult the system users and discuss their needs while designing the user interface:

User interface systems can be broadly classified as: 1. User initiated interface the user is in charge, controlling the progress of the user/computer dialogue. In the computer-initiated interface, the computer selects the next stage in the interaction. 2. Computer initiated interfaces In the computer initiated interfaces the computer guides the progress of the user/computer dialogue. Information is displayed and the user response of the computer takes action or displays further information.

35

<<College name>><place>>


Defect Tracking System

User Initiated Interfaces User initiated interfaces fall into tow approximate classes: 1. Command driven interfaces: In this type of interface the user inputs commands or queries which are interpreted by the computer. 2. Forms oriented interface: The user calls up an image of the form to his/her screen and fills in the form. The forms oriented interface is chosen because it is the best choice. Computer-Initiated Interfaces The following computer â&#x20AC;&#x201C; initiated interfaces were used: 1. The menu system for the user is presented with a list of alternatives and the user chooses one; of alternatives. 2. Questions â&#x20AC;&#x201C; answer type dialog system where the computer asks question and takes action based on the basis of the users reply. Right from the start the system is going to be menu driven, the opening menu displays the available options. Choosing one option gives another popup menu with more options. In this way every option leads the users to data entry form where the user can key in the data.

Error message design: The design of error messages is an important part of the user interface design. As user is bound to commit some errors or other while designing a system the system should be designed to be helpful by providing the user with information regarding the error he/she has committed. This application must be able to produce output at different modules for different inputs.

6.2. Performance Requirements Performance is measured in terms of the output provided by the application. Requirement specification plays an important part in the analysis of a system. Only when the requirement specifications are properly given, it is possible to design a system, which will fit

36

<<College name>><place>>


Defect Tracking System into required environment. It rests largely in the part of the users of the existing system to give the requirement specifications because they are the people who finally use the system. This is because the requirements have to be known during the initial stages so that the system can be designed according to those requirements. It is very difficult to change the system once it has been designed and on the other hand designing a system, which does not cater to the requirements of the user, is of no use. The requirement specification for any system can be broadly stated as given below: â&#x20AC;˘

The system should be able to interface with the existing system

â&#x20AC;˘

The system should be accurate

â&#x20AC;˘

The system should be better than the existing system

The existing system is completely dependent on the user to perform all the duties.

37

<<College name>><place>>


Defect Tracking System

7. Soft ware used Introduction .Net Framework The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives: •

To provide a consistent object-oriented programming environment whether object

code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. •

To provide a code-execution environment that minimizes software deployment

and versioning conflicts. •

To provide a code-execution environment that guarantees safe execution of code,

including code created by an unknown or semi-trusted third party. •

To provide a code-execution environment that eliminates the performance

problems of scripted or interpreted environments. •

To make the developer experience consistent across widely varying types of

applications, such as Windows-based applications and Web-based applications. •

To build all communication on industry standards to ensure that code based on the

.NET Framework can integrate with any other code. The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and Remoting, while also enforcing strict type safety and other forms of code accuracy that ensure security and robustness. In fact, the concept of code management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. The class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types that you can use to develop 38

<<College name>><place>>


Defect Tracking System applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services. The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. The .NET Framework not only provides several runtime hosts, but also supports the development of third-party runtime hosts. For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable Web Forms applications and XML Web services, both of which are discussed later in this topic. Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting the runtime in this way makes managed mobile code (similar to Microsoft速 ActiveX速 controls) possible, but with significant improvements that only managed code can offer, such as semi-trusted execution and secure isolated file storage. The following illustration shows the relationship of the common language runtime and the class library to your applications and to the overall system. The illustration also shows how managed code operates within a larger architecture. FEATURES OF THE COMMON LANGUAGE RUNTIME The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime. With regards to security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet,

39

<<College name>><place>>


Defect Tracking System enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it is being used in the same active application. The runtime enforces code access security. For example, users can trust that an executable embedded in a Web page can play an animation on screen or sing a song, but cannot access their personal data, file system, or network. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally featuring rich. The runtime also enforces code robustness by implementing a strict type- and code-verification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers Generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety. In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references. The runtime also accelerates developer productivity. For example, programmers can write applications in their development language of choice, yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor who chooses to target the runtime can do so. Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing applications. While the runtime is designed for the software of the future, it also supports software of today and yesterday. Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

40

<<College name>><place>>


Defect Tracking System The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory localityof-reference to further increase performance. Finally, the runtime can be hosted by high-performance, server-side applications, such as Microsoft® SQL Server™ and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting. .NET FRAMEWORK CLASS LIBRARY The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework. In addition, third-party components can integrate seamlessly with classes in the .NET Framework. For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework. As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming bugs, including bugs such as string management, data collection, database connectivity, and file access. In addition to these common bugs, the class library includes types that support a variety of specialized development scenarios. For example, you can use the .NET Framework to develop the following types of applications and services: •

Console applications.

Scripted or hosted applications.

Windows GUI applications (Windows Forms). 41

<<College name>><place>>


Defect Tracking System •

ASP.NET applications.

XML Web services.

Windows services. For example, the Windows Forms classes are a comprehensive set of reusable

types that vastly simplify Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms classes. CLIENT APPLICATION DEVELOPMENT Client applications are the closest to a traditional style of application in Windowsbased programming. These are the types of applications that display windows or forms on the desktop, enabling a user to perform a bug. Client applications include applications such as word processors and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools, and so on. Client applications usually employ windows, menus, buttons, and other GUI elements, and they likely access local resources such as the file system and peripherals such as printers. Another kind of client application is the traditional ActiveX control (now replaced by the managed Windows Forms control) deployed over the Internet as a Web page. This application is much like other client applications: it is executed natively, has access to local resources, and includes graphical elements. In the past, developers created such applications using C/C++ in conjunction with the Microsoft Foundation Classes (MFC) or with a rapid application development (RAD) environment such as Microsoft® Visual Basic®. The .NET Framework incorporates aspects of these existing products into a single, consistent development environment that drastically simplifies the development of client applications. The Windows Forms classes contained in the .NET Framework are designed to be used for GUI development. You can easily create command windows, buttons, menus, toolbars, and other screen elements with the flexibility necessary to accommodate shifting business needs. For example, the .NET Framework provides simple properties to adjust visual attributes associated with forms. In some cases the underlying operating system does not support changing these attributes directly, and in these cases the .NET Framework 42

<<College name>><place>>


Defect Tracking System automatically recreates the forms. This is one of many ways in which the .NET Framework integrates the developer interface, making coding simpler and more consistent. Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a user's computer. This means that binary or natively executing code can access some of the resources on the user's system (such as GUI elements and limited file access) without being able to access or compromise other resources. Because of code access security, many applications that once needed to be installed on a user's system can now be safely deployed through the Web. Your applications can implement the features of a local application while being deployed like a Web page. ASP.NET SERVER APPLICATION DEVELOPMENT Server-side applications in the managed world are implemented through runtime hosts. Unmanaged applications host the common language runtime, which allows your custom managed code to control the behavior of the server. This model provides you with all the features of the common language runtime and class library while gaining the performance and scalability of the host server. The following illustration shows a basic network schema with managed code running in different server environments. Servers such as IIS and SQL Server can perform standard operations while your application logic executes through the managed code. SERVER-SIDE MANAGED CODE ASP.NET is the hosting environment that enables developers to use the .NET Framework to target Web-based applications. However, ASP.NET is more than just a runtime host; it is a complete architecture for developing Web sites and Internetdistributed objects using managed code. Both Web Forms and XML Web services use IIS and ASP.NET as the publishing mechanism for applications, and both have a collection of supporting classes in the .NET Framework.

43

<<College name>><place>>


Defect Tracking System XML Web services, an important evolution in Web-based technology, are distributed, server-side application components similar to common Web sites. However, unlike Web-based applications, XML Web services components have no UI and are not targeted for browsers such as Internet Explorer and Netscape Navigator. Instead, XML Web services consist of reusable software components designed to be consumed by other applications, such as traditional client applications, Web-based applications, or even other XML Web services. As a result, XML Web services technology is rapidly moving application development and deployment into the highly distributed environment of the Internet. If you have used earlier versions of ASP technology, you will immediately notice the improvements that ASP.NET and Web Forms offers. For example, you can develop Web Forms pages in any language that supports the .NET Framework. In addition, your code no longer needs to share the same file with your HTTP text (although it can continue to do so if you prefer). Web Forms pages execute in native machine language because, like any other managed application, they take full advantage of the runtime. In contrast, unmanaged ASP pages are always scripted and interpreted. ASP.NET pages are faster, more functional, and easier to develop than unmanaged ASP pages because they interact with the runtime like any managed application. The .NET Framework also provides a collection of classes and tools to aid in development and consumption of XML Web services applications. XML Web services are built on standards such as SOAP (a remote procedure-call protocol), XML (an extensible data format), and WSDL ( the Web Services Description Language). The .NET Framework is built on these standards to promote interoperability with nonMicrosoft solutions. For example, the Web Services Description Language tool included with the .NET Framework SDK can query an XML Web service published on the Web, parse its WSDL description, and produce C# or Visual Basic source code that your application can use to become a client of the XML Web service. The source code can create classes derived from classes in the class library that handle all the underlying communication using SOAP and XML parsing. Although you can use the class library to consume XML

44

<<College name>><place>>


Defect Tracking System Web services directly, the Web Services Description Language tool and the other tools contained in the SDK facilitate your development efforts with the .NET Framework. If you develop and publish your own XML Web service, the .NET Framework provides a set of classes that conform to all the underlying communication standards, such as SOAP, WSDL, and XML. Using those classes enables you to focus on the logic of your service, without concerning yourself with the communications infrastructure required by distributed software development. Finally, like Web Forms pages in the managed environment, your XML Web service will run with the speed of native machine language using the scalable communication of IIS.

ACTIVE SERVER PAGES.NET ASP.NET is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications. ASP.NET offers several important advantages over previous Web development models: •

Enhanced Performance. ASP.NET is compiled common language runtime code

running on the server. Unlike its interpreted predecessors, ASP.NET can take advantage of early binding, just-in-time compilation, native optimization, and caching services right out of the box. This amounts to dramatically better performance before you ever write a line of code. •

World-Class Tool Support. The ASP.NET framework is complemented by a rich

toolbox and designer in the Visual Studio integrated development environment. WYSIWYG editing, drag-and-drop server controls, and automatic deployment are just a few of the features this powerful tool provides. •

Power and Flexibility. Because ASP.NET is based on the common language

runtime, the power and flexibility of that entire platform is available to Web application developers. The .NET Framework class library, Messaging, and Data Access solutions are all seamlessly accessible from the Web. ASP.NET is also language-independent, so you can choose the language that best applies to your application or partition your application across many languages. Further, common

45

<<College name>><place>>


Defect Tracking System language runtime interoperability guarantees that your existing investment in COMbased development is preserved when migrating to ASP.NET. •

Simplicity. ASP.NET makes it easy to perform common bugs, from simple form

submission and client authentication to deployment and site configuration. For example, the ASP.NET page framework allows you to build user interfaces that cleanly separate application logic from presentation code and to handle events in a simple, Visual Basic - like forms processing model. Additionally, the common language runtime simplifies development, with managed code services such as automatic reference counting and garbage collection. •

Manageability. ASP.NET employs a text-based, hierarchical configuration

system, which simplifies applying settings to your server environment and Web applications. Because configuration information is stored as plain text, new settings may be applied without the aid of local administration tools. This "zero local administration" philosophy extends to deploying ASP.NET Framework applications as well. An ASP.NET Framework application is deployed to a server simply by copying the necessary files to the server. No server restart is required, even to deploy or replace running compiled code. •

Scalability and Availability. ASP.NET has been designed with scalability in

mind, with features specifically tailored to improve performance in clustered and multiprocessor environments. Further, processes are closely monitored and managed by the ASP.NET runtime, so that if one misbehaves (leaks, deadlocks), a new process can be created in its place, which helps keep your application constantly available to handle requests. •

Customizability and Extensibility. ASP.NET delivers a well-factored architecture

that allows developers to "plug-in" their code at the appropriate level. In fact, it is possible to extend or replace any subcomponent of the ASP.NET runtime with your own custom-written component. Implementing custom authentication or state services has never been easier. •

Security. With built in Windows authentication and per-application configuration,

you can be assured that your applications are secure.

46

<<College name>><place>>


Defect Tracking System LANGUAGE SUPPORT The Microsoft .NET Platform currently offers built-in support for three languages: C#, Visual Basic, and JScript. WHAT IS ASP.NET WEB FORMS? The ASP.NET Web Forms page framework is a scalable common language runtime programming model that can be used on the server to dynamically generate Web pages. Intended as a logical evolution of ASP (ASP.NET provides syntax compatibility with existing pages), the ASP.NET Web Forms framework has been specifically designed to address a number of key deficiencies in the previous model. In particular, it provides: •

The ability to create and use reusable UI controls that can encapsulate

common functionality and thus reduce the amount of code that a page developer has to write. •

The ability for developers to cleanly structure their page logic in an

orderly fashion (not "spaghetti code"). •

The ability for development tools to provide strong WYSIWYG design

support for pages (existing ASP code is opaque to tools). ASP.NET Web Forms pages are text files with an .aspx file name extension. They can be deployed throughout an IIS virtual root directory tree. When a browser client requests .aspx resources, the ASP.NET runtime parses and compiles the target file into a .NET Framework class. This class can then be used to dynamically process incoming requests. (Note that the .aspx file is compiled only the first time it is accessed; the compiled type instance is then reused across multiple requests). An ASP.NET page can be created simply by taking an existing HTML file and changing its file name extension to .aspx (no modification of code is required). For example, the following sample demonstrates a simple HTML page that collects a user's name and category preference and then performs a form postback to the originating page when a button is clicked:

47

<<College name>><place>>


Defect Tracking System ASP.NET provides syntax compatibility with existing ASP pages. This includes support for <% %> code render blocks that can be intermixed with HTML content within an .aspx file. These code blocks execute in a top-down manner at page render time.

CODE-BEHIND WEB FORMS ASP.NET supports two methods of authoring dynamic pages. The first is the method shown in the preceding samples, where the page code is physically declared within the originating .aspx file. An alternative approach--known as the code-behind method--enables the page code to be more cleanly separated from the HTML content into an entirely separate file. INTRODUCTION TO ASP.NET SERVER CONTROLS In addition to (or instead of) using <% %> code blocks to program dynamic content, ASP.NET page developers can use ASP.NET server controls to program Web pages. Server controls are declared within an .aspx file using custom tags or intrinsic HTML tags that contain a runat="server" attributes value. Intrinsic HTML tags are handled by one of the controls in the System.Web.UI.HtmlControls namespace. Any tag that doesn't explicitly map to one of the controls is assigned the type of System.Web.UI.HtmlControls.HtmlGenericControl. Server controls automatically maintain any client-entered values between round trips to the server. This control state is not stored on the server (it is instead stored within an <input type="hidden"> form field that is round-tripped between requests). Note also that no client-side script is required. In addition to supporting standard HTML input controls, ASP.NET enables developers to utilize richer custom controls on their pages. For example, the following sample demonstrates how the <asp:adrotator> control can be used to dynamically display rotating ads on a page. 1. ASP.NET Web Forms provide an easy and powerful way to build dynamic Web UI.

48

<<College name>><place>>


Defect Tracking System 2. ASP.NET Web Forms pages can target any browser client (there are no script library or cookie requirements). 3. ASP.NET Web Forms pages provide syntax compatibility with existing ASP pages. 4. ASP.NET server controls provide an easy way to encapsulate common functionality. 5. ASP.NET ships with 45 built-in server controls. Developers can also use controls built by third parties. 6. ASP.NET server controls can automatically project both uplevel and downlevel HTML. 7. ASP.NET templates provide an easy way to customize the look and feel of list server controls. 8. ASP.NET validation controls provide an easy way to do declarative client or server data validation. C#.NET

ADO.NET OVERVIEW ADO.NET is an evolution of the ADO data access model that directly addresses user requirements for developing scalable applications. It was designed specifically for the web with scalability, statelessness, and XML in mind. ADO.NET uses some ADO objects, such as the Connection and Command objects, and also introduces new objects. Key new ADO.NET objects include the DataSet, DataReader, and DataAdapter. The important distinction between this evolved stage of ADO.NET and previous data architectures is that there exists an object -- the DataSet -- that is separate and distinct from any data stores. Because of that, the DataSet functions as a standalone entity. You can think of the DataSet as an always disconnected recordset that knows nothing about the source or destination of the data it contains. Inside a DataSet, much like in a database, there are tables, columns, relationships, constraints, views, and so forth.

49

<<College name>><place>>


Defect Tracking System

A DataAdapter is the object that connects to the database to fill the DataSet. Then, it connects back to the database to update the data there, based on operations performed while the DataSet held the data. In the past, data processing has been primarily connection-based. Now, in an effort to make multi-tiered apps more efficient, data processing is turning to a message-based approach that revolves around chunks of information. At the center of this approach is the DataAdapter, which provides a bridge to retrieve and save data between a DataSet and its source data store. It accomplishes this by means of requests to the appropriate SQL commands made against the data store. The XML-based DataSet object provides a consistent programming model that works with all models of data storage: flat, relational, and hierarchical. It does this by having no 'knowledge' of the source of its data, and by representing the data that it holds as collections and data types. No matter what the source of the data within the DataSet is, it is manipulated through the same set of standard APIs exposed through the DataSet and its subordinate objects. While the DataSet has no knowledge of the source of its data, the managed provider has detailed and specific information. The role of the managed provider is to connect, fill, and persist the DataSet to and from data stores. The OLE DB and SQL Server .NET Data Providers (System.Data.OleDb and System.Data.SqlClient) that are part of the .Net Framework provide four basic objects: the Command, Connection, DataReader and DataAdapter. In the remaining sections of this document, we'll walk through each part of the DataSet and the OLE DB/SQL Server .NET Data Providers explaining what they are, and how to program against them. The following sections will introduce you to some objects that have evolved, and some that are new. These objects are: •

Connections. For connection to and managing transactions against a database.

Commands. For issuing SQL commands against a database.

DataReaders. For reading a forward-only stream of data records from a SQL

Server data source.

50

<<College name>><place>>


Defect Tracking System â&#x20AC;˘

DataSets. For storing, Remoting and programming against flat data, XML data

and relational data. â&#x20AC;˘

DataAdapters. For pushing data into a DataSet, and reconciling data against a

database. When dealing with connections to a database, there are two different options: SQL Server .NET Data Provider (System.Data.SqlClient) and OLE DB .NET Data Provider (System.Data.OleDb). In these samples we will use the SQL Server .NET Data Provider. These are written to talk directly to Microsoft SQL Server. The OLE DB .NET Data Provider is used to talk to any OLE DB provider (as it uses OLE DB underneath). Connections: Connections are used to 'talk to' databases, and are represented by providerspecific classes such as SqlConnection. Commands travel over connections and resultsets are returned in the form of streams which can be read by a DataReader object, or pushed into a DataSet object. Commands: Commands contain the information that is submitted to a database, and are represented by provider-specific classes such as SqlCommand. A command can be a stored procedure call, an UPDATE statement, or a statement that returns results. You can also use input and output parameters, and return values as part of your command syntax. The example below shows how to issue an INSERT statement against the Northwind database. DataReaders: The DataReader object is somewhat synonymous with a read-only/forward-only cursor over data. The DataReader API supports flat as well as hierarchical data. A DataReader object is returned after executing a command against a database. The format of the returned DataReader object is different from a recordset. For example, you might use the DataReader to show the results of a search list in a web page.

51

<<College name>><place>>


Defect Tracking System DATASETS AND DATAADAPTERS: DataSets The DataSet object is similar to the ADO Recordset object, but more powerful, and with one other important distinction: the DataSet is always disconnected. The DataSet object represents a cache of data, with database-like structures such as tables, columns, relationships, and constraints. However, though a DataSet can and does behave much like a database, it is important to remember that DataSet objects do not interact directly with databases, or other source data. This allows the developer to work with a programming model that is always consistent, regardless of where the source data resides. Data coming from a database, an XML file, from code, or user input can all be placed into DataSet objects. Then, as changes are made to the DataSet they can be tracked and verified before updating the source data. The GetChanges method of the DataSet object actually creates a second DatSet that contains only the changes to the data. This DataSet is then used by a DataAdapter (or other objects) to update the original data source. The DataSet has many XML characteristics, including the ability to produce and consume XML data and XML schemas. XML schemas can be used to describe schemas interchanged via WebServices. In fact, a DataSet with a schema can actually be compiled for type safety and statement completion. DATAADAPTERS (OLEDB/SQL) The DataAdapter object works as a bridge between the DataSet and the source data. Using the provider-specific SqlDataAdapter (along with its associated SqlCommand and SqlConnection) can increase overall performance when working with a Microsoft SQL Server databases. For other OLE DB-supported databases, you would use the OleDbDataAdapter object and its associated OleDbCommand and OleDbConnection objects. The DataAdapter object uses commands to update the data source after changes have been made to the DataSet. Using the Fill method of the DataAdapter calls the SELECT command; using the Update method calls the INSERT, UPDATE or DELETE command for each changed row. You can explicitly set these commands in order to control the

52

<<College name>><place>>


Defect Tracking System statements used at runtime to resolve changes, including the use of stored procedures. For ad-hoc scenarios, a Command Builder object can generate these at run-time based upon a select statement. However, this run-time generation requires an extra round-trip to the server in order to gather required metadata, so explicitly providing the INSERT, UPDATE, and DELETE commands at design time will result in better run-time performance. 1. ADO.NET is the next evolution of ADO for the .Net Framework. 2. ADO.NET was created with n-Tier, statelessness and XML in the forefront. Two new objects, the Dataset and Data Adapter, are provided for these scenarios. 3. ADO.NET can be used to get data from a stream, or to store data in a cache for updates. 4. There is a lot more information about ADO.NET in the documentation. 5. Remember, you can execute a command directly against the database in order to do inserts, updates, and deletes. You don't need to first put data into a Dataset in order to insert, update, or delete it. 6. Also, you can use a Dataset to bind to the data, move through the data, and navigate data relationships

8. DATABASE DESIGN The data design transforms the information domain model created during the analysis into the data structure that will be required to implement software. Normalization

53

<<College name>><place>>


Defect Tracking System

Normalization is a process of simplifying the relationship between data elements in a record. Through this technique, the collection of data in a record structure is replaced by successive record structure that is simpler and more predictable and therefore more manageable. KEYS PRIMARY KEY A Primary key is one, used to identify unique value of an attribute in a table. A primary key column in a table has special attributes.

It defines the column, as a

mandatory column i.e. the column can’t be left blank. The NOT NULL attribute is active. The data held across the column must be unique. FOREIGN KEY FOREIGN KEY represents relationship between tables foreign key is a column whose values are derived from the primary key or unique key of some other table. The table in which the foreign key used is called foreign table of detail table. The table that defines the primary or unique key and is referenced by the foreign key is called the primary key in the master table. NORMALIZATION IS CARRIED FOR FOLLOWING REASONS: •

To structure the data so that any pertinent relationship between entities can be represented.

To permit simple retrieval of data in response to query and report request.

To simplify the maintenance of the data through updates, insertion and deletions.

To reduce the need to restructure or reorganize data when new application requirements arise.

54

<<College name>><place>>


Defect Tracking System

This attempt to remove redundant data, avoid data inconsistencies and prevent up data anomalies. This results in a simpler or more natural data model. A normalized database more clearly reflects the natural entities and relationships in the real world. Relational database theory outlines five normal forms, of which their normal forms are used popularly for designing relational tables. The rules and methods of first three normal forms are given below. FIRST NORMAL FORM A relation is a first normal form if the intersection of any column and row contain only one value (no repeating groups). METHODS Identify suitable primary keys from a pool of un-normalized data. Remove any that repeats with in a single value of this key to another relation bringing with in a primary key to form part of a new composite key in the new relation. SECOND NORMAL FORM A table in first normal form is also in second normal form. If the values in every column are functionally dependent on the complete primary key. METHODS For every relation with in a single data item making up the primary key, this rule should always be true.

For those with compound key examine every column and

determines whether its value depends on the whole of the compound key are just some of the part of it. Remove those that depend only on part of the key to a new relation with that part as a primary key.

55

<<College name>><place>>


Defect Tracking System

THIRD NORMAL FORM Column is not transitively dependent on the primary relation in second normal form is also in third normal form with the values in every non-key. METHODS Examine every non-key column and question its relationship with every other non-key column. If for a value for column A there is only one value for column B, remove both columns to a separate relation and mark the question unique as a primary key. As database tables involved here needs normalization techniques so that it should be flexible to access and store the values in it. So that third normal form is applied and all tables are normalized according to that. Architectural design melds program structure and data structure, defining interfaces that enable data to flow through the program. Procedural design occurs after data and program structure has been established. 1. Employees Sl.no 1. 2. 3. 4. 5. 6.

Filed name Employee_id Employee_name Username Password Email Security_level

Data Type Number Text Text Text Text Number

Size 30 50 20 20 50 1

Constraints Primary key No Primary key No No No

2. Priorities Sl.no 1. 2. 3.

Field Name Priority_id Priority name Priority

Data Type Number Text Text

56

Size 2 30 100

Constraint Primary key No no

<<College name>><place>>


Defect Tracking System description 3. Status Sl.no 1. 2. 3.

Field Name Status_id Status_Name Status_Description

Data Type Number Text Text

Size 2 30 100

Constraint Primary key No No

4. Projects Sl.no 1. 2.. 3.

Field name Project id Project_name Manager_id

Data Type Number Text number

Size 30 100 30

Constraint Primary key No Foreign key

Field name Bug_id Project_id Priority_id Status Bug name Bug description Resolution Assigned by Assigned to Date assigned Date resolved

Data Type Number Number Number Text Text Text Text Number Number Date/time Date/time

Size 30 30 2 30 100 1000 1000 30 30 No No

Constraint Primary key Foreign key Foreign key No No No No Foreign key Foreign key No no

5. Bugs Sl.no 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

9. System design 9.1. DATAFLOW DIAGRAM Dataflow diagram is one of the most important modeling tools. It is used to model the system components. These components are the system process, an external

57

<<College name>><place>>


Defect Tracking System entity that interacts with the system, uses the data and the information flows in the system. DFD shows the information moves thought the system and how it is modified by a series of transformations. It is graphical technique that depicts information flow and that is applied as data moves from input to output. DFD is also known as bubble chart. DFD may be used to represent the system at any level of abstraction DFDâ&#x20AC;&#x2122;S may be partitioned into levels that represents increasing information flow and functional details. A level 0 DFD, also called as the context diagram represents the entire system as a single module with input and output indicated by incoming and outgoing arrows respectively. Additional process and information flow paths are represented as the level 0 DFD is portioned to reveal more details. The context diagrams for the diagrams for the project management system are shown in the figure. A level 1 DFD, also called as top-level DFD represents the system major module and data stores. The other level will show each module in the top level DFD in more detailed fashion. The top level and other level DFDâ&#x20AC;&#x2122;S for our system are shown below. A data flow diagram is a graphic description of portion of a system. It consists of data flows, process, sources, destinations and data stores all are described through the use of easily understandable symbols. An entire system can be described from the view point of the data it processes with just a few symbols. Data flow diagrams powerful enough to show parallel activities. Data flow diagrams describes the system independently of how it is actually implemented, that is, they show what takes place, rather than how an activity is accomplished.

58

<<College name>><place>>


Defect Tracking System ADVANTAGES •

Users easily understand these simple notations.

Users can make suggestions for modifications.

If analysis wants to review the overall system late, they use the higher level over view diagrams. However if they are interested in studying one particular process, they use the

data flow diagram for that low level process. NOTATION DATAFLOW Data move in specific direction from an origin to destination. The dataflow is a packet of data.

PROCESS People, procedures or devices that produce data the physical component is not identified.

SOURCE OR DESTINATION OF DATA External sources or destination of data, which may be people of organization or other entities.

59

<<College name>><place>>


Defect Tracking System

Zero Level Data Flow Diagram:

Guest

View Bugs

Defect Tracking System

Employee

Add Bugs

Reports

Administrator

60

<<College name>><place>>


Defect Tracking System

First level DFD:

61

<<College name>><place>>


Defect Tracking System

Administrator

Login Table

Login Updating/Addin g Priorities Details

Creating login for employees

Employee

Login

Priorities

Updating/Adding Employee Details

Employee

Updating/Adding Status Details

Status

Updating/Addin g Project Details

Project

Add bugs

Bugs

View bugs

Bugs

Logout

Guest

9.2. E-R diagram

62

<<College name>><place>>


Defect Tracking System

10. ARCHITECTURAL DESIGN 63

<<College name>><place>>


Defect Tracking System

The architectural design defines the relationship among major structural elements of the program. HIERARCHY AND INPUT PROCESS OUTPUT CHART HIPO chart is another used method for developing system software. An acronym for hierarchical input across output. The assumption on which HIPO is based i.e. it is easy to loss track of the intended function of a system or components in a large system. This is one reason why it is difficult to compare existing systems against their original specification. From the users view, single functions can be often extending across several modules.

The concern of the analyst then it is understanding, describing and

documenting the modules and their interaction in a way that provides sufficient details but that does not lose sight of the large picture. HIERARCHY CHART In computer programming, programmers often develop the software as a collection of independent but interacting modules and this are represented in hierarchy charts. The hierarchy chary shows the relationship between the modules.

64

<<College name>><place>>


Defect Tracking System

Adding/Updating Employees Adding/Updating Priorities

Administrator

Adding/Updating Projects Adding/Updating Projects Add bugs/projects View projects/bugs

Defect Tracking System

Employee

Add bugs View projects/bugs

Guest

View projects/bugs

s

11. SYSTEM TESTING 11.1. Introduction

65

<<College name>><place>>


Defect Tracking System Software testing is the critical element of software quality assurance and represents the ultimate review of specification, design and coding software testing fundamentals define the over riding object is for software testing. TESTING OBJECTIVES •

Testing is a process of executing a program with the intent of finding an error.

A good case is one that has a high probability of finding an undiscovered error.

A successful test is one that uncovers yet undiscovered error. If testing is conducted successfully it will uncover errors in the software. Testing

cannot show the absences of defects are present. It can only show that software defects are present. TESTING PRINCIPLES Before applying methods to design effective test cases, a software engineer must understand the basic principles that guide software testing. •

All tests should be traceable to customer requirements.

Test should be planed long before testing begins.

Testing should begin “in small” and progress towards testing “in large”.

Exhaustive testing is not possible.

To be most effective, an independent third party should conduct testing.

TEST CASE DESIGN Any engineering product tested in one of the following two ways. •

Knowing the specified function that products that has been designed to

perform, testing is conducted for each function fully and at the same time searching for errors in each function. •

Knowing the internal working of the product, tests are conducted to ensure

that an internal operation performs according to specifications. •

The testing can be performed in two ways, WHITE BOX TESTING

66

<<College name>><place>>


Defect Tracking System

Knowing the internal working of a product, test can be conducted to ensure that “all gears mesh”, i.e. that internal operation performs to specifications and all internal components have been adequately exercised. It is predicted on close examinations of procedural detail logical providing test case that exercise specific sets of conditions and loop test path through the software. Basic path testing is a white box testing technique. The basic path model enable the test case designer to derive a logical complexity of a procedural design and use this measure as a guide for defining as a basic set of execution paths. BLACK BOX TESTING Black box testing alludes to test that are conducted at the software interfaces. These are used to demonstrate this software functions operational that input is properly accepted and output is correctly produced, at the same time searching for errors.

TESTING TECHNIQUES Using the white box testing methods, the software engineer can derive test cases that •

Guarantee that all independent paths with in a module has been exercised at least once -basis path testing.

Exercised all logical decisions on their true and false sides -Condition testing.

Exercised internal data structures to assure their validity -data flow testing.

Execute all loops at their boundaries and with in their operation bounds- Loop testing.

BASIS PATH TESTING

67

<<College name>><place>>


Defect Tracking System

The basis path test method enables the test case designers to derive a logical complexities measure of a procedural design. And use this measure as guidelines for defining basis set of execution path.

In the project “SALES AND PURCHASE

MANAGEMENT” system one sample model is considered for test case designing. Pseudo-code: Pseudo-code represents step by step logical of the procedure. TESTING STRATEGIES: Testing is a set of activities that can plan in advance and conducted systematically. A strategy for software testing must accommodate low level tests that are necessary to verify a small source code segment has been correctly implements. As well as high level that validates system function against customer requirements. Software testing is none element of verification and validation.

Verification

refers to the set of activities that ensure the software correctly implements a specific function. Validation refers to a different set of activities that ensure the software has been built is traceable to user requirements. 11.2 UNIT TESTING Unit testing focuses verification effort on the smallest unit of software design. This is white box oriented. In the “SALES AND PURCHASE MANAGEMENT”, each and every module is tested in the following ways. The module interfaces are tested ensuring the information properly close into and put the program unit under test. The local data structures are examined to ensure data stored temporarily maintains its integrity during on steps in an algorithm execution. Boundary conditions are tested to ensure that the module operations properly at boundaries established to limit or restrict processing. All independent paths through the

68

<<College name>><place>>


Defect Tracking System control structures are exercised to ensure that all statements in a module have been executed at least once. Error handling paths are tested. 11.3. INTEGRATION TESTING Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. In our project “SALES AND PURCHASE MANAGEMENT” We followed topdown integration where the modules are integrated by moving downward through the control hierarchy beginning with the main control module.

The next, depth-first

integration is followed by that would integrate all modules on a major control path of the structure moving vertically through the structure. 11.4. VALIDATION TESTING Validation testing is the process of the evaluating software at the end of the software development process to determine compliance with the requirements.

The

primary goals of the validations are: •

To asses and improve the quality of various products generated during software development and modifications.

High quality is best achieved by careful attention to the details of the systematic planning, analysis and implementation.

It is incorrect to view source code testing as a primary vehicle for quality improvement.

69

<<College name>><place>>


Defect Tracking System

12. SYSTEM IMPLEMENTATION System implementation Implementation includes all those activities that take place to convert from the old system to the new. The old system consists of manual operations, which operated in a very different manner from the proposed new system. A proper implementation is essential to provide a reliable system to meet the requirements of the organizations. Implementation method There are several methods for handling the implementation and the consequent conversion from the old to the new computerizes system. The most secure method for converting from the old to the new system is to run the new system in parallel. In this approach, a person may operate in the manual older processing system as well as starts operating the new computerize system. This method offers high security, because even if there is a flaw in the computerize system, we can depend upon the manual system. However, the cost for maintaining two systems in parallel is very high. This outweighs its benefits. Another commonly used method is a direct cut over from the existing manual system to the computerize system. The change may be within a week or within a day. There are no parallel activities. However, there is no remedy in case of a problem. This strategy requires careful planning. We can also implement a work version of the system, in one part of the organization and the personnel will be piloting the system and changes can be made as and when required. But this method is less preferable due to the loss of entirety of the system.

70

<<College name>><place>>


Defect Tracking System Implementation plan The implementation plan includes a description of all the activities that must occur to implement the new system and to put it into operation. It identifies the personnel responsible for the activities and prepares a time chart for implementing the system. The implementation plan consists of the following steps. â&#x20AC;˘

List all tables required for implementation.

â&#x20AC;˘

Identify all data required to build new tables during the implementation. The implementation plan should anticipate possible problems and must be able to

deal with them. The usual problems may be missing documents; mixed data formats between current and files, errors in data translation, missing data etc. Success of the system depends on the way in which it is operated and used. Data entry must be done utmost carefully to avoid errors. This will reduce the data entry errors considerably. It is preferable to the person with some kind of operating manuals that will explain all the details of the system. Post Implementation Review After the system is implemented, a review should be conducted to determine whether the system is meeting expectations and where improvements are needed. System quality, user confidence and operating systems statistics are accessed through such event logging, impact evaluation and attitude surveys. The review not only accesses how well the proposed system is designed and implement, but also is a valuable source of information that can be applied to a critical evaluation if the system. The reviews are conducted by the operating personals as well as the software developers in order to determine how well the system is working, how it has been accepted, and whether adjustments are needed. The review of the system is highly

71

<<College name>><place>>


Defect Tracking System essential to determine the future enhancements required by the system. The system can be considered successful only if information system has met its objectives. The review analysis the opinion of the employees and identifies the attitudes towards the new computerize system. Only when we know about the merits and demerits of the implemented system, we can determine what all the additional features it requires are. The following are the issues to be considered in the evaluation of a system. •

The change in the cost of operation after the installation of the computerize system.

The basic change that has been effected after the introduction of the system.

The improvement in the accuracy of the computations.

The acceptance of the new system by the staff and the convenience it brought to them.

The change in the effectiveness caused by the implementation of the new system. A study of the system has revealed that the employees due to the user friendliness

have accepted the system, reduced the number of errors, increased accuracy and decreased cost of operations. The system also pays for efficient and speedy execution of operation compared to the earlier system.

72

<<College name>><place>>


Defect Tracking System

14. CONCLUSION 73

<<College name>><place>>


Defect Tracking System

15. BIBLIOGRAPHY 74

<<College name>><place>>


Defect Tracking System

1. Head First Java -

Vikaram singh

-

Ramnath Gowda

2. Java for Professionals

3. Software Engineering - Roger. S. Pressman 4. Database Management System - William. S. Robert 5. JSP: A Beginnerâ&#x20AC;&#x2122;s Guide - Madhu Shree Ganguli 6. JavaServerPages Programming: A visual professional guide for Design - Robert. D. Nero 7. www.netbks.com

75

<<College name>><place>>

Multi_User_web-based_Defect_Tracking_supervision_System..pdf  

Multi_User_web-based_Defect_Tracking_supervision_System..pdf

Advertisement