tpcp6 - TPCP Team Project Collaboration Portal Team :...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: TPCP Team Project Collaboration Portal Team : Michael Alonso Jesse M Bazelais Alfredo Iglesias Guillermo Mejia Beatriz Pina TPCP Outline Requirement Analysis System Design Object Design TPCP Requirement Analysis Purpose of the System Objectives Non-functional Requirements Current System Roles and Use Cases Proposed System 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 Objective Success Criteria User friendly Project has intuitive approach to navigation and an uncluttered design. Effective Task Management Tasks can be managed from any computer with internet access. File Access Project will allow users to upload and share files with other users. Communication Tools Project provides a chat system, a way to send messages, and a forum. 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 Term Project Collaboration Portal (TPCP ) TPCP Roles Professor Authentication Project Manager Forum Group Member Messaging TPCP Use Cases TPCP User Authentication Chat Class Management Group Files Forum Group Member Messaging Tasks Group Chat Group Files Professor Project Manager Meeting Scheduler Tasks Meeting Scheduler Class Management TPCP TPCP Class Management Use Case Class Management TPCP Class Management Use Case Consists of: Add Class Add Class Add Group Add Group Delete Class Add Students Delete Group Delete Class Delete Group Delete Student Set Class Milestones Edit Student Details Archive Class Professor Delete Student Set Class Milestones Add Students 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 Messaging TPCP Messaging Use Case Consists of: Read ALL Messages Read All Messages Check Messages Send Message Check Messages Professor Group Member Send Message TPCP TPCP Group Files Use Case Files TPCP Group Files Use Case Consists of: Add File Category Add File Category Lock Category Lock Category Project Manager Add File Delete File Add File Professor Delete File Update File Ask for File Deletion Update File Comment on File Ask for File Deletion Comment on File Group Member TPCP TPCP Tasks Use Case Tasks Add Group Level Tasks TPCP Tasks Use Case Consists of: Set Task Priority Add Group Level Tasks Change Task Priority Set Task Priority Change Task Priority Add User Tasks Add User Tasks Change Group Task Status Change Group Task Status Project Manager Change Group Task Deadline Change Task Assigned Status Add Comments To Task Change Group Task Deadline Add Comments to Milestones Change Task Assigned Status Add Comments to Milestone Add Comments to Task Group Member TPCP TPCP Meeting Scheduler Use Case Meeting Scheduler TPCP Meeting Scheduler Use Case Consists of: Schedule Meeting Schedule Meeting Change Itinerary Change Itinerary Confirm Excuse Out Project Manager Confirm Excuse Out Group Member TPCP Class Diagram «control» TaskManager «entity» Task -name -assignTo -dueDate -isCompleted «boundary» FileManagementForms «boundary» TaskManagementForms +addDirectory() +addFile() +deleteFile() +browseFiles() +editFile() +commentFile() +reqDelete() +submit() «boundary» Authentication +login() +logout() +changePassword () +addGroupTask () +addStudentTask () +delteTask() +editTask() +updateStatus() +submit() «boundary» ClassManagementForms +addClass() +addStudent () +addGroup() +deleteClass() +deleteStudent() +deleteGroup() +editStudent () +submit() «entity» Professor «entity» PMPUser -userName -password -email «boundary» ChatInterfaceForm «control» ClassManager «entity» Class -className +sendMessage () +readMessages () +submit() «control» MessagingManager «entity» File -name -size +join() «entity» GroupMember -groupNumber «boundary» MessagingForms «control» FileManager «boundary» ForumForms +addThread() +addPost() +deleteThread() +editSelfPost () +submit() «control» ForumManager «entity» Message -title -body -to -from «entity» Post -title -body -date «entity» ProjectManager «boundary» MeetingSchedulerForms +scheduleMeeting() +confirmMeeting() +excuseOut () +changeIteniary() +submit() «control» MeetingManager «entity» Meeting -time -location -date -attendants TPCP TPCP Add Student Sequence Diagram Add Student AddStudentForm Professor fillContents() Submit() fieldContents() ClassManager <<create>> updateConfirm() confirmUpdate() Student TPCP TPCP Check Message Sequence Diagram Check Messages PMPUser selectMessage() CheckMessagesForm fieldContents() MessagingManager submit() <<create>> Message messageContents() messageContents() 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 Interface TPCP Interface Browser TPCP Application HTML Server Layering Overview: Application Interface Layer Application Logic Layer Persistent Object Storage Layer Storage TPCP Storage Database TPCP TPCP Subsystems The following 8 Subsystems have been Identified: TPCP Site Tasks Authentication TPCP Site Authentication Communications Class Management Tasks Group Files Meeting Scheduler TPCP Data Storage Group Files Forum Communications Messaging Class Management Chat Meeting Scheduler TPCP Data Storage TPCP Proposed Subsystem Decomposition TPCP Site Interface Layer Layering Details: Forum Communications Messaging Interface Layer Application Logic Layer Persistent Object Storage Layer Authentication Group Files Chat Meeting Scheduler Tasks Application Logic Layer TPCP Data Storage Persistent Data Storage Layer Class Management 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 Site 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: Forum Communications Messaging Messaging – Controls the internal user messaging system. Forum – Controls the internal forum system. Chat – Controls real time chat between the system’s users. Chat 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. Class Management 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 upto-date on what they need to be working on. It is also found in the logic layer. Tasks 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 objectoriented representations of the data it stores. T PCP Data Storage 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 :PC Web Broswer :Web Server TPCP Site Communications Meeting Scheduler Group Files Authentication Class Managment Tasks Database TPCP Data Storage TPCP Object Design Design Tradeoffs Package Details Interfaces DB Model 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 Site Interface Layer Forum Communications Messaging Authentication Group Files Chat Meeting Scheduler Tasks Application Logic Layer TPCP Data Storage Persistent Data Storage Layer Class Management TPCP TPCP Site Package Forum Communications Messaging Authentication TPCP Site Package The TPCP Site package will consist of all the HTML forms that allow users to interact with the TPCP Application. Chat Class Management T PCP Site Dependencies Tasks Meeting Scheduler The TPCP Site package is dependent on the Application Logic Layer for all functionalities. Group Files 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. Forum Communications Messaging Authentication Group Files Chat Meeting Scheduler Tasks TPCP Data Storage Class Management TPCP TPCP Persistent Data Storage Package Authentication Meeting Scheduler TPCP Persistent Data Storage Package Group Files TPCP Data Storage Stores TPCP persistent objects. Dependencies None Tasks Communication Class Management TPCP TPCP Database Model Store the following persistent objects: Users Categories Meetings Students Threads Tasks Classes Files Meeting_attendance Groups Groups Messages Posts users PK,I1 I2 classID COUNTER semester code section description VARCHAR(50 ) VARCHAR(50 ) INTEGER VARCHAR(50 ) VARCHAR( 50 ) username password name lastlogin userType lastPasswordChange classes PK, I1 userID VARCHAR( 50 ) VARCHAR( 50 ) VARCHAR( 50 ) DATETIME BIT DATETIME messages students PK,I 1 milestone groups PK ,I2 milestoneID COUNTER PK, I2 groupID COUNTER FK 1,I 1 classID dueDate subject details INTEGER DATETIME VARCHAR( 50) LONGCHAR FK1 ,I1 classID name description messageID COUNTER FK1 FK2 ,I2 senderID userID message VARCHAR(50 ) VARCHAR(50 ) LONGCHAR PK ,FK 1, I3 categories threads PK ,I 1 categoryID COUNTER FK 1, I2 groupID name description locked INTEGER VARCHAR( 50 ) VARCHAR( 255 ) BIT PK,I2 FK2 FK3 FK1,I1 threadID COUNTER subject userAdded dateEntered dateLastPost userLastPost groupID isOfForum VARCHAR( 255 ) VARCHAR( 50) DATETIME DATETIME VARCHAR( 50) INTEGER BIT files PK ,I2 fileID COUNTER FK 1 ,I1 FK 2 ,I3 categoryID threadID filename physicalname Description VARCHAR(50 ) INTEGER VARCHAR(100 ) VARCHAR(100 ) VARCHAR(255 ) PK ,I1 taskID COUNTER assignedTo taskType details progress posts VARCHAR(50 ) BIT LONGCHAR VARCHAR(50 ) meetings PK meetingID COUNTER FK1,I1 groupID meetingDate itenerary INTEGER DATETIME LONGCHAR meeting _attendance FK1,I1 I2 meetingID userID attending excuse INTEGER VARCHAR( 50 ) INTEGER LONGCHAR PK ,I1 postID COUNTER FK 1,I 2 I3 tasks threadID userID dateMade post VARCHAR( 50 ) VARCHAR( 50 ) DATETIME LONGCHAR VARCHAR(50 ) I1 I2 INTEGER VARCHAR(50 ) VARCHAR(50 ) userID classID groupID experience INTEGER INTEGER LONGCHAR 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. Authentication Meeting Scheduler Tasks TPCP Site TasksForm DefaultForm +logIn() +changePassword () GroupCenterForm +showThread() +showMeetings() +showTasks() +showInbox() ClassCenterForm +showClasses() +addClass() +deleteClass() +achriveClass() +showAddClassForm() FilesForm ChatForm +joinChat() ComposeMessageForm +showMessageForm() +sendMessage () +showMembers() +editStudent() +deleteStudentFromGroup() +logOnAsGroupMember() MeetingsForm ForumForm +showMeetings() +addMeeting() +showMessages() +readMessage() +sendMessage () +deleteMessage() +showThreads() +addThread() +deleteThread() AddTasksForm +showTaskForm() +addTask() MeetingDetailsForm +showMessage() +deleteMessage() CategoryForm +showMeetingDetails() +editMeeting() +deleteMeeting() ViewMessageForm GroupForm +showCategories() +addCategory() +addFileToCategory() MessagingForm ClassForm +showGroups() +addGroup() +deleteGroup() +addStudent() +deleteStudent() +editStudent() +addClassMilestone() +showTasks() +addTasks() +deleteTask() +changeTaskStatus() +showCategoryForm() +addCategory() +showFiles() +deleteFile() ViewThreadForm AddThreadForm +showPosts() +addReply() EditPostForm +showPostForm() +saveChanges() FileDetailsForm +showThreadForm() +addThread() +showFileDetails() +deleteFile() AddPostForm +showPostForm() +post() Class Management Communication Group Files 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 TPCP Site 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. Class Managment Class ClassManager -classCount : int +addClass(in newClass : Class) : int +deleteClass(in classID : int) +archiveClass(in classID : int) : void +getClass(in classID : int) : Class +getClasses() : Class -classID : int -Students : Student -Groups : Group -Milestones : Milestone +addStudent(in student : Student) : int +creatGroup(in group : Group) : int +deleteStudent(in studentID : int) : void +deleteGroup(in groupID : int) : void +editGroup(in groupID : int, in group : Group) : Group +editMilestone(in milestoneID : int, in milestone : Milestone) : Milestone +editStudent(in studentID : int, in student : Student) : Student TPCP Data Storage 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 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. TaskManager TPCP Site +getTasks(in groupID : int) : Task +getIndividualTasks(in userID : string) : Task +getTask(in taskID : int) : Task +updateTaskStatus(in completed : bool, in taskID : int) +deleteTask(in taskID : int) : bool TPCP Data Storage 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 Data Storage Post - postID : int - creator : User - created : Date - post : string Thread -threadID : int -subject : string -creator : User -created : Date -updator : User -updated : Date -isOfForum : bool +addPost(in newPost : Post) : int +delete() : bool +deletePost( in postID : int) : bool +getPost() : Post +editPost (in newPost : Post ) : bool DBConnction -conntiongString : string -dataReader +connect() +disconnect () +getThread(in threadID : int) : T hread +storeThread() +getGroup(in groupID : int) : Group +setGroup() +getCategory( in categoryID : int ) : Category +setCategory() +getMilestone(in milestoneID : int ) : Milestone +setMilestone () +getMessage( in messageID : int) : Message +setMessage() +getMeeting(in meetingID : int) : Meeting +setMeeting() +getTask(in taskID : int) : T ask +setTask() User Group - groupID : int - student : Student - name : string - description : string +addStudent(in studentID : int) : int +removeStudent(in studentID : int) : bool Student -groupID : int -studentID : int -experience : string -userID : int -password : string -lastLogin : Date -name : string -userType : bool -lastPasswordChange : Date Category File -categoryID : int -description : string -locked : bool -name : string +addFile(in fileID : int) : int +deleteFile(in fileID : int ) : bool +getFile( in fileID : int) : F ile +getFiles() : F ile -fileID : int -fileSize : int -descrption : string -comments : Post -name : string -uploader : User +addComment(in comment : Post ) : int +delete() : bool +update(in file : object, in description : string) : void +changeCategory(in categoryID : int ) : bool Meeting -meetingID : int -groupID : int -meetingDate : Date -itenerary : string MeetingAttendance - meetingID : int - userID : string - attending : int - excuse : string Task Milestone -mileStoneID : int -classID : int -dueDate : Date -subject : string -details : string Message -messageID : int -senderID : string -userID : string -message : string - details : string - taskID : int - assignedTo : string - taskType : byte - progress : string TPCP TPCP Application Demo Demo TPCP End of Presentation Thank You ...
View Full Document

This note was uploaded on 08/29/2011 for the course CEN 4010 taught by Professor Staff during the Spring '08 term at FIU.

Page1 / 51

tpcp6 - TPCP Team Project Collaboration Portal Team :...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online