510 likes | 517 Views
A centralized web-based project management solution providing remote access, file repository, and communication tools for academic groups.
E N D
TPCP Team Project Collaboration Portal Team : Michael Alonso Jesse M Bazelais Alfredo Iglesias Guillermo Mejia Beatriz Pina
Requirement Analysis System Design Object Design TPCP Outline
Purpose of the System Current System Proposed System Objectives Roles and Use Cases Non-functional Requirements TPCP Requirement Analysis
TPCP Purpose of the System • To provide a centralized web based project Management Solution. • Provide group members and managers remote access. • Provide group members and managers access to files and project content without the need of a licensed application. • Provide asynchronous and synchronous communication tools. • Targeted for Academic groups where enterprise level software is too complex or expensive.
TPCP Objectives
TPCP Current System- MS Project • Single user licensed and expensive. • Each user must have a copy of the software installed. • Lacks remote accessibility and file repository functions. • Intended exclusively for Project Managers. Current System- Web Based • Hosted by third party vendors, may contain contractual obligations. • Extremely expensive. • Provide unnecessary features not needed in an academic environment. • Complex, require multiple nodes.
TPCP Proposed System- TPCP Provide students and instructors the ability to centralize group based projects by providing management, task, file and communications functions. • The TPCP will: • Provide secure logon. • Task management features for Project Managers. • Class management features for instructors. • Centralized file repository system. • Centralize groups by providing synchronous and asynchronous communications tools. • Provide access from any computer.
TPCP TPCP Non-Functional Requirements • The following non-functional requirements have been identified : • Usability:TPCP should adhere to standards for cross browser functionality and support typical form functions. Navigation will be in the form of menu bars, links and buttons. • Reliability:TPCP should be reliable requiring minimal maintenance. • Performance:Performance will vary on user’s Internet connection. TPCP will not be graphic intense. • Implementation:TPCP will be web based. • Interface:Interface will be via Internet browser with few graphics and intuitive navigation scheme.
TPCP TPCP Roles and Use Case Overview • TPCP Roles • Professor • Project Manager • Group Member • TPCP Use Cases • Authentication • Class Management • Forum • Messaging • Group Chat • Group Files • Tasks • Meeting Scheduler
TPCP TPCP Class Management Use Case • TPCP Class Management Use Case Consists of: • Add Class • Add Group • Add Students • Delete Class • Delete Group • Delete Student • Set Class Milestones • Edit Student Details • Archive Class
TPCP TPCP Forum Use Case • TPCP Forum Use Case Consists of: • Add Thread • Delete Thread • Add Post • Edit Self Post
TPCP TPCP Messaging Use Case • TPCP Messaging Use Case Consists of: • Read All Messages • Check Messages • Send Message
TPCP TPCP Group Files Use Case • TPCP Group Files Use Case Consists of: • Add File Category • Lock Category • Add File • Delete File • Update File • Ask for File Deletion • Comment on File
TPCP TPCP Tasks Use Case • TPCP Tasks Use Case Consists of: • Add Group Level Tasks • Set Task Priority • Change Task Priority • Add User Tasks • Change Group Task Status • Change Group Task Deadline • Change Task Assigned Status • Add Comments To Task • Add Comments to Milestone
TPCP TPCP Meeting Scheduler Use Case • TPCP Meeting Scheduler Use Case Consists of: • Schedule Meeting • Change Itinerary • Confirm • Excuse Out
Class Diagram TPCP
TPCP TPCP Add Student Sequence Diagram
TPCP TPCP Check Message Sequence Diagram
TPCP System Design Design Goals Subsystem Decomposition Hardware Mapping
TPCP TPCP Design Goal Descriptions • Usability:In order to be user friendly, navigation must be intuitive so that there is no steep learning curve. • Maintenance:System Maintenance will be restricted to web host and database services. Host maintenance should be minimal. Once system has been deployed, changes should not be necessary unless unforeseen bugs arise. • Performance:TPCP system should not be graphic intensive. This will allow users without broadband connections to access the application in a timely manner. • Cross Browser Functionality: The system should run and have all functionality available on all popular Internet browsers.
TPCP Proposed Subsystem Decomposition • Layering Overview: • Interface Layer • Application Logic Layer • Persistent Object Storage Layer
TPCP TPCP Subsystems • The following 8 Subsystems have been Identified: • TPCP Site • Authentication • Communications • Class Management • Tasks • Group Files • Meeting Scheduler • TPCP Data Storage
TPCP Proposed Subsystem Decomposition • Layering Details: • Interface Layer • Application Logic Layer • Persistent Object Storage Layer
TPCP TPCP Site Subsystem TPCP Site – This subsystem makes up the interface layer of the TPCP system’s architecture. It houses all of the HTML pages that the user will interact with. This subsystem is responsible for displaying the interface in a clean and intuitive manner to the TPCP user.
TPCP TPCP Communications Subsystem • Communications – The communications subsystem falls into the logic layer. It will contain 3 subsystems responsible for handling requests from the interface layer that deal with a communication functions • Communications Subsystems: • Messaging – Controls the internal user messaging system. • Forum – Controls the internal forum system. • Chat – Controls real time chat between the system’s users.
TPCP TPCP Class Management Subsystem Class Management – The class management subsystem will be available only to the professor and is also found in the logic layer. It will contain all the functionality to support the adding/deleting of classes, groups, and students as specified in the Class Management Use Cases.
TPCP TPCP Tasks Subsystem Tasks – The tasks subsystem will contain the functions that facilitate the task management of individual groups. Users use this subsystem to keep all members of the group up-to-date on what they need to be working on. It is also found in the logic layer.
TPCP TPCP Data Storage Subsystem TPCP Data Storage – This subsystem falls into the persistent data storage layer of the TPCP system architecture. It is responsible for handling all connections to the database and housing the object-oriented representations of the data it stores.
TPCP TPCP Hardware/Software Mapping • TPCP subsystems mapped to a web server. • TPCP server-side system will be able to run on any device capable of supporting the .Net framework. • Windows NT/XP based systems running IIS with the ASP.net runtime libraries installed. • Windows 9x or Unix-based system with the Apache web server and Mono libraries installed. • Microsoft Access Database to be installed on the web server.
TPCP TPCP Deployment Diagram
TPCP Object Design Design Tradeoffs Package Details DB Model Interfaces
TPCP TPCP Design Tradeoffs • Performance • Redundancy/Fault Tolerance • Functionality • Robustness
TPCP TPCP Design Tradeoff Descriptions • Performance:The TPCP will be a web based application to allow ease of accessibility, high performance will not be a priority in implementation. • Redundancy/Fault Tolerance:In order to maintain reliability and ease of maintenance, system implementation will be limited to 1 node. Redundancy and fault tolerance will be sacrificed. • Functionality:In order to maintain end user functionality by being cross browser compatible, graphical functionality exclusive to Internet Explorer will be limited. • Robustness: Due to development time constraints, a less robust Database (MS Access) has been selected versus a full featured DBMS such as SQL Server.
TPCP TPCP Package Details TPCP relies on the following packages: • Interface Layer: • TPCP Site Package • Application Logic Lager: • Authentication Package • Communication Package • Class Management Package • Tasks Package • Meeting Scheduler Package • Group files Package • Persistent Data Storage Layer • TPCP Data Storage Package
TPCP TPCP Site Package TPCP Site Package • The TPCP Site package will consist of all the HTML forms that allow users to interact with the TPCP Application. Dependencies • The TPCP Site package is dependent on the Application Logic Layer for all functionalities.
TPCP TPCP Application Logic Packages TPCP Application Logic • Provides the logic that enables functionality to the application. Contains 6 packages: • Authentication • Class Management • Tasks • Communications • Meeting Scheduler • Group Files Dependencies ØThe packages all have a dependency to the TPCP Data Storage package.
TPCP TPCP Persistent Data Storage Package TPCP Persistent Data Storage Package • Stores TPCP persistent objects. Dependencies • None
Users • Students • Classes • Groups • Messages • Categories • Threads • Files • Groups • Posts • Meetings • Tasks • Meeting_attendance TPCP TPCP Database Model • Store the following persistent objects:
TPCP TPCP Interface Details • TPCP Site Package Interface. • TPCP Application Logic Layer Package Interfaces. • Authentication • Class Management • Tasks • Communications • Meeting Scheduler • Group Files • TPCP Persistent Data Storage Layer Package Interface.
TPCP TPCP Site Interface Details • The TPCP Site package consists of all the HTML forms that allow users to interact with the TPCP Application. • Layer passes the user input data to the Application Logic Layer. • Dependent upon the application logic layer. • No classes, contains 20 HTML pages with some supporting scripts. • Following slide depicts the TPCP Site Interface as a class diagram.
TPCP TPCP Site Interface Details-Essential Pages Pages with essential functionalities : • GroupForm – Page lists a group’s details as well as gives the option of modifying those details. • ClassesCenterForm – Page contains a listing of the classes currently active as well as the option to display the archived classes in a hidden pane. CategoryForm • ClassForm –Page where the professor will be able to add students and groups via hidden panes and AJAX. • TasksForm – Page will show tasks group and user level milestones. It will allow the Project Manager to add tasks, manage task progress. Will allow Group Members to update their own task progress.
TPCP TPCP Application Logic Layer Package Interfaces • TPCP Application Logic Layer interacts with TPCP Site Interface layer. • Interacts with TPCP Data Storage package to store and retrieve all persistent objects. • Contains all Application logic. • Processes all data for TPCP Application. • Essential Interfaces: • Class Management • Authentication • Tasks
TPCP TPCP Application Logic Layer: Class Management Package Interface Class Management Package Interface The ClassManager class exposes functions that enable the interface layer to retrieve the classes in the system as well as perform major operations on the classes themselves but not the details of the classes.
TPCP TPCP Application Logic Layer: Authentication Package Interface Authentication Package Interface The Authentication class exposes functions that enable the TPCP actors to log on to the system by identifying themselves and directing them to the appropriate pages after logging in.
TPCP TPCP Application Logic Layer: Tasks Package Interface Tasks Package Interface The TaskManager class exposes functions that enable the Project Manager to assign tasks to individual group members or assign group wide tasks and allow group members to post the status of the task.
TPCP TPCP Persistent Data Storage Layer Package Interface • Interacts with TPCP Application Logic layer. • Final layer in the system’s architecture, it has no dependencies to any other layer. • Contains all the logic need to connect to the database and contains the object oriented representation of the persistent objects described in the RAD.
TPCP TPCP Application Demo Demo