Project Life Cycle Management System


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 54 web forms
  • Explain how the 2 views achieve the above
  • Project Life Cycle Management System

    1. 1. Project Life Cycle Management System Nageswara Rao Sripathi MS Project Defence Spring 2006 Computer Science Department Old Dominion University
    2. 2. Overview <ul><li>Introduction </li></ul><ul><li>Project Lifecycle </li></ul><ul><li>Application Overview </li></ul><ul><li>Modules </li></ul><ul><li>Technology </li></ul><ul><li>Coding </li></ul><ul><li>Conclusion </li></ul>
    3. 3. Introduction <ul><li>IT Project Life Cycle </li></ul><ul><li>Limitation of Geographical Locations </li></ul><ul><li>Information Overload </li></ul><ul><li>Multiple Systems & databases </li></ul><ul><li>Single Tool to track whole life cycle of Project </li></ul>
    4. 4. IT Project Lifecycle Risk Analysis Requirement Analysis Development Testing Maintenance
    5. 5. Application Overview <ul><li>5 Modules – 1 for each Project Stage </li></ul><ul><li>Repository for each Module </li></ul><ul><li>Reports </li></ul><ul><li>Project Based Segregation </li></ul><ul><li>Authentication </li></ul><ul><li>Application Security </li></ul>
    6. 6. Application Overview <ul><li>Admin Functions </li></ul><ul><li> </li></ul><ul><li> Typical Users: Sysadmin </li></ul><ul><li>User Functions </li></ul><ul><li>Typical Users: Project Manager, Business Analyst,Developer, Tester, End-User </li></ul>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
    7. 7. Modules – Risk Analysis <ul><li>Phase I – Collect Barriers </li></ul><ul><li>Phase II – Identify top 20 Risks </li></ul><ul><li>Phase III – Rate and Rank Risks </li></ul><ul><li>Phase IV – Rate and Rank Risks (if required) </li></ul><ul><li>Phase V – Rate and Rank Risks (if required) </li></ul>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
    8. 8. Modules – Requirement Analysis <ul><li>Collect Stakeholder Requests </li></ul><ul><li>Translate to Requirements </li></ul><ul><li>Build Use cases for Requirements </li></ul>Process Flow Enter Business Requests Enter Requirements. Identify Development Req. Map Requirements to Business Requests Enter Use case details Map Use cases to Requirements Upload supporting documents
    9. 9. Modules – Development <ul><li>All development Requirements tracked </li></ul><ul><li>Assign Items to Developers </li></ul><ul><li>Update Development Status </li></ul>Process Flow Show new Development Reqs Select Requirement Assign Developer & Enter Details Upload Supporting Docs Show Items under Development Select Dev. Item Update Percent Complete & Status Upload Supporting Docs
    10. 10. Modules – Testing <ul><li>All developed items are tracked </li></ul><ul><li>Assign Items to Testers </li></ul><ul><li>Update Testing Status </li></ul>Process Flow Show 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
    11. 11. Modules – Maintenance <ul><li>Report and track bugs </li></ul><ul><li>Assign Bugs to Developers </li></ul><ul><li>View Bug history </li></ul>Process Flow Enter New Bugs Show existing Bugs Select Bug Upload Supporting Docs Update Bug Details
    12. 12. Modules – Repository <ul><li>Single point of access to complete project documentation </li></ul><ul><li>Documents secured by module </li></ul><ul><li>Quick access to required documents </li></ul><ul><li>Prevent multiple people working on same file </li></ul><ul><li>Control who can view and edit each file </li></ul><ul><li>Track file history </li></ul>
    13. 13. Modules – Repository <ul><li>Owner -the person uploading the file </li></ul><ul><li>Grant access to other project users to View/Download file </li></ul><ul><li>Delete file </li></ul><ul><li>View Document History </li></ul>Process Flow - Owner Select Project Select Module Upload Doc Grant Access to Users Select Project Select Module View Docs Listing View/Delete Docs
    14. 14. Modules – Repository <ul><li>User – All application users </li></ul><ul><li>View & Check-out available files </li></ul><ul><li>Access restricted by Module </li></ul>Process Flow – Owner / User Select Project Select Module View Available Docs Check-out Docs Select Project Select Module View Checked-Out Docs Check-in Docs
    15. 15. Module - Reports <ul><li>Intuitively designed for ease-of-use </li></ul><ul><li>Access restricted by Module </li></ul><ul><li>Report Listing </li></ul><ul><ul><li>Project Status Report </li></ul></ul><ul><ul><li>Module Status Reports </li></ul></ul><ul><ul><li>Requirements – Stakeholder Requests Mapping Report </li></ul></ul><ul><ul><li>Use Case – Requirement Mapping Report </li></ul></ul>
    16. 16. Technical Specification <ul><li>Application Server : IIS </li></ul><ul><li>Front-End : ASP.NET, Java Script, HTML </li></ul><ul><li>Middle-Tier : C# </li></ul><ul><li>Database : MS SQL SERVER </li></ul>
    17. 17. Technical Specification – Architecture 3-Tier Architecture
    18. 18. Coding <ul><li>Front-End </li></ul><ul><ul><li>ASP.NET </li></ul></ul><ul><ul><li>Web Forms </li></ul></ul><ul><ul><li>Development using Microsoft Visual Studio </li></ul></ul><ul><ul><li>Java Script used for Lookups </li></ul></ul><ul><li>Middle-Tier </li></ul><ul><ul><li>C# </li></ul></ul><ul><ul><li>1 Code Behind file for each .aspx file </li></ul></ul><ul><ul><li>ADO.NET used for database connectivity </li></ul></ul>
    19. 19. Coding <ul><li>Database </li></ul><ul><ul><li>MS SQL SERVER </li></ul></ul><ul><ul><li>Stored Procedures, Triggers & Views used to reduce load on Application Server </li></ul></ul><ul><ul><li>Statistics </li></ul></ul><ul><ul><ul><li>50 Tables </li></ul></ul></ul><ul><ul><ul><li>2 Views </li></ul></ul></ul><ul><ul><ul><li>14 Stored Procedures </li></ul></ul></ul><ul><ul><ul><li>6 Triggers </li></ul></ul></ul>
    20. 20. Database Design <ul><li>Database </li></ul>
    21. 21. Database Design <ul><li>Database </li></ul>
    22. 22. Database Design <ul><li>Database </li></ul>
    23. 23. Views <ul><li>Named Query </li></ul><ul><li>Uses </li></ul><ul><ul><li>Easier retrieval of required data </li></ul></ul><ul><ul><li>Standardization </li></ul></ul><ul><ul><li>Reduce I/O operations from Middle-tier </li></ul></ul><ul><li>document_acl_v </li></ul><ul><ul><li>Returns the Access Control List and Status of the documents </li></ul></ul><ul><li>project_status </li></ul><ul><ul><li>Returns the current status of all modules in the project </li></ul></ul>
    24. 24. Triggers <ul><li>An action(s) performed automatically when a data manipulation operation is performed on the database </li></ul><ul><li>Uses </li></ul><ul><ul><li>Enforce business rules </li></ul></ul><ul><ul><li>Reduce I/O operations from Application Server </li></ul></ul><ul><ul><li>Faster application development, code is common to all database applications </li></ul></ul><ul><ul><li>Auditing/tracking purposes </li></ul></ul>
    25. 25. Triggers <ul><li>bugs_history_trg </li></ul><ul><ul><li>When the status of a bug is changed the bug history is automatically updated </li></ul></ul><ul><li>phase1_to_phase2_trg </li></ul><ul><ul><li>When the Delphi Admin consolidates the risks in Phase I, they are automatically moved to Phase II </li></ul></ul><ul><li>project_delphi_status </li></ul><ul><ul><li>When a new project is created, the initial status for Delphi module is updated </li></ul></ul><ul><li>new_file_update </li></ul><ul><ul><li>When a new document is uploaded the entry is recorded in the file transaction history table </li></ul></ul><ul><li>delete_document_history </li></ul><ul><ul><li>When a document is deleted, the corresponding Access Control List and Document history are deleted </li></ul></ul><ul><li>update_file_status </li></ul><ul><ul><li>When a document is uploaded/downloaded the file status is updated </li></ul></ul>
    26. 26. Stored Procedures <ul><li>A program written in PL/SQL which is stored in the database </li></ul><ul><li>Uses </li></ul><ul><ul><li>Encapsulate business logic common to all database applications </li></ul></ul><ul><ul><li>Reduce load on Application Server </li></ul></ul><ul><ul><li>Perform complicated operations/queries specific to the database </li></ul></ul><ul><ul><li>Enforce data validation </li></ul></ul>
    27. 27. Stored Procedures <ul><li>insert_req_stkh_mapping </li></ul><ul><ul><li>Inserts Requirement & Stakeholder Mapping Details </li></ul></ul><ul><li>update_req_stkh_mapping </li></ul><ul><ul><li>Updates Requirement & Stakeholder Mapping Details </li></ul></ul><ul><li>insert_uc_req_mapping </li></ul><ul><ul><li>Inserts Use Case & Requirement Mapping Details </li></ul></ul><ul><li>update_uc_req_mapping </li></ul><ul><ul><li>Updates Use Case & Requirement Mapping Details </li></ul></ul><ul><li>insert_bug </li></ul><ul><ul><li>Inserts new Bugs </li></ul></ul><ul><li>update_delphi_status </li></ul><ul><ul><li>Update Delphi Phase Activation Status </li></ul></ul>
    28. 28. Stored Procedures <ul><li>user_access_details </li></ul><ul><ul><li>Returns modules that user has access to </li></ul></ul><ul><li>set_user_access </li></ul><ul><ul><li>Sets User access to modules </li></ul></ul><ul><li>get_phase3_barriers </li></ul><ul><ul><li>Creates barriers for Phase 3 based on Phase 2 user response </li></ul></ul><ul><li>get_phase4_barriers </li></ul><ul><ul><li>Creates barriers for Phase 4 based on Phase 3 user response </li></ul></ul><ul><li>get_phase5_barriers </li></ul><ul><ul><li>Creates barriers for Phase 5 based on Phase 4 user response </li></ul></ul><ul><li>get_results </li></ul><ul><ul><li>Returns Results based on Ranking of Barriers </li></ul></ul>
    29. 29. Web.config <ul><li>Divided into 2 sections - appSettings, system.web </li></ul><ul><li>appSettings </li></ul><ul><ul><li>Holds application specific data items </li></ul></ul><ul><ul><li>Allow behavior to be modified without changing source code </li></ul></ul><ul><li>System.web </li></ul><ul><ul><li>Holds configuration settings of ASP.NET </li></ul></ul><ul><ul><li>Configure ASP.NET Security </li></ul></ul><ul><ul><li>Enable/Disable Trace </li></ul></ul>
    30. 30. Web.config <ul><li>Set the database connection string </li></ul><ul><ul><li><appSettings> </li></ul></ul><ul><ul><li><add key=&quot;connectionString&quot; value=&quot;server=localhost;database=project;uid=sa;pwd=abc123&quot; /> </li></ul></ul><ul><ul><li></appSettings> </li></ul></ul><ul><li>Access connection string in webforms </li></ul><ul><ul><li>using System.Configuration ; </li></ul></ul><ul><ul><li>con = new SqlConnection( ConfigurationSettings.AppSettings[&quot;connectionString&quot;] ); </li></ul></ul><ul><li>Similarly, set menu info, so each page can easily show/hide menus </li></ul>
    31. 31. ASP.NET Security <ul><li>Authentication </li></ul><ul><ul><li>Enables recipient of request to ascertain caller’s identity </li></ul></ul><ul><ul><li>3 types of authentication supported </li></ul></ul><ul><ul><ul><li>Windows Authentication </li></ul></ul></ul><ul><ul><ul><ul><li>IIS to authenticate the user based on their windows login </li></ul></ul></ul></ul><ul><ul><ul><li>Passport Authentication </li></ul></ul></ul><ul><ul><ul><ul><li>Microsoft Passport web service is used </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Requires Passport SDK </li></ul></ul></ul></ul><ul><ul><ul><li>Forms Authentication </li></ul></ul></ul><ul><ul><ul><ul><li>Relies on login forms in web pages to authenticate users </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Provide a custom form for users to enter their credentials </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Authenticate users in application </li></ul></ul></ul></ul><ul><ul><ul><ul><li>User credential token is stored in a cookie </li></ul></ul></ul></ul>
    32. 32. ASP.NET Security <ul><li>Forms Authentication </li></ul><ul><ul><li>Set authentication mode in Web.config </li></ul></ul><ul><ul><li><configuration><system.web><authentication mode=&quot;Forms&quot;> </li></ul></ul><ul><ul><li><forms loginUrl=&quot;home.aspx“ /> </li></ul></ul><ul><ul><li></authentication> </system.web></configuration> </li></ul></ul><ul><ul><li>Authenticate user in home.aspx by matching user password from database </li></ul></ul><ul><ul><li>Create protectedFiles folder under root </li></ul></ul><ul><ul><li>Save secure files in this folder </li></ul></ul><ul><ul><li>Create web.config in this folder </li></ul></ul><ul><ul><li><configuration> <system.web> <authorization> </li></ul></ul><ul><ul><li> <deny users=&quot;?&quot; /> </li></ul></ul><ul><ul><li></authorization> </system.web></configuration> </li></ul></ul><ul><ul><li>Unauthorized users re-directed to home.aspx </li></ul></ul>
    33. 33. Application Security <ul><li>Project Access </li></ul><ul><ul><li>Sysadmin sets user access to projects </li></ul></ul><ul><ul><li>When user logs in project access is checked </li></ul></ul><ul><ul><li>Show projects that user has access </li></ul></ul><ul><li>Module Access </li></ul><ul><ul><li>Sysadmin sets user access to modules </li></ul></ul><ul><ul><li>Dynamic Menus generated </li></ul></ul><ul><ul><ul><li>Every web form checks if user has access </li></ul></ul></ul><ul><ul><ul><li>Use menu config settings from web.config </li></ul></ul></ul><ul><ul><ul><li>Show/hide menu items based on access </li></ul></ul></ul><ul><li>Session Time-Out </li></ul><ul><ul><li>When the user session times out, he is re-directed to login page </li></ul></ul>
    34. 34. Sessions <ul><li>Session Maintenance </li></ul><ul><ul><li>Use Session Object of ASP.NET </li></ul></ul><ul><ul><li>Maintain login information </li></ul></ul><ul><ul><li>Maintain project information </li></ul></ul><ul><ul><li>Maintain access control information </li></ul></ul><ul><ul><li>For ex: when a user logs in, he selects a project. Session Variables used to segregate information across the Application based on his selection. </li></ul></ul>
    35. 35. DataGrid <ul><li>Very powerful .NET tool </li></ul><ul><li>Easily configurable with ADO.NET </li></ul><ul><li>Intuitive user interface </li></ul><ul><li>Flexibility in controlling row and field properties </li></ul><ul><li>View, insert, edit and delete data with minimal coding </li></ul><ul><li>Sort data </li></ul>
    36. 36. Why .NET? <ul><li>Powerful IDE </li></ul><ul><li>Easily configure application settings </li></ul><ul><li>ASP.NET Security </li></ul><ul><li>Session Maintenance </li></ul><ul><li>DataGrid & ADO.NET </li></ul>
    37. 37. Conclusion <ul><li>Great Tracking Tool </li></ul><ul><li>Web-based – easy access </li></ul><ul><li>No Geographical Limitations </li></ul><ul><li>Avoid using multiple systems & databases </li></ul><ul><li>Learning experience technically and functionally </li></ul>
    38. 38. Questions??? <ul><li>THANK YOU </li></ul>