Project Plan Software Requirements Specification Software Test Plan Design Document Glossary

Software Requirements Specification

Prepared by Team Aquarius
for a UCI ICS course listings webpage proposed by Professor Michael Carey.

Kyle Chong
Danny Kim
Derek Lyons

March 13, 2011

Release Information

Project: UCI ICS Course Listing Replacement
Revision: 3.2.4
Related Documents:

Revision History

Version 3.2.4
-Elaborated on "Open course website" requirement.
Version 3.2.3
-Replaced Use Case diagrams with matching colored versions
Version 3.2.2
-Filled in empty use case skeletons.
Version 3.2.1
-Added a third use case diagram
-Replaced the diagrams of use cases 1 and 2 to be clearer and match the diagram for use case 3
-Added diagrams and set up sections for use cases 4 - 6
Version 3.2.0
-Expanded functional requirements.
-Clarified environmental requirements.
Version 3.1.0
-Reorganized and rewrote portions of the Executive Summary and Project Description, as per TA feedback.
Version 3.0.0
-Added individual use case diagrams and descriptions.
Version 2.3.0
-Broke up sentences in the project description. (Thus, a dynamic....the cells formed by..)
-Added the pixel width constraint (768 wide) to non-functional requirements; see the end of the first paragraph.
Version 2.2.0
-Clarified revision numbering. X.Y.Z: X is a major version; Y is a minor version (iteration); Z is a patch to an iteration.
Version 2.1.0
-Added system requirements.
-Added assumptions.
Version 2.0.0
-Added project description.
-Elaborated on environmental requirements (PHP5 and MySQL).
Version 1.2.0
-Added functional requirement (course view).
-Added non-functional requirement (page layout).
Version 1.1.0
-Addition of additional header information.
-Addition of table of contents.
Version 1.0.0
-Initial release.

Executive Summary

The UCI ICS course listing is a tentative schedule of CompSci, CSE, ICS, Informatics, and Statistics courses that the Bren School offers for the current academic year. The current implementation of the course listing contains several usability concerns that we intend to address. A better design would be valuable because it could improve student satisfaction by reducing the work involved in planning their schedule for the coming year.

Project Description

It is our intention to alleviate the workload of counselors who would otherwise have to fix students' schedules to remain on track. Furthermore, if students have to scan across multiple vertical listings to plan a schedule, the task takes much more time and effort than it should. There is a need for a better design such that students can clearly see the course offerings for an academic year at a glance.

This project will create an alternative course listing for offered Bren School courses, given an academic year. This course listing will present courses in a timeline-esque format. Thus, a dynamic table will be generated where the rows are individual courses and the columns are the quarters of the year. The cells formed by the intersections will provide hyperlinked information about course availability. We also intend to extend this table by providing functions to filter and search the table.



  • Users will have a basic understanding of the use of web browsers.
  • Users are familiar with basic web user interfaces.


  • UCI ICS course listings will be provided by the Bren School of ICS.
  • The system will use an externally maintained database.

Use Cases

The following in a preliminary use case diagram, intended to briefly present the current goals of our implementation of the UCI ICS course listing replacement.

The following diagrams represent use cases depicting the actions of a User and an Administrator from an overall perspective.

Use Case Diagram 1

Use Case 1 Search for Informatics class offered during Spring
Goal in Context A student wishes to find an Informatics class to take during Spring quarter. Before deciding on which class to take, he wants to look at the class syllabus of each class first.
Preconditions The student is familiar with using UCI class websites and the web browser they are using.
Success End Condition The student finds a class of their liking.
Failed End Condition Class listings database has not been updated with Spring classes.
Primary, Secondary Actors User, UCI ICS Course Listings
Description Step Action
  1 User opens web browser
  2 User chooses "Informatics" as their undergraduate course of study and "Spring" for the academic quarter to view course offerings.
  3 The query is retrieved from the database and shown on the webpage
  4 User reads through the list and finds "Informatics 117", to be interesting
  5 User clicks on the "Course Website" link to view the course website
  6 User finds the syllabus on the course website, and is interested in taking the class
Variation Step Action
  A3 Courses are not offered with paired course and academic quarter. No results are returned.

Use Case Diagram 2

Use Case 2 Remove a course that has accidentally been added, and add another course
Goal in Context The UCI ICS Website Administrator added the wrong class to the Fall course listings. She needs to remove the incorrect course and add the correct class.
Preconditions Incorrect class has already been added to the database.
Success End Condition The administrator removes a single course from the UCI ICS Course Listings, and then adds a different course to the course listings.
Failed End Condition Course database cannot be modified.
Primary, Secondary Actors UCI ICS Administrator, UCI ICS Course Listings Webpage
Description Step Action
  1 The UCI ICS Administrator logs onto the Course Listings Database
  2 After logging on, the user finds the incorrect course
  3 The administrator removes the course from the database
  4 The administrator adds a new course to the database

Use Case Diagram 3

Use Case 3 View an instructor's website
Goal in Context The student wishes to gain information on an instructor for a particular course
Preconditions The student has already performed a search and has a results table
Success End Condition The student clicks on an instructor's website link and is taken to a valid page about the instructor.
Failed End Condition The instructor's webpage does not exist.
Primary, Secondary Actors Student, UCI ICS Course Listings Webpage
Description Step Action
  1 The user browses through their search results and locates a course they are interested in.
  2 The user clicks on the instructor's name under the appropriate quarter
  3 The browser follows the instructor's website link and displays the webpage
Variation Step Action
  A3 The website link is invalid and the browser displays a 404 error page.

Use Case Diagram 4

Use Case 4 Search through returned results
Goal in Context The student wishes to further refine their results by searching for a specific course, description, course title, or instructor
Preconditions The student has already performed a search and has a results table
Success End Condition The student's search terms return at least one valid result
Failed End Condition The student's search terms return no results
Primary, Secondary Actors Student, UCI ICS Course Listings Webpage
Description Step Action
  1 The user enters a search string into the live search field.
  2 The system automatically filters results as the student types his search string
  3 The system automatically refreshes the results table with entries that match the user's search string

Use Case Diagram 5

Use Case 5 Sort results listed by column
Goal in Context The student wishes to view search results organized by their various columns
Preconditions The student has already performed a search and has search results.
Success End Condition The student is able to re-sort search results based on the column chosen by the student.
Failed End Condition The search results table makes no changes.
Primary, Secondary Actors Student, UCI ICS Course Listings Webpage
Description Step Action
  1 The student clicks on the "Course" column to view results sorted by course names.
  2 The system returns the same table but in the order requested by the student.
Variation Step Action
  A2 The table does not change because it is already sorted by course names.

Use Case Diagram 6

Use Case 6 Show or hide course titles
Goal in Context The student wants to hide or show all the titles of courses in their results table
Preconditions The student has already performed a search and has a results table
Success End Condition The system hides or shows all course titles
Failed End Condition The system does not hide or show course titles
Primary, Secondary Actors Student, UCI ICS Course Listings Webpage
Description Step Action
  1 The student clicks on "Show all titles"
  2 The system shows all course titles in the results table
Variation Step Action
  A1 The student clicks on "Hide all titles"
  A2 The system hides all course titles in the results table

Functional Requirements

The details of current requirements as well as additional requirements are to be determined. Currently, the basic functions we intend to implement are as follows:

  • View courses
    • retrieved from database
    • filter by year, department, level (lower-division, upper-division, graduate)
    • search by title, department, number, description, instructor
    • timeline view; separated by quarter with summer hidden by default
  • View course details
    • retrieved from database
    • level, units, category, prerequisites
    • prerequisites are dynamic; generated as links to the prerequisite course descriptions
  • Open course website
    • opens a detailed page with information about the course
      • Inconsistent urls and delayed uploads means websites may only be available after the quarter begins, if at all. Design-wise, it was deemed more convenient to simply link to the catalog instead of attempting to link to unavailable sites.
  • Open instructor website
    • retrieved from database
    • if not found in database, the url is generated according to default structure (e.g.
      • ICS website structure is not used because not all course instructors will be from the Bren school
  • Add course
    • accessed through separate interface that will require validation
  • Edit course
    • accessed through separate interface that will require validation
    • includes deleting course entry

Non-Functional Requirements

Regarding usability, use cases should not be difficult to perform. The difficulty depends on the number of steps, the knowledge that the user must have at each step, the decisions that the user must make at each step, and the mechanics of each step (e.g., typing a course title exactly is difficult, clicking on a title in a list is easy). The system should provide satisfactory service to its users through ease of use and a more intuitive interface. We will not be using the current ICS website layout, but will develop our own to best represent the data. The layout will conform to a 768 pixel width with a varying length to be determined by search results.

Regarding up-time, the system should remain accessible and responsive during ICS network up-time.

Regarding security, the system must implement levels of access such that only users with administrator privileges are able to add or change/delete courses.

Regarding performance, the system must handle hundreds of users simultaneously (traffic is not expected to exceed the number of students enrolled in the Bren School).

Environmental Requirements

At the moment, there are no constraints set on hardware or software to be used. Currently, the system is being implemented in PHP5 using a MySQL database. Thus, a server with a broadband connection with the following software is required:

  • PHP 5.2.x
  • MySQL Server, Client, and PHP libraries, version 5 or above
  • PHP mysql extension (interface to mysql database from php)

System Requirements

  1. The interface must run on the following operating systems:
    1. Windows: XP, Vista, 7
    2. Macintosh: OS X 10.4+
  2. The interface must work on the following browsers:
    1. Internet Explorer 7+
    2. Mozilla Firefox 3+
    3. Safari 5+
    4. Chrome 6+
Team Aquarius.