University of Montana ScholarWorks at University of Montana

Graduate Student Theses, Dissertations, & Professional Papers Graduate School

2003

Online Instruction Collaboration Project

Michael David Cassens The University of Montana

Follow this and additional works at: https://scholarworks.umt.edu/etd Let us know how access to this document benefits ou.y

Recommended Citation Cassens, Michael David, "Online Instruction Collaboration Project" (2003). Graduate Student Theses, Dissertations, & Professional Papers. 8945. https://scholarworks.umt.edu/etd/8945

This Thesis is brought to you for free and open access by the Graduate School at ScholarWorks at University of Montana. It has been accepted for inclusion in Graduate Student Theses, Dissertations, & Professional Papers by an authorized administrator of ScholarWorks at University of Montana. For more information, please contact [email protected]. Maureen and Mike MANSFIELD LIBRARY

The University of Montana

Permission is granted by the author to reproduce this material in its entirety, provided that this material is used for scholarly purposes and is properly cited in published works and reports.

**Please check "Yes" or "No" and provide signature**

Yes, I grant permission

No, I do not grant permission

Author's Signature. V'"— -----

Date: ^-00 J>______

Any copying for commercial purposes or fmancial gam may be undertaken only with the author’s explicit consent.

8 /98

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Online Instruction Collaboration Project

by

Michael David Cassens

B.A. The University of Montana 1996

presented in partial fulfillment of the requirements

for the degree of

Master o f Science

The University of Montana

2003

Approved by;

Dean, Graduate School

Date

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. UMI Number: EP39746

All rights reserved

INFORMATION TO ALL USERS The quality of this reproduction is dependent upon the quality of the copy submitted.

In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion.

UMI Otsssrtation PuWisNng

UMI EP39746 Published by ProQuest LLC (2013). Copyright in the Dissertation held by the Author. Microform Edition © ProQuest LLC. All rights reserved. This work is protected against unauthorized copying under Title 17, United States Code

uest

ProQuest LLC. 789 East Eisenhower Parkway P.O. Box 1346 Ann Arbor, Ml 48106 - 1346

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Cassens, Michael David, M.S., May 2003 Computer Science

Online Instruction Collaboration Project

Director Professor Joel Henry, Ph. D

The Computer Science Department at The University of Montana has utilized individual course websites effectively for many years. However, a great deal of time has been spent creating and maintaining these sites. The Online Instruction Collaboration (QIC) addressed this problem by creating a space where instructors and students alike can gather in a single online area and communicate with one another. The goal of the project was not to advocate the OIC over other products, but to ensure the viability of using custom software solutions in an arena where commercial products tend to dominate. This paper discusses the successes and challenges of using a customized tool. It also examines the usage of OIC in the classroom during the spring of 2003 with a cross-sample of computer science students and two instructors. The results of this study suggested that the OIC can provide a viable solution for the Computer Science Department.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. TABLE OF CONTENTS

Chapter 1 Overview and Background ...... 1

Chapter 2 Requirements and Specifications ...... 8

Chapter 3 Design ...... 26

Chapter 4 Implementation ...... 47

Chapter 5 T estin g ...... 50

Chapter 6 Usability Questionnaire ...... 54

Chapter 7 Conclusion ...... 59

Chapter 8 Future Direction ...... 61

References...... 65

Appendix A ...... 67

Appendix B ...... 108

Appendix C ...... 124

Appendix D ...... 126

111

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ACKNOWLEDGMENTS

I would like to thank my wonderful wife and daughter for all their support and love throu^ this process. With them, all things are possible. Additionally, I would like to thank Dr. Joel Henry, Dr. Yolanda Reimer, and Dr. Carol Brewer for serving on my committee and guiding me through this process. Lastly, I would like to thank Gabriel Williams and William Best for their instrumental assistance in testing this product.

IV

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 1

Overview and Background

The Online Instruction Collaboration (OIC) Project is an intuitive interactive

enhanced web-based system for students and instructors. This system was

created out of a need for a better online presence in the Computer Science

Department. Currently, the Computer Science Department utilizes static web

pages for instructors to post course information to students, and althou^ this

system has been a standard in the past, it requires maintenance for which the

instructors do not have time. At present, some instructors find student teaching

assistants to update and maintain their course web p ^ s because of the time

commitment required. Additionally, the interface that enrolled students have to

navigate throug)i to find their courses is cumbersome at best. Also, there is an

inconsistency between the user interfaces o f the individually driven pages. Lastly,

there is an absence of individualized grade reporting. Many instructors keep a

local copy of all student assessment information in a spreadsheet format.

Aldioug)i this is effective for the instructor, the student will never know their

current course grade unless they confer with the instructor. If grades are posted

online for a course, the instructor must assign randomly generated numbers to

each student to protect their privacy. This is an accepted method o f display at

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. The University of Montana, but it still requires the student to review their grades

in a non-pnvate manner.

Recently, another solution was introduced into the Computer Science

Department, which previously had been used primarily for online courseware at

The University of Montana. It is the corporate product Blackboard [1]. Since

this was introduced as a tool for teaching online courses, it had not received

much attention in the area of supplementing traditional courses until now. It is

now being utilized by some traditional courses in the Computer Science

Department, as well as other departments on campus. The acceptance and usage

of this product solidifies the assertion that the Computer Science Department is

searching for more functionality with their online resources than ever before.

Another online courseware product used is eCollege.com [2]. This is a web based

system not currently accepted or supported as a whole by The University of

Montana because of the adoption of Blackboard. However, it is heavily used in

the School of Education with their online courses. This tool is similar to

Blackboard with its functionality and its appearance. This system extends its

functionality over Blackboard by providing the ability to administer streaming

video with its basic product offering. Another advantage of eCollege.com over

Blackboard is that its servers are located in a variety of mirrored sites throu^out

the United States instead of at one location in Missoula, Montana This provides

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. better reliability and ensures access for universities that may feel somewhat

hesitant about using this type of courseware.

With the adoption of Blackboard and eCollege.com, clearly The University of

Montana would like to utilize these products to not only teach courses online, but

also enhance traditional courses as well. With so many commercial products

available, a valid question to consider is whether customized software would be

viable in this product space. The OIC was developed to address this viability and

determine whether custom software would be useful in the Computer Science

Department.

The goal of OIC was to provide a simple yet effective interface that incorporates

all the important functionality that the mainstream products have to offer, but

with the simplicity of the static web page. Similar to the commercial products,

QIC’s focus was to provide specific departments a single point of entry that can

be accessed by all students enrolled in courses in the department. However, it did

not incorporate all aspects of the commercial products. By focusing on the core

functions that instructors and students required, it was hypothesized that the OIC

could be an option to supplement traditional courses.

To create this product, a rigorous product development cycle was followed to

build a stable and reliable system. The development cycle incorporated the staged

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. delivery model, also known as an incremental implementation. This model was

followed throughout the development of the product because the full list of

requirements was fairly well defined, but not all requirements needed to be

implemented to have a functional prototype. Since this model implements

functionality in successive stages, it allows the developer to implement additional

functionality in later stages [3]. This is a successful model because each stage is

fully functioning and, therefore, useful to the client even without all the

requirements implemented.

Knowing that this initial release would be utilized by approximately a hundred

students, as well as two instructors, enhancements and alterations to the product

were fully expected. Therefore, it was determined that requirement changes

would be the primary risk factor in this project. Leveraging a staged or

incremental development model decreases the change in requirements risk by

defining and implementing core requirements and then adding additional

requirements into latter stages as the product matures.

The users consisted of students and instructors from the two pilot courses,

CS232 - Architecture and Assembly Language and CS332 - Introductory to

Algorithms. These courses used the product diroughout Spring Semester 2003.

There was an assumed basic knowledge of computing and ability to navigate

throu^ web pages. Since these users have been in the Department for two or

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. more years, it was assumed that they had been exposed to the current course web

pages.

Another main goal of the OIC was to decrease the amount of time spent using

the product. Instructors and students alike do not have much time beyond their

regular school and research duties to be weighed down with a cumbersome

system. Therefore, the OIC system needed to provide a definite time savings if it

was to be used consistently. Page response times had to be as close to immediate

as possible. Although, these calculations were not tabulated formally, it is

important to discuss their role in evaluating this product.

As an adjunct to this main goal, the OIC had to recover from errors in a timely

fashion and provide meaningful feedback to the user. No matter the ability or

expertise of a user, there will always be times when an inadvertent action will be

performed. Thus the system needed to allow the user to continue on by

choosing another option.

The first line of recovery from error is displaying feedback in crucial areas and

creating constraints with certain functionality. In the OIC, this was implemented

whenever information was updated or inserted, as well as when form information

was submitted. These simple validation methods helped prevent users from

performing actions that were unwanted.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Since the Student Area was mostly “read-only”, feedback was displayed in more

subtle ways. For example, since all lectures and homework were displayed as

hyperlinks, the student made a selection, and the appropriate information was

displayed. At the top of the displayed information, the selected lecture or

homework title was shown verifying what they are viewing. Conversely on the

Contact Instructor and the Change Password page, the functionality required

more user feedback to ensure the changes had been applied. Therefore, specific

feedback was displayed to the user indicating the task had been successfully

completed.

The Instructor Area required much greater validation and error recovery. Each

function in the Instructor Area entailed insertion, modification, or deletion of

information. Therefore, more validation was required to ensure the correct

function had occurred. OIC provided this feedback by displaying a message at

the top of the page when information had successfully or unsuccessfully been

inserted, deleted, or modified.

In other products, the validation method was signified by adding another

confirmation page when information was changed or updated. Althou^ this

provided good user feedback, it created the issue of added time to effectively

interact with the product. The OIC addressed this issue by creating good user

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. feedback for the instructor on the same page, which eliminated the confirmation

page, and therefore decreased the number of pages that would be required to use

the system thus saving time ultimately.

Ihere was an overlap between OIC and the commercial products, but the list also

included additional benefits that were not addressed by the commercial products.

The following is a summary of the major benefits of using the OIC system:

• Standardized system of display for instructors and students

• Time saving measures for instructors when keeping track of course

related information

• Built in privacy for students when viewing a summary of grades

• Student rosters automatically populated by students

• Automatic emails to students made available without using an email client

• Automatic email to instructors without having to know the instructor’s

email address

• Only “core” functionality exposed reducing time spent using the system

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 2

Requiremmts and Specifications

To be successful, all software products must have requirements and specifications

[4]. Typically, the client requesting the product defines the requirements of the

product and then the specifications are created to fulfill those requirements. In

this section, the requirements and specifications are outlined delineating all the

core functionality that the system should possess in order to be viable. The OIC

has been separated into three distinct areas of functionality. The first area is the

Administrator Area (AA). The second area is the Instructor Area (LA), and the

third area is the Student Area (SA). Each of these areas has a set o f distinct users,

and these users are listed below.

Specific Breakdown o f User Populations

• General Administrators

• Instructors

• Students

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Throughout the rest of this section, a visual representation of how a user

navigates throu^ the OIC system as a student, instructor, and then as an

administrator is shown.

Example steps to gain access to the SA

1. Log In from the Introductory Page (Figure 1)

a. If they have not logged in before, create a new user (Figure 2)

b. If they have forgotten their User Name and Password, access the

Forgot Password screen to retrieve the information (Figure 3)

2. Select a Course that they were enrolled in by choosing a course from the

drop down box and clicking the Insert button (Figure 4)

3. Under Student View, click on the Select hyperlink next to the course

name to view the course information

4. View Announcements (Figure 5)

5. View Syllabus, Lectures, Homework, and Grades (Figures 6-9)

6. Contact the Instructor (Figure 10)

7. Change Password (Figure 11)

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. -.J* Welcome to the Computer Science D e p a r tm e n t

Announcements:

3/6/2003 2:13:32 PM

LOCAL COMPANY - JOB LISTING

Intern Position For LoaiSYS: I am looking for a self-motivated^ attention-to-detail computer science student for a paid intern position at LogiSYS. I would like to hire a student who has at least two years of Computer Science com pleted. The job entails using source control, building and installing executable programs as well as report generation and various other tasks. I need someone for approximately 20 hours a week and may hire two interns if the right candidates apply. Send your resume to: [email protected]

or call Ruth at 728-0921 ext .2116.

Figure 1

10

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Welcome to the Computer Science D e p a r tm e n t

ijier.'Kiroe

I P CREATE mmHU#

Figure 2

j p f e ^ ^ E Welcome to the Computer Science D e p a r tm e n t

' Apase6i*er your Finaf Mèrrsn and Y<>ir Usa fiarae and Password viAbe cent to you.

< BWAddress.

HC'-^

Figure 3

11

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. W elcom e to the C om puter Science Course»

.'TtJuJ < * 'lau aÆ.* / "A‘«c < '% ' «VI-, j *1. r’^iiik j ’IS.*, \ jWm:n6ümgK I------1 tWli^ C S232 V I INSERT I CS232 Assembiv and Architecture Select Delete Atgonthms Select Delete

Add A Course: Course Name Description CS232 V I INSERT j CS232 Assemblv and Architecture Algorithms

Figure 4

Welcome to CS332 Algorithms

Syllakus Ltcturtf H«mew«rlc Ewams PasswordChange_ Announcements

2/8/20031 have posted your project groups. Please let me know if I have made any m istakes, Also, I have posted the algorithm requests th a t I have recieved so far. Also, I posted Homework 2.

Hof-iç lo-OQijt Qycr-bon^. '

CcokTight ?302-2t]03

Figure 5

12

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Welcome to CS332 Algorithms fiyi

|Anr)«unc«m«!i>ts I Lectures I Homework Syllabus

Syllabus for CS 332

CS 332 Section 1 Instructor; Michael Cassens Office: SS 404 Office Hours: Tues and Thurs 1:30-3:30 Universit}'Phone: 243 - 5605 Home: "21-3805 Office: 549-0616 e-mail: [email protected] I'RL: http:/Avrw.sih erleaf-consultiDg,coiii/CSPortal

GOAL; To help you learn cSfferent techniques m algorithmic design and how to critically analyze the algorithms that you write

Attendance: Class meets on Tuesday and Thursday from 3:40 - 5:00 pm

Homework and Labs "O^o 2-3 Exams I5®o for each test You mast take two of the three exam s (no make ops will be gri en)

AD Assignments wiD be turned at the beginning of class of the day they are due No Exceptions.

Grading Scale 100-90 A 7 9 -'0 C 59-and bevondF 89-80B 69-60 D

Requirements • Text: Introduction to the D esign & Analysis of Algorithms by Anany Leiitia ISBN 0-201-74395-

• Pre-requirites are CS 331 Data Structures and Math 2-5 - if vou ha%? not fiiMed these pre-requisites, then you wiH be taking tins class at your own risk.

Suggestions: • Ask questions whenev er you have diem and make sure you understand what I am teaching before w e mo\? on.

Figure 6

13

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. H om a^orlrAnn«iincein«nts SytUbgs H om a^orlrAnn«iincein«nts Ewams Grades P»5£WôrdChangé lectures

Chapter 1 Chapter ICont, ^roiect Croups Chapter 1 Part 3 Chapter 2

C h a p te r 1

C hapter 1

\\"hat are your perceptions of this class

\\"hat do I htn-e ts-orking against me ’ A. Late in the dav B- Boting Hard subject material (ak'ays a dangerous combination) C. The class lasts 1.5 hours long! D. WTiere are we going to use this =3®o“^!

So why do we take diis class'* 1. The department scants you to practice what you are alreath good at. Problem sohing You wouldn’t be here if you weren’t good at that.

^Tiere arc we in the big scheme of things? Explain to me die different areas of software design and teD me where algorithms fit into this.

Two Ideas fie gleaming on the jeweler’s seh'ct The first is die calculus, the second, the algorithm. The calculus and the rich bods’ of mathematical anah sis to which it sices rise made modem science possible; but it has been the algotidim that has made possible the modem world, David Berlinski,Tnm Ad\ erao f eke Aigouthm

So what is an algorithm'* It’s a w’a>’ to soh-e a problem.

What do you need to know about akorilhms to be successful in connuter science* 1. A pool of algorithms from nhich you can drast 2. a knowledge of how to create new algorithms and then anal>'ze them

These are irqiortant distinctions. It's eass to look at other people’s work and use. critique, etc. with them. It’s a whole another thing to create your own and then critique them

Figure 7

14

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. îSàjâSfc*»^^ -^,Æ®âiij6i&siiùfeiai^^

Welcome to CS332 Algorithms

iAnn«unc«mcr>t3|

I Assignments

| E>ba Çred't I t HomervGrk i BMome'/'G'ii 2

H o m ew ork 1 Due: 2/6/2 0 0 3

Part S; Problem 4 Parts A/B Problem S Parts A 3

Page 1": Problem 2,6.9

Figure 8

Announcements I Syllabus Lectures I Homevorfc I Exams Contact PasswordChange Grades

E x tra C redit 1 5/ 0 Homework 1 20/ 20 H om ew oH t 2 20i 20 Homework 3 0/20 Project 1 0, 100 Www urj.- : Home locKXjt puerions Ti ;. "L ' : Lj Copyrghl 2CO?-iOOj ^

Figure 9

15

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Welcome to CS332 Algorithms

egAnnovncemont*! Syitsbus Lectures 1 Mometfork | e«»ms Grades 9 9 ^ M Change 1 9 0 9 9 # Password I BContactYour Instructor

9 Y

g Subject:

9 Bodv’t

Send Message | Questxyis %'

Figure 10

A'

|Aiknoufic«m«ntsl SylUbus Homftvork CM»ms Qrê»4«s Contact

change Password:

Old Pass'nord;

Mew Pssîivord:

Confirm Password:

I Change Password |

Figure 11

16

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Example steps to gain access to the lA

1. Log In from the Introductory P ^ e (Figure 1)

a. If they have not logged in before, create a new user (Figure 2)

i. Must wait for the Administrator to designate them as an

instructor

b. If they have forgotten their User Name and Password, access the

Forgot Password screen to retrieve the information (Figure 3)

2. Select a course being taught by choosing a course from the drop down

box and clicking the Insert button (Figure 4)

3. Under Instructor Administration, click on the Select hyperlink next to the

course name to change course information

4. Add content to one of the seven areas (Figure 12)

a. Enter either HTML or rich formatted text

b. Refer to HTML help link for assistance

5. Upload files for student download

a. Follow directions to link to uploaded files

6. Remove student function

a. Select student hyperlink

b. Click ok on the confirmation dialog box

7. Email students

a. Select a single student or all students from the drop down list

17

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. CS332-01 Alaorithms

Add/EdR Announcement Welcome! AAV^enit Syllabu» Please choose a link on the left to alter or add any course Information, AOd/Ed* Lectures

Add/Ed* Homewoftt Add/Edit Exarre Add/Edit Grades

Send Man

Remove Student Update Password

U pload Fîtes Home

Figure 12

Improvements were made to decrease time spent using the OIC. The major time

saving benefit occurred when an instructor inserted or modified any of course

information. When course information was submitted, the confirmation

appeared on the same screen. Additionally, the OIC decreased time spent on the

assessment process by allowing the instructor to change all student grades for an

18

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. assignment before submitting the changes with the verification of the update

displayed on the same screen.

Example steps for gaining access to the AA

1. Log In from the Introductory Page (Figure 1)

2. View Options available only to the administrator (Figure 13)

3. Add/M odify Courses available

4. Delete all course related data

5. Post a General Announcement

6. Change Administrator Password

Administration Area

Home Add/Edit Courses Add/Edit Instructors Welcome to the administration area. Delete All Data Choose from the menu on the left to facilitate your acfrninistrative needs. General Announcements Change Password logout

Figure 13

19

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Functional Requirements

At the onset of the OIC project functional requirements were listed, classified by

role, and then each requirement was given a priority. Functionality requirements

with a hig^ priority were classified as core functional units, and the product

would not be released until these requirements were implemented and functional.

The second-tier of requirements were classified with medium priority. They were

requirements that were understood to be meaningful, but not vital to a functional

system. These requirements were to be implemented if time permitted. Lastly,

the requirements that fell into the low priority list were not given this

classification because of insignificance, but rather because their functionality was

truly an enhancement that could wait or did not fit within the scope of the

project. Potentially another graduate student could take this project and focus

upon the future direction to make it intelligently more feature rich.

Students:

High Priority

1. Student must be able to Create a User name and Password

2. Student must be able to Retrieve a forgotten password

20

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 3. Student must be able to Login to the system with a user name and

password

4. Student must be able select one of the courses they are enrolled in

5. Student must be able to view the syllabus of the selected course

6. Student must be able to view the assignments given in the course

7. Student must be able to view the lectures given in the course

8. Student must be able to view their grades

9. Student must be able to contact the instructor

10. Student must be able to view the announcements provided by the

instructor

11. Student must be able to change their password

Medium Priority:

1. Student should be able to delete themselves from a course

Low Priority

1. Student should be able to view the grade currently receiving in course

2. Student should be able to calculate w hat they would need to get on the

final in order to estimate their grade

3. Student should be able to view the exam material given in the course

21

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Instructors:

High Priority

1. Instructor must be able to Add syllabus

2. Instructor must be able to Edit the syllabus

3. Instructor must be able to Add a lecture

4. Instructor must be able to Edit a lecture

5. Instructor must be able to Delete a lecture

6. Instructor must be able to Add an assignment

7. Instructor must be able to Edit an assignment

8. Instructor must be able to Delete an assignment

9. Instructor must be able to Update grades for assignments

10. Instructor must be able to Update student’s login information

11. Instructor must be able to Email all students

12. Instructor must be able to Email students individually

Medium Priority

1. Instructor should be able to Set the date the assignment will show

22

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 2. Instructor should be able to Set the date when the assignment will not

show

3. Instructor should be able to Set the date the lecture will show

4. Instructor should be able to Set the date when the lecture will not show

5. Instructor should be able to Select which options they want available

6. Instructor should be able to set the percentage weight associated to

assignments and exams

7. Instructor should be able to delete a student from the course

8. Instructor should be able to upload a file to associate to another content

area

Low Priority

1. Instructor should be able to Add examination information (online exam)

2. Instructor should be able to Edit examination information

3. Instructor should be able to Delete examination information

4. Instructor should be able to import a list of students from the Banner

application

General Administrators:

High Priority

23

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 1. Administrator must be able to Add a course

2. Administrator must be able to Edit a course

3. Administrator must be able to Delete a course

4. Administrator m ust be able to A dd an instructor

5. Administrator must be able to Delete an instructor

Low Priority

1. Administrator should be able to Edit an instructor

a. Change Name of Instructor

b. Change Email of Instructor

c. Change Username of Instructor

All h i^ priority functional requirements were implemented and were functional.

Some of the medium priorities were implemented because they were requested by

a user or its priority was upgraded to a high priority. The feature that was

implemented as an enhancement was the upload file feature. This was requested

by the other instructor involved in this study, and the rationale was justified

enou^ to include it in this project. Instructors may want to add outside

resources to supplement their lectures or assignments with uploaded files. Some

instructors create slide presentations or P D F files that they would like to make

24

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. available to students. With the upload a file function, the instructor could upload

and link multiple files to numerous lectures, assignments, and/or

announcements.

Lastly, in an effort to anticipate future enhancement, the database structure was

developed allowing for the medium priorities and low priorities to be

implemented with a lower maintenance cost. Since most o f this project is

database dependent, it was crucial to make sure the database was as extensible as

possible.

25

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 3

Design

Presentation Layer

This project was separated logically into a three-tiered solution; the presentation

layer (PL), the business layer (BL), and the data layer (DL). Each layer plays a

significant role in most development projects and this project adhered to these

rules as well.

The PL is typically defined at the “look and feel” layer. This is where the user

interface is defined. This is where colors and navigation flow are most important.

The PL is generally separated to allow for different platforms and mediums to be

accommodated more readily. This layer also provides the interface between the

user and the business logic. The main goal of the PL is to display the information

that is returned by the BL. The PL is where usability testing plays a vital role and

provides valuable information. This layer is often viewed as an enhancement,

however, ignoring the importance of this layer can be detrimental to the whole

project. The PL is the gateway to the user. If the user’s perception is poor at this

level, any amount of functionality will be immediately forgotten because the user

will not return to continue with this product.

26

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. In the OIC, this layer was addressed most heavily with the Student Area, which

contained the largest user base for the alpha version. The goal was to provide a

simple interface where navigation was unambiguous and effective. In order to

provide an appealing association, the color scheme matched the current colors

used at The University of Montana’s website. The dynamic portions of the site

were written so that black text would appear on a white background to ensure

that most users were able to see the contrast. Additionally, alt tj^ and title tags

were attached to all buttons and graphics to help identify their function.

The logical flow of the pages was built such that there would be one common

start page with a login. After a user was authenticated, depending on the specific

role of the user, their direction would be dictated based on processing that takes

place in the BL (Figure 14).

27

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. New User

$tert Page Login Page

I Reiatecf Pages StudehrHom« Page Admira%hator Home Page

I Add/EdRMete Upload Hies irs fructoia nelated Pages Lectures Add/E#Delete Courses AtkMJpcWe/Delele Assignments m Assignmenls Change

Exams AAlÆ^fDelele Général Related Pages Amouncements Rem we Deteleï»Data ContK t insbuctor I UpdalSDelete Exams Change

Contact^tudents

iAddRJpd^e/Detetej Amouicements I

isswotd

AddfUp(AeAMete| Syllabus I

Figure 14

Business Layer

The BL (Figure 15) works under the PL and interacts with the DL Typically all

business rules are encapsulated here. These rules can be abstracted into

components so that only the results of their functions are returned to the PL.

This layer is one of the most important layers because it performs all the actual

processing in the product. The BL incorporates the rules and parameters that are

28

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. established by the client and reflect the expected results of various tasks. The BL

can be specific to a machine platform meaning that one might need to change or

alter the code in the BL to allow the same functionality on another system.

Administrator Functions Account j ---- Sen.) Usw IMwrotton - Database instructor Data- AddCdtfDefele Database Inmidors t z--- ! tostructor Dab— Forget M — Rebftn Cr^denbals— Datebase Password SemdEma# Address—#, ■Course Deb- AdtfCditrDefete r ; — ' Da ta base Course Course Data-

f Ad^dtfOeJete p— ■Announcement Dsta< Database Student I Announcements j ^ Announcementj Deb' Funcbons Course Deb Database ^ Delete eli CbU ^ "Course Request SylatMK Dirta- Admin D ab " Database Change Database Syllabus c Password Admin D ab - Instructor Request Functions Lectures "SddTEditT c , Delete W Lecture Data Upload Database Lectures 1—Lecture Debate Files Request Assignments j-<«—As^nmen* Data- Database Add/Bj# Delete LAsbgimem Deb- Database Assignments >► Asagnment Deb» Request Exams I"*— Database Àdd/Êdrt/ Export to Delete ^Grades DM— Database Excel Grades Gradee Date*» Request G rades ---^tabase Edit/Detete l^studentDM Database ...... > Students 1—student D M ^ Send Message Informa Send through Message Mail Send Send through Message infdntiMion- -Passvnonl Dab- Message Mail Update Database Password -Password Data-

Update Password Data Password Dab—fb

Add/Edit/Delete VAnnouneemanlDab» Announcements >«Annountament Dab-

Add/Edrt/ Delete Exams Database

AddÆdit/ j Delete ■ ■ Sytbbus Data- Database Syltabus I ^ ' Sylbbus Data-

Figure 15

29

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. In the OIC, all the supporting classes called by the CSPortal class encompassed

the BL. These classes exposed the information requested by a user. The QIC

consisted of 12 supporting classes to the main interface class. Each class

encapsulated the functionality that related to a portion of the system. In the

design, it was most beneficial to focus on the classes that were being exposed

such as the syllabus, lectures, and assignments.

D ata Layer

The last tier is the DL (Figure 16). This is the data repository. Its main function

is to retain data and expose data when called, and no business rules should be

applied here. The BL should be calling the data that it needs and applying

business logic to the data returned. Data flows between the layers, but the DL

should be sheltered from any actual calculations on the data. The DL should be

optimized to return data throug)i indexing and stored procedures. Additionally,

throu^ the normalization of the tables, duplication is eliminated reducing the

size of the data storage and the efficiency with which the data is returned. These

techniques all lead to an increase in performance and ultimately lower

maintenance of the database.

30

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Users

Students Instructors

tnstructorCourse Courses StudentCourse

£ I Syllabus Grades Lectures Assignments Exams

Announcements

Figure 16

In the OIC, this layer consisted of a relational database with 14 tables containing

information about a user, courses, assessment, lecture material, assignment

material, as well as announcements that are specific to a course or to the general

population. This information was exposed through the execution of stored

procedures.

31

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Justification o f the 3-tiered System

Keeping these layers separated allowed for a more scalable system able to handle

an increase in the number of users, thereby decreasing the load on each individual

server. Additionally, one can increase server capacity in areas that are found to

be overloaded instead of all areas resulting in decreased costs and wasted

resources. This is most applicable if the tiers are separated physically. By

separating each layer onto a separate physical server, the administrator can easily

extend the system by adding an additional server to the overloaded layer.

In a layered approach such as this, one also decreases the amount of maintenance

required to keep a product running or to correct errors. This is especially

important in areas where multiple developers will be working on the same

project. Typically, designers can work on the PL concurrently with component

developers working on the BL, and finally database developers working on the

DL. This allows for more rapid and reliable development over the life of the

project [5].

32

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Physical Design

Presentation Layer

The physical path from the login was outlined in Figure 17. This physical layout

of pages determined the initial choices of the user. The user had the ability to

sign up as a new user, retrieve their forgotten password, or login. Once the user

log^d in, they were directed to the proper path which is dependent on their role

in the system. They were redirected into either the administrator role, the

instructor role, or the student role. Additionally, they might have utilized a

combination of instructor and student roles depending on their position in the

department.

33

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Send to User

ForgotPasswont.aspx Get Password from Email

Verify U nique U ser from Email

If Unique U ser Insert Into Table

NewUseraspx

— Return Error If not found

Ctieck User Name/Password Users Table

Login.aspx" audent/Default aspx Instructor/Defa ultaspx

Admin/Default aspx -

' ___ Admininistrator student Patti Instructor Path Path

Figure 17

The most prominent path was the Student Path (Figures 18, 19). This path was

primarily a read-only area where the student could view the mformation that was

uploaded by the instructor. Initially, the student needed to add the course to

which they belong. After this had been completed, they were able to see the

syllabus, assignments, lectures, exam information, their grades, and had the ability

to send an email to the instructor. Each section in a course had its own physical

page that dynamically displayed course information. Additionally, students had

the ability to change their email address as well as their password. Each of these

functions also had their own physical page. All information displayed on each

34

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. page was specific based on the login of the user. All of these functions were

available through horizontal navigation showing the user what had been chosen

after it had been selected. The navigation was contained in one single file which

was included in all other pages. This increased reusability and decreased

maintenance since any chants were applied in only one file, but affected many

files.

student dent FPath^^ .

Stu< .o u rse T ab le T able

T ab le Student/Default.aspx

Show courses enrolled in, allow addition and deletion of course

Add a Course

Course Sheeted

Student Diagram

Figure 18

35

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sunday, October 27, 2002

tudent Vie

tncludes/Navigatton.aspx SiudenVA nnouncem ent aspx Includes/Header aspx Includes/Footer aspx — Studer^AHhangePass aspx - Student/Syllabus aspx ------I Student/Contact aspx !------Student/Lectures aspx Student/Grades.aspx

- Student/Assignments.asp^ Student/Exams aspx|

Check ^our^ VaW Ta Me Table Table Instructor Course Password Table Table 'LëctufëT Table Course Table races Table Table Update Password IZZ3 entt Table ISI

Figure 19

Another major path was the Instructor Path (Figures 20, 21). This allowed the

instructors to administer the courses under their direct supervision. Once a

course had been selected, an instructor had the ability to add, edit, or delete

course information. The instructor also had the ability to send emails to

individual students as well as all the students that had enrolled in the course.

36

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Again, all major content areas had their own files dynamically generating

information. These files affected only specific course information. This structure

provided some insulation from changes that occurred on other pages and

provided a simple schema to follow and update if necessary.

Sunday, October 27, 2002

Instructor Path

Default asp In stru cto r T a b le

T ab le I nstructor/Default asp*

S h o w c o u r s e s in stni cling, allow addition and deletion of c o u r s e InstructoiCourse T able

Course Selected

A d d C o u rse

Instructor Diagram

Figure 20

37

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sunday, October 27, 2002

instructor View

Instructor/Navigatjon.aspx

Includes/Headeraspx

Includes/Footer aspx

Syllabus aspx------asp* Announcements aspx —Assignments aspx - —,— Lectures aspx ------Exams aspx f ViewStudents aspx G rades1 aspx

; Contact, aspx

ourse Tatjie Course Tat)le Course TalWe

C ourse Announcements Table Table Table Course Table

Course Table

Table C ourse urse Table Table StudentCourse Table

Table StudentCourse Table '§tuderit Table

'StudenT Table

Figure 21

38

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. The Administrator Path (Figure 22) was the third role that existed in the OIC.

This role controlled the courses that were offered in the QIC. As well, it

determined which users were designated as instructors. The administrator also

could delete all the previous data from the database. Lastly, the administrator

could add and update general announcements that all users of the QIC could

view. Each function was separated into a different physical file for simplicity and

reduction of maintenance.

39

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sunday, October 27, 2002

^Administrator Path

Defauitasp

AdmirVDefault.aspx Display All Courses Available

Display All bourse" Instructors Table Available

Instructor Chosen Instructor Course Chosen Table

Administrator Diagram

Figure 22

40

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. The physical design of the database (Figure 23) was engineered using Visio.NET

creating all tables and their relationships. Additionally, all the column names and

data types were defined and saved in the diagram. Using this diagram, a script

was generated that was executed in the relational database management system.

The benefit of using this design tool was that changes could occur in the database

design, and then a new script could be produced with these new changes

implemented. This reduced documentation maintenance because of the

integration inherent between the products.

41

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. U sers

PK U serlD S tu d e n ts Instructors U serN am e PK S tu d e n tIO PWD PK InstructorlD Email FK1 U serlD R rstN am e FK1 UserlD M iddleName L astN am e Subm itD ate StudentCourses InstructorCourses

PK StudentCoursesI D PK InstructorCoursesID

FK1 S tu d e n tIO FK1 InstructorlD FK2 C o u rs e lD C o u rse s FK2 C ou rselD PK C o u rselD

N am e Assignments T erm Description PK AsskinmentID Display

FK1 C o u rs e lD Title D ue Date Description AssignmentType G ra d e s DateStiown Begin DateStiownEnd PK D isplay Total Points FK1.FK2 Studen tCou rsesi D WeightPercentage FK3 AssignmentID D ateA dded Points Received Display

SyllalHis E xam s L ectures PK.FK1 C o u rse lD PK E xam ID PK S vIlabusID PK L çctu relD

FK1 CourselD Syllabus FK1 CourselD Title DateStxrwnSegin Title Description Dates twwnEnd Description DateShownBegin Display D ateShow n Beg in DateShownErvd D ateA dded DateShownEnd D isplay Display ExamtDate Lecture Date Announcements GeneralAnnouncements PK AnnouncementID PK GeneralAnnouncementID FK1 C o u rselD Title Announcement Description Display DateShownBegin StartCfete DateShownEnd End Date Dispiay EnterDate AnnouncementDate

Figure 23

42

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Code Design

The code design showed that there was one major class with 13 support classes.

These classes interacted such that all classes were dependent on the Connection

Class, with the CSPortal Class dependent on all other classes except the

Connection Class. The other class that was used most often by every class was

the CommonFunction class. Ihe CSPortal Class (Figure 24) was the main

interface class. This class instantiated all the supporting classes, and then used the

return information to display, insert, update, or delete the appropriate

information on a page. All code design documents were created in Rational Rose

(see Figures 25—35 in Appendix A). Since m ost of the functionality was modular,

the supporting classes were broken into subgroups showing the specific

dependencies. Additionally, all class interactions were outlined in a series of

sequence diagrams (see Figures 36-66 in Appendix A) describing common

functions m the OIC [4].

43

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______C S F c n g l CsnrnrcnPLnctiors ^ ü c d a t s F s î ï . v c 'o ;; ^SenoM esiag-;’’ ^H s oSsssi 0 n IC : ‘ tN 3 V i 3 3ti c n Li r »3 ; ;i ^G stA I I Em 3 i lAoOrsssss; ■ ^tnÿ5riA _m Li^cs-'r-srtl} ^QstSsndsfiEm ai lA oO fasal } s c u 13 t= -.r n 3 u n o s nr 5 r t : ■• ^G stl nstru etc rsEm ail A dd'sss,'} ^S-5tlrîtryotO'M3¥-|g3tiorLin;>3:' hangsP a-sstvc-rd ; } ^nitî3lirsStoo=rt»:: ^Ct’scKValldOldPasstvc'd: ■ ^rritislizsCstss; ■ ^Chs ckNewP 33S.V0 TO 3! ) ^lrr3snE%:3-r::< ^GstA.tIH5 nInstnjoto'Uss's; ' *Pocül3T=Ex3T: ^GstLssflC:;. ^ U c d a ts G '- a jS5:'< ^DslstS-A.llUc rl n jtfu etc tu d s n til ; ^ rtîs-tKc -r swc ; ^Cslsta.A.11 Ncnlnsfu etc 'Li 3 S ^ ! ) ^Pcctjl3tsrtcn-=,vo'^:;;. ^InssnLsctu'Ss;) T ♦pc!:i>l3t=L=ctu-«;, ^P oculatsStu darts: ;■ ^ I r s s ’tS /lla c i.;:;' ^PccolstaSjfllscw s:. ♦ ucloadf’iS^vFiis;;' ^isclayrH es.:' ^ S s tA .a rr i r j 3 f s ti c r N 3 vi 3 3 tl G r L j r ^3stC=u'5ss::- Z c r n s c t ic r ^illCow sslrf:: ♦trss'tCoLi'î*:; ^CLECBConrsoticrSt-ir 3 *Corfi"rC=l=ta;:' ^CslstsCats:' ^GstAnrrurceTsrts: ) i i I An r c u r os nr s n tt r f 0 ; ) ^ nsartGa r5'31Ar r : I, r cs'Fart; : "^stiPsfLioto^:;. ^ G s tU s s 's : *1 nssrtlrsfuctc'::' ^alatelrst^wOts'Couns-s;;' ^C5lst3StbdantCcu'5s::> ♦s-snoPass.vc '0 ; ) g r e a t s : ; . isp IsyStudsr tCc ü '3=5 !} isc lay 1 rs tu otc^'Cc u "ssîl ^^isclaylnst'bct:':} ♦cisclayStudsnt:;! ^Ir jS'tr'isivStbdsrtCc u-ss: ) ^ nsS'tN s ,vl rst'U oto -C 0 u-Sc: 5-3 in;; ^G stA n r o ur csn rsr ts: !■

Figure 24

44

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. This design indicated that tf another area were added to the site, such as

discussion boards, a new class could be formed and the dependencies would

most likely be with the Connection Object and the Common Functions class.

Æthough an extensible addition such as this would not increase the maintenance

costs significandy, one must factor in the ramifications of making changes to

either the Connection class or the CommonFunctions class, since they are so

highly used.

The sole purpose of the Connection class was to generate a connection string

that could be used to open a connection to a database. This class does not have

to change if the application is running on a system that would allow reading from

the registry. By creating a private function that accesses the registry, the

Connection class could look to the registry to find the Database and the Server

name to insert into the connection string. The benefits of a model such as this

were reflected in the fact that one does not have to recompile this class and its

dependents whenever the server or the database names change or move. This

reduces the maintenance costs of the product. However, if the system or the

administrator do not allow registry manipulation, the connection must be hard

coded into the Connection class. Therefore, whenever the connection string

changes, the Connection class would need to be recompiled as well as any class

that is dependent on the Connection class. This increases the maintenance of the

45

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. overall project, but having the connection string in one central class minimizes

the effects.

If one examines the reusability of this design, it was readily apparent that a

generic version of the Connection class was the most reusable because it did not

depend on any other classes to function correctly. Conversely, the CSPortal class

was the least reusable because it is tied to the specific web pages and their server

controls that are calling the functions of the supporting classes. The overall

reusability of the other supporting classes is fairly hig^ because they were

dependent only on the Connection class. Therefore, implementing another

supporting class was dependent only on importing the Connection object and

then providing the correct functionality.

46

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 4

Implementation

In this project, the PL is associated to W3C accepted standards. The main part of

the presentation layer is written in HTML and JavaScnpt. This gives flexibility in

accommodating a variety of browsers, which will allow greater access. The types

of browsers that the OIC has been designed for include Internet Explorer (IE) 5

and above and Netscape 6 and above. These browsers were chosen because of

their prevalence in the marketplace. They account for the majority of users that

would be utilizing this system.

For this project, the BL is written in VB.NET, ASP.NET, while ADO.NET is

leveraged to access the DL. These tools allow greater functionality than their

predecessors and support physical separation of PL and BL more definitively

[6][7][8]. Using ASP.NET allows construction to happen in a more separate

manner. Previously, in ASP (Active Server Pages) 3.0, the BL would be

intertwined with the PL, creating more maintainability issues. ASP.NET

alleviates this problem by physically removing the code to be executed from the

display of the information returned. Therefore, one can make updates to the BL

and have minimal impact on the PL [7].

47

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. OIC leverages Microsoft SQL Server 2000 as its Database Management System

(DBMS). This DBMS was chosen because of the optimization created between

ASP.NET arid SQL Server 2000. The drivers for database connectivity allow for

increased performance with SQL Server 2000. Additionally, this DBMS integrates

with Visio.NET allowing for faster database design and creation. SQL Server

2000 is equipped to handle databases that hold terabytes of data. This allows the

users of this DBMS to work without constraints of programs like Microsoft

Access or any other small scale DBMS. It is anticipated that the OIC will never

reach this limitation.

This DBMS also supports the usage of store procedures, which provide a two­

fold benefit. By using stored procedures, the queries to the database become

compiled code resulting in faster execution. Stored procedures also decrease the

amount of maintenance because if the query changes or a different parameter

needs to be returned, the stored procedure can be changed and the components

are affected immediately. Unless the interface to the stored procedure is altered

or the return value is a new type, the compiled business logic will not have to be

recompiled to reflect these changes. The stored procedures become the interface

between the DL and BL.

48

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Lastly, this DBMS is also easier to maintain. As with most windowing tools, the

task of backing up the database can be done throu^ a wizard-type mechanism

where one can back up to a file on the local server or a backup device.

Additionally, this maintenance can be set up on a scheduled timeframe therefore

decreasing the amount of time an administrator would need to maintain the

system.

49

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 5

Testing

The test plan was given to two independent testers to be executed. These testers

ran through the test plan identifying defects and errors in the system. These tests

were run before the system was released to the students and instructors. The

results of these tests were outlined in the subsequent descriptions as well as in

Appendix B.

T e s tl

In the Initial testing script, there were 55 test cases performed. O f those cases,

there were 11 defects and 5 errors detected. All defects and errors were

examined and corrected. These tests were run by two independent volunteers

that agreed to run through the test cases that were created and add test steps, if

appropriate. These two volunteers were well versed in testing procedure and

provided valuable feedback on a variety of issues. It was concluded that this test

plan was effective given the errors and defects that were uncovered.

50

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Test 2

After the initial round of errors and defects were corrected, the product was

released as an alpha version. Suggestions and issues were found by an instructor

and students were recorded in the usability testing and summarized below.

Usability Suggestions

1. File Upload Area for Instructors

2. Display more information about the student on the Remove Student page

3. Instructors should be able to change not only their password, but other

inform ation like email as well

4. Students should be able to change not only their password, but other

inform ation like email as well

Usability Defects

1. Page did not refresh when a lecture was added or updated

2. Page did not refresh w hen a hom ew ork was added o r updated

3. Page did not refresh when announcement was added or updated

4. Page did not refresh when grades were updated

51

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 5. Email function for the instructor did not send mail

6. Forgot password function did not send mail

7. Students could add into the same course multiple times

8. Student could delete themselves from a course without a confirmation

prom pt

To summarize in quantitative terms, it was found after the usability round of

testing that there were two errors and six more defects discovered. There were

four suggested enhancements as well.

Testing Conclusion

Althou^ more formal testing needs to be performed on this system, the

comparison between the initial testing scripts and the usability testing issues that

arose was quite promising. The number of errors decreased by over half the

original number and the number of defects was down by almost half as well.

These results must be viewed with caution, however, because in the second

round of testing there was not a number of test cases and test steps with which

one could normalize against. Therefore, the results may be skewed in a positive

direction.

However, even th o u ^ the users did not have a formal testing script to follow,

considering the functionality that was used, they were able to test the majority of

52

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. the SA through normal usage. This provided a good cross section of issues that

mig^t arise. Additionally, since the instructors using the system implemented its

use in the classroom, most of the LA major functions were utilized in a reasonable

manner. This would indicate that the most common uses of the system were

tested well throu^out the semester.

53

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 6

Usability Questionnaire

An additional measure that was added to this project was the use of a usability

questionnaire (Appendix C). Since this project was released to two different

courses, the quantitative feedback would be valuable. Between the two courses,

there would be approximately one hundred student users and two instructor

users. At the time of this release a designated administrator was not identified, so

the developer of the system acted as the administrator as well. The

questionnaire’s goal was to assess the simplicity of the OIC system, which had

implemented the design heuristics to simplify the structure of tasks, make things

visible, and exploit the power of constraints [9]. The quantified results were

reported in Table 1.

54

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Usability Results

Q uestion 1 2 3 4 5 Mean Variance Std.Dev. N

#1 0 1 1 1 22 4.64 2.91 1.71 25

# 2 0 0 1 3 21 4.88 0.67 .82 25

# 3 0 1 0 4 19 4.71 1.92 1.39 24

# 4 1 3 3 4 11 3.95 8.35 2.89 22

# 5 0 0 0 2 12 4.86 0.42 .065 14

# 6 0 0 2 5 18 4.64 2.52 1.59 25

# 7 0 2 4 9 10 4.08 4.85 2.20 25

Table 1

Questions

1. Losing into the CSPortal was; 2. Adding into a course was: 3. Overall, finding course related material (navigating was: 4. Using “Contact” to email the Instructor was: 5. Changing my password was: 6. Viewing your grades using the CSPortal was: 7. The viewable announcements before logging in (job postings, scholarships, etc.) were:

55

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Questionnatre Results

Response Chosen

1 2 3 4 5 6 f t 1 mAvçT9ges 4 64 488 4 71 3 9 5 4.86 4.64 { OMOsUons

Chart 1

Questionnaire Results

There were eight quantifiable questions and three free form questions. The

results of the first seven questions are tabulated in Table 1. The sample sizes

ranged predominantly from 22-25 with one question with a size 14. The

calculated standard deviation for all the questions was under three. The first five

questions addressed the functionality of the OIC site and examined its ease of

use. The results overwhelmingly showed that the site is simple to navigate and

utilize. The only questions that contained lower scores were questions 4 and

question 7. Question 4 dealt with the ease with which one could email the

instructor. The lower mean value and higher standard deviation was most likely

56

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. due to the technical issues that were experienced by some when using the

product. As this product matures, it could be extrapolated that these students

would move their responses towards a more favorable response since the defect

was corrected. In regards to question 7, it is possible that some students did not

find these announcements useful or applicable. This might also be the case that

students have not had enough applicable announcements filter through the

system.

The eighth and ninth questions were written to find out how many students had

used other online systems and what system they had utilized. Approximately half

of the students that responded indicated that they had used another online

system, and the majority had used Blackboard.

Ih e tenth question was written to decipher whether or not departments should

adopt online systems. The overwhelming response was yes and the reasoning

was because the students appreciated being able to access course information

online whenever they needed to. It was also stated a few times, however, that

students are only interested in having online courseware as a supplement to a

traditional course and not for online instruction.

The eleventh question was directed at gathering more information about what

functionality might be missing from the OIC site. Most respondents indicated

57

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. that they would appreciate a new discussion board function. This funchonalit)^

could also be augmented by sending out email alerts to students when a new post

has been uploaded to the discussion board. It was suggested that there be a

student index that shows the names of students enrolled in the course (This could

cause privacy concerns however). A request for a digital drop box where

students can upload their assignments was suggested as well. Another suggestion

was to allow lectures to be downloaded into a text file and not just exposed as a

web page. Lastly, one student indicated an interest in seeing how grades were

compared to the rest o f the class. The last question was a free form question that

allowed students to write additional comments. Most comments were quite

positive in support of using the OIC. The reasoning focused on the simplicity

and the ease of navigation. There were a couple user interface design suggestions

which would enhance the navigation of the site.

58

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 7

Conclusion

Initially this project was directed at replacing the current web presence that exists

in the Computer Science Department. Currently, the Computer Science

Department allows the instructors to create and maintain their own web sites

statically. There are many disadvantages to this process. The most apparent

disadvantage is that instructors do not have time to update these pages, and they

either become out of date or they have to be maintained by an intern student.

Another disadvantage is that students must search through a directory of classes

to find the course that they are taking. This can be somewhat confusing and time

consuming. This project addresses these issues by creating a portal where

students and instructors can go to access information that pertains to the

department. For the instructors, tools exist that allow easy addition, editing, or

deletion of course information. With these tools they do not have to go into any

of the HTML pages and manipulate them. The major benefit is that it frees the

instructor to do what they do best, teach courses. For the student, the benefits

are that they can go to one place and see any departmental announcements that

m i^t be available, and then view all the courses that they are taking in the

Computer Science Department. This relieves the searching component of the

59

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. previous process. Additionally, they can contact their instructors without having

to access an email client. Furthermore, all of their grades are individualized for

each class providing another level o f privacy.

Examining the Usability Questionnaire results show that the OIC is a viable

candidate in this decision process. Additionally, there was tremendous support

for adopting a product that would allow students to view all their course

information in one central location. This study suggests that customizable

products should be considered in the Computer Science Department however, a

more formalized study would need to be administered to confirm these findings.

60

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Chapter 8

Future Direction

This project has an incredible number of directions it could go. Depending on

the focus of future work, a multitude of enhancements could be incorporated.

One of the most beneficial enhancements would be to incorporate a process that

would allow the instructor to weight the grades that are assigned to a class.

Initially, this seems as if it would be quite trivial to incorporate, however, it

depends on how it will be used. Some possible scenarios are as follows.

One can weight each assignment, but then the instructor is forced to determine

the weight of each individual assignment and exam that is given. This scenario

works wonderfully, if one knows in advance how many assignments and exams

will be given. However, many instructors are more fluid with their curriculum

and tailor their courses towards the needs of the students, creating changes in

how they assign homework and administer exams. Therefore, simply assigning

weights to each individual assignment can be very challenging for the instructor.

Another approach is to assign a weight to all homework and tests as a group.

This is more typical for most instructors, but the final grade cannot be tabulated

61

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. until all homework and exams have been corrected and entered into the system.

This solution works, but could not possibly give an accurate standing for a

student until all the scores had been added. The most challenging part of this

scenario is if one were to consider trying to show the student what their grade

was so far through the system, but they had not taken any exams yet. This would

lead to difficulty because the instructor would have to assume that the homework

was worth one hundred percent of the grade, while actually, they wanted it to

only be weighted fifty percent. If these percentages were established in the

beginning, the final percentage would be incorrect and it would create a situation

wherein the student could not depend on what the system indicated for their final

grade.

Based on these two scenarios, it was determined that it was not appropriate to

incorporate this piece of functionality at this time. However, it would present a

fascinating endeavor for another graduate student to tackle in the future.

Another piece of value-added functionality that could be incorporated into this

system would be an alert system. With the prevalence of cell phones, personal

digital assistants, and other mobile devices, alerts to these devices would be quite

beneficial to the student. As students become more scheduled, it becomes more

difficult to keep track of all of the commitments one has made. If one could

receive an alert on their cell phone indicating a due date or an exam date, it would

62

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. increase the chance of meeting and preparing for key deadlines by the student,

and provide yet another tool that would allow a student to excel.

Another piece of functionality that could be incorporated in this project fairly

easily would be the idea of a digital drop box. This feature was also requested by

students in the questionnaire. This functionality currently exists with Blackboard

and other online courseware. This feature was intentionally disregarded because

it was determined that if one wanted this type of functionality, they would have to

first evaluate what the needs were of the department and examine how many

instructors would find this feature useful.

Another functional unit that could be added is a discussion board. This would

allow students to post questions and read responses from other classmates

regarding material in the course. This is a feature that is also provided in other

online courseware, and would most likely find success in this product as well.

The additional piece that was requested and is not offered on these commercial

products would be emailing the student when a new comment has been posted

on the discussion board.

Another powerful feature that could be added to this system would be integrating

the student rosters with course enrollment forms from the Registrar’s Office.

This would alleviate students having to log in and create another username and

63

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. password. However, this m i^t be quite challenging because the department

would have to set up a partnership indicating that the request is legitimate.

Another improvement to the site would be to give the instructors a way to

preview all the work they have done. With the current design, the instructor

must be a student (even a fictitious student) in order to view the information they

have just recently uploaded. Since the system is geared to be more efficient than

other commercial products, a preview page would benefit the instructor and again

reduce the amount of time required to use the OIC. If the instructor does not

have to navigate away from their administration page, they might be more apt to

embrace the technology and fully utilize the functionality.

Another potential usage of this project would be to have the Computer Science

Department host many customized sites such as the CSPortal, and then sell the

service to other departments. This could result in a potential revenue source for

the department. Since this is a free product for the department, it would alleviate

the additional costs of using a commercial product. Finally, by selling this service

to other departments, it would offset any administration costs that the

department mig)it incur.

64

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. REFERENCES

1. Blackboard, h ttp : //\vw\v.blackboard.com, 2003, Blackboard Inc.

2. eCollege.com, h ttp :/ /www.ecollege.com, 2003, eCollege.com

3. Steve M cConnell. Detviopment, Tm iing W ild Software Schedules, 1996, Microsoft Press

4. Steve McConnell. Code Cornplete, A. Practical Handbook ofSoftware Construction, 1993, Microsoft Press

5. Scott J. Peterson, MCSD, MCT, Louis W. Storms TV. Microsoft Windows D N A E>posed, 1999 Sams Publishing

6. Dushan Bilbija, Paul Dickenson, Fabrio Claudio Ferracchiati, Jeffery Hasan, Naveen Kohli, John McTainsh, Matt Milner, Jan D. Narkiewicz, Adil Rehan, Jon D. Reid. A D O .N E T Programmer's Reference, 2001 Wrox Press Ltd.

7. Richard Anderson, Brian Francis, Alex Homer, Rob Howard, Dave Sussman, Karli Watson. ProfessionalASP.N ET, 2001 WYox Press Ltd.

8. Fred Barwell, Richard Case, Billy Hollis, Tim McCarthy, Jonathan Pinnock, Richard Blair, Jonathan Crossland, Whitney Hankinson, Rockford Lhotka, Jan Narkiewicz, Ramachandran, Matthew Reynolds, John Roth, Bill Sheldon, Bill Sempf. Professional H B.NET, Second Edition, 2002, Wrox Press Ltd.

9. Alan Dix, Janet Finlay, Gregory Abowd, Russell Beale. Human- Computer Interaction, Second Edition, 1998, Prentice HaU Europe

10. H.M. Deitel, P.J. Deitel, T.R. Nieto. Visual Basic.NET How to Program, Second Edition, 2002

11.4 Guys From Rolla, www. 4guysfromrolla.com. 2003, Jupitermedia Corporation.

12. JavascriptSource. wvw.j.ivascnptsoiircc-com, 2003, Jupitermedia Corporation.

65

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 13. 15 Seconds, \\w\v. 15scconds.com. 2003, Jupitermedia Corporation.

14. ASP 101, WWW.asp 101 .corn. 2003, Jupitermedia Corporation

15. Got D ot Net, w^vw.gotdotnet.com. 2003, Microsoft Corporation

16. Microsoft Developers Network, Visual Basic.NET http://msdn.microsott.com/vbasic/, 2003, Microsoft Corporation

66

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. A PPE N D IX A

Design and Sequence Diagrams

;s-TTr ïrFuPdirrs ^U c-3atsF ass.'.-c'd : : n-S M eiis g s; ;■ ^CHaotSaîïio pIC ,') ^S-stKïvigati^; rU ir-s; j ^ G a tA JIE T ailAdoPSâsas:;! ^IriS’ti.r-r’: unœTiint; » ^slSandscEma ilAdd'-asi:) Cbl3t“ “.rr c ur'Œ'T’snt; '* ^ G a t lr arbairsETT 3 ilAjad'sjj; : ^&stlrm-b3l3'r’Î3vi3alicnLin''S.' ^CpsngaFasrA'SPdi/ ^3iO (V »lid 3 Id P3SW -.V Z Z 3: : haddia.sF aas-A-yda; ) ''hriî.'tE xï'r :? ^ 3 e tAJ ! K 5 n I r itru ct c dj 3= "s: ;> '^ïCblatsExa'r: ^OatUaeflDr. ^Uc-dataG'aàsâ:'' ^C«l6taAJIMcnl35truct3-rStb3aPte; ; *lr -t: s-'î ■^: j ^ =Is t= AHT'i c n I PStru «C «JÎS 'Î : I- ^Fo culateHc t -^.vz •k: '; ^raetLeau'ss::' *P=puiai*Lec:u'e:' ^FcpblswSrj-'i-ar'ti: j ^Iri^Syllairus:: ^F::blstaSyll3CLiî;j ♦ucUaoKs.vFiis:;, *C(iC(3jFll5i:'- T1 i "iit'3 h I - ! s a V(g ïii If- L trij: : ^Q-stCîb'sss:: -^nP S C tidr

^IraatC îb'îï ; ^jOi-EDBCjppadtidnSr-irg '*Cs(=tsCsta': ^SstArrcbrce-rerca:, ^FillA^n^bFcs'rartlnfc;'' ^Ira^'tQ-iP-a'slA.p re uroanr £Pi:> ^5s«IP3ru«:’j: ' ^Irsattrsr-bcto'::* Lsdturss •c^l-et-ïlrst-baa'Ccu-îs: ;■ ♦GatLsatu^:; • d a U t* S tb 3 • r r c = ♦GstAJILsaup*»;) ♦ S a r s F aa&v : *a ; :• * G « t S c * a l i c L s c t u . ' * ; ;■ ^ p «ftt'ia.'res ctu } *Ci3Cl3ySW3artCTbTM«:> •CalatsLactur»;) i ÎCl Î/I PSfb Ct 3-c 3 b rsai : : *CiiclaylnjFb etc : lataA l 13 3 u r4»« L« 3tu "sj : ; *Ciîcl3yStuaapt;'i *|p jaif-ia.vEtb-iaptCs upja;!' *lPi=^’-i4;vln;ruCt3'Ccu'3a:; ^3gip:> ^(jatAppc bPcsTapts; ■

Figure 25

67

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______C S F c -la l______* T:‘TT C n P u r» et t V ri î •ucast-sFairA-î-a;;. ^srraM sîiags;) ^OisdcSsssreniC:) *S@ tN 3 ïig 3 li 3 r Li ^SatAIIE'TsilAgg'Tiîseî;; ♦ ( n 3=-tiji n ; u n œ T 5 rr t ; :■ ^G»tS»nC»-îE'rsilA.ddr»j3;; *Fcpul3teArr?cLrT cerne rt:;< ^G stl njtai ctcaEm a ilA.g dr= 3 j; ; * S s l l ' jtru etc 'H 3 V ig 3 ti c f’ Li n Ks; *C h»rg»F 3sîA-crt ; ; ^njtialir=Stug=rt5t; s dtV a I te 3 13 F ïî î . v c-d ; ; ^ritislizeCstei: ■ ^PeàHewPssjA'c rds: '1 ^rTî«rtE;c3T’;; '►GstAlIKorrlnsnjctcrUsS'S: ' ^ F c c L. 13 te E x î "r : |i ^e»tUs*dC::' % ;c''ist5'3'3-isî; - ^ 0 et»ttA lINcPin stTi cto'S tcd arts: ;■ næ-tWcTT 5 % z<'.', !■ s i 5ts.A. 11K c a I nstrü e t c 'ü >5-3 ■ ^ c c o l3 ts * - c T 5VV c-»-; ; ^'TïS'CLeiau-s; 1 y • f c c L. 13 tsL-ectü ^-3 ; ; ccul 3t»S tuCsrts; ;> *ln*=rtSyH3CcX:' ♦FccuiïtsSyllacui;'. ^pIcs-cNêivFile;:. ♦cUcla^Fiteî::. ^S^ti.i'ririspsticnH avijaticrLir'.ji; ^>3etCcu-555') I c f 's c t i c n ^FilICcu'Mlrfc::' *lr,3e-tCcu-3e|: ^OLECBCernsaicnString ^crft-rC elïk: *CeletïCst3:j ^tjîtF .rrn c ar>oarr=rtî; I' ^ i l I •i.'-- c c r> cs-r-s r tl r fc :} ^|rl5e^G6^=f3lA'ii’CliPC ^'3stlrn->iCtc-î;'

*5sl-=tïlr>5t-uCtC'Ccij"îs; ; G'acss ♦CsleteStuCectCcc'ae: ' r 3 F 35Î.V ;-c ; ^Fcculitalrrtiïie'igaïFcStccart:: ^ C ’5 3 tî:!' ^GstScscffi sGradss; : ^Ciicl3yStj3entCcu'ss»;> *3sl»tsi3'-3dss:? ^□isclaylrîtructcrCcurîes;; ^ G a tC rad esB y Asstg rT sn tlC ::' * ü pdatsAsstg n-r « n tGr^d es:!' ^Cbclaylnjfuctcl) ^CiscIsySlcdenK' *CeleteStude'’tG'ade5;) ♦ c « l»t«AII C 5 u rse G 's des; !' ss"t>-is’.'-StuganK ;i C'a»: ; ^ rsetHeivIn K"u ctcrCcu f,»: ;• ^ L c g ," :: » t-n r 3 ü e e 'r » rrta; \

Figure 26

68

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. :sFc-t3i ZoTTTcrFbrrctiors ^ÜCOStsFsSîvVorj' I ^»r»3rvi=s933»;; ^ChsdrSeàâiorTlC:; ^ S « tf-i svi3 a ti c r Li ;. ^SatAjlETailAaa’aasas;) ^Irig'tA rnjuncS'rsrl;; *<33tS3r3='3ET3jlAa3'-=âi'' ^ 3 c u t a 14ÂIJ1R a li r 3 e m s rt: ;. ^3»tl ’st-b et3"3E T 311 AAS'sss: : ^SmÜRat'Luac-Xavkgati^RLir'â: ^ R 3 RQiiF 333.9 o r3 ; ;. ^IritializaStuiarts;; * C !•■= O'V 3 MS CIA F 333.9-0 Rj, ^iRilializsCïtss’ • * C R s!y K a.v F SÎÏ.VO "3 «; ;■ ^rjoftExaT;) ^3 £tAMKo-nlr’3t'bCtO'U3S'5:! ^FirütatîExa-r ’ i ^slLssSC;: *Ucdaki2'ad$»: ; ^alstsA,llhon|rît'bctO"StbSsru.' ; *CalstS-3IIk-Z nIR àt-b 3t0’Lsa-s;'i *Fcpul@ (aFcTe,yc''-: ^IrsetLedu's::; ^H=3Di.lataLsctu^e: ) ^FiculataStuSarU:'; * l r s a t S y l l 3 6 ua;> ^cculatsEyllacn;: < ^UclcaaKe.vFile:) ^CiaclayFilas::' "r i n i s tr 3 ti 3 r f-i 3 *i 3 3 It z L i r ij; ; ^'3^tccb'3=i:; ^illCcu'^lrfc: ;. C o n n sc tls n ^iRiartCcursa:; LECB C 0 ’ R a d i 0 r S f i r -3 ^CznfirTtCalsta:; * D a l 3 teC ata;:. c b f a s T 5 -ts; ;. ^ ilL 4rn : b " os "nanti’’fz : !' * 1 r>ss"tGspS' 3 lA- r : t,r asns-t, ^ Ç ja tln a fb eta ’s:'- ^'zstUsa's;:' ♦iRsatttnsfiiCtc--:'. ^Calstalrafvot: ’Cow-aa;:- StbSsrtCUi ^DalstsStLidentC : b'3=: : * S a n d F 333.",--0 '3 : 1 ^ijStStbSSrClC;} ♦c.'aata;;. ^ASSNs-.vStbSardC::' i»= lay Stv i s n tC 0 1# "asi ; ,' ^GatStbSsrtîFcCcuo ♦D isplaylRilrua: C o b "ass:; *Ci«;la>lR3tTj«c"r ^isclsyStbSai’ll) ♦ i r settt'isrt S tb-3 s n tc : b -js; ^ ’ M'tf'is.a I R ifb cto "C 0 b "as; ; *LA3ir":< ^G atA R r ; u n oa m £ R t;: ;■

Figure 27

69

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______CSFcisI______Ccrmc'^u-ctics *Up-dat=P3jï,vc'3; ; ♦ S s n o M « s » 9 5 ; ; ^dS*SSiit3rlD ; ^5tH3¥igsti:nLir'.3:;i ^■jstAHEmailAac'Sissi. : ^ri%rtA.nn:oroE'Tr=rt;,. *G stSer3e-$Em a ilAc a-sss: ; *PaculateAnrcurceT«rt:‘ ^3st[r-'5t'uclc ^iE-r 3 ilAa 3-=3i; : ^narg-eFass.vn;;. % ritislizeSIW enR' ^ S C x V s II3C l0 F 3S3.' c '3 :. ^nitializ^D3t=i;;i *C hsd":N=.\F 333.1 c'-ds: :• ^nîsrtExsrr;;. ^Ost*II13cRI"ïlT. CJ3'Ü3S"i; ; Peculate Exam:' •'jstussdC:;. ♦Uc^JatsGrsosa; :■ ^SIstsAJiAcr-lrsfuctC'Studsrtj' ' ^nss'tHcmswsii;: :■ * C sI s ts A I I \ c r I r 3 fu n c d j — 's: ; ^DfTulatsFc'T-s.vcm; •inîsrtLsctu'sa: ) 0 *F-pulatssLacbj'»;‘ *FceulatsStu *lrwtlr!3ruct:':.i *C s Is is I rtst^’ii ct c C c o "î-a: ;i *CeietsStiid«rtCcur5s:; ^GsiCcu-ssMic::' •ssf'dFass.vc-j;;. •C stC cu’ssTitls;:' *C.-sat«:! ^GstCcu'-ssriavigaticrSt'ir-g:: •C ispl3yS n.-3S ntC : U-Sis: ; *OsiCcuT3sic::' *Ci3ClaylrifuclcrCc J'SSS: ' ♦GstValidCcp-iSii; ^ iso 19 y1 nstu etc lA.I I c C Ü .’■iSi; ■ *CisclaySk3srt;:, ^IrseiKawCc V '■5s: ;■ ’^rssrtKs-.vStudSf’tCcu'ss;,' *Ucd9teC=L;3s:': ^rsSflNs.vtrstructcCcu'SS: ■ 'CsiatsCcu-ss:;.

^GstA-nnsurosmsrts; I

Figure 28

70

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______CSP^-tal______■ c tic r i ^ c-d ats P asftv: 'd : '> Messagei ;. ^ t ’socSaaaicnlC;; ^SstKavigsticrLinS'a;) ^OstAJIE'railAcd'saaaa: : ^rss-tAnn surosrr snt; ; ^GatS-anda^E-railAdo^aaa;; ^ O p ti I atsAn ncurce'T-çrtlj ^G atlrst'u etc 'jErr a ilAod'asa; ) ^Sitlrîtructc-ff'isvigstic-Linics! ; ^hangeFaàîivc'a;; ^nitialiieStudsnts:} ^tiacScVaiid C idFsîï.vc'a : ^riti3lis«C9t«:; ^ t'acS c’ia'.vFaiS'.vc-oi':. ^rasrtExaml’ ^G =tA J I tsc ” I r jt'u ct3 'U is-a; ^cpulatsExarr;;. ^GatUaaiC'.' %jcdat«G>’aj; ; •G=tCcUT5=s:j SCticr *FillC=Ur3Elnfc;\ *tr5=rtC3U’Ss;;' ^CLECBCcrrecticrSfing ^CcnRrmDel«ts!i %3«l5teC3ta;;. % 2 stA ji r 3 u r œ -v^-S n ts ; ; ^illArncunoeTTartlr-fc;; ^ r « -tGarTsralArt n : u r ceT srt: !* / %3etlnstructo !>;) ^GatUssr»! ) \ A rrcunœ 'virtî •irsertlnstructp^;; *Dalat«lnst'uctcCpu'sa: < *i5=tAn rcurosTart;:; ^alataStudantCcu'»»;; *G5tAIIA.nrcurc6'rart5:; ^S ard P assA'crd ; ^j=tGara^lA.pr:uncsT!=rt=;) ^3at*JIGan%calA,r r ci^rce'Tsrta: :> • c Up I ay S tudsn tCc u ^i*s: > ^ 3 = t S c s d f i c G a r a*a I A r n c u r c s T a n t: ■' •CUplaylnstuacrCcu'aaa;; ^ r 3 = 1 ri4a',v A/i ncunceT Tarti ^CUplaytrtît'uctcr;) ^ r âsAHâivGena'-a lA .Tcun 05T an t: ) •cUptayStiidant) ^ 3 a t S c - a d (i cA n r c u n c e t i a n t; > ^nsertf'iaivStucarrtCc uî»a;; ^alabsA .r'r e I, r osT-arf ^ r a s ’tN e'.s’l nstru etc C c u rje: :■ ^aletaG ana'alA nncurcgrrant:! ^ c g in :;. ^ alatsAI IC : u’saA.f r c u r oem a r tj.; ; ^<3=tAn n c u r oann s nls;}

Figure 29

71

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______g S F c - t a l ______CcT-rcnFuritis^s cflaous:j ^U plo sdMeAPila; ;■ ^CiîclayFilesîf ^ S etA .àm i n istra tien K av ig a ti 3 n Li ni-j; ■ i'G etC s uTüi,' ; ^FilICcwselnfc:) inas'tCcF'sa;) ^GLECBCin-ecticnSting ^Co n fi.nr Celete: ) *CeleteCala:) ^GstAnnsuncs'namsr' ^FillAnnîuPcs'nsntlnf::) in5«rtGane'-alA ,nn3 un ce'T'anTl ‘ 1 ^G atinst^uasfs; ;> iîatU se^:' insitlnstrudî -':} ijet)-CT5v.'3ncî!;' * C s te t« i n jiTj ct3 "C cu’'ü : ; ^ 0 etAl IF 3 T-i'-’' 3 "xs ; ^ ülateStuiJ s ntC = u tse: ) iüetSceaficPd T swc e; : ^SenaPasâA ’P'i!!' i n ss tt'te .v*- ; Tt e-A'3 n»; ■ i C t e a t ^ i c 3 at#P 3 *n e.vcnr : ;i % : iscla yStuàentCc utses; i i s etRïoe rtPd Tsw 3 * C iiC ta y 1 njtru dcTCoü ('sea: ) ^ C e le te ^ î'n s ’.vîiîc; i c iîc I a y I nstnj 3tcr; ) ^Celstei.ilCdu'seKc'ne.v: * C isp l a y Stu

Figure 30

72

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______C S F c t » !______'tt't :: n ?-L r î

^cnîiM «33g«;:. ^ChaocSassizclC;; ^S-stT'lsvig atia n U r-is: ; ^GetAJ lETaitAd d’esses ; ; ^lrr5=nAnnoufioe^>=nt; ; * '3 etS a l'ôs'sE X a i lAcd'es»; ; ^PspulataAnn3ur!oeT«nt;; ^Gatlrst'uctp'sExailAdd'ss»; ; ^ S e t J n s tr u otp rN ï(,-i 3 a t i 3 r L i nk s : * G h s ng e F ass.vccj I ; ^InltializaStudirts;:- * C h a oCv'a I tij G Id F assicp -3 ■ ^InitializaD atïj;) ^C^aOi'iae-Fasîivc'a» ; ^InsertExamCi %G5t*Jlf'(3nic»t''uct3’Li »=’»;) ^PspLlataExafFL; ^GalUsadC;; ^Up^Jat-sOraoss;;. ^C«l*(*AMNc’’l'’sPi»ct3'£ tudert»;: *lnSStHOT?A:5*; i ^ C e le te AI I ?s c r I rrsPu ctc'U sa's:) ^ 3 D u t a t e P a r r =-.v i a - ;, ^tnsetLectura!) ô %= 3P ü lat«L«ctu'aj:< *P 30 ü lataStuiiants: ) *»rtîs.rtSylla&u$::> ♦PcpulatsSyllafeLs;! *U cloadrieivFila; ; •CiîplayFitesli ^ & = tA i3 nni r i s t 'a t i 3 n N a vig S tic n U r^c5: ^OiîtCsuTses.') *FillC3ur3=lnf3:', ^nsatCouTa;; ^CLECBC: Tactic'’Sri'-3 %:3rfiTm Catste! j *CaletaOata:) ^GatAnncuncenrark;) ^FitlA.nnaunce'ranllnt;; ■ ^ rsanG-a na'alAi’rcurpi'rarrt:; ^G atlnstru ISC’s;; *GstUs&rsl I ^tnsanlnitructsr;; l'-rt'Licfc-sSIasî ^alitalrsîrucicrCcu’sa: ■ ^aletaStu-JentCcu'ss:; ^Gatlrsructc d C : ; ^SenoPaîîAc-'S;; ^GatAI 11 pstoi S3 'î: :• ^ r « a t a ; > * 1 r selKaviJ " rt* u a c ♦Ci»playStu

Figure 31

73

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______CcTTCrPcraizn, stsFssTivc-d ; ) *C^e»^Se5SC^IC:;' ^SstF-isvigaticnUntcsî; %O^tAMET'ailA0d*%iss» - %1 n ss * tA r rr 3 u n a e r r 6 ntf} ^G^tS-rrderiErT s c ul a tf lA r n 5 u no*fr*rt; ;> ^OetlnjtT^ats^Ei "^S^tlnsD-wcLSfF-tavîgatjicrLinjo;;. argeP aw-vcfd :} ^ r r rtÎ9 lu « S t u ^ en tsJ ; *V 31 idO Id F asswcfd I < ^lrrttislli-D stes;> ^CI'*tVf*i-»«vPaL».VC^3: \ %rT34'tExa*rr' ^G5tAnWc:njnsK*Ct5't.3^5: i ^îÇül»U Ex»fr[) ^GetUMTlC:} ^Uc ^BeteteAJIHcnjrst'actd'Stod-îrts:; ^FrTse'tHanrre-A 3 ^ '- ^D-slstsA.IIHcnln3t''^ctC'%;»^»; ■ ^ P c d u I ate Wc r r e A •inss^ttsctu^/ «5U JeteLsdtu te: ;> %P CO ÜI ateSto ^P c e u I atsSy 11 aous; :• c I o ad *P it % ; ;■ ^iacïayFil»*;:* ^ÇelAdn^irisIralicrKav^aticnUnW s:/ ^GstCoufSSâJ) ^3nr-5Ct»Cn ^illCouTWlrrc;} ^fTssrtCcu?â«;> ^►CLECBCcrrnscticn String ^CcrfirTF BeteteX' *DeteteCata::' rt c u<* 0 6 inn *r U:/ ^(HAnnc-wmcemsnUnte-:; ^ rts s rt G a n ■5^31A rr n c u n Œ T? * r t :, ♦O etlrstru ac3: )

^BetetelPïttJ d c< - u*te: : %0-5l-5teStud«rtC^:ii*^'.:' A SîwCs^tBvU'Sw ^ardPasF.v:T3:} ^ C t e a t e O ^iâClayStüdsrlCcu'î*»::' •G'StSludîr'tCca-^xilCBirCcu^ïD'; ^Di»ol*y|n«tru.olcrC3u*»a5;.' ^GetSUdertCci^-^T^::' ^Cisclaylrrstructcrj ^1 n 5«-tStU-34r*tC Î t.-te-; ' ♦CtsciayStuos^'t:'- ^G*tSp-5Cifi cS tuds ntCc u 3€lC:) *1 ns^f'te-A'Studsn ccc; :- ^GeK:cuf3elD8yStu3*ntC3L^(C':' ^CeteteStu

Figure 32

74

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. :S P :t3 l ^ZT-rz!'i-u’’'iizrs *Uc'53(«F»irA'3'!3;> ♦SaroMassagai: *Che*Seasi=rlC:; ^ S stN 3 vig 3ti o n Li rïVs! ;■ ^OetAI I Err 3 i lAOd raases: ) ^n » !ti.rr3 uroemartt; ; 'GatSïPrSa'sE'r ailAjg-ais:; ^cçLlïtaF-nrsunosm art:; ^Gsti n spu as'iE'T 3 i :> ^«llnstfuctGrHavigaticnLir^:;* *Ci"3rgeP3S5.tcrd:; ^niti3lUaSli*Sant3;; ^CreckValidOldPass^vcd:; *lniti»liraC3 tis;> ^h$dkKa'AF333.v:'3si ; ^nsartEx3'r:i ^stAJ IXzTlrsPu ayUssrs: ;. ♦PspulsteExa'i’;! *GetUK-iC.:' *Uc-33tïSf»-5«â;;' *CalataA.IIH:n(rfît?uaï-'Stu4sr-G '■ ^nsartHirra-A-c-^ç: :■ ^aletaA.KKïnlrîPuaj,-Lie's: ‘ ^ : c Li I a ts i-t c'n a -v I-!f, ; *liTîa'tLcct»'s3;5 y %=:ELlst3Lactu'«i; *Fccul3tsSlu^*aPti:) ^rriartSyllacus;) %=soulataSyll»6u»!‘ *Uc li » i t-s-ïA-Fil*; ; %îr5Bi3yFiles;) %SalAd nr i PT i stra ti c rr N 3 v1g a ti c r Li ^ j ^GatC Burses:; Ccnrecticn %=ii!C=u-s5ip»5::. ^rüePtCBUPsa:; •Ciss I aySüiîlsrîC : wasi: : ^ri^ftSyllsbcs:) ♦Cisci 3 yl njtru s»-rC=u Piis: ■ %3-gtS c«ci fi cS J »c us: I ^isclayinsiru ctcr; ; S y 1131 *i5! :> *Cisct3ïStü!jart;i ^t*JiSyllatus:j ^nMrtf-iaA-StU'iarrtCIou'se;.' ic c u ^ S y 113 c us; ; ^nîetkaw lrïtai aipC : uP3«:; *h.cgir:> n n c u r oaTTants;}

Figure 33

75

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ISPctgl 3TT-TI3nFurCtÎ3fT5 ^Uc-i3t«P»sî>v=r3',; hadrS asii c r IC : ; ^S“W>!3¥i3ati3nUnlr5; ;. ^0«tA.[| Em3 il A3dr-=5iS5; ; nssrtA n nc u n cs n an t; ; ^GatSerpafsEmailAad'ast; ; ^PcpulateA.firoungemanK; ^Gatlnatn; ctd'sEirrailAPPrnas^; ^ S e U n structorf'ta'rfgs M 3n Li nVil ) ^kZhangsPaw.=fd:j ^ritializaStudant*;) 9 diV alidG I d F 3SÏ*'c 'd ; !■ •inttiallasDatas? ^Chsckf'ia'.vFsss-.vp^s:; ■ ^rsartExam ;) ^ G stA I I Hen I nstru CtC-3Js5 '»! ; ^Fc c u 13 tsExam ; ^BetüîsHC;; c 3 3 te G 's 3 53! > ^alataA.tlK^rl-smjctd’Etudar’ts:: ♦ l rsanHi'newï'iî; ^CeletsAtlN 3 r I r^tTj ct : • J 3 9-3 ; ; ^FosulatsHcT'swa-v;:. *ln3&rtLe@ur«3l> y ^PcpulatsLsctü's: i ^PpputataStudsrits; !■ ♦inssrtSyllaCiis!) ^PppulataSyllabus:; c l c ad NswF i la ; ; ♦cUptayPilssr; ^S StA dT titditrsti î o r-ia «-13 ati î r Li '■'«a; ' ^G-etCouJass!; C c r r .rCticn ^FillGsufselfrtsi; '^nss'tCoLnas-li ^CLEu6C=r"*ecti=rStni"g ^GcnfinrCalat»;! ^C«1steData;) *GetA.n naunoeTant*:; ^FidAnnnunosTsntl "fc ; ; *lrs*^«ns'*IAnrîunoeTi5rt: I •C5«1lnsPusJ3.'s;j ♦GatUsa^a:; ^njartlnstuctcr:) Exam s ^OalatelnstruîtcrCcu’aa; i ^«lateStuda ntC3 *i« ; !■ *GetExam3:'' *S-sndPaîî.vcTd; ; ♦GetA.M Exams;;. ♦ G -aate!) * G s t S 3 9 ctfi CËX3 m ; *C iac layGtudantC ) ^Inssttss-.vExam :. ^isplaylrrsp-uacrCsu'saj: !■ ♦CslatsExa-n;;. ♦Disclajlnstructsn;) ^DslsfeAIICcu-seExama;; ♦CiîclayStudsnt!) ♦inssrtNç-A'StudsntCsurîa: 1 ^1 nssnf'HTAl r stOi c t c ^ c ura=; ; '♦Ld-ain;:' ^ G e tA .r n 0 n ca.nnant»; i

Figure 34

76

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ______C S F s rta l______wITT-rorFuraicris c 3 stsF aîî.vî'3 ; ) * S « n d M a Jisg a! •Chsc>:Saîîi:nlC;; ♦SatHavIg ati z n Lin!>3: ) *<2atA I t Em a i lAd d 'a s se s ; ; ^InsftitA rm urfcsTart ? ^GatSanda'sETTailAÆd'asî: ; ♦Fdculat-sAnrTCLrros'rant;; ^Gatirstnjctp-'sET'ailA.dd'ass; > ^ S -stl ostn i ctc-^'Ka vig ati w n L i nr^l ) ♦ C h a n g s F aiï.vd-'d ; ) ^InitislizsSludantelf h e 3xV'31 id Old F asF,&-3'd ; ^rritializaCates: j ^hsdtf'iS'.vF a s s a c 'is ; ■ •ipsanExa'T'; ^TBatAII t-<3 n Ir5tx. ct3djsa-s: ; *P=pula;aExarr:;, ^GeiUse-IC;:' ♦US'dalsGrsdss:; '*KjaletaA.II Kd r I r sc v ct3 ."S tu d a rts: I ^InsartHarna-vsK ) * C a l stsA .il t-l3 r I rstru a s rU ia i ; ) * F 3 c u 13 ts H 3 ms-.vcdf; ;• ^1 rsa lL e du,"as; ) y * F 3 c- u la ta La au " s: ) ^ 3 C ulataSbj darts; j *1nssdSyltaSU5i;' ^cpulatsSyliasus:? pi 3 a d NavvF i la; i ♦CtsciayFiias:;. ^ S a tA .d rp i n i Strs ti 3 n t-ia V ig a ti 3 rr Li nH: j ^ÇstCdursas;; G c rn g e b o n ^FillCcp’aalnfc;) ^InsatCcufsa:) OOLECBCcnn=cttcrTStrir9 ♦C dPfim Calatal.i ^alstaD ats;:. ^G atiL r n 3 u n csT anti; ; ^iM A nnsur^nsrtlrt:;;! ^Irsad'pana'alArndurdaTTarrt;) ^Qstlnst'PCtS'»:; ^tSatUsars: ; ^Iraa'tlrtst'udcr;; ^Cststai nstrudtprCcursa; j StüdsntOlass *C als ts Studa rtC-s u"sa ( ; *SandFa5F.% ord; > ^jaiStudsrttlC::* • C r a a t a i i ^A.ddKs'ivStudartlC;!' ^CiiolayStudentCsursas;; ^atStudsntsFs'Osuf»;; ♦ c isci ay I natoi aptC o wraas: '< ia c lay l n-stro d d f E ) *CiJClayStudant:;i ^nsa'tKawStudentCcuda; ;■ *1 r’sa d l'isa ’! rrsPi, d îrC 3 u 'sa! ) * L 3 g in ;i ^SatAfi pptirtosfrranti; ;

Figure 35

77

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. s Sequence Dia^am; Use Case View ! GetCourselnformation : CSPcn»! : Co'Tî’T’oftPuPdior»

. C S P o rtal : C o u rs e C o n n ectio n CommonFunctions

CheckSessionlDi)

GetCoürseInfoi)

GetConnectioni i 1]

Figure 36

78

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / InsertCourselnformation :S P s rta l C-m mo n F u rr ct i o rrs snr^ction

C S P o r ta l C o u r s e C o n n e c tio n CommonFunctions

CheckSessionlDO

InsertNs'ACourseO

GetConnectioni j

Figure 37

79

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View ! DeleteCourse CSP»rt*l : Cs^TisnFunaiirts

C S P o rtal Course Connection CommonFunctions

CheckSessionlDiJ

DeleteCoursei

GetConnectioni

Figure 38

80

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. @ Sequence Diagram: Use Case View / Getlnstructer CSP«rt3l ; Irjtructï'ïCIaîî | C:"r = gticr

C S P o rta l C o n n e ctio n CommonFunctions InstnjctorsClass

CheckSessionlDtl ' " y

GetAJIInsiructorsf Ü

GetConnectioni ; u

Figure 39

81

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram; Use Case View / Insertlnstructor ' I : CSPortal IrstrsjÇtOTClaâS i Cc'-inscticn

> . CSPortal j Connection CommonFunctions InstructorsClass j !

CheckSessioniOi; u

InsertMeï'/jnstructort; TJ

GetConnectioni : TJ

Figure 40

82

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. @1 Sequence Diagram: Use Case View / Deietelnstructor : C SParts I : C^'TTicrFuncti^ni Î InjtTuctO'sCliss T'“

C S P o rta l C onnection n sn j o r a som m o n F u n ctio n s in stn jc to re C iassCo

CheckSessionlDil

Deleteliistructorf:

GetConnectioni i

Figure 41

83

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 01 Sequence Diagram: Use Case / GetfnsrtuetorCourse : CSPc^at I : COiT'T'srtPurctkins J___ <'^statctS'CvU^T&^

; CSPortal Connection CommonFunctions instruclorCourses

CheckSsssionlDij

[object : CSPortaj]

GellnstructbrCoursesf

GetConnectioni

Figure 42

84

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. s Sequwice Diagram: Use Case View / tnsertinstructorCourse

C S P o rta l Connection CommonFunctions InstruclorCourses

CheckSessfomuij

insertlnstnsctorCoufsei

GetConnectioni

Figure 43

85

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View ! DeletelnstructorCourse CSPort»! Co'nrrcrFuf'(Stef'S T

CSPortal Connection CommonFunctions InstruclorCourses

CheckSessionlDO I

DeleteAIICoufiselnstructort !

GetConnectioni ! I]

Figure 44

86

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. B Sequence Diagram: Use Case View / GetStudentCourse

C S P o rtal C on n ectio n u d ent s e som m o n F u n ctio n s S tu d e n tC o u rs e sCo

CheckSessionlDtl I

GetStude[itCourses() □ I I GetConnecticnt TJ

Figure 45

87

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / InsertStudentCourse

C S P o rta l C onnection u de nt s esom m o n F u n c tio n s S tu d e n tC o u rs e sCo

CheckSessionlDO I ^ M 1 I I InsertStujlentCourseO T

GetConnection( )

I I

I I Object : CommonFunction; |

Figure 46

88

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ® Sequence Diagram: Use Case View / DeleteStudentCourse

CSPortal Connection u de nt C m m o n F u n c tio n s S tu d e n tC o u r s e sCo

CheckSessionlDi) I------>1 g

I DeleteStudentcjourseAssociationi: T]

GetConnecticnt ; IJ

Figure 47

89

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. B Sequence Diagram: Use Case View / Get Announcements :SPyt@l • Announ cernants “ c n n ed io n 0-t:'n o p P Ü ft di Q r s

C S P o rta l C onnection Announcements CommonFunctions

[object ÇjetAnnouncementsfj

GetConnectionf J

Figure 48

90

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ® Sequence Diagram: Use Case View / InsertAnnouncements CSPgftal I . CcmmcnFunctiorts I Announoerr«nU | : C3nn%cb?n

C S P o rtal . Connection CommonFunctions Announcements

CheckSessionlDil

InsertNewAnnouncementi I

GetConnectioni i D

Figure 49

91

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram; Use Case View / Delete Announcement CSP-n3l I . Cs'Ti'WarFurnaians | : Aj-nsLiPjaT^^na ■

C S P o rta l C onnection CommonFunctions Announcements

CheckSessionlDO ■

^

DsleteAnnquncementO ------s------IJ GetConnectioni )

Figure 50

92

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. B Sequence Diagram: Use Case View / GetSyUabus ‘ CzmmonFunctiOPt j ' SyDaout Csn!^«di;n

C S P o rtal Connection CommonFunctions

CheckSessionlDi.i

GetConnectioni' i

Figure 51

93

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / InsertSyllabus :SFc^$i : Comrr.onFurctisri : : Sjitieus

C S P o rta l Syllabus Connection CommonFunctions

GetConnectiom D

Figure 52

94

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / DeleteSyliabus :SPofta: X CominonFunctiCPs I Syltaouj .L

Syllabus Connection CommonFunctions

CheckSessloiilDi'

GetCcnnsctioni )

Figure 53

95

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. PI Sequence Diagram: Use Case View I GetLectures

: s P w t 3 i : CsmmsnFunctions LsctU’Sj

CSPortal L e c tu r e s C o n n e c tio n CommonFunctions

CheckSessionlDi)

GetLelturesO U

GetConnectiom u

Figure 54

96

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. B Sequence Diagram: Use Case View / Inserttecture : C S P o rta l CofTiTionFuncligns |~ : Laotur^

: L e c tu r e s: C S P o r ta l : L e c tu r e s: C o n n e c tio n CommonFunctions

CheckSassionlDO

InsertNevllecturei)

GetConnectiom Xi

Figure 55

97

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 0 Sequence Diagram: Use Case View / DeleteLecture T' : C S P ortal rron Fu n ctioHs 1 : Lsctu-es : Corrrsdicn

. CSPortal , Lectures j Connection CommonFunctions 1

ClieckSessionlDO r J ^ T DeletellectureO 1------

GetConnectiom; : H

Figure 56

98

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ® Sequence Diagram: Use Case View / GetHomework :sPsnai CommarrFunctionf : Msnrr^'ft-c-rks

C S P o rta l C onnection CommonFunctions

CheckSsssionlDO

GetConnectiom; ;

Figure 57

99

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / InsertHomework

C SPorta! . Co'nmonFunr:tion>i5 Hcr'neA'oHks C onnection

i C P o rta l C o n n e c tio nCS CommonFunctions

ChsckSessionlDO

In s ertNevvHom ework{1

GetConnectiom ;

Figure 58

100

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / DeteteHomework ------p 'S P o rta l : CcrmorïFunctiorf$ - MoTne-A-c^

C S P o rta l H om e works C onnection: CommonFunctions

CheckSessionlD{}

OeleteHomeworkO

GetConnectionf i

Figure 59

101

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 0 Sequence Diagram: Use Case View / GetExams : CSPwtal I : OommanFunaigra : Ex»*ns : Ccnr*st»gn

CSPortal Connection CommonFunctions

CheckSsssionlDf)

G e tE x ^ m s i!

GetConnscttonf 1

Figure 60

102

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / InsertExam

: CSPo-tsI . CO'TimonFunctions ; Csnnectisn

CSPortal Exams C o n n e c tio n CommonFunctions

CheckSessionlDi)

GetConnectiom; )

Figure 61

103

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ® Sequence Diagram: Use Case View / DeleteExam

:S F o ftal ÿ/n-T g n F u PT cti 3 !T5 ; Exsm j C3nn«ctren

C S P o rtal E x a m s C o n n e ctio n CommonFunctions

CheckSessionlDi)

GetConnectiom ! ------5h

Figure 62

104

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Sequence Diagram: Use Case View / GetGrades : CSPcn»! Ï T ni o f7 F u n çti 5 Pi* 'T

C S P o rtal ...G,ad.,s.s C onnection CommonFunctions

CheckSessionlDi'', D

GetGradesByAssignmentlDi) I]

GetConnectionf )

Figure 63

105

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Bl Sequence Diagram: Use Case View / Update Grades 1— CSPortal i : GracNss 1 . Oannecdon r

C S P o rtal G ra d es C onnection ConimorFunctions

CheckSessionlDi!

UpdeteAssignn-fentGradesil 0

GetCcnnectioni ; >1D

Figure 64

106

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ® Sequence Diagram: Use Case View / Delete Grades

"SPcnal 1 C-T'T’C nrur'C tiO f'î [ 0-30“ 1

. C S P o rta l . G rad es . Connection CommonFunctions

CheckSessionlDi] u

DeleteGrades( i a

GelConnectioni i

Figure 65

107

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. A PP E N D IX B

Test Case Results

Test Case 1: Administrator Area

Case Related Step Expected P ass/F ail Number Steps Description Results 1 Add a Course Course should Pass with no other appear in the courses inserted display

2 1 Add a course Course should Pass after another appear in the course has been display along inserted with other course (s) inserted already 3 1,2 Modify a course Modifications to Pass that has already the course been inserted, by should appear changing the take place name, the title and the toggle the display checkbox

4 2 Delete a course Course should Fail/Pass, that has been no longer appear when clicking inserted with in the display, on the delete other courses however the link a first time inserted other courses the course is should remain not deleted. However, clicking the link a second time does delete the course 5 1 Delete a course Course should Fail/Pass, w hen there is no longer appear when clicking only one course in the display on the delete in the list link a first time

108

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. the course is not deleted. However, clicking the link a second time does delete the course 6 Add a blank j\n error Fail, a blank course name message should course was notify the user added to the that a course display name is needed 7 Add a blank An error Fail, a course course message should with a blank description notify the user description was that a course added to the title is needed display 8 Add instructor Instructor Pass from the drop should appear in list w ith names the display in the list 9 8 Delete an Instructor Pass instructor from should not the list appear in the display, however the other instructors should remain 10 Go to Login for Instructor Pass that instructor Administration and see if they section should can add courses appear in their they are teaching account. The instructor should be able to add a course to this section. 11 Delete All data All data Pass/Fail, for the semester associated to all deleted all the courses will be data, but deleted deleted the admin account

109

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. as well! (fixed) 12 A dd a new .^Announcement Pass/Fail, the announcement should appear in announcement with no other the display appeared in the announcements display, but was entered not labeled (it should be labeled by the date and time it was entered) 13 12 E d it Modifications to Pass announcement the that has been announcement previously should take entered, change place the announcement, display checkbox 14 1 2 D elete a Announcement Pass previously should not entered appear in the announcement display, however other announcements should still appear 15 12 Delete the last Announcement Pass announcement should not appear in the display 16 Change Error message Pass password with should notify non-matching the user that the new passwords new passwords do not match, password should not be changed 17 Change Error message Pass password with should notify incorrect user to use the previous correct old password password, new

110

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. password should not take effect 18 Change Error message Fail, a blank password with should notify password is password blank user to enter a accepted as the new password, new password blank password should not take effect 19 Add a course as Course should Pass an instructor appear in the from dropdown Instructor list Administration section of the instructors account 20 19 Delete a course Course should Pass for an instructor no longer appear 21 19, 20 A dd course None of the Fail, the previously previous data previous data deleted and see for the course for the course if information should appear still exists was previously entered for the course persists

Test Case 1: Instructor Area Case Related Step Expected Pass/Fail Number Steps Description Results 2 2 Select a course Should lead to Pass as an instructor the administrative area for the course 23 In instructor Announcement Pass, it should area, add a new should appear in be noted that announcement the the preview announcement function does section of the not seem to administrative work. The area announcement can be accessed

I l l

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. by the student 24 23 Instructor, edit a All changed to Pass/Fail, previously announcement changes to title entered should appear in and description announcement the take effect, with new title, announcement however description and section of the unchecking the display, venfy administrative display box change throu^ area and in the results in student’s view student view deletion of the announcement 25 23 Instructor delete Announcement Pass an should not announcement appear in the previously announcement entered section of the administrative area or in the student view. All other announcements should still appear 26 23 Instructor delete N o Pass the last announcements announcement should appear in previously the entered administrative area or in the student view 27 Add a new Syllabus should Pass syllabus with no appear in the other previously administrative entered syllabus section and the student view 28 27 Edit a previously Changes to Pass/Fail, entered syllabus syllabus should changes to the by changing the appear in the descnption description and administrative take effect, the display area and the however checkbox student view changes to the display box do

112

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. not (le. if display box is not checked, it still appears in the student view) 29 27 Delete a syllabus Syllabus should Pass previously no longer appear entered in the administrative area or the student view 30 27 Delete the last No syllabuses ;) Pass syllabus should appear in previously the entered administrative area or the student view 31 A dd a new Lecture should Pass lecture appear in the administrative area and the student view 32 31 Edit a previously Changes to Pass/Fail, entered lecture lecture should changes to the by changing the appear in the title and title, description, administrative description and display box area and the take effect, student view however unchecking the display box results in deletion of the lecture 33 31 Delete a lecture Lecture should Pass previously not appear in entered the administrative area or the student view 34 31 Delete the last No lectures Pass lecture should appear in

113

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. previously the entered administrative area or the student view 35 Add a new H om ew ork Pass, note homework should appear to however that if the instructor an instructor and the student attempts to add a homework without filling out the description or total points, a server error results 36 35 Edit a previously Changes to the Pass/Fail, entered hom ew ork changes to the homework by should appear to title, changing the the instructor descnption, title, description, and the student and total points total points, and take effect, display box however unchecking the display box results in the deletion of the homework 37 35 Delete a H om ew ork Pass homework should not previously appear to the entered instructor or the student 38 35 Delete the last No homeworks Pass hom ework should appear to previously the instructor or entered the student 39 Add a new exam Exam should Pass appear to the instructor and the student 40 39 Edit a previously Changes to Pass/Fail, entered exam by exam should changes to the

114

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. changing the appear to the title and title, description, instructor and description and display box the student take effect, however unchecking the display box results in deletion of the exam 41 39 Delete an exam Exam should Pass previously not appear to entered the instructor or the student 42 39 Delete the last N o exams Pass hom ework should appear to previously the instructor or entered the student 43 35 Add a grade to Grade should Pass/Fail, an existing appear to the weird bug! student for an instructor and Grades appear existing the student normal to hom ework instructor, however to the student there are multiple instances of each homework and most currently entered grade appears for one instance of each homework. (Kinda have to see it) ____ 44 35, 43 Change the Changes to Pass/Fail, grade that an grade should weird bug existing student appear to the Stakes again! received on an instructor and Grade is existing the student changed for hom ew ork both instructor

115

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. and student, however the student’s grade display is still messed up. 45 Export grades to All student and Pass an Excel grade data spreadsheet should appear in an ELxcel spreadsheet 46 Send an email as Instructor Pass an instructor to should be an existing notified that student email was sent. Student should receive email at the appropriate email address 47 Remove an Student should Pass existing student no longer appear from a course to the instructor for that course 48 Remove the last No students Pass student from a should appear to course the instructor for that course 49 Update a Error message Pass password with should notify non-matching the user that the new passwords new passwords as an instructor do not match, password should not be changed 50 Update a Error message Pass password with should notify incorrect user to use the previous correct old password as an password, new instructor password should n o t take effect 51 Update a Error message Fail, a blank password with should notify password is

116

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. password blank user to enter a accepted as the as an instructor new password, new password blank password should not take effect

Test Case 1: Student Area Case Related Step Expected Pass/Fail Num ber Steps Description Results 52 Update a Error message Pass password with should notify non-matching the user that the new passwords new passwords as a student do not match, password should not be changed 53 Update a Error message Pass password with should notify incorrect user to use the previous correct old password as a password, new student password should not take effect 54 Update a Error message Fail, a blank password with should notify password is password blank user to enter a accepted as the as a student new password, new password blank password should not take effect

Test Case 2: Administrator Area

Case Related Step Expected N otes Pass/Fai Num ber Steps Description Results 1 1 Add a Course Add a course Will allow you Pass, with no other and the Course to enter a D idn’t courses inserted # and name blank course show the appear. name o f the course

117

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. just the number. 2 1 Add a course Add one When you add Pass, no after another course then it a blank record, trouble course has been shows up, then and then delete what so inserted add another it, I think it ever with course and it messes this part, shows as well. something up. just don’t add a blank record 3 Modify a course Go into the ??what does Pass, that has already record to the display Modified been inserted, modify it the toggle do? I’m a record, by changing the name and the confused if its changed it name, the title title pop up supposed to to w hat I and the toggle and change not display the w ant and the display them. Then course if it’s see notes checkbox click submit toggled off, for and it shows just confusing. display the results. toggle. 4 Delete a course Click on the I clicked on Fail, I that has been delete link and one record and clicked on inserted with then the page it didn’t show the link other courses should refresh up that it was and The inserted with the deleted but I course deleted record then clicked on doesn’t gone. another to show up delete it, and it as being showed the deleted. previous one deleted so I’m thinking it’s a refresh thing... 5 4 Delete a course I click o n the I clicked on Pass and when there is delete link and the delete link Fail only one course the list shows but the record in the list nothing in the still shows up. list. 6 1 Add a blank I click on the Just don’t Fail course name submit button know when and no course you’d want a

118

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. appears. blank course... I clicked on the submit button and the page froze; it only had one record in it This was after I tried the delete link. 7 Add a blank An error The site is still Fail course name message asking freezing... and something me for a don't know if in the course course name your working description. on it but I’ll stop my testing for now 8 A dd a blank The course is Typed in a Pass course added to the course number description list. and no description and it was added to the list 9 Add instructor Choose an I have chosen Pass from the drop instructor out a name and list with names of the list and added it to the in the list it is put in the list, and it list below. shows up below. 10 Delete an The instructor I clicked on Pass instructor from is deleted from the delete link the list the list. next to the instructor and the instructor was removed from the list 11 ??? not Go to Login for Login and add Added myself Pass sure what that instructor a course to my to the system, you mean and see if they list o f courses added myself by that can add courses that Fm as an one ??? they are teaching instructor, and

119

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. teaching added a course to the list o f courses I’m teaching ______12 Delete All data All data Clicked on the Fail for the semester associated to delete all info, all courses will and got a be deleted confirmation that all the associated data was deleted. I go into the add edit a course all the courses are still there and it seems to have done nothing. ______13 Add a new I type C Slll in A blank record Pass/Fail announcement the textbox showed up in with no other and expect to the list, no announcements see the information entered announcement displayed at all. show up, with the name and maybe the course number some where 14 Edit Click on the Changed the Fail announcement edit link and I text just fine, that has been change the text but it still previously and uncheck displayed the entered, change the display announcement the box. even though I announcement, unchecked the display display check checkbox box 15 Delete Click on the Clicked on the Pass previously delete Imk and delete link and entered the list should the list was announcement update. refreshed with out the

120

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. announcement I deleted 16 When I Delete the last Click on the I clicked on Pass add any announcement delete link o f the last delete announce the last link and the m ent the announcement last list and it is announcement doesn’t deleted. was deleted display any informatd on about the content of the announce m ent 17 Change An error A n error Pass password with message saying message, non-matching that the two stating that the new passwords new passwords two passwords don’t match have to match 18 Change An error An error Pass password with message saying message incorrect that the old stating that the previous password old password password wasn’t correct. is not correct. 19 Change An error It changed the Fad password with message saying password to a password blank you must enter blank a password password

Test Case 2: Instructor Area Case Related Step Expected N otes Pass/Fai Num ber Steps Description Results 1 20 A dd a course as Select the The course Pass an instructor course and was added to from dropdown then click the the list. list add button which then shows the new course added

121

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. to the list 21 Delete a course Click on the Clicked on the Pass for an instructor delete link and link and the the course is course was removed from removed the list

22 Add course Add the course The course Pass previously and tlie course added was deleted and see is blank. blank and the if information information was previously was deleted entered for the course persists 23 Select a course Click on the Clicked on the Pass as an instructor course and add course and it it to the list successfully added it to the list 24 In instructor Add an The Pass area, add a new announcement announcement announcement and see that it was added was added to successfully the list. 25 Instructor, edit Change the The Pass a previously announcement announcement entered and see it in was changed announcement students view. and works fine. with new title, description and display, verify change throu^ student’s view 26 Instructor delete Click on the The Pass an delete announcement announcement announcement was deleted previously and verify that and verified entered it was deleted. through the student view 27 Instructor delete Click on the Clicked on the Pass

122

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. th e last delete delete link and announcement announcement deleted the last previously and make sure entered one entered that it was then clicked on deleted. the fist entered one and deleted it and works fine. 28 Add a new Enter Entered the Pass syllabus with no information information other previously and click on and verified entered syllabus the submit that the button and syllabus was submit the there. syllabus and verify it th ro u ^ student section 29 E d it a Edit the The syllabus Fail previously information still showed entered syllabus and check to after I by changing the see if It was submitted the description and displayed after changed the display changing the information checkbox display and tried to checkbox to be check it via the not checked. student view.

123

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. APPENDIX C

Post-Usage Questionnaire

The following is text used to gather input from the student. This questionnaire was distributed to the student user population.

This is a questionnaire targeted at finding out information about your usage of the CSPortal that was created by Michael Cassens as his Masters Project as the University of Montana. The answers provided on the questionnaire will in no way be reflected upon you as a student and all answers will be compiled using complete anonymity.

1. Logging into the CSPortal was:

difficult 12 3 4 5 easy

2. Adding into a course was:

difficult 12 3 4 5 easy

3. Overall, finding course related material (navigating was:

difficult 1 2 3 4 5 easy

4. Using “Contact” to email the Instructor was:

difficult 12 3 4 5 easy

5. Changing my password was:

difficult 12 3 4 5 easy

6 . Viewing your grades using the CSPortal was:

not beneficial 1 2 3 4 5 very beneficial

7. The viewable announcements before logging in (job postings, scholarships, etc.) were:

124

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. not beneficial 1 2 3 4 5 very beneficial

8 . Have you ever used a product such as the CSPortal before?

YES N O

9. If you answered YES to question 8 , please specify which product you have used.

10. Do you believe departments should adopt an online system to supplement classes?

YES N O

Please explain:

11. Is there any additional functionality that you wish the CSPortal had?

12. Please feel free to elaborate with any additional comments that you may have.

125

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. APPENDIX D

Code and Code Design

Included on CD

126

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.