Requirements Specification

 

Requested By:       Dr. Scott Hunter

                             Assistant Professor of Computer Science

                             Computer Science Department of Siena College

 

                            

                             Ms. Jami Cotler

                             Instructor/Lecturer of Computer Science

                             Computer Science Department of Siena College

 

 

                             Dr. Tim Lederman

                             Professor of Computer Science

                             Computer Science Department of Siena College

 

 

 

Automated Excel Grading System

 

Oasis Technologies

 

 

Prepared By:

Brian Salmon

Vincent Leone

Jim Dzembo

Chris Mahar

Josh Yerkie

 

 

 

Automated Excel Grading System

Requirements Specification

 

Table of Contents:

 

Requirements Specification. 3

I.         Product Overview and Summary. 3

II.        Development, Operating and Maintenance Environments. 3

III.      Use Case Narrative. 4

IV.      External Interfaces and Data Flows. 5

V.       Functional Requirements. 15

VI.      Performance Requirements. 15

VII.     Exception  Handling. 16

VIII.    Early Subsets and Implementation Priorities. 16

IX.      Foreseeable Modifications and Enhancements. 16

X.       Acceptance Criteria. 17

XI.      Testing Requirements. 18

XII.     Design Hints and Guidelines. 18

XIII.    Gantt Chart 18

Appendices. 19

I.         Sources of Information. 19

II.        Glossary of Terms. 19


Requirements Specification

I. Product Overview and Summary

Siena College offers two courses in the Computer Science Department that utilize Microsoft Excel. These courses have a required lab where the students create spreadsheets, which then need to be graded by the lab instructor. There is also a pre-lab associated with each lab that the students are required to complete.  There are a large number of students that take these courses thus creating a large amount of excel spreadsheets that requiring grading by the lab instructors. As a result of the high quantity of spreadsheets that need grading we have been tasked by Dr. Scott Hunter and Ms Jami Cotler with creating a system to grade these labs and pre-labs automatically and report back to the students and instructors the results. All users will have the ability to login to a web based system. The students will be able to submit these labs and pre-labs to the system for grading and view their grades.

II. Development, Operating and Maintenance Environments

The development of the Automated Excel Grading System will be done on a combination of Windows and Macintosh based computers. It will run on Siena College’s web server and use Siena’s Database Management System (DBMS) for storage. The maintenance of the system will be monitored by the course administrator. 

 


III. Use Case Narrative

 

Student

            The students will have the ability to login to the website with a username and password, if they do not have a username they will be able to create their own accounts.  Once the student logs in they will be able to upload their pre-labs and have the system grade them.  After the pre-lab is graded it will provide a report to the student with all of their errors.  The students will also be able to submit their labs, and the labs will be graded, and the grade will be displayed to the student after it is approved by the instructor. 

 

Lab Instructor

            The instructor will receive a report of what the students got correct and incorrect on the pre-labs for use in determining where the problem areas are.  The system will also grade the labs for the instructor and display each student’s grade.  The lab instructors will have the ability to view the errors on each lab and override the grade in the system if what the system classified as an error is deemed acceptable by the instructor.  The lab instructors will also be able to sort students by the lab that the student attends and the lab number that they wish to view.    

 

Lecture Instructor

            Lecture Instructors will have the ability to view student’s lab grades in the system that the lab instructor has approved.

 

Course Administrator

            The course administrator will have the ability to edit accounts and override any registration errors made by the students.  The course administrator will be able to submit the keys for grading, and in addition to these features, will have all the features of the lab instructor. 


IV. External Interfaces and Data Flows

External Interfaces:

Login View:

This is a view that all users will see when first loading the website.  It is where all users will enter their username and password.  If student's have not already set up their account, they can click on the "Register Here" link which will take them to the Register View. 

 

Register View:

This is the view students will see when attempting to create an account.  They will fill in their Name, Username, Password twice for verification, Lecture Section, and Lab Section and then click on a "Register" button to finish their registration.

 

Student View:

This is a view of what the students will see when they log into the system.  It will display all lab files associated with each lab and the corresponding grades.  It will also display a button to upload new labs and pre-labs.

 


Lab Instructor View 1:

This is the area where Lab Instructors will be able to decide which grades they want to view.  They will first select which students they want to see: either a single lab section or all of their lab sections.  Then they will select if they want to view all labs or a specific lab.

 


Lab Instructor View 2:

This is where the grades selected in Lab Instructor View 1 are displayed.  This is where Lab Instructors can choose to view the graded files, approve the grades and also change the grade if necessary.

 

Lecture Instructor View 1:

This is the area where Lecture Instructors will be able to decide what they want to view.  They will first select which students they want to see: either a single lecture section or all of their lecture sections.  Then they will select if they want to view all labs or a specific lab.

 


Lecture Instructor View 2:

This is where the grades selected in Lecture Instructor View 1 are displayed.

 

Course Administrator View 1:

This is the area where the Course Administrator will be able to decide which grades they want to view.  They will first select which students they want to see: either a single lab section, a single lecture session, or all students.  Then they will select if they want to view all labs or a specific lab.

 


Course Administrator View 2:

This is where the grades selected in Course Administrator View 1 are displayed. From this screen they will also be able to launch the screen to edit a student's account (Course Administrator View 3).

 


Course Administrator View 3:

When the Course Administrator chooses a student whose account needs to edited, this screen will show everything stored on this particular students account in separate fields.  The Course Administrator will be able to change any of these fields.  These fields include name, username, password, lecture section, and lab section.


Data Flow Diagrams:

Level 0 Context Free Diagram

This diagram is a general overview of the users and how they will interact with the Automated Excel Grading System. 

 

 


Level 1

This diagram is a more in depth description of how the users will interact with the interface including how the database will be utilized to retrieve information. 

 

Level 2 Grading System

This diagram shows how the grading system works.  The main process is to grade the lab and pre lab files, and this shows how the grading system will retrieve files and the key, and store the results after grading.

 

Level 3 User Interface

This diagram shows the detailed design of how the users will interact with the interface and how the interface will interact with the database. It also shows the processes that the users will be able to perform on the system.

 

 

 


V. Functional Requirements 

We will attempt to achieve the following functional requirements for the Automated Excel Grading System:

  • Four different users will be created. 
    • Students
    • Lab Instructors
    • Lecture Instructors
    • Course Administrator
  • Each user will use the same log-in screen which, upon entering username and password, will bring them to their individual homepages based on their user type.
  • Student accounts will be created by the Student.  When the students first create their accounts they will chose their lab section and lecture section. 
  • Students will have the ability to submit labs and pre-labs.
  • Students will have the ability to view grades of their own labs and pre-labs.
  • Pre-lab grades will be provided immediately.  Lab grades must wait for Lab Instructor approval.
  • Lab Instructors will be able to view a list of students based on 2 criteria filters:
    • Lab Section - choose a single Lab Section or all of their Lab Sections.
    • Lab Number – choose a particular lab or all labs.
  • Lab Instructors will be able to change their own student’s lab grades when necessary.
  • Lab Instructors will approve grades for labs so that students can view their grades.
  • Lecture Instructors will be able to view a list of students based on 2 criteria filters:
    • Lecture Section - choose a single Lecture Section or all of their Lecture Sections.
    • Lab Number – choose a particular lab or all labs.
  • The Course Administrator will have the abilities of the Lecture Instructor and Lab Instructor and will also have the ability to edit student accounts.

VI. Performance Requirements

The Automated Excel Grading System will be designed to work on most web browsers. We will be testing our system on the following web browsers: Microsoft Internet Explorer 6.0 and 7.0, Mozilla Firefox 1.0.7, and Safari 2.0.1.

The online interface will be designed to work on any screen resolution.


VII. Exception Handling

The system will have the ability to alert the user in specific cases:  

·        If an incorrect log in name or password is entered the user will be alerted and asked to re-enter his/her user name and password.

·    When a lab and pre-lab are submitted it will show the student a list of the assignments submitted to verify that their lab or pre-lab was correctly and completely submitted.

·        If the user submits a file with an unrecognizable extension it will let the user know that they have submitted an incorrect file.

VIII. Early Subsets and Implementation Priorities

The most important aspects of the Automated Excel Grading System are as follows:

 

·        A user-friendly interface.

·        A grading system for labs that provides both grades and feedback regarding errors made to both the student and the lab instructor.

·        A grading system for pre-labs which will provide immediate feedback to both students and lab instructors.

·        The ability for instructors to change/edit grades.

IX. Foreseeable Modifications and Enhancements

If time and resources allows we will consider making the following enhancements to the software:

-     Updates on Student Account homepages to tell them that a pre-lab/lab is due soon or is, in fact, over-due.

-         Updates on Lab Instructor homepage of highest occurring problem area’s on pre-labs.

-         Show errors directly on students excel files in the form of comments.

-         Create user interface for instructor to generate grading keys.


X. Acceptance Criteria

The Automated Excel Grading System will complete the following tasks in a web-based environment for each user type:

 

1.  Student Accounts:

·        Have the ability to create an account with their name, email address, class section number, and lab section number.

·        Have the ability to log onto the system via a website and view a homepage oriented for students.

·        Have the ability to upload Pre-Labs to the system an infinite amount of times and receive prompt graded feedback. 

·        Have the ability to upload Labs which Lab Instructors will be able to view.

·        Have the ability to view graded Labs with explanations of errors made. This will be done on a page easily navigated to from the Student homepage. 

 

2.  Lab Instructor Accounts:

·        Have the ability to log onto the system via a website and view a homepage oriented for Lab Instructors.

·        Have the ability to easily navigate through the website from their homepage to other useful pages that will perform further tasks as described in bullets below.

·        Have the ability to view all grades of their students by choosing a section.  This will be done on a page easily navigated to from the Lab Instructor home page.

·        Have the ability to view graded Labs, including explanations of errors and change grades as needed and then mark the lab grade correct so it can be uploaded to the student’s grades.  This will be done on a page easily navigated to from the Lab Instructor home page.

 

3.  Lecture Instructor Accounts:

  • Have the ability to log onto the system via a website and view a homepage oriented for Course Instructors.
  • Have the ability to view all lab and pre-lab grades of their students by choosing one or all Lecture sections.  This will be done on a page easily navigated to from the Course Instructor homepage.

 

4.  Course Administrator Accounts:

  • Have the ability to do everything both instructor accounts can do.
  • Have the ability to change student accounts.
  • Have the ability to upload lab and pre-lab solutions and keys.

XI. Testing Requirements

The Automated Excel Grading System will be tested with a series of sample lab keys and solutions that will be provided to us by our client Ms. Jami Cotler.  We will test the student accounts by creating new accounts in the system in various correct and incorrect ways. We will also attempt to upload the sample labs and pre-labs in various correct and incorrect ways in order to ensure the grade and error reports are accurate.  We will test the Lab Instructor accounts by checking the labs we uploaded with the student accounts and attempt to change the grade in the system and then view the grade.  We will test the Lecture Instructor accounts by attempting to view the grades of labs we submitted with the student account and approved with the Lab Instructor account. We will test the Course Administrator account by uploading the lab key samples.

XII. Design Hints and Guidelines

The system will be designed to work on any computer with an internet connection using the 3 most popular internet browsers:

Microsoft Internet Explorer 6.0 and 7.0

Mozilla Firefox 1.0.7

Safari 2.0.1. 

 

XIII. Gantt Chart

 

 

 

 


Appendices

 

I. Sources of Information

The information in this document was gathered from meetings with our clients, Ms.       Jami Cotler and Dr. Scott Hunter, knowledge learned from Dr. Lederman’s Software Engineering lectures, the class textbook Software Engineering: A Practitioner’s Approach by Roger S. Pressman, and team websites from previous years located at: http://www.cs.siena.edu/~lederman/csis410/csis410.html.

 

II. Glossary of Terms

 

Gantt Chart:  A popular type of bar chart that illustrates a project schedule including start and finish dates, tasks, and events that are to occur to complete the project

 

HTML: Hypertext Markup Language (HTML) is programming language used in the creation of Web pages.

 

Java: A programming language used for developing object oriented programs.

 

JavaScript: Javascript is a scripting language developed by Netscape that can interact with HTML source code, enabling Web authors to spice up their sites with dynamic content.

 

MySQL: An open source relational database management system (RDBMS) that uses Structured Query Language (SQL), the most popular language for adding, accessing, and processing data in a database.

 

PHP: PHP Hypertext Preprocessor is a widely-used, open-source, general-purpose scripting language that is especially suited for web development.

 

Student User/Account: The most basic user of this software.  Will be able to create their own accounts and use them to upload lab's and pre-lab's and also view their grades.