Title: Project Life Cycle Management System
1Project Life Cycle Management System
- Nageswara Rao Sripathi
- MS Project Defence
- Spring 2006
- Computer Science Department
- Old Dominion University
2Overview
- Introduction
- Project Lifecycle
- Application Overview
- Modules
- Technology
- Coding
- Conclusion
3Introduction
- IT Project Life Cycle
- Limitation of Geographical Locations
- Information Overload
- Multiple Systems databases
- Single Tool to track whole life cycle of Project
4IT Project Lifecycle
Risk Analysis
Requirement Analysis
Development
Testing
Maintenance
5Application Overview
- 5 Modules 1 for each Project Stage
- Repository for each Module
- Reports
- Project Based Segregation
- Authentication
- Application Security
6Application Overview
- Admin Functions
-
-
- Typical Users Sysadmin
- User Functions
-
- Typical Users Project Manager,
Business Analyst,Developer, Tester, End-User
Log In
Setup New Project
Create Users
Assign Project to User
Set User Access
Log In
Select Project
System shows modules that user has access
Select Module
7Modules Risk Analysis
Process Flow
Select top 20 Risks
Rank Rate Risks. Repeat until Phase 5 or
Kendals W gt 0.5.
Identify Risks
Review Risks / Add missing Risks
- 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)
8Modules Requirement Analysis
Process Flow
Enter Requirements. Identify Development Req.
Map Requirements to Business Requests
Enter Business Requests
Enter Use case details
Map Use cases to Requirements
Upload supporting documents
- Collect Stakeholder Requests
- Translate to Requirements
- Build Use cases for Requirements
9Modules Development
Process Flow
Assign Developer Enter Details
Upload Supporting Docs
Show new Development Reqs
Select Requirement
Show Items under Development
Select Dev. Item
Upload Supporting Docs
Update Percent Complete Status
- All development Requirements tracked
- Assign Items to Developers
- Update Development Status
10Modules Testing
Process Flow
Assign Tester Enter Details
Upload Supporting Docs
Show completed Dev. Items
Select Dev Item
Show Items under Testing
Select Testing Item
Update Percent Complete Status
Upload Supporting Docs
- All developed items are tracked
- Assign Items to Testers
- Update Testing Status
11Modules Maintenance
Process Flow
Select Bug
Upload Supporting Docs
Update Bug Details
Enter New Bugs
Show existing Bugs
- Report and track bugs
- Assign Bugs to Developers
- View Bug history
12Modules 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
13Modules Repository
Process Flow - Owner
Upload Doc
Grant Access to Users
Select Project
Select Module
View Docs Listing
View/Delete Docs
Select Project
Select Module
- Owner -the person uploading the file
- Grant access to other project users to
View/Download file - Delete file
- View Document History
14Modules Repository
Process Flow Owner / User
View Available Docs
Check-out Docs
Select Project
Select Module
View Checked-Out Docs
Check-in Docs
Select Project
Select Module
- User All application users
- View Check-out available files
- Access restricted by Module
15Module - 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
16Technical Specification
- Application Server IIS
- Front-End ASP.NET, Java Script, HTML
- Middle-Tier C
- Database MS SQL SERVER
17Technical Specification Architecture
3-Tier Architecture
18Coding
- 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
19Coding
- 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
20Database Design
21Database Design
22Database Design
23Views
- 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
24Triggers
- 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
25Triggers
- 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
26Stored 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
27Stored 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
28Stored 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
29Web.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
30Web.config
- Set the database connection string
- ltappSettingsgt
- ltadd key"connectionString" value"serverlocalho
stdatabaseprojectuidsapwdabc123" /gt - lt/appSettingsgt
- Access connection string in webforms
- using System.Configuration
- con new SqlConnection(ConfigurationSettings.AppS
ettings"connectionString") - Similarly, set menu info, so each page can easily
show/hide menus
31ASP.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
32ASP.NET Security
- Forms Authentication
- Set authentication mode in Web.config
- ltconfigurationgtltsystem.webgtltauthentication
mode"Forms"gt - ltforms loginUrl"home.aspx /gt
- lt/authenticationgt lt/system.webgtlt/configurationgt
- 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
- ltconfigurationgt ltsystem.webgt ltauthorizationgt
- ltdeny users"?" /gt
- lt/authorizationgt lt/system.webgtlt/configurationgt
- Unauthorized users re-directed to home.aspx
33Application 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
34Sessions
- 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.
35DataGrid
- 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
36Why .NET?
- Powerful IDE
- Easily configure application settings
- ASP.NET Security
- Session Maintenance
- DataGrid ADO.NET
37Conclusion
- Great Tracking Tool
- Web-based easy access
- No Geographical Limitations
- Avoid using multiple systems databases
- Learning experience technically and functionally
38Questions???