Acceptance Test
Requested by:
Dr. Scott
Hunter
Assistant
Professor
Siena
College
Computer
Science Department
Ms. Jami
Cotler
Instructor
Siena
College
Computer
Science Department
Excel Grading System
NSG Software
Prepared by:
Justin
Spegele – Team Leader & Webmaster
Kristen
Dobreski – Testing Manager
Dan Lomanto
– Development Manager
Matt Warner
– Lead Programmer & System Admin
May 2,
2006
Excel
Grading System
Acceptance
Test
Section 1: Introduction…………………………………………………..1
Section 2: Functional Requirements…………………………………….1-5
Section 3: Development and Production Environments………………...6
Section 4: Test Plan
Section 5:
Testing Documents
Section 6: User Displays………………………………………………...7-57
Section 7: Gantt Chart…………………………………………………...58
Section 8: Glossary……………………………………………………...59-60
Reason for Project:
Throughout the course of the year, the Computer Science faculty conducts labs in the CSIS-010 and CSIS-011 courses that teach students how to use Microsoft Excel. Each week professors spend countless hours correcting labs when their time could be spent in a much more productive fashion. That is the reason why we are creating AEGIS, the Automatic Excel Grading and Information System. After the completion of our software, professors will be able to spend their time more wisely instead of correcting labs. Because there are different types of professors for these classes, there are different operations that each person will need to be able to do with the software.
Section 2: Functional Requirements
There are four different users that will be using the software, which are the Course Coordinator, Lecture Instructor, Lab Instructor, and Student.
Course Coordinator:
The Course Coordinator needs to be able to do many things. The Course Coordinator is in charge of all the Microsoft Excel labs therefore they need to have privelages to do everything. Some of the abilities that the Course Coordinator will be able to do are:
- Add/Edit Lab Sections - MET
- Add/Edit Lecture Sections - MET
- Upload Grading Key Files - MET
- Specify the number of lab files that need to be handed in by each student - MET
- Add/Edit Students - MET
- Add/Edit Instructors - MET
- Search for Students and Instructors - MET
- View a Student’s Grades - MET
- View a Lab/Lecture Section’s Grades - MET
- Change Password - MET
- View lab summaries for all students - MET
Lab Instructor:
The Lab Instructor will have some of the same permissions as the Course Coordinator. Some of the abilities though will be made so that the Lab Instuctor may only perform them for their sections of labs. A list of their abilities are:
- Change Password - MET
- Change a Student’s Grade within their lab section - MET
- Search for Students - MET
- Edit Students in their lab sections - MET
- View Grades of Students - MET
- View lab summaries for Students - MET
Lecture Instructor:
The Lecture Instructor is similar to the Lab Instructor but also does not have all the same abilities as a Course Coordinator. A list of what the Lecture Instructor will be able to do is:
- Change Password - MET
- Change a Student’s Grade within their lecture section - MET
- Search for Students - MET
- View Grades of Students - MET
- View lab summaries for Students - MET
Student:
A Student will have the most restricted abilities for obvious reasons. We do not want a student to be able to change any information about any student. Therefore the permission level for a student will be the lowest of all four users. A Student will be able to perform the following operations:
- Change Password - MET
- Upload appropriate lab files from their computer - MET
- View their Grades - MET
- View lab summaries - MET
- Change Lecture Section - MET
- Change Lab Section - MET
In addition, Students are able to register themselves with the system from a link on the login page.
In our software, there are three main
parts that our clients will interact with on a
regular
basis, whether they realize it or not.
These three parts are the parser, the database, and the interface.
Parser:
In our software project
the major inner workings will consist of the parser. What the parser will be able to do is, given
a correct excel spreadsheet and a student excel spreadsheet, parse out
corresponding information from each spreadsheet, compare the two spreadsheets
to see what the student got correct and what they also got wrong. The way the parser works is that since it is
being written in java, libraries exist that have functions that enable the
picking of a particular cell or area of a spreadsheet and keep track of its
characteristics in some data-type, most likely a string. The parser will do this for both the
student’s spreadsheet and the correct spreadsheet. When this is done the two strings are
compared to see if they match. If they
do match then the student’s answer is correct and if it doesn’t match then the
answer is incorrect. Certain cell types,
such as formulas and graphs, will be flagged for review by the lab instructor. -
MET
Database:
There will also be a
database in our system that will organize into tables
the
information of every user of the system.
This includes all students in CSIS 010 and 011, and all lab and lecture
instructors of those courses. The
students will be separated by which lab and lecture sections they are in so
that way their respective instructors may access each student’s information
easily. Each student will have
information such as their SID numbers, lab section, lecture section, submitted
labs, and grades. There are also tables
to manage Sections, Labs, Key Files and Submitted Files. This database will also contain information
about previous semesters as time goes on.
The purpose of this is that in case something in the past needs to be
checked, a faculty member may look in the database for whatever they need. - MET
Interface:
The system website is going
to be the interface that both the students and
faculty
members will be interacting with on a regular basis. This system will be required to output the
following grading summaries:
· Single
lab for a single student. - MET
· All
lab grades for a single student. - MET
· Grades
for a single lab for a single section. -
NOT MET
· Grades
for all labs for a single section. - MET
· Single Question for a single section. - NOT MET
· Single Question for all sections. - NOT MET
Students will be able to log in and
then either view their grades or submit
any
lab files that they may have, as long as it is not passed the designated
deadline. Instructors will be able to view every student’s
grades and
information. The Course Coordinator will be able to upload
a grading
key,
manage all user accounts, view every student’s grades like the
Instructors,
and any small loose ends that may be taken care of by an
administrator. For each action there will be a different
web-page that the
user
will see.
Section 3: Development and Production Environments
Development
Environment
· Dell dimension 4550
o Windows XP Home Edition Service Pack 2
o 2.4 GHz Pentium 4
o 37 GB Hard Drive
o 512 MB RAM
· Gateway PC
o Windows 2000 Service Pack 3
o 1.3 GHz Pentium 4
o 35 GB Hard Drive
o 654 MB RAM
· Web Server
o Oraserv 2.4.21-4.el.
o Apache 2.0.46
o PHP 4.3.11
o MySQL 4.1.14
· Our system will be tested on Internet
Explorer, Firefox, Opera and AOL
web browsers.
Production
Environment
The manner in which we are
developing our software allows for our software to be platform
independent. This means that no matter
what the machine a person is using, they will be able to perform all the tasks
that they desire. There are only a few
small requirements that our software will need on each computer.
· Any
common web browser.
· Java
Runtime Environment installed on the web server (tested on Java 1.4).
Student
Self-Registration Page
This is the page that students will be brought to when they click the “Register Now” link on the login screen. Here students will enter their information and register themselves with the Aegis System. Once “Register” is clicked, students can access the system immediately.
Student – Change Password
This is the student’s “Change Password” screen. Here students will enter their old password, then their desired new password and again to confirm the new password. Student then click “Save,” which enters the new password into the database.
Students – Change Sections
This is the student’s “Change Sections” page. Here students have the option of changing the sections that they are currently registered for in the system. The purpose of this screen is if a student changes sections after the start of the semester or if the student accidentally registers with the wrong section. The student is also required to re-enter their password on this page in order for the changes to be entered into the database.
Students – Upload Labs
These are the student’s upload lab pages. First the student must select a lab and click “Go.” The student is then given a file upload input box for each required file for that lab. Students browse for their files and then click upload. The files are then uploaded and graded. When “Upload” is clicked the grading functions are called by the GUI, a grading summary is then generated and placed in a folder on the server for later access. This allows users to get summaries at the click of a button.
Students
– View Grades
This is the student’s “View Grades” page. This page generates a table listing all of the labs that the student has uploaded files for and the grades that have been recorded for those labs. As we do not have “real” labs and grading guides, we elected not to insert the grades into the database for the purposes of testing. Each grade is displayed as a link to an individual summary of what the student got wrong on that lab.
Lecture Instructor – Change Password
This is the Lecture Instructor’s “Change Password” page. This page allows the lecture instructor to change his/her password by entering their old password, their new password, and again for confirmation purposes.
Lecture Instructor – Student Manager (Search)
This is the Lecture Instructor’s “Student Manager” search function. From here, the lecture instructor can choose to Add and new student, Show All existing students, Search students by their section or Search all students by either username or last name.
Lecture Instructor – Student Manager (Add)
This is the Lecture Instructor’s “Student Manager” add function. From here, lecture instructors can manually add students to the AEGIS database.
Lecture Instructor – Student Manager (Show All)
This is the Lecture Instructor’s “Student Manager” show all function. This page lists all students registered with the system and the sections they are enrolled in.
Lecture
Instructor – Student Manager (Search by Section)
This is the Lecture Instructor’s “Student Manager” search by section function. After the instructor chooses a section of theirs from the previous page, they are brought here, where all students registered with that section are listed.
Lecture Instructor – Student Manager (Search by name)
This is the Lecture Instructor’s “Student Manager” search by name function. After the instructor searches by either username or last name on the previous page, they are brought here where information on that student is listed out.
Lecture Instructor – View Lab Results
This is the Lecture Instructor’s “View Lab Results” page. Here lecture instructors have the option of searching for a single student (by username or last name) or by searching for an entire section. The resulting pages can be seen below.
Lecture Instructor – View Results (Search by student)
This is the Lecture Instructor “View Results” search by student function. A student’s lab grades for the semester are listed out after an instructor has searched for that particular student. Each grade is displayed as a link to an individual summary of what the student got wrong on that lab.
Lecture Instructor – View Results (Search by Section)
This is the Lecture Instructors “View Results” search by section function. After an instructor has chosen a particular section, all students in that section are listed out on this page with the grades of all of the labs they have submitted. Each grade is displayed as a link to an individual summary of what the student got wrong on that lab.
Lab Instructor – Change Password
This is the Lab Instructor’s “Change Password” page. Here the lab instructors can change their login password by entering their current password, their desired new password and again for confirmation.
Lab Instructor – Student Manager (Search Page)
This is the Lab Instructor’s “Student Manager” search function. From here, the lab instructor can choose to Add and new student, Show All existing students, Search students by their section or Search all students by either username or last name.
Lab Instructor – Student Manager (Show All)
This is the Lab Instructor’s “Student Manager” show all function. This page lists all students registered with the system and the sections they are enrolled in.
Lab
Instructor – Student Manager (Search by Section)
This is the Lab Instructor’s “Student Manager” search by section function. After the instructor chooses a section of theirs from the previous page, they are brought here, where all students registered with that section are listed. Lab Instructors are given the ability to edit student accounts from this page. The edit page is shown below.
Lab Instructor – Student Manager (Search by name)
This is the Lab Instructor’s “Student Manager” search by name function. After the instructor searches by either username or last name on the previous page, they are brought here where information on that student is listed out. Here again we see that the Lab Instructors are given editing privileges.
Lab
Instructor – Student Manager (Edit)
This is the Lab Instructor’s “Student Manager” edit page. Here, after clicking the edit button next to a student, the instructor can edit information on the student. First name, last name, and sections can be edited.
Lab Instructor – View Lab Results
This is the Lab Instructor’s “View Lab Results” page. Here lab instructors have the option of searching for a single student (by username or last name) or by searching for an entire section. The resulting pages can be seen below.
Lab Instructor – View Results (Search by student)
This is the Lab Instructor “View Results” search by student function. A student’s lab grades for the semester are listed out after an instructor has searched for that particular student. Each grade is displayed as a link to an individual summary of what the student got wrong on that lab.
Lab Instructor – View Results (Search by Section)
This is the Lab Instructors “View Results” search by section function. After an instructor has chosen a particular section, all students in that section are listed out on this page with the grades of all of the labs they have submitted. Each grade is displayed as a link to an individual summary of what the student got wrong on that lab.
Lab Instructor – Change Grades
This is the Lab Instructor “Change Grades” page. From here, the instructor searches for a student by their username. This brings the instructor the following page.
Lab Instructor – Change Grades (Search by Lab)
This is the Lab Instructor’s “Change Grades” search by lab function. After searching for a student, the instructor selects a lab that has been submitted by the student. This brings the instructor to the following page.
Lab
Instructor – Change Grades (Change Points)
This is the Lab Instructor’s “Change Grades” page where the instructor manually changes the amount of points that have been taken away for a particular part of the lab which has been marked wrong. The instructor simply changes the number of points and clicks “Save” on the top right.
Course Coordinator – Change Password
This is the Course Coordinator’s “Change Password” page. Here the Course Coordinator can change their password by entering their current password, followed by their desired password twice, for confirmation purposes.
Course Coordinator – Student Manager (Search Page)
This is the Course Coordinator’s “Student Manager” search function. From here, the coordinator can choose to Add and new student, Show All existing students, Search students by their section or Search all students by either username or last name.
Course Coordinator – Student Manager (Show All)
This is the Course Coordinator’s “Student Manager” show all function. This page lists all students registered with the system and the sections they are enrolled in. The Course Coordinator is given both edit and delete privileges. Both of these are shown in screen shots below.
Course
Coordinator – Student Manager (Search by Section)
This is the Course Coordinator’s “Student Manager” search by section function. After the instructor chooses a section of theirs from the previous page, they are brought here, where all students registered with that section are listed. Course Coordinators are given the ability to edit and delete student accounts from this page. These pages are shown below.
Course Coordinator – Student Manager (Search by name)
This is the Course Coordinator’s “Student Manager” search by name function. After the instructor searches by either username or last name on the previous page, they are brought here where information on that student is listed out. Here again we see that the Course Coordinator is given both edit and delete privileges.
Course
Coordinator – Student Manager (Edit)
This is the Course Coordinator’s “Student Manager” edit page. Here, after clicking the edit button next to a student, the instructor can edit information on the student. First name, last name, and sections can be edited.
Course Coordinator – Student Manager (Delete)
This is the Course Coordinator’s “Student Manager” delete function. Clicking the delete button next to a student’s name will bring the Course Coordinator to this confirmation page. From here, clicking “Yes” will delete the user from the system, while “Cancel” will go back to the main Student Manager page.
Course Coordinator – Instructor Manager (Search Page)
This is the Course Coordinator’s “Instructor Manager” search function. From here, the coordinator can choose to Add and new instructor, Show All existing instructors or Search all instructors by either username or last name.
Course Coordinator – Instructor Manager (Show All)
This is the Course Coordinator’s “Instructor Manager” show all function. This page lists all instructor registered with the system and the sections they are assigned to. The Course Coordinator is given both edit and delete privileges. Both of these are shown in screen shots below.
Course Coordinator – Instructor Manager (Search by name)
This is the Course Coordinator’s “Instructor Manager” search by name function. After the coordinator searches by either username or last name on the previous page, they are brought here where information on that instructor is listed out. Here again we see that the Course Coordinator is given both edit and delete privileges.
Course
Coordinator – Instructor Manager (Edit)
This is the Course Coordinator’s “Instructor Manager” edit page. Here, after clicking the edit button next to a student, the coordinator can edit information on the student. First name, last name, and sections can be edited. This is where additional sections can be added for an instructor.
Course Coordinator – Instructor Manager (Delete)
This is the Course Coordinator’s “Instructor Manager” delete function. Clicking the delete button next to an instructor’s name will bring the Course Coordinator to this confirmation page. From here, clicking “Yes” will delete the user from the system, while “Cancel” will go back to the main Instructor Manager page.
Course Coordinator – Sections Manager (Search Page)
This is the Course Coordinator’s “Sections Manager” search function. From here, the coordinator can choose to Add and new section, Show All existing sections or Search all sections by the section id.
Course Coordinator – Sections Manager (Show All)
This is the Course Coordinator’s “Sections Manager” show all function. This page lists all sections registered with the system and the instructors assigned to them. The Course Coordinator is given both edit and delete privileges. Both of these are shown in screen shots below.
Course Coordinator – Sections Manager (Search by Id)
This is the Course Coordinator’s “Section Manager” search by Id function. After the coordinator searches by Section Id on the previous page, they are brought here where information on that section is listed out. Here again we see that the Course Coordinator is given both edit and delete privileges.
Course
Coordinator – Sections Manager (Edit)
This is the Course Coordinator’s “Sections Manager” edit page. Here, after clicking the edit button next to a section, the coordinator can edit information on the section. Section Name, Instructor and Type can be edited.
Course Coordinator – Sections Manager (Delete)
This is the Course Coordinator’s “Sections Manager” delete function. Clicking the delete button next to a section’s name will bring the Course Coordinator to this confirmation page. From here, clicking “Yes” will delete the section from the system, while “Cancel” will go back to the main Section Manager page.
Course Coordinator – Lab Manager (Search Page)
This is the Course Coordinator’s “Lab Manager” search function. From here, the coordinator can choose to Add and new lab, Show All existing labs or Search all labs by the lab id.
Course Coordinator – Lab Manager (Show All)
This is the Course Coordinator’s “Lab Manager” show all function. This page lists all labs registered with the system and the number of files required for them. The Course Coordinator is given delete privileges; there is no edit function for labs. Screen Shots for the delete function are shown below.
Course Coordinator – Lab Manager (Search by Id)
This is the Course Coordinator’s “Lab Manager” search by Id function. After the coordinator searches by Lab Id on the previous page, they are brought here where information on that lab is listed out. Here again we see that the Course Coordinator is given delete privileges.
Course Coordinator – Lab Manager (Delete)
This is the Course Coordinator’s “Lab Manager” delete function. Clicking the delete button next to a lab name will bring the Course Coordinator to this confirmation page. From here, clicking “Yes” will delete the lab from the system, while “Cancel” will go back to the main Lab Manager page.
Course Coordinator – View Lab Results
This is the Course Coordinator’s “View Lab Results” page. Here the Course Coordinator has the option of searching for a single student (by username or last name) or by searching for an entire section. The resulting pages can be seen below.
Course Coordinator – View Results (Search by student)
This is the Course Coordinator’s “View Results” search by student function. A student’s lab grades for the semester are listed out after an instructor has searched for that particular student. Each grade is displayed as a link to an individual summary of what the student got wrong on that lab.
Course Coordinator – View Results (Search by Section)
This is the Course Coordinator’s “View Results” search by section function. After the Course Coordinator has chosen a particular section, all students in that section are listed out on this page with the grades of all of the labs they have submitted. Each grade is displayed as a link to an individual summary of what the student got wrong on that lab.
Course Coordinator – Upload Grading Keys
This is the Course Coordinator’s “Upload Grading Keys” page. Here the Course Coordinator selects a lab from the dropdown to upload the key files for, and then uploads two files. The two files are the Excel key file and the Grading Guide text file which is used to determine what needs to be graded.
Apache Web Server – an open source web server for Unix-like systems.
Code – A
set of data or symbols that represent a string of instructions to the computer.
Course Coordinator – The
administrator for the Excel Grading System.
Has the privileges to perform all tasks on the web interface as well as view
all information.
CSIS-010 – Intro to Computer Applications. One of the Siena College courses that will be
using our Excel Grading System.
CSIS-011 – Problem Solving with
Spreadsheets. Another course that will
be using our Excel Grading System.
Data Flow Diagram - A
representation of the functional decomposition of a system.
administrator
will be using on the website to wither grade or submit the labs.
Database - The
organization of all the labs into a structure that is simplest to the faculty members
and System Administrator.
Gantt Chart - A
chart that depicts progress in relation to time, often used in planning and
tracking a project.
GUI – A Graphical User Interface is a method of interacting with a computer
through direct manipulation of graphical images in addition to text.
HTML – In computing, 'HyperText Markup
Language ' (HTML) is a markup language designed for the creation of web pages
with hypertext and other information to be displayed in a web browser.
HTTP - HyperText Transfer Protocol (HTTP) is
the method used to transfer or convey information on the World Wide Web. The
original purpose was to provide a way to publish and receive HTML pages.
HTTPS – The https: URI scheme is a URI scheme
which is equivalent and syntactically identical to the http: scheme normally
used for accessing resources using HTTP. Using an https: URL indicates that
HTTP is to be used, but with additional security measures applied to the
transactions.
Interface – See GUI
Key – The key is something that the course
coordinator uploads into the system in order for the labs submitted by the
students to be corrected against. The
key is a perfect copy of what the lab should look like.
Lab Instructor – The
lab instructor may or may not be a lecture instructor. The lab instructor is a person who grades the
lab reports.
Lab Reports -
A summary of each lab that has been graded for each student who has submitted a
lab.
Lecture Instructor – The
lecture instructor is a person who teaches a lecture section for either CSIS-010
or CSIS-011. They have the ability to
view grades through the web interface and also grade summaries.
Master Test Plan – The highest level of test plans for software testing.
NSG – Non-Commissioned Software Group.
Parser – The class of functions that will parse information out of Excel files.
PHP –
PHP Hypertext Preprocessor is an
open-source, reflective programming language used mainly for developing
server-side applications, dynamic web content, and more recently, a broader
range of software applications.
Regression Testing - The retesting of a section of code after it has been changed to fix a problem or bug.
Simulators
- A computer program that
attempts to simulate an abstract model of
a particular system.
Student – The student, one of the four main
users within the system, is a person enrolled in either CSIS-010 or
CSIS-011. They have the ability to
submit lab reports and view their own grades.
Test Plan Case – see Unit Test.
Test Plan Documents – Section 4.1 of this document.
UI (User Interface) – See
GUI.
Unit Test - a procedure used to verify that a particular module of source code is
working properly.
Use-Case – Describes how the system responds to
the requests of different actors.
Waterfall Model – A model in which all relevant milestones are identified with their relationship to the development process. It demonstrates what the steps of software development are and in what order they must be completed before the next one is able to begin.