Detailed Design
Requested
by: Dr. Darren Lim
Assistant Professor
Department of Computer Science
Dr.
Manimoy Paul
Assistant Professor
Department
of Quantitative Business Analysis
International Online Survey
(IOS)
Bad Robot Enterprises
Prepared
by: Ryan Rose
Ryan May
Paul Borchers
Vito Urbano
Section 1: Product Overview
and Summary------------------------------------------------------- 4
External Design Specifications--------------------------------------------------------------------- 4
Section 2: User displays,
report formats, and user command summary------------------------ 4
2.1:
Login Page------------------------------------------------------------------------------- 4
2.2:
Teacher Account
Creation Page------------------------------------------------------ 5
2.3: Student Account Creation
Page------------------------------------------------------- 6
2.4:
Administrator Welcome
Page--------------------------------------------------------- 7
2.5:
Teacher Welcome
Page---------------------------------------------------------------- 8
2.6:
Student Welcome
Page---------------------------------------------------------------- 9
2.7.1: Administrator Account Management
Page------------------------------ 10
2.7.2: Teacher Account Management
Page------------------------------------- 11
2.8:
Administrator
Account Creation Page----------------------------------------------- 12
2.9:
User Page
(Teacher)------------------------------------------------------------------- 13
2.10:
User Page
(Student)------------------------------------------------------------------- 14
2.11:
List Current Users Page-------------------------------------------------------------- 15
2.12:
List Current Users Results
Page----------------------------------------------------- 16
2.13:
Teacher Initial
Survey Creation Page---------------------------------------------- 17
2.14.0: Add a Question Page (Blank)------------------------------------------- 18
2.14.1:
Demographic--------------------------------------------------------------- 19
2.14.2:
Scale------------------------------------------------------------------------ 20
2.14.3: Multiple
Choices---------------------------------------------------------- 21
2.14.4: Text
2.14.5:
Image----------------------------------------------------------------------- 23
2.15.1: Teacher Edit Survey Page (Blank)----------------------------------------------- 24
2.15.2: Teacher Edit Survey
Page--------------------------------------------------------- 25
2.16: Student Account Management
Page------------------------------------------------ 26
2.17.1: Student Survey Page---------------------------------------------------------------- 27
2.1721: Teacher Preview of Survey
Page------------------------------------------------- 28
2.18: Search Results
Page------------------------------------------------------------------- 29
2.19: Lost Password Recovery
Page------------------------------------------------------ 30
2.20: Format of results downloads--------------------------------------------------------- 31
Section 3: Logical data
stores------------------------------------------------------------------------ 32
Section 4: Logical data
dictionary------------------------------------------------------------------- 34
Architectural Design Specification---------------------------------------------------------------- 52
Section 5: Structure
diagram------------------------------------------------------------------------- 52
Section 6: Data Flow Diagrams
(See attached Data Flow Diagram Document)-------------- 52
Testing Requirements------------------------------------------------------------------------------- 52
Section 7: Functional
Requirements Inventory---------------------------------------------------- 52
7.1: Non-Functional Requirements
Inventory-------------------------------------------- 57
Section 8: Acceptance Test
(See attached Test Plan Document)-------------------------------- 57
Section 9: Unit Tests (See
attached Test Plan Document)--------------------------------------- 57
Section 10:
Appendix--------------------------------------------------------------------------------- 58
10.1 Glossary of
Terms--------------------------------------------------------------------- 58
10.2 Timeline (Gantt
chart)----------------------------------------------------------------- 59
Section
1: Product Overview and Summary
A great deal of information on
certain topics can be gained through the use of surveys. The International
Online Survey (IOS) system will provide users with the ability to create and
take surveys through a web-based program.
Teachers will be able to create surveys and give them to their students
and students will be able to take these surveys quickly and easily. Both types
of users will be able to view survey results to gain the data they need or
desire. Administrators will oversee this program and maintain functionality of
the IOS.
External
Design Specifications
Section
2: User displays, report formats, and user command summary
2.1:
Login Page
This is the page
that all users will see when first locating the website. This page is where all users will enter their
username and password. If a user has not
already created an account, they can click on the appropriate "Register
Now" link that will take them to the account creation page.
2.2:
Teacher Account Creation Page
This page is reached
when the user has selected from the login page to register as a teacher. They
are required to provide a user name and password.
2.3:
Student Account Creation Page
This page is reached when the user has selected from the
login page to register as a student. They are required to provide a user name
and password as well as some of their personal information.
2.4:
Administrator Welcome Page
The user is directed to this page when they have signed in
as an administrator. They will see features available to only administrators in
the top menu bar. They will also have access to information such as website
survey statistics, user login information, and surveys.
2.5:
Teacher Welcome Page
The user is directed to this page when they have signed in
as a teacher. They will see features available to only teachers in the top menu
bar as well as their history of surveys, and active and unpublished surveys.
2.6:
Student Welcome Page
The user is directed to this page when they have signed in
as a student. They will see features available to only students in the top menu
bar as well as their history of completed surveys and non – completed surveys.
2.7.1:
Administrator Account Management
Page
This page allows an administrator to modify their account
password.
2.7.2:
Teacher Account Management Page
This page allows a teacher to modify their account password.
2.8:
Administrator Account Creation
Page
This page allows the Administrator to manage the creation of
student and teacher accounts.
2.9: User Page (Teacher)
This page is reached by clicking a teacher's name in the Administrator welcome page. The page displays a unique teacher's account information and statistics.
2.10:
User Page (Student)
This page is reached by clicking a student's name in the
Administrator welcome page. The page displays a unique student's personal
information as well as their survey taking statistics.
2.11:
List Current Users Page
This page allows the administrator to browse all accounts.
2.12:
List Current Users Results Page
This page is reached by clicking search or a sort letter on
the list current users page. The users are displayed according to the client's
search preference.
2.13:
Teacher Initial Survey Creation
Page
This page is reached from the create a survey link which can
be seen by teacher accounts. The page is the first page a teacher will see
before going on to adding questions to their survey. The page requires the
teacher to enter a survey name and topic as well as making their survey
anonymous or protected.
2.14.0:
Teacher Add a Question Page
(Blank)
This page is reached either through the blank edit survey page or after adding a question. This page only consists of a drop down of question types.
2.14.1: Demographic
These pages allows for a teacher to create a survey. They are provided with different questions to chose from including demographic, multiple choice, textbox, rating scale, and image related questions.
2.14.2: Scale
These pages allows for a teacher to create a survey. They are provided with different questions to chose from including demographic, multiple choice, textbox, rating scale, and image related questions.
2.14.3: Multiple Choice
These pages allows for a teacher to create a survey. They are provided with different questions to chose from including demographic, multiple choice, textbox, rating scale, and image related questions.
2.14.4: Text Box
These pages allows for a teacher to create a survey. They are provided with different questions to chose from including demographic, multiple choice, textbox, rating scale, and image related questions.
2.14.5: Image
These pages allows for a teacher to create a survey. They are provided with different questions to chose from including demographic, multiple choice, textbox, rating scale, and image related questions.
2.15.1: Teacher Edit
Survey Page (Blank)
This page is reached after submitting the required
information on the create a survey page. Clicking the "add a question
button" will bring the teacher to a page where they can finally start to
choose between questions to add to their survey.
2.15.2: Teacher Edit
Survey Page
2.15.3:
Add Questions From Pool Page
This page allows a teacher to select from previously made
questions with the ability to edit them.
2.16:
Teacher Survey Activation Setup
Page
This page allows a teacher to activate a survey. The teacher
is required to input the email addresses of the students he/she wants to have
rights to take the survey. There is an option to create student accounts if
necessary as well.
2.17: Student Account
Management Page
This page allows a student to edit their account information such as their username, password, and personal information.
2.17.1: Student Survey
Page
This page allows the student to answer questions of a survey that they have been given permission to take.
2.17.2: Teacher Preview of
Survey Page
This page allows a teacher to look at what their survey would look like at their current progress.
2.18: Search Results Page
This page is reached by clicking search or a sort letter on
the list current users page. The users are displayed according to the client's
search preference.
2.19:
Lost Password Recovery Page
This page is reached by clicking the "forgot your
password?" link on the login page. The user is required to fill in
information to have their password emailed to them.
2.20 Format of results downloads
This is the format
of the file that is downloaded when a teacher clicks on the download txt file
button next to the survey name on the Teacher Welcome Page.
Section
3: Logical data stores
The following information presents a detailed description of the data stored in the International Online Survey database. The data is presented in a layout of the table structure.
permanent_users
This table stores all information about our permanent user accounts including students, teachers, and administrator. It also keeps track of whether the user is logged into the IOS web pages for the administrator.
column
name |
type |
Comments |
usersid |
int |
Primary
Key - Odd number. |
username |
nvarchar(16) |
User
specified username. |
password |
nvarchar(16) |
user
specified password |
email |
nvarchar(32) |
|
user_type |
int |
User
type: 10 = student, 20 = teacher, 30 = admin |
secret_quetion |
ntext |
Question
used to reset password if the user has lost their password. |
secret_answer |
ntext |
Answer
needed to reset password in Forgot Password page. |
firstname |
nvarchar(16) |
User
supplied first name. |
lastname |
nvarchar(16) |
User
supplied last name. |
gender |
nvarchar(16) |
User
supplied gender. |
birthdate |
smalldate |
Birthdate
in format MM/DD/YYYY |
state |
nvarchar(16) |
User
supplied state or province of residence.
|
zip |
int |
User
supplied zip or postal code of residence.
|
time_zone |
nvarchar(32) |
User
supplied time zone. |
logged_in |
boolean |
Keeps
track of if user is logged in. true =
logged in, false = offline |
anonymous_users
This table stores all the anonymous user accounts that have been created. The userid is kept from being the same in the permanent_users table by being even while the permanent_users userid is always odd. This userid is used in the surveys_taken and the questions answers tables for each type of question.
column
name |
type |
Comments |
userid |
int |
Primary
Key - Even number |
surveys
This table stores all the surveys that have been created in the IOS web application. It keeps track of various information and what survey level the survey is. The survey level is whether the survey is unpublished, active, or completed. Unpublished surveys are still editable but students cannot take them yet. Active surveys can be taken by students and are not editable. Completed surveys are not editable, students cannot take them anymore, but the teacher can download results.
column
name |
type |
Comments |
survey_id |
int |
Primary
Key |
userid |
int |
Gotten
from permanent_users table, teachers only. |
survey_name |
nvarchar(32) |
Teacher
inputed survey name. |
survey_topic |
nvarchar(32) |
Teacher
inputed survey topic. |
survey_date |
smalldate |
Date of
survey creation in format: MM/DD/YYYY |
survey_type |
int |
Teacher
selected survey type. 10 = protected,
20 = anonymous |
survey_level |
int |
10 =
unpublished, 20 = active, 30 = completed |
word_alerts |
int |
How many
words that have been marked as illicit.
|
surveys_taken
Keeps track of all instances of a userid taking any survey on the IOS web application. When a teacher allows a student to take a survey a new entry is added with the student userid with the status set to false meaning they have not taken the survey but are allowed to. Anonymous users will have a new entry added with the status field set to true meaning they have taken the survey.
column
name |
type |
Comments |
survey_id |
int |
Taken
from surveys table. |
userid |
int |
Gotten
from permanent_users table and anonymous, students only. |
survey_name |
nvarchar(32) |
Teacher
inputed survey name. |
survey_topic |
nvarchar(32) |
Teacher
inputed survey topic. |
survey_date |
smalldate |
Date of
survey creation in format: MM/DD/YYYY |
survey_type |
int |
Teacher
selected survey type. 10 = protected,
20 = anonymous |
survey_level |
int |
10 =
unpublished, 20 = active, 30 = completed |
status |
boolean |
Keeps
track of whether the survey has been taken.
Set to true for anonymous users.
false = not taken, true = taken |
date_taken |
smalldate |
Date the
survey was taken in format. MM/DD/YYYY |
questions
This table stores all questions that have been created on the IOS web application. Information stored in this table is an unique question_id and the type of question chosen by the creating teacher. Each question will be associated with a survey_id taken from the surveys table.
column
name |
type |
Comments |
survey_id |
int |
Taken
from surveys table. |
question_id |
int |
Primary
Key |
question_type |
int |
There are
five types of questions and they each have a numerical representation in the
database. 10 = demoraphics, 20 =
scale, 30 = multiple choice, 40 = textbox, 50 = image |
demographic
This table stores all information about the demographic question type. It has to match up with a question_id in the question table. Each field has a Boolean option of whether they can be seen by the student and whether it is required to be entered.
column
name |
type |
Comments |
question_id |
int |
Taken
from questions table. |
name_vis |
boolean |
If the
name field is visible. |
name_req |
boolean |
If the
name field is required. |
company_vis |
boolean |
If the
company field is visible. |
company_req |
boolean |
If the
company field is required. |
address_vis |
boolean |
If the
address field is visible. |
address_req |
boolean |
If the
address field is required. |
city_vis |
boolean |
If the
city field is visible. |
city_req |
boolean |
If the
city field is required. |
state_vis |
boolean |
If the
state field is visible. |
state_req |
boolean |
If the
state field is required. |
zip_vis |
boolean |
If the
zip field is visible. |
zip_req |
boolean |
If the
zip field is required. |
country_vis |
boolean |
If the
country field is visible. |
country_req |
boolean |
If the
country field is required. |
question_num |
int |
Position
to display in survey. |
demographic_answers
This table stores all the answers to a question of demographic type.
column
name |
type |
Comments |
userid |
int |
From
anonymous or permanent users, but students only. |
question_id |
nvarchar(16) |
From
questions table. |
name |
nvarchar(16) |
User
inputed name. |
company |
nvarchar(16) |
User
inputed company. |
address |
nvarchar(16) |
User
inputed address. |
city_town |
nvarchar(16) |
User
inputed city or town. |
state |
nvarchar(16) |
User
inputed state. |
zip |
int |
User
inputed zip or postal code. |
country |
nvarchar(16) |
User
inputed country. |
scale
This table stores all information about the scale/ratings question type. It has to match up with a question_id in the question table. Each column header or ratings point must be specified and as well as every sub-question or row text. The row_num and col_num fields keep track of how many rows and columns text needs to be stored.
column name |
type |
Comments |
question_id |
int |
Taken
from questions table. |
question_text |
ntext |
Teacher
inputed question text. |
row_num |
int |
Number of
rows that will be used. |
col_num |
int |
Number of
columns that will be used. |
col1 |
nvarchar(16) |
Column
text. Ratings values that student can choose from. |
col2 |
nvarchar(16) |
Column
text. |
col3 |
nvarchar(16) |
Column
text. |
col4 |
nvarchar(16) |
Column
text. |
col5 |
nvarchar(16) |
Column
text. |
col6 |
nvarchar(16) |
Column
text. |
col7 |
nvarchar(16) |
Column
text. |
col8 |
nvarchar(16) |
Column
text. |
col9 |
nvarchar(16) |
Column
text. |
col10 |
nvarchar(16) |
Column
text. |
row1 |
nvarchar(16) |
Row
text. Used when multiple questions are
being answered for this question section.
|
row2 |
nvarchar(16) |
Row
text. |
row3 |
nvarchar(16) |
Row
text. |
row4 |
nvarchar(16) |
Row
text. |
row5 |
nvarchar(16) |
Row text. |
row6 |
nvarchar(16) |
Row
text. |
row7 |
nvarchar(16) |
Row
text. |
row8 |
nvarchar(16) |
Row
text. |
row9 |
nvarchar(16) |
Row
text. |
row10 |
nvarchar(16) |
Row
text. |
question_num |
int |
Position
to display in survey. |
scale_answer
This table stores all the answers to a question of scale type.
column
name |
type |
Comments |
Userid |
int |
Taken
from anonymous and permanent tables, only students. |
question_id |
int |
Taken
from questions table. |
row_num |
int |
Number of
sub questions. |
row1 |
nvarchar(16) |
User
inputted answer. |
row2 |
nvarchar(16) |
User
inputted answer. |
row3 |
nvarchar(16) |
User
inputted answer. |
row4 |
nvarchar(16) |
User
inputted answer. |
row5 |
nvarchar(16) |
User
inputted answer. |
row6 |
nvarchar(16) |
User
inputted answer. |
row7 |
nvarchar(16) |
User
inputted answer. |
row8 |
nvarchar(16) |
User
inputted answer. |
row9 |
nvarchar(16) |
User
inputted answer. |
row10 |
nvarchar(16) |
User
inputted answer. |
multiple
This table stores all information about the multiple choice question type. It has to match up with a question_id in the question table. The teacher can use up to 5 answers for the question and the row_num field keeps track of how many answers there are for every question.
column
name |
type |
Comments |
question_id |
int |
Taken
from question table. |
question_text |
ntext |
Teacher
inputted question text. |
row_num |
int |
Number of
possible answers. |
row1 |
nvarchar(16) |
Teacher
inputted possible answer. |
row2 |
nvarchar(16) |
Teacher
inputted possible answer. |
row3 |
nvarchar(16) |
Teacher
inputted possible answer. |
row4 |
nvarchar(16) |
Teacher
inputted possible answer. |
row5 |
nvarchar(16) |
Teacher
inputted possible answer. |
question_num |
int |
Position
to display in survey. |
multiple_answer
This table stores all the answers to a question of multiple type.
column
name |
type |
Comments |
userid |
int |
Taken
from anonymous and permanent tables, only students. |
question_id |
int |
Taken
from questions table. |
answer |
ntext |
User
inputted answer. |
textbox
This table stores all information about the single textbox question type. It has to match up with a question_id in the question table. This includes the question id, question text, and the position in the survey.
column
name |
type |
Comments |
question_id |
int |
Taken
from question table. |
question_text |
ntext |
Teacher
inputted question text. |
question_num |
int |
Position to
display in survey. |
textbox_answer
This table stores all the answers to a question of textbox type.
column
name |
type |
Comments |
userid |
int |
Taken
from anonymous and permanent tables, only students. |
question_id |
int |
Taken
from questions table. |
answer |
ntext |
User
inputted answer. |
image
This table stores all information about the image question type. It has to match up with a question_id in the question table. The file is stored on the web server.
column_name |
type |
Comments |
question_id |
int |
Taken from
question table. |
question_desp |
ntext |
Teacher
inputted question description or text. |
question_num |
int |
Position
to display in survey. |
filename |
nvarchar(32) |
File
location on server. |
image_answer
This table stores all the answers to a question of image type.
column
name |
type |
Comments |
Userid |
int |
Taken
from anonymous and permanent tables, only students. |
Question_id |
int |
Taken
from questions table. |
Answer |
ntext |
User
inputted answer. |
user_messages
This table keeps track of user messages to the IOS administrators which the administrators can view on their welcome screen once the administrators login to the IOS web application.
column
name |
type |
Comments |
date |
smalldate |
Date
message was sent. |
message_text |
ntext |
Message
text from user. |
userid |
int |
Id of
user that created the message. |
Section 4: Logical data dictionary
Administrator Homepage Data Flow
Description: Main page for Administrator.
Location: 0,1
Source: Database
Destination: Administrator
Administrator Login Information Data Flow
Description: Administrators information to log in.
Location: 0
Source: Administrator
Destination: Maintain Website
Registration Request Data Flow
Description: Request for accounts from Student or Teacher.
Location: 0
Source: Teacher/Student
Destination: Administrator
Teacher Registration E-mail Data Flow
Description: E-mail to Teacher confirming account creation.
Location: 0
Source: Administrator
Destination: Teacher
Student Registration E-mail Data Flow
Description: E-mail to Student confirming account creation with or without password.
Location: 0
Source: Administrator
Destination: Student
Maintain Website Process
Description: General Action described for the Administrator general duties.
Location: 0
Source: Database
Destination: Administrator
Administrator Login Verification Data Flow
Description: Administrators login information checked against database entry.
Location: 0
Source: Maintain Website
Destination: Database
Survey Diagnostics Data Flow
Description: Information about Surveys size, dates, names, etc.
Location: 0
Source: Administrator
Destination: Database
Administrative Maintenance Data Flow
Description: Edited information about Teachers, Students, Surveys.
Location: 0
Source: Database
Destination: Maintain Website
Account Request Data Flow
Description: General account information request to edit/create/delete.
Location: 0, 1
Source: Administrator
Destination: Database
Account Information Data Flow
Description: Teacher and Student account information.
Location: 0, 1
Source: Database
Destination: Maintain Website
Teacher Homepage Data Flow
Description: Main page for general access to Teachers account.
Location: 0, 1
Source: Database
Destination: Teacher
Teacher Login Information Data Flow
Description: Teacher information to log in.
Location: 0, 1
Source: Teacher
Destination: Manage Teacher Request
Teacher Registration Request Data Flow
Description: Request sent to the Administrator for an account.
Location: 0, 1
Source: Teacher
Destination: Administrator
Teacher Registration E-mail Data Flow
Description: E-mail sent to Teacher from the Administrator to confirm account creation.
Location: 0, 1
Source: Administrator
Destination: Teacher
Teacher Login Verification Data Flow
Description: Message sent to program confirming correct Teacher Login.
Location: 0, 1
Source: Database
Destination: Manage Teacher Request
Survey Data Data Flow
Description: Information directly used in the creation of a survey.
Location: 0, 1
Source: Manage Teacher Request
Destination: Database
Survey Results Request Data Flow
Description: Teacher/Students request for survey results.
Location: 0, 1
Source: Manage Teacher Request/Manage Student Request
Destination: Database
Survey Results Data Flow
Description: Statistical Data compiled for analysis.
Location: 0, 1, 1
Source: Database
Destination: Manage Teacher Request/Manage Student Request
Student Homepage Data Flow
Description: Main page for general access to Student account.
Location: 0
Source: Database
Destination: Student
Manage Teacher Request Process
Description: General Action described for the Teacher general duties.
Location: 0
Source: Database
Destination: Teacher
Manage Student Request Process
Description: General Action described for the Student general duties.
Location: 0
Source: Database
Destination: Student
Student Login Information Data Flow
Description: Student information to log in.
Location: 0, 1
Source: Student
Destination: Manage Student Request
Student Registration Request Data Flow
Description: Request sent to Administrator for account activation.
Location: 0, 1
Source: Student
Destination: Administrator
Student Registration E-mail Data Flow
Description: E-mail sent to student confirming account creation.
Location: 0, 1
Source: Administrator
Destination: Student
Survey Request Data Flow
Description: Request for given survey so that it can be taken.
Location: 0, 1
Source: Manage Student Request
Destination: Database
Survey Data Flow
Description: Actual survey to be taken.
Location: 0
Source: Database
Destination: Manage Student Request
Login Information Data Flow
Description: Administrators login information.
Location: 1
Source: Administrator
Destination: Verify Administrator Login
Verify Administrator Login Process
Description: Source that takes in Administrator’s login information.
Location: 1
Source: Database
Destination: Administrator
User Verification Data Flow
Description: Verification of Administrator’s login information.
Location: 1
Source: Verify Administrator Login
Destination: Database
Control Panel Data Flow
Description: Tools used by Administrator to edit surveys/accounts.
Location: 1
Source: Retrieve Administrator Website
Destination: Administrator
Retrieve Administrator Website Process
Description: Creation of Administrators website from database information.
Location: 1
Source: Database
Destination: Administrator
Account Page Data Flow
Description: Specific webpage that shows the accounts for the Administrator to edit.
Location: 1
Source: Manage User Accounts
Destination: Administrator
Manage User Accounts Process
Description: Administrators utility for editing other user accounts.
Location: 1
Source: Database
Destination: Administrator
Manage User Account Data Data Flow
Description: Data that has been manipulated to change entries in the database.
Location: 1
Source: Manage User Accounts
Destination: Database
Survey Page Request Data Flow
Description: Administrator request to survey edit page.
Location: 1
Source: Administrator
Destination: Manage Surveys
Manage Surveys Process
Description: Administrators ability to edit surveys.
Location: 1
Source: Database
Destination: Administrator
Manage Survey Data Data Flow
Description: Actual changes in survey data.
Location: 1
Source: Manage Surveys
Destination: Database
All Active Surveys Data Flow
Description: List of all surveys currently in progress and completed.
Location: 1
Source: Database
Destination: Manage Surveys
Feedback Data Flow
Description: User feedback to Administrator.
Location: 1
Source: Database
Destination: Manage Surveys
Survey Page Data Flow
Description: Administrators webpage for editing surveys.
Location: 1
Source: Manage Surveys
Destination: Administrator
Verify Teacher Login Process
Description: Ability of our program to check login for Teacher.
Location: 1
Source: Database
Destination: Teacher
Register Teacher Account Process
Description: Our programs ability to set up an account creation for a Teacher.
Location: 1
Source: Database
Destination: Teacher
Create Survey Process
Description: The program that allows Teachers to create surveys.
Location: 1
Source: Database
Destination: Teacher
Verify Student Login Process
Description: Ability of our program to check login for Student.
Location: 1
Source: Database
Destination: Student
Register Student Account Process
Description: Our programs ability to set up an account creation for a Student.
Location: 1
Source: Database
Destination: Student
Fill Out Survey Process
Description: Ability of Student to take a survey.
Location: 1
Source: Database
Destination: Student
Profile Change Conformation Data Flow
Description: Message sent to Administrator showing Change in Administrator Account Information.
Location: 2
Source: Change Administrator Account Information
Destination: Administrator
Administrator Information Data Flow
Description: Personal information the Administrator may need for loging in purposes.
Location: 2
Source: Administrator
Destination: Change Administrator Account Information
Change Administrator Account Information Process
Description: A process taken by the Administrator within our program.
Location: 2
Source: Database
Destination: Administrator
Add Teacher Request Data Flow
Description: The data needed to create a Teacher account.
Location: 3
Source: Administrator
Destination: Add Teacher Account
Create Teacher Request Data Flow
Description: Request to the database creating a Teacher account.
Location: 3
Source: Add Teacher Account
Destination: Database
Teacher Account Information Data Flow
Description: Teacher account personal information.
Location: 3
Source: Database
Destination: Add Teacher Account
Add Teacher Account Process
Description: Ability of creating a new Teacher account with information from the database.
Location: 3
Source: Database
Destination: Administrator
Delete Teacher Request Data Flow
Description: Administrators request to delete a Teacher Account.
Location: 3
Source: Administrator
Destination: Delete Teacher Account
Delete Teacher Account Process
Description: Programs ability to delete a Teacher Account.
Location: 3
Source: Database
Destination: Administrator
Add Student Request Data Flow
Description: Request to create a Student Account.
Location: 3
Source: Administrator
Destination: Add Student Account
Add Student Account Process
Description: Ability of program to Create a Student Account.
Location: 3
Source: Database
Destination: Administrator
Create Student Request Data Flow
Description: Data sent to Database to create a Student Account.
Location: 3
Source: Add Student Account
Destination: Database
Delete Student Account Process
Description: Programs ability to send data to Database to delete a Student Account.
Location: 3
Source: Database
Destination: Administrator
Delete Student Request Data Flow
Description: Data sent to Database to delete a Student Account.
Location: 3
Source: Delete Student Account
Destination: Database
Student Account Information Data Flow
Description: Specific information about the Student Account
Location: 3
Source: Database
Destination: Delete Student Account
Student Account Information Data Flow
Description:
Location:
Source:
Destination:
Survey Password Data Flow
Description: Anonymous survey takers password for specific survey to take.
Location: 0
Source: Anonymous
Destination: Manage Student/Anonymous Request
Anonymous Survey Data Flow
Description: Survey that an Anonymous Survey taker, takes.
Location: 0
Source: Manage Student/Anonymous Request
Destination: Anonymous
Download Results Process
Description: The action our program takes when a request for the survey data is made.
Location:
Source:
Destination:
Add Survey Process
Description: Process of adding a survey to the database.
Location: 2
Source: Database
Destination: Teacher
Add Survey Request Data Flow
Description: Request to the Database to add a survey
Location: 2
Source: Add Survey
Destination: Database
Add Survey Conformation Data Flow
Description: Data sent to Teacher when a survey is successfully added.
Location: 2
Source: Database
Destination: Teacher, Add Survey
Delete Survey Process
Description: Programs ability to delete a survey from the database.
Location: 2
Source: Database
Destination: Teacher
Delete Survey Request Data Flow
Description: Teachers request to delete a survey from the Database.
Location: 2
Source: Teacher
Destination: Delete Survey
Delete Survey Conformation Data Flow
Description: Conformation sent to the Teacher that a survey delete was a success.
Location: 2
Source: Database
Destination: Delete Survey, Teacher
Edit Survey Process
Description: Process in which the Teacher edits a survey.
Location: 2
Source: Database
Destination: Teacher
Edit Survey Conformation Data Flow
Description: Database conformation sent to the Teacher to confirm an edit succeeded.
Location: 2
Source: Database, Edit Survey
Destination: Teacher, Edit Survey
Results Gathering Process
Description: Programs ability to gather the information from the taken surveys so a teacher can see the results.
Location: 2
Source: Database
Destination: Teacher
Download Results Process
Description: The ability of the program to download survey results in many forms that the Teacher/Student may need for data collection.
Location: 3
Source: Database
Destination: Teacher, Student
Architectural
Design Specification
Section
5: Structure diagram
Structure Diagram - The Structure Diagram is used to provide
a road map of how the application is built by using the data flow diagram as a
template.
Section
6: Data Flow Diagrams
See
attached Data Flow Diagram Document.
Testing
Requirements
Section
7: Functional Requirements Inventory
Functional
Requirements Inventory
The following list outlines the required functionality to be included in the final solution. The requirements are listed according to user case and then by screens the user will view.
General:
Administrator:
Login Screen:
Administrator Welcome Screen:
Manage Account Screen:
Change User Password Screen:
Create An Account Screen:
List Current Users Screen:
List Current Users Results Screen:
User Page (Teacher)
User Page (Student)
Survey Preview Screen
Teacher:
Login Screen:
Create Your Account:
Teacher Welcome Screen:
Manage Account Screen:
Initial Survey Creation Screen:
Survey Creation - Add a Question Screen:
Survey Creation – Demographic Question Screen:
Survey Creation – Ratings Scale Screen:
Survey Creation – Multiple Choice Screen:
Survey Creation – Single Textbox Screen:
Survey Creation – Image Screen:
Survey Creation – Edit Survey Screen:
Student:
Login Screen:
Create Account Screen:
Welcome Screen:
Create Account Screen:
Take a Survey Screen:
Search Results
Screen:
Teacher/Student:
Password Recovery
Screen:
Non-Functional Requirements Inventory
Section
8: Acceptance Test
See attached Test
Plan Document.
Section
9: Unit Tests
See attached Test
Plan Document.
Section
10: Parameter Specifications
The following is a list of the machines that we will conduct our development work on. It lists the machine’s specifications as well as the software on the machines that will be used in order to develop our product.
Systems:
Dell Dimension Dim4550
Intel Pentium 4 2.40 GHz
1GB of RAM
Macintosh
iMac
2.0GHz
Intel Core 2 Duo
1GB of RAM
Server:
Oracle version 10.1
MySQL version
4.1.14
PHP version
4.3.11
Apache version
2.0.46
Browser Environnement:
Microsoft Internet
Explorer version 7.0.5730.13
Mozilla Firefox
version 2.0.0.14
Apple Safari 3.0
Software:
Adobe Acrobat Standard
version 7.0
Adobe Reader version 7.0
Microsoft Office Word 2003 11.6359.6360 SP1
Microsoft Office PowerPoint 2003 11.6361.6360 SP1
WinSCP version 4.0.4 (Build 346)
Putty release 0.60
Macromedia Dreamweaver MX 2004 Education Edition version 7.0
Macromedia Fireworks MX 2004 Education Edition version 7.0 (Build 288)
Visible Analyst Education Edition version 7.5.5
Microsoft Project 2000 9.0.2001.0219 SR-1
Microsoft Windows XP Professional Version 2002 Service Pack 2
Section 11: Subprogram
Interface Specifications
The modules included
with the International Online Survey are the Administrator, the Teacher, the
Student, and the Anonymous [user]. These
four modules or users work independently of one another, while some of the data
they create is shared through the database.
Each user does their specific tasks to create the desired outcome of
functionality from the International Online Survey.
Section 12: Detailed Design Specification
Administrator User
Login
1. The user submits login information to the CMS.
2. The CMS verifies the login information.
3. If login information contains correct user name and password combination, the user is directed to his/her homepage.
1. The user modifies his/her account.
a. Username
b. Password
c. Secret Question and Answer
2. The changes are submitted to the CMS.
1. The user clicks on the forgotten password link and enters his/her answer to their secret question as well as his/her email address.
2. An e-mail is sent to the user’s registered e-mail account with a random username and password which can be changed after the user logs in.
Delete a Survey
1. The user navigates to the welcome page, and under the “Surveys” division clicks the button next to the survey to be deleted.
2. The survey will be deleted from the database and removed from the survey list on the welcome page.
Ban a Survey
1. The user navigates to the welcome page, and under the “Quality Control” division clicks the button next to the survey to be banned.
2. The survey will be inactivated, and the specific question causing the ban deleted from the database and survey. The user in charge of the survey will be notified of this change to their survey via email.
List Current Users
1. The user navigates to the welcome page, and clicks the List Current Users link at the top of the page.
2. The user will have the ability to either list the current users alphabetically or search for users.
3. Clicking the search button or a letter listed will display the users.
Teacher User
Login
1. The user submits login information to the CMS
2 The CMS verifies the login information
3. If login information contains correct user name and password combination, the
user is directed to his/her homepage.
Registration
1. The user clicks on the Register Now as a Teacher link
2. The user fills out the information required to register
3. The user may fill in the optional information or leave it unfilled
4. The user clicks the submit button
5. The user is automatically logged in and directed to his/her welcome page
Manage Account
1. The user modifies his/her account.
a.Username
b.Password
c. Secret Question and Answer
2. The changes are submitted to the CMS.
Forgotten Password
1. The user clicks on the forgotten password link and enters his/her answer to their secret question as well as his/her email address.
2. An e-mail is sent to the user’s registered e-mail account with a random username and password which can be changed after the user logs in.
Create a Survey
1. The user enters the desired survey name and topic and selects to make their survey Anonymous or Protected.
2. The user is directed toward a page which displays questions they have added as well as an Add a Question button.
3. Clicking the Add a Question button directs the user to a page that allows them to select the type of question to be added to their survey.
4. After choosing the type of question and filling out the required fields for the question, the user clicks submit and is directed back to a page that displays questions they have added as well as an Add a Question button and preview button.
5. The user then can save their progress by clicking the save button, activate
their survey by clicking the activate button, or preview the survey at its current state by clicking the preview button.
Activate a Survey
1. The user enters navigates to the Unpublished Surveys subdivision under the Active and Unpublished Surveys division.
2. Clicking the button next to the unpublished survey will prompt the user to enter the email addresses of the students that will be given permission to take it. There is also a choice for the teacher to create a new student if necessary.
3. Clicking the Add button will add more email fields and clicking the submit button will give the specified students permission to take the survey.
4. Filling the fields for username and password will create a new user in the database.
Delete a Survey
1. The user can delete any survey under the History or Active and Unpublished Survey divisions by clicking the delete button next to each survey.
2. The selected survey will be deleted from the database
Stop a Survey
1. The user navigates to the Active Surveys subdivision under the Active and Unpublished Surveys division.
2. After clicking the stop button corresponding to the survey to be stopped, the survey will be added to the Completed Surveys division
Student User
Login
1. The user submits login information to the CMS
2 The CMS verifies the login information
3. If login information contains correct user name and password combination, the
user is directed to his/her homepage.
Registration
1. The user clicks on the Register Now as a Student link
2. The user fills out the information required to register
3. The user may fill in the optional information or leave it unfilled
4. The user clicks the submit button
5. The user is automatically logged in and directed to his/her welcome page
Manage Account
1. The user modifies his/her account
a. Username
b. Password
c. Secret Question and Answer
d. Personal Information
2. The changes are submitted to the CMS
Forgotten Password
1. The user clicks on the forgotten password link and enters his/her answer to their secret question as well as his/her email address.
2. An e-mail is sent to the user’s registered e-mail account with a random username and password which can be changed after the user logs in.
Take a Survey
1. The user can take any survey that has not been started or finished by navigating to the Non-Completed Surveys division and clicking on the link that corresponds to the survey name.
2. The user is brought to the last save point of that survey.
The following is the logic that determines the course of action that is being taken for each routine.
Administrator User
if (login(user name, password) = = TRUE)
display(user’s my account page);
else display(do nothing);
submit_changes( changes made to account );
update_database();
display_page( current_page );
if(secret_question, user_email)==TRUE)
send_mail(user_email, username, password );
Delete a Survey
if(Search(survey) = = TRUE)
delete(survey);
alert(teacher_of_survey);
display(success message);
else
display(error message);
Ban a Survey
if(Search(survey) = = TRUE)
delete(question_from_survey);
inactivate(survey);
alert(teacher_of_survey);
display(success message);
else
display(error message);
List Current Users
if(searchBtn.clicked==TRUE)
Search(name_from_field);
Display();
else
String alpha = letter chosen;
SortStudents(alpha);
Display();
Teacher User
Login
if (login(user name, password) = = TRUE)
display(user’s my account page);
else display(do nothing);
boolean required_information_missing = true;
display_welcome_page();
while( required_information_missing )
{
if( all required fields entered )
required_information_missing = false;
else
display_welcome_page(missing_fields);
}
Manage Account
submit_changes( changes made to account );
update_database();
display_page( current_page );
Forgotten Password
if(secret_question, user_email)==TRUE)
send_mail(user_email, username, password );
Create a Survey
topic=entered_topic;
title=entered_title;
perm=radPerm;
update(onAddClick(question_type),info)
if(saveClick==TRUE)
SurveyStatus(survey, unpublished);
if(activateClick==TRUE)
SurveyStatus(survey, active);
Activate a Survey
SurveyStatus(survey, active);
Delete a Survey
if(Search(survey) = = TRUE)
delete(survey);
alert(teacher_of_survey);
display(success message);
else
display(error message);
Stop a Survey
SurveyStatus(survey, completed);
Student User
Login
if (login(user name, password) = = TRUE)
display(user’s my account page);
else display(do nothing);
Registration
boolean required_information_missing = true;
display_welcome_page();
while( required_information_missing )
{
if( all required fields entered )
required_information_missing = false;
else
display_welcome_page(missing_fields);
}
Manage Account
submit_changes( changes made to account );
update_database();
display_page( current_page );
Forgotten Password
if(secret_question, user_email)==TRUE)
send_mail(user_email, username, password );
Take a Survey
DisplayTake(survey);
Section
14: Appendix
14.1
Glossary of Terms
CSS – Cascading Style Sheets – 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 often used in planning and tracking a project.
Hypertext Markup Language (HTML) – 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.
Internet Explorer(IE) – Microsoft based program used for browsing the Internet.
Linear Sequential Model / Classic Waterfall Model – A systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.
MySQL – A Multithreaded, multi-user Relational Database Management System.
OS X - The latest operating system for Macintosh computers, based on the Linux kernel but with a 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.
Profiles – User created accounts that will be customizable according to each specific person.
XHTML – Extensible HyperText Markup Language – has same
capabilities of HTML but is more restricted to allow for conformity among
multiple platforms.
14.3 Packaging Specifications
Bad Robot
Enterprises will install all the necessary files and features of the
International Online Survey on the Siena Computer Science network,
Oraserve. There will then be a web address
supplied for users to access our application.