Академический Документы
Профессиональный Документы
Культура Документы
Kyle Hall
ii
Table of Contents
TABLE OF FIGURES ..................................................................................................................................V
1 INTRODUCTION ...................................................................................................................................... 1
Table of Figures
Figure 1 - Kuote ERD.................................................................................................................................................. 10
Figure 2 - Diagram of the Model-View-Controller Pattern ......................................................................................... 15
Figure 3 - Kuote Login Page ....................................................................................................................................... 36
Figure 4 - Create Course.............................................................................................................................................. 36
Figure 5 - Create Learning........................................................................................................................................... 37
Figure 6 - Create New Question .................................................................................................................................. 38
Figure 7 - Create New Question, 2nd Question........................................................................................................... 38
Figure 8 - Offering a Course for Enrollment ............................................................................................................... 39
Figure 9 - Creating a new Learning Offering, Selecting A Course ............................................................................. 40
Figure 10 - Creating a Learning Offering, Selecting a Learning to Offer ................................................................... 40
Figure 11 - Enrolling in a Course Offering.................................................................................................................. 41
Figure 12 - Choosing a Learning to take. .................................................................................................................... 41
Figure 13 - Taking a Learning, Tutorial & Quiz Links ............................................................................................... 42
Figure 14 - Taking a Learning's Quiz .......................................................................................................................... 42
Figure 15 - Taking a Quiz, End of Quiz Results.......................................................................................................... 43
Figure 16 - Viewing Grades ........................................................................................................................................ 43
Figure 17 - Viewing Grades ........................................................................................................................................ 44
Figure 18 - Viewing Grades, Continued ...................................................................................................................... 44
Figure 19 – Context Diagram ...................................................................................................................................... 45
Figure 20 - Diagram 0 ................................................................................................................................................. 45
Figure 21 - Diagram 1 ................................................................................................................................................. 46
Figure 22 - Diagram 2 ................................................................................................................................................. 46
Figure 23 - Diagram 2.1 .............................................................................................................................................. 46
Figure 24 - Diagram 2.2 .............................................................................................................................................. 47
Figure 25 - Diagram 2.3 .............................................................................................................................................. 47
Figure 26 - Diagram 3 ................................................................................................................................................. 48
Figure 27 - Diagram 3.1 .............................................................................................................................................. 48
Figure 28 - Diagram 3.2 .............................................................................................................................................. 49
Figure 29 - Diagram 3.3 .............................................................................................................................................. 49
Figure 30 - Diagram 3.4 .............................................................................................................................................. 50
Figure 31 - Diagram 3.5 .............................................................................................................................................. 50
Figure 32 - Diagram 4 ................................................................................................................................................. 51
Figure 33 - Diagram 6 ................................................................................................................................................. 51
1
1 Introduction
1
http://creativecommons.org/licenses/by-nc/1.0/ 04 Dec. 2007
3
Kuote is simple; compared to the E-learning systems above, Kuote is very simple. While systems such as
Blackboard have many overarching features, such as discussion forums and online chat, Kuote has one: Automated
Testing Management. It would not be vary meaningful to compare Kuote to any of these E-Learning systems as a
whole, but one could certainly compare Kuote to the automated testing management portion of each system, as that is
the essential function of Kuote.
2.2 Moodle
Overview
Moodle is a free, Open Source course management system (CMS). The authors claim it is “based on sound
pedagogical principles, to help educators create effective online learning communities” (Moodle).
According to Thomas Robb “Moodle is the brainchild of Martin Dougiamas, who designed the program while
working on his Ph.D. at Curtin University of Technology, Perth, Australia, He developed it as a tool for his dissertation
which was on a Socio-constructivist approach to learning” (Robb). As such, Moodle was originally written with
features geared toward this educational approach (Robb).
Features
Testing Features
• The system can randomize the questions and answers.
• Instructors can set a time limit on a test.
• Instructors can permit multiple attempts.
• Instructors can specify whether correct results are shown as feedback
Question Types
• Multiple choice
• Multiple answer
• Matching
• Fill-in the blank
• Short answer
• Essay
Overview
The Blackboard Academic Suite is an E-learning suite used at many academic colleges.
4
Features
Testing Features
• The system can randomize the questions and answers.
• Instructors can set a time limit on a test.
• Instructors can permit multiple attempts.
• The students are allowed to review past attempts of a quiz.
• The system supports a MathML editor for the inclusion of mathematical formulas in both questions
and answers.
• Instructors can specify whether correct results are shown as feedback
Question Types
• Multiple choice
• Multiple answer
• Matching
• Ordering
• Jumbled sentence
• Calculated
• Fill-in the blank
• Short answer
• Survey questions
• Essay
2.4 Claroline
Overview
According to the application’s website, “Claroline is an Open Source E-learning and eWorking platform
allowing teachers to build online courses and to manage learning and collaborative activities on the web”
(Claroline.net). Started in 2001 by Thomas De Praetere at the Catholic University of Louvain in Belgium, Claroline
has been developed following teacher’s pedagogical experience and needs (Credits).
Features
Testing Features
• The system can randomize the questions and answers.
• Instructors can set a time limit on a test.
• Instructors can permit multiple attempts.
• The students are allowed to review past attempts of a quiz.
5
Question Types
• Multiple choice
• Multiple answer
• Matching
• Fill-in the blank
2.5 ATutor
Overview
“ATutor is an Open Source Web-based Learning Content Management System (LCMS) designed with
accessibility and adaptability in mind” states atutor.ca, the official site for the system (ATutor).
Features
Testing Features
• The system can randomize the questions and answers.
• Instructors can permit multiple attempts.
• The students are allowed to review past attempts of a quiz.
• Instructors can specify whether correct results are shown as feedback
Question Types
• Multiple choice
• Multiple answer
• Matching
• Ordering
• Fill-in the blank
• Short answer
• Survey questions
• Essay
2.5 Desire2Learn
Overview
Desire2Learn is a complete web-based suite of teaching and learning tools for course development, delivery,
and management. Desire2Learn provides tools to help facilitate communication, collaboration and community
6
Features
Testing Features
• The system can randomize the questions and answers.
• Instructors can set a time limit on a test.
• Instructors can permit multiple attempts.
• The students are allowed to review past attempts of a quiz.
• The system supports a MathML editor for the inclusion of mathematical formulas in both questions
and answers.
• Instructors can specify whether correct results are shown as feedback
Question Types
• Multiple choice
• Multiple answer
• Matching
• Ordering
• Calculated
• Fill-in the blank
• Short answer
• Survey questions
• Essay
• Custom question types can be defined.
2.6 Kuote
Features
Testing Features
• The system can randomize the questions.
• The system can randomize the questions within levels of difficulty.
• Instructors can set a time limit on a test.
• Instructors can permit multiple attempts.
• Instructors can specify whether correct results are shown as feedback
Question Types
• Multiple choice
7
As one can gather from the data above, Kuote compares fairly well against the automated testing system
features for other E-Learning systems. Kuote even supports a feature that no other E-Learning system reviewed offers,
the ability to display questions randomly within each level of difficulty.
As for question types, Kuote could be considered to have come in last. While all the reviewed systems support
multiple question types, Kuote supports only multiple choice questions.
Hello,
I am a EUP graduate student nearing completion of my Masters in Information
Technology and would be very grateful if you would take my survey of 9 short questions.
For my master’s project, I would like to create a web-based program to use in the
creation and administration of online tutorials and quizzes. I have entitled this system the
Kuote Universal Online Testing Environment.
For example, instead of lecturing about proper safety procedures during each section of a
chemistry class each semester, an instructor could create a short tutorial on goggle safety
(perhaps in PowerPoint) and a set of multiple choice questions. He or she could then
upload the tutorial to Kuote, and add the questions to the post tutorial quiz. The instructor
could then simply require students to go online and complete the tutorial about handling
chemicals safely, and take the multiple-choice quiz afterward to ensure that they had
8
actually read and understood it. The instructor views the grades online of all his or her
students to ensure that everyone understood the content. If there were questions that a
large number of students answered incorrectly, that might be a good indicator of a topic
that should be reiterated in the classroom. This is only one example, I’m sure you can
imagine many other uses for such a system. I have created a basic mockup and
walkthrough that you can view here.
I hope by designing this program that I can improve the usage of “in-class” time for the
most important aspects of a class, and leave more of the work to the students, outside of
class time. These tutorials could even be a good alternative to standard homework or
supplement to standard homework, depending upon the type of class being taught.
I am looking for input from faculty across campus to make this a valuable and easy to use
service, so that anyone would have the ability to easily create these tutorials and quizzes.
Following the preamble was a list of questions. The questions were as follows:
If such a system were available, would you use it?
If you answered yes, in what classes would this be most useful?
If you answered no, why?
How would you use this system? (For example, as a classroom supplement, or a
homework supplement, etc.)
What kind of features would you like to see in this system?
Have you taken advantage of other online teaching aids that the University of another
Entity offers?
Have you ever used a tutorial/quiz E-learning system before?
If you have, would you provide any comments and/or feedback on the programs you have
used.
Would you like to see Kuote integrated with BlackBoard, if possible?
Would you be interested in taking a more active role in the development of this system (i.e.
trying out preliminary versions and giving feedback, etc.)?
Unfortunately, no responses were received as a result of the survey. As a result, the author defined the system
requirements. Though not an experienced instructor at a university, the author has had experience as both a student and
an instructor at a post-secondary level. Peter Honey suggests that people “stop behaving as if e-learning is ‘The
9
Answer’, a panacea.” and to “Work out the distinctive competence of the e-learning approach… and how best to
complement other forms of learning” (Honey). The design of Kuote was based on the idea of E-Learning as a
complement to other forms of learning, primarily the traditional classroom setting.
It should be noted that the system has been tested on a web server with a 300 megahertz Intel Pentium II
processor, and 64 megabytes of RAM. This server was running Ubuntu Linux Server Edition 6.10 as its operating
system. Testing the server’s response time revealed that common response times were between .524 and .639 seconds
for a single user (Test Tools).
4 Building Kuote
2
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/images/app-archa2.gif
16
are a number of classes that represent groups of rows in a table. These classes have the same name as the singular
object they represent, but appended with the word set. For example, the KuoteObjects_QuestionSet class represents a
collection of questions in the database.
Within Kuote, all template files are stored within the ’templates’ directory. Kuote supports the ability to
choose between different sets of templates by placing them within their own subdirectory within the templates
directory. Kuote reads an initialization file each time it is run, this initialization file contains a directive telling the
system which template set to use.
The Kuote template files can easily be customized for an institution. The process can be as simple as
replacing the Kuote logo with a school logo, and changing the color scheme or as complex as replacing the entire user
interface with a new one, and translating it into another language. This process meant to be performed by an
institution’s Information Technology staff, as modifying the templates requires knowledge of PHP, CSS, and HTML.
17
This is a system-wide choice. Individual instructors are not meant to have such control over the look and feel of the
system.
All text and link colors are controlled by a single Cascading Style Sheet, so altering text colors is trivial. Even
the images are multiple layer PNG files, so the background colors of the various tabs can be altered without creating
new images from scratch. In the current template set, each template includes at the top a universal header, and then a
sub-header for the instructor interface and the student interface, respectively.
Because all the display logic is separate from the processing logic, it is also quite simple to translate the
templates into another language, or to radically alter the user interface. Kuote is only interested in the specific name of
the template’s body, such as instructor.create.course.template.php. The template file is left to its on decisions as to
what to include within itself.
5 Software Testing
Grey box testing is used almost exclusively for testing systems with a client-server relationship (Görlitz). It
can also be used to test the known internal workings of the software, that is, tests can be written with specific results in
mind. For example, testing Kuote would involve loading the database with information in order to verify the
correctness of the data within the data store.
Gray box testing has been used to verify that Kuote stores data in a correct manner. As a system with a client
server relationship (the client being a web browser, and the server being the Kuote system) gray box testing proven to
be more useful that black or white box testing.
failed to create the tutorial she saved the example web page as an HTML file on her PC, and uploaded it correctly be
using the ‘Browse’ button to select her file to upload. Though this worked correctly, she did not realize that the images
in the web page are not embedded in the HTML and thus did not show up in her uploaded tutorial. In addition, Mary
Lee did not realize the “Closing Door” icon was used to log out of the system.
The comments Mary Lee provided suggest that Kuote would greatly benefit from a built-in WYSIWYG3
HTML editor. Also, it may be prudent to replace or supplement the logout icon with text as well.
5.4 Documentation
3
What You See Is What You Get
4
http://www.phpdoc.org/
20
6 Conclusions
7 Author’s Comments
I believe that creating Kuote has been the most important learning experience I have had as a programmer.
When I began writing Kuote, I knew how to program, but I did not know how to write programs. I had no idea that such
a simple concept would necessitate such a complex system composed of thousands of lines of code. As a programmer
who has never worked on a large program before, I was forced to learn as much by trial and error as I learned from
research and study. Here are a few words of advice I would pass on to other programmers working on their first large
project.
7.3 Patterns
“Each pattern describes a problem which occurs over and over again in our environment,
and then describes the core of the solution to that problem, in such a way that you can use
this solution a million times over, without ever doing it in the same way twice”. - C.
Alexander
In comparison to design patterns, architectural patterns are more general and larger in scale (Bass 24).
The primary architectural pattern used in Kuote would be the Model-View-Controller pattern discussed
earlier.
7.3.3 Anti-Patterns
In computer science, anti-patterns comprise the study or specific repeated practices that appear initially to be
beneficial, but ultimately result in bad consequences that outweigh the hoped-for advantages (Leplante 4). Avoiding
anti-patterns requires diagnosing them as early as possible in the software life-cycle. The best way to avoid the pitfalls
exposed by anti-patterns is to understand them before beginning software development.
In retrospect, the anti-pattern the author fell into more than any other was that of “Accidental Complexity”
where the chosen solution to the given problem is not the simplest solution. In the beginning, Kuote used a PHP PEAR
library to generate html forms programmatically, rather than writing the HTML directly. Early on, this seemed like an
ideal and simple solution, but as more features were added, such as templating, the system became more and more
complex, with layers of functions to allow the form library to be used within the templating system. The solution in the
end was to remove all references to the form generating library, and to use the generated form HTML directly in the
template files.
7.4 Templating
“Computer interfaces and user interfaces are as different as night and 1.” - Anonymous
A large number of developers tend to write server-side program scripts that both process input and generate
output in a combined fashion. This style works fine for a simple home page or a very simple application, but fails to
scale well for large projects.
I discovered this after the fact when writing Kuote. I realized quickly that I wanted to give users the ability to
easily customize the visual style of Kuote, and also to allow for internationalization and translation. Most importantly,
using templates separates business logic from display logic.
This allows one to take a large, complex file and break it into two smaller, simpler files that are more easily
understood. Further more, this also allows one to modify the behavior of the business logic without affected the display
design and visa versa. In Kuote, the templating system is a very simple one where PHP code is used for the display
logic. I believe that the template system a programmer uses is not as important as the fact that one is being used.
Choosing a templating system is mostly a matter of taste, as most offer essentially the same functionality.
This author programs primarily using a single axiomatic rule: Don’t Be Clever. Anytime I feel the urge to
write clever code, I sit on my hands until the impulse goes away. Writing clever code benefits no one, least of all the
original author.
I have found that any code I have not worked on in a month of more might as well have been written by
someone else. Writing ‘clever’ code will just make understanding that code in the future all the more harder. Above all,
write for understandability. You and everyone who works on your code will thank you.
customization. There are many ways to add flexibility to an application. For example, in Kuote each ‘object’ such as a
User or a Question is represented by a class. The current classes use DB_Dataobject to interface with MySQL. Because
I chose to use this class, Kuote can be used with a dozen or more databases including PostgreSQL, and Oracle as well
as MySQL.
This design even allows for further flexibility. Suppose that a university would like to allow its faculty to use
Kuote. This university already has a database of student data available via LDAP. Instead of importing that data into
MySQL and keeping it constantly synchronized, one need only modify the KuoteObjects_User class to access the
relevant parts of the LDAP data store. One could even reference a website or a text file! Part of the data could be on the
LDAP server, part on the MySQL server. The customizability is endless.
5
http://www.pear.php.net/manual/en/faq.devs.php
25
a very nice looking form that also had built in server and client side validation.
However, I came to discover that its detriments far outweighed its advantages. For each form I had to create
such a large amount of code I began to move each form into its own function. I had dozens of extremely similar
functions to make these forms. The code was messy and buggy. I had to resort to ugly hacks and kludges to keep the
library working. On top of that, the system did not work well with my templating system. In the end, I spent hours
removing the HTML_Quickform code from my code base. Instead, I took the html code that was generated and stored
it directly in the correct template files. This is a warning to future developers. Never use a library just because it has
some neat features, think long and hard about the benefits and consequences of any given library one might use.
Works Cited
Bass, Len and Paul Clements and Rick Kazman. Software Architecture in Practice
Carvin, Andy. “Blackboard, Lawsuits & Wikis, Oh My!” PBS.org 2006 PBS
<http://www.pbs.org/teachers/learning.now/2006/08/blackboard_lawsuits_wikis_oh_m.ht
<http://www.dennisgdaniels.com/tiki-index.php?%20page=Moodle%20Review> 29 Nov.
2007
“EduTools: CMS: Product List” Edutools.edu 2007 Western Cooperative for Educational
Freeman, Eric and Kathy Sierra. Head First Design Patterns O’Reilly, 2004.
Leplante, Phillip and Colin Neil. Antipatterns: Identification, Refactoring, and Management CRC
Press, 2006
“Load Time Analyzer” 1-Hit.com 2007 1-Hit Search Engine Optimization and Search Engine
2007
Mochal, Tom. “Acceptance Testing: The customer is the ultimate judge” TechRepublic.com 2001
“Moodle – A Free, Open Source Course Management System for Online Learning.” Moodle.org
Robb, Thomas. “Moodle – A Virtual Learning Environment for the Rest of Us” 2007 Robb
2007
28
Annotated Bibliography
Guralnick, David A. ICEL 2006. The International Conference on E-Learning, 22 June 2006,
<http://www.kaleidolearning.com/Effective%20E-learning.pdf>.
In this paper Mr. Guralnick states that he believes that when it comes to e-learning, “a trend
that the design of the user interface “should be a core, integrated component of the overall
The author continues by listing a number of common opinions about interface design,
“Most of the work involved in interface design requires expertise in video and Flash”.
While the author makes some good points, most of his advice does not seem to apply well
to general purpose e-learning systems. The bulk of the paper is composed of a case-study
emulate the actual system. Such a feat would not be possible in any general purpose
e-learning system, and most of his advice is centered on this type of custom e-learning
system design.
However, the last section entitled “Conclusion and Future Directions” provides several
bullet points for successful e-learning endevors, the last of which is reccommends that
“…high-level goals of the project, and the characteristics of the audience, are considered
Honey, Peter. "E-Learning: a Performance Appraisal and Some Suggestions for Improvement."
The author, Peter Honey, wrote in this article on E-learning in comparison to other forms of
learning, attempting to contrast the hype around E-learning with a more balanced
E-learning from the learner’s perspective. He believes that the E-learning industry is
“overselling its merits”, and concludes with four suggestions for improvement. These
all approach, whereby learners are assumed to be a homogenous group. The author also
suggests that E-learning should be used as a tool to complement other forms of learning.
Ismail, J. "The design of an e-learning system: beyond the hype", The Internet and Higher
E-learning systems that focus on management and measurment, while adding little or
nothing to the the actual process of learning. Furthermore, he states that most of the
commercial software available was little more than a platform to sell third-party content,
rather than developing content. The author goes on the provide an overview of different
e-learning system types, together with the system’s design. This article is another piece
attempting to provide perspective in a time when E-learning vendors are hyping E-learning
30
Mercer Management Consulting Study ( IBM MindSpan ) (1999) (2001). In: A. Sadler (Ed). “The
<http://www-3.ibm.com/software/mindspan/distlrng.nsf/wdocs/bdecca83a173667d08525
6a0e007771a2
“The Future of e-Learning: An Expanding Vision” is a white paper produced for IBM
which describes a future where the archetypical e-learning system of today is a relic of the
past. The authors envision a new type of e-learning system that goes beyond just “training
system as focusing on ‘informal’ training aspects that compose ‘70% of on the job training’,
as well as the current ‘formal’ training that e-learning systems are currently used for.
The paper provides an excellent overview of the current situation where e-Learning has
exploded onto the scene and is growing at a fantastic rate, with good reason. The majority
of jobs in the United States require skilled workers, and at the same time, there is a lack of
While the paper gives little insight into the specifics of designing e-learning infrastructure,
it does give an interesting, if broad, overview of e-learning systems; both those of today and
those of tomorrow.
Moore, David. "E-Learning and the Science of Instruction: Proven Guidelines for Consumers and
<http://navigator-edinboro.passhe.edu/login?url=http://search.ebscohost.com/login.aspx?d
irect=true&db=a9h&AN=22658696&loginpage=login.asp&site=ehost-live>.
E-Learning and the Science of Instruction is a text focused on using “empirical evidence to
inform decicions about what works best in e-learning.” The book brings together data about
E-learning presentation from a number of research studies. The author intimates that
successful learning stems from using the correct methods of instruction, whether the
delivery is via E-learning, or other, more traditional, methods. Unfortunately, despite being
written in 2006, the text focuses primarily on CD-ROM based instruction, rather than
Internet-based E-learning.
Harrie Passier and Johan Jeuring. "Ontology based feedback generation in design-
Passier states that feedback is “one of the essential elements needed for effective learning.”
The author writes of the concept of develping algorithms to automate feedback for both
e-learning course developers and the learners themselves, with an imagined example
situation taking place in the year 2015, indicating a belief that it will be many years before
Despite the far reaching concepts written of in this work, there is valuable insight about the
general concepts of feedback in an e-learning system. The author defines feedback as “any
constantly interact in a typical classroom setting the teacher most often knows if the
essential conepts being taught in a class are understood, and the class can be continuously
Passier states that there is often a dearth of feedback in current e-learning environments.
The author proposes a system of automated feedback with three types of feedback: student,
author, and group feedback ( feedback from a group of learners to an author ). Creation of
the feedback would be through a feedback engine that uses 5 ontologies, which are “formal
descriptions of shared knowledge in a domain.” These ontologies may be switched out for
<http://eprints.usq.edu.au/3614/1/Yong.pdf.pdf>.
This paper is a discussion of “the security attributes which are relevant to all e-larning
and learners.” The model used as a basis for this is know as RBAC, role-based access
control, and the author creates “Extended RBAC” to support it’s use in modeling e-learning
system security. The author creates a matrix of e-learning system roles ( Instructor, Learner,
assurance” and “availability assurance.” Disappointingly, the author does not discuss
The following is a bash script that will automate the installation of Kuote on Ubuntu Linux Server 8.04. The
script should work on most Debian-based Linux distributions. The script should also work on other Linux distributions
by modifying the fifth line of the script to use whichever packaging system that distribution uses.
#!/bin/bash
## Install prerequisites
echo -e "INSTALL PACKAGES VIA APT-GET\n"
apt-get install apache2 php5 php5-mysql php-pear mysql-server subversion
echo "
<?php
\$templates = 'simple';
\$debug = false;
define('SITEROOT', '$site_root');
define('LEARNINGS_ROOT', '$learnings_root' );
?>
" >> "$CONFIG"
PEAR=""$kuote_root"config/PEAR.ini"
rm "$PEAR" 2>/dev/null
echo "
[DB_DataObject]
database = mysql://"$mysql_user":"$mysql_password"@localhost"$site_root"
schema_location = "$kuote_root"classes/DataObjects
class_location = "$kuote_root"classes/DataObjects
require_prefix = DataObjects/
class_prefix = DataObjects_
" >> "$PEAR"
apache2ctl restart
35
Logging in to Kuote
First , log into Kuote. The login page is designed so that it may be customized to give it the look of the
school’s web portal, if such customization is warranted.
36
Creating A Course
After logging in, the first screen that is seen is the “Create Course” screen. Here the instructor can create a
new course under which to add learnings. The course is given a title and a short, one-line description. Next the
instructor must decide if other instructors may offer this course, i.e. the course is open, and if the course may be taken
by anyone, i.e. the course is public. Once the Submit button is pressed, the instructor is presented a screen that confirms
the successful creation of his or her new course.
Creating a Learning
Now that the instructor has a course, he or she needs to make it useful by creating at least one learning to be
part of the course. Here the instructor can choose which course the learning is part of, give the learning a title, a short
description, and optionally upload an html file that contains the tutorial for this learning.
37
have been answered, a screen will appear displaying the final score for the quiz. This page also shows each question,
the answer selected, and whether the question was answered correctly or incorrectly. If the answer was wrong, the
correct answer will also be displayed.
Offering a Course
Now that the instructor has a course complete with a learning that has a tutorial and questions, he or she can
offer this course so that students may enroll in it.
To create a course offering, select the “Offer” tab from the set of tabs at the top of the page, this will take us
directly to the ‘Offer a Course’ screen.
Here one can select the Course to be offered, give it a title, start date, end date, and optionally a password.
The title will typically be the same as the name of the course, but with some significant postfix. Here a
‘Section 001’ was added to the end of the course title, as if this Kuote course is meant to be used as part of a college
course, and the given section of that course is 001.
Next the instructor must give dates of availability for the course offering. The start date is the first day that this
offering will be available for students to enroll in. The end date will be the last day that the course offering and the
learnings offered under it will be available to the enrolled students.
The optional password allows instructors to restrict enrollment in the offering to only those students that have
been given the password, which would be a common situation. Rarely would an instructor want to allow anybody the
ability to enroll in a class-related course offering.
Offering A Learning
So now the course has been offered. If a student were to enroll in the course offering at this moment, he or she
would find it very boring, as there is nothing else to do, no learnings to take. That is remedied by offering a learning as
part of this course offering. To offer a learning, one needs to click the “Learning” side-tab under the main tab “Offer”.
This brings up the first step for offering a learning. Here the instructor chooses the course offering that he or she wants
40
to work with. After the instructor has selected the course offering to add a Learning Offering to, he or she is taken to a
new page that is very similar to the “Offer Course” page that has been used previously.
Here one must choose which learning to offer, give the learning offering a title, and select a starting and
ending date. For learning offerings, using the same title as the learning itself is not a problem. If one would want to
offer it a second time in this course offering, something can be appended to the title to give the second learning offering
it’s own distinct name.
The start date for a learning offering is the first day it will be available for students to take, and the end date
will be the last day it will be available. After the ending date, the learning offering will simply disappear from the
student’s list of learnings available to take.
The instructor has now successfully offered up a course with a learning for students to enroll in and explore.
There are still other things one can do as an instructor, but first, it will be more enlightening to switch to the perspective
of a student.
Taking a Learning
The student is now enrolled in a Course Offering. To see what learnings are available to take, the student must
select the “Learn” tab. Here the student will be presented with a list of learnings available to take, grouped by the
course offering which they are part of. This is shown in Figure X.
If the student clicks the ‘Learn’ button on the right, he or she will be taken to a screen that displays links to the
learning’s tutorial and its quiz. Clicking the tutorial link will create a new window that presents the learning’s tutorial.
The ‘Take Quiz’ button will begin the learning’s quiz.
After the student has completed the quiz. A summary will be displayed giving him or her the results of the
quiz. The results include each question, the chosen answer, and whether that question was answered correctly. If the
question was answered incorrectly, the correct answer will be displayed.
Checking Grades
Now that the student has completed the quiz, he or she can at anytime log in and check his or her grades. To
check the grades of quizzes previously taken, one must click on the “Grades” tab. On this page, the student is presented
a link to view the grades of each course offering he or she is enrolled in. By taking a link from here, the student is
presented with a page that shows he or she has taken a single learning quiz under this course offering. This concludes
our tour of the Student Interface.
Viewing Grades
Now that a student has taken a learning’s quiz, the instructor may view the grades of all the students
who have taken that learning offering. To check grades, the instructor logs back into Kuote, and click the “Grades” tab
at the top of the page.
Here the instructor will be able to decide how to view grades. At the moment one can only view grades by
Learning Offering, but in the future this will be expanded to being able to view grades by Learning, Course, Course
Offering, and Student as well.
When one clicks the ‘Submit Query’ button, the instructor is asked to select the relevant course, course
offering, and finally the learning offering whose grades he or she wishes to view.
Once the instructor has selected the relevant learning offering, he or she is presented with a screen that gives
the class average grade at the top, and each individual student’s grade underneath. Since we only have one student who
has taken the learning once, the class average and the single student’s grade are the same.
44
Figure 20 - Diagram 0
46
Figure 21 - Diagram 1
Figure 22 - Diagram 2
Figure 26 - Diagram 3
Figure 32 - Diagram 4
Figure 33 - Diagram 6
52
ATTACHED OBJECTS:
QUESTIONS
QUESTIONSANSWERED
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
ATTACHED OBJECTS:
COURSES
COURSEOFFERINGS
53
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
ATTACHED OBJECTS:
LEARNINGS
LEARNINGOFFERINGS
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
54
KUOTE ERD
--------------------------------------------------------------------------------------
COMPLETED AS RELATIONSHIP
ATTACHED OBJECTS:
ENROLLMENT
LEARNINGOFFERSTAKEN
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
CONTAIN RELATIONSHIP
ATTACHED OBJECTS:
COURSES
LEARNINGS
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
CONTAIN RELATIONSHIP
ATTACHED OBJECTS:
COURSEOFFERINGS
LEARNINGOFFERINGS
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
CONTAIN RELATIONSHIP
ATTACHED OBJECTS:
LEARNINGS
QUESTIONS
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
COURSEOFFERINGS ENTITY
COMPOSITION:
CRSID : INTEGER 4
57
CRSOFFEREND : DATE
CRSOFFERID : INTEGER 4
CRSOFFERPASSWORD : VARCHAR
CRSOFFERSTART : DATE
CRSOFFERTITLE : VARCHAR
INSTRUCTORID : INTEGER 4
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
COURSES
INSTRUCTORS
ENROLLMENT
LEARNINGOFFERINGS
--------------------------------------------------------------------------------------
COURSES ENTITY
COMPOSITION:
CRSID : INTEGER 4
CRSDESC : VARCHAR
CRSISOPEN : BIT
CRSISPUBLIC : BIT
CRSTITLE : VARCHAR
USERID : INTEGER 4
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
INSTRUCTORS
LEARNINGS
COURSEOFFERINGS
--------------------------------------------------------------------------------------
CREATES RELATIONSHIP
ATTACHED OBJECTS:
INSTRUCTORS
COURSES
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
63
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
COMPOSITION:
66
ENROLLID : INTEGER 4
USERID : INTEGER 4
CRSOFFERID : INTEGER 4
CLASS INFORMATION
CONCURRENCY: SEQUENTIAL
PERSISTENT: Y
ABSTRACT: N
METHODS:
ADD()
FIND()
GET( ID[8]:INT )
UPDATE()
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
ON DELETE RESTRICT
67
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
STUDENTS
[ IS A ] MIN: 1 MAX: 1
COURSEOFFERINGS
LEARNINGOFFERSTAKEN
CLASSES
[ IS A ] MIN: 1 MAX: 1
KUOTEOBJECT
--------------------------------------------------------------------------------------
ENROLLS IN RELATIONSHIP
ATTACHED OBJECTS:
STUDENTS
ENROLLMENT
68
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
ID DATA ELEMENT
KUOTEOBJECT::ID
LOCATION:
--------------------------------------------------------------------------------------
LENGTH: 255
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LENGTH: 10
LOCATION:
--------------------------------------------------------------------------------------
LENGTH: 255
LOCATION:
--------------------------------------------------------------------------------------
INSTRUCTORS ENTITY
COMPOSITION:
INSTRUCTORID : INTEGER 4
INSTRUCTORPHONE : INTEGER 4
INSTRUCTORBUILDING : VARCHAR
INSTRUCTORROOM : VARCHAR
71
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
[ IS AN ] MIN: 1 MAX: 1
USERS
COURSES
COURSEOFFERINGS
--------------------------------------------------------------------------------------
IS A RELATIONSHIP
ATTACHED OBJECTS:
USERS
72
IS A MIN: 0 MAX: 1
STUDENTS
[ IS A ] MIN: 1 MAX: 1
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
IS A RELATIONSHIP
ATTACHED OBJECTS:
COURSEOFFERINGS
ENROLLMENT
[ IS A ] MIN: 1 MAX: 1
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
73
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
IS A RELATIONSHIP
ATTACHED OBJECTS:
KUOTEOBJECT
IS A MIN: 0 MAX: 1
ENROLLMENT
[ IS A ] MIN: 1 MAX: 1
FOREIGN KEY(S):
LOCATION:
CLASSES
--------------------------------------------------------------------------------------
IS AN RELATIONSHIP
ATTACHED OBJECTS:
USERS
IS AN MIN: 0 MAX: 1
INSTRUCTORS
[ IS AN ] MIN: 1 MAX: 1
74
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
76
LOCATION:
--------------------------------------------------------------------------------------
LEARNINGOFFERINGS ENTITY
COMPOSITION:
LEARNINGOFFERID : INTEGER 4
LEARNINGOFFEREND : DATE
LEARNINGOFFERQUESTIONSRANDOM : BIT
LEARNINGOFFERQUESTIONSRANDOMBYDIFFICULTY : BIT
LEARNINGOFFERSTART : DATE
LEARNINGOFFERTITLE : VARCHAR
CRSOFFERID : INTEGER 4
77
LEARNINGID : INTEGER 4
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
LEARNINGS
COURSEOFFERINGS
LEARNINGOFFERSTAKEN
78
DESCRIPTION:
LOCATION:
--------------------------------------------------------------------------------------
LEARNINGOFFERQUESTIONSRANDOMBYDIFFICULTY DATA
ELEMENT
LOCATION:
--------------------------------------------------------------------------------------
LEARNINGOFFERSTAKEN ENTITY
COMPOSITION:
LEARNINGOFFERTAKENID : INTEGER 4
LEARNINGOFFERTAKENTIME : TIME
ENROLLID : INTEGER 4
LEARNINGOFFERID : INTEGER 4
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
ON DELETE RESTRICT
ON UPDATE RESTRICT
ON DELETE RESTRICT
80
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
LEARNINGOFFERINGS
ENROLLMENT
QUESTIONSANSWERED
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
RESULT::LEARNINGOFFERTAKENID
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LEARNINGS ENTITY
COMPOSITION:
LEARNINGDESC : VARCHAR
LEARNINGID : INTEGER 4
LEARNINGQUESTIONSRANDOM : UNDEFINED
LEARNINGQUESTIONSRANDOMBYDIFFICULTY : BIT
LEARNINGTITLE : VARCHAR
LEARNINGTUTORIALFILETYPE : VARCHAR
LEARNINGURL : VARCHAR
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
COURSES
LEARNINGOFFERINGS
QUESTIONS
--------------------------------------------------------------------------------------
LOCATION:
85
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
OFFER RELATIONSHIP
ATTACHED OBJECTS:
INSTRUCTORS
COURSEOFFERINGS
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
PART OF RELATIONSHIP
ATTACHED OBJECTS:
QUESTIONSANSWERED
LEARNINGOFFERSTAKEN
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
90
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
QUESTIONS ENTITY
COMPOSITION:
QUESTIONANSWER : INTEGER 4
QUESTIONBODY : VARCHAR
QUESTIONDIFFICULTY : INTEGER 4
QUESTIONID : INTEGER 4
QUESTIONNUMBER : INTEGER 4
QUESTIONOPTION1 : VARCHAR
QUESTIONOPTION2 : VARCHAR
QUESTIONOPTION3 : VARCHAR
94
QUESTIONOPTION4 : VARCHAR
QUESTIONOPTION5 : VARCHAR
QUESTIONTIME : INTEGER 4
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
LEARNINGS
QUESTIONSANSWERED
--------------------------------------------------------------------------------------
QUESTIONSANSWERED ENTITY
COMPOSITION:
95
QUESTIONANSWEREDID : INTEGER 4
QUESTIONANSWEREDCHOICE : INTEGER 4
QUESTIONANSWEREDISCORRECT : BIT
LEARNINGOFFERTAKENID : INTEGER 4
QUESTIONID : INTEGER 4
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
QUESTIONS
LEARNINGOFFERSTAKEN
--------------------------------------------------------------------------------------
96
LOCATION:
--------------------------------------------------------------------------------------
RESULT::RESULTDATETAKEN
LOCATION:
--------------------------------------------------------------------------------------
RESULT::RESULTGRADE
LOCATION:
--------------------------------------------------------------------------------------
97
RESULT::RESULTID
LOCATION:
--------------------------------------------------------------------------------------
RESULT::RESULTNUMCORRECT
LOCATION:
--------------------------------------------------------------------------------------
RESULT::RESULTNUMTOTAL
LOCATION:
--------------------------------------------------------------------------------------
RESULT::RESULTTIMETAKEN
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
STUDENTS ENTITY
COMPOSITION:
STUDENTTYPE : VARCHAR
STUDENTID : INTEGER 4
PRIMARY KEY:
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
[ IS A ] MIN: 1 MAX: 1
USERS
ENROLLMENT
--------------------------------------------------------------------------------------
LENGTH: 255
LOCATION:
--------------------------------------------------------------------------------------
TAKEN AS RELATIONSHIP
ATTACHED OBJECTS:
LEARNINGOFFERINGS
LEARNINGOFFERSTAKEN
FOREIGN KEY(S):
ON DELETE RESTRICT
ON UPDATE RESTRICT
LOCATION:
KUOTE ERD
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
LENGTH: 255
LOCATION:
--------------------------------------------------------------------------------------
LOGIN::USERLOGIN
DOMAIN: USERLOGIN
LENGTH: 255
LOCATION:
--------------------------------------------------------------------------------------
LENGTH: 255
LOCATION:
103
--------------------------------------------------------------------------------------
LENGTH: 255
LOCATION:
--------------------------------------------------------------------------------------
LOCATION:
--------------------------------------------------------------------------------------
USERS ENTITY
COMPOSITION:
USERID : INTEGER 4
USERLOGIN : VARCHAR
USERPASSWORD : VARCHAR
USERTYPE : VARCHAR
USERNAMEFIRST : VARCHAR
USERNAMELAST : VARCHAR
PRIMARY KEY:
LOCATION:
KUOTE ERD
IS AN MIN: 0 MAX: 1
INSTRUCTORS
IS A MIN: 0 MAX: 1
STUDENTS
105
--------------------------------------------------------------------------------------
LENGTH: 255
LOCATION:
--------------------------------------------------------------------------------------
LOGIN::USRPASSWORD
DOMAIN: USERPASSWORD
LOCATION:
--------------------------------------------------------------------------------------
107
Process #: 1
Location:
Kuote ( 0 )
Input Flows:
Login
Output Flows:
Authentication
----------------------------------------------------------------------------------
Composition:
userAuthenticated : Bit
Location:
Kuote ( 0 )
Authenticate User ( 1 )
108
----------------------------------------------------------------------------------
Process #: 1.2
Location:
Authenticate User ( 1 )
Input Flows:
User
Login
Output Flows:
Authentication
----------------------------------------------------------------------------------
Composition:
crsId : Integer 4
crsTitle : VarChar
crsDesc : VarChar
userId : Integer 4
crsIsPublic : Bit
crsIsOpen : Bit
Location:
Kuote ( 0 )
Create ( 2 )
Offer ( 6 )
Kuote ( 0 )
Update (3)
----------------------------------------------------------------------------------
Composition:
crsOfferId : Integer 4
crsOfferTitle : VarChar
crsOfferStart : Date
crsOfferEnd : Date
crsOfferPassword : VarChar
userId : Integer 4
crsId : Integer 4
Location:
Kuote ( 0 )
Offer ( 6 )
Kuote ( 0 )
Update (3)
----------------------------------------------------------------------------------
Data Store #: D5
Composition:
Course Offering :
Location:
Offer ( 6 )
Input Flows:
Course Offering
Update (3)
Input Flows:
Course Offering
Output Flows:
Course Offering
Output Flows:
Course Offering
----------------------------------------------------------------------------------
Data Store #: D2
Composition:
crsId : Integer 4
crsDesc : VarChar
crsIsOpen : Bit
crsIsPublic : Bit
crsTitle : VarChar
userId : Integer 4
Location:
Create ( 2 )
Input Flows:
Course
Output Flows:
Course
Output Flows:
Course
Update (3)
Input Flows:
Course
Output Flows:
118
Course
Output Flows:
Course
Output Flows:
Course
----------------------------------------------------------------------------------
Create Process
Process #: 2
Location:
Kuote ( 0 )
Input Flows:
Course
Learning
Question
Output Flows:
Learning
Course
Question
----------------------------------------------------------------------------------
Process #: 2.1
119
Location:
Create ( 2 )
Input Flows:
Course
Output Flows:
Course
----------------------------------------------------------------------------------
Process #: 6.1
Location:
Offer ( 6 )
Input Flows:
Course Offering
Course
Output Flows:
Course Offering
----------------------------------------------------------------------------------
Process #: 2.2
Location:
Create ( 2 )
Input Flows:
Course
120
Learning
Output Flows:
Course
Learning
----------------------------------------------------------------------------------
Process #: 6.2
Location:
Offer ( 6 )
Input Flows:
Learning Offering
Course Offering
Learning
Output Flows:
Course Offering
Learning
Learning Offering
----------------------------------------------------------------------------------
Process #: 2.3
Location:
Create ( 2 )
Input Flows:
121
Learning
Course
Question
Output Flows:
Learning
Course
Question
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
122
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
Location:
----------------------------------------------------------------------------------
125
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Process #: 3.2.1
Location:
Input Flows:
Course
Course
Output Flows:
Course
Course
----------------------------------------------------------------------------------
Process #: 3.5.1
Location:
Input Flows:
Course Offering
Course Offering
127
Output Flows:
Course Offering
Course Offering
----------------------------------------------------------------------------------
Process #: 3.3.1
Location:
Input Flows:
Course
Course
Output Flows:
Course
Course
----------------------------------------------------------------------------------
Process #: 3.3.2
Location:
Input Flows:
Learning
Course
Learning
128
Output Flows:
Learning
Learning
----------------------------------------------------------------------------------
Process #: 4.1
Location:
Input Flows:
Learning Offering
Learning Offering
Output Flows:
Learning Offering
Learning Offering
----------------------------------------------------------------------------------
Process #: 5
Location:
Kuote ( 0 )
Input Flows:
Course
Course Offering
Learning
129
Learning Offering
Output Flows:
Course Offering
Learning
Learning Offering
Question
questionAnswered
Course
----------------------------------------------------------------------------------
Process #: 3.1.1
Location:
Input Flows:
Course
Course
Output Flows:
Course
Course
----------------------------------------------------------------------------------
Process #: 3.4.1
Location:
Input Flows:
Course Offering
Course Offering
Output Flows:
Course Offering
Course Offering
----------------------------------------------------------------------------------
Process #: 3.2.2
Location:
Input Flows:
Learning
Course
Learning
Output Flows:
Learning
----------------------------------------------------------------------------------
Process #: 3.5.2
131
Location:
Input Flows:
Learning Offering
Course Offering
Learning Offering
Output Flows:
Learning Offering
Learning Offering
----------------------------------------------------------------------------------
Process #: 3.3.3
Location:
Input Flows:
Question
Learning
Question
Output Flows:
Question
Question
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Id Data Element
KuoteObject::Id
Location:
----------------------------------------------------------------------------------
Location:
Input Flows:
questionAnswered
Authentication
Course
Learning
Output Flows:
Course
Login
133
Course Offering
Learning
Learning Offering
Question
----------------------------------------------------------------------------------
Length: 255
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
134
Length: 10
Location:
----------------------------------------------------------------------------------
Length: 255
Location:
----------------------------------------------------------------------------------
Kuote Process
Process #: 0
Location:
Input Flows:
Login
Course
135
Login
Course Offering
Learning
Learning Offering
Question
questionAnswered
Course Offering
Learning Offering
Output Flows:
questionAnswered
Question
Course Offering
Learning Offering
questionAnswered
Authentication
Authentication
Course
Learning
----------------------------------------------------------------------------------
Composition:
learningId : Integer 4
136
learningTitle : VarChar
learningDesc : VarChar
learningURL : VarChar
learningTutorialFileType : VarChar
learningQuestionsRandom : Undefined
learningQuestionsRandomByDifficulty : Bit
crsId : Integer 4
Location:
Kuote ( 0 )
Create ( 2 )
Offer ( 6 )
Kuote ( 0 )
Offer ( 6 )
Update (3)
----------------------------------------------------------------------------------
Composition:
learningOfferTakenId : Integer 4
learningOfferTakenTime : Time
learningOfferId : Integer 4
enrollId : Integer 4
Location:
140
Kuote ( 0 )
----------------------------------------------------------------------------------
Composition:
learningOfferId : Integer 4
learningOfferTitle : VarChar
learningOfferStart : Date
learningOfferEnd : Date
141
learningOfferQuestionsRandom : Bit
learningOfferQuestionsRandomByDifficulty : Bit
crsOfferId : Integer 4
learningId : Integer 4
Location:
Kuote ( 0 )
Offer ( 6 )
Update (3)
----------------------------------------------------------------------------------
Data Store #: D6
Location:
Offer ( 6 )
Input Flows:
Learning Offering
Update (3)
Input Flows:
Learning Offering
Output Flows:
Learning Offering
Output Flows:
Learning Offering
----------------------------------------------------------------------------------
Data Store #: D8
Composition:
Location:
Input Flows:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Description:
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Result::learningOfferTakenId
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Data Store #: D3
Composition:
Learning :
Location:
150
Create ( 2 )
Input Flows:
Learning
Output Flows:
Learning
Update (3)
Input Flows:
Learning
Output Flows:
Learning
Output Flows:
Learning
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Composition:
userLogin : userLogin
152
usrPassword : userPassword
Location:
Kuote ( 0 )
Authenticate User ( 1 )
----------------------------------------------------------------------------------
Process #: 1.1
Location:
Authenticate User ( 1 )
Input Flows:
Login
User
Output Flows:
153
User
Login
----------------------------------------------------------------------------------
Offer Process
Process #: 6
Location:
Kuote ( 0 )
Input Flows:
Course
Course Offering
Learning
Output Flows:
Course Offering
Learning
----------------------------------------------------------------------------------
Process #: 4.3
Location:
Input Flows:
questionAnswered
Output Flows:
questionAnswered
questionAnswered
----------------------------------------------------------------------------------
Process #: 4.2
Location:
Input Flows:
questionAnswered
Learning Offering
Question
Output Flows:
Question
questionAnswered
----------------------------------------------------------------------------------
Composition:
questionId : Integer 4
questionBody : VarChar
questionTime : Integer 4
learningId : Integer 4
questionNumber : Integer 4
questionDifficulty : Integer 4
155
questionAnswer : Integer 4
questionOption1 : VarChar
questionOption2 : VarChar
questionOption3 : VarChar
questionOption4 : VarChar
questionOption5 : VarChar
Location:
Kuote ( 0 )
Create ( 2 )
Kuote ( 0 )
156
Update (3)
Kuote ( 0 )
----------------------------------------------------------------------------------
Data Store #: D7
Composition:
Question Answered :
Location:
Input Flows:
questionAnswered
Location:
----------------------------------------------------------------------------------
Composition:
questionAnsweredId : Integer 4
questionAnsweredChoice : Integer 4
questionAnsweredIsCorrect : Bit
questionId : Integer 4
learningOfferTakenId : Integer 4
Location:
Kuote ( 0 )
Kuote ( 0 )
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Data Store #: D4
Composition:
Question :
Location:
Create ( 2 )
Input Flows:
Question
165
Update (3)
Input Flows:
Question
Output Flows:
Question
Output Flows:
Question
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Result::resultDateTaken
Location:
----------------------------------------------------------------------------------
Result::resultGrade
Location:
----------------------------------------------------------------------------------
Result::resultId
Location:
----------------------------------------------------------------------------------
Result::resultNumCorrect
Location:
----------------------------------------------------------------------------------
Result::resultNumTotal
Location:
----------------------------------------------------------------------------------
Result::resultTimeTaken
Location:
----------------------------------------------------------------------------------
Process #: 2.2.1
Location:
Input Flows:
Course
Course
Output Flows:
Course
Course
----------------------------------------------------------------------------------
Process #: 2.3.2
Location:
Input Flows:
Learning
168
Course
Learning
Output Flows:
Learning
Course
Learning
----------------------------------------------------------------------------------
Select_Course Process
Process #: 2.3.1
Location:
Input Flows:
Course
Course
Output Flows:
Course
Course
----------------------------------------------------------------------------------
Location:
Input Flows:
Question
169
Course Offering
Learning Offering
questionAnswered
Authentication
Output Flows:
Login
questionAnswered
Course Offering
Learning Offering
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Length: 255
Location:
170
----------------------------------------------------------------------------------
Process #: 4
Location:
Kuote ( 0 )
Input Flows:
Learning Offering
questionAnswered
Question
Output Flows:
Learning Offering
questionAnswered
Question
----------------------------------------------------------------------------------
Update Process
Process #: 3
Location:
Kuote ( 0 )
Input Flows:
Course
Course Offering
171
Learning
Learning Offering
Question
Output Flows:
Course
Course Offering
Learning
Learning Offering
Question
----------------------------------------------------------------------------------
Process #: 3.1
Location:
Update (3)
Input Flows:
Course
Output Flows:
Course
Course
----------------------------------------------------------------------------------
Process #: 3.4
Location:
172
Update (3)
Input Flows:
Course Offering
Output Flows:
Course Offering
Course Offering
----------------------------------------------------------------------------------
Process #: 3.2
Location:
Update (3)
Input Flows:
Learning
Course
Output Flows:
Learning
Course
Learning
----------------------------------------------------------------------------------
Process #: 3.5
Location:
Update (3)
173
Input Flows:
Learning Offering
Course Offering
Output Flows:
Learning Offering
Course Offering
Learning Offering
----------------------------------------------------------------------------------
Process #: 3.3
Location:
Update (3)
Input Flows:
Course
Learning
Question
Output Flows:
Question
Course
Learning
Question
----------------------------------------------------------------------------------
Composition:
userId : Integer 4
userLogin : VarChar
userPassword : VarChar
userType : VarChar
Location:
Authenticate User ( 1 )
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Length: 255
Location:
----------------------------------------------------------------------------------
Login::userLogin
Domain: userLogin
Length: 255
Location:
----------------------------------------------------------------------------------
Length: 255
Location:
----------------------------------------------------------------------------------
Length: 255
Location:
----------------------------------------------------------------------------------
Location:
----------------------------------------------------------------------------------
Data Store #: D1
Composition:
userId : Integer 4
userLogin : VarChar
userPassword : VarChar
178
userType : VarChar
Location:
Authenticate User ( 1 )
Output Flows:
User
----------------------------------------------------------------------------------
Length: 255
Location:
----------------------------------------------------------------------------------
Login::usrPassword
Domain: userPassword
Location:
----------------------------------------------------------------------------------
Process #: 2.1.1
Location:
Input Flows:
Course
Output Flows:
Course
----------------------------------------------------------------------------------
Process #: 3.4.2
Location:
Input Flows:
Course Offering
Output Flows:
Course Offering
----------------------------------------------------------------------------------
Process #: 3.1.2
Location:
Input Flows:
Course
Output Flows:
Course
----------------------------------------------------------------------------------
Process #: 2.2.2
Location:
Input Flows:
Learning
Course
Output Flows:
Learning
----------------------------------------------------------------------------------
Process #: 3.5.3
Location:
Input Flows:
181
Learning Offering
Output Flows:
Learning Offering
----------------------------------------------------------------------------------
Process #: 3.2.3
Location:
Input Flows:
Learning
Output Flows:
Learning
----------------------------------------------------------------------------------
Process #: 2.3.3
Location:
Input Flows:
Question
Course
Learning
Output Flows:
Question
182
----------------------------------------------------------------------------------
Process #: 3.3.4
Location:
Input Flows:
Question
Output Flows:
Question
----------------------------------------------------------------------------------
183