Lab 2 - REMSY Product Specification

advertisement
Running Head: Lab 2 – REMSY Product Specification
Lab 2 - REMSY Product Specification
Blue Team
Seth Hohensee
CS411W
Janet Brunelle & Hill Price
April 14, 2014
Version 2
1
Lab 2 – REMSY Product Specification
2
Table of Contents
1 INTRODUCTION
1.1 PURPOSE ................................................................................................................................ 3
1.2 SCOPE .................................................................................................................................... 4
1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................... 6
1.4 REFERENCES .......................................................................................................................... 8
1.5 OVERVIEW ............................................................................................................................. 8
2 GENERAL DESCRIPTION
2.1 PROTOTYPE ARCHITECTURE DESCRIPTION ............................................................................ 8
2.2 PROTOTYPE FUNCTIONAL DESCRIPTION............................................................................... 10
2.3 EXTERNAL INTERFACES ....................................................................................................... 10
2.3.1 Hardware Interfaces ..................................................................................................... 10
2.3.2 Software Interfaces ...................................................................................................... 10
2.3.3 User Interfaces ............................................................................................................. 11
2.3.4 Communications Protocols and Interfaces................................................................... 11
3 SPECIFIC REQUIREMENTS
3.3 ASSUMPTIONS AND CONSTRAINTS ....................................................................................... 11
List of Figures
Figure 1. Prototype Major Functional Components Diagram. ....................................................... 9
List of Tables
Table 1. Effects of Assumptions, Dependencies, and Constraints on Requirements. .................. 12
Lab 2 – REMSY Product Specification
3
1 INTRODUCTION
Resource management is critical to the success of any organization. The ability to
continue operation, and the effectiveness of these operations, are directly affected by the
availability and allocation of a limited pool of resources. Whether the resource in question is a
workspace, employee, or piece of equipment, it is important to ensure that it is not used
wastefully. Waste, in this case, could mean that two separate employees are assigned to complete
a task that could have easily been handled by one of them. This makes intra-organization
communication especially critical.
Collecting and communicating the necessary data to analyze and improve the
management of tutoring resources at Old Dominion University (ODU) has been one of the
largest problems faced by tutoring administrators (Turner, 2014). Tutoring at ODU is made
available to students by several disparate programs with their own requirements, goals, and
resources. This can make it difficult for students to identify what services are available to them,
and the lack of communication can mean that employees of one program may not know enough
to refer students to the program that does offer the help they seek. This problem could be
mitigated, however, by a resource management system which allows for the scheduling of any
program’s resources through the same interface.
1.1 Purpose
REMSY is a web and mobile application designed to facilitate the management of
tutoring resources at ODU. Students, tutors, professors, and program employees can access
REMSY via its web portal. The system allows for tutoring sessions to be scheduled by
administrators of tutoring programs who then assign tutors to each session. These sessions are
associated at the course level within REMSY, so any tutoring sessions offered for the course are
Lab 2 – REMSY Product Specification
4
visible regardless of physical location, sponsoring program, or assigned tutor. This allows
students to understand what tutoring is available to them at a glance, and helps the employees of
tutoring programs advise students of their options. Administrators also have the ability to
generate reports, using REMSY data, regarding student attendance, requests, and performance.
This allows for review of student behavior and program effectiveness by administrators.
Students can view available sessions for classes they are enrolled in, sign up, withdraw,
or apply to be a tutor. They can also request tutoring in courses where insufficient or no tutoring
at all is currently offered or volunteer to informally tutor their peers in a subject or course.
Student attendance verification and logging is performed by opening and closing a tutoring
session within the REMSY system. This can be accomplished through the web portal on any
desktop computer or a kiosk machine hooked up to a card reader at tutoring locations. Students
and tutors can elect to receive email, SMS, or mobile app-based alerts. Tutors can view
enrollment in their sessions and cancel or reschedule a session in case they will be unable to
attend. Professors can sign into the system to check if any of their students have attended
tutoring for their course.
Students can make use of the REMSY mobile application to quickly perform tasks like
signing up for or withdrawing from a session. Student attendance verification can also be quickly
performed via the mobile app. Tutors can also make use of the mobile application to check the
roster for their sessions and participate in attendance verification. Both the web portal and
mobile app will demonstrate FERPA and Section 508 compliance.
1.2 Scope
REMSY’s primary goals are to enhance understanding of tutoring needs and
effectiveness at ODU and streamline the tutoring process for students and tutors. By collecting
Lab 2 – REMSY Product Specification
5
information on all students, making use of tutoring resources at ODU within the same system,
data does not have to be manually shared between programs. This allows for reports based on
this data to be easily generated, which can aid in the analysis or resource needs and performance.
The relative effectiveness of tutoring in one course versus another could be analyzed by
examining the reduction in D, F, withdrawal, and incomplete (DFWI) grades earned in each
course, without the large amount of legwork such a comparison would currently require. By
making use of data already available to ODU, designing the user interface with the user’s
experience in mind, and offering functional mobile access, REMSY can reduce the
administrative burden that tutoring currently places on tutors and students. Instead of going
through each possible program and location to see if tutoring for a course is available, a student
should be able to click on a course and see any available sessions. If there are none, the student
should be able to indicate their interest without sending an email or visiting an office. If tutoring
begins being offered in that course, the student should receive a notification. Mobile support will
also reduce the dependency on fixed lab locations for tutoring as students and tutors will be able
to open and close sessions using their phones. Reducing the hassle associated with tutoring
should increase the number of students willing to take advantage of it.
The prototype of REMSY will implement all major systems designed for the finished
product. It will also, similarly, demonstrate FERPA and Section 508 compliance. However, due
to a lack of access to sensitive ODU resources, several external systems will need to be
simulated. University authentication (Shibboleth), student database access (Banner), and email
services will be approximated to show proof of concept. A test harness will also be created to
allow developers to quickly populate and remove sample data to allow for the testing of REMSY
functionality.
Lab 2 – REMSY Product Specification
6
1.3 Definitions, Acronyms, and Abbreviations
508 Compliance: Amendment of the Rehabilitation Act which requires Federal agencies to
make electronic and information technology accessible to people with and without disabilities.
Apache: Open source web server providing a full range of web server features distributed by the
Apache Software Foundation.
Banner: Centralized academic and administrative records system.
DFWI: D grade, failure, withdrawal, or incomplete in a given course.
Family Educational Rights and Privacy Act (FERPA): Federal law that protects the privacy
of student education records. The law applies to all schools that receive funds under an
applicable program of the U.S. Department of Education.
Human Interface Device (HID): Type of computer device that interacts directly with, and most
often takes input from, humans and may deliver output to humans.
Hypertext Transfer Protocol Secure (HTTPS): Communications protocol for secure
communication over a computer network, with especially wide deployment on the Internet.
Java: Computer programming language that is concurrent, class-based, object-oriented, and
specifically designed to have as few implementation dependencies as possible.
Internet Protocol (IP): Network layer protocol used for identifying network devices and
directing traffic between them. Part of TCP/IP.
Kerberos: Computer network authentication protocol which works on the basis of 'tickets' to
allow nodes communicating over a non-secure network to prove their identity to one another in a
secure manner.
Lightweight Directory Access Protocol (LDAP): Application protocol for accessing and
maintaining distributed directory information services over an IP network.
Lab 2 – REMSY Product Specification
7
MySQL: Open Source SQL database management system by Oracle Corporation.
Objective-C: General-purpose, object-oriented programming language that adds Smalltalk-style
messaging to the C programming language.
ODU: Old Dominion University.
PHP: General-purpose scripting language that is especially suited to web development.
Remote Desktop Protocol (RDP): Proprietary protocol developed by Microsoft, which provides
a user with a graphical interface to connect to another computer over a network connection.
REMSY: Resource Management System to aid in scheduling and collecting information on
tutoring at Old Dominion University developed by the Spring 2014 CS411 Team Blue.
Secure Shell (SSH): Cryptographic network protocol for secure data communication, remote
command-line login, remote command execution, and other secure network services between
two networked computers.
Shibboleth: Single sign-on process that authenticates and authorizes a user, and allows a user to
access secure sites by using university computing account username and password.
SMS: Short Message Service.
Simple Mail Transfer Protocol (SMTP): Internet standard for electronic mail (e-mail)
transmission.
Structured Query Language (SQL): Special-purpose programming language designed for
managing data held in a relational database management system (RDBMS).
Transmission Control Protocol (TCP): Transport layer protocol used for reliable
communication between devices across a network. Part of TCP/IP.
TutorTrac: Completely web-based management software for learning, writing, reading, tutoring
departments, and academic skills centers developed by Redrock Software.
Lab 2 – REMSY Product Specification
8
UI: User Interface.
UIN: University Identification Number.
1.4 References
Hohensee, Seth. (2014). Lab 1 – REMSY Product Description. Norfolk, VA
Turner, Jeffrey. Personal interview. February 11, 2014.
United States Government. (n.d.). Resources for understanding and implementing Section 508.
In Section508.gov Opening Doors to IT. Retrieved February 12, 2014, from
http://www.section508.gov/
U.S. Department of Education. (n.d.). Family Educational Rights and Privacy Act (FERPA). In
ED.gov. Retrieved February 12, 2014, from
http://www.ed.gov/policy/gen/guid/fpco/ferpa/index.html
1.5 Overview
This product specification details the REMSY prototype’s hardware and software
composition, external interfaces, and functions. Detailed descriptions of the prototype
architecture, functional components, and external interfaces can be found in the sections to
follow. The prototype’s key features, the characteristics exhibited by these features, and the ways
in which these features will be expected to perform are also detailed.
2 GENERAL DESCRIPTION
The REMSY prototype’s composition, general functionality, and external interfaces are
outlined in the following subsections.
2.1 Prototype Architecture Description
REMSY’s major components include the REMSY virtual machine, web server, mobile
application, and the REMSY database server. These will interface with the model Banner
Lab 2 – REMSY Product Specification
9
database, and Active Directory server, the ODU Computer Science Exchange email servers. The
web server, database servers, and test harness are hosted on a CentOS virtual machine. The web
portal is written in PHP and running on Apache. It is the main interface for REMSY, through
which administrators, professors, tutors, and students can perform any of their assigned actions.
The mobile application runs on student and tutor mobile devices running Android or iOS. This
can be used to complete common tasks and receive alerts. The REMSY database is a MySQL
database used to store user, session, and location data. The Banner model database is used in
place of access to ODU actual banner system for development purposes. The test harness is used
to modify its contents for development and testing purposes. The web server and mobile app
authenticate logins against the Active Directory server. Email and SMS alerts are sent out from
the web server through the Exchange servers. A visual representation of the prototype
architecture can be seen in Figure 1.
Figure 1. Prototype Major Functional Components Diagram
Lab 2 – REMSY Product Specification
10
2.2 Prototype Functional Description
The web server allows for tutors and students to seek or offer tutoring and manage their
sessions, personal information, and notification settings. It also contains the test harness which is
used to clear and repopulate simulated student information for testing purposes. It allows
administrators to generate reports based on attendance and performance data and manage
tutoring sessions. Professors will be able to see which students from their classes have attended
tutoring for the course in question. The mobile app will provide students and tutors with the
ability to seek tutoring and manage their sessions, as well as receive notifications.
2.3 External Interfaces
This section identifies the external interfaces and protocols used in the development and
operation of the REMSY prototype.
2.3.1 Hardware Interfaces
A HID card reader will be used to read UIN data from ODU Identification cards. It will
communicate via USB with a kiosk computer set up to allow communication with the REMSY
web server. This will be used to open and close tutoring sessions.
2.3.2 Software Interfaces
The REMSY web server will access data from the Banner model databases via SQL
query. The Department of Computer Science Exchange email servers will be sent mail using
SMTP. LDAP and Kerberos will be used by the web server and mobile app to authenticate
against Active Directory.
Lab 2 – REMSY Product Specification
11
2.3.3 User Interfaces
REMSY can be both administered and accessed via a keyboard and mouse from a
desktop or laptop computer. Laptops may additionally make use of a track pad or touch screen
display in lieu of a mouse. Mobile users will make use of a touch screen display with on screen
keyboard. Mobile users may, in some cases, also make use of a stylus. Desktop and laptop users
will most likely view REMSY through an LCD flat panel display of varying size. Users opening
a session through a kiosk machine may make use of a card reader.
2.3.4 Communications Protocols and Interfaces
The majority of communications between desktop users and REMSY, as well as between
REMSY components, will be handled via TCP/IP over 1Gb Ethernet. Mobile users may make
use of IEEE 802.11 to access REMSY wirelessly. Card readers be connected to will kiosk
machines via USB. Prototype authentication will be handled using LDAP and Kerberos to
connect to an Active Directory domain. The REMSY web portal will be accessed via HTTPS
using a web browser. SSH will be used to administer the REMSY server, while Remote Desktop
Protocol will be used to administer the Active Directory server. Email will be sent from the
REMSY web server using SMTP.
3 SPECIFIC REQUIREMENTS
The requirements which the REMSY prototype must meet are detailed in the following
subsections.
3.3 Assumptions and Constraints
The assumptions, constraints, and dependencies detailed in Table 1 have been observed
in the REMSY prototype. These included conditions which, if not met, will affect the
Lab 2 – REMSY Product Specification
12
functionality, performance, or usability of the prototype in some way. Several of these conditions
are based around external influences on the REMSY project.
Condition
A HID card-reader is
available for the prototype
A mobile device is available
for the prototype
Integration of REMSY with
legacy software
Use of University resources
is available for the prototype
User data from the
University will be available
to populate the Banner
model database
Only valid data entries will
be provided
Type
Dependency
Constraint
Effect on Requirements
The HID reader function must be
simulated if one is not available
The mobile application must be simulated
if one is not available
Modeled software will need to be created
Constraint
Resources will need to be modeled
Constraint
Simulated data will need to be created
Dependency
Assumption
Allow for minimal error checking for
purposes to developing and demonstrating
the prototype
Allow for minimal errors for purposes to
developing and demonstrating the
prototype
Only valid data regarding
Assumption
courses, users, and tutoring
sessions are stored in
databases
All necessary data will be
Assumption Allows for development and
simulated for the prototype
demonstrating the prototype
All protocols of
Assumption Allow for all forms of required
communication for sending
communication to be developed and
notification will be available
demonstrated for the prototype
for the prototype
REMSY will be accessible
Assumption Allow for all browsers to be used for
on all popular browser
demonstrating the prototype
Reporting module and
Assumption Allow for generation of reports
Tracking module will be
available for prototype
Table 1. Effects of Assumptions, Dependencies, and Constraints on Requirements
Download