Running head: Lab 2 - TPOT Prototype Product Specification Lab 2 - TPOT Prototype Product Specification Team Black Josh Ward CS 411W Janet Brunelle, Hill Price March 19, 2014 Version 1 1 Lab 2 - TPOT Prototype Product Specification 2 Table of Contents 1. INTRODUCTION .......................................................................................................................3 1.1. Purpose..........................................................................................................................3 1.2. Scope ............................................................................................................................4 1.3. Definitions, Acronyms, and Abbreviations ..................................................................6 1.4. References ..................................................................................................................10 1.5. Overview .....................................................................................................................10 2. GENERAL DESCRIPTION ......................................................................................................11 2.1. Prototype Architecture Description ............................................................................11 2.2. Prototype Functional Description ..............................................................................12 2.3. External Interfaces .....................................................................................................16 2.3.1. Software Interfaces .....................................................................................16 2.3.2. User Interfaces ............................................................................................17 List of Figures Figure 1. TPOT Prototype Major Components ............................................................................11 Figure 2. Current Process Flow: Deliverable Assessment ...........................................................13 Figure 3. Current Process Flow: Status Determination ................................................................14 Figure 4. Improved Process Flow: Deliverable Assessment and Feedback .................................15 Figure 5. Improved Process Flow: Status Determination .............................................................16 List of Tables Table 1. Feature Comparison Between Real World Product and Prototype ..................................5 Lab 2 - TPOT Prototype Product Specification 3 1. INTRODUCTION Managing courses with multiple, simultaneous, asynchronous projects is becoming a more common task for university instructors. According to a report by Allen & Seaman, 2013, “more than 6.7 million, or roughly a third, of all students enrolled in postsecondary education took an online course for credit.” In another report by Soloman, 2010, it is estimated that 72% of employees' work is at least partially virtual. As the number of courses, projects per course, and students per project increase, demands on the instructor's time increase dramatically. Existing project management software has elements that are capable of reducing these burdens, but their solutions are insufficient (P. Pazos, personal communication, October, 2013). 1.1. Purpose The proposed solution is web-based software using Google Sites and PHP-enhanced web pages to access team projects and oversee their management. Its primary method of accomplishing this task is a centralized Dashboard from which the deliverables of each team may be evaluated. Its goals are automation, accountability, ease of use, cohesion of functionality, and disambiguation of tasks. When TPOT's goals are realized, the instructor is expected to see an appreciable decrease in time and effort. TPOT will accomplish its goals by providing a main page, arranged as a tabbed document interface, that governs all aspects of team project management as requested by the customer. These tabs will provide an overall summary of all desired team information, as well as functionality to appraise the information and give feedback to students. The desired categories are task assignment, file organization, monitoring of activity, messaging, grade management, and administrative functions; appropriate tabs will be developed for each category. This distribution will allow the project manager and project members to more clearly understand the definition of Lab 2 - TPOT Prototype Product Specification 4 the project and all related tasks with reduced ambiguity, and will provide a means of instant and precise communication of roles, responsibilities, deliverables, and job status. Presently, TPOT is intended for the use of Dr. Pilar Pazos-Lago, an Engineering Management & Systems Engineering Assistant Professor at Old Dominion University. She earned her B.S. in 1994 at the University of Vigo, her M.S. in 2001 at Texas Tech University, and her Ph.D. in 2005, also at Texas Tech University. Professor Pazos' interests include organizational learning, collaborative learning, virtual teams, and team dynamics. TPOT is motivated by the difficulties faced by professors responsible for multiple virtual projects. Instructors do not have a single, easily-accessible location for communication, file storage, and accountability evaluation, and must examine every email and file individually. 1.2. Scope The motivation behind TPOT is to aggregate the potentially overwhelming amount of data generated by virtual teams in a solitary and convenient site, in order to accomplish the goals stated in Section 1.1. TPOT will scrape data from its database and present a filtered display, allowing the instructor or teacher's assistant to evaluate deliverables, teams, and students. The representation will be given in an intuitive and easy-to-use, tabbed GUI. By using this GUI, users will be able to more efficiently direct the teams by assigning tasks and sending messages, collecting and grading deliverables, and supplementing teams' understanding with critiques. Table 1 indicates how the real world product compares to the prototype. (This space intentionally left blank.) Lab 2 - TPOT Prototype Product Specification 5 Table 1. Feature Comparison Between Real World Product and Prototype The first goal described in Section 1.1 is automation. This will be accomplished by connecting all of the major components in a single closed system that updates all submissions and modifications in a consolidated database. Whenever a team site or Dashboard change is made, the change is reflected in a single location that can be accessed by anyone with the proper permissions. The second goal in Section 1.1 is accountability. When a student engages in any significant activity, it is recorded and may be accessed from the instructor's Activity tab. Due to the large amount of information collected, filters will be especially important here. With a simple Lab 2 - TPOT Prototype Product Specification 6 manipulation of the Activity tab's filters, the instructor will be able to identify who is accomplishing what, and how frequently. The third goal in Section 1.1 is ease of use. The tabbed GUI will present a concise and intuitive display of aggregated data that may be formatted to be as broad or narrow as desired. By using sorting and filtering scripts, an instructor can view the most relevant data, rather than an overwhelming amount of data that may contain undesired information. When presented with the minimum information required for assessment, the instructor may more effectively determine the status of the project. The fourth goal in Section 1.1 is cohesion of functionality. A large part of the problem in the current model is that while all functionality exists, it exists in pieces throughout separate systems that must be traversed individually. A cohesive model will attempt to provide functionality in a single product. The final goal in Section 1.1 is disambiguation of tasks. A major impediment in any team project, especially for virtual teams, is communication. The Messages tab will provide a centralized location between instructor, team, and student for explanation of tasks, questions and answers, dissemination of ideas, reporting progress, and feedback. With proper lines of constant communication, any task or project should be completely and accurately accomplished. 1.3. Definitions, Acronyms, and Abbreviations Activity Tab: The tab on the TPOT Instructor Dashboard that tracks team member activity. Admin Tab: The tab on the TPOT Instructor Dashboard that provides management of an instructor's courses, teams, and teacher's assistants. API: Application programming interface that specifies how some software components should interact with each other. Lab 2 - TPOT Prototype Product Specification 7 Asynchronous Course: A course which does not hold regularly scheduled meetings. Back-end: The portion of a computer program not visible to end-users. Beta test: The final test of a software product, usually fully-featured, prior to commercial release. Blackboard: Extremely popular course management software. Cloud: A type of computing involving data and computation distributed over large numbers of dispersed machines which are connected via a network. Collaboration Software: Software suites designed to organize the collaborative efforts of a professional team. Dangling Pointer: Pointers that do not point to a valid object of the expected type. These are special cases of memory safety violations. Deliverable: An item produced by a project team which is intended to be delivered to a person outside of the team. Digital Certificate: A public key digitally signed by trusted authority. Used to verify identities in electronic communication. File Cabinet: A default template page of a Google Site which facilitates the management of user-uploaded files. Files Tab: The tab on the TPOT website that assembles all files uploaded by students to their team sites. Front-end: Portion of application with which end users interact with directly. Google Apps Scripts: A scripting language, based on JavaScript, developed by Google which runs exclusively on Google servers. Lab 2 - TPOT Prototype Product Specification 8 Google Sites: A tool offered by Google which allows users to create web pages and manage files and collaboration through a GUI without requiring any programming language skills. Grades Tab: The tab on the TPOT website that allows for viewing and assigning of grades for individuals and teams. GUI: Graphical user interface. Allows users to interact with electronic devices through graphical icons and visual indicators instead of a textual command line. HTML: Hypertext markup language. A language designed to create web pages. HTTP Request: A message sent using the Hypertext Transfer Protocol requesting some object. Industry Partner: A business or government professional working with or mentoring a school project team. Instructor Dashboard: The module of the TPOT software suite which aggregates student data for display to instructors and teacher's assistants. JavaScript: A scripting language commonly used by web browsers to dynamically alter content. Messages Tab: The tab on the TPOT website that allows an instructor or teacher's assistant to send messages to the students they mentor. Method: A function associated with a class of objects. MySQL: An open-source relational database management system. ODU: Old Dominion University, a public research university located in Norfolk, Virginia. Overview Tab: The tab on the TPOT website that tracks recent activity and upcoming events. Penetration Test: A deliberate attempt by a benign entity to find security flaws in a system. PHP: PHP Hypertext Processor. A server-side scripting language designed to dynamically create web pages. Lab 2 - TPOT Prototype Product Specification 9 Platform: A hardware architecture and a software framework (including application frameworks), where the combination allows software to run. PL/SQL: Procedural Language/Structured Query Language. A programming language which combines the declarative SQL with an imperative language to achieve more traditional functionality while retaining strong database support. Pointer: A variable which contains a literal memory address. Project Management Software: See Collaboration Software. Scrape: A computer software technique of extracting information from websites. SQL: Structured Query Language. A programming language designed to interact with relational database systems. Tab: A navigational widget for switching between sets of documents. Tasks Tab: The tab on the TPOT website that allows a user to view, create, assign, modify, and delete tasks. Team: A collection of students working on the same project coordinated through TPOT. Team Activity: The various ways in which Google Sites can be used. This may include visiting pages, creating and editing pages, uploading files, sending messages, or creating tasks. TPOT: Team Project Organizational Tool. Software being developed in response to a team management problem posed at ODU. User: A student, instructor, teacher's assistant, industry partner, or master administrator. Virtual: Forms of interaction, lacking physical manifestation, which are mediated through electronic communication. Virtual Machine: Software-based emulation of a computer system. Lab 2 - TPOT Prototype Product Specification 10 Virtual Team: A team dispersed through time and space which collaborates primarily electronically. Web-based: Software which may be accessed through a web browser and need not be downloaded nor installed. 1.4. References Allen, I. E., & Seaman, J. (2013). Changing course: Ten years of tracking online education in the United States. Retrieved from http://www.onlinelearningsurvey.com/reports/changingcourse.pdf Soloman, C. (2010). The challenges of working in virtual teams. Retrieved from http://rw-3.com/VTSReportv7.pdf 1.5. Overview This product specification provides the architecture description, functional description, and external interfaces of the TPOT prototype. The information provided in the remaining sections of this document includes a detailed description of the hardware, software, and external interface architecture of the TPOT prototype; the key features of the prototype; the parameters that will be used to control, manage, or establish that feature; and the performance characteristics of that feature in terms of outputs, displays, and user interaction. (This space intentionally left blank.) Lab 2 - TPOT Prototype Product Specification 11 2. GENERAL DESCRIPTION 2.1. Prototype Architecture Description TPOT's prototype is expected to have the same components as the final product, but with several additional components used for testing purposes (Figure 1); when testing is complete, these components will be removed. Testing components include methods that will generate real and artificial data, and methods that will query the database. Virtual machines have been set up to host the prototype. When the prototype is functional, beta testers will be selected to test the software. Figure 1. TPOT Prototype Major Components The Google-based team sites will be augmented with Google Apps Scripts to record all activity in the TPOT database. The GUI will also use scripts to provide the required interface between the sites and the database. The front-end of the Dashboard will be an HTML- and PHP- Lab 2 - TPOT Prototype Product Specification 12 based tabbed interface capable of displaying information in the database. The back-end will use SQL queries to insert, update, and delete team information in the database. The database itself will store all information and contain triggers and procedures to respond to activity. During testing, the database will contain artificially generated data processed with test queries. 2.2. Prototype Functional Description Figures 2 and 3 indicate deliverable assessment and status determination, respectively, in the current process flow, a system that is slow to traverse and susceptible to error due to its complexity (P. Pazos, personal communication, October, 2013). Figures 4 and 5 indicate deliverable assessment and feedback, and status determination, respectively, in the improved process flow. TPOT is being designed to provide instructors with a streamlined method of accomplishing the tasks mentioned; in future semesters, TPOT is anticipated to provide additional features as requested by customers. The tool is expected to be enhanced beyond the current requirements and to be usable by instructors from any department at any university. (This space intentionally left blank.) Lab 2 - TPOT Prototype Product Specification 13 The current deliverable assessment flow (Figure 2) has three distinct subdivisions; an instructor must gather deliverables from email, Blackboard, and team sites. The instructor must iterate through each deliverable found at each subdivision and assess it individually. As there are multiple students in a group posting deliverables to multiple repositories, version control concerns are introduced. Figure 2. Current Process Flow: Deliverable Assessment (This space intentionally left blank.) Lab 2 - TPOT Prototype Product Specification 14 In order to determine the current team status under the current model (Figure 3), instructors must search email messages and review updates on team sites. Reviewing email involves searching for messages relevant to status and determining the team responsible for the message. Reviewing team sites involves reading each page for each site and determining what information is relevant to updates. The instructor must then record the updates status for each site after all information is collected. Figure 3. Current Process Flow: Status Determination (This space intentionally left blank.) Lab 2 - TPOT Prototype Product Specification 15 Figure 4 shows a simplified model for the process shown in Figure 2. In this model, the instructor will be presented with a sortable and filterable interface that can select a particular student or team from a particular course and task. After the task is reviewed, the instructor can assign a grade and give feedback. This process may be repeated as necessary. Figure 4. Improved Process Flow: Deliverable Assessment and Feedback (This space intentionally left blank.) Lab 2 - TPOT Prototype Product Specification 16 Figure 5 shows the improved model for the process in Figure 3. In the improved process, an instructor can visit the Dashboard and record the status updates for each team from a single page. This process can be repeated as necessary. Figure 5. Improved Process Flow: Status Determination 2.3. External Interfaces 2.3.1. Software Interfaces The entire system is composed of five major components; team sites, Google Apps Scripts, the Instructor Dashboard, a third-party web server, and the TPOT database server. Students and industry partners may access the TPOT database server through team sites, and Lab 2 - TPOT Prototype Product Specification 17 instructors and teacher's assistants may access the database through the Dashboard. The Dashboard will also be capable of scraping team site data directly. The student side of the model will be handled on Google Sites. Templates for each team will be generated by the instructor and may be modified by each team. It is through these sites that all students will conduct their tasks and upload files. Each team member may access the team site through a variety of media; in the process of aggregating files, students will develop a hub for communication and build a project history. The team site scripts responsible for queries to the TPOT database server will be written into the team template by TPOT developers. Any further development will be implemented on individual sites. Historically, the instructor would also conduct all operations through Google Sites, which is the source of the problem described by Team Black's advisor. An instructor currently must navigate each site and evaluate all deliverables and students sequentially, which can be an unnecessarily time-intensive process. The Dashboard will collect all relevant information, organize and filter it, and provide a single location to coordinate evaluation efforts. 2.3.2. User Interfaces As described in Section 1.1, TPOT will make use of a tab-based architecture to accomplish its goals. Features may be quickly assessed in the Overview tab or addressed in their respective tabs. All Dashboard functionality is coordinated in the same system, on the same page. The Overview tab briefly describes recent updates to the other tabs. It will not contain any unique data, but will rather give the instructor or teacher's assistant an idea of the selected team's progress with its project. It is from here that users will determine appropriate action and guidance. Lab 2 - TPOT Prototype Product Specification 18 The Tasks tab manages all tasks assigned to the team or individual students. An instructor will be able to create a task with an embedded description and assign it appropriately. The instructor will then receive or request updates, and remove the task upon completion. While instructors will have the ability to view, insert, update, and delete tasks, teacher's assistants will only be allowed to view existing tasks. The Files tab is a repository for all deliverables. The filename, author, date of submission, date of modification, a brief description, and grade assigned will appear here. The instructor or teacher's assistant may assign these files an individual grade, a team grade, or no grade. The Activity tab will be used for team and individual accountability. It may be used to view a student's recent actions, such as logging in, uploading, editing, or messaging. Filters are particularly important on this tab, as a significant amount of tracking will take place, and filters will allow an instructor or teacher's assistant to view specific types of activity and the students who are active. The Messages tab coordinates communication up, down, and across the team. A user can send messages to students or teams, and students can send messages to the instructor, the teacher's assistant, other students, or the entire team. Concise communication will be critical to a virtual team in order to unambiguously assign and complete tasks. The Grades tab will list all gradable assignments, the team or student receiving the grade, and the grade assigned, if it has been graded. The instructor or teacher's assistant will be able to grade an assignment here, by team or individual student. This tab is connected to the Files tab in that the Files tab may also be used to view and assign grades. The Admin tab may be used to perform all administrative functions on one tab. The instructor may manipulate team composition, grade deliverables, or other such responsibilities. Lab 2 - TPOT Prototype Product Specification Some responsibilities will be intentionally redundant with other tabs, such as the grading of deliverables; each tab will permit its own relevant capabilities, but all capabilities will also be available on a single tab. Teacher's assistants will not have access to this tab. 19