Sunteți pe pagina 1din 41

Group ID: ITP09/WE/G1 Final Report for PRoMaT

Table of Contents

Abstract i
Acknowledgement ii
Declaration iii
Table of Contents iv
List of Figures vi
List of Tables vi
List of Acronyms and Abbreviations vii

1. Introduction
1 Problem Statement 01
2 Product Scope 01
1.2.1 Objectives 01
1.2.2 Goals 02
1.2.3 Benefits 02
3 Project Report Structure 03
2. Methodology
1 Requirement Analysis 04
2.1.1 Use case Diagram 04
2 Design 07
2.2.1 Class Diagram 07
2.2.2 Activity Diagrams 08
2.2.3 Database Design 15
3 Implementation 17
2.3.1 Integration of the Components 19
2.3.2 Central Administration 20

Page | 1
Group ID: ITP09/WE/G1 Final Report for PRoMaT

4 Testing 20
2.4.1 Test Plan Objectives 20
2.4.2 Test Scope 20
2.4.3 Test Strategy 21
2.4.4 Test Environment Requirements 22
2.4.5 Test Schedule 22
2.4.6 Control Procedures 22
2.4.7 Functions Tested 23
2.4.8 Suspension/Exit Criteria 23
2.4.9 Resumption criteria 23

3. Evaluation
1 Assessment of the Project Results 24
2 Lessons Learned 25
3 Future Work 27

4. Conclusion 30
5. References 31

Appendix A: Design Diagrams 32


Appendix B: Test Results 33
Appendix C: Selected Code Listings 36

Page | 2
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Tables and Figures

Page(s)
Tables
Table 1.1 – Definitions and acronyms 1
Table 4.1 – User Levels 34

Figures
Figure 2.1 – Organizational Hierarchy 8
Figure 3.1 – Add Task Form 13
Figure 3.2 – Issues Information Form 14
Figure 3.3 – My Team Time Entry Approvals 15
Figure 3.4 – My Time Sheet 15
Figure 3.5 – Connectivity and Data Flow 17
Figure 4.1 – Use Case Diagram 19
Figure 4.2 – Enhanced Entity Relationship Diagram 38

Page | 3
Group ID: ITP09/WE/G1 Final Report for PRoMaT

1 Introduction

1.1 Problem Statement


Spring Global Services (Pvt.) Ltd were in need of customized software, to use with their
existing system, which is capable of keep track of daily project work using timesheet data
as input. Furthermore SGS expected the system to be integrate with Microsoft SharePoint
which provides Internet Explorer based collaboration functions, with search modules and
a document-management platform with the following associative issues.
 A technique to record effective use of time and resources.
 Assess project work
 A method to generate various reports based on needs of the user group or user.
 Reporting major issues to the responsible parties

1.2 Product Scope


PRoMaT is the suggested Project Management System, which is a component, designed
for the existing system to facilitate their day to day project related activities by referring
to above mentioned key issues in the problem statement. The system is working under
secure environment by allowing access only for four user levels through the validation of
the Active Directory. Therefore specific functions are available for different user levels
according to the power they hold. Through the use of relevant forms user can feed data to
the system according to the working flow of the system.

1.2.1 Objectives
The following objectives achieved through developing PRoMaT,
 Share the details relevant to projects within one platform; MS SharePoint.
 Input project related data through timesheets and other relevant forms.
 Construct different access levels according to the user groups.
 Accumulate project details into a customized database.
 Generation of reports

Page | 4
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Furthermore ProMaT facilitates entering and updating details, generating unique ids,
approval of forms, sending e-mail notifications and etc...
The allocation of human resource (assigning project managers, assigning employees) can
be done by using relevant forms and arise of bottlenecks can be avoid by the use of
applicable reports. Time sheets enables assign work for consultants according to time
basis.

1.2.2 Goals
We have developed the proposed sub-system as per the expected level. The Project
Management system (PRoMaT) provides a superior platform to deal with project related
data according to the user’s needs and wants, irrespective of the place. Also it is capable
of operating with Microsoft Windows environment. PRoMaT enables user to integrate
their work flow with Microsoft SharePoint server 2007. Furthermore it enhances the
group collaboration whilst generating reports which helps the decision making process.

1.2.3 Benefits
In any organization managers require information to make correct and effective
assessments over subordinates work, at the right time. The developed system provides the
following benefits to the organization as a whole;
 All user groups can share project details through the system according to the
respective user level.
 The manual work and delays can be minimized with the facilities of the system.
 Utilization of resources can be done in an optimal manner with use of reports.
 Evaluation of daily project status, work progress of projects, performance of
ongoing projects, assessment of weekly summary of project work.
 Integrated work flow, security, authority ensures sufficient level of data
protection.

Page | 5
Group ID: ITP09/WE/G1 Final Report for PRoMaT

1.3 Project Report Structure

The following is the organization of the report regarding PRoMaT.

Chapter 01 – Introduction
Overall Problem Statement, Product Scope in addition with Objectives, Goals and
Benefits has been discussed under this section.

Chapter 02 – Methodology
This section provides a comprehensive analysis of requirements along with Design
(inclusive of main diagrams), Implementation and Testing.

Chapter 03 – Evaluation
The assessment of Project results, its outcomes has been discussed in this section. In
addition, the lessons we learned as the developer team and the Future Work regarding
this project has been indicated here.

Chapter 04 – Conclusion
This part provides a brief description about the Project success, benefits to the client,
limitations/constraints and shortfalls regarding the project.

Chapter 05 – References
This section provides the websites, materials, articles, blogs and references used during
the documentation.

Page | 6
Group ID: ITP09/WE/G1 Final Report for PRoMaT

2 Methodology
2.1 Requirement Analysis
2.1.1 Use Case Diagram and Activity Diagram

The following diagram expresses the ProMaT’s behavioral requirements along with
the functional requirements. Each use case given below describes the how the
requirements/tasks have been achieved in the proposed sub-system.

PRoMaT
The Project Management System

Client Validation
<<include>>

Client Data Entry <<include>>

Notification

<<include>>
Sales/Technical Team <<include>>
Assign Project
Manager & Technical Lead
Remove Project
E-Mail Server

<<include>> <<include>>
Approve Time Sheet
<<include>>
<<include>>
Project Issues
Entry
<<extend>>

Solution Entry
Update Project Assing Emplooyees

Project Manager

Chief Technical Officer

Report Generation

Technical Lead
Project Data Entry

<<include>>

<<include>>
Time Sheet Data
Consultant Entry <<include>>

Validate Group

Figure 2.1 – Use case Diagram

Page | 7
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Description of the use case diagram


Use case 01: Client Data Entry
The task is performed by Technical/Sales Team of SGS. After validation, the user can
request to load the Client Data Entry form.

Use case 02: Client Validation


The task is performed by Technical/Sales Team of SGS. Appropriate Client Data departs
to the database and system provides a reference number to identify the client.

Use case 03: Assign Project Manager and Technical Lead


Task is performed by the Chief Technical Officer. The CTO is the only responsible
person which can assign a PM and a TL to a selected project. Submission of form writes
data to the database.

Use case 04: Project Data Entry


The task is performed by the Project Manager. The Active Directory validation allows
user to request Project Data Entry Form. System allows PM to enter data relevant to the
project. Finally the procedure ends with generating a unique Project Code.

Use case 05: Assigning Employees


Task performed by the PM. User can request the form with a proper validation and
unauthorized access will be denied. PM gets the opportunity assign tasks and sub-tasks
according to the availability of Consultants.

Use case 06: Timesheet Data Entry


Task is performed by the consultants. The necessary validation allows users to input daily
contribution for an allocated project. Users can ask for the same timesheet multiple times
for a particular day until it is submitted to the PM for the approval.

Page | 8
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Use case 07: Approve Timesheets


The task is performed by the PM. The e-mail notification relevant to submission of a
timesheet provides details of the daily contribution need to approve by PM. Approved
timesheets directs to the database.

Use case 08: Update Projects


This task also performed by the PM. The details need to be update regarding a particular
project done by using the relevant form.

Use case 09: Remove Project


Task is performed by the Chief Technical Officer. The CTO is the only responsible
person which can perform this task. After performing this task the selected project can be
removed from the system permanently.

Use case 10: Project Issues Entry


Task is performed by the Technical Lead/Project Manager. This is used to submit major
issues relevant to a particular project. If necessary a proposed solution can be submit with
the form.

Use case 11: Solution Entry


This task is performed in the presence of the use case 09: Project Issues Entry.

Use case 12: Notification


The relevant notifications can be sent to the users with the help of Simple Mail Transfer
Protocol (SMTP) Server.

Use case 13: Report Generation


Task can be performed by many user groups. The validated groups can generate reports
according to their access levels. These reports can be viewed on the dashboard.

Page | 9
Group ID: ITP09/WE/G1 Final Report for PRoMaT

2.2 Design
The following UML Diagrams were used at the different phases of the project to identify
the work flow and the behavior.
2.2.1 Class Diagram

Project
Client
+name
+name +type
+address +status
+department +start date
+email +end date
+tel no 1 +duration
1..*
+enter_data(name, address, department, email, tel no) +project manager
+find_project() +technical leader

+enter_data(name, type, status, start date, end date, duration, project manager, technical leader)
+update_status(status)
+find_employees()
+find_tasks()
Time sheet

+task id 1..*
+date
+start time
+end time 0..*
+description 1..*
+status
+total Task
+enter_data(date, start time, end time, description, status) +project id
+calculate_total() +name
+priority
+status 1
+description
0..* +start time
+deadline
1
0..* +enter_data(project id, name, priority, status, description, start time, deadline)
Employee +update_status(status)
1..* +enter_problem()
+fname
+lname 1..*
+address 1
+city
+country
+salary
+enter_data(fname, lname, address, city, country, salary)
+find_task()
+generate_report ()

Consultant 0..*
Problem
+time_sheet_data_entry()
Sales/Technical Team +description
+proposed solution
CTO
+project_data_entry()
+enter_data(description, proposed solution)
+assign_PM&TL() +update_solution(solution)
+update_project()
Project Manager

+assign_employees()
+project_issues_entry()
+update_project()
+project_data_entry()
+approve_timesheet()
+remove_project()

Technical Lead

+assign_employees()
+project_issues_entry()
+update_project()
+project_data_entry()

Figure 2.2 – Class Diagram

Page | 10
Group ID: ITP09/WE/G1 Final Report for PRoMaT

2.2.2 Activity Diagrams


The following Activity Diagrams describe the work flows of activities and actions used
by system at the implementation stage.
Activity Diagram 01

Request to load client data entry form

Technical/Sales Team enters client data

Save client data in the database

System returns a reference number to identify the client

Figure 2.4 – Activity Diagram 01

Page | 11
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Activity Diagram 03:

CTO request to load the form to assign PM and TL

Validate user

[Valid] [Invalid]

Load the relevant form Ignore request and display an error message

CTO assigns a PM and a TL for a particular project

Submit form

Save the data in the database

Figure 2.5 – Activity Diagram 03

Page | 12
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Activity Diagram 04

Project Manager request to load the Project Data Form

System Validates the user

[Vlalid] [Invalid]

Syatem load the Project data form Ignore request and display error message

Project manager enters project data and ask for the project code

Generate project code

Save details in the database

Figure 2.6 – Activity Diagram 04

Page | 13
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Activity Diagram 05

Project Manager requests to load the employee assigning form

Validate User

[Valid] [Invalid]

Assign employees to tasks and sub tasks Ignores the request and dispaly an error message

Save allocations in the database

Figure 2.7 – Activity Diagram 05

Page | 14
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Activity Diagram 06

Consultant requests to load the time sheet

Validate User

Enter relevant details (daily work) Ignore the request and dispaly an error message

Validate the details

Save details Save and submit details

Figure 2.8 – Activity Diagram 06

Page | 15
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Activity Diagram 07

PM requests to load time sheet of a particular consultant

Chech the daily contribution

PM requests to load the time sheet approval form

Validate user

[Valid] [Invalid]

Enter details and approve the form Ignore request and display an error message

Submit form

Save details in the database

Figure 2.9 – Activity Diagram 07

Page | 16
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Activity Diagram 13

Request to generate a report

Validate user group

[Valid]
[Invalid]

Identify the access level Ignore the request and display error message

Identify user as CTO/CEO or COO Identify user as a project manager Identify user as a technical lead Identify user as a consultant

Retreive relevant information from the database

Generate report

Display report on dashboard

Figure 2.10 – Activity Diagram 13

Page | 17
Group ID: ITP09/WE/G1 Final Report for PRoMaT

2.2.4 Database Design

Figure 2.11 – Entity Relationship Diagram

Page | 18
Group ID: ITP09/WE/G1 Final Report for PRoMaT

The database is used to store data related to projects in Spring Global Services and
generate reports according to the user access level. The database is implemented using
Microsoft SQL server 2005. SQL server 2005 provides performance, scalability, security
and manageability. It is also a Business Intelligence vendor.

Database Model
Entities of the database are,
 Client
 Project
 Employee
 Task
 Subtask
 Problem.

The datasets
 The client dataset stores basic information about clients. This is the
PROMATCLIENT table. A client may have multiple telephone numbers and this
is stored in the PROMATCTELEPHONE table.
 The project dataset stores basic details about the project including
approved/rejected status and assigned Project Manager and Technical Lead. This
is the PROMATPROJECT table.
 The employee dataset stores basic information about all employees. This is the
PROMATEMPLOYEE table. An employee may have multiple telephone
numbers and this is stored in the PROMATETELEPHONE table.
 The task dataset contains information about tasks under a given project. This is
the PROMATTASK table.
 The sub task dataset contains information about sub tasks under a given task. This
is the PROMATSUBTASK table.
 The assigned dataset contains data about which employees are assigned to a
particular task/sub task. For tasks, this is the PROMATTASKASSIGNED table
and for sub tasks this is the PROMATSUBTASKASSIGNED table.

Page | 19
Group ID: ITP09/WE/G1 Final Report for PRoMaT

 The timesheet dataset contains data about when and how long an employee has
spent on his/her assigned task/sub task. For tasks, this is the
PROMATTASKALLOCATETIME table and for sub tasks this is the
PROMATSUBTASKALLOCATETIME table.
 The bottleneck dataset contains information about problems encountered in a
task/subtask. For tasks, this is the PROMATTASKBOTTLENECK table and for
sub tasks this is the PROMATSUBTASKBOTTLENECK table.

2.3 Implementation
The sub system developed for SGS was based on the latest technologies that provided by
the Microsoft Corporation. The entire system were developed using the concept of
component base implementation. This phase carried out with three categories shown
below.
 Forms Implementation
 Database implementation
 Report generation
Microsoft InfoPath 2007, Microsoft Visual Studio 2008, Microsoft SQL Server 2005,
SQL Server Reporting Services 2005, SharePoint Server 2007, SharePoint Server
Services 2007 are the technologies used at the development process.

Forms Implementation
MSI 2007 and C# with the .NET framework 3.5sp1 were used to develop the forms.
The data entered by a particular user needs MSI 2007 services for the temporary storage
of data in XML format. The code segments and C# classes which used to store data in
SQL 2005 relational databases are provided with the Appendix C-Section A.

The resetting process of controllers on the forms is essential to increase performance and
user-friendliness of the sub-system. Both code segments given in Appendix C-Section B
and Appendix C-Section C.

Page | 20
Group ID: ITP09/WE/G1 Final Report for PRoMaT

XPathNavigator and XmlNamespaceManager classes have been used to convert the data
to be stored in the database. SelectSingleNode method has been used to read and identify
controllers uniquely.

The C# classes and code segment has been used to create the database connectivity is
given at the Appendix C-Section C. This special code segment implemented with
exception handling techniques since user need to read values from database and write
values to the database. The other code segments contain the general classes and methods
available in C#. One of the interfaces which used the above code segment is given below.

Figure 2.12 – Sub Task registration Form

The forms were developed by using Business Forms services of the SP 2007 as browser
based forms to avoid the barriers of physical location.

Database Implementation
Database implementation was done with the SQL 2005 using relational database model
which represents twenty one (21) tables. Schema refinement, Normalization and database
validations were done do enhance its performance. The database is maintained as an
external source which is connected with the SP 2007.

Page | 21
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Thus all user inputs stored in it, is considered as external but connected with the SP 2007
which is managed through the content management services.

Report Generation
Report Generation is completely handled with VS 2008 .NET Frame Work 3.5sp1 and
SQLRS 2005. This is laid on top of the Business Intelligence services of the SP 2007.
The Content Management Services is integrated with the Business Intelligence services
in order to revise the reports according to the updates. All the reports is designed in order
to facilitate the decision making process.

Figure 2.13 - Reporting Services Architecture [1]

2.3.1 Integration of the Components


All components were integrated as one application through the SP 2007 as an adapter
between the entire system and user. SP 2007 were configured to identify the user groups
and user levels via the collaboration services. In relation with that form related
components are managed by the Business Forms Services whereas report related

Page | 22
Group ID: ITP09/WE/G1 Final Report for PRoMaT

components are managed by the Business Intelligence Services. These components


strictly run inside the company’s intranet, MS SharePoint.

2.3.2 Central Administration


The configuration of the components can be done by using the central administration.

2.4 Testing
This phase carried out most experimental examination with the sensitive data relevant to
the system. As a result of that the developer team enabled to identify the deviations of the
users given requirements and the quality of the proposed sub-system.

2.4.1 Test Plan Objectives


Test Plan for the new Project Management System supported the following objectives:

 Define the activities required to prepare for and conduct System, Beta and User
Acceptance testing.
 Communication of the system test strategy to all responsible parties.
 Define deliverables and responsible parties.
 Communication of dependencies and risks to all responsible parties.

2.4.2 Test Scope


Data Entry
PRoMaT allows users to enter employee information from IBM compatible PC
workstations running Windows XP or higher. The system is menu driven and
implemented on Microsoft Office SharePoint Server 2007 to provide error messages to
direct the users through various options.

Reports
The system allows user groups to view and print reports according to their authority
level.

Page | 23
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Security
Each user provided with a User ID and Password to login to the system. User access to
the system maintained by the Windows Active Directory [2].

2.4.3 Test Strategy


The primary purpose of test strategy was to uncover the system limitations and measure
its full capabilities. A list of the various planned tests and a brief explanation follows
below.

System Test
The System test was focus on the behavior of the PRoMaT. User scenarios have been
executed against the system and error messages were tested. Finally the integrated system
verified that it meets the requirements defined by the client.

Performance Test

Performance test has been conducted to ensure that the system response times to meet the
client expectations and do not exceed the specified performance criteria.
Security Test
Security test has been carried out to examine how secure the PRoMaT is. The test has
been verified and prevented unauthorized user access to the confidential data.
Stress and Volume Test
PRoMaT has been tested with high input conditions and high volume of data during the
peak times. Furthermore it has been tested with twice of the concurrent accesses.
Beta Test
This has been done at the customer premises and they reported the errors and bugs found
with the system.

Page | 24
Group ID: ITP09/WE/G1 Final Report for PRoMaT

2.4.4 Test Environment Requirements

 20 IBM compatible PCs (minimum is 4).

 PIV processor (minimum)


 256MB RAM (minimum)
 10GB Hard Drive (minimum)
 Windows XP or higher
 Attached to network
 20 User IDs and Passwords.(minimum 4)

2.4.5 Test Schedule

 Ramp up / System familiarization

 Unit Tests and System Test


 Beta Test
 User Acceptance Test [2]

2.4.6 Control Procedures


 Reviews
 Bug Review Meetings
 Change Request
 Defect Reporting
When defects are found, the testers were to complete a paper based defect report on the
defect tracking system.

Page | 25
Group ID: ITP09/WE/G1 Final Report for PRoMaT

2.4.7 Functions Tested

The following is the list of functions that has been tested:


 Add/update employee information
 Search / Lookup employee information
 Menu to return to Main Interface
 Security features
 Scaling to 50 employee records
 Error messages
 Report Generating
 Entering of Project Data
 Transfer of project data to the database
 Screen mappings (GUI flow including default settings)[3]

2.4.8 Suspension/Exit Criteria

 Hardware/software is not available at the times indicated in the project schedule.


 Source code contains one or more critical defects, which seriously prevents or limits
testing progress.
 Assigned test resources are not available when needed by the test team.

2.4.9 Resumption Criteria


If testing is suspended, resumption criteria occurs and problem(s) that caused the
suspension can be resolved. When a critical defect is the cause of the suspension, the
“FIX” must be verified by the testers before testing is resumed.

Page | 26
Group ID: ITP09/WE/G1 Final Report for PRoMaT

3 Evaluation
3.1 Assessment of the Project Results

 Convene regulatory requirements through comprehensive control over content


by using SharePoint server.
Specified security settings, storage policies, auditing policies, and expiration actions
for business records in accordance with compliance regulations, ensures sensitive
business information can be controlled and managed effectively. It reduces litigation
risk for organization.

Tight integration of Office SharePoint Server with familiar desktop applications


means that policy settings are rendered onto client applications in the Microsoft
Office InfoPath, making it simpler for employees to be aware of and comply with
regulatory requirements.

 Connect people with information and expertise.


Enterprise Search in Office SharePoint Server 2007 incorporates business data along
with information about documents, people, and Web pages to produce
comprehensive, relevant results. Features like duplicate collapsing, spelling
correction, and alerts improve the relevance of the results make ease day to day
activities.

 By using Active directory it is easy to manage information sharing levels.

It provides fully integrated security in the form of user logins and authentication. It
makes easy in administration in the form of group policies and permissions. It makes
easy to identify the resources. It is tightly integrated with DNS services for all its
operations, which will provide better identifications and migrations.

Page | 27
Group ID: ITP09/WE/G1 Final Report for PRoMaT

 The advantage SQL Server provides client/server processing by intelligently


dividing processing between the client and the server.

The user interface and much of the business calculations are done by the client
workstation. All database concurrency control, data movement, data searching, and data
manipulation are performed by the Database Server on the file server. The Database
Server becomes a central point of control for database access.

3.2 Lessons Learned


 Team Work
Good Leadership
Effective leadership is one of the most important key aspects of good teamwork. By
having separate people as leaders for separate sections, had good experience in
leading a team to meet the deadlines and to meet the goals and objectives of the
project. Having control on a team, lead us to understand the difficulties that are there
in a real project environment. To motivate and to inspire the team members to take a
positive approach to work was the hardest part that we faced as leaders.

Clear communication
For a successful project, clear communication is one of the key features. All the
members of the team must be able to articulate their feelings, expressions, plans and
ideas. By keeping this in mind, for a better communication we experienced so many
techniques available in the World Wide Web.
For instance, Team Viewer, software which enables remote communication.
By creating our own Web site that is http://www.projecthostoi .com we were able to
share documents as in a real environment.
Version control, updating, check-in and check-out processes were maintained through
the website. This process was same as the process of using configuration management
tool such as Key Stone. This was a real time experience that we came across.
Also we experienced that the poor configuration management caused waste of time
and effort. This was a good experience that we faced, once we have deleted a folder
with valuable records and unable to recover it.

Page | 28
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Establish roles
It is absolutely necessary for team members to understand their role in the team and
responsibilities. Understanding the abilities of each person and providing the best role
for her/him to act in the project was the difficult part we had. Since we were in the
same batch we understood each people’s capabilities and divided the roles among the
team members.
This gave us a good experience on working with people with different capabilities.
Sharing the knowledge with each member helped us to increase our knowledge on
multiple domains.

Conflict Resolution
Conflicts will arise no matter how well a team functions together, these happen for
various reasons, so we understood that team members should be able to voice their
concerns without fear of offending others. Respect others and breaking self barriers
were the most important lessons that we learnt. In a situation like this, we knew the
roles and the responsibilities that the team leader should take.

 Experience the new technologies


Since our client is an IT consultancy, specializing in solutions based on Microsoft
Technologies in Sri Lanka, they expect us to use only Microsoft based software. Most
of the technologies that we used were newly introduced and we were out of the
knowledge domain. Knowledge transfers from the client enabled us to increase the
knowledge on those fields. Microsoft InfoPath and SharePoint server which was used
to deploy the application, were totally new technologies that we learned from this
project. Creating the database for the actual system was another challenging process
since it was the core of the system.

Page | 29
Group ID: ITP09/WE/G1 Final Report for PRoMaT

 Meeting Client Requirements


Meeting the requirement of the client without deviating from the original requirement
was the greater concern had with PRoMaT. Since the client’s requirements were
understandable we followed iterative waterfall model to develop the software. There
was a high possibility of deviating from the requirements of the client because of lack
of client interaction and the low feedback. We realized it at the client site with the
prototype. Moving on to newest methodologies like “agile” came into concern.

 Meeting Deadlines
Since this was a team work contribution of each member to meet deadlines was
highly expected. Dividing the work load among the team members reduced the risk of
passing deadlines. Understanding the risks in the project and mitigation of the risk
always lead our team to meet the dead lines successfully as we planned.

3.3 Future Work

We performed a lot of work to get a stable server application and still have to invest time
to eliminate bugs. Since some software patches were released while writing, we have
made some progress.

We plan to spend more effort in the following areas:

 We will enhance the interfaces in such manner the user gets more comfortable,
attractive and user friendly system. Currently we have used InfoPath and SharePoint
default interfaces and it is expected to enhance interfaces with attractive pictures, colors
and minimizing user actions.

 We could invest more time to test multi user accessing at the same time using
Active Directory Accounts. Currently we have tested the system using 4 users and
planning to test more than 20 users accessing the system while eliminating
problems.

Page | 30
Group ID: ITP09/WE/G1 Final Report for PRoMaT

 We will enhance the existing user levels and permissions to different types of
users. Currently PRoMaT has 3 access levels and we will plan to introduce more
than 6 access levels in our system.

 We expect to spend more time to test sending e-mail notifications through the
system using external e-mail server. Currently we are using internal mail server to
send email notifications through the system. Later we will enhance the system to
send mails using external mail servers such as Google mail, Yahoo mail, Hotmail.

 We look forward to improve report generation feature since presently we do not


have a customized report generating system using SQL data cubes and SQL Data
warehouse mining. We expect to provide the users a vital opportunity to create
customized reports.

 We could invest more time to improve the PRoMaT, to attach it with any
organization which has Microsoft SharePoint Server. This system specially
designed for SGS’s requirements and we will plan to enhance PRoMaT to be
compatible with general requirements of other similar kind of companies.

 We are planning to do some experiments to verify our system compatibility with


open source softwares. Currently we are using Microsoft SQL server 2005, MS
SharePoint server 2007, Windows server 2003 and SMTP server to run this
system and we are planning to modify our system to run with Open source
software using plug-ins.

Page | 31
Group ID: ITP09/WE/G1 Final Report for PRoMaT

4 Conclusion
In conclusion it is reasonable to express that PRoMaT is a successful project as per the
expected level, within the given duration to the project. PRoMaT runs efficiently as web
based component. In addition to that PRoMaT can be easily plugged into the client’s
system.
The proposed sub-system has been achieved the objects stated below;
 Share the details relevant to projects within one platform; MS SharePoint.
 Input project related data through timesheets and other relevant forms.
 Construct different access levels according to the user groups through the
use of AD.
 Accumulate project details into a customized database.
 Generation of reports according to the user levels to aid decision making
process.

Besides PRoMaT is still in a stage which is open to advance enhancements. It can be


further improved with upcoming technologies such as MS SharePoint, SQL and SQL
Business Intelligence services.

Due to the limitations and unavailability of the resources (At the actual performance
PRoMaT needs four server unit integration at once to perform its tasks), the developer
team could not perform the system testing criteria at Sri Lanka Institute of Information
Technology, but managed to do a single system test at the customer premises.

Finally we expect that SGS will be capable of using the sub-system as another application
available in their organizational intranet while achieving benefits such as group
collaboration, share project data within one platform, create different views to the user
groups and enhanced decision making process with use of reports.

Page | 32
Group ID: ITP09/WE/G1 Final Report for PRoMaT

5 References

[1] - Reporting Services Architecture


http://www.microsoft.com/Sqlserver/2005/en/us/reporting-services.aspx
Accessed 1/10/2009.

[2] - Security
http://www.sqatester.com/documentation/testplansmpl.htm
Accessed 30/09/2009.

[3] – Screen Mappings


http://it.toolbox.com/blogs/enterprise-solutions/testing-a-sample-test-plan-3283
Accessed 30/09/2009.

Page | 33
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Appendix A
Deployment Diagram

Sharepoint Server

Infopath Forms
Services
PC http over intranet

Web browser

LAN

SQL server

Reporting Services Analysis Services

Page | 34
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Appendix B
Test Result

Add Task Form

Add new Client Form

Page | 35
Group ID: ITP09/WE/G1 Final Report for PRoMaT

My Time Sheet Form

Project Approval Form

Page | 36
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Client Details Report

Description of the Project

Projects Per Month Report

Page | 37
Group ID: ITP09/WE/G1 Final Report for PRoMaT

Appendix C
Section A
XPathNavigator xpnav = this.CreateNavigator();
XmlNamespaceManager xmlnsm = this.NamespaceManager;

SqlConnection sqlcon = new SqlConnection(@"Data Source=SERVER2003;Initial


Catalog=PROMAT;Integrated Security=True");

clntname = xpnav.SelectSingleNode("/my:myFields/my:txtCName",
xmlnsm).ToString();
clntadd = pnav.SelectSingleNode("/my:myFields/my:txtAddress", mlnsm).ToString();
clntcity = xpnav.SelectSingleNode("/my:myFields/my:txtCity", xmlnsm).ToString();

Section B
XPathNavigator xpnav1 = this.CreateNavigator();
XmlNamespaceManager xmlnsm1 = this.NamespaceManager;

xpnav1.SelectSingleNode("/my:myFields/my:txtCName", xmlnsm1).SetValue("");
xpnav1.SelectSingleNode("/my:myFields/my:txtAddress", xmlnsm1).SetValue("");
xpnav1.SelectSingleNode("/my:myFields/my:txtCity", xmlnsm1).SetValue("");

Section C
SqlConnection conn = new SqlConnection("Data Source=SERVER2003;Initial
Catalog=PROMAT;Integrated Security=True");

if (approved == 1)
{
query = "update promatproject set papproval=1, pmid='" + projectManager +
"',techleadid='" + technicalLead + "' where projectid='" + projectid + "'";
}
if (approved == 0)
{

Page | 38
Group ID: ITP09/WE/G1 Final Report for PRoMaT

query = "update promatproject set papproval=0 where projectid='" + projectid + "'";


}
try
{
SqlCommand comm = new SqlCommand(query, conn);
conn.Open();
comm.ExecuteNonQuery();
}
catch (Exception ex)
{

finally
{
conn.Close();
}
}
clicked = false;
}

//read values from promatproject table whem project id is given


public void txtProjectID_Changed(object sender, XmlEventArgs e)
{
string projectname = "";
string clientname = "";
string clientid = "";
string projecttype = "";
string pdescription = "";
string billingtype = "";
string priority = "";

XPathNavigator navi = this.CreateNavigator();


XmlNamespaceManager mana = this.NamespaceManager;

Page | 39
Group ID: ITP09/WE/G1 Final Report for PRoMaT

string projectId = navi.SelectSingleNode("/my:myFields/my:txtProjectID",


mana).ToString();

//write query to retrieve data to pass to SqlDataReader


string queryPid = "select
p.pname,c.clientname,c.clientid,p.ptype,p.projectdescription,p.billingtype,p.priority from
promatproject p, promatclient c where p.clientid=c.clientid and p.projectid='" + projectId + "'";

SqlConnection conn = new SqlConnection("Data Source=SERVER2003;Initial


Catalog=PROMAT;Integrated Security=True");

try
{
SqlCommand comm = new SqlCommand(queryPid, conn);
conn.Open();
SqlDataReader reader;
reader = ReadTable(queryPid);

while (reader.Read())
{
projectname = reader[0].ToString();
clientname = reader[1].ToString();
clientid = reader[2].ToString();
projecttype = reader[3].ToString();
pdescription = reader[4].ToString();
billingtype = reader[5].ToString();
priority = reader[6].ToString();
}
reader.Close();

navi.SelectSingleNode("/my:myFields/my:txtProject", mana).SetValue(projectname);
navi.SelectSingleNode("/my:myFields/my:txtClient", mana).SetValue(clientname);
navi.SelectSingleNode("/my:myFields/my:txtClientID", mana).SetValue(clientid);

Page | 40
Group ID: ITP09/WE/G1 Final Report for PRoMaT

navi.SelectSingleNode("/my:myFields/my:txtProjectType",
mana).SetValue(projecttype);
navi.SelectSingleNode("/my:myFields/my:txtDescription",
mana).SetValue(pdescription);
navi.SelectSingleNode("/my:myFields/my:txtBill", mana).SetValue(billingtype);
navi.SelectSingleNode("/my:myFields/my:txtPriority", mana).SetValue(priority);
}
catch
{
}

finally
{
conn.Close();
}
}

public SqlDataReader ReadTable(String query)


{

SqlConnection conn1 = new SqlConnection("Data Source=SERVER2003;Initial


Catalog=PROMAT;Integrated Security=True");//(connectionstring);
SqlCommand comm1 = new SqlCommand(query, conn1);
conn1.Open();
SqlDataReader reader1 = comm1.ExecuteReader();
return reader1;
}

Page | 41

S-ar putea să vă placă și