Running head: Lab 2 – TPOT Product Specification 1 Lab 2 – TPOT Product Specification Team Black Joseph Elder CS411W Professors Janet Brunelle and Hill Price March 18, 2014 Version 1.0 Lab 2 – TPOT Product Specification 2 Table of Contents 1 INTRODUCTION ................................................................................................................... 3 1.1 PURPOSE ............................................................................................................................ 3 1.2 SCOPE ................................................................................................................................. 4 1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ................................................ 4 1.4 REFERENCES .................................................................................................................... 7 1.5 OVERVIEW ........................................................................................................................ 8 2 GENERAL DESCRIPTION.................................................................................................... 9 2.1 PROTOYPE ARCHITECTURE DESCRIPTION .............................................................. 9 2.2 PROTOTYPE FUNCTIONAL DESCRIPTION ............................................................... 12 2.3 EXTERNAL INTERFACES ............................................................................................. 12 List of Figures Figure 1. TPOT Prototype Major Components. ........................................................................... 11 List of Tables Table 1. Feature Comparison Between Real World Product and Prototype. ................................ 10 Lab 2 – TPOT Product Specification 1 3 INTRODUCTION In the domain of college education the shift to use technology in the classroom now encourages enhanced organization methods and an increased desire to communicate virtually. Students and Professors have seen immediate benefits from this new virtual classroom and this trend is only to continue in the near future. From 2002 to 2013 the percentage of college students who were enrolled in at least one online course has increased from 10% to 30% (Allen & Seaman, 2013). The ODU Computer Science Department wishes to give students seeking an undergraduate degree the option to complete their studies virtually. Due to this influx of new virtual students, professors now must manage up to 15 different teams simultaneously. There are several third party software solutions which exist, however they do not offer an adequate package for instructors to easily manage all aspects of virtual teams of students. 1.1 PURPOSE Dr. Pilar Pazos is the Assistant Professor in the Department of Engineering Management & Systems Engineering at Old Dominion University. Each of her virtual teams creates and updates their own team site via Google Sites. While virtual teams have proven to be efficient managing them from the perspective of an instructor can be a challenge. Because virtual teams do not offer face to face communication some accountability is lost and sometimes things are not as clear. (Ebrahim et al., 2009). She often must work with up to 15 of these virtual teams of students which becomes a tedious process when it comes to assessing deliverables or checking a teams updated progress. Assigning grades fairly to individual students is also a concern because accountability on virtual projects at times can be unclear. TPOT is being developed in response to the need for Instructors to manage their virtual teams of students efficiently and effectively. Lab 2 – TPOT Product Specification 1.2 4 SCOPE TPOT is currently being developed specifically for use by Dr. Pilar Pazos and her students who will be taking her online project-based classes in the future. At this point in time TPOT is not being implemented for use with other online courses or any other specific applications. In the future it would be potentially possible to expand upon TPOT for use in other courses or perhaps anywhere virtual teams are present. 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. 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. Lab 2 – TPOT Product Specification 5 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 useruploaded 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. 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. Lab 2 – TPOT Product Specification 6 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. 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. Lab 2 – TPOT Product Specification 7 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. 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. Ebrahim, N. A., Ahmed, S., & Taha, Z. (2009). Virtual teams: A literature review. Australian Journal of Basic and Applied Sciences, 3, 2653-2669. Little, R. College Professors fearful of online education growth. U. S. News & World Report. Retrieved from http://www.usnews.com/education/onlineeducation/articles/2012/07/06/college-professors-fearful-of-online-education-growth Lab 2 – TPOT Product Specification 1.5 OVERVIEW This product specification provides the hardware and software configuration, external interfaces, capabilities and features 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 these features; and the performance characteristics of these features in terms of inputs, outputs, and user interaction. (This space intentionally left blank.) 8 Lab 2 – TPOT Product Specification 2 9 GENERAL DESCRIPTION TPOT is collaborative software being developed with college instructors in mind. TPOT works by collecting usable data and statistics from the Google Site being shared by each virtual team. This process is called scraping. The scraped information is made available by being stored in a database and then organized via a tabbed web interface. The primary goal of TPOT is to ensure clarity of collaboration between instructors and students. TPOT will greatly reduce the complexity of managing multiple team projects online by providing the Instructor Dashboard. This centralized solution where files, grades, activity, messages, team progress, and student accountability can be assessed by instructors is a major objective of TPOT. Using the TPOT solution will reduce stress on instructors and will allow for faster grading and feedback on tasks and assignments. 2.1 PROTOYPE ARCHITECTURE DESCRIPTION The TPOT prototype is nearly identical to the finished real world TPOT solution. Table 1 is a comparison between the two. Many features are literally the exact same in the prototype as in the real world product. The prototype must simulate data whereas the real world product all data is either automatically generated or supplied by users. (This space intentionally left blank.) Lab 2 – TPOT Product Specification 10 Features/Components Real World Product Student Team Members Actual students participating in online project-based coursework Instructor Instructors leading online project-bases courses Prototype Actual student testers and TPOT team members using virtual test machines with past project data and randomly-generated data Professor Pazos as well as TPOT team members simulating the instructor role The Google Site tool created by Dr. Pazos with embedded Team Sites Google Apps Scripts which The same tool and scripts structure the data teams generate A tabbed, fully customizable A tabbed dynamic web page dynamic web page which Instructor Dashboard which concisely presents data concisely presents data drawn drawn from the team sites from the team sites A series of JS-like scripts which collect, structure, and store in the TPOT database Google Apps Scripts The same scripts the data generated by teams which interact with the team sites An independent web server An ODU-owned virtual web 3rd Party Web Server hosting the Instructor server hosting the Instructor Dashboard Dashboard An independent database An ODU-owned virtual TPOT Database Server server hosting the TPOT database server hosting the database TPOT database Table 1. Feature Comparison between Real World Product and Prototype The Instructor Dashboard will be hosted on an ODU virtual web server along with the TPOT database. A testing environment must be developed in addition to the prototype to ensure smooth functionality of the system on a variety of different platforms, operating systems, and browsers. Testing must occur from the student’s and instructor’s perspectives. Figure 1. Shows the major components of the TPOT prototype. The only additional components are for testing purposes. Since the end product must be developed in less than one semester, the simulation of time must be controlled. Lab 2 – TPOT Product Specification 11 Figure 1. TPOT Prototype Major Components. The Test Instructor will use the Scenario Simulator to mirror the advancing of an entire semester when testing TPOT. Similarly test Students will input simulated data along with the automatically generated data for testing all use case scenarios. (This space intentionally left blank.) Lab 2 – TPOT Product Specification 2.2 12 PROTOTYPE FUNCTIONAL DESCRIPTION The prototype’s focus will be on proving that the final product is indeed possible by example. It will be necessary to prove that activity on Googles sites can be stored in a database. That information regarding user activity must also be readily viewable in the dashboard by instructors and teacher’s assistants. During the prototyping process themes and interface layouts must be agreed upon. The end user should be considered during this procedure. Themes should have not have visually distracting colors and content layouts should optimize the site and lack redundancy. Themes and interface layout must be representative of the final product as well to ensure a consistent look and feel when using the TPOT software. 2.3 EXTERNAL INTERFACES The Team Project Organizational Tool external interfaces will be limited to standard PC hardware and freely available software. Custom interfaces will be the TPOT Instructor Dashboard website.