Sie sind auf Seite 1von 62

GLYPH BASED VISUALIZATION FOR SOFTWARE MANAGEMENT DATA

PROJECT REPORT

Submitted by S.SARANYA Reg.No:094501308045


In the partial fulfillment of the requirement for the award of the degree Of MASTER OF COMPUTER APPLICATIONS In COMPUTER APPLICATIONS

VELALAR COLLEGE OF ENGINEERING AND TECHNOLOGY, ERODE-638 012.

JULY 2012

VELALAR COLLEGE OF ENGINEERING AND TECHNOLOGY


MASTER OF COMPUTER APPLICATIONS PROJECT WORK JULY 2012

This is to certify that the project entitled GLYPH BASED VISUALIZATION FOR SOFTWARE MANAGEMENT DATA
Is the bonafide record of project work done by

S.SARANYA Reg.No:094501308045 Of Master of Computer Applications during the Year 2011-2012

Project Guide

Head of the Department

Submitted for the Project Viva-Voce examination held on_______

Internal Examiner

External Examiner

DECLARATION

I affirm that the project work titled GLYPH BASED VISUALIZATION FOR SOFTWARE MANAGEMENT DATA being submitted in partial fulfillment for the award of the degree of Computer Applications is the original work carried out by me. It has not formed the part of any other project work submitted for award of any degree or diploma, either in this or any other University.

S.Saranya 094501308055

I certify that the declaration made above by the candidate is true.

Mr.P.Vijayakumar, Assistant Professor (Sr.Gr), Department of Computer Applications, Velalar College of Engineering and Technology, Erode-638 012.

ACKNOWLEDGEMENT I sincerely acknowledge offering my word of thanks to my correspondent Thiru. S.D.CHANDRASEKAR, B.A., for giving me an opportunity and the facilities for the completion of this project at this institution. I express my deep sense of gratitude to Ph.D, our respectable Principal M.I.S.T.E, Dr.V.RAMAMOORTHI, B.TECH, M.TECH, M.I.I.Ch.E,

M.I.S.O.I., for providing all facilities during the course of Project work. I have great pleasure in conveying my sincere thanks to Mr.P.NAVANEETHAM, M.Sc, M.Phil, Ph.D., Head of the Department, Department of Computer Applications, for his timely advice and kind cooperation in completing my project work. I wish to express my thanks to my project guide who has been the soul behind this effort. I also like to thank all my STAFF MEMBERS of MCA Department, who provided guidance to finish the project and also like to express my deep sense of gratitude to one and all that helped me to complete this project work. I thank our family members and all my friends for constantly encouraging me and motivating me all through the intricacies of the project. Mr.P.VIJAYAKUMAR,

MCA, M.Phil, Ph.D., Assistant Professor (Sr.Gr), Department of Computer Applications

Saranya.S

TABLE OF CONTENTS

CHAPTER NO. ABSTRACT

TITLE

PAGE NO.

i ii iii 1 1 2 2 3 3 5 5 5 6 6 20 23 23

LIST OF FIGURES LIST OF ABBREVIATIONS INTRODUCTION 1. 1.1 Objective SYSTEM ANALYSIS 2. 2.1 Existing System 2.2 Proposed System 2.3 Feasibility Study SYSTEM SPECIFICATION 3. 3.1 Hardware Requirements 3.2 Software Requirements SOFTWARE DESCRIPTION 4. 4.1 Front End 4.2 Back End PROJECT DESCRIPTION 5. 5.1 Problem Definition

5.2 Module Description 5.2.1 Modules 5.3 Data Flow Diagram 5.4 Database Design 5.5 Input Design 5.6 Output Design SYSTEM TESTING 6. 6.1 Unit Testing

23 23 27 30 33 33 34 34

ABSTRACT The main concept of Glyph based visualization for software management data is to extract data from database and grouping the data using data mining algorithm such as K-Means clustering then providing high visualization for that data by displaying that extracted data using glyphs. For large projects this kind of visualization will be very useful for tracking the project performance rather than maintaining only the textual information. Additional to textual information, visualization of those information with glyphs are very efficient. Any large-scale project will have many different classes of resources (lab equipment, staff time, machine cycles, disk resources, interim deliverables, and customer commitments) that must be scheduled and tracked. The interesting issues in project management data such as time, large data volumes, handling resources, correspondence of data with real world object. All information about the project will be scheduled and tracked carefully while going for large projects. Every information will be stored and updated in database frequently when change is made. To support the management process, information systems collect and maintain large status databases. We aim to extract that information from database and visually represent that information using glyphs.

LIST OF TABLES TABLE NO 5.5.1 5.5.2 5.5.3 TABLE NAME Login Project Project transaction PAGE NO

LIST OF ABBREVIATIONS

SNO 1 2 3 4 5 6

TERMS ADO CLR CLS XML ASP SQL

ABBREVIATIONS ActiveX Data Objects Common Language Runtime Common Language Specification Extended Markup Language Active Server Page Structured Query Language

CHAPTER 1 INTRODUCTION 1.1 OBJECTIVE The main objective of the project is To provide visualization for software management data using glyphs. To track and schedule the software management data by using the KMeans clustering algorithm. By using K-Means clustering algorithm 2-D, 3-D and multidimensional data in the software management data will be tracked and scheduled. By using the Time-Series analysis time based information will be maintained. By using glyphs entire project information will be visualized.

CHAPTER 2 SYSTEM ANALYSIS System analysis is made to compare the existing system to new propose to indicate the special features added to it. 2.1 EXISTING SYSTEM Any large-scale project will have many different classes of resources (lab equipment, staff time, machine cycles, disk resources, interim deliverables, and customer commitments) that must be scheduled and tracked. Inevitably problems will arise and solutions must be found. The existing systems shows the correspondence between data groups which diers in one projection but are cluster together in another. Traditional visualization tools such as Visage (Information Exploration Tool developed by Maya Design Group) may be effective for high dimensional data but suitable for 2D representation only. In addition, it is limited to small discrete datasets. DRAWBACKS Some of the problems faced by existing system are as follows Visage deals only 2D data. Suitable for small discrete datasets only. Time series analysis is not possible.

2.2 PROPOSED SYSTEM The proposed system presents a most widely used information visualization tools. The proposed glyphs have visually rich representations so that many dimensions of a data object simultaneously can be viewed. Users achieve visual grouping of the elements in each glyph by the proximity of the visual elements as well as by arranging the elements to form a familiar object or a common geometric shape (the insect glyph or the circle). Unlike existing system, time series analysis is performed so that the project management data with different aspects can be viewed chronologically. In addition, chart options are provided to view the data graphically. FEATURES The Proposed system has the following features Time series analysis of the data is possible. K-Means clustering approach for two, three and four dimension data is provided. With slight changes in coding, n dimension data is also possible. Data with given threshold value in more dimensions are shown with different glyphs. 2.3 FEASIBILITY STUDY The feasibility of the project is analyzed in this phase and business proposal is put forth with a very general plan for the project and cost estimates. During system analysis the feasibility study of the proposed system is to be carried out. This is to ensure that the proposed system is not a burden to the company. For feasibility analysis, some understanding of the major requirements for the system is essential. Three key considerations involved in the feasibility analysis are,

2.3.1 Economic feasibility

Economic feasibility Technical feasibility Operational feasibility Social feasibility

Economic feasibility is most frequently used method for evaluating the effectiveness of the candidate system. It is more commonly known as cost/benefit analysis. The procedure is to determine the benefits and savings that are expected from the candidate system and compare them with cost. Otherwise further justification or alteration in the proposed system will have to be made if it to have a chance of being approved. When compared to existing system the cost is affordable. It is used to reduce the cost and manual resources significantly and secure the system from unauthorized users. 2.3.2 Technical Feasibility Technical feasibility on the organization is to what extent it can support the proposed system. It proves how of the project and its circumstances belong to their required concept. The scope whether the work for the project with the current equipment and the existing software technology has to examine the feasibility study. The current system can be developed with the resource existing. It supports the technologies that are used by the new system. In the existing system, the overloaded system has to wait for its recovery but in the current system, the overloaded system is switch over to the nearest server for a particular time until its recovery. 2.3.3 Operational feasibility Operational feasibility relates to examining the likelihood that the project will attain its desired objectives. Its purpose is to gain an understanding of the degree to which the

proposed system will likely solve the business problems or take advantage of the opportunity outlined in the system service required or project identification study. Operational feasibility studies are analyzed with the drawbacks and procedures of existing system. The current system is simple and easy to implement and in current system the files and folders are protected from the unauthorized users and gives high security. 2.3.4 Social feasibility Social feasibility study is to check the level of acceptance of the system by the user. This includes the process of training the user to use the system effectively. The user must not feel threatened by the system, instead must accept it as a necessity. The level of acceptance by the users solely depends on the methods that are employed to educate the user alert the system and to make him familiar with it as they are the final users of the system the level of confidence must be raised so they are also able to make some constructive criticism which is welcomed.

CHAPTER 3 SYSTEM SPECIFICATION

3.1. HARDWARE REQUIREMENT Processor RAM Hard disk Monitor Keyboard Mouse : : : : : : Pentium III 128 MB 20 GB 16 Color Monitor 108 Key Standard Keyboards Scroll Mouse

3.2. SOFTWARE REQUIREMENT

Operating system Environment Dot Net Framework Language Backend

: : : : :

Windows XP Microsoft Visual Studio .Net 2005 Version 2.0 C#.net MS SQL Server 2000

CHAPTER 4 SOFTWARE DESCRIPTION

Choosing a programming environment according to system requirements is important. While choosing a programming environment we have to examine its effectiveness of cost and its reliability. 4.1 FRONT END THE .NET FRAMEWORK The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. OBJECTIVES OF .NET FRAMEWORK: To provide a consistent object-oriented programming environment whether object codes is stored and executed locally on Internet-distributed, or executed remotely. To provide a code-execution environment to minimizes software deployment and guarantees safe execution of code. Eliminates the performance problems.

There are different types of application, such as Windows-based applications and Web-based applications. To make communication on distributed environment to ensure that code be accessed by the .NET Framework can integrate with any other code.

COMPONENTS OF .NET FRAMEWORK THE COMMON LANGUAGE RUNTIME (CLR): The common language runtime is the foundation of the .NET Framework. It manages code at execution time, providing important services such as memory management, thread management, and remoting and also ensures more security and robustness. THE .NET FRAME WORK CLASS LIBRARY: It is a comprehensive, object-oriented collection of reusable types used to develop applications range in 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. FEATURES OF THE COMMON LANGUAGE RUNTIME: The CLR manages memory; thread execution, code execution, code safety verification, compilation, and other system services are: SECURITY: The runtime enforces code access security. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally featuring rich. Security. Robustness. Productivity. Performance.

ROBUSTNESS: The runtime also enforces code robustness by implementing a strict type- and codeverification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. PRODUCTIVITY: 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. PERFORMANCE: The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. DATA ACCESS WITH ADO.NET ADO.NET offers several advantages over previous versions of ADO: Interoperability Maintainability Programmability Performance Scalability

Interoperability ADO.NET applications can take advantage of the flexibility and broad acceptance of XML. Because XML is the format for transmitting datasets across the network, any component that can read the XML format can process data. The receiving component need not be an ADO.NET component. The transmitting component can simply transmit the dataset to its destination without regard to how the receiving component is implemented. The destination component might be a Visual Studio application or any other application implemented with any tool whatsoever. Maintainability In the life of a deployed system, modest changes are possible, but substantial, Architectural changes are rarely attempted because they are so difficult. As the performance load on a deployed application server grows, system resources can become scarce and response time or throughput can suffer. Faced with this problem, software architects can choose to divide the server's business-logic processing and user-interface processing onto separate tiers on separate machines. In effect, the application server tier is replaced with two tiers, alleviating the shortage of system resources. If the original application is implemented in ADO.NET using datasets, this transformation is made easier.ADO.NET data components in Visual Studio encapsulate data access functionality in various ways that help you program more quickly and with fewer mistakes. Performance ADO.NET datasets offer performance advantages over ADO disconnected record sets. In ADO.NET data-type conversion is not necessary.

Scalability ADO.NET accommodates scalability by encouraging programmers to conserve limited resources. Any ADO.NET application employs disconnected access to data; it does not retain database locks or active database connections for long durations. Visual Studio .Net Visual Studio .NET is a complete set of development tools for building ASP Web applications, XML Web services, desktop applications, and mobile applications In addition to building high-performing desktop applications, you can use Visual Studio's powerful component-based development tools and other technologies to simplify team-based design, development, and deployment of Enterprise solutions. Visual Studio supports the .NET Framework, which provides a common language runtime and unified programming classes; ASP.NET uses these components to create ASP Web applications and XML Web services. Also it includes MSDN Library, which contains all the documentation for these development tools. Visual C# Visual C# includes many new features. The Visual C# supports interfaces but not implementation inheritance. Visual C# supports implementation inheritance, interfaces and overloading. In addition, Visual C# .NET supports multithreading concept. Common Language Specification (CLS) Visual C#.NET is also compliant with CLS (Common Language Specification) and supports structured exception handling. CLS is set of rules and constructs that are

supported by the CLR (Common Language Runtime). CLR is the runtime environment provided by the .NET Framework; it manages the execution of the code and also makes the development process easier by providing services. Visual C#.NET is a CLS-compliant language. Any objects, classes, or components that created in Visual C#.NET can be used in any other CLS-compliant language. In addition, we can use objects, classes, and components created in other CLS-compliant languages in Visual C#.NET .The use of CLS ensures complete interoperability among applications, regardless of the languages used to create the application. Implementation Inheritance Visual C#.NET supports implementation inheritance. This means that, while creating applications in Visual C#. NET, we can derive from another class, which is known as the base class that derived class inherits all the methods and properties of the base class. Constructors and Destructors Constructors are used to initialize objects, whereas destructors are used to destroy them. In other words, destructors are used to release the resources allocated to the object. In Visual C#.NET the sub finalize procedure is available. The sub finalize procedure is used to complete the tasks that must be performed when an object is destroyed. The sub finalize procedure is called automatically when an object is destroyed. In addition, the sub finalize procedure can be called only from the class it belongs to or from derived classes. Garbage Collection Garbage Collection is another new feature in Visual C#.NET. The .NET Framework monitors allocated resources, such as objects and variables. In addition, the .NET Framework automatically releases memory for reuse by destroying objects that are no longer in use. In Visual C#.NET, the garbage collector checks for the objects that are

not currently in use by applications. When the garbage collector comes across an object that is marked for garbage collection, it releases the memory occupied by the object. Overloading Overloading is another feature in Visual C#.NET. Overloading enables us to define multiple procedures with the same name, where each procedure has a different set of arguments. Besides using overloading for procedures, we can use it for constructors and properties in a class. Multithreading Visual C#.NET also supports multithreading. An application that supports multithreading can handle multiple tasks simultaneously, we can use multithreading to decrease the time taken by an application to respond to user interaction. To decrease the time taken by an application to respond to user interaction, we must ensure that a separate thread in the application handles user interaction. Structured Exception Handling Visual C#.NET supports structured handling, which enables us to detect and remove errors at runtime. In Visual C#.NET, we need to use TryCatchFinally statements to create exception handlers. Using TryCatchFinally statements, we can create robust and effective exception handlers to improve the performance of our application. 4.2 BACK END FEATURES OF SQL-SERVER Microsoft SQL Server is a relational model database server produced by Microsoft. Its primary query languages are T-SQL and ANSI SQL.The OLAP Services

feature available in SQL Server version 7.0 is now called SQL Server 2000 Analysis Services. The term OLAP Services has been replaced with the term Analysis Services. Analysis Services also includes a new data mining component. The Repository component available in SQL Server version 7.0 is now called Microsoft SQL Server 2000 Meta Data Services. References to the component now use the term Meta Data Services. The term repository is used only in reference to the repository engine within Meta Data Services Internet Integration The SQL Server 2000 database engine includes integrated XML support. It also has the scalability, availability, and security features required to operate as the data storage component of the largest Web sites. The SQL Server 2000 programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server 2000 supports features such as English Query and the Microsoft Search Service to incorporate user-friendly queries and powerful search capabilities in Web applications. Scalability and Availability The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows 98 through large, multiprocessor servers running Microsoft Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Web sites. Enterprise-Level Database Features The SQL Server 2000 relational database engine supports the features required to support demanding data processing environments. The database engine protects data integrity while minimizing the overhead of managing thousands of users concurrently modifying the database. SQL Server 2000 distributed queries allow you to reference data

from multiple sources as if it were a part of a SQL Server 2000 database, while at the same time, the distributed transaction support protects the integrity of any updates of the distributed data. Replication allows you to also maintain multiple copies of data, while ensuring that the separate copies remain synchronized. You can replicate a set of data to multiple, mobile, disconnected users, have them work autonomously, and then merge their modifications back to the publisher. Ease of installation, deployment, and use SQL Server 2000 includes a set of administrative and development tools that improve upon the process of installing, deploying, managing, and using SQL Server across several sites. SQL Server 2000 also supports a standards-based programming model integrated with the Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of building powerful and scalable systems. These features allow you to rapidly deliver SQL Server applications that customers can implement with a minimum of installation and administrative overhead. Data warehousing SQL Server 2000 includes tools for extracting and analyzing summary data for online analytical processing. SQL Server also includes tools for visually designing databases and analyzing data using English-based questions.

CHAPTER 5 PROJECT DESCRIPTION 5.1 PROBLEM DEFINTION Software project management data contains more kinds of data such as fresh project details, pending project details, analysts, programmers and testers with task not allotted or having pending tasks, projects with failure stage or with more bugs and the like. Normally in data sets for each record hundreds of attributes are being recorded. Simple visualization techniques if applied, then the large dimensionality of these data sets are not easy to analyze. So new kind of visualization techniques are required to analyze these data. The project aims in providing efficient visualization of groups of data sets with clusters applied, various glyphs to represent different type of data. This helps in easy look and identification of data easily than grid (tabular) based numeric record values. The datasets are being represented in chart format also. The time series analysis is also applied to status of various projects at regular given intervals are also analyzed. 5.2 OVERVIEW OF THE PROJECT In Software management data project information is to be maintained and scheduled using K-Means clustering algorithm which is applied to all the datasets. The algorithm is composed of the following steps: Make initial guesses for the means m1, m2, ..., mk Until there are no changes in any mean Use the estimated means to classify the samples into clusters

For it reaches number of object, replace mi with the mean of all of the samples for cluster i.

Using

K-Means

clustering

algorithm

datasets

with

2-D,

3-D

and

multidimensional view can be depicted. Finally results will be shown to the user in terms of tabular output or chart output. Additional to this glyphs are also used to display the resultant set of attributes available in the database. Each attribute in the database can be pictorially represented by each icon (may be in the form of shapes like triangle, rectangle, square) and will be shown as the output. 5.3 MODULE DESCRIPTION Modularization is the process of breaking up the project into smaller units. Modularization helps to debug the project and also in the process of reusing the code. 5.3.1 Modules The following modules are the main modules in the project Project Data Addition and transaction K-Means Clustering for dataset Time Series Analysis a. Tabular Output b. Chart Output Glyph based representation

Project Data Addition and transaction

Software project management data such as project id, name, description, starting data are added into the table. Each record will contain the one project details which are entered during the confirmation of the project and also update the database when transaction is made by the user. K-Means clustering for dataset K-means clustering algorithm is used to cluster a collection of data points. The data points are taken from the database to schedule and track 2-D, 3-D and multidimensional datasets. Time series analysis a. Tabular Output The database records are taken and the required columns are selected at run time so that different view of data is possible. b. Chart Output The database records are taken and the required columns are selected at run time so that different kinds of data are possible. In addition, all the available chart options such as bar chart, line chart and pie chart format are used. This results in comprehensive analysis of the information. Glyph Based Representation Glyphs are used represent each attribute in the database. When viewing the data in graphical format, the area with the matched data of different dimensions is displayed with the appropriate glyphs.

5.4 DATA FLOW DIAGRAM System design is the process of planning a new system to complement or altogether replace the old system.

LEVEL ZERO DFD

New Project Project Entry Login Transaction

Project

Project transaction

LEVEL ONE DFD

Entry

Project transaction

Update project details

Project transaction

View project details

Clusterin Clusterin g of 3-D g of 2-D 5.5 DATABASE DESIGN data data


5.5.1 Table Name Purpose : Login

Clustering of 4-D data

Time series Analysis

: Admin table is used to store details like username and password .

Field name UserName Password

Type VARCHAR(15) VARCHAR(15)

Description Unique username password

5.5.2 Table Name : Projects Purpose : Projects table is used to store the project id, name and other details.

Field name ProjectId ProjectName ProjectDesription StartingDate DomainDetails

Type VARCHAR(20) VARCHAR(100) VARCHAR(300) DATETIME VARCHAR(20)

Description Unique project id Project Name Description of the project Date on which project started Domain at which project developed is

5.5.3 Table Name Purpose

: Project Transaction : Project Transaction table is used to store the project id, entry date and other transaction details.

Field name SNo EntryDate ProjectId KiloLines NoOfAnalysts NoOfProgrammers NoOfTesters SystemDetails WorkingHoursDuration Remarks

Type INT DATETIME VARCHAR(20) INT SMALLINT SMALLINT SMALLINT VARCHAR(300) SMALLINT VARCHAR(300)

Description Unique serial number Project entry date Id of the project(Foreign Key) Line of code in the project No.of Analysts involved No.of Programmers involved No.of Testers involved Details of the system Working hours of the programmers Remark about the project

5.6 INPUT DESIGN Input design is the process of converting user-originated inputs to a computer understandable format. Input design is one of the most expensive phases of the operation of computerized system and is often the major problem of a system. A large number of problems with a system can usually be tracked backs to fault input design and method. Every moment of input design should be analyzed and designed with utmost care. The system takes input from the users, processes it and produces an output. Input design is link that ties the information system into the world of its users. The system should be user-friendly to gain appropriate information to the user. The decisions made during the input design are To provide cost effective method of input. To achieve the highest possible level of accuracy.

To ensure that the input is understand by the user.

System analysis decide the following input design details like, what data to input, what medium to use, how the data should be arranged or coded, data items and transactions needing validations to detect errors and at last the dialogue to guide user in providing input. Input data of a system may not be necessarily is raw data captured in the system from scratch. These can also be the output of another system or subsystem. 5.7 OUTPUT DESIGN Output design generally refers to the results and information that are generated by the system for many end-users; output is the main reason for developing the system and the basis on which they evaluate the usefulness of the application. The output is designed in such a way that it is attractive, convenient and informative. Forms are designed in C# .NET with various features, which make the console output more pleasing. As the outputs are the most important sources of information to the users, better design should improve the systems relationships with user and also will help in decision-making. Form design elaborates the way output is presented and the layout available for capturing information. In the project, all records from various databases with same table names are retrieved and consolidated, then displayed in a DatagridView control.

CHAPTER 6 SYSTEM TESTING Testing is vital to the success of the system. System testing makes a logical assumption that if all parts of the system are correct, the goal will be successfully achieved. In the testing process we test the actual system in an organization and gather errors from the new system operates in full efficiency as stated. System testing is the stage of implementation, which is aimed to ensuring that the system works accurately and efficiently. In the testing process we test the actual system in an organization and gather errors from the new system and take initiatives to correct the same. All the front-end and backend connectivity are tested to be sure that the new system operates in full efficiency as stated. System testing is the stage of implementation, which is aimed at ensuring that the system works accurately and efficiently. Inadequate testing or non-testing leads to errors that may appear few months later. This will create two problems Time delay between the cause and appearance of the problem. The effect of the system errors on files and records within the system.

The purpose of the system testing is to consider all the likely variations to which it will be suggested and push the system to its limits. 6.1 Unit Testing Unit testing, also known as component testing refers to tests that verify the functionality of a specific section of code, usually at the function level. In an object-

oriented environment, this is usually at the class level, and the minimal unit tests include the constructors and destructors

These types of tests are usually written by developers as they work on code (whitebox style), to ensure that the specific function is working as expected. One function might have multiple tests, to catch corner cases or other branches in the code. Unit testing alone cannot verify the functionality of a piece of software, but rather is used to assure that the building blocks the software uses work independently of each other. 6.2 Integration Testing Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. Software components may be integrated in an iterative way or all together. Normally the former is considered a better practice since it allows interface issues to be localized more quickly and fixed. Integration testing works to expose defects in the interfaces and interaction between integrated components (modules). Progressively larger groups of tested software components corresponding to elements of the architectural design are integrated and tested until the software works as a system. 6.3 User Acceptance Testing Once a program or module has been unit tested, the programmer can then work with integration it with other programs. Integration testing is a systematic technique for constructing tests to uncover error associated within the interface. In this project, all the modules are combined and then the entire programming is tested as a whole. Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. Software components may be integrated in an iterative way or all together ("big bang"). Normally the former is considered a better practice since it allows interface issues to be localised more quickly and fixed.

CHAPTER 7 SYSTEM IMPLEMENTATION Implementation is the process of converting a new or revised system design into an operational one when the initial design was done by the system; a demonstration was given to the end user about the working system. This process is uses to verify and identify any logical mess working of the system by feeding various combinations of test data. When the management of the system approves the system implemented in the concern, initially the system was run parallel with existing manual system. The system has been tested with live data and has proved to be error free and user friendly. System implementation is made up of many activities. Coding is the process of whereby the physical design specifications created by the analysis team turned into working computer code by the programming team. Once the coding process is begin and proceed in parallel, as each program module can be tested. Installation is the process during which the current system is replaced by the new system. This includes conversion of existing data, software, and documentation and work procedures to those consistent with the new system. It is result from the installation process, user guides provides the information of how the use the system and its flow. Training plan is a strategy for training user so they quickly learn to the new system. The development of the training plan probably began earlier in the project. The implementation of product software, as the final link in the deployment chain of software production, is in a financial perspective of a major issue.

The implementation methodology includes the following phases - discovery, system development, and user acceptance testing and production rollout. The Discovery Phase is preceded by a Project Kick-off Work-session that includes application demonstrations, completion and review of requirements and configuration questionnaires, identification of key client documentation, as well as consultation on possible process reengineering needs. The trainer will deliver the Administrator Training on-site, face-to-face, to a maximum of system administrators, so each learner gets personalized attention and can ask and get specific answers to questions. If it's more convenient for them and they can be offered the training facilities. The windows application is tested with the Windows XP client and checked with the .Net framework to check if all the form are running correct and process is being done as expected. The application if deployed in the windows operating system machines, then the application will run if it contains .Net framework version 2.0. In addition, the SQL server is to be installed and database is to be attached so that the application connects the database.

CHAPTER 8 CONCLUSION AND FUTUER ENHANCEMENTS CONCLUSION It developed three information-rich glyphs and applied them to a large, multidimensional data set in the software project management domain. The glyphs, coupled with filtering and aggregation, highlight interesting patterns and anomalies in the data set. To ensure that the user does not lose any crucial information, it is important visually to encode statistics that may indicate the accuracy and importance of a particular aggregate, such as number of data objects within the aggregate, or the standard deviation for all the summary data attributes. So the proposed system eliminates the drawbacks of the existing system. So it is easier to visualize the glyph representation of the project. Future Enhancements The new system become useful if the below enhancements are made in future. It is also developed as web service the application can be run from anywhere. The application can be further developed by improving more number of glyph representation.

CHAPTER 9

APPENDIX 9.1 SOURCE CODE Login Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Glyphs { public partial class frmLogin : Form { public bool ok; public frmLogin() { InitializeComponent(); } private void btnSave_Click(object sender, EventArgs e) { if (txtUser.Text.Trim().Equals("")) { MessageBox.Show("UserName should not be empty", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); txtUser.Focus(); return; } if (txtPass.Text.Trim().Equals(""))

{ MessageBox.Show("Password should not be empty", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); txtPass.Focus(); return; } if (cls.con.State != ConnectionState.Open) { cls.con.Open(); } cls.cmd.CommandText = "select count(*) from admin where username='" + txtUser.Text + "' and Password='" + txtPass.Text + "'"; if (Convert.ToInt16(cls.cmd.ExecuteScalar().ToString()) > 0) { ok = true; cls.con.Close(); this.Close(); } else { ok = false; cls.con.Close(); MessageBox.Show("Invalid UserName/Password.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void btnClose_Click(object sender, EventArgs e) {

Application.Exit(); } } } Main Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Glyphs { public partial class frmMain : Form { public frmMain() { InitializeComponent(); } private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void addProjectsToolStripMenuItem_Click(object sender, EventArgs e) { frmProject f = new frmProject();

f.Show(); } private void viewProjectToolStripMenuItem_Click(object sender, EventArgs e) { frmView f = new frmView(); f.viewtype = 1; f.Show(); } private void projectTransactionsToolStripMenuItem_Click(object sender, EventArgs e) { frmProjectTransaction f = new frmProjectTransaction(); f.Show(); } private void viewProjectTransactionsToolStripMenuItem_Click(object sender, EventArgs e) { frmView f = new frmView(); f.viewtype = 2; f.Show(); } private void kMeansFor2dDataToolStripMenuItem_Click(object sender, EventArgs e) { frmKmeans f = new frmKmeans(); f.KMeansType = 2; f.Show(); }

private void exitToolStripMenuItem1_Click(object sender, EventArgs e) { Application.Exit(); } private void kMeansFor3dDataToolStripMenuItem_Click(object sender, EventArgs e) { frmKmeans f = new frmKmeans(); f.KMeansType = 3; f.Show(); } private void kMeansFor4dDataToolStripMenuItem_Click(object sender, EventArgs e) { frmKmeans f = new frmKmeans(); f.KMeansType = 4; f.Show(); } private void tabularOutputToolStripMenuItem_Click(object sender, EventArgs e) { frmView f = new frmView(); f.viewtype = 3; f.Show(); } private void chartOutputToolStripMenuItem_Click(object sender, EventArgs e) { frmChart f = new frmChart(); f.Show(); }

private void glyphBasedRepresentationToolStripMenuItem_Click(object sender, EventArgs e) { frmGlyph f = new frmGlyph(); f.Show(); } } } Project Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Data.SqlClient ; using System.Text; using System.Windows.Forms; namespace Glyphs { public partial class frmProject : Form { SqlDataAdapter da = new SqlDataAdapter(cls.cmd); DataTable dt = new DataTable(); public frmProject() { InitializeComponent(); }

private void button4_Click(object sender, EventArgs e) { SqlCommandBuilder obj=new SqlCommandBuilder (da); da.UpdateCommand = obj.GetUpdateCommand(); da.DeleteCommand = obj.GetDeleteCommand(); da.InsertCommand = obj.GetInsertCommand(); int r = da.Update(dt); if (r > 0) { MessageBox.Show(r.ToString() + " Records updated.", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Nothing Changed.", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void frmVideoInformation_Load(object sender, EventArgs e) { fillgrid(); } void fillgrid() { cls.cmd.CommandText = "select * from Projects"; dt.Rows.Clear(); da.Fill(dt);

DataGridView1.DataSource = dt; } private void button2_Click(object sender, EventArgs e) { txtProjectID.Text = ""; txtProjectName.Text = ""; txtDescription.Text = ""; cboDomain.SelectedInde; dtStartingDate.Value = DateTime.Today; if (cls.con.State != ConnectionState.Open) cls.con.Open(); cls.cmd.CommandText = "Select Count(*) From Projects"; int pid = int.Parse(cls.cmd.ExecuteScalar().ToString()) + 1; txtProjectID.Text = "P" + String.Format("{0:000}", pid); txtProjectName.Focus(); } private void button3_Click(object sender, EventArgs e) { if (txtProjectID.Text == "") { txtProjectID.Focus(); return; } if (txtProjectName.Text == "") { txtProjectName.Focus(); return; }

if (txtDescription.Text == "") { txtDescription.Focus(); return; } if (cboDomain.Text == "") { cboDomain.Focus(); return; } if(cls.con.State!= ConnectionState.Open ) cls.con.Open(); cls.cmd.CommandText = "Insert into Projects values('" + txtProjectID.Text + "','" + txtProjectName.Text + "','" + txtDescription.Text + "','" + String.Format("{0:MM-ddyyyy}", dtStartingDate.Value) + "','" + cboDomain.Text + "')"; if (int.Parse(cls.cmd.ExecuteNonQuery().ToString()) > 0) { MessageBox.Show("Project Information Saved", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Project Information Not Saved", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } fillgrid(); }

private void button1_Click(object sender, EventArgs e) { this.Close(); } } } Project Transaction using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Data.SqlClient; using System.Text; using System.Windows.Forms; namespace Glyphs { public partial class frmProjectTransaction : Form { SqlDataAdapter da = new SqlDataAdapter(cls.cmd); DataTable dt = new DataTable(); public frmProjectTransaction() { InitializeComponent(); } private void button4_Click(object sender, EventArgs e)

{ SqlCommandBuilder obj = new SqlCommandBuilder(da); da.UpdateCommand = obj.GetUpdateCommand(); da.DeleteCommand = obj.GetDeleteCommand(); da.InsertCommand = obj.GetInsertCommand(); int r = da.Update(dt); if (r > 0) { MessageBox.Show(r.ToString() + " Records updated.", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Nothing Changed.", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void frmVideoInformation_Load(object sender, EventArgs e) { if (cls.con.State != ConnectionState.Open) cls.con.Open(); cls.cmd.CommandText = "select ProjectId,ProjectName from Projects"; SqlDataReader r = cls.cmd.ExecuteReader(); while (r.Read()) { cboProjectId.Items.Add(r[0].ToString() + ":" + r[1].ToString()); } r.Close(); fillgrid();

dtEntryDate.Value = DateTime.Today; } void fillgrid() { cls.cmd.CommandText = "select * from ProjectsTransactions"; dt.Rows.Clear(); da.Fill(dt); DataGridView1.DataSource = dt; } private void button2_Click(object sender, EventArgs e) { txtProjectName.Text = ""; //cboProjectId.SelectedIndex = 0; dtStartingDate.Value = DateTime.Today; if (cls.con.State != ConnectionState.Open) cls.con.Open(); dtEntryDate.Value = DateTime.Today; } private void button3_Click(object sender, EventArgs e) { if (cboProjectId.Text == "") { cboProjectId.Focus(); return; } if (txtProjectName.Text == "") {

txtProjectName.Focus(); return; } if (cls.con.State != ConnectionState.Open) cls.con.Open(); cls.cmd.CommandText = "Insert into ProjectsTransactions([ProjectId], [EntryDate], [DaysCrossed], [CompletedPercentage], [TeamLeaders], [Programmers], [Testers], [TotalWorkingHours]) values('" + cboProjectId.Text.Split(new char[] { ':' })[0] + "','" + String.Format("{0:MM-dd-yyyy}", dtEntryDate.Value) + "'," + int.Parse(label7.Text) + "," + (int)(numericUpDown1.Value) + "," + (int)(numericUpDown2.Value) + "," + (int) (numericUpDown3.Value) + "," + (int)(numericUpDown4.Value) + "," + (int) (numericUpDown5.Value) + ")"; if (int.Parse(cls.cmd.ExecuteNonQuery().ToString()) > 0) { MessageBox.Show("Project Transaction Information Saved", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Project Transaction Information Not Saved", "Note", MessageBoxButtons.OK, MessageBoxIcon.Information); } fillgrid(); } private void button1_Click(object sender, EventArgs e) { this.Close();

} private void cboProjectId_SelectedIndexChanged(object sender, EventArgs e) { if (cls.con.State != ConnectionState.Open) cls.con.Open(); string []tokens=cboProjectId.Text.Split(new char[]{':'}); txtProjectName.Text = tokens[1]; cls.cmd.CommandText = "Select StartingDate From Projects where ProjectId='" + tokens[0] + "'"; if (cls.cmd.ExecuteScalar() == null) { } else if (cls.cmd.ExecuteScalar() == DBNull.Value) { } else dtStartingDate.Value = (DateTime)cls.cmd.ExecuteScalar(); int dayscrossed=(int) ( Microsoft.VisualBasic.DateAndTime.DateDiff(Microsoft.VisualBasic.DateInterval.Day, dtStartingDate.Value, dtEntryDate.Value, Microsoft.VisualBasic.FirstDayOfWeek.System, Microsoft.VisualBasic.FirstWeekOfYear.System)); label7.Text = dayscrossed.ToString(); } }}

9.2 Screen Shots Main form

Adding Project Details

Project Transaction Form

Clustering of 3-D data

Tabular output

Chart Output

Glyph Based Representation

Project Details Report

Project transaction details report

CHAPTER 10 REFERENCES

BOOKS REFERRED 1. Alistair Mc Monnies, Object-oriented programming in Visual C#. NET, Pearson Education, and ISBN: 81-297-0649-0, First Indian Reprint 2004. 2. Robert D.Schneider, Jetty R.Garbus, Optimizing SQL Server, Second Edition, Pearson Education Asia, ISBN: 981-4035-20-3 3. Peter Nortons guide Access 2000 Tata McGraw-Hill, Publishing Company Limited. 4. Herbert Schildt, C# 2.0, The Complete Reference, Osborne Complete Reference Series.

WEB REFERRED 1. 2. 3. 4. http://msdn.microsoft.com http://www.c-harp.com http://www.codeproject.com http://www.programmersheaven.com

Das könnte Ihnen auch gefallen