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:

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:

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:


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: 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:
  1. 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)).
  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.
  3. 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.
  4. 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: 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:

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: 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.)

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


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.

  1. Every menu item choice is exercised.
  2. Every schedule verification message is generated.
  3. 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


8 Glossary