System Description - team alpha cis3050 project 2

Date:
December 4th, 2010
To:
Dr. Charles Mawhinney
From:
Team Alpha
Subject:
Project 2
Our submission for Project 2 is enclosed. I hope you find our solution acceptable. Please do not hesitate to contact
us if you have any further questions.
2010
Team Alpha
Kyle Coberly
Jacob Kennedy
Dustin Rotunda
Elliott Chhem
[FEASIBILITY STUDY FOR REPLACING
THE CIS DEPARTMENT QUIZ SYSTEM]
http://goteamawesome.wikidot.com
TABLE OF CONTENTS
Executive Summary .......................................................................................................................................................1
System Description ........................................................................................................................................................2
Use-Case Analysis ......................................................................................................................................................3
Use-Case Diagram .................................................................................................................................................3
Use-Case Table ......................................................................................................................................................4
Use-Case Narratives ..............................................................................................................................................4
I/O Analysis..............................................................................................................................................................11
User Interface Analysis ............................................................................................................................................11
Processing Analysis..................................................................................................................................................13
Context Diagram .................................................................................................................................................13
Level-0 Data Flows ..............................................................................................................................................14
Functional Decomposition Diagram....................................................................................................................15
Data Flow Diagram ..............................................................................................................................................16
Process Descriptions ...........................................................................................................................................16
Data Structures ...................................................................................................................................................17
Database Analysis....................................................................................................................................................18
Entity-Relationship Diagram ...............................................................................................................................18
Example data tables ................................................................................................................................................19
Recommended Implementation ..................................................................................................................................21
Development Strategy ............................................................................................................................................22
Feasibility Analysis...................................................................................................................................................23
Appendix ......................................................................................................................................................................24
Revised Project Plan ................................................................................................................................................25
Questionnaires ........................................................................................................................................................25
Interveiw with Dr. Charles Mawhinney 11/03/10 ..............................................................................................25
Interview with Annette Lege 11/10/10 ..............................................................................................................26
Journal .....................................................................................................................................................................28
Meeting Notes .........................................................................................................................................................28
Introductory Email 10/31/10 (Email from Kyle Coberly to group) ......................................................................28
Website Built 11/3/10.........................................................................................................................................29
Tentative Schedule 11/4/10 (Email from Kyle Coberly to Group) ......................................................................29
Project Update 11/27/10 (Email from Kyle Coberly to Group) ...........................................................................29
In-Class Meeting 12/1/10 ...................................................................................................................................30
Documents Collected ..............................................................................................................................................31
IS Service Request ...............................................................................................................................................31
Problem Analysis Matrix .....................................................................................................................................32
Original Code ......................................................................................................................................................34
Quiz System Feasibility Study- Team Alpha
EXECUTIVE SUMMARY
The current online quiz system is used for different courses in the CIS program. It has been in use for
approximately ten years, and many undocumented modifications have been made over time. There are at least
two different versions of this system in presently in use. Many of the system processes are automated, but some
require manual entry and special technical expertise to perform. Several requests have been made to improve the
system and to make it less dependent on the two individuals who serve as system administrators for the system.
The proposed quiz system has two functional areas- a student subsystem and a faculty subsystem. The student
subsystem is responsible for handling student quiz submissions. The faculty subsystem is responsible for handling
quiz and user maintenance. The new system uses a simple GUI-based system that simplifies user interactions, thus
eliminating the need for administrators to have special technical expertise.
The proposed system stores data about students and faculty members, as well as housing a quiz question bank.
Quizzes are assembled by adding questions to them from the question bank. When a student submits answers to
the system, verification is sent to the student, the quizzes are graded, and the grade is stored in the system.
Instructors are able to use the GUI to retrieve grades from quizzes, and system administrators are able to use the
GUI to perform maintenance on both users and quizzes.
A possible implementation of this model involves using Perl and XML to deliver the system online via a browser.
This keeps the technological requirements low for any user of the system, and doesn’t require any special software
installations. Rapid application development techniques can be used to deliver prototypes for testing quickly, and
develop the final product around incremental improvements to the prototypes. When an acceptable version of the
application is completed, a “big-bang” roll-out can be used at the beginning of a new semester.
This solution satisfactorily meets all six feasibility criteria.






It meets all user requirements
All stakeholders should find it culturally acceptable
The system is simple enough to use that it won’t require specialized knowledge or extensive training
It may be possible to write or adapt the code using in-department talent
It can be implemented in a reasonable time-frame
There are no foreseeable legal issues
Team Alpha requests approval from the CIS department to begin the physical design and implementation of a new
quiz system based on this plan.
http://goteamawesome.wikidot.com
1
Quiz System Feasibility Study- Team Alpha
SYSTEM DESCRIPTION
http://goteamawesome.wikidot.com
2
Quiz System Feasibility Study- Team Alpha
USE-CASE ANALYSIS
USE-CASE DIAGRAM
http://goteamawesome.wikidot.com
3
Quiz System Feasibility Study- Team Alpha
USE-CASE TABLE
Actor
Use Case
Trigger
Responses
Student
Submits a quiz
Quiz completed
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
(time)
Instructor
Sets up a new user
Modifies a quiz
Manually removes a quiz
Removes users
Builds quiz
Submits quiz question
Posts a quiz
Automatically removes a quiz
Generate grade report
New student
Quiz modification needed
Quiz not needed
Student no longer in course
Quiz needed
Question needed
Quiz activation needed
(quiz end time)
Grades needed
Grade submission
Store grade in database
Add new user to database
Database updated
Quiz deactivated
Delete student from database
Database updated
Question entered
Quiz activated
Quiz deactivated
Submission Verified
There are two subsystems being used: A student system which is designed to display quizzes and accept quiz
submissions, and a faculty system that interacts with administrators and instructors. This system is where
instructions generate grade reports, quizzes are automatically removed based on an expiration date, and
administration perform user maintenance and quiz maintenance.
USE-CASE NARRATIVES
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
Alternate Courses:
Conclusion:
http://goteamawesome.wikidot.com
Submit Quiz
SubmitQuiz
High
Student
Web Server (External Server)
Instructor- Needs grades from submitted quizzes
This use case describes how a student accesses a posted quiz, answers
questions, and submits them.
The student requesting the quiz must be added to the quiz system
The quiz that the student wants to take must be added and enabled.
The student must access the system and select a quiz. The student answers
the questions in the quiz. The quiz is submitted when the student takes an
action (e.g., clicks a button) to submit it.
Actor Action
System Response
Step 1: The student is authenticated Step 2: The system gives the student
into the system.
a choice of quizzes to take.
Step 3: The student selects a quiz.
Step 4: The quiz is displayed to the
Step 5: The student selects answers
student.
and submits them.
Step 6: The system verifies the
submission to the student.
Step 7: The system grades the
submission.
Step 8: The system stores the
submission and the grade.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
The use-case concludes when a student submits a quiz and the submission
is verified, graded, and stored.
4
Quiz System Feasibility Study- Team Alpha
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
http://goteamawesome.wikidot.com
The submission and its grade are stored in the system.
Students must be authenticated.
Students must select quizzes.
Students choose answers using a form.
Students submit the form.
None specified.
The student is enrolled in the course.
The course has quizzes available to take.
None.
Setup New User
SetupNewUser
Medium
Administrator
Web Server (External Server)
Instructor- Needs to be added to database
Student- Needs to be added to database
Administrator- Needs to be added to database
This use case describes how an administrator adds new users to the
system.
If the actor is a student, they must be enrolled in a CIS course.
The instructor must send an administrator a list of people to add to the
system that includes user names and passwords.
Actor Action
System Response
Step 1: The administrator is
Step 2: The system administrator a
authenticated into the system.
choice of actions to take.
Step 3: The administrator choose to Step 4: The system prompts the
add new users.
administrator to enter user
Step 5: The administrator enters
information.
new user information.
Step 6: The system verifies the
submission to the administrator.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
Alt Step 6: The data entered isn’t an appropriate data type, and the system
prompts the administrator to enter correct values.
The use-case concludes a new user is added into the system.
The new user is in the system.
Students must be enrolled in a CIS course.
Faculty is either an instructor (Rank 2) or administrator (Rank 3).
None specified.
There is an existing administrator able to carry out the actions.
None.
5
Quiz System Feasibility Study- Team Alpha
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
http://goteamawesome.wikidot.com
Remove User
RemoveUser
Low
Administrator
Web Server (External Server)
Instructor- Needs to be removed from the database
Student- Needs to be removed from the database
Administrator- Needs to be removed from the database
This use case describes how an administrator removes users from the
system.
The actors must no longer need to have access to the system.
The instructor must send an administrator a list of people to remove from
the system.
Actor Action
System Response
Step 1: The administrator is
Step 2: The system administrator a
authenticated into the system.
choice of actions to take.
Step 3: The administrator choose to Step 4: The system prompts the
remove users.
administrator to select which users
Step 5: The administrator selects
to remove.
users to remove.
Step 6: The system verifies the
removal to the administrator.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
Alt Step 6: The data entered isn’t an appropriate data type, and the system
prompts the administrator to enter correct values.
The use-case concludes when a user is removed from the system.
The user is no longer in the system.
Students must be enrolled in a CIS course.
Faculty is either an instructor (Rank 2) or administrator (Rank 3).
None specified.
There is an existing administrator able to carry out the actions.
None.
Modifies a Quiz
ModifyQuiz
Low
Administrator
Web Server (External Server)
Instructor- May initiate a quiz modification
This use case describes how an administrator modifies an existing quiz.
The quiz must need to be modified.
The instructor must send an administrator a list of changes to make or an
administrator must make a list of changes.
Actor Action
System Response
Step 1: The administrator is
Step 2: The system administrator a
authenticated into the system.
choice of actions to take.
Step 3: The system administrator
Step 4: The system prompts the
chooses to modify a quiz.
administrator to select which quiz to
Step 5: The administrator selects a
modify.
6
Quiz System Feasibility Study- Team Alpha
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
http://goteamawesome.wikidot.com
quiz to modify.
Step 6: The system displays the quiz
Step 7: The administrator modifies a questions.
quiz question.
Step 9: The system verifies the
Step 8: The administrator confirms
modification.
changes.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
Alt Step 9: The modification isn’t legal, and the administrator is prompted
to correct the change.
The use-case concludes when the modification is finished.
The modified quiz is available to users.
An administrator can modify an existing quiz.
None specified.
The quiz to be modified already exists.
None.
Manually Remove Quiz
ManuallyRemoveQuiz
Low
Administrator
Web Server (External Server)
Instructor- May initiate a quiz removal
This use case describes how an administrator manually removes quizzes.
The quiz must need to be removed.
The instructor must request that a quiz be removed or an administrator
must choose to remove a quiz.
Actor Action
System Response
Step 1: The administrator is
Step 2: The system administrator a
authenticated into the system.
choice of actions to take.
Step 3: The system administrator
Step 4: The system prompts the
chooses to remove a quiz.
administrator to select which quiz to
Step 5: The administrator selects a
remove.
quiz to remove.
Step 6: The system verifies the quiz
removal.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
The use-case concludes when the quiz is removed.
The quiz is no longer active in the system.
If a quiz is no longer needed, an administrator can remove a quiz.
None specified.
The quiz to be removed already exists.
None.
7
Quiz System Feasibility Study- Team Alpha
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
http://goteamawesome.wikidot.com
Build a Quiz
BuildQuiz
High
Administrator
Web Server (External Server)
Instructor- May request that a quiz be built
This use case describes how an administrator builds quizzes.
A quiz needs to be built.
The instructor must request that a quiz be built or an administrator must
choose to build a quiz.
Actor Action
System Response
Step 1: The administrator is
Step 2: The system administrator a
authenticated into the system.
choice of actions to take.
Step 3: The system administrator
Step 4: The system prompts the
chooses to build a quiz.
administrator to select questions to
Step 5: The administrator selects
put into the quiz.
questions to put into the quiz.
Step 7: The system verifies the quiz
Step 6: The administrator submits
construction.
the assembled quiz.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
The use-case concludes when the quiz is built.
The quiz is active in the system.
If a quiz is needed, an administrator can build a quiz.
None specified.
There are questions in the question bank to build a quiz with.
None.
Post a Quiz
PostQuiz
High
Administrator
Web Server (External Server)
Instructor- May initiate a quiz posting
Student- Needs a quiz to be posted before a quiz can be taken
This use case describes how an administrator posts quizzes.
The quiz must be made available.
The instructor must request that a quiz be posted or an administrator must
choose to post a quiz.
Actor Action
System Response
Step 1: The administrator is
Step 2: The system administrator a
authenticated into the system.
choice of actions to take.
Step 3: The system administrator
Step 4: The system prompts the
chooses to post a quiz.
administrator to select which quiz to
Step 5: The administrator selects a
post.
quiz to post.
Step 6: The system verifies the quiz
posting.
8
Quiz System Feasibility Study- Team Alpha
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Typical Course of Events:
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
http://goteamawesome.wikidot.com
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
The use-case concludes when the quiz is activated.
The quiz is available to take in the system.
If a quiz is needs to be available, an administrator can activate a quiz.
None specified.
The quiz to be activated already exists.
None.
Submit Quiz Question
SubmitQuestion
High
Administrator
Web Server (External Server)
Instructor- May initiate a quiz question submission
This use case describes how an administrator submits quiz questions.
The quiz questions must need to be added to the system.
The instructor must request that a quiz question be added or an
administrator must choose to add a quiz question.
Actor Action
System Response
Step 1: The administrator is
Step 2: The system administrator a
authenticated into the system.
choice of actions to take.
Step 3: The system administrator
Step 4: The system prompts the
chooses to submit a quiz question.
administrator to enter in question
Step 5: The administrator enters in
and answer text, and select a
question and answer text, selects a
correct answer.
correct answer.
Step 7: The system verifies the quiz
Step 6: The administrator verifies
question submission.
the submission.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
Alt-Step 7: The system prompts the user to correct an illegal data flow.
The use-case concludes when the quiz question is added.
The quiz question is in the question bank.
If a quiz question needs to be added, an administrator can add a question.
None specified.
None.
None.
Automatically Remove Quiz
AutomaticallyRemoveQuiz
Low
Time
Web Server (External Server)
Instructor- May specify what day a quiz is to be removed
9
Quiz System Feasibility Study- Team Alpha
Description:
Precondition:
Trigger:
Typical Course of Events:
This use case describes how time automatically removes quizzes.
The quiz must already be posted.
The quiz must need to be removed.
A point in time must elapse.
Actor Action
System Response
Step 1: A specified point in time
Step 2: A quiz is deactivated.
elapses.
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
None.
The use-case concludes when the quiz is removed.
The quiz is no longer active in the system.
A due date can be set, and a quiz is automatically removed after that date.
None specified.
Use-Case Name:
Use-Case ID:
Priority:
Primary Business Actor:
Other Participating Actors:
Other Interested Stakeholders:
Description:
Precondition:
Trigger:
Generate Grade Report
GradeReport
Medium
Instructor
Web Server (External Server)
Student- Interested in their grade
This use case describes how an instructor generates grade reports.
There must be graded submissions to report.
The instructor must request that a quiz be removed or an administrator
must choose to remove a quiz.
Actor Action
System Response
Step 1: The instructor is
Step 2: The system gives the
authenticated into the system.
instructor a choice of actions to
Step 3: The instructor chooses to
take.
generate a grade report.
Step 4: The system prompts the
Step 5: The administrator selects a
instructor to select which quiz to
quiz to report.
report.
Step 6: The system displays the
grade report.
Alt-Step 2: The login information is incorrect, and the student is prompted
to reenter the correct login information.
Alt-Step 6: The system informs the instructor that no grades currently exist
for that quiz.
The use-case concludes when the report is generated.
The report is displayed.
An instructor views a grade report by generating it in the system.
None specified.
Typical Course of Events:
Alternate Courses:
Conclusion:
Postcondition:
Business Rules:
Implementation Constraints and
Specifications:
Assumptions:
Open Issues:
http://goteamawesome.wikidot.com
The quiz to be removed already exists.
None.
The quiz to be reported on already exists.
None.
10
Quiz System Feasibility Study- Team Alpha
I/O ANALYSIS
Inputs
User ID
Password
Quiz Selection
Answer Submission
Class Selection
Section Selection
Quiz Text
Answer Text
Outputs
Student Grade
Student ID
Course Section
Quiz Question
Administrator Name
Quiz Text
Answer Text
USER INTERFACE ANALY SIS
Figure 1- User Login
http://goteamawesome.wikidot.com
Figure 2- Student Quiz Selection
11
Quiz System Feasibility Study- Team Alpha
Figure 3- Student Quiz
Figure 5- Administrator Maintenance
http://goteamawesome.wikidot.com
Figure 4- Student Quiz Submission
Figure 6- Quiz Builder
12
Quiz System Feasibility Study- Team Alpha
Figure 7- Instructor Maintenance
Figure 8- Instructor Grade Viewer
PROCESSING ANALYSIS
CONTEXT DIAGRAM
The system needs to interact with students, instructors, and administrators. These are the data flows in and out of
the system.
http://goteamawesome.wikidot.com
13
Quiz System Feasibility Study- Team Alpha
LEVEL-0 DATA FLOWS
The quiz system breaks down into a student subsystem that handles student data flows, and a faculty subsystem
that combines instructor and administrator data flows.
http://goteamawesome.wikidot.com
14
Quiz System Feasibility Study- Team Alpha
FUNCTIONAL DECOMPOSITION DIAGRAM
This diagram identifies each of the tasks the two subsystems must accomplish. The Faculty subsystem is further
broken down into its main functions- quiz maintenance, user maintenance, and grade generation.
http://goteamawesome.wikidot.com
15
Quiz System Feasibility Study- Team Alpha
DATA FLOW DIAGRAM
This diagram identifies which actors initiate which processes, and how those processes interact with data stores.
PROCESS DESCRIPTIONS
Submits a Quiz
A student calls up a quiz and submits answers, which are verified and graded.
The grade is stored in the data store quiz.
Builds/Modifies Quiz
A person with rank 3 (administrator) adds a quiz to the quiz data store, or
modifies a quiz currently in the quiz data store.
Manually Removes a Quiz
A person with rank 3 (administrator) deactivates a quiz that is stored in the
quiz data store.
Automatically Removes a Quiz
A point in time deactivates a quiz that is stored in the quiz data store.
http://goteamawesome.wikidot.com
16
Quiz System Feasibility Study- Team Alpha
Posts a Quiz
A person with rank 3 (administrator) activates a quiz that is stored in the quiz
data store.
Submits a Quiz Question
A person with rank 3 (administrator) enters a question in the question bank
data store.
Adds a New User
A person with rank 3 (administrator) adds a user to the person data store.
Removes a User
A person with rank 3 (administrator) removes a users from the person data
store.
Generate a Grade Report
A person with rank 2 (instructor) or rank 3 (administrator) requests and
generates a report on all the stored grades for a quiz from the quiz data store.
DATA STRUCTURES
Submit a Quiz
1. If a STUDENT requests to submit a QUIZ
a. Store GRADE in the date store QUIZ
b. Verify submission to STUDENT
Build/Modify Quiz
1. If FACULTY is RANK 3 and requests to Build or Modify QUIZ
a. Update QUIZ in the date store QUIZ
Automatically Remove a Quiz
1. If the DEADLINE for a QUIZ expires
a. Deactivate QUIZ in the date store QUIZ
Manually Remove a Quiz
1. If FACULTY is RANK 3 and requests to manually remove a QUIZ
a. Deactivate QUIZ in the date store QUIZ
Post a Quiz
1. If FACULTY is RANK 3 and requests to post a QUIZ
a. Activate QUIZ in the date store QUIZ
Submit a Quiz Question
1. If FACULTY is RANK 3 and requests to submit a QUESTION
a. Update QUESTION in the date store QUESTION
Set up a New User
1. If FACULTY is RANK 3 and requests to add a PERSON
a. Add a new user in the date store PERSON
b. Assign them a RANK
Remove a User
1. If FACULTY is RANK 3 and requests to remove a PERSON
a. Remove PERSON from the date store PERSON
Generate a Grade Report
http://goteamawesome.wikidot.com
17
Quiz System Feasibility Study- Team Alpha
1. If FACULTY is RANK 2 or 3 and requests to generate a GRADE report
a. Request GRADE Report from data store QUIZ
b. GRADE report is displayed to FACULTY
DATABASE ANALYSIS
ENTITY-RELATIONSHIP DIAGRAM
“Student” and “Faculty” both inherit most of their attributes from the “Person” supertype. A “Student” is enrolled
in a “Course”, and may be taking more than one (Stu_Course is an associating table). Each person has a RANK.
Rank 1



Partial Access
Granted to Student
Allows for access to quiz system to take quiz
Rank 2



Partial Access
Granted to Faculty
Allows a faculty user to access quiz grades and to view quizzes for courses taught
Rank 3



Full access
Granted to Administrators
Allows administrators to create and organize quiz's, along with questions and respective
http://goteamawesome.wikidot.com
18
Quiz System Feasibility Study- Team Alpha
answers. An administrator can also make adjustments to the quiz system, as one sees fit
(Faculty can also possess the role of an administrator)
Many students can submit many quizzes, but they only receive one grade per quiz submission. That grade is stored
in the associating table “Stu_Quiz” in the S_GRADE attribute. Quizzes are stored in “Quiz.” Each quiz is “owned” by
a faculty member. Currently, this is simply another identification for each quiz, but it leaves quizzes open to future
functionality (such as exclusive editing rights or sorting quizzes by owner). If the ACTIVE attribute in “Quiz” is TRUE,
then a quiz is available to be taken. If the ACTIVE attribute is FALSE, the quiz may not be taken. Quizzes are
comprised of questions (which are stored in “Question_Bank”), and many quizzes can contain many questions
(associated with “Quiz_Quest”). Structuring questions as separate from the quizzes makes it easy to reuse
questions for reviews, exams, or other courses they may be applicable to.
EXAMPLE DATA TABLES
Person
P_ID FIRST
LAST
EMAIL
LOGIN
PASSWORD
RANK
S12
Amschel
Rothschild
arothsch1@mscd.edu
arothsch1
bullion1000
1
F3
Snoop
Dogg
sdogg213@mscd.edu
sdogg213
FOshizzel01
2
A1
Peter
Griffen
pgriffen68@mscd.edu
pgriffen68
HAPPYHolloween2006
3
Student
P_ID
1
Faculty
P_ID
2
3
Quiz_Quest
Q_ID
QUEST_ID
SORT_NUMBER
Q1
1
1
Q1
34
2
Course
C_CRN
234-22
432-23
765-23
C_COURSE
CIS2110
CIS2110
CIS3050
C_SEC
01
02
01
Quiz
Q_ID
Q_NAME
P_ID
ACTIVE
Q1
Quiz1_Ch1
A1
FALSE
Q2
Quiz2_Ch2
A1
FALSE
Q3
Quiz3_Ch3
A1
FALSE
Q4
Quiz4_Ch4
A1
TRUE
Q5
Quiz5_MidTermReview
A1
TRUE
Q6
Quiz6_Ch5
A1
FALSE
Q7
Quiz7_Ch6
A1
FALSE
Q8
Quiz8_Ch7
A1
FALSE
Q9
Quiz9_Ch8
A1
FALSE
http://goteamawesome.wikidot.com
Stu_Quiz
S_ID
1
1
Stu_Course
P_ID
1
Q_ID
Q2
Q3
GRADE
.72
.95
C_CRN
234-22
19
Quiz System Feasibility Study- Team Alpha
Question_Bank
QUEST_ID
COR_ANS
1
A
STU_ANS
A
2
B
A
34
C
A
http://goteamawesome.wikidot.com
QUEST_TXT
Which
of
these is a CIS
course?
Which is the
following is
blue?
What state is
Denver in?
A1_TXT
Systems
Analysis
A2_TXT
Calculus
A3_TXT
English
A4_TXT
Ethics
A5_TXT
French
Red
Blue
Green
Purple
Mauve
Delaware
Nevada
Colorado
Texas
Maine
20
Quiz System Feasibility Study- Team Alpha
RECOMMENDED IMPLEMENTATION
http://goteamawesome.wikidot.com
21
Quiz System Feasibility Study- Team Alpha
DEVELOPMENT STRATEGY
A new application can be developed that replaces all of the functionality of the existing system while addressing its
limitations. By having a strong GUI for the system, it will be easier to administer. Once the system is built, it will no
longer rely on knowledge of a particular coding language to administer. It will simple enough that it won’t require
extensive training to use.
In order for the quiz system to operate with the content in database tables, the programming language Perl should
be used. An object-oriented approach with Perl will organize each table (or in programming, the noun subject or
object). Perl will be used to define methods or actions to use the content or attributes in the tables for user
interaction to occur, such as a student accessing and submitting a quiz.
The Perl language will also be used with XML language to encapsulate the database tables for use via an internet
browser. For a user to view content of the quiz system in an internet browser, a Graphic User Interface (GUI) must
be used in sufficing the intuitive ability for a user to comprehend the layout of a quiz and its content. This GUI must
display a logging in screen for users, the quiz for students and faculty, grades for faculty, and an interface for
administrators to create, add, or edit quizzes and questions.
Rapid application development (RAD) should be used to draft quick prototypes of the application and modifying
them based on user input from trial runs. Once a satisfactory application has been developed, a big-bang rollout
can be performed during a new semester.
Step 1
Assign people to project subteams:
Representative Team - Consists of the team leaders of each individual task team
Programming Team - Create programming code and make sure current code is compatible with
shell
Web Design Team- Create user interface and help with integration of the code and database
structure
Data Team - Constructs database model and hardware model for system use
Each subteam creates an individual schedule. The representative team meets and build a master schedule based
on the individual team schedules.
Step 2
• Programming team creates additional classes for the quiz system and manages the integration of the current Perl
code file and shell occurs.
• Data team collects data, integrates hardware, and designs the data model
• Representative meeting
Step 3
• Web design team creates user interfaces
• Web design team works with programming team for code integration
• Web design team works with data team for data and hardware integration
• Representative meeting
Step 4
Representative team tests system functionality, debugs any errors, makes improvements consistent with a Rapid
Application Development (RAD) strategy.
http://goteamawesome.wikidot.com
22
Quiz System Feasibility Study- Team Alpha
FEASIBILITY ANALYSIS
Operational Feasibility
Performance- The system is small and agile, there should be no noticeable processing
time.
Information- Users can get all the information they need from the system.
Economy- This system will decrease the time spent administering the quiz system.
Control- This system will be as secure as the current system.
Efficiency- This system is easy enough that more people that would be classified as
instructors in the current system could also be classified as administrators in the
proposed system.
Services- The GUI makes the system more straightforward to use. No reliability issues
are anticipated.
Cultural Feasibility
The current managers are unhappy with the strain that the current system places on
them. The new system makes it feasible to have more administrators, thus relieving the
strain on the existing administrators.
The students shouldn’t notice a substantial difference between the systems, aside from
a slightly more attractive interface.
The current instructors will have an easier means of accessing the grades they need.
However, since it’s feasible for more instructors to become administrators, some of
them may be resistant to the extra responsibilities. Others may enjoy having more
freedom with their quizzes
Technical Feasibility
Since the system uses web browsers to implement, it is technically practical for all
actors. The system can be implemented on the ROWDY servers that the department
currently has access too. The system requires no special expertise to operate, although
some expertise will be required to code it.
Economic Feasibility
The only possible fixed costs involved with the system would be paying for people to
write the code. It is possible that faculty would be willing to write the code for free, or
students would be willing to work on it as a project. There are no variable costs
associated with this system- since it operates on the ROWDY servers, the department
does not pay anything for each use of the system. The tangible benefits will mostly be in
time savings for the current administrators, as well as a simplified process for activities.
The intangible benefits would be increased system involvement among faculty
members and decreased workload on the current administrators.
Schedule Feasibility
No deadline was set for a rollout. Deployment is estimated at one person-month.
Legal Feasibility
No foreseeable issues.
http://goteamawesome.wikidot.com
23
Quiz System Feasibility Study- Team Alpha
APPENDIX
http://goteamawesome.wikidot.com
24
Quiz System Feasibility Study- Team Alpha
REVISED PROJECT PLAN
QUESTIONNAIRES
INTERVEIW WITH DR. CHARLES MAWHINNEY 11/03/10
Why wasn't a COTS solution used, specifically Blackboard?
1. Didn't start with Blackboard
2. Fundamental flaw is: Multiple sections, each thing must be entered manually
3. Fights the culture
4. Helps consistency
Uploading a file is possible in Blackboard.
How is data stored in a database?
No, it's a file based system.
Differences between systems
More secure (didn't publish textbank stuff)
Didn't want to learn unix quiz-kill commands
Want something that auto-fills student stuff
Different codes are diverging
What are biggest complaints?
Mostly administrative
Needing to do everything manually
Alphabetizing student names, for example
There is no common place to run each system
What are your biggest complaints with the system?
As Administrator: Need to have extensive knowledge of the system. Too much manual input to set up the system.
Have to convert files Dos2Unix.
As Instructor: Would like system to display student names alphabetically—no student names in this version of the
system.
http://goteamawesome.wikidot.com
25
Quiz System Feasibility Study- Team Alpha
Why are their two different quiz systems in place?
They started as one system and then due to creative differences between the quiz administrators the systems
evolved to what they are currently.
What exactly does the quiz administrator see or do when performing their job?
The administrator when dealing with the quiz system only deals with files which they upload through a secure FTP
program. No GUI is currently being used.
When the instructor logs in to get the student results can they see any of the quiz results?
Yes, the instructor after they log in can choose which quiz results they would like to see then they are given the
result of all of their students for that particular quiz.
INTERVIEW WITH ANNETTE LEGE 11/10/10
What features would you like to have in the quiz system?
Some way of making sure student quiz submissions end up in the right section.
What is a typical instructor interaction with the system?
At the beginning of a semester, the administrator asks for a list of student IDs and names. Administrators get a
password. They retrieve data after things are submitted.
What are the biggest problems with the current system?
Lack of a visual interface.
What are the issues with Blackboard?
Interface is designed for non-experts, most of the things that make it feasible are very recent changes, instructor
has fewer controls.
Would it be possible to switch to an object-oriented language to help support a GUI solution?
Yes.
What would you like to add or take away from the system?
I'm trying to figure out how to add a feature so the students end up in the right section. Take 2010 for example,
some students may select the wrong section from a pull down menu. I would like to come up with some way to get
all students in the right section because I sort results by section. Some students pick the wrong instructor.
How do you associate username with login name?
Select the section first and then the real name; 900 number; username can be listed. The login process uses a korn
shell script to search through a text file that contains userids associated with real names.
http://goteamawesome.wikidot.com
26
Quiz System Feasibility Study- Team Alpha
What interaction does a typical instructor have with the system?
Sends admin the student roster for the semester for each section
Gives personal instructor password to the admin
Logs in after the quiz deadline to retrieve the results (displayed on a page individualized for each instructor)
Transcribes the results into a gradebook
(Assumption, not stated: Posts the gradebook somewhere online)
What tasks do you accomplish as the admin?
The admin posts the quizzes. Some person (currently Lege in 2110 and Fustos in 2010) is responsible for writing
the quizzes (they are sent to the admin as straight hmtl). In addition, the admin has to set up the system at the
beginning of each semester so that students and instructors can access it.
Do you see any major or recurring problems from the instructor’s point of view?
None from the instructors. However, lack of interface for the admin makes the system more difficult to set up each
semester. A GUI to guide admins through the process would be beneficial.
What drawbacks from Blackboard have kept you from switching to that system?
When I was trained on the system I understood that each student would take a different quiz resulting from a
unique combination of questions from a test bank. I wanted them to take the same quiz so we could review it
together in class, if needed.
Does the quiz system automatically send an email, grade the quiz and post the grades in the grade book after a
quiz is closed?
Yes,Yes and No.
What areas of the quiz system do you feel could and/or should be automated?
Professor Lege has automated the posting of the solutions. She has also automated the removal of the quiz at a
certain time.
How is the time to take down a quiz set? In a data file?
Quiz take down time is scheduled in Linux scheduler, as well as the time to post the quiz answers.
Do other people in the department know how to administer the quiz system?
Fustos, maybe. Mostly, no one else has the necessary skill set to administer the system, i.e. PERL.
What exactly does the quiz administrator see or do when performing their job?
The administrator when dealing with the quiz system only deals with files which they upload through a secure FTP
program. No GUI is currently being used.
http://goteamawesome.wikidot.com
27
Quiz System Feasibility Study- Team Alpha
When the instructor logs in to get the student results can they see any of the quiz results?
Yes, the instructor after they log in can choose which quiz results they would like to see then they are given the
result of all of their students for that particular quiz.
JOURNAL
Kyle Coberly (Project Manager): Logical design, diagrams, writing, website maintenance
Jacob Kennedy: Database description, problem analysis matrix, GUI graphics, development strategy,
PowerPoint
Dustin Rotunda: Code analysis, process descriptions, GUI design, information systems service request
Elliott Chhem: Code analysis, Gannt chart, diagrams, feasibility, vent server
MEETING NOTES
INTRODUCTORY EMAIL 10/31/10 (EMAIL FROM KYLE COBERLY TO GROUP)
Hey all!
So here's the stats on our group / summary of our first meeting:
Kyle Coberly / kyle.coberly@gmail.com / 720.257.4330
Strengths: Databases, logical diagrams, writing
Weaknesses: Coding
Jacob Kennedy / jkenne33@mscd.edu / 303.256.8965
Strengths: Creativity, speaking, code
Weaknesses: Writing
Dustin Rotunda / drotunda@mscd.edu / 303.547.0553
Strengths: Code
Weaknesses: Writing
Elliott Chhem / echhem@mscd.edu / 720.427.6328
Strengths: Creativity, code, graphics
Weaknesses: Writing
Deliverables for Monday:
1. 3 questions for interviews. Might be a good idea to have some potential follow-up questions also.
2. Does anyone have experience with online project management software? If I have a server we can install it on,
but I've never used any of that stuff before. I was thinking that might be a good thing not just for coordination, but
also make this project a cooler portfolio piece. We can does something simple and HTML-y if we have to, but I
figured I'd ask first if anyone had ever used anything else.
3. Look over the project requirements, and let's chat about some scheduling stuff.
http://goteamawesome.wikidot.com
28
Quiz System Feasibility Study- Team Alpha
It's gonna be a great project- see you guys Monday!
WEBSITE BUILT 11/3/10
goteamawesome.wikidot.com
After reviewing different collaborative project management software, Dustin suggested that we use a Wiki. On the
night of 11/3/10, Dustin, Elliott, and Kyle worked on the building the initial website framework.
TENTATIVE SCHEDULE 11/4/10 (EMAIL FROM KYLE COBERLY TO GROUP)
Working backward from the due date...
Written Presentation final draft (must complete by 12/9), duration 3 days, requires written presentation working
draft, all team members
Formal Presentation final draft (with aids) (must complete by 12/6), duration 2 days, requires written presentation
working draft, Jacob
Written Presentation working draft, duration 5 days, all team members, requires all decision analysis completed
work completed, Kyle
Decision Analysis (feasibility, costs/benefits, candidate solutions), duration 5 days, requires all logical design
completed, Dustin
Logical Design (context diagram, use case diagram/narrative, data flow diagram, functional decomposition
diagram, data model), duration 7 days, Kyle
Problem Analysis (problem statement, improvement objectives, Identify business requirements), must complete
by 11/9, duration 5 days, Elliott
Elliott can throw this into a Gantt chart- can you also throw this in a table with the individual components of each
of these phases? What I'm thinking is that we'll all help with each of the phases, but if each of us kind of "heads
up" a phase and can be familiar enough with what will need to be delegated out.
Can y'all plan on emailing me documents for this stuff by say, Friday night? I always like to plan a little buffer time
in so that we don't get caught with crashed computers or emergency room visits on Sunday night. I'll also post up
the assembled 2A thing up on the website so we can all check it out and make any adjustments we need to.
Thanks!
-Kyle
PROJECT UPDATE 11/27/10 (EMAIL FROM KYLE COBERLY TO GROUP)
Hey gang,
Hope everyone had a great break! The deadline is closing in on this project, but we're closer to being done than
http://goteamawesome.wikidot.com
29
Quiz System Feasibility Study- Team Alpha
you might think. There's some new diagrams up (including a re-thought ERD) on the wiki
(goteamawesome.wikidot.com) under the "Phase B" section. We've got a week and change before we have to do
the presentation, and 2 days later the written section is due. Here's what needs to get done:
Jacob:
-Database analysis. Work from the ERD and build up some mock tables, and write a narrative of how the data is
stored. The only thing I really changed was combining students and faculty into the same table- they'll be
differentiated under the "role" attribute (student, instructor, administrator). Think of some supporting business
rules too (person must have the role of administrator to own a quiz, etc.)
-Figure out a development strategy for us to use, and outline how it would apply to our specific project. I can clean
up the language, formatting etc., just get me the meat and potatoes.
-Start thinking about what our presentation will be, powerpoint slides, etc.
Elliott:
-Great work on the diagrams! All you have left is to outline our feasibility analysis. I'm not sure we can answer all
six feasibility issues now, but fill in what you can and identify what we still need to figure out.
Dustin:
-I/O and UI stuff. The I/O should be pretty easy- just identify what our inputs and outputs are. Put some serious
thought into what a good UI for this would look like though- that was Lege's big thing on why it's so hard to
administer. Think about what each screen that an instructor, administrator, or student might see, and where form
boxes, buttons, etc. would go.
-This will depend on some of the feasibility stuff, but start getting an idea of what an implementation of all of this
would look like (phases, etc.)
Kyle:
-Finish up the use-case models and narratives
-Write the overall logical design narrative
-Layout our written presentation
That's everything we have left to do! It would be awesome if we could have all of the underlined stuff done by
Monday. I know it's a lot for a short period of time, but if we'll be basically back on schedule if we get that stuff
knocked out. Email or call (720.257.4330) if you have any questions.
IN-CLASS MEETING 12/1/10
Discussed final details of the project, selected first slot on the first presentation day. Decided on business casual
for attire. Discussed feasibility of using new Perl functions.
http://goteamawesome.wikidot.com
30
Quiz System Feasibility Study- Team Alpha
DOCUMENTS COLLECTED
IS SERVICE REQUEST
REQUESTED BY:
DEPARTMENT:
LOCATION:
CONTACT:
Team Alpha
Computer Information Systems
Metropolitan State College of Denver
Kyle Coberly, 720.257.4330
kyle.coberly@gmail.com
TYPE OF REQUEST:
[ ] New System
[x] System Enhancement
[ ] System Error Correction
PROBLEM STATEMENT
DATE:
NOVEMBER 4, 2010
http://goteamawesome.wikidot.com
URGENCY:
[ ] Immediate—Operations are impaired or opportunity lost
[x] Problems exist but can be worked around
[ ] Business losses can be tolerated until new system installed
The online quiz system is used for different courses in the CIS program. It has
been in use for approximately ten years, and many undocumented modifications
have been made over time. There are at least two different versions of this system
in presently in use. Many of the system processes are automated, but some require
manual entry and special technical expertise to perform. Several requests have
been made to improve the system and to make it less dependent on the two
individuals who serve as system administrators for the system.
PROPOSED SOLUTION
We intend to take the two existing systems and combine them into one to help
streamline the processes the department uses. This will allow for a more rapid
implementation of new material and modification of old material. This will also
reduce redundancy within the system and make it more secure. This system
enhancement will lead to a better user, instructor, and administrator experience by
delivering better quality control and shared services over the network.
IS LIAISON:
Dr. Charles Mawhinney
X
SPONSOR:
Dr. Abel Moreno
X
- - - - - - - - - - - - - TO BE COMPLETED BY SYSTEMS PRIORITY BOARD - - - - - - - - - - - - - [ ] Request Approved
Assigned to:
Start date:
[ ] Recommend Revision
[ ] Suggest User Development
[ ] Reject for reason:
http://goteamawesome.wikidot.com
31
Quiz System Feasibility Study- Team Alpha
PROBLEM ANALYSIS MATRIX
Project:
Quiz System (Team Alpha)
Created by:
Date Created:
Project Manager:Kyle Coberly
Team Alpha
Last Updated by: Jacob Kennedy
11/3/10
Date Last Updated:
CAUSE AND EFFECT ANALYSIS
Problem (Identify as B,O,D)*
1. There are two versions of the
system-D
2. Some processes aren't automated
and require manual work requiring
special technical expertise- D-B
http://goteamawesome.wikidot.com
SYSTEM IMPROVEMENT OBJECTIVES
Causes and Effects
1.
2.
This quiz system is
used for both upperlevel, and lower-level
courses. The system is
designed with two
versions administered
by two instructors in
charge. One instructor
administers over lowerlevel courses and the
other over upper-level
courses. The effect of
this occurrence causes
instances of automated
procedures and/ or
manual procedures in
the system via the
discretion of the
administrator.
11/8/10
System Objective
1.
To allow ease of access
and maintenance by
administrators.
2.
To allow ease of access
to student to take the
quiz and receive graded
score.
3.
To properly receive,
store, and protect
graded quiz data
4.
To provide graded quiz
information to the
student in a timely
manner
System Constraint
1.
Is used even when
the system is less
efficient and
effective than other
alternatives. ( A
major opportunity
cost)
With having a system
that possesses some
automated and/or
manual processes,
32
PROPOSED SOLUTION
1.
Combine both quiz system versions
together
2.
Make a single quiz system that can
possess procedures that occur
automatically, if needed (can
change procedure settings from
manual to automated)
3.
Allow access to quiz system by a
student with custom password
creation and default Metro-connect
user name
4.
Use database tables to store
student, instructor, and quiz
information (can store all quizzes
for all sections and can be easily
updated)
5.
Upgrade system coding to be
object-oriented (Java or VB) with
the use of XML
6.
Make the visual presence of the
system be aesthetically pleasing
(make the visual appearance of the
Quiz System Feasibility Study- Team Alpha
3. The system is very dependent on its
two administrators-D-O
error in quiz
administrating, grading,
and data storing may
occur
3.
quiz system help with ease in
intuitively navigating the system via
system users- students)
7.
With system activity
relying heavily upon
two administrators for
two system versions, if
an unexpected or
unforeseen occurrence
(physical accident,
health issue) happens,
further system
administering by
another instructor may
not occur in an easy
transition
* B = Bug, O = Opportunity, D = Directive
http://goteamawesome.wikidot.com
33
Quiz System Feasibility Study- Team Alpha
ORIGINAL CODE
QUIZ LOGIN SCRIPT
#!/usr/local/bin/perl
print "Content-type: text/html", "\n\n";
############################################################
# quizLogin.pl
#
# by C. H. Mawhinney, 8/18/05
#
# Copyright 2005, all rights reserved.
#
# This program checks student userid and password against #
# a password master file. It then calls the quiz
#
# menu page.
#
#
#
############################################################
require "cgi-lib.pl";
&ReadParse(*in);
&PrintHeader;
#######
# Init
#######
$thismonth = (January, February, March, April, May, June, July, August,
September, October, November, December)[(localtime)[4]];
$thisday = (localtime)[3];
$thisyear = (localtime)[5];
$userid
$password
$course
$instructor
$idfile
$redopage
$nextpage
=
=
=
=
=
=
=
$in{'userid'};
$in{'password'};
$in{'course'};
$in{'instructor'};
'/user6/mc/mawhinnc/pwz/' . $course . $instructor . '.pwf';
'/user6/mc/mawhinnc/pwz/quizRedo.htm';
'/user6/mc/mawhinnc/pwz/' . $course . 'QuizMenu.htm';
########
# main #
########
&void_entry;
&read_idfile;
&check_entry;
&next_page;
########################
# Check for void entry #
########################
http://goteamawesome.wikidot.com
34
Quiz System Feasibility Study- Team Alpha
sub void_entry {
if ($userid eq "") {
&redo;
exit;
}
if ($password eq "") {
&redo;
exit;
}
}
#################################
# Open password file into array #
#################################
sub read_idfile {
open(PWORDS,$idfile) || die "Cannot open $idfile for reading";
@pwf = <PWORDS>;
close(PWORDS);
for($i = 0; $i < (@pwf); $i++) {
chomp($pwf[$i]);
}
}
#############################
# Check for userid/password #
#############################
sub check_entry {
if ($password ne $pwf[0]) {
&redo;
exit;
}
$flag = "f";
for($i = 1; $i < (@pwf); $i++) {
if ($userid eq $pwf[$i]){
$flag = "t";
}
}
if ($flag eq "f") {
&redo;
exit;
}
}
#####################################################
# Call next page -- inserts userid & faculty fields #
#####################################################
sub next_page {
$tokenline1 = '<INPUT TYPE=hidden NAME=userid VALUE= "' . $userid . '">' . "\n";
$tokenline2 = '<INPUT TYPE=hidden NAME=instructor VALUE= "' . $instructor . '">' . "\n";
$tokenline = $tokenline1 . $tokenline2;
$now_secs = time;
$now = localtime($now_secs);
http://goteamawesome.wikidot.com
35
Quiz System Feasibility Study- Team Alpha
$nowline = '<CENTER>Student ' . $userid . ' logged in to WEPS: ' . $now . '</CENTER>' . "\n";
open(NEXTPAGE,$nextpage) || die "Cannot open $nextpage for reading";
@np = <NEXTPAGE>;
close(NEXTPAGE);
$hr = 0;
for($i = 0; $i < (@np); $i++){
if ((index($np[$i], '<HR>') != -1)&& ($hr == 0)){
splice(@np, ($i+1), 0, $nowline);
$hr = 1;
}
if (index($np[$i], 'METHOD=POST>') != -1){
splice(@np, ($i+1), 0, $tokenline);
}
}
for($i = 0; $i < (@np); $i++){
print $np[$i];
}
}
##############
# Redo Login #
##############
sub redo {
open(REDOPAGE,$redopage) || die "cannot open $redopage for reading";
while (<REDOPAGE>) {
print $_;
}
close(REDOPAGE);
}
EXAMPLE PASSWORD FILE (.PWF)
cis3050demof10
mawhinnc
bghosh
1Ansrkey
userid1
userid2
userid3
userid4
userid5
LOGIN PAGE
<HTML>
<!--This file created 10:51 AM 11/3/2010 by Claris Home Page version 3.0-->
<HEAD>
<TITLE>CIS 3050 Quiz Menu</TITLE>
http://goteamawesome.wikidot.com
36
Quiz System Feasibility Study- Team Alpha
<META NAME=GENERATOR CONTENT="Claris Home Page 3.0">
<X-CLARIS-WINDOW TOP=0 BOTTOM=845 LEFT=0 RIGHT=1112>
<X-CLARIS-TAGVIEW MODE=minimal>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<P><TABLE BORDER=0>
<TR>
<TD WIDTH=423>
<CENTER><IMG SRC="http://clem.mscd.edu/~mawhinnc/wepshead.jpg" ALT="MSCD WEPS Web Exam
Presentation System" X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<H2><CENTER><BR>
CIS 3050 Demo Quiz Menu</CENTER></H2>
<CENTER>(Revised 11/3/10)
<P>
<HR>
</P></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<CENTER><TABLE BORDER=0>
<TR>
<TD ALIGN=right>
<P></P>
</TD>
</TR>
<TR>
<TD ALIGN=right>
<CENTER><A HREF="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/homework/hwans.htm"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/l-arw4s.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT ALIGN=bottom>
<B>Homework</B> <B>Answers</B></A><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/new.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT ALIGN=bottom></CENTER>
</TD>
</TR>
<TR>
<TD ALIGN=right>
<P></P>
</TD>
</TR>
<TR>
<TD ALIGN=right>
<CENTER><FORM ACTION="http://rowdy.mscd.edu/cgi-bin/cgiwrap/~mawhinnc/getQuizFrame.pl"
METHOD=POST>
http://goteamawesome.wikidot.com
37
Quiz System Feasibility Study- Team Alpha
<P><INPUT TYPE=hidden NAME=course VALUE=cis3050demo><TABLE BORDER=1>
<TR>
<TD COLSPAN=3>
<CENTER><FONT SIZE="+2"><B>Select
Quiz</B></FONT></CENTER>
</TD>
<TD>
<P></P>
</TD>
</TR><!-<TR BGCOLOR="#FFFFFF">
<TD VALIGN=bottom COLSPAN=4 BGCOLOR="#FF99FF">
<CENTER> <FONT COLOR="#000066"><B>Your
best 11 of the following 12 quizzes
will be counted.<BR>
Quiz #13 is a "bonus quiz" whose value
was discussed in
class.</B></FONT></CENTER>
</TD>
</TR>
-->
<TR>
<TD>
<CENTER><B>Quiz No.</B></CENTER>
</TD>
<TD>
<P><B>Description</B></P>
</TD>
<TD>
<P><B>Due Date</B></P>
</TD>
<TD>
<P><B>Status</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=01>01</B></CENTER>
</TD>
<TD>
<P>Ch 1</P>
</TD>
http://goteamawesome.wikidot.com
38
Quiz System Feasibility Study- Team Alpha
<TD>
<P>08/26/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=02>02</B></CENTER>
</TD>
<TD>
<P>Ch 2</P>
</TD>
<TD>
<P>09/02/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=03>03</B></CENTER>
</TD>
<TD>
<P>Ch 3</P>
</TD>
<TD>
<P>09/09/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR><!-- -->
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=04>04</B></CENTER>
</TD>
<TD>
<P>Ch 4</P>
</TD>
<TD>
<P>09/16/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=05>05</B></CENTER>
</TD>
http://goteamawesome.wikidot.com
39
Quiz System Feasibility Study- Team Alpha
<TD>
<P>Ch 5</P>
</TD>
<TD>
<P>09/23/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=06>06</B></CENTER>
</TD>
<TD>
<P>Ch 6</P>
</TD>
<TD>
<P>09/30/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR><!--->
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=07>07</B></CENTER>
</TD>
<TD>
<P>Ch 7</P>
</TD>
<TD>
<P>10/07/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><A
HREF="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/quizzes/quizans1.htm"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/l-arw4s.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT ALIGN=bottom><B>Answers</B></A></CENTER>
</TD>
<TD>
<P>Answers to Quizzes #1 - #7</P>
</TD>
<TD>
<P></P>
</TD>
http://goteamawesome.wikidot.com
40
Quiz System Feasibility Study- Team Alpha
<TD>
<P></P>
</TD>
</TR>
<TR>
<TD>
<P></P>
</TD>
<TD>
<P></P>
</TD>
<TD>
<P></P>
</TD>
<TD>
<P></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!--<INPUT TYPE=radio NAME=quizno VALUE=08> -->08</B></CENTER>
</TD>
<TD>
<P>Ch 8</P>
</TD>
<TD>
<P>10/24/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!--<INPUT TYPE=radio NAME=quizno VALUE=09> -->09</B></CENTER>
</TD>
<TD>
<P>Ch 9</P>
</TD>
<TD>
<P>10/31/10</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
</TR>
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=10>10</B></CENTER>
</TD>
<TD>
<P>Ch 10</P>
</TD>
http://goteamawesome.wikidot.com
41
Quiz System Feasibility Study- Team Alpha
<TD>
<P>11/07/10<FONT COLOR="#FF0000"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/rev.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT ALIGN=bottom></FONT></P>
</TD>
<TD>
<P>Available</P>
</TD>
</TR><!--->
<TR>
<TD>
<CENTER><B><!-- --><INPUT TYPE=radio NAME=quizno VALUE=11>11</B></CENTER>
</TD>
<TD>
<P>Ch 11</P>
</TD>
<TD>
<P>11/12/10<FONT COLOR="#FF0000"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/rev.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT ALIGN=bottom></FONT></P>
</TD>
<TD>
<P>Available</P>
</TD>
</TR><!-<TR>
<TD>
<CENTER><B><INPUT TYPE=radio NAME=quizno VALUE=12>12</B></CENTER>
</TD>
<TD>
<P></P>
</TD>
<TD>
<P>05/07/09</P>
</TD>
<TD>
<P><B>No longer available*</B></P>
</TD>
http://goteamawesome.wikidot.com
42
Quiz System Feasibility Study- Team Alpha
</TR>
<TR>
<TD>
<CENTER><B><INPUT TYPE=radio NAME=quizno VALUE=13>13</B></CENTER>
</TD>
<TD>
<P><B>Course Assessment</B> (bonus
quiz)<IMG SRC="http://clem.mscd.edu/~mawhinnc/cis3050/09s/buttons/new.gif" X-CLARISUSEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></P>
</TD>
<TD>
<P>05/14/09</P>
</TD>
<TD>
<P>Available</P>
</TD>
</TR>
-->
<!--->
<TR>
<TD>
<P ALIGN=right><A
HREF="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/quizzes/quizans2.htm"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/l-arw4s.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT ALIGN=bottom><B>Answers</B></A></P>
</TD>
<TD>
<P>Answers to Quizzes #8 - #11</P>
</TD>
<TD>
<P><IMG SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/new.gif" X-CLARISUSEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></P>
</TD>
http://goteamawesome.wikidot.com
43
Quiz System Feasibility Study- Team Alpha
<TD>
<P>Available.</P>
</TD>
</TR>
<TR>
<TD>
<P></P>
</TD>
<TD>
<CENTER><INPUT TYPE=submit NAME=Submit VALUE="Submit">
<INPUT TYPE=reset VALUE="Clear"></CENTER>
</TD>
<TD>
<P></P>
</TD>
<TD>
<P><B>*"No longer available" means it
can no longer be submitted.</B></P>
</TD>
</TR>
</TABLE>
</FORM></CENTER>
</TD>
</TR>
<TR>
<TD ALIGN=right>
<P></P>
</TD>
</TR>
</TABLE>
</CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<P></P>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<P>
<HR>
</P>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<CENTER><A HREF="http://clem.mscd.edu/~mawhinnc/cis3220/07f/Welcome.html"><B>Return
to Course Web Page</B></A><B><BR>
</B><A HREF="http://clem.mscd.edu/~mawhinnc"><B>Return to
http://goteamawesome.wikidot.com
44
Quiz System Feasibility Study- Team Alpha
Dr. Chuck's HomePage</B></A></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<CENTER><FONT SIZE="-2">Copyright © 1999 - 2010 by
</FONT><A HREF="http://clem.mscd.edu/~mawhinnc"><FONT SIZE="-2">Charles
H. Mawhinney</FONT></A><FONT SIZE="-2">, </FONT><A HREF="http://www.mscd.edu"><FONT SIZE="2">THE
METROPOLITAN STATE COLLEGE <I>of
</I>DENVER</FONT></A></CENTER>
</TD>
</TR>
</TABLE>
</P>
<P></P>
</BODY>
</HTML>
GET QUIZ FRAME
#!/usr/local/bin/perl
print "Content-type: text/html", "\n\n";
#################################################################
# getQuizFrame.pl
#
# by C. H. Mawhinney, 8/24/05
#
# Copyright 2005, all rights reserved.
#
# This program is called by the quiz menu page.
#
# It then creates the appropriate frame on the screen
#
# for quiz and answer sheet.
#
# Revised 8/19/06
#
# Revised 4/27/08 to redirect cis2110 quiz #13 (assessment) #
# Revised 11/8/08 to redirect cis3220/3050 quiz #13 (assessment)#
#################################################################
require "cgi-lib.pl";
&ReadParse(*in);
&PrintHeader;
########
# Init #
########
$thismonth = (January, February, March, April, May, June, July, August,
September, October, November, December)[(localtime)[4]];
$thisday = (localtime)[3];
$thisyear = (localtime)[5];
http://goteamawesome.wikidot.com
45
Quiz System Feasibility Study- Team Alpha
$userid
$course
$instructor
$quizno
$assessPage
=
=
=
=
=
$in{'userid'};
$in{'course'};
$in{'instructor'};
$in{'quizno'};
'/user6/mc/mawhinnc/pwz/' . $course . 'Quiz13.htm';
########
# main #
########
if ((($course eq "cis2110" or $course eq "cis3050") and $quizno eq "13") or ($course eq "cis3220" and $quizno eq
"15") )
{
&callCourseAssess;
}
else
{
&next_page;
}
###########################################################
# Standard quiz.
#
# Creates next page -- inserts fields in cgi script calls #
###########################################################
sub next_page
{
print <<endstuff;
<HTML>
<!--This file created 4:36 PM 8/20/2005 by Claris Home Page version 3.0-->
<HEAD>
<TITLE>$course Review Quiz #$quizno Frame</TITLE>
<META NAME=GENERATOR CONTENT="Claris Home Page 3.0">
<X-CLARIS-WINDOW TOP=0 BOTTOM=719 LEFT=0 RIGHT=1140>
<X-CLARIS-TAGVIEW MODE=minimal>
</HEAD>
<FRAMESET COLS="50%,175" FRAMEBORDER=1>
<NOFRAMES><BODY BGCOLOR="#FFFFFF">
<P>This entire page will be displayed in browsers that do not support
frames. Edit in this mode to customize this page for
non-frame-supporting browsers. For browsers that do support frames,
design your page in the Edit Frames mode.</P>
</BODY>
</NOFRAMES>
<FRAME SRC="http://clem.mscd.edu/cgi-bin/cgiwrap/~mawhinnc/getQuiz.pl?course=$course&quizno=$quizno"
MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=1>
<FRAME SRC="http://clem.mscd.edu/cgibin/cgiwrap/~mawhinnc/getQuizAnsSheet.pl?course=$course&quizno=$quizno&userid=$userid&instructor=$instr
uctor" MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=1>
</FRAMESET>
</HTML>
endstuff
}
http://goteamawesome.wikidot.com
46
Quiz System Feasibility Study- Team Alpha
###########################################################
# CIS2110 Quiz #13.
#
# Displays CIS2110 Assessment Instrument to screen
#
###########################################################
sub callCourseAssess
{
$tokenline1 = '<INPUT TYPE=hidden NAME=quizno VALUE= "' . $quizno . '">';
$tokenline2 = '<INPUT TYPE=hidden NAME=userid VALUE= "' . $userid . '">';
$tokenline3 = '<INPUT TYPE=hidden NAME=instructor VALUE= "' . $instructor . '">';
$tokenline4 = '<INPUT TYPE=hidden NAME=course VALUE= "' . $course . '">' . "\n";
$tokenline = $tokenline1 . $tokenline2 . $tokenline3 . $tokenline4;
$now_secs = time;
$now = localtime($now_secs);
$nowline = '<CENTER>Student ' . $userid . ' logged in to WEPS: ' . $now . '</CENTER>' . "\n";
open(NEXTPAGE,$assessPage) || die "Cannot open $nextpage for reading";
@np = <NEXTPAGE>;
close(NEXTPAGE);
# Insert the hidden fields
for($i = 0; $i < (@np); $i++)
{
if (index($np[$i], 'METHOD=POST>') != -1)
{
splice(@np, ($i+1), 0, $tokenline);
}
}
# Insert the page header lines
$header1 = '<TR><TD><CENTER>Course: ' . $course . '</CENTER></TD></TR>';
$header2 = '<TR><TD><CENTER>Quiz #: ' . $quizno . '</CENTER></TD></TR>';
$header3 = '<TR><TD><CENTER>Student: ' . $userid . '</CENTER></TD></TR>';
$header4 = '<TR><TD><CENTER>Instructor: ' . $instructor . '</CENTER></TD></TR>';
$header = $header1 . $header2 . $header3 . $header4;
for($i = 0; $i < (@np); $i++)
{
if (index($np[$i], '<!--page header-->') != -1)
{
splice(@np, ($i+1), 0, $header);
}
}
# Print modified page file to screen
for($i = 0; $i < (@np); $i++)
{
print $np[$i];
}
}
http://goteamawesome.wikidot.com
47
Quiz System Feasibility Study- Team Alpha
QUIZ ANSWER FRAME
#!/usr/local/bin/perl
print "Content-type: text/html", "\n\n";
#################################################################
# getQuizFrame.pl
#
# by C. H. Mawhinney, 8/24/05
#
# Copyright 2005, all rights reserved.
#
# This program is called by the quiz menu page.
#
# It then creates the appropriate frame on the screen
#
# for quiz and answer sheet.
#
# Revised 8/19/06
#
# Revised 4/27/08 to redirect cis2110 quiz #13 (assessment) #
# Revised 11/8/08 to redirect cis3220/3050 quiz #13 (assessment)#
#################################################################
require "cgi-lib.pl";
&ReadParse(*in);
&PrintHeader;
########
# Init #
########
$thismonth = (January, February, March, April, May, June, July, August,
September, October, November, December)[(localtime)[4]];
$thisday = (localtime)[3];
$thisyear = (localtime)[5];
$userid
$course
$instructor
$quizno
$assessPage
=
=
=
=
=
$in{'userid'};
$in{'course'};
$in{'instructor'};
$in{'quizno'};
'/user6/mc/mawhinnc/pwz/' . $course . 'Quiz13.htm';
########
# main #
########
if ((($course eq "cis2110" or $course eq "cis3050") and $quizno eq "13") or ($course eq "cis3220" and $quizno eq
"15") )
{
&callCourseAssess;
}
else
{
&next_page;
}
###########################################################
http://goteamawesome.wikidot.com
48
Quiz System Feasibility Study- Team Alpha
# Standard quiz.
#
# Creates next page -- inserts fields in cgi script calls #
###########################################################
sub next_page
{
print <<endstuff;
<HTML>
<!--This file created 4:36 PM 8/20/2005 by Claris Home Page version 3.0-->
<HEAD>
<TITLE>$course Review Quiz #$quizno Frame</TITLE>
<META NAME=GENERATOR CONTENT="Claris Home Page 3.0">
<X-CLARIS-WINDOW TOP=0 BOTTOM=719 LEFT=0 RIGHT=1140>
<X-CLARIS-TAGVIEW MODE=minimal>
</HEAD>
<FRAMESET COLS="50%,175" FRAMEBORDER=1>
<NOFRAMES><BODY BGCOLOR="#FFFFFF">
<P>This entire page will be displayed in browsers that do not support
frames. Edit in this mode to customize this page for
non-frame-supporting browsers. For browsers that do support frames,
design your page in the Edit Frames mode.</P>
</BODY>
</NOFRAMES>
<FRAME SRC="http://clem.mscd.edu/cgi-bin/cgiwrap/~mawhinnc/getQuiz.pl?course=$course&quizno=$quizno"
MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=1>
<FRAME SRC="http://clem.mscd.edu/cgibin/cgiwrap/~mawhinnc/getQuizAnsSheet.pl?course=$course&quizno=$quizno&userid=$userid&instructor=$instr
uctor" MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=1>
</FRAMESET>
</HTML>
endstuff
}
###########################################################
# CIS2110 Quiz #13.
#
# Displays CIS2110 Assessment Instrument to screen
#
###########################################################
sub callCourseAssess
{
$tokenline1 = '<INPUT TYPE=hidden NAME=quizno VALUE= "' . $quizno . '">';
$tokenline2 = '<INPUT TYPE=hidden NAME=userid VALUE= "' . $userid . '">';
$tokenline3 = '<INPUT TYPE=hidden NAME=instructor VALUE= "' . $instructor . '">';
$tokenline4 = '<INPUT TYPE=hidden NAME=course VALUE= "' . $course . '">' . "\n";
$tokenline = $tokenline1 . $tokenline2 . $tokenline3 . $tokenline4;
$now_secs = time;
$now = localtime($now_secs);
$nowline = '<CENTER>Student ' . $userid . ' logged in to WEPS: ' . $now . '</CENTER>' . "\n";
open(NEXTPAGE,$assessPage) || die "Cannot open $nextpage for reading";
@np = <NEXTPAGE>;
close(NEXTPAGE);
# Insert the hidden fields
for($i = 0; $i < (@np); $i++)
http://goteamawesome.wikidot.com
49
Quiz System Feasibility Study- Team Alpha
{
if (index($np[$i], 'METHOD=POST>') != -1)
{
splice(@np, ($i+1), 0, $tokenline);
}
}
# Insert the page header lines
$header1 = '<TR><TD><CENTER>Course: ' . $course . '</CENTER></TD></TR>';
$header2 = '<TR><TD><CENTER>Quiz #: ' . $quizno . '</CENTER></TD></TR>';
$header3 = '<TR><TD><CENTER>Student: ' . $userid . '</CENTER></TD></TR>';
$header4 = '<TR><TD><CENTER>Instructor: ' . $instructor . '</CENTER></TD></TR>';
$header = $header1 . $header2 . $header3 . $header4;
for($i = 0; $i < (@np); $i++)
{
if (index($np[$i], '<!--page header-->') != -1)
{
splice(@np, ($i+1), 0, $header);
}
}
# Print modified page file to screen
for($i = 0; $i < (@np); $i++)
{
print $np[$i];
}
}
GET QUIZ ANSWER FRAME
#!/usr/local/bin/perl
print "Content-type: text/html", "\n\n";
############################################################
# getQuizAnsSheet.pl
#
# by C. H. Mawhinney, 8/26/05
#
# Copyright 2005, all rights reserved.
#
# This program is called by the quiz frame page.
#
# It then creates the appropriate answer sheet
#
# on the screen.
#
############################################################
require "cgi-lib.pl";
&ReadParse(*in);
&PrintHeader;
http://goteamawesome.wikidot.com
50
Quiz System Feasibility Study- Team Alpha
########
# Init #
########
$thismonth = (January, February, March, April, May, June, July, August,
September, October, November, December)[(localtime)[4]];
$thisday = (localtime)[3];
$thisyear = (localtime)[5];
$userid
$course
$instructor
$quizno
$nextpage
=
=
=
=
=
$in{'userid'};
$in{'course'};
$in{'instructor'};
$in{'quizno'};
'/user6/mc/mawhinnc/pwz/' . 'qzAns.htm';
########
# main #
########
&next_page;
#############################################################################
# Create Answer form, inserting: course, quizno, userid & instructor fields #
#############################################################################
sub next_page
{
$tokenline1 = '<INPUT TYPE=hidden NAME=quiz_no VALUE= "' . $quizno . '">';
$tokenline2 = '<INPUT TYPE=hidden NAME=userid VALUE= "' . $userid . '">';
$tokenline3 = '<INPUT TYPE=hidden NAME=instructor VALUE= "' . $instructor . '">';
$tokenline4 = '<INPUT TYPE=hidden NAME=course VALUE= "' . $course . '">' . "\n";
$tokenline = $tokenline1 . $tokenline2 . $tokenline3 . $tokenline4;
$now_secs = time;
$now = localtime($now_secs);
$nowline = '<CENTER>Student ' . $userid . ' logged in to WEPS: ' . $now . '</CENTER>' . "\n";
open(NEXTPAGE,$nextpage) || die "Cannot open $nextpage for reading";
@np = <NEXTPAGE>;
close(NEXTPAGE);
# Insert the hidden fields
for($i = 0; $i < (@np); $i++)
{
if (index($np[$i], 'METHOD=POST name=answers>') != -1)
{
splice(@np, ($i+1), 0, $tokenline);
}
}
# Insert the page header lines
$header1 = '<TR><TD><CENTER>Course: ' . $course . '</CENTER></TD></TR>';
$header2 = '<TR><TD><CENTER>Quiz #: ' . $quizno . '</CENTER></TD></TR>';
$header3 = '<TR><TD><CENTER>Student: ' . $userid . '</CENTER></TD></TR>';
$header4 = '<TR><TD><CENTER>Instructor: ' . $instructor . '</CENTER></TD></TR>';
http://goteamawesome.wikidot.com
51
Quiz System Feasibility Study- Team Alpha
$header = $header1 . $header2 . $header3 . $header4;
for($i = 0; $i < (@np); $i++)
{
if (index($np[$i], '<!--page header-->') != -1)
{
splice(@np, ($i+1), 0, $header);
}
}
# Print modified page file to screen
for($i = 0; $i < (@np); $i++)
{
print $np[$i];
}
}
GET QUIZ
#!/usr/local/bin/perl
print "Content-type: text/html", "\n\n";
############################################################
# getQuiz.pl
#
# by C. H. Mawhinney, 8/21/05
#
# Copyright 2005, all rights reserved.
#
# This program is called by the quiz frame page.
#
# It then creates the appropriate quiz on the screen. #
#
#
############################################################
require "cgi-lib.pl";
&ReadParse(*in);
&PrintHeader;
########
# Init #
########
$thismonth = (January, February, March, April, May, June, July, August,
September, October, November, December)[(localtime)[4]];
$thisday = (localtime)[3];
$thisyear = (localtime)[5];
$course
=
$in{'course'};
http://goteamawesome.wikidot.com
52
Quiz System Feasibility Study- Team Alpha
$quizno
$nextpage
=
=
$in{'quizno'};
'/user6/mc/mawhinnc/pwz/' . $course . 'Quiz' . $quizno . '.htm';
########
# main #
########
&next_page;
#####################################################
# Call next page -- inserts userid & faculty fields #
#####################################################
sub next_page
{
open(NEXTPAGE,$nextpage) || die "Cannot open $nextpage for reading";
@np = <NEXTPAGE>;
close(NEXTPAGE);
# Write the page to screen
for($i = 0; $i < (@np); $i++)
{
print $np[$i];
}
}
SAMPLE QUIZ ANSWER SHEET
<HTML>
<!--This file created 12:17 PM 11/3/2010 by Claris Home Page version 3.0-->
<HEAD>
<TITLE>Dr. Mawhinney: CIS3050 Quiz #01</TITLE>
<META NAME=GENERATOR CONTENT="Claris Home Page 3.0">
<X-CLARIS-WINDOW TOP=0 BOTTOM=845 LEFT=0 RIGHT=1112>
<X-CLARIS-TAGVIEW MODE=minimal>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER><FONT SIZE="+2"><B>CIS 3050 Demo Weekly Quiz
#1</B></FONT><FONT SIZE="+1"><B><BR>
</B></FONT><B>Whitten & Bentley, Ch. 1<BR>
</B><FONT SIZE="-1">(Last Revised 11/3/10)</FONT></CENTER>
<P>
<HR>
<B><I>Select the BEST single answer for each question and indicate
your answers on the accompanying WEPS answer sheet. Be certain to
type in your MSCD Clem
</I></B><FONT COLOR="#FF0000"><B>userid</B></FONT><B><I>, select your
</I></B><FONT COLOR="#FF0000"><B>instructor</B></FONT><B><I> and
</I></B><FONT COLOR="#FF0000"><B>section</B></FONT><B><I>, and click
http://goteamawesome.wikidot.com
53
Quiz System Feasibility Study- Team Alpha
on the "</I></B><FONT COLOR="#FF0000"><B>Score</B></FONT><B><I>"
button when finished.</I></B></P>
<P>
<HR>
1. A contemporary term that describes the combination of hardware,
software and data communications is</P>
<BLOCKQUOTE>A. an information system<BR>
B. information technology<BR>
C. expert system<BR>
D. artificial intelligence<BR>
E. none of these</BLOCKQUOTE>
<P>2. An information system that helped doctors make diagnoses would
be an example of a/an</P>
<BLOCKQUOTE>A. TPS<BR>
B. DSS<BR>
C. MIS<BR>
D. EIS<BR>
E. expert system</BLOCKQUOTE>
<P>3. The term used to describe those people whose jobs involve the
creation, collection, processing, distribution and use of information
is</P>
<BLOCKQUOTE>A. a network manager<BR>
B. an information worker<BR>
C. a systems owner<BR>
D. a systems designer<BR>
E. none of these</BLOCKQUOTE>
<P>4. The people who use or are affected by the information system on
a regular basis, capturing, validating, entering, responding to,
storing and exchanging data and information are</P>
<BLOCKQUOTE>A. system owners<BR>
B. system analysts<BR>
C. system builders<BR>
D. system users<BR>
E. none of these</BLOCKQUOTE>
<P>5. Decision makers who are concerned with the overall business
performance, any strategic or long-term planning, and problem solving
are</P>
<BLOCKQUOTE>A. supervisors<BR>
B. middle Managers<BR>
C. executive Managers<BR>
D. mobile Managers<BR>
http://goteamawesome.wikidot.com
54
Quiz System Feasibility Study- Team Alpha
E. none of these</BLOCKQUOTE>
<P>6. The person who constructs the information system components
based on the design specifications is a</P>
<BLOCKQUOTE>A. systems designer<BR>
B. systems builder<BR>
C. systems user<BR>
D. network manager<BR>
E. none of these</BLOCKQUOTE>
<P>7. A systems analyst who sells his or her expertise to other
businesses is known as a/an:</P>
<BLOCKQUOTE>A. ERP<BR>
B. ESP<BR>
C. EIS<BR>
D. B2C<BR>
E. scab</BLOCKQUOTE>
<P>8. TQM stands for which of the following:</P>
<BLOCKQUOTE>A. total quantity management<BR>
B. total quality measurement<BR>
C. total quality measure<BR>
D. total quality management<BR>
E. none of these</BLOCKQUOTE>
<P>9. A comprehensive approach to facilitate quality improvements and
management within a business and its products and services is known
as:</P>
<BLOCKQUOTE>A. capability maturity model<BR>
B. continuous process improvement<BR>
C. business process redesign<BR>
D. total quality management<BR>
E. none of these</BLOCKQUOTE>
<P>10. Which of the following is a basic type of
electronic-commerce-enabled application?:</P>
<BLOCKQUOTE>A. marketing of corporate image, products and
services<BR>
B. business-to-consumer commerce offering new channels of
distribution<BR>
C. business-to-business to allow the paperless and digital
processing of business transactions between businesses<BR>
D. all of the above<BR>
E. none of these</BLOCKQUOTE>
<P>
<HR>
http://goteamawesome.wikidot.com
55
Quiz System Feasibility Study- Team Alpha
<FONT SIZE="-1">These course materials are © copyrighted (2003 2010) by C. H. Mawhinney, and any commercial use without written
authorization is strictly prohibited. Send any comments or
suggestions to </FONT><A HREF="mailto:mawhinnc@mscd.edu"><FONT SIZE="-1">Dr.
Chuck Mawhinney: mawhinnc@mscd.edu</FONT></A>
<HR>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD WIDTH=69 HEIGHT=103>
<P><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/metro_state_informal_unoutlined_mbird_roadrun
ners_2color.gif" X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></P>
</TD>
<TD WIDTH=542 HEIGHT=103>
<P><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD WIDTH=526>
<P><A HREF="http://clem.mscd.edu/~mawhinnc"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/chmline.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT BORDER=0 ALIGN=middle></A><A HREF="http://rowdy.mscd.edu/~mawhinnc"><FONT SIZE="1">Home
Page:
http://rowdy.mscd.edu/~mawhinnc</FONT></A></P>
</TD>
</TR>
<TR>
<TD WIDTH=526>
<P><A HREF="http://www.mscd.edu/~cmsdept"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/cisline.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT BORDER=0 ALIGN=middle><FONT SIZE="-1">Home
Page: http://www.mscd.edu/~cmsdept</FONT></A></P>
</TD>
</TR>
<TR>
<TD WIDTH=526>
<P><A HREF="http://www.mscd.edu/~scob/"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/scobline.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT BORDER=0 ALIGN=middle><FONT SIZE="-1">Home
Page: http://www.mscd.edu/~scob</FONT></A></P>
</TD>
</TR>
</TABLE>
<A HREF="http://www.mscd.edu"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/mscdline.gif" X-CLARIS-USEIMAGEWIDTH XCLARIS-USEIMAGEHEIGHT BORDER=0 ALIGN=middle><FONT SIZE="-1">Home
Page: http://www.mscd.edu</FONT></A></P>
</TD>
</TR>
<TR>
<TD COLSPAN=2 WIDTH=611>
http://goteamawesome.wikidot.com
56
Quiz System Feasibility Study- Team Alpha
<P></P>
</TD>
</TR>
</TABLE>
<HR>
</P>
</BODY>
</HTML>
SCORE QUIZ
<HTML>
<!--This file created 12:17 PM 11/3/2010 by Claris Home Page version 3.0-->
<HEAD>
<TITLE>Dr. Mawhinney: CIS3050 Quiz #01</TITLE>
<META NAME=GENERATOR CONTENT="Claris Home Page 3.0">
<X-CLARIS-WINDOW TOP=0 BOTTOM=845 LEFT=0 RIGHT=1112>
<X-CLARIS-TAGVIEW MODE=minimal>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER><FONT SIZE="+2"><B>CIS 3050 Demo Weekly Quiz
#1</B></FONT><FONT SIZE="+1"><B><BR>
</B></FONT><B>Whitten & Bentley, Ch. 1<BR>
</B><FONT SIZE="-1">(Last Revised 11/3/10)</FONT></CENTER>
<P>
<HR>
<B><I>Select the BEST single answer for each question and indicate
your answers on the accompanying WEPS answer sheet. Be certain to
type in your MSCD Clem
</I></B><FONT COLOR="#FF0000"><B>userid</B></FONT><B><I>, select your
</I></B><FONT COLOR="#FF0000"><B>instructor</B></FONT><B><I> and
</I></B><FONT COLOR="#FF0000"><B>section</B></FONT><B><I>, and click
on the "</I></B><FONT COLOR="#FF0000"><B>Score</B></FONT><B><I>"
button when finished.</I></B></P>
<P>
<HR>
1. A contemporary term that describes the combination of hardware,
software and data communications is</P>
<BLOCKQUOTE>A. an information system<BR>
B. information technology<BR>
C. expert system<BR>
D. artificial intelligence<BR>
E. none of these</BLOCKQUOTE>
http://goteamawesome.wikidot.com
57
Quiz System Feasibility Study- Team Alpha
<P>2. An information system that helped doctors make diagnoses would
be an example of a/an</P>
<BLOCKQUOTE>A. TPS<BR>
B. DSS<BR>
C. MIS<BR>
D. EIS<BR>
E. expert system</BLOCKQUOTE>
<P>3. The term used to describe those people whose jobs involve the
creation, collection, processing, distribution and use of information
is</P>
<BLOCKQUOTE>A. a network manager<BR>
B. an information worker<BR>
C. a systems owner<BR>
D. a systems designer<BR>
E. none of these</BLOCKQUOTE>
<P>4. The people who use or are affected by the information system on
a regular basis, capturing, validating, entering, responding to,
storing and exchanging data and information are</P>
<BLOCKQUOTE>A. system owners<BR>
B. system analysts<BR>
C. system builders<BR>
D. system users<BR>
E. none of these</BLOCKQUOTE>
<P>5. Decision makers who are concerned with the overall business
performance, any strategic or long-term planning, and problem solving
are</P>
<BLOCKQUOTE>A. supervisors<BR>
B. middle Managers<BR>
C. executive Managers<BR>
D. mobile Managers<BR>
E. none of these</BLOCKQUOTE>
<P>6. The person who constructs the information system components
based on the design specifications is a</P>
<BLOCKQUOTE>A. systems designer<BR>
B. systems builder<BR>
C. systems user<BR>
D. network manager<BR>
E. none of these</BLOCKQUOTE>
<P>7. A systems analyst who sells his or her expertise to other
businesses is known as a/an:</P>
<BLOCKQUOTE>A. ERP<BR>
http://goteamawesome.wikidot.com
58
Quiz System Feasibility Study- Team Alpha
B. ESP<BR>
C. EIS<BR>
D. B2C<BR>
E. scab</BLOCKQUOTE>
<P>8. TQM stands for which of the following:</P>
<BLOCKQUOTE>A. total quantity management<BR>
B. total quality measurement<BR>
C. total quality measure<BR>
D. total quality management<BR>
E. none of these</BLOCKQUOTE>
<P>9. A comprehensive approach to facilitate quality improvements and
management within a business and its products and services is known
as:</P>
<BLOCKQUOTE>A. capability maturity model<BR>
B. continuous process improvement<BR>
C. business process redesign<BR>
D. total quality management<BR>
E. none of these</BLOCKQUOTE>
<P>10. Which of the following is a basic type of
electronic-commerce-enabled application?:</P>
<BLOCKQUOTE>A. marketing of corporate image, products and
services<BR>
B. business-to-consumer commerce offering new channels of
distribution<BR>
C. business-to-business to allow the paperless and digital
processing of business transactions between businesses<BR>
D. all of the above<BR>
E. none of these</BLOCKQUOTE>
<P>
<HR>
<FONT SIZE="-1">These course materials are © copyrighted (2003 2010) by C. H. Mawhinney, and any commercial use without written
authorization is strictly prohibited. Send any comments or
suggestions to </FONT><A HREF="mailto:mawhinnc@mscd.edu"><FONT SIZE="-1">Dr.
Chuck Mawhinney: mawhinnc@mscd.edu</FONT></A>
<HR>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD WIDTH=69 HEIGHT=103>
<P><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/metro_state_informal_unoutlined_mbird_roadrun
ners_2color.gif" X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></P>
http://goteamawesome.wikidot.com
59
Quiz System Feasibility Study- Team Alpha
</TD>
<TD WIDTH=542 HEIGHT=103>
<P><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD WIDTH=526>
<P><A HREF="http://clem.mscd.edu/~mawhinnc"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/chmline.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT BORDER=0 ALIGN=middle></A><A HREF="http://rowdy.mscd.edu/~mawhinnc"><FONT SIZE="1">Home
Page:
http://rowdy.mscd.edu/~mawhinnc</FONT></A></P>
</TD>
</TR>
<TR>
<TD WIDTH=526>
<P><A HREF="http://www.mscd.edu/~cmsdept"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/cisline.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT BORDER=0 ALIGN=middle><FONT SIZE="-1">Home
Page: http://www.mscd.edu/~cmsdept</FONT></A></P>
</TD>
</TR>
<TR>
<TD WIDTH=526>
<P><A HREF="http://www.mscd.edu/~scob/"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/scobline.gif" X-CLARIS-USEIMAGEWIDTH X-CLARISUSEIMAGEHEIGHT BORDER=0 ALIGN=middle><FONT SIZE="-1">Home
Page: http://www.mscd.edu/~scob</FONT></A></P>
</TD>
</TR>
</TABLE>
<A HREF="http://www.mscd.edu"><IMG
SRC="http://rowdy.mscd.edu/~mawhinnc/cis3050/10f/buttons/mscdline.gif" X-CLARIS-USEIMAGEWIDTH XCLARIS-USEIMAGEHEIGHT BORDER=0 ALIGN=middle><FONT SIZE="-1">Home
Page: http://www.mscd.edu</FONT></A></P>
</TD>
</TR>
<TR>
<TD COLSPAN=2 WIDTH=611>
<P></P>
</TD>
</TR>
</TABLE>
<HR>
</P>
</BODY>
</HTML>
SAMPLE ANSWER KEY (.ANS)
b
http://goteamawesome.wikidot.com
60
Quiz System Feasibility Study- Team Alpha
e
b
d
c
b
b
d
d
d
EXAMPLE RESULTS FILE (.TXT)
UserId,Score,Date,Time,Section,#1,#2,#3,#4,#5,#6,#7,#8,#9,#10
1Ansrkey,100%,August 3 2010,7:57:59,01,b,e,b,d,c,b,b,d,d,d
mawhinnc,10%,August 23 2010,13:36:21,01,e,e,e,e,e,e,e,e,e,e
userid3,90%,August 24 2010,21:10:44,01,b,b,b,d,c,b,b,d,d,d
userid1,60%,August 24 2010,23:26:53,01,b,b,b,d,c,c,b,a,d,c
userid5,100%,August 25 2010,8:48:22,01,b,e,b,d,c,b,b,d,d,d
userid4,70%,August 25 2010,22:52:9,01,a,e,e,d,c,a,b,d,d,d
userid2,100%,August 27 2010,19:7:7,01,b,e,b,d,c,b,b,d,d,d
userid1,70%,September 13 2010,9:23:49,01,a,b,b,d,c,b,b,d,d,c
mawhinnc,40%,November 3 2010,11:18:25,01,b,b,b,b,b,b,b,b,b,b
LOGIN GRAPHIC
http://goteamawesome.wikidot.com
61
Quiz System Feasibility Study- Team Alpha
PROCESS INSTRUCTOR LOGIN
#!/usr/local/bin/perl
print "Content-type: text/html", "\n\n";
############################################################
# pwfmr1.pl
#
#
#
# by C. H. Mawhinney, 5/10/99
#
#
#
# Copyright 1999, all rights reserved.
#
#
#
# Revised: 8/8/01
#
#
#
# This program checks faculty userid and password against #
# a password master file. It then calls
#
# the faculty main menu page.
#
#
#
############################################################
http://goteamawesome.wikidot.com
62
Quiz System Feasibility Study- Team Alpha
require "cgi-lib.pl";
&ReadParse(*in);
&PrintHeader;
#######
# Init
#######
$thismonth = (January, February, March, April, May, June, July, August,
September, October, November, December)[(localtime)[4]];
$thisday = (localtime)[3];
$thisyear = (localtime)[5];
$userid
$password
$redopage
$nextpage
$pwordfile
=
=
=
=
=
$in{'userid'};
$in{'password'};
"/user6/mc/mawhinnc/pwz/wepsfacultyr.htm";
"/user6/mc/mawhinnc/pwz/wepsgetresults.htm";
"/user6/mc/mawhinnc/pwz/faculty.pwf";
########
# main #
########
&void_entry;
&open_pwords;
# print "running next_page";
&check_entry;
########################
# Check for void entry #
########################
sub void_entry {
if ($userid eq "") {
&redo;
exit;
}
if ($password eq "") {
&redo;
exit;
}
}
##########################################
# Open password file & parse into arrays #
##########################################
sub open_pwords {
open(PWORDS,$pwordfile) || die "Cannot open $pwordfile for reading";
@pwf = <PWORDS>;
close(PWORDS);
for($i = 0; $i < (@pwf); $i++){
http://goteamawesome.wikidot.com
63
Quiz System Feasibility Study- Team Alpha
chomp($pwf[$i]);
$facid[$i] = substr($pwf[$i], 0, index($pwf[$i], ','));
$fpw[$i] = substr($pwf[$i], (index($pwf[$i], ',')+1));
}
}
#############################
# Check for userid/password #
#############################
sub check_entry {
for($i = 0; $i < (@facid); $i++){
if (($userid eq $facid[$i])&&($password eq $fpw[$i])) {
&next_page;
exit;
}
}
&redo;
exit;
}
##################
# Call next page #
##################
sub next_page {
$tokenline = '<INPUT TYPE=hidden NAME=userid VALUE= "' . $userid . '">' . "\n";
$now_secs = time;
$now = localtime($now_secs);
$nowline = '<CENTER>Faculty ' . $userid . ' logged in to WEPS: ' . $now . '</CENTER>' . "\n";
open(NEXTPAGE,$nextpage) || die "Cannot open $nextpage for reading";
@np = <NEXTPAGE>;
close(NEXTPAGE);
$hr = 0;
for($i = 0; $i < (@np); $i++){
if ((index($np[$i], '<HR>') != -1)&& ($hr == 0)){
splice(@np, ($i+1), 0, $nowline);
$hr = 1;
}
if (index($np[$i], 'METHOD=POST>') != -1){
splice(@np, ($i+1), 0, $tokenline);
}
}
for($i = 0; $i < (@np); $i++){
print $np[$i];
}
}
##############
http://goteamawesome.wikidot.com
64
Quiz System Feasibility Study- Team Alpha
# Redo Login #
##############
sub redo {
open(REDOPAGE,$redopage) || die "cannot open $redopage for reading";
while (<REDOPAGE>) {
print $_;
}
close(REDOPAGE);
}
#end sub redo
EXAMPLE INSTRUCTOR PASSWORD FILE (.PWF)
mawhinnc,chuck
bghosh,bish
http://goteamawesome.wikidot.com
65
Quiz System Feasibility Study- Team Alpha
INSTRUCTOR SCORE RETRIEVAL GRAPHIC
GET SCORE
#!/usr/local/bin/perl
print "Content-type: text/html", "\n\n";
##########################################################
# getscore.pl
#
# Copyright by C. H. Mawhinney, 8/13/01
#
# This is a prototype program that will take inputs from
# wepsgetresults.htm and look up the quiz results stored
# in a comma-delimited data file. The results are
# sorted by student-id, and then output
# via a table to an html page displayed back to the
# browser.
#
http://goteamawesome.wikidot.com
66
Quiz System Feasibility Study- Team Alpha
#
#
#
#
#
#
#
#
#
#
##########################################################
########
# Main #
########
&init;
&read_file;
&sort_data;
&display_scores;
########
# Init #
########
sub init
{
require "cgi-lib.pl";
&ReadParse(*in);
&PrintHeader;
$thismonth = (January, February, March, April, May, June, July, August,
September, October, November, December)[(localtime)[4]];
$thisday = (localtime)[3];
$thisyear = (localtime)[5] - 100 + 2000;
$date = $thismonth . " " . $thisday . " " . $thisyear;
$thishour = (localtime)[2];
$thismin = (localtime)[1];
$thissec = (localtime)[0];
$time = $thishour . ":" . $thismin . ":" . $thissec;
$instructor
$course
$quiz_no
$answers
=
=
=
=
$in{'userid'};
$in{'course'};
$in{'quiz_no'};
"/user6/mc/mawhinnc/pwz/" . $course . "q" . $quiz_no . ".ans";
}
##############################
# Sort the scores by
#
# studentid
#
##############################
sub sort_data
http://goteamawesome.wikidot.com
67
Quiz System Feasibility Study- Team Alpha
{
# Copy userid field into z[i], and initialize index table y[i]
for($i = 0; $i < ($no_recs); $i++)
{
$z[$i] = $scores[$i][0];
$y[$i] = $i;
}
# Sort z[i] and y[i]
for ($k = $no_recs -1; $k > 1; $k--)
{
for($i = 1; $i < $k; $i++)
{
if ($z[$i] gt $z[$i+1])
{
$tempz = $z[$i];
$z[$i] = $z[$i+1];
$z[$i+1] = $tempz;
$tempy = $y[$i];
$y[$i] = $y[$i+1];
$y[$i+1] = $tempy;
}
}
}
}
#################################
# Display scores back to screen #
#################################
sub display_scores
{
print <<endstuff1;
<HTML>
<HEAD>
<TITLE>WEPS: Show Quiz Results</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<P><TABLE BORDER=0>
<TR>
<TD WIDTH=600>
<CENTER><IMG SRC="http://clem.mscd.edu/~mawhinnc/wepshead.jpg" ALT="MSCD WEPS Web Exam
Presentation System" X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=600>
<H2><CENTER><BR>
WEPS: Quiz Results</CENTER></H2>
<CENTER>(Revised 8/13/01)
<P>
http://goteamawesome.wikidot.com
68
Quiz System Feasibility Study- Team Alpha
<HR>
</P></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=600>
<CENTER><TABLE BORDER=0>
<TR>
<TD ALIGN=center>
<P>Instructor: $instructor </P>
</TD>
</TR>
<TR>
<TD ALIGN=center>
<P>Course: $course </P>
</TD>
</TR>
<TR>
<TD ALIGN=center>
<P>Quiz No: $quiz_no </P>
</TD>
</TR>
<TR>
<TD ALIGN=right>
<CENTER></CENTER>
</TD>
</TR>
<TR>
<TD ALIGN=right>
<P></P>
</TD>
</TR>
</TABLE>
endstuff1
# create the data table here
print "<CENTER><TABLE BORDER=1>";
for($i = 0; $i < ($no_recs); $i++)
{
print "<TR>";
for($j = 0; $j < ($no_fields); $j++)
{
print "<TD>";
print "<P ALIGN=left> $scores[$y[$i]][$j] </P>";
print "</TD>";
}
print "</TR>";
}
print "</TABLE>";
# end of data table
http://goteamawesome.wikidot.com
69
Quiz System Feasibility Study- Team Alpha
print <<endstuff2;
<TABLE BORDER=0>
<TR>
<TD ALIGN=right VALIGN=top>
<P ALIGN=left><FORM ACTION="http://clem.mscd.edu/cgi-bin/cgiwrap/~mawhinnc/pwfmr2.pl"
METHOD=POST>
<CENTER><TABLE BORDER=0>
<TR>
<TD>
<P ALIGN=right><INPUT TYPE=hidden NAME=userid VALUE="$instructor"><INPUT TYPE=submit
NAME=Submit VALUE="Get More Scores"></P>
</TD>
</TR>
</TABLE>
</CENTER>
</FORM></P>
</TD>
<TD>
<P><FORM ACTION="http://clem.mscd.edu/cgi-bin/cgiwrap/~mawhinnc/exitweps.pl" METHOD=POST>
<CENTER><TABLE BORDER=0>
<TR>
<TD>
<P><INPUT TYPE=submit NAME=Submit VALUE="Exit WEPS"></P>
</TD>
</TR>
</TABLE>
</CENTER>
</FORM></P>
</TD>
</TR>
</TABLE>
</CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=600>
<P></P>
</TD>
</TR>
<TR>
<TD WIDTH=600>
<P>
<HR>
</P>
</TD>
</TR>
<TR>
<TD WIDTH=600>
<CENTER><A HREF="http://clem.mscd.edu/~mawhinnc">Return to
Dr. Chuck's HomePage</A></CENTER>
</TD>
http://goteamawesome.wikidot.com
70
Quiz System Feasibility Study- Team Alpha
</TR>
<TR>
<TD WIDTH=423>
<CENTER><FONT SIZE="-2">Copyright © 1999, 2001 by
</FONT><A HREF="http://clem.mscd.edu/~mawhinnc"><FONT SIZE="-2">Charles
H. Mawhinney</FONT></A><FONT SIZE="-2">, </FONT><A HREF="http://www.mscd.edu"><FONT SIZE="2">THE
METROPOLITAN STATE COLLEGE <I>of
</I>DENVER</FONT></A></CENTER>
</TD>
</TR>
</TABLE>
</P>
</BODY>
</HTML>
endstuff2
}
################################
# Read the file of scores #
# and parse into an array #
################################
sub read_file
{
$resultsfile = "/user6/mc/mawhinnc/pwz/" . $instructor . "_" . $course . "_q" . $quiz_no . ".txt";
if (-e $resultsfile)
{
&filexists;
}
else
{
&outerror;
exit;
}
}
################################
# File exists
#
################################
sub filexists
{
&getfile;
}
####################################
# Display error message to browser #
####################################
sub outerror
{
print <<endstuff3;
http://goteamawesome.wikidot.com
71
Quiz System Feasibility Study- Team Alpha
<HTML>
<HEAD>
<TITLE>WEPS: File Access Error Message</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<P><TABLE BORDER=0>
<TR>
<TD WIDTH=423>
<CENTER><IMG SRC="http://clem.mscd.edu/~mawhinnc/wepshead.jpg" ALT="MSCD WEPS Web Exam
Presentation System" X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<H2><CENTER><BR>
WEPS: File Access Error</CENTER></H2>
<CENTER>(Revised 8/13/01)
<P>
<HR>
</P></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<CENTER><TABLE BORDER=0>
<TR>
<TD ALIGN=center>
<P>Instructor: $instructor</P>
<P></P>
</TD>
</TR>
<TR>
<TD ALIGN=right>
<P ALIGN=left><FONT SIZE="+1"><B>The file you are
trying to access either does not exist or else you
do not have access privileges for
it.</B></FONT></P>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0>
<TR>
<TD ALIGN=right VALIGN=top>
<P ALIGN=left><FORM ACTION="http://clem.mscd.edu/cgi-bin/cgiwrap/~mawhinnc/pwfmr2.pl"
METHOD=POST>
<CENTER><TABLE BORDER=0>
<TR>
<TD>
http://goteamawesome.wikidot.com
72
Quiz System Feasibility Study- Team Alpha
<P ALIGN=right><INPUT TYPE=hidden NAME=userid VALUE="$instructor"><INPUT TYPE=submit
NAME=Submit VALUE="Get More Scores"></P>
</TD>
</TR>
</TABLE>
</CENTER>
</FORM></P>
</TD>
<TD>
<P><FORM ACTION="http://clem.mscd.edu/cgi-bin/cgiwrap/~mawhinnc/exitweps.pl" METHOD=POST>
<CENTER><TABLE BORDER=0>
<TR>
<TD>
<P><INPUT TYPE=submit NAME=Submit VALUE="Exit WEPS"></P>
</TD>
</TR>
</TABLE>
</CENTER>
</FORM></P>
</TD>
</TR>
</TABLE>
</CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<P></P>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<P>
<HR>
</P>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<CENTER><A HREF="http://clem.mscd.edu/~mawhinnc">Return to
Dr. Chuck's HomePage</A></CENTER>
</TD>
</TR>
<TR>
<TD WIDTH=423>
<CENTER><FONT SIZE="-2">Copyright © 1999, 2001 by
</FONT><A HREF="http://clem.mscd.edu/~mawhinnc"><FONT SIZE="-2">Charles
H. Mawhinney</FONT></A><FONT SIZE="-2">, </FONT><A HREF="http://www.mscd.edu"><FONT SIZE="2">THE
METROPOLITAN STATE COLLEGE <I>of
</I>DENVER</FONT></A></CENTER>
http://goteamawesome.wikidot.com
73
Quiz System Feasibility Study- Team Alpha
</TD>
</TR>
</TABLE>
</P>
</BODY>
</HTML>
endstuff3
}
#end sub redo
################################
# Get the results file and #
# parse into 2-dim array
#
################################
sub getfile
{
open(RESULTSFILE, $resultsfile) or die "Cannot open $resultsfile for updating";
@results = <RESULTSFILE>;
close (RESULTSFILE);
$no_recs = @results;
for($i = 0; $i < (@results); $i++)
{
chomp($results[$i]);
@fields = split /,/, $results[$i];
$no_fields = @fields;
for($j = 0; $j < (@fields); $j++)
{
$scores[$i][$j] = $fields[$j];
#
print "$scores[$i][$j] <br>";
}
}
}
http://goteamawesome.wikidot.com
74
Quiz System Feasibility Study- Team Alpha
SCORE OUTPUT SCREEN
http://goteamawesome.wikidot.com
75