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

Project Life Cycle Management System

Embed Size (px)

Citation preview

Project Life Cycle Management System

Nageswara Rao SripathiMS Project Defence

Spring 2006Computer 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

Requirement Analysis

Development

TestingMaintenance

Application Overview

• 5 Modules – 1 for each Project Stage

• Repository for each Module• Reports• Project Based Segregation• Authentication• Application Security

Application Overview

• Admin Functions

Typical Users: Sysadmin

• User Functions

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

Log InSetup New

Project Create Users

Assign Project to

UserSet User Access

Log In Select Project

System shows modules that

user has accessSelect Module

Modules – Risk Analysis

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

Identify Risks

Review Risks / Add

missing Risks

Select top 20 Risks

Rank & Rate Risks.Repeat until Phase 5 or Kendals W > 0.5.

Process Flow

Modules – Requirement Analysis

• Collect Stakeholder Requests• Translate to Requirements• Build Use cases for Requirements

Process FlowEnter

Business Requests

Enter Requirements.

Identify Development

Req.

Map Requireme

nts to Business Requests

Enter Use case

details

Map Use cases to

Requirements

Upload supporting documents

Modules – Development

• All development Requirements tracked• Assign Items to Developers• Update Development Status

Process FlowShow new

Development Reqs

Select Requirement

Assign Developer & Enter Details

Upload Supporting

Docs

Show Items under

DevelopmentSelect Dev.

Item

Update Percent

Complete & Status

Upload Supporting

Docs

Modules – Testing

• All developed items are tracked• Assign Items to Testers• Update Testing Status

Process FlowShow

completed Dev. Items

Select Dev Item

Assign Tester &

Enter Details

Upload Supporting

Docs

Show Items under Testing

Select Testing Item

Update Percent

Complete & Status

Upload Supporting

Docs

Modules – Maintenance

• Report and track bugs• Assign Bugs to Developers• View Bug history

Process Flow

EnterNewBugs

Show existing Bugs

Select BugUpload

Supporting Docs

Update Bug Details

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

SelectProject

Select Module

UploadDoc

Grant Access to

Users

SelectProject

Select Module

View Docs Listing

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

• User – All application users• View & Check-out available files• Access restricted by Module

Process Flow – Owner / User

SelectProject

Select Module

View Available

DocsCheck-out Docs

SelectProject

Select Module

View Checked-

OutDocs

Check-in Docs

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 webformsusing 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 caller’s

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