Running head: Lab 2 - TPOT Prototype Product Specification

advertisement
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
Download