Running head: Lab 2 – TPOT Product Specification Outline Team Black

advertisement
Running head: Lab 2 – TPOT Product Specification Outline
Lab 2 – TPOT Product Specification Outline
Team Black
Jose Brandariz, TJ Carson, Joe Elder, Josh Ward, Aaron Walden
CS411W
Professors Janet Brunelle and Hill Price
February 22, 2014
Version 1.6
Lab 2 – TPOT Product Specification Outline
2
Table of Contents
3 SPECIFIC REQUIREMENTS.................................................................................................... 3
3.1 Functional Requirements ..................................................................................................... 3
3.1.1 Instructor Dashboard (Josh & Joe) ............................................................................... 3
3.1.2 Team Sites (Jose & TJ) ................................................................................................ 11
3.1.3 TPOT Database (Aaron) ............................................................................................. 14
3.1.4 Test Harness Data Preparation (Aaron) ...................................................................... 24
3.2 Performance Requirements ................................................................................................ 25
3.3 Assumptions and Constraints (Aaron) ............................................................................... 25
3.3.1 Assumptions (Aaron) .................................................................................................. 26
3.3.2 Constraints (Aaron) ..................................................................................................... 26
3.3.3 Dependencies (Aaron) ................................................................................................ 27
3.4 Non-Functional Requirements ........................................................................................... 27
List of Tables
Table 1. User Types and Instructor Dashboard Restrictions .......................................................... 3
Table 2. Effects of Assumptions, Constraints, and Dependencies on Prototype Requirements ... 25
Lab 2 – TPOT Product Specification Outline
3
3 SPECIFIC REQUIREMENTS
3.1 Functional Requirements
3.1.1 Instructor Dashboard (Josh & Joe & Aaron)
This section details the user login requirements and GUI elements presented on the
Instructor Dashboard. Table 1 shows user types and Instructor Dashboard restrictions.
User
Type
Activity
Tab
Admin
Tab
Grades
Tab
Files Tab
Messages Overview
Tab
Tab
Tasks
Tab
Instructor
full
access
full
access
full
access
full
access
full
access
full
access
full
access
Teacher's
Assistant
full
access
no access
full
access
full
access
full
access
full
access
limited
access:
view only
Table 1. User Types and Instructor Dashboard Restrictions
3.1.1.1 Login (Aaron)
This section details the login process for users of the TPOT Instructor Dashboard. Users
will be directed to login through a Google account, which will return email address information
to TPOT's web server and direct the user to the Instructor Dashboard tabbed home page. TPOT
Instructor Dashboard login must conform to the following functional requirements:
3.1.1.1.1 Unauthorized users who visit the dashboard page must be presented with an option to
log in using a Google account.
3.1.1.1.2 Authorized users must be limited to the following user types:
a. Instructors
b. Teacher's Assistants
Lab 2 – TPOT Product Specification Outline
4
3.1.1.1.3 Users authenticated by Google must have their validated Google email checked against
the TPOT database to determine that the email address is present in the database User Table (see
3.1.3.2.4).
3.1.1.1.4 Users authenticated by Google must have their validated Google email checked against
the TPOT database to determine that the email address is that of an Instructor or Teacher's
Assistant (see 3.1.3.2.4).
3.1.1.1.5 Authenticated Instructor and Teacher's Assistant users must be redirected to the
instructor dashboard tabs page.
3.1.1.2 Tabs
The instructor dashboard interface consists of a tabbed web page containing tables of
team data. For a detailed description of the data displayed by TPOT's Instructor Dashboard
tables, see section 3.1.3. The following tabs must be provided:
3.1.1.2.1 Activity Tab (Josh)
This section details the Activity Tab, which allows Instructors and Teacher's Assistants to
view the Activities performed by users of all modules of TPOT. For complete details of what
constitutes an Activity, see section 3.1.3.3. The Activities Tab must conform to the following
functional requirements:
3.1.1.2.1.1 Must allow authorized users to view the following attributes of Activities:
a. Course
b. Team
c. User email address
d. Activity Type
Lab 2 – TPOT Product Specification Outline
e. Date Accomplished (YYYY-MM-DD HH:MM:SS)
3.1.1.2.1.2 Must allow authorized users to sort Activities by the following attributes:
a. Course
b. Team
c. User email address
d. Activity Type
e. Date Accomplished (YYYY-MM-DD HH:MM:SS)
3.1.1.2.1.3 Must allow authorized users to filter Activities by the following attributes:
a. Course
b. Team
c. User email address
d. Activity Type
e. Date Accomplished (YYYY-MM-DD HH:MM:SS)
3.1.1.2.2 Files Tab (Joe)
This section details the Files Tab, which allows Instructors and Teacher's Assistants to
view Files attached to Team Site pages and submitted for Tasks. The Files Tab must conform to
the following functional requirements:
3.1.1.2.2.1 Must allow authorized users to view the following attributes of Files:
a. Course
b. Team
c. User email address
d. Filename
5
Lab 2 – TPOT Product Specification Outline
e. File path (URI, combined with d. into a link)
f. Action performed (uploaded, deleted, submitted)
g. Date Accomplished (YYYY-MM-DD HH:MM:SS)
3.1.1.2.2.2 Must allow authorized users to sort Files by the following attributes:
a. Course
b. Team
c. User email address
d. Activity Type
e. Filename
f. Date Accomplished (YYYY-MM-DD HH:MM:SS)
3.1.1.2.2.3 Must allow authorized users to filter Filter by the following attributes:
a. Course
b. Team
c. User email address
d. Activity Type
e. Filename
f. Date Accomplished (YYYY-MM-DD HH:MM:SS)
3.1.1.2.3 Messages Tab (Joe)
This section details the Messages Tab, which allows Instructors and Teacher's Assistants
to quickly communicate with different subsets of their students and colleagues. The Messages
Tab must conform to the following function requirements:
3.1.1.2.3.1 Must allow authorized users to select message recipients by:
6
Lab 2 – TPOT Product Specification Outline
7
a. Course
b. Team
c. User type (Instructor, TA, Student, Partner)
3.1.1.2.3.2 Must allow authorized users to input a plain text message.
3.1.1.2.3.3 Must allow authorized users to send an email to selected recipients.
3.1.1.2.4 Grades Tab (Josh)
This section details the Grades Tab, which allows Instructors and Teacher's Assistants to
view and assign grades to Students for graded Tasks and Courses. The Grades Tab must conform
to the following functional requirements:
3.1.1.2.4.1 Must present authorized users with a Course selector.
3.1.1.2.4.2 Upon Course selection, must present authorized users with a list containing:
a. The list of all graded Tasks in that course
b. Final Course grade
3.1.1.2.4.3 Upon task or final grade selection, must present authorized users with a list of all
Teams enrolled in the selected Course.
3.1.1.2.4.4 Upon Team selection, must present authorized users with a list of all Student
members of the selected Team.
3.1.1.2.4.5 Upon Team or Student selection, must allow authorized users to view all Files
submitted toward completion of a graded Task
3.1.1.2.4.6 Upon Team or Student selection, must present authorized users with a form which
allows the user to:
a. Enter a grade for the selected Task or final grade.
Lab 2 – TPOT Product Specification Outline
8
b. Enter feedback
3.1.1.2.4.7 Once submitted, the TPOT database (see 3.1.3) must be updated with the grade,
feedback submitted, and current user email address.
3.1.1.2.5 Overview Tab (Josh & Joe)
This section details the Overview Tab, which gives Instructors and Teacher's Assistants a
general impression of the state of their overseen Courses. The Overview Tab must conform to
the following functional requirements:
3.1.1.2.5.1 Must display the following tabled summaries of recent Team Site actions:
a. Recent Activity (see 3.1.3.3)
b. Team graded Task completion progress (see 3.1.3.2.2)
e. Tasks in need of grading (see 3.1.3.2.2)
3.1.1.2.6 Tasks Tab (Josh)
This section details the Tasks tab, which allows Teacher's Assistants to view and
Instructors to view and modify Tasks (see 3.1.3.2.2). The Tasks Tab must conform to the
following functional requirements:
3.1.1.2.6.1 Must allow authorized Instructors to insert new Tasks with the following attributes:
a. Name (string)
b. Description (string)
c. Course (string)
d. Assignee (string)
e. Date Due (YYYY-MM-DD HH:MM:SS)
Lab 2 – TPOT Product Specification Outline
f. Gradable status (boolean)
3.1.1.2.6.2 Must allow authorized users to view the following attributes of existing Tasks:
a. Name
b. Description
c. Course
d. Assignee
e. Date Assigned (YYYY-MM-DD HH:MM:SS)
f. Date Due (YYYY-MM-DD HH:MM:SS)
g. Number of Submission Slots
i. Gradable status
3.1.1.2.6.3 Must allow authorized users to sort Tasks alphabetically by the following attributes:
a. Name
b. Description
c. Course
d. Assignee
e. Gradable status
3.1.1.2.6.4 Must allow authorized users to sort Tasks numerically by the following attributes:
a. Date Assigned
b. Date Due
c. Number of Submission Slots
d. Gradable status
3.1.1.2.6.5 Must allow authorized users to filter Tasks by the following attributes:
a. Name
9
Lab 2 – TPOT Product Specification Outline
10
b. Description
c. Course
d. Assignee
e. Date Assigned (YYYY-MM-DD HH:MM:SS)
f. Date Due (YYYY-MM-DD HH:MM:SS)
g. Number of Submission Slots
i. Gradable status
3.1.1.2.6.6 Must allow authorized Instructors to update the following attributes of existing Tasks:
a. Name
b. Description
c. Assignee
c. Date Due (YYYY-MM-DD HH:MM:SS)
d. Number of Submission Slots
3.1.1.2.6.7 Must allow authorized Instructors to delete existing Tasks.
3.1.1.2.6.8 Must update the TPOT database (see section 3.1.3) with any changes made.
3.1.1.2.7 Admin Tab (Aaron)
This section details the Admin tab, which allows Instructor's to manage their list of taught
Courses (see 3.1.3.2.1) and Teams (see 3.1.3.2.5). The Admin Tab must conform to the
following functional requirements:
3.1.1.2.7.1 Must be able to create new Courses, setting the following attributes:
a. Course Title (string)
b. Course Subject (string, ie. CS, MATH)
Lab 2 – TPOT Product Specification Outline
c. Course Number (string)
d. Course Instructors (email address, see 3.1.3.2.4)
e. Course TA's (email address, see 3.1.3.2.4)
f. Begin Date (YYYY-MM-DD)
g. End Date (YYYY-MM-DD)
3.1.1.2.7.2 Must be able to edit the attributes of Courses found in 3.1.1.2.7.1.
3.1.1.2.7.3 Must be able to delete Courses.
3.1.1.2.7.4 Must be able to create new Teams with the following attributes:
a. Team Name (string)
b. Student Members (email address, see 3.1.3.2.4)
c. Industry Partners (email address)
d. Team Course (see 3.1.3.2.1)
e. Domain (Google Apps domain i.g. odu.edu)
f. Team Site Title (string)
g. Team Site Theme (string, limited to certain values by Google Sites API)
h. An existing team site feed URL to copy (string)
3.1.1.2.7.5 Must be able to edit the attributes of Teams found in 3.1.1.2.7.4.
3.1.1.2.7.6 Must be able to delete Teams.
3.1.1.2.7.7 Must update the TPOT database (see section 3.1.3) with any changes made.
3.1.2 Team Sites (Jose & TJ)
Team Sites are the primary workspace for Students. This section details the scripts that
are to be implemented on the sites in order to allow the student to have access to particular
information.
11
Lab 2 – TPOT Product Specification Outline
12
3.1.2.1 Task Script (TJ)
The Task Script, a Google Apps Script embedded within a Team Site template page,
allows Students to view and organize Team assignments into different parts that can be managed
more efficiently by the Team. The Task Script must conform to the following functional
requirements:
3.1.2.1.1 Must allow Students to view any task assigned to them.
3.1.2.1.2 Must allow Students to submit a file to complete a graded Task.
3.1.2.1.3 Must allow Students to create ungraded Tasks.
3.1.2.1.4 Must allow Students to delete any Tasks that they have created.
3.1.2.1.5 Must allow Students to mark ungraded Tasks completed.
3.1.2.1.6 Must allow Students to edit Tasks they have created.
3.1.2.1.7 Must allow Students to assign an ungraded Task to a Team member
3.1.2.1.8 Must allow Students to sort Tasks by due date.
3.1.2.1.9 Must update the TPOT database (see 3.1.3) with:
a. Any changes made to Tasks
b. The Email address of Student who made changes
c. The type of change made (Creation, Modification, Deletion)
d. The time at which the change occurred (YYYY-MM-DD HH:MM:SS)
3.1.2.2 Grades Script (Jose)
The Grades Script, a Google Apps Script embedded within a Team Site template page,
allows Students to access grades and feedback given by Instructors and Teacher's Assistants. The
Grades Script must conform to the following functional requirements:
Lab 2 – TPOT Product Specification Outline
13
3.1.2.2.1 Must present Students with a GUI which allows them to select:
a. All graded Tasks the Student has been assigned
b. The Course the Student's Team Site is a part of
3.1.2.2.2 Must allow Students to view the grade assigned, if any, for a selected Task or Course.
3.1.2.2.3 Must allow Students to view the feedback provided, if any, for a selected Task or
Course.
3.1.2.2.4 Must allow Students to view the Date (YYYY-MM-DD HH:MM:SS) that a selected
Grade was assigned.
3.1.2.2.5 Must allow Students to view the email address of a grade's assigner.
3.1.2.3 Message Script (Jose & TJ)
The Messages Script, a Google Apps Script embedded within a Team Site template page,
allows Students to access the email addresses of their Team, Instructor, Teacher's Assistant, and
Industry Partners. The script allows Students to send emails through their Gmail account with the
emails that they have selected. The Messages Script must conform to the following requirements:
3.1.2.3.1 Students must be able to access the email addresses of:
a. Team members
b. Their Instructor
c. Their Teacher's Assistant
d. Their Industry Partners
3.1.2.3.2 Students must have the ability to select any number of the email addresses described in
requirement 3.1.2.3.1.
3.1.2.3.3 Students must have the ability to send a plain text email to selected email addresses.
Lab 2 – TPOT Product Specification Outline
14
3.1.3 TPOT Database (Aaron)
This section details the minimum requirements the TPOT database must meet in order to
provide the desired interface between the student Team Sites and the instructor dashboard.
3.1.3.1 Database Login
This section details the types of database accounts necessary for the functioning of the
TPOT Instructor Dashboard and Student Sites.
3.1.3.1.1 Local Login
The Local Login section specifies the type of account which needs to be present so that
the machine hosting the TPOT web page and database can execute queries necessary for
Dashboard functionality.
3.1.3.1.1.1 There must exist a password-protected account which has full privileges over the
TPOT database when logging in from localhost.
3.1.3.1.2 Remote Login
The Remote Login section specifies the type of accounts which needs to be present so
that Team Sites may execute queries on the TPOT database from the remote machines on which
they reside.
3.1.3.1.2.1 There must exist a password-protected account which has full privileges over the
TPOT database when logging in from any non-local IP address.
3.1.3.2 Entities
Lab 2 – TPOT Product Specification Outline
15
Entities describe database tables which represent actual or conceptual objects. In the
TPOT system, database entities consist of the users of TPOT and the objects created by students
during collaboration using their Team Sites.
3.1.3.2.1 Courses
A Course represents a traditionally structured university course which occurs during a
semester or quarter. Courses in the TPOT database must conform to the following functional
requirements:
3.1.3.2.1.1 The TPOT database must contain a Course Table.
3.1.3.2.1.2 For every entry, the TPOT course table must store a course's:
a. Id number (unsigned integer)
b. Title, (string)
c. Subject, (string)
d. Course number (string or unsigned integer)
e. Beginning date (YYYY-MM-DD HH:MM:SS)
f. Ending date (YYYY-MM-DD HH:MM:SS)
3.1.3.2.1.3 It must be possible to insert new values into the Course Table.
3.1.3.2.2 Tasks
Tasks represent both graded assignments created by instructors and non-graded
assignments used by students and possibly instructors to help coordinate work. Tasks in the
TPOT database must conform to the following functional requirements:
3.1.3.2.2.1 The TPOT database must contain a Task Table.
3.1.3.2.2.2 For every entry, the TPOT course table must store a Task's:
Lab 2 – TPOT Product Specification Outline
16
a. Id number (unsigned integer)
b. Course number, referring to the Course Table
c. Name (string)
d. Whether or not it is gradable (Boolean)
e. Due date (YYYY-MM-DD HH:MM:SS)
f. Completion status (Boolean)
g. Description (string)
3.1.3.2.2.3 It must be possible to insert new values into the Task Table.
3.1.3.2.3 Submission Slots
Submission slots represent the number of Files which must be uploaded in order to
complete some Task. Submission slots in the TPOT database must conform to the following
functional requirements:
3.1.3.2.3.1 The TPOT database must contain a Submission Slot Table.
3.1.3.2.3.2 For every entry, the TPOT course table must store a Slot's:
a. Associated Task id number, referring to the Task Table
b. Slot number (unsigned integer)
3.1.3.2.3.3 It must be possible to insert new values into the Submission Slot Table.
3.1.3.2.4 Users
Users represent the five different types of accounts which interact with the TPOT system.
Users in the TPOT database must conform to the following functional requirements:
3.1.3.2.4.1 The TPOT database must contain a User Table.
Lab 2 – TPOT Product Specification Outline
3.1.3.2.4.2 For every entry, the TPOT User Table must store:
a. At least one unique email address per user (string)
b. The user's first name (string)
c. The user's last name (string)
3.1.3.2.4.3 It must be possible to insert new values into the User Table.
3.1.3.2.4.4 The TPOT database must contain an Instructor Table.
3.1.3.2.4.5 For every entry, the TPOT Instructor Table must store:
a. The email address of the designated Instructor (see 3.1.3.2.4.2 a.)
b. The Id number of the course instructed (see 3.1.3.2.1.2 a.)
3.1.3.2.4.6 It must be possible to insert new values into the Instructor Table.
3.1.3.2.4.7 The TPOT database must contain a Teacher's Assistant (TA) Table.
3.1.3.2.4.8 For every entry, the TPOT Teacher's Assistant Table must store:
a. The email address of the designated TA (see 3.1.3.2.4.2 a.)
b. The Id number of the relevant course (see 3.1.3.2.1.2 a.)
3.1.3.2.4.9 It must be possible to insert new values into the TA Table.
3.1.3.2.4.10 The TPOT database must contain a Master Administrator Table.
3.1.3.2.4.11 The Master Administrator Table must reference only the email address of
designated Master Administrators.
3.1.3.2.4.12 It must be possible to insert new values into the Master Administrator Table.
3.1.3.2.5 Team
A Team represents a group of student users which make use of the same Google Site.
Teams in the TPOT database must conform to the following functional requirements:
17
Lab 2 – TPOT Product Specification Outline
18
3.1.3.2.5.1 The TPOT database must contain a Team Table.
3.1.3.2.5.2 For every entry, the TPOT team table must store the Team's:
a. Id number (unsigned integer)
b. Name (string)
3.1.3.2.5.3 It must be possible to insert new values into the Team Table.
3.1.3.3 Relations
Relations describe database tables which represent some association between entities. In
the TPOT system, database relations are used to track the Activities of Users.
3.1.3.3.1 Actions on Tasks
The Actions on Tasks relation records instances of User interaction with Task entities.
Actions on Tasks in the TPOT database must conform to the following functional requirements:
3.1.3.3.1.1 The TPOT database must contain a table representing the actions taken by Users on
Tasks.
3.1.3.3.1.2 For every entry, the TPOT Actions on Tasks table must store:
a. The email address of the User who acted (see 3.1.3.2.4.2 a.)
b. The Id number of the task acted upon (see 3.1.3.2.2.2 a.)
c. The action performed (see 3.1.3.3.1.3)
d. The time at which the action occurred (YYYY-MM-DD HH:MM:SS)
3.1.3.3.1.3 The action stored must be one of the following strings:
a. Create
b. Edit
c. Delete
Lab 2 – TPOT Product Specification Outline
19
d. Submit
3.1.3.3.1.4 It must be possible to insert new values into the Actions on Tasks Table.
3.1.3.3.2 Assignment of Tasks
The Assignment of Tasks relation records to whom a Task has been assigned.
Assignment of Tasks in the TPOT database must conform to the following functional
requirements:
3.1.3.3.2.1 The TPOT database must contain a table representing the Assignment of Tasks from
one User to another.
3.1.3.3.2.2 For every entry, the TPOT Assignment of Tasks table must store:
a. The email address of the assigner (see 3.1.3.2.4.2 a.)
b. The email address of the assignee (see 3.1.3.2.4.2 a.)
c. The id number of the associated team (see 3.1.3.2.5.2 a.)
d. The time at which the assignment occurred (YYYY-MM-DD HH:MM:SS)
3.1.3.3.2.3 It must be possible to insert new values into the Assignment of Tasks Table.
3.1.3.3.3 Task Grades
The Task Grades relation records a student's grade for a specific task and the User who
assigned that grade. Task Grades in the TPOT database must conform to the following functional
requirements:
3.1.3.3.3.1 The TPOT database must contain a table representing Student's grades for gradable
tasks.
3.1.3.3.3.2 For every entry, the TPOT Task Grades table must store:
Lab 2 – TPOT Product Specification Outline
20
a. The email address of the receiver of the grade (see 3.1.3.2.4.2 a.)
b. The email address of the assigner of the grade (see 3.1.3.2.4.2 a.)
c. The id number of the associated team (see 3.1.3.2.5.2 a.)
d. The grade received (integer)
e. Feedback provided by the grader (string)
f. The time at which grade was assigned (YYYY-MM-DD HH:MM:SS)
3.1.3.3.3.3 It must be possible to insert new values into the Task Grades Table.
3.1.3.3.4 Team Creation
The Team Creation relation records instances of Team Creation. Team Creation in the
TPOT database must conform to the following functional requirements:
3.1.3.3.4.1 The TPOT database must contain a table representing the creation of Teams.
3.1.3.3.4.2 For every entry, the TPOT Team Creation Table must store:
a. The email address of the User who created (see 3.1.3.2.4.2 a.)
b. The Id number of the team created (see 3.1.3.2.5.2 a.)
c. The time at which the creation occurred (YYYY-MM-DD HH:MM:SS)
3.1.3.3.4.3 It must be possible to insert new values into the Team Creation table.
3.1.3.3.5 Course Creation
The Course Creation relation records instances of Course creation. Course creation in the
TPOT database must conform to the following functional requirements:
3.1.3.3.5.1 The TPOT database must contain a table representing the creation of Courses.
3.1.3.3.5.2 For every entry, the TPOT Course Creation Table must store:
Lab 2 – TPOT Product Specification Outline
21
a. The email address of the User who created (see 3.1.3.2.4.2 a.)
b. The Id number of the course created (see 3.1.3.2.1.2 a.)
c. The time at which the creation occurred (YYYY-MM-DD HH:MM:SS)
3.1.3.3.5.3 It must be possible to insert new values into the Course Creation Table.
3.1.3.3.6 Course Grades
The Course Grades relation records the grade assigned to a Student for an entire
Course and the assigner of that grade. Course grades in the TPOT database must conform to the
following functional requirements:
3.1.3.3.6.1 The TPOT database must contain a table representing a Student's final Course grade.
3.1.3.3.6.2 For every entry, the TPOT course grade table must store:
a. The email address of the Instructor who assigned the grade (see 3.1.3.2.4.2 a.)
b. The email address of the student the grade is assigned to (see 3.1.3.2.4.2 a.)
c. The Id number of the course concerned (see 3.1.3.2.1.2 a.)
d. The time at which the grade was assigned (YYYY-MM-DD HH:MM:SS)
3.1.3.3.6.3 It must be possible to insert new values into the Course Grades Table.
3.1.3.3.7 Team Membership
The Team Membership relation records which Students belongs to what Team. Team
membership in the TPOT database must conform to the following functional requirements:
3.1.3.3.7.1 The TPOT database must contain a table representing Student and Industry Partner
Team membership.
3.1.3.3.7.2 For every entry, the TPOT Team Membership Table must store:
Lab 2 – TPOT Product Specification Outline
22
a. The email address of the member user (see 3.1.3.2.4.2 a.)
b. The Id number of the team the user belongs to (see 3.1.3.2.5.2 a.)
c. The time at which the user joined the team (YYYY-MM-DD HH:MM:SS)
3.1.3.3.7.3 It must be possible to insert new values into the Team Membership table.
3.1.3.3.8 Course Enrollment
The Course Enrollment relation records which Students are enrolled in what Course.
Course enrollment in the TPOT database must conform to the following functional requirements:
3.1.3.3.8.1 The TPOT database must contain a table representing Student Course enrollment.
3.1.3.3.8.2 For every entry, the TPOT Course Enrollment Table must store:
a. The email address of the enrolled user (see 3.1.3.2.4.2 a.)
b. The Id number of the course the Student belongs to (see 3.1.3.2.1.2 a.)
c. The time at which the user enrolled (YYYY-MM-DD HH:MM:SS)
3.1.3.3.8.3 It must be possible to insert new values into the Course Enrollment Table.
3.1.3.3.9 Course Membership
The Course Membership relation records to which single Course a Team belongs. Course
membership in the TPOT database must conform to the following functional requirements:
3.1.3.3.9.1 The TPOT database must contain a table representing Team Course membership.
3.1.3.3.9.2 For every entry, the TPOT Course Membership Table must store:
a. The Id number of the team (see 3.1.3.2.5.2 a.)
b. The Id number of the course the Team belongs to (see 3.1.3.2.1.2 a.)
c. The time at which the Team enrolled (YYYY-MM-DD HH:MM:SS)
Lab 2 – TPOT Product Specification Outline
23
3.1.3.3.9.3 It must be possible to insert new values into the Course Memership Table.
3.1.3.3.10 Task Submission
The Task Submission relation records the completion of Tasks by Students. Task
Submission in the TPOT database must conform to the following functional requirements:
3.1.3.3.10.1 The TPOT database must contain a table representing submission of Files for Tasks.
3.1.3.3.10.2 For every entry, the TPOT Task Submission Table must store:
a. The email address of the User who submitted (see 3.1.3.2.4.2 a.)
b. The Id number of the task concerned (see 3.1.3.2.2.2 a.)
c. The slot number of the task into which the user submitted (see 3.1.3.2.3.2 b.)
d. The path of the file submitted (URL)
e. The time the submission occurred (YYYY-MM-DD HH:MM:SS)
3.1.3.3.10.3 It must be possible to insert new values into the Task Submission Table.
3.1.3.3.11 Visits
The Visits relation represents a User visiting a web page. Web page, in this case, does
not refer to the Student-created Web Page entity of the TPOT database, but any URL in the
TPOT domain. Visits in the TPOT database must conform to the following functional
requirements.
3.1.3.3.11.1 The TPOT database must contain a table representing User Visits to web pages.
3.1.3.3.11.2 For every entry, the TPOT visit submission table must store:
a. The email address of the User who visited a page (see 3.1.3.2.4.2 a.)
Lab 2 – TPOT Product Specification Outline
b. The URL of the page visited, which does not reference any table
c. The time the visit occurred (YYYY-MM-DD HH:MM:SS)
3.1.3.3.11.3 It must be possible to insert new values into the Visits Table.
3.1.4 Test Harness Data Preparation (Aaron)
In order to properly demonstrate the TPOT prototype, test data must conform to the
following functional requirements:
3.1.4.1 There must exist a set of data for a single Team which contains the following:
a. At least one member Student
b. A Team Site
c. A Task with an impending due date
d. A Task with at least one submission slot (see c.)
3.1.4.2 There must exist a set of data for a single Team which contains the following:
a. At least one member Student
b. A Team Site
c. A Task graded with a past due date
d. An uploaded File
e. A Student-created Web Page
f. At least one Student Activity record
24
Lab 2 – TPOT Product Specification Outline
25
3.2 Performance Requirements
3.3 Assumptions and Constraints (Aaron)
The TPOT prototype must operate under a number of assumptions, constraints, and
dependencies. Table 2 names and describes each of these conditions. Detailed descriptions
follow this section.
Condition
Type
Users have access to requisite
hardware and Internet
connection
Assumption
Users can obtain Google
accounts
Assumption
Users are educators and
students participating in team
project-based courses
HTTP requests will be made
using unsecured connections
No layout customization of
Instructor Dashboard
No complex, email-like
internal messaging system
No advanced Google API
features
No electronic gradebook
integration
No grade calculations
Assumption
Effect(s)
Decades old hardware and
dial-up connections will
neither be planned for nor
tested
TPOT does not provide a
means of obtaining a Google
account
TPOT's intended features are
satisfactory
Constraint
A costly certificate need not
be obtained for a temporary
test machine
Constraint
This feature need not be coded
Constraint
This feature need not be coded
Constraint
This feature need not be coded
Constraint
This feature need not be coded
Constraint
This feature need not be coded
Prototype will not function if
Google's servers are
malfunctioning
Prototype may not function if
API is discontinued or
changed
Some Team Site information
will not be accessible if Apps
Scripts lose certain
functionalities or embedding
within Sites is disabled
Reliance on Google's web
servers
Dependency
Reliance on Google Site Data
API
Dependency
Reliance on Google Apps
Scripts
Dependency
Table 2. Effects of Assumptions, Constraints, and Dependencies on Prototype Requirements
Lab 2 – TPOT Product Specification Outline
26
3.3.1 Assumptions (Aaron)
The TPOT prototype operates under three assumptions which are necessary for proper
functionality. Potential users are assumed to have requisite hardware and Internet connections
which are capable of running TPOT without complications. Though accessibility is a goal,
writing and testing software for decades old computers with dial-up connections would be overly
cumbersome. Additionally, users are assumed to have access to or be able to acquire Google
accounts. As ODU email accounts are part of the Google domain, this is not an issue for
prototype development and testing. Finally, the developers assume that the users of TPOT are
educators and students involved in team, project-based courses. It is assumed that these courses
are organized as is typical of post-secondary educational institutions, which is to say that courses
have specific start and end dates, and that students are issued grades for their assignments and
courses.
3.3.2 Constraints (Aaron)
The TPOT prototype operates under a number of constraints which are designed to
simplify the development process. HTTP requests made to and from the Instructor Dashboard
will not be secured. Acquiring a digital certificate would cost the development team money and
be tied to a virtual test machine which will not be running beyond the completion of the project.
Users of the Instructor Dashboard may not customize its layout. While it is possible and
desirable to implement such a feature, time constraints limit the prototype to minimal aesthetic
features. A complex messaging system, akin to a fully-functional email system, will not be
implemented within the Instructor Dashboard. A minimally-featured system which allows bulk
emails to be sent to other TPOT users will be implemented instead.
Lab 2 – TPOT Product Specification Outline
27
The Google Site Data API contains many operations which allow very specific
manipulation of the Google Sites upon which TPOT's Team Sites are built. While it may be
desirable to create an interface which allows Instructor Dashboard users to interact with the full
API from the Dashboard, implementing a fully-featured GUI wrapper around these API
commands would require an effort beyond the scope of CS411. Instead, TPOT will allow the
creation of new sites from existing templates, which is all that is required for the software to
function as intended.
The grades stored in the TPOT database will remain as they are entered. There will be no
calculation of grade based on individual assignment weights assigned by Instructor Dashboard
users. There will be no integration with any University's electronic bookkeeping system.
3.3.3 Dependencies (Aaron)
Much of the TPOT prototype's functionality is dependent on Google. Prototype
functionality and demonstration will require sending and receiving HTTP requests from Google's
servers. TPOT is also dependent on Google's servers to store the data contained in Team Sites.
Team Sites are completely dependent on Google's Apps Scripts for communication with the
TPOT database. The Instructor Dashboard requires the Google Data API in order to create,
modify, and retrieve information from Team Sites. If Google were to change any of the API or
Apps Scripts commands used by TPOT's back-end, much revision would be required. TPOT
would no longer function if the Data API or Apps Scripts were discontinued by Google.
3.4 Non-Functional Requirements
Download