Running head: Lab 02 – REMSY Product Specification Lab 02 - REMSY Product Specification REMSY - Blue Team Zachary Regelski CS411W Janet Brunelle & Hill Price March 17th, 2014 Version: 2 1 Lab 02 - REMSY Product Specification 2 Table of Contents 1: INTRODUCTION .................................................................................................................................... 3 1.1 Purpose.......................................................................................................................................... 3 1.2 Scope ............................................................................................................................................. 3 1.3 Definitions, Acronyms, and Abbreviations ................................................................................... 4 1.4 References ..................................................................................................................................... 6 1.5 Overview ....................................................................................................................................... 7 2: GENERAL DESCRIPTION ..................................................................................................................... 7 2.1 Prototype Architecture Description .................................................................................................... 7 2.2 Prototype Functional Description ....................................................................................................... 8 2.3 External Interfaces .............................................................................................................................. 8 Figures Figure 1: Prototype Major Functional Component Diagram ...................................................................... 9 Tables Table 1: Effects of Assumptions, Dependencies, and Constraints on Requirements .................................. 10 Lab 02 - REMSY Product Specification 3 1: INTRODUCTION REMSY, REsource Management SYstem, is a web-based tutoring program developed by the CS410/411 Blue Team of Old Dominion University. REMSY is accessible from a standard web-browser utility, and is not an application installed on a PC. It operates using a database and a web server to provide for tutoring management. 1.1 Purpose The purpose of REMSY is to be an effective tool for managing a widespread tutoring system. As a tutoring tool, REMSY serves the needs electronic of tutors at a university, the needs of students who wish to take tutoring, and the needs of system administrators monitoring the tutoring system. Tutors approved by the institution or university can use REMSY to offer tutoring classes and to manage tutoring appointments with students. Students who have created an account with REMSY are able to view classes available for tutoring and sign up for ones they need. After having signed up, they can manage existing tutoring appointments. The system administrators of REMSY have access to all the powers of tutors and students, as well as the ability to collect usage data that is vital to the efficiency of the tutoring operation. 1.2 Scope The scope of REMSY is a tremendous improvement over any non-electronic means of a operating a tutoring program. There is less data entry involved than a paper version, and a lot more convenient because through REMSY, there can be near instantaneous communication which improves the coordination of students and tutors, as well as resources such as rooms. REMSY allows administrators to track important usage data such as who is attending which tutoring classes and whether or not it appears to have benefitted their grade. REMSY is also a boon for administration, by simplifying the communication between departments, such as math and physics, which might have different tutoring standards. In some institutions, when those separations are present, the Lab 02 - REMSY Product Specification 4 tutoring center is divided into separate factions that cause problems with one another in the operation of the tutoring system. Under the umbrella of REMSY these different systems can coexist peacefully. The REMSY prototype will have a test harness populated with artificial user data to demonstrate how the system functions when used. The prototype will also simulate a connection to the university database of users, Banner, and their account log-in methods, Shibboleth. Neither of these real services can be implemented in the prototype because these services deal with the personal information of many different students. The REMSY prototype will be FERPA compliant, and will be 508 compliant. 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. Administrator: The manager of a software tier. As a User, has all rights and privileges concerning a program and how it operates. Apache: A web server format for HTTP. Banner: Centralized academic and administrative records system. Blue Team: The creators of REMSY. Zachary Regelski, Seth Hohensee, Denis Mileyko, Eric Diep, Corey Campbell, and Matthew Letchworth. CS410/CS411: Classes taken in the Fall semester of 2013 and the Spring semester of 2014. Taught by Janet Brunelle and Hill Price. The Blue Team was founded in this class. FERPA: Family Educational Rights and Privacy Act. It is a law that gives students privacy to Lab 02 - REMSY Product Specification 5 their personal records. MySQL: A database query language. It is structured to store and sift through information. Old Dominion University: University in Norfolk, Virginia. Home of the Monarchs. PHP: A scripting language used for websites. REMSY: REsource Management SYstem. The name of the tutoring service designed by the Blue Team. User: A person using REMSY either on the web or via the mobile application. Student: A student who is not currently a Tutor. As a type of user, Students are seeking to either find tutoring, or apply to be a tutor. Tutor: A student who has applied to the institution and was granted tutor status. They teach students about classes they need help in. TutorTrac: REMSY’s rival. The current system at Old Dominion that is being implemented for tutoring. It is an online tutoring management software. (This space intentionally left blank.) Lab 02 - REMSY Product Specification 1.4 6 References Old Dominion University. (n.d.). Peer Educator Program. Retrieved February 11, 2014, from http://www.odu.edu/peereducator Old Dominion University. (n.d.). Tutoring & Mentoring. Retrieved March 16, 2014, from Academic Enhancement: http://uc.odu.edu/taa/ Redrock Software Corporation. (n.d.). TutorTrac. Retrieved February 11, 2014, from TutorTrac: http://www.tutortrac.com/subpage.php?go=tutor REMSY Blue Team. (2014). CS411 Lab01: Product Description. Retrieved February 11, 2014, from REMSY: http://www.cs.odu.edu/~411blue/?p=deliverables REMSY Blue Team. (2014, February 2). REMSY Lab 2 Outline. Retrieved March 16, 2014, from REMSY Deliverables: http://www.cs.odu.edu/~411blue/uploads/REMSY_lab2outline.pdf REMSY Blue Team. (2014). REMSY Overview. Retrieved February 11, 2014, from REMSY: http://ww.cs.odu.edu/~411blue/?p=overview U.S. Department of Education. (n.d.). Family Educational Rights and Privacy Act (FERPA). Retrieved February 11, 2014, from ED.gov: http://www.ed.gov/policy/gen/guid/fpco/ferpa/index.html Lab 02 - REMSY Product Specification 1.5 7 Overview The REMSY prototype will use a web server and a database identical to the type a real world, full scale implementation of the project would use. REMSY uses the internet server to access all of the data from the database and to return that information back to the user who originally asked for it via a web browser or a mobile application. One external interface that the REMSY prototype will have is the ability to read student identification data from a student ID card being swiped through a card reader. This functionality is for appointment checking purposes. 2: GENERAL DESCRIPTION The REMSY prototype will offer a majority of the features promised in the full-fledged version of the product. It will function as a general tutoring management product, in order to solve the original problem brought to the attention of the Blue Team. The mobile application will also be implemented, but will have a similar capability. 2.1 Prototype Architecture Description The REMSY prototype uses an Apache web server that hosts its user interface and PHP scripts. This web server will hold the main functionality of the REMSY programming. Second, the REMSY implementation will have a database server that runs MySQL. The database is for holding user data and class data, as well as anything else applicable to the tutoring center. For the purposes of the REMSY prototype, that information will be created artificially and loaded on as part of the test harness to demonstrate REMSY capabilities. (This space intentionally left blank.) Lab 02 - REMSY Product Specification 2.2 Prototype Functional Description The bulk of REMSY will be directed towards support of its web portal. When a REMSY user opens up REMSY in their web browser and log in, they will have access to the web page version of the prototype. Users will be able to use this website to create tutoring appointments, and use the privileges associated with their type of account, be it tutor, student, or administrator. 2.3 External Interfaces The REMSY prototype will be compatible with an HID card reader external interface. This card reader will allow students to swipe their student ID card to prove attendance or identification to the REMSY system. This is important for tutor meetings. The prototype will interface with a web server using HTML and PHP. The database server will be an Oracle database communicated with by SQL query. The prototype will also work with the Old Dominion University mail service in order to provide email alerts to users who sign up for them. A graphical depiction of the services REMSY uses can be found in the Prototype Major Functional Component Diagram in Figure 1. (This space intentionally left blank.) 8 Lab 02 - REMSY Product Specification Figure 1: Prototype Major Functional Component Diagram Users will interface with REMSY using common computing input and output devices. The keyboard, mouse, and monitor display are the tools required when using the web-based version of the prototype. For the mobile application, fingers are needed. The communication protocols for REMSY are commonly used and will be compatible with modern systems. It will utilize TCP/IP connections, LDAP, and HTTP. (This space intentionally left blank.) 9 Lab 02 - REMSY Product Specification 10 The design for the prototype of REMSY takes a few issues for granted. In Table 1 is a list of the assumptions, constrains, and dependencies that the prototype and its implementation have. Each one of these issues could pose a problem at some point or at any given point. 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 Interface with database server will be working for prototype Interface with web server will be working for prototype Only valid entries for all input are entered and stored in their respective servers All valid data regarding courses, users, and tutoring sessions are stored in databases Mobile devices will have the latest software installed All users will have access to a desktop All necessary data will be simulated for the prototype Assumption All forms of communication for sending notification will be available for the prototype Assumption Dependency Assumption Assumption Assumption Assumption Assumption Assumption Assumption Allow for minimal error checking for purposes to developing and demonstrating the prototype This enables the prototype to run This enables the prototype to display correctly and be accessible Lab 02 - REMSY Product Specification Condition 11 Type Effect on the Requirements Assumption Allow for all browsers to be used for REMSY will be accessible accessing REMSY on all popular browser Reporting module and Assumption Reports and tracking workflow will be Tracking module will be explained available for prototype All functionality of REMSY Assumption will be functional for prototype Table 1: Effects of Assumptions, Dependencies, and Constraints on Requirements