0% found this document useful (0 votes)
35 views

Project Life Cycle Management System

IT Project Life Cycle Limitation of Geographical Locations Information Overload Multiple Systems & databases Single Tool to track whole life cycle of Project

Uploaded by

pamangugel
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Project Life Cycle Management System

IT Project Life Cycle Limitation of Geographical Locations Information Overload Multiple Systems & databases Single Tool to track whole life cycle of Project

Uploaded by

pamangugel
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38

Project Life Cycle

Management System
Nageswara Rao Sripathi
MS Project Defence
Spring 2006
Computer Science Department
Old Dominion University

Overview
Introduction
Project Lifecycle
Application Overview
Modules
Technology
Coding
Conclusion

Introduction
IT Project Life Cycle
Limitation of Geographical
Locations
Information Overload
Multiple Systems & databases
Single Tool to track whole life cycle
of Project

IT Project Lifecycle
Risk
Analysis

Requireme
nt Analysis

Maintenanc
e

Developmen
t

Testing

Application Overview
5 Modules 1 for each Project
Stage
Repository for each Module
Reports
Project Based Segregation
Authentication
Application Security

Application Overview
Admin Functions
Log In

Setup New
Project

Create
Users

Assign
Project to
User

Set User
Access

Typical Users: Sysadmin

User Functions
Log In

Select
Project

System shows
modules that
user has access

Select
Module

Typical Users: Project Manager, Business Analyst,Developer, Tester, End-User

Modules Risk Analysis


Process Flow
Identify
Risks

Phase
Phase
Phase
Phase
Phase

Review
Risks / Add
missing
Risks

Select top
20 Risks

Rank & Rate Risks.


Repeat until Phase 5
or Kendals W > 0.5.

I Collect Barriers
II Identify top 20 Risks
III Rate and Rank Risks
IV Rate and Rank Risks (if required)
V Rate and Rank Risks (if required)

Modules Requirement
Analysis
Process Flow
Enter
Business
Requests

Enter
Requirements.
Identify
Development
Req.

Map
Requireme
nts to
Business
Requests

Enter Use
case
details

Map Use
cases to
Requireme
nts

Upload
supporting
documents

Collect Stakeholder Requests


Translate to Requirements
Build Use cases for Requirements

Modules Development
Process Flow
Show new
Development
Reqs

Select
Requirement

Show Items
under
Development

Select Dev.
Item

Assign
Developer &
Enter Details

Upload
Supporting
Docs

Update
Percent
Complete &
Status

Upload
Supporting
Docs

All development Requirements tracked


Assign Items to Developers
Update Development Status

Modules Testing
Process Flow
Show
completed
Dev. Items

Select Dev
Item

Show Items
under Testing

Select
Testing Item

Assign
Tester &
Enter Details

Upload
Supporting
Docs

Update
Percent
Complete &
Status

Upload
Supporting
Docs

All developed items are tracked


Assign Items to Testers
Update Testing Status

Modules Maintenance
Process Flow
Enter
New
Bugs

Show
existing
Bugs

Select Bug

Update Bug
Details

Report and track bugs


Assign Bugs to Developers
View Bug history

Upload
Supporting
Docs

Modules Repository
Single point of access to complete
project documentation
Documents secured by module
Quick access to required documents
Prevent multiple people working on
same file
Control who can view and edit each file
Track file history

Modules Repository
Process Flow - Owner
Select
Project

Select
Module

Upload
Doc

Select
Project

Select
Module

View Docs
Listing

Grant
Access to
Users

View/Delete
Docs

Owner -the person uploading the file


Grant access to other project users to View/Download
file
Delete file
View Document History

Modules Repository
Process Flow Owner / User
Select
Project

Select
Project

Select
Module

Select
Module

View
Available
Docs

View
CheckedOut
Docs

Check-out
Docs

Check-in
Docs

User All application users


View & Check-out available files
Access restricted by Module

Module - Reports
Intuitively designed for ease-of-use
Access restricted by Module
Report Listing
Project Status Report
Module Status Reports
Requirements Stakeholder Requests
Mapping Report
Use Case Requirement Mapping Report

Technical Specification
Application Server : IIS
Front-End : ASP.NET, Java Script,
HTML
Middle-Tier : C#
Database : MS SQL SERVER

Technical Specification
Architecture
3-Tier Architecture

Coding
Front-End

ASP.NET
Web Forms
Development using Microsoft Visual Studio
Java Script used for Lookups

Middle-Tier
C#
1 Code Behind file for each .aspx file
ADO.NET used for database connectivity

Coding
Database
MS SQL SERVER
Stored Procedures, Triggers & Views used
to reduce load on Application Server
Statistics
50 Tables
2 Views
14 Stored Procedures
6 Triggers

Database Design
Database

Database Design
Database

Database Design
Database

Views
Named Query
Uses
Easier retrieval of required data
Standardization
Reduce I/O operations from Middle-tier

document_acl_v
Returns the Access Control List and Status of the
documents

project_status
Returns the current status of all modules in the project

Triggers
An action(s) performed automatically when a
data manipulation operation is performed on
the database
Uses
Enforce business rules
Reduce I/O operations from Application Server
Faster application development, code is common
to all database applications
Auditing/tracking purposes

Triggers
bugs_history_trg
When the status of a bug is changed the bug history is automatically updated

phase1_to_phase2_trg
When the Delphi Admin consolidates the risks in Phase I, they are automatically
moved to Phase II

project_delphi_status
When a new project is created, the initial status for Delphi module is updated

new_file_update
When a new document is uploaded the entry is recorded in the file transaction
history table

delete_document_history
When a document is deleted, the corresponding Access Control List and Document
history are deleted

update_file_status
When a document is uploaded/downloaded the file status is updated

Stored Procedures
A program written in PL/SQL which is stored
in the database
Uses
Encapsulate business logic common to all
database applications
Reduce load on Application Server
Perform complicated operations/queries specific to
the database
Enforce data validation

Stored Procedures
insert_req_stkh_mapping
Inserts Requirement & Stakeholder Mapping Details

update_req_stkh_mapping
Updates Requirement & Stakeholder Mapping Details

insert_uc_req_mapping
Inserts Use Case & Requirement Mapping Details

update_uc_req_mapping
Updates Use Case & Requirement Mapping Details

insert_bug
Inserts new Bugs

update_delphi_status
Update Delphi Phase Activation Status

Stored Procedures
user_access_details
Returns modules that user has access to

set_user_access
Sets User access to modules

get_phase3_barriers
Creates barriers for Phase 3 based on Phase 2 user response

get_phase4_barriers
Creates barriers for Phase 4 based on Phase 3 user response

get_phase5_barriers
Creates barriers for Phase 5 based on Phase 4 user response

get_results
Returns Results based on Ranking of Barriers

Web.config
Divided into 2 sections - appSettings,
system.web
appSettings
Holds application specific data items
Allow behavior to be modified without changing
source code

System.web
Holds configuration settings of ASP.NET
Configure ASP.NET Security
Enable/Disable Trace

Web.config
Set the database connection string
<appSettings>
<add key="connectionString"
value="server=localhost;database=project;uid=sa;pwd=abc123" />
</appSettings>

Access connection string in webforms


using System.Configuration;
con = new
SqlConnection(ConfigurationSettings.AppSettings["connectionString
"]);

Similarly, set menu info, so each page


can easily show/hide menus

ASP.NET Security
Authentication
Enables recipient of request to ascertain callers
identity
3 types of authentication supported
Windows Authentication
IIS to authenticate the user based on their windows login

Passport Authentication
Microsoft Passport web service is used
Requires Passport SDK

Forms Authentication

Relies on login forms in web pages to authenticate users


Provide a custom form for users to enter their credentials
Authenticate users in application
User credential token is stored in a cookie

ASP.NET Security
Forms Authentication
Set authentication mode in Web.config
<configuration><system.web><authentication mode="Forms">
<forms loginUrl="home.aspx />
</authentication> </system.web></configuration>

Authenticate user in home.aspx by matching


user password from database
Create protectedFiles folder under root
Save secure files in this folder
Create web.config in this folder
<configuration> <system.web> <authorization>
<deny users="?" />
</authorization> </system.web></configuration>

Unauthorized users re-directed to home.aspx

Application Security
Project Access
Sysadmin sets user access to projects
When user logs in project access is checked
Show projects that user has access

Module Access
Sysadmin sets user access to modules
Dynamic Menus generated
Every web form checks if user has access
Use menu config settings from web.config
Show/hide menu items based on access

Session Time-Out
When the user session times out, he is re-directed to login
page

Sessions
Session Maintenance

Use Session Object of ASP.NET


Maintain login information
Maintain project information
Maintain access control information
For ex: when a user logs in, he selects
a project. Session Variables used to
segregate information across the
Application based on his selection.

DataGrid

Very powerful .NET tool


Easily configurable with ADO.NET
Intuitive user interface
Flexibility in controlling row and field
properties
View, insert, edit and delete data with
minimal coding
Sort data

Why .NET?
Powerful IDE
Easily configure application
settings
ASP.NET Security
Session Maintenance
DataGrid & ADO.NET

Conclusion
Great Tracking Tool
Web-based easy access
No Geographical Limitations
Avoid using multiple systems &
databases
Learning experience technically
and functionally

Questions???

THANK YOU

You might also like