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
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
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
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
Top Related