Developing An Online Software Application Management System Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Work Tracker is the art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, monitored and controlled.

It is an easy to implement and simple to use web-based project management software that is fully customizable to client's projects and workflow.

It is a web application having four modules client, Project manager, Team Leader, and Developer.

The work tracker includes creating new users and viewing all the users to registered client. Client can create project and assign project manager to it by choosing one of the user from the users list. Client can choose the users according to the best of their reputation. He can search users from his page through giving search words as given under the search field.

1. Introduction

Here, it gives the introduction with background details about this project.

It is described as three sections. The first segment tells about background to the project. Second one describes goal of the project. The final section tells about the objective of the project.

1.1 Background 

This application that helps to clients in effectively tracking and planning projects can also be used to support businesses in an effective, but simple manner. This application can also be used to test whether a project management is effective or not.

Once a new project is started the Project manager adds Modules, and assign them to Team Leaders, the modules then divided into tasks by team leaders, and given to Developers. They will start working on the tasks and submits their report.

1.2 Aim

Aim of this project is to develop an online software application management system and testing it in manual method.

1.3 Objectives

The following objectives are discussed before going to start application development and executed successfully.

Project allows the user to create his/her account and can view his/her profile

Negotiation discussion between the clients to normal users (for the process of selecting them as project members).

Search engine for getting required results for both client and project member.

Showing Reputation of a registered or existing project member depending upon the no. of projects handled and years of experience.

Interaction with Google calendar.

2. Literature Review

Before I go to start the project, I have studied various concepts.

Software Development Life Cycle

Interaction with Google using Google Plug-In

Using Ajax Control toolkit.

Client Server Architecture:

The client-server model of computing is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server machine is a host that is running one or more server programs which share their resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await (listen for) incoming requests.

Using Google Data Plug-In:

Here, this part describes how to use the .NET client library to send Google Data API ("GData") queries and interpret returned responses.

Google provides a set of client libraries for interacting with GData-enabled services, in a variety of programming languages. Using these libraries, you can construct GData requests, send them to a service, and receive responses.

This document provides a set of examples of common uses of the C# version of the client library, followed by other information about writing GData clients.

1. From Visual Studio 2005 or 2008, Create a new project.

2. Right-click on the project then select Add Reference.

3. Click on the Browse tab and navigate to Redist directory in the SDK ("C:\Program Files\Google\Google Data API SDK\Redist")

4. Select the DLL files that will be used by your project such as Google.GData.Client.dll, Google.GData.Calendar and etc.

Software Development Life Cycle:

Software development life cycle model is also called as waterfall model which is followed by majority of systems. This software development life cycle process has the following seven stages in it namely

1. System Requirements Analysis

2. Feasibility study

3. Systems Analysis and Design

4. Code Generation

5. Testing

6. Maintenance

7. Implementation

2.3.1. System Requirements Analysis:

The first essential or vital thing required for any software development is system. Also the system requirement may vary based on the software product that is going to get developed. So a careful analysis has to be made about the system requirement needed for the development of the product. After the analysis and design of the system requirement phase the system required for the development would be complete and the concentration can be on the software development process.

2.3.2. Feasibility study:

After making an analysis in the system requirement the next step is to make analysis of the software requirement. In other words feasibility study is also called as software requirement analysis. In this phase development team has to make communication with customers and make analysis of their requirement and analyze the system. By making analysis this way it would be possible to make a report of identified area of problem. By making a detailed analysis on this area a detailed document or report is prepared in this phase which has details like project plan or schedule of the project, the cost estimated for developing and executing the system, target dates for each phase of delivery of system developed and so on. This phase is the base of software development process since further steps taken in software development life cycle would be based on the analysis made on this phase and so careful analysis has to be made in this phase.

2.3.3. Systems Analysis and Design:

This is an important phase in system development .Here analysis is made on the design of the system that is going to be developed. In other words database design, the design of the architecture chosen, functional specification design, low level design documents, high level design documents and so on takes place. Care must be taken to prepare these design documents because the next phases namely the development phase is based on these design documents. If a well structured and analyzed design document is prepared it would reduce the time taken in the coming steps namely development and testing phases of the software development life cycle.

2.3.4. Code Generation:

This is the phase where actual development of the system takes place. That is based on the design documents prepared in the earlier phase code is written in the programming technology chosen. After the code is developed generation of code also takes place in this phase. In other words the code is converted into executables in this phase after code generation.

2.3.5. Testing:

A software or system which is not tested would be of poor quality. This is because this is the phase where system developed would be tested and reports are prepared about bugs or errors in system. To do this testing phase there are different levels and methods of testing like unit testing, system test and so on. Based on the need the testing methods are chosen and reports are prepared about bugs. After this process the system again goes to development phase for correction of errors and again tested. This process continues until the system is found to be error free. To ease the testing process debuggers or testing tools are also available.

2.3.6. Maintenance:

After the testing phase is completely through and the system is found to be error free it is delivered to the customer. But no real system would be error free even then. This is because when the system gets executed in real user system scenarios there would be possibilities of lot of bugs and errors. This phase is called the maintenance phase and the errors in this are recorded and changes has to be made in the system accordingly and again testing phase comes into picture.

2.3.7. Implementation:

This is the final stage when the system gets into live.

The above software development process are all vital for a system to get developed with quality and thus to achieve customer satisfaction which is the main objective of any software development process.

3. System Definition

4. Requirements Analysis

The application was divided into two categories Client and user. Requirements were prepared separately for each.

4.1 Client Requirements

The following are the client side requirements


Create new project

View the user details

Select project manager for the project

Get the selected project report.

Get the module report of the selected project.

Get the task report of the selected project.

Search and select the user as a project member

4.2 User Requirements

Following are the user requirements.


Create new user account

View the user profile

Create module by project manager

Assign it to team leader

Create task from the module

Assign it to developer

Finally create report on task by developer

Create report on module by team leader

Create report on project by project manager

5.System Design

5.1 Database Design

This part describes about the backend data base storage tables used, and the queries used for making transaction to front end application.


WT_Clients: To store client details.

WT_Message:To store the messages

WT_Modules: to store the module information.

WT_ProjectMembers: To store the selected project members.

WT_Projects:To store the project information.

WT_Tasks:To store the task information.

WT_Users: To store the new user account information.

Table Fields:


ClientId: primary key







MailId:Primary key



Creatorid:foreign key userid from clients able or users table.

Creatortype: client or user

Toid: foreign key userid from clients able or users table

Toidtype client or user

Messagestatus:Seen or NotSeen


Projectid: foreign key used to identify the project id during negotiation

Rolereq : foreign key used to identify the role id during negotiation


Projected:foreign key

Moduleid :primary key


Modulecreatorid : foreign key userid from clients able or users table Description





assignedto : foreign key userid from users table Report


Projectmebersid:primary key

Userid: foreign key

Projected: foreign key



Projected: foreign key

Clientid: foreign key userid from clients table Project name




Projectstatus : on progress,not started,finished.






Moduleid:foreign key

Taskid:primary key

Cratorid : foreign key userid from users table





Taskstatus: on progress,not started,finished.


Assignedto : foreign key userid from users table



Userid : primary key








Experience: in years

Joins between tables:

Client creates project and selects one user as PM from WT_Users table

Create modules and assign them to team leaders in WT_Modules.

Create tasks and assign them to developers. In WT_Tasks

Negotiation is done in WT_Message table.

Users roles are saved in WT_ProjecMembers.

SQL Stored Procedures:

WT_CheckClientCredentials: validates the client usr name and password.

WT_CheckCredentials: validates the normal user username and password.

WT_CreateUser: creates new account,and can retrive, delete insert data.

WT_Membership: add user as a project member,and can retrive, delete insert data.

WT_Module: creates module for project,and can retrive, delete insert data.

WT_Task: crates task details for module,and can retrive, delete insert data.

5.2 Client Design

Diagram - 1

Diagram - 2

Diagram 1 & 2: Client Use Case Diagram

The above diagrams show the flow for the client of the application.








Diagram - 3

Data Flow Diagrams: The above diagram shows the flow of data for the both client and user of the application.

Here, the flow is as follows,

1) Client creates project

2) Project will sub divided into modules

3) Module divided into tasks.

4) Negotiation message communication was done between users and clients.

5) Users can be selected as project members.

5.2 Users Design

In user's module, a new user is added and he will be selected as project member, similarly other users get created and selected as project members.

Then after Project manager will selects the team leaders and team leaders will selects the developers.

Given project will be divided into modules by project manager, further this module can be divided into tasks and assigned to developers.

Each of the project members should feeds the report, finally these reports can be seen by client.

6. Application Functionality

The functionality of the application is divided into four categories; they are client, Project Manager, Team Leader, and Developer.

Home Page: Here, shows the home page of the application.


6.1 Client Functionality

Login: here, login for both user and client, all the validation controls are done on client side.

Register client: new client can create his/her account.

Login: select client radio button and login with credentials.

My Account Profile: shows the client profile.

Users: client can select the users as his project team member.

Here, negotiation is done between client and the selected user.

My Project: client can see his project details.

Project Members: he can see his project members.

Create Project: client can put his project requirements analysis.


He can see the project report module report, and task report.

6.2 User Functionality

Register User: new user can create his/her account.

Project manger Login:

Account Profile: his account profile details can be shown.

My Project: his project details.

Create module: he can create module details for the project.

Modules: created modules created.

Project Log Entry: he can submit his project report here.

Team Leader Login:

Account Profile: his account profile details can be shown.

My Project: his project details.

Create task: he can create tasks details for the assigned module.

My Module: his module details.

Module Log Entry: he can submit his Module report from here.

Developer Login:

Account Profile: his account profile details can be shown.

My Project: his project details.

My Task: his Task details.

Task Log Entry: he can submit his Task report from here.

Search: Search field for client to view the well reputed users to select them as project members.

7. Application Implementation

The application implementation is done in three parts as below.

DB Implementation

Client Implementation

User implementation

7.1 Hardware and Software Requirements

To implement this project server system requires the following requirements.

Hardware Requirements


Hard Disk: 40 GB 

Software Requirements

Operating System: windows XP sp2 or higher

.Net Framework 3.5.

7.2 Database Implementation


This segment describes the steps for creating the database of the work tracker application.

Download and install SQL Server Express edition, or higher version compatible for windows operating system.

Connect to SQL Database server using Visual Studio.

Create the tables Users, clients, projects, modules, tasks and project members using the queries.

This completes the Database creation of the application.

8. Testing

Login: here checked for user login and client login, test for validation controls for username and password.

Add Client:

test for required field validation control for user name and password.

Confirm password : password mismatch test was done.

Create user:

test for required field validation control for user name and password.

Confirm password: password mismatch test was done.

Experience and projects numeric only test was done.


Invalid column name 'toi'. Page: Login.aspx [FIXED]

Invalid column name 'name'. Page: Client/Users.aspx [FIXED]

Invalid column name 'Reputation'. Page: Client/Users.aspx [FIXED]

Object reference not set to an instance of an object…. Page: AssignRole.aspx [FIXED]

Object reference not set to an instance of an object…. Page:PM/CreateModule.aspx [FIXED]

Object reference not set to an instance of an object Page:TL_ModuleLog.aspx.aspx [FIXED]

Compilation Error, The name ' GridView1' does not exist in the current context. Page: Client/Modules.aspx. [FIXED]

Invalid column name ' NoOfProjects'. Page: User/CreatedByUserDetails.aspx.aspx [FIXED]

Object reference not set to an instance of an object…. Page: User/MyTask.aspx [FIXED]

Invalid Expression. Page: Client/ Results.aspx [FIXED]

Object reference not set to an instance of an object. Page: UserProfile.aspx [FIXED]

Index out side the boundary. Page: Client/Results.aspx [FIXED]

Task Log Entry:

Report log field test for existence of required field validation.

After submission of report status check.

Create module:

All validation controls checked.

Percentage completed numeric only checked.

Start date due date calendar popup checked.

Assigned to drop down Team Leaders list checked.

Project manager log entry:

Log data entry field validation checked.

Search: for users details checked.

After selecting user for negotiation check status message.

Create task:

All validation controls checked.

Percentage completed numeric only checked.

Start date due date calendar popup checked.

Assigned to drop down Developers list checked.


Checked for users reputation according to their experience and no of projects handled.

Project Members:

Checked for project member's link to their profile page.

Project Reports:

Checked for displaying reports on project, module, and task wise.