ICS 52, Fall, 2009
Official Requirements Specification — October 20, 2009
Later changes in blue
1 Introduction
This document specifies the Official Requirements for the
Automated Advisor (AutoAd) system, and should serve as the basis for a further
development of the system.
The AutoAd system is designed to help students at the University of
California, Irvine, (UCI) who are majoring in Information and Computer
Science (ICS) to plan their college schedules.
All information was accurate at the time of writing.
This document details 97 discrete, atomic requirements.
Each is labeled with an identifier in boldface type (e.g. A-1)
for easy reference elsewhere in this document and in subsequent system
development.
In places where the user interface is incompletely specified, the
powers that be are relying on the implementors to devise a user
interface that is both pleasing to use and in accordance with all
listed requirements.
This document contains the following Sections:
2) User Requirements Definition - This section is designed to for the non-technical readers.
It describes the major features of the system and the rational for each.
3) System Requirements Specification - This section identifies the objects that make
up the system and inter-relationships between them. It has been written so as to
provide enough detail for the technical design to be produced.
4) Constraints and Non-functional Requirements - This sections contains the current
constraints on the system.
5) Implementation Phases
6) Future Directions and Expected Changes - Although speculative, this section is a
key way of influencing the product currently being developed so that it can better
respond to situations in the future.
2 User Requirements Definition
The Donald Bren School of Information and Computer Sciences
has enjoyed rapid growth in the number of undergraduates
over the last few years, while budgetary constraints have restricted
the School's ability to hire additional staff.
This has put great strains on the ability of the Student
Affairs Office (SAO) to offer individualized course counseling to each student.
Regrettably, many students find late in their career as an undergraduate
that they have not fulfilled certain requirements required by the
University or the School.
The primary goal of the AutoAd is to provide
a computerized tool to help
undergraduate ICS majors at UCI design schedules for themselves that
meet all requirements and course prerequisites.
The key features of the system are:
- Intuitive menu-driven Graphical User Interface.
- Complete privacy for each student. Students enter all information
about themselves, and they can store that information on removable storage.
- At the touch of a button, the AutoAd system reviews a student's
schedule and points out all requirements that are unmet.
In the interests of time and simplicity, several important issues
of concern to students and the Student Affairs Office have been
omitted from the AutoAd system:
- Catalogue rights. As the requirements for graduation change over
time, students have some flexibility in choosing which set of requirements
they choose to meet. AutoAd will only hold information about
one set of requirements, those for the 2009-2010 academic year.
- Education Abroad Program and International Opportunities Program.
- The University graduation requirements in English
and American History and Institutions.
- General Education requirement VI, Language Other Than English.
- All requirements for students who are not majoring in ICS.
- Requirements for any minor or concentration.
- Course co-requisites.
- Second baccalaureates.
- Workload Credit and Credit for Native Language.
Except as noted elsewhere in this document, AutoAd system is meant
to follow the rules stipulated in the
2009-10 General Catalogue of
the University of California, Irvine (the Catalogue).
[Available on the web in PDF format at
http://www.editor.uci.edu/catalogue/09-10Catalogue.pdf.]
The Catalogue should be considered part of this Requirements Specification.
The AutoAd system is designed to operate independently
of other computer information systems at UCI.
All data is entered by students and SAO staff, and stored
on disk files.
(It is anticipated that future versions of AutoAd will be accessible
over the Internet using a Web browser.)
The AutoAd system deals with six major entities:
- Undergraduate ICS majors at UCI. These students use AutoAd to enter
a record of their past courses, current courses, and anticipated future
schedule.
- Undergraduate Student Affairs Office staff. The staff maintain lists of
courses and requirements.
- University Requirements. This includes both general UC requirements
and specific UCI requirements for graduation:
- Minimum Number of Units
- Minimum Grade Point Average
- Residence Requirement
- General Education Requirement in Six Categories (category VI, Language Other
Than English, is not part of AutoAd)
- ICS Departmental Requirements. This includes certain lower-division and
upper-division courses.
- Prerequisites. Many courses cannot be taken unless previous
"prerequisite" courses have been completed with a satisfactory grade.
- ICS Specializations.
3 System Requirements Specification
3.1 Overall Operation
The AutoAd system consists of two separate "divisions," one for
the use of Student Affairs Office staff, and one for the use of
undergraduate students majoring in Information and Computer Science.
The staff division is used to enter and update information about
courses and requirements.
The student division is used to enter and update information about
the schedules of individual students.
In addition, the student division can check a schedule and list and
requirements that have not been met.
A student will typically use the AutoAd system in the following manner.
Early in her career in ICS, she will enter into the AutoAd system the
courses she has completed, as well as the courses she is taking
in the current quarter. For each course, she will enter the
Department and Number, and if information about the course has been
entered by the SAO staff, that information will be
copied to her own data storage area (such as a flash drive).
The AutoAd system will display messages indicating graduation requirements
which have not been fulfilled, according to her schedule as entered
so far. Initially, there may be many such messages because the student
has not fulfilled many requirements.
She is free to enter a tentative or provisional schedule for future
quarters, and AutoAd will indicate to her whether any requirements remain
unmet.
As she continues in ICS, she may go back to AutoAd once or twice a year
to enter in grades in courses she has taken, and to modify the
provisional schedule to reflect the courses she has actually taken.
Since the AutoAd system does not communicate with any official computer
system which records a student's actual academic history, it is
entirely possible that the student has entered, deliberately or by
mistake, erroneous information.
3.2 Courses
The AutoAd system stores the following information about each course:
- The course's Department.
A Course Department is a code up to ten letters long (C-1).
Some examples are "ICS", "Math", "Psych", and "Soc Sci".
It is intended that the department codes will be the same as
those used in the "Schedule of Classes," with the exception
that Information and Computer Science will be designated as
"ICS" not "I&C Sci."
- The course's Number.
A Course Number does not necessarily consist only of digits.
It is a code up to 5 letters or digits long (C-2).
Some examples are "21", "139W", and "30A".
- The course's Title, which can be up to 17 characters long (C-3).
- The course's number of Units (C-3A).
- The course's Prerequisites.
A prerequisite to a course is an accomplishment that must be
completed before a student can enroll in the course.
Each course can have up to six other individual courses or course-pairs
listed as prerequisites (C-4).
The prerequisites must be completed with a grade of "C" or better
(or a "P") in an earlier quarter (C-5).
When a prerequisite is a course-pair,
either of the two courses in the pair satisfies part of the prerequisite
(C-6).
Two other types of prerequisites are also possible, in addition to
or instead of the course prerequisites.
Upper division standing can be a prerequisite (C-7).
(For EA, a student has upper division standing if he or she has
completed 90 or more units.)
Satisfying the lower division writing requirement can be a prerequisite (C-8).
A course may have no prerequisites (C-9).
Prerequisite information for courses required of ICS majors is stated in the Catalogue,
and should be considered part of this
requirements specification.
- Optionally, the future Quarters in which it is anticipated that
a course will be offered (C-10).
This information will usually be available
for Bren School courses only.
- An indication of whether the course is repeatable for credit (C-11).
Currently, the following Bren School undergraduate
courses are repeatable: ICS 80, ICS 192, Comp Sci 190, Comp Sci 196, and Informatics 190.
It is anticipated that the AutoAd system will have course information
about all Bren School courses, as well as selected courses from other
departments.
The AutoAd system makes the assumption that course information, other
than future Quarters offered, is static and unchanging (C-12).
For example, the system does not provide for a course having one name
in one academic year and another name in following academic years.
3.3 University Requirements
The AutoAd examines students' schedules for four
types of requirements: minimum number of units,
minimum cumulative GPA, residence requirement, and general education requirement.
Minimum Number of Units
From the Catalogue, p. 56:
"Credit for a minimum of 180 quarter units, earned by
examination, by other evaluation, or course work is required"
(UR-1).
Minimum Cumulative GPA
A minimum grade average (GPA) of at least C (2.0) is required overall
(Catalog, p. 55) (UR-2).
Letter grades have the numeric values A=4.0, B=3.0, C=2.0, D=1.0, F=0.0;
a plus adds 0.3 to the value, except that A+ is assigned 4.0;
a minus subtracts 0.3 from the value (UR-3).
Grade F does not have a plus or a minus (UR-3B).
The GPA is computed by summing for each course the product of the
grade's numeric value times its number of Units.
The sum is then divided by the total number of Units.
Courses taken with grades P, NP, IP, and I are excluded in computing
GPA (Catalogue, p. 67) (UR-4).
If no courses with letter grades are on the schedule, then the
GPA is 0.0 (UR-4A).
In the AutoAd system, a course with a blank grade, indicating a future or
current course, is excluded in computing the GPA as well (UR-5).
Residence Requirement
36 of a student's last 45 units for the bachelor's degree
must be taken in residence at UCI
(Catalogue, p. 56) (UR-6).
For the AutoAd system, this means the classes which make up those final
36 units must not be entered as "Transferred" (see (X-10)).
General Education Requirements
UCI undergraduates are required to fulfill a General Education requirement
by taking courses in seven categories (Catalogue, p. 57).
Category II, Science and Technology,
Category V, Quantitative, Symbolic, and Computational Reasoning,
and Category IX, Laboratory or Performance,
are fulfilled by all ICS majors when they complete
the major's lower division courses.
Category VI, Language Other Than English, is not addressed by the
AutoAd system because it involves many exceptions (BR-1).
For the remaining categories, the courses
that fall into each category are listed in the Catalogue on pp. 57 through
61.
However, AutoAd does not have a list of which courses
can be used to fulfill each General Education category (BR-2).
Instead, it relies on each student to indicate that a course on his
or her Schedule fulfills a certain General Education category requirement.
AutoAd knows how many courses in each category must be taken (BR-3).
3.4 ICS Major Requirements
Requirements for a Bachelor's Degree in ICS are listed on p. 346 and 347
of the catalog. The specific courses listed on thos pages should
be considered part of this requirements document.
The requirements can be put into four categories:
- Required courses (Lower-division A and B, Upper-division A) (I-1).
In some cases, the requirement is to take either of two or three courses
(e.g. ICS 6B or Mathematics 6B (I-2)).
- Two intermediate courses selected from a list (Upper-division B)
(I-3).
Some courses are in a "group" (e.g. Informatics 162 and Informatics 171 are in
the same group), and the two courses that fulfill this requirement
cannot be drawn from the same group.
- Three project courses selected from a list (Upper-division C)
(I-4).
Any three courses from the list can be chosen, with the only
exception that Informatics 119 cannot be used to fulfill the requirement
if Informatics 118A-B are used to fulfill the requirement.
- Two courses selected from a list (Upper-division D)
(I-5).
No course can fulfill this requirement if it is used to fulfill
another part of the ICS major requirements.
All courses that fulfill the above requirements must be completed
with a passing grade (I-6).
3.5 Specializations
The ICS major allows students to select, optionally,
one or more specializations.
A specialization corresponds to a topic of study within the field
of Computer Science.
To complete a specialization, a student must complete four courses,
as listed in the Catalogue, p. 347, with a letter grade (S-1).
Students may complete more than one specialization subject to the
rule that at most one course applied to a specialization can
be applied to any other specialization (S-2).
As long as this rule is followed, and consistent with the lists on
page 347 of the Catalogue, a course may be counted towards multiple
specializations (S-3).
Any number of courses on a specialization course list may be
noted as "substitutable," in which case a CS H198 or CS 199
(Individual Study) course may be substituted for it (S-4).
For AutoAd, a specialization is defined by a name up to 50 letters long (S-5)
(e.g. "Artificial Intelligence", "Implementation and Analysis of Algorithms"),
and one or two lists of courses (S-6).
Each of these course lists consists of a list of any number of courses,
and a "count" of how many courses on the list must be completed to
fulfill the requirements of the specialization (S-7).
If there is one course list, then its count must be four.
If there are two course lists, then the two counts must add up to four
(S-8).
A student has completed a specialization when he or she has taken
a number of courses selected from each list at least equal to the lists'
count.
3.6 The Staff Division
The staff division gives the Student Affairs Office staff the following functionality:
- Enter or modify the Course List, including information about
prerequisites and future Quarters scheduled.
- Enter or modify ICS departmental requirements.
- Enter or modify ICS specializations, along with a list of the courses
that make up the specialization.
- Report on courses offered in future Quarters.
All information is stored on a local hard disk, and the user interface
contains typical "Save" functionality (ST-0).
The following sections describe the staff division functions in detail.
Entering the Course List
The Course List is a list of courses maintained by the SAO
staff. It can be viewed but not modified by students (ST-1).
To update the Course List,
the staff user is presented with a scrollable list of all courses currently
on the Course List (ST-2).
Each row shows information for one course.
The rows are sorted, from top to bottom, by Department and Number.
The columns, from left to right, are Department, Number,
Course Title, and Units.
The user selects a course or enters a new course Department and Number,
and chooses an Add-Update-Delete option.
This function displays a dialog box in which the user can enter the
information, including Prerequisites and Future Offerings,
about a new course, modify the information about an existing course,
or indicate that the course and its information should be deleted.
Entering ICS major requirements
The user is presented with one or more dialog boxes in
which the lists of courses which pertain to ICS major
requirements can be modified (ST-3).
Entering specialization information
The user is presented with a scrollable list of all specializations currently
in the system (ST-4).
Each row shows the name of one specialization.
The rows are sorted alphabetically.
The user selects a specialization or enters a new specialization,
and chooses an Add-Update-Delete option.
This function displays a dialog box in which the user can enter
information, including course lists and indications of which
courses are substitutable,
about a new specialization, modify the information about an existing
specialization,
or indicate that the specialization and its information should be deleted.
3.7 The Student Division
The student division gives students the following functionality:
- Enter or modify information on the student's Schedule,
including information specific to the individual student.
- Select one or more specializations.
- List all unmet requirements or prerequisites.
- Compute Grade Point Average.
- List the student's schedule for all Quarters.
Persistant Storage
Each student has his or her own Schedule, typically maintained
on portable rewritable storage, such as a flash drive.
The Student's user interface permits the Schedule (and all
associated information) to be read from or saved to a disk file (X-0).
Updating the Schedule
When entering course information into the Schedule,
the student function accesses
the Course List entered by the Student Affairs staff, and
adds additional information which pertains to the individual student (X-1).
The additional student information consists of:
- The Quarter in which the student took (or is taking, or plans to
take) the course (X-2).
- The student's grade for the course (X-3). This data is optional and
can be left blank.
Courses without grades filled in should be considered not yet completed
(X-3A).
For the purposes of checking whether prerequisites have been met,
any course with a blank grade should be considered to have been
passed with a satisfactory grade (e.g. "C" or "P") (X-3B).
Valid grades are A, B, C, D, optionally with
a plus or minus, F, P, NP, IP (X-4).
- A comment for each course,
which can be up to 50 characters of text (X-5).
- Which General Education requirements, if any, this course satisfies (X-6).
A course can satisfy at most two General Education requirements (X-7).
If the Department and Number a student specifies for a course is
not found on the Course List, the student can also enter the
course's Title and number of Units, and these are stored in the
student's Schedule (X-8).
Not all coursework that counts towards a UCI degree is taken at UCI.
Students can transfer credits from Junior Colleges or other
institutions, and take tests such at the Advanced Placement (AP)
to receive college credit or to satisfy General Education requirements.
The AutoAd system allows for students to enter non-UCI course credit and tests
(X-9).
If the coursework accomplished elsewhere or the placement
test counts as a specific UCI course, the student enters the course
Department and Number and indicates (through the User Interface)
whether the option "Tested Out" or "Transferred" applies (X-10).
(If the course
was taken at UCI, then neither of these options should be indicated.)
Is this situation, the student may need to override the number of Units
indicated in the Course List.
A course which is noted as "Transferred" is not considered
earned in residence (see (UR-6)).
Selecting Specializations
A student can elect to complete any number of specializations (X-11).
Listing messages
A student can select the option of having the AutoAd system review his
or her schedule (X-12).
The messages listed in section 4.8 are displayed, as appropriate.
Computing GPA
A student can select the option of having the AutoAd system compute his
or her cumulative and ICS GPAs (X-13)
(see (UR-2) through (UR-5)).
(The result is not necessarily in the form of messages
(M-2) or (M-9), although the same calculations
should be used.)
Schedule listing
With this option the student can view his or her schedule in either
of two ways: in order by Quarter (X-14),
or in order by course Department and Number (X-15).
3.8 Schedule Verification
An key function of the AutoAd system is the ability to review a
student's schedule and warn the student of any unmet prerequisites,
University requirements, and departmental requirements.
This section lists the messages that the system can display.
The texts of the messages are given, with x's indicating information
that should be filled in to reflect the student's actual schedule.
University Requirements
(M-1):
Total number of units is xxx, which is less than the required 180.
(see (UR-1))
(M-2):
Cumulative GPA is x.x, which is less than 2.0.
(see (UR-2))
(M-3):
Only x courses in the General Education category "Writing" have
been completed, and 3 are required.
Similar messages for the other General Education categories
should also be generated as appropriate
(see (BR-3) and (BR-4)).
(M-4):
36 of last 45 units of work must be taken in residence, and course xxx
was not taken in residence.
See (B-9) above, and p. 56 of the Catalog.
Departmental Requirements
(M-5):
Required course xxx is not on Schedule.
(see (I-1) and (I-2)).
(M-6):
Two intermediate ICS courses must be on Schedule
(see (I-3)).
(M-7):
Three ICS project courses must be on Schedule
(see (I-4) )
(M-8):
Upper-division Math requirement not fulfilled in Schedule
(see (I-5))
(M-9):
ICS cumulative GPA is x.x, which is less than 2.0.
(see (I-6))
(M-10):
ICS specialization xxx selected, but only x courses for it are on schedule.
(see (S-1))
Course Prerequisites
(M-11):
Prerequisite xxx for course xxxx has not been met.
See (C-4) through (C-9).
An example of this message is "Prerequisite ICS 52 for course CSE 121
has not been met."
This message should not be displayed for courses that have been assigned
grades, which indicates that the course has been completed (M-11A).
3.9 The Window
The Window is a standard window as provided by the host operating system.
It can be resized, moved on the computer monitor screen, or minimized.
The Window's title is "ICS AutoAd" (W-1).
Inside the window,
a Menu Bar appears at the top (W-2).
When necessary, standard scroll-bars enable
lists of data to be moved "under" the Window (W-3).
3.10 Menu Bar and Menus
Most commands to the system can be issued by selecting
an item from a menu.
The menus operate in the standard fashion.
There are three items on the Menu Bar: File, Edit, and Help (MB-1).
Each is described below.
(The information given pertains to the Student Division.)
- File. When selected, a menu with the following choices appears.
- New. Clears all information (MBF-1).
- Open. Reads in the Schedule and other information about a Student
which was previously saved to disk.
If the Window is displaying another Student's information,
that one must be closed first.
Error Message: "Close existing Student before opening new one."
A standard operating system dialog box is used to specify the directory
and file name of the saved Student information (MBF-2).
- Save. Saves the current Student information to the disk file
from which it was opened.
If the session was started with New,
the following error message appears: "Use Save As to specify file name."
(MBF-3).
- Save As. Saves the current Student information to a disk file,
the user enters the file name with a standard dialog box.
Subsequent "Save" operations use this disk file.
(MBF-4).
- Close. The Student information is removed from the Window.
If the session was started with New and has not been saved,
or has been modified since the last Save or Save As operation,
a dialog box appears to confirm the operation.
The text in the dialog box is
"information has not been saved. Choose OK to continue with Close and lose modifications."
The dialog box has two buttons, OK, which continues with the operation, and Cancel, which cancels the operation (MBF-5).
- Exit. The same as Close, except the Error Message says "Exit"
instead of "Close". After the information is removed from the Window the
AutoAd application terminates (MBF-8).
- Edit. When selected, a menu with the following choices appears.
- Schedule. Brings up a dialog box with which the student can enter or
modify courses on his or her schedule.
(MBE-1).
- Specialization. Brings up a dialog box with which the student
can select specializations.
(MBE-2).
- Review Schedule. Displays a list of schedule verification messages,
as detailed in section 4.8.
(MBE-3).
- Compute GPA. Displays the cumulative and ICS GPAs.
(MBE-4).
- List Schedule by Quarter. See (X-14).
(MBE-5).
- List Schedule by Course. See (X-15).
(MBE-6).
- Help. When selected, a modal dialog box appears with the name of the programmer and an "OK" button which dismisses the dialog box (MBER-1).
3.11 Conversion of existing data
Files of course information currently exist in a DF-2009 database.
The exact format of this database has not been determined at the
time of writing, but will be available shortly.
The AutoAd lists of courses and major requirements should be initialized
from this data, in so far as possible (CON-1).
4 Constraints and Non-functional Requirements
None have been identified for the AutoAd system.
5 Implementation Phases
An operational system is desired before Finals Week, Fall, 2009.
The first phase, which should be achieved in this time frame,
is not required to handle General Education requirements or Specializations.
The first phase will not have a GUI for the Staff Division (section 3.6); updates
will be made by
modifying the conversion data in the DF-2009 database and
rerunning the initialization routine.
changing the AutoAd source code and recompiling.
6 Future Directions and Expected Changes
- A Java applet version version of the Student division, that would
be accessible to anyone with a web browser.
- Interface with the Registrar's office computer systems,
both for receiving and sending information.
- The ability to handle co-requisites, in addition to prerequisites.
- The ability to have different course information (e.g. title)
in different quarters.
- Handling the General Education requirement for Language Other than English.
- Future versions of AutoAd will be used by students in other majors.
- Future versions of AutoAd will be used by ICS minors.
- Future versions of AutoAd should be able to access on-line the
information for transfer students available at http://www.assist.org.
7 Acceptance Test Plan
The Acceptance test plan will demonstrate that the implemented system
completely fulfills the requirements stated in this document. It has
the following features.
- Every menu item choice is exercised.
- Every schedule verification message is generated.
- Correct computation of GPA is verified.
Here is one scenario:
The student enters the following courses into his schedule:
ICS 21, Fall, 1997, "B"
ICS 22, Winter, 1998, "B+"
ICS 23, Spring, 1998, "B-"
ICS 121, Fall, 1998, no grade entered
- The cumulative and ICS GPAs should both be calculated as 3.0.
- The following messages should appear (this is not a complete list):
Total number of units is 18 which is less than the required 180.
Only 0 courses in the General Education category "Writing" have
been completed, and 3 are required.
Required course ICS 51 is not on Schedule.
Two intermediate ICS courses must be on Schedule
Three ICS project courses must be on Schedule
Upper-division Math requirement not fulfilled in Schedule
Prerequisite ICS 52 for course ICS 121 has not been met.
8 Glossary
- GPA Grade Point Average.
- Prerequisite A requirement that must be completed before
a student can enroll in a course.
- Student Affairs Office An office within the Bren School
that assists students with course planning.