Requirements Specification

Requested by:   Dr. Darren Lim

Assistant Professor

Department of Computer Science

Siena College

 

Mrs. Pauline White

Visiting Instructor

Department of Computer Science

Siena College

 

Generation Java

 

ID – 10t Consultants

 

Prepared by:    Kevin Mulchay

Christine Fox

                     Nick Miller

                                             Jordan Steans

 

 

October 24, 2008

Generation Java

Requirements Specification

 

Table of Contents

 

Section 1: Product Overview and Summary……………………………………...………..3

 

Section 2: Development, Operating, and Maintenance Environments………….………….3

 

Section 3: External Interfaces and Data Flows..……………………………….....………..3

 

Section 4: Functional Requirements………………………………………………......……4

 

Section 5: Performance Requirements…………………………………..…………………11

 

Section 6: Exception Handling……………………………………...……………………..11

 

Section 7: Early Subsets and Implementation Priorities…………………………………..12

 

Section 8: Foreseeable Modifications and Enhancements………………………...……….12

 

Section 9: Acceptance Criteria……………………………………………………………..12

 

Section 10: Testing Requirements (requirements based inventory)…………………….....14

 

Section 11: Gantt Chart…………………………………………………………………….14

 

Section 12: Glossary of Terms…………………………………………………………..…15

 

 

Requirements Specification

 

Section 1: Product Overview and Summary

 

Students learn best through practice and application of course materials. Generation Java will provide students with the ability to practice, complete homework assignments, take quizzes and test, in an input based web application that will compile and run the student’s Java code for instantaneous feedback. Instructors will be able to create question sets and allow student access as well as being able to offer more practice for students. Administrators will manage, update, and maintain this application management system.

 

Section 2: Developing, Operating, and Maintenance Environments

 

Generation Java will be developed at Siena College in the Software Engineering Laboratory. Using a Dell Dimension 4550 running Windows XP and an Apple iMac running OS X, ID – 10t will create an input-based web application. ID – 10t will be using PHP, HTML, and CSS to design the team’s website and Oracle as the database to complete the project. Generation Java will be stored on Oraserv. We will be using techniques learned in Software Engineering (CSIS-410) and other computer science classes to accomplish our goals. The requirements set by our clients Dr. Lim and Mrs. White will also help us to develop the application. Generation Java will run on all major web browsers, including but not limited to, Internet Explorer, Safari, and Mozilla Firefox.

 

Section 3: External Interfaces and Data Flows (Located in Separate Document)

 

Section 4: Functional Requirements

                                                 

Requirements grouped according to Use Case.

System Administrator:

There is only one System Administrator.

Once logged in, a System Administrator has three views available:

·      Student

·      Instructor

·      Administrator

 

The System Administrator can perform different tasks based on which view is currently be used:

 

Student View

·      Registration

o      The System Administrator views the system as a Student that is registered in all possible courses.

o      The System Administrator is not seen as registered for any course by any user.

o      The System Administrator does not need to log out to switch between courses.

           

·      Questions/Question Sets

o      The System Administrator is able to attempt any of the question sets, including all homework, quiz, test, and practice sets.

o      The System Administrator is able to save code to a database.

o      Once code is compiled and executed, the System Administrator will receive feedback on it.

o      The feedback received by the System Administrator is identical to that of a Student; however, it is not viewable by any Instructor.

o      The System Administrator’s grades are not counted in any reports, including reports run by an Administrator.

o      The System Administrator should be aware when the maximum number of attempts (if specified) has been reached on a question, but should not be restricted by it as a Student would be.

o      The System Administrator has the ability to click any links (if provided and enabled) on any question.

o      The System Administrator can view all files posted by all Instructors.

 

Instructor View

·      Registration

o      The System Administrator views the system as an Instructor that is instructing all possible courses.

o      The System Administrator is not seen as an Instructor of any course by any user.

o      The System Administrator does not need to log out to switch between courses.

·      Questions/Question Sets

o      The System Administrator can create, edit, delete, and distribute all questions and question sets.

o      The System Administrator can set a time and date for any question set to become available.

o      The System Administrator can set a time and date for any questions set to be due.

o      The System Administrator can assign point totals to any question set.

·      Instructor Privileges

o      The System Administrator can see all Students’ last submissions and submission information for every (attempted) question in every question set.

o      The System Administrator can see all Students’ statistics (including login information) and all statistics for every question in every question set.

 

Administrator View

·      The System Administrator can create, edit, and delete the following types of accounts:

o      Program Administrator

o      Instructor

o      Student

·      The System Administrator can set a timeout length for all sessions.

·      The System Administrator can add questions/question sets to the global pool.

·      The System Administrator may logout in any view.

 

Program Administrator:

A Program Administrator coordinates one more sections/courses.

There may be multiple Program Administrators.

Program Administrators do not register.

A Program Administrator’s account is created by the System Administrator.

 

 

 

Once logged in, a System Administrator has three views available:

·      Student

·      Instructor

·      Administrator

A Program Administrator can perform different tasks based on which view is currently be used:

 

Student View

·      Registration

o      A Program Administrator views the system as a Student that is registered in all courses specified by the System Administrator.

o      A Program Administrator is not seen as registered for any course by any user except by the System Administrator.

o      A Program Administrator does not need to log out to switch between courses.

           

·      Questions/Question Sets

o      A Program Administrator is able to attempt any of the question sets specified by the System Administrator, including homework, quiz, test, and practice sets.

o      A Program Administrator is able to save code to a database.

o      Once code is compiled and executed, A Program Administrator will receive feedback on it.

o      The feedback received by a Program Administrator is identical to that of a Student; however, it cannot be viewed by any Instructor.

o      A Program Administrator’s grades are not counted in any reports, including reports run by an Administrator.

o      A Program Administrator should be aware when the maximum number of attempts (if specified) has been reached on a question, but should not be restricted by it as a Student would be.

o      A Program Administrator has the ability to click any links (if provided and enabled) on any question specified by the System Administrator.

o      A Program Administrator can view all files posted by Instructors specified by the System Administrator.

 

Instructor View

·      Registration

o      A Program Administrator views the system as an Instructor that is instructing all courses specified by the System Administrator.

o      A Program Administrator is not seen as an Instructor of any course by any user.

o      A Program Administrator does not need to log out to switch between courses.

·      Questions/Question Sets

o      A Program Administrator can create, edit, delete, and distribute course-specific questions and question sets.

o      A Program Administrator can set a time and date for any question set specified by the System Administrator to become available.

o      A Program Administrator can set a time and date for any questions set specified by the System Administrator to be due.

o      A Program Administrator can assign point totals to any question set specified by the System Administrator.

·      Instructor Privileges

o      A Program Administrator can see all Students’ (specified by the System Administrator) last submissions and submission information for every (attempted) question in every question set.

o      A Program Administrator can see all Students’ (specified by the System Administrator) statistics (including login information) and all statistics for every question in every question set (also specified by the System Administrator).

 

Administrator View

 

·      A Program Administrator can create, edit, and delete the following types of accounts:

o      Instructor

o      Student

·      The Program Administrator can add question/question sets to any of the course-specific pools specified by the System Administrator.

·      The Program Administrator may logout in any view.

 

Instructor:

An Instructor does not register.

An Instructor’s account is created by a Program Administrator or the System Administrator.

Once logged in, an Instructor has two views available:

·      Student

·      Instructor

 

An Instructor can perform different tasks based on which view is currently be used:

 

Student View

·      Registration

o      An Instructor views the system as a Student that is registered in all courses specified by the Program Administrator.

o      An Instructor is not seen as registered for any course by any user.

o      An Instructor does not need to log out to switch between courses.

           

·      Questions/Question Sets

o      An Instructor is able to attempt any of the question sets specified by the Program Administrator, including homework, quiz, test, and practice sets.

o      An Instructor is able to save code to a database.

o      Once code is compiled and executed, an Instructor will receive feedback on it.

o      The feedback received by an Instructor is identical to that of a Student. No one else can view this feedback.

o      An Instructor’s grades are not counted in any reports, even reports run by an Administrator.

o      An Instructor should be aware when the maximum number of attempts (if specified) has been reached on a question, but should not be restricted by it as a Student would be.

o      An Instructor has the ability to click any links (if provided and enabled) on any question specified by the Program Administrator.

o      An Instructor can view all files posted by themselves or other Instructors specified by the Program Administrator.

 

Instructor View

·      Registration

o      An Instructor can view all courses specified by a Program Administrator.

o      An Instructor is seen as the Instructor for all courses specified by the Program Administrator.

o      An Instructor does not need to log out to switch between courses.

o      If an Instructor wishes to teach a new course, the new course may be added by inputting the Course ID into the appropriate location. A Course ID is provided by the Program Administrator or System Administrator.

·      Questions/Question Sets

o      An Instructor has the ability to create, edit, and delete java questions in the Instructor’s own private pool.

o      An Instructor can upload a question or enter it into a text box.

o      An Instructor may provide links to aid a Student.

o      An Instructor has the ability to create, edit and delete question sets in the Instructor’s own private pool.

o      An Instructor can use questions from the Instructor’s private pool, the course-specific pool, or the global pool when creating question sets.

o      When creating a question set, an Instructor can set point totals and a maximum number of attempts allowed for each question.

o      An Instructor can set a time and date for a question set to become available and unavailable.

o      If an Instructor wishes to add a question or question set to the course-specific pool, it must be submitted to the Program Administrator.

o      If an Instructor wishes to add a question or question set to global pool, it must be submitted to the System Administrator.

·      Instructor Privileges

o      An Instructor can see all Students’ (registered in the Instructor’s course) last submissions and submission information for every (attempted) question in every question set.

o      An Instructor can see all Students’ (registered in the Instructor’s course) statistics (including login information) and all statistics for every question in every question set (also in the Instructor’s course).

o      These statistics (which include grade information) can be generated into reports and exported to a tab delimited or .pdf file.

o      An Instructor may edit a Student’s grade as seen fit.

o      An Instructor may deny a student access to a course.

o      An Instructor may post files that can be viewed by Students in the Instructor’s course.

 

An Instructor can log out in either view.

 

Student:

A Student has only one view.

 

·      Registration

o      A Student must register in a specific course by entering a Course ID in the appropriate location.

o      A Course ID is provided by the Instructor of that course.

o      A Student may be registered in multiple courses under the same username and password.

o      A Student does not need to log out in order to change which course is currently being worked in.

·      Question Sets

o      A Student has the ability to view and attempt any question set provided by the Instructor.

o      When a Student submits code, feedback is returned indicating the code’s degree of correctness.

o      A Student can retry a question until the number of attempts (if specified) has run out.

o      A Student may see only their own grades and statistics.

·      Additional Privileges/Restrictions

o      A Student may view any link or file provided by the Instructor (if enabled).

o      A Student may not click out of the testing window during a test or the test will be terminated.

o      A Student may log out as desired.

 

Non Functional Requirements

-       The system should run quickly, using fast servers and databases.

-       The system should be user-friendly.

 

Section 5: Performance Requirements

 

Generation Java will be available on Windows XP, Windows Vista and Mac OSX. For each operating system, Generation Java will be compatible with all major web browsers, both foreign and domestic. These web browsers include, but are not limited to, Mozilla Firefox 3.0, Internet Explorer 7.0, Safari 4.0, Opera Series 9, and Netscape Navigator 9.0.

Generation Java will also be designed to be viewable on a monitor resolution of 1024 x 768 pixels.

 

Section 6: Exception Handling

 

During a user’s experience of Generation Java, errors may occur that the Administrator will need to handle in a timely fashion.

 

Forgotten Password:

If a student or an instructor forgets their password then the link below the log-in section that states Forgot Password should be selected. The user will then be instructed to give the e-mail address that was used at the user’s initial log-in. Generation Java will then send an e-mail to that e-mail account containing the user’s password.

 

If a program administrator forgets their password the system administrator must be contacted in order to re-obtain their password.

 

The system administrator’s password will be given in the deliverables and can be used as a reference to recover the system administrator’s password if an event occurs where the password is forgotten.

 

Incomplete Question Sets:

If for some unforeseen reason in the process of creating a question set for an instructor and taking a question set for a student occurs, such as the web browser they are using crashes or the internet in their area goes down, Generation Java has developed ways to for the user to be able to recover any data they may get lost due to connection failure. A student’s last submission (saved at time of compilation) is always saved, once the student regains access to the internet a student will be able to go access their last submission. In addition a student can save un-submitted code at any time. An instructor may save every question as it is added to their bank and may save their work at any point during the creation of a question set.

Section 7: Early Subsets and Implementation Priorities

 

The vital priorities of the system are:

 

-       A user-friendly interface for students and instructors to create their accounts and log-in to the system.

-       A user-friendly interface for students to create and submit code as well as checking grades.

-       A user-friendly interface for instructors to create question sets and monitor grades.

-       Accessible through multiple operating systems.

-       Accessible through multiple web browsers.

-       Must be web-bases.

-       Code must be compiled in Java 1.6 API.

 

Section 8: Foreseeable Modifications and Enhancements

In future versions of Generation Java, there will be several opportunities for improvements and modifications. Generation Java may expand outside of Siena College in which case the User ID would need to accept other domains than @siena.edu.

 

If an instructor is also taking a course they should be able to create two separate profiles with one e-mail (@ siena.edu ) address.

 

Section 9: Acceptance Criteria

 

Generation Java will provide the following services to its users:

-       Sign into the system securely via a sign on screen.

-       Ensure each user type is correctly established.

-       Allow self-enrollment into the system for students, instructors and program
administrators.

-       Allow users to change and add new personal information to their profiles.

-       Allow a system administrator to access, monitor and maintain the system.

-       Allow a program administrator to access, monitor and maintain courses which are specified by the system administrator.

-       Allow the system administrator to access the database to maintain all data and make sure the system runs correctly.

-       The system administrator must be able to deny registration so students cannot create instructor accounts.

            Sign On Screen

-       Ensure the user name and password is correct.

-       Ensure the link for registration brings the user to the “Registration Screen.”

-       Ensures the link for forgetting a password brings the user to the “Forgot Password
screen.”

Registration Screen

-       Make sure that all required fields are filled in.

-       Ensure that all characters (spaces, numbers, symbols, etc) entered into the fields are acceptable.

-       Upon submission, ensure the account is activated and a confirmation email will be sent telling the user the registration process was a success.

Forgotten Password Screen

-       Make sure the email account entered is valid, and if it is, send the user the correct password.

Edit Profile Screen

-       Check to make sure all required fields are filled in.

-       Ensure that all characters (spaces, numbers, symbols, etc) entered into the fields are acceptable.

-       Upon submission, ensure that each field is saved in the database, updating the corresponding information.

 

Section 10: Testing Requirements (Requirements Based Inventory)

 

Generation Java will be tested on computers with the following operating systems: Windows XP, Windows Vista and Mac OSX. With each computer, Generation Java will be tested on all major web browsers such as, Mozilla Firefox 3.0, Internet Explorer 7.0, Safari 4.0, Opera Series 9, and Netscape Navigator 9.0. Different levels of testing will be carried out during the development and testing phases, which take place after the completion of the Detailed Design. A full test plan will be included in the Detailed Design.

 

Section 11: Gantt Chart

 

 

Section 12: Glossary of Terms

 

CSS – Cascading Style Sheet – These are used to describe a specific style for a web page or set of pages, a website.

 

Database – A collection of data arranged for ease and speed of search and retrieval.

 

Data Flow Diagram – A representation of the functional decomposition of a system.

 

Gantt Chart – A chart that depicts progress of jobs in relation to time. It is also used in planning and tracking a project.

 

HTML – Hypertext Markup Language – Predominant markup language used for the creation of web pages.

 

Internet – A vast computer network linking smaller computer networks worldwide. The Internet includes commercial, educational, governmental, and other networks, all of which use the same set of communications protocols.

 

Oracle – is a relational database management system (RDBMS).

 

OS X– an operating system for Macintosh computers, based on the Linux kernel but more user-friendly graphic interface. It includes networking capabilities.

 

PHP – PHP Hypertext Preprocessor – An open source (free) programming language that is used for dynamic pages and is a high-level scripting language.