ICS52, Spring, 2011

Official Requirements Specification -- April 21, 2011
Later changes in blue


1 Introduction

This document specifies the Official Requirements for the SubDo system, and should serve as the basis for a further development of the system. The SubDo system is designed to assist school administrators, teachers, and substitute teachers with the process of assigning substitutes to classes when teachers are sick or on leave.

All information was accurate at the time of writing. This document details 35 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 implementers to devise a user interface that is pleasing and easy to use and is in accordance with all listed requirements.

This document contains the following Sections:

2) User Requirements Definition - This section is designed for the non-technical reader. It describes the major features of the system and the rationale for each one.

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

A typical large school district has dozens of schools and thousands of teachers. On any given day hundreds of teachers may be absent due to unexpected illnesses and previously scheduled leaves of absence. Some of these teachers' duties can be cancelled or fulfilled by other teachers or by administrators, but usually a substitute teacher is called to fill in.

The primary goal of the SubDo system is to facilitate the notification and scheduling of substitute teachers. When this process is done manually, regular teachers who are ill or unexpectedly absent for other reasons call in and leave a message at a central phone number. Staff members of the Substitute Teacher Scheduling Office (STSO) listen to these messages, record the pertinent information (and it is amazing how many teachers call in sick without saying what school they teach at!), and then attempt to contact an appropriate substitute teacher. The STSO is open and makes calls during normal working hours, and also from 7:00-9:00 p.m. Sunday through Thursday and from 5:00-8:00 a.m. Monday through Friday (although no calls are made before 6:00 a.m.). A study last year indicated that, on average, 2.1 calls were required to fill each vacancy, of those that were filled, and that only 72% of vacancies were filled.

The key features of the SubDo system are:

The SubDo system is designed to operate independently of other computer information systems at the school district. In particular, teachers who are sick will have to inform both SubDo and their Personnel Office, and substitute teachers should sign in with the school's Substitute Administrator before proceeding to class. The SubDo system deals with five major entities:


3 System Requirements Specification

3.1 Overall Operation

The SubDo system supports the following typical cycle of events.

  1. A substitute teacher registers with the District and receives a PIN (Personal Identification Number) for SubDo access.
  2. At any time, a registered substitute teacher can use SubDo's automated substitute call-in line to modify choices of black-out days.
  3. The system is notified that a teacher will be absent from school for one or more days. The teacher may call the STSO office, which then inputs the information into the system through a GUI, or the teacher may call SubDo's automated teacher call-in line.
  4. SubDo automatically selects the most appropriate substitute teacher and attempts to call him or her. If reached, the substitute can accept or decline the assignment. If the substitute cannot be reached, or declines, then the system automatically attempts to reach the second choice substitute. This process continues until a substitute accepts, or the school day starts.

3.2 Teachers and Substitutes

The SubDo system stores information about regular teachers and registered substitute teachers (hereafter referred to as substitutes). This information is stored indefinitely within SubDo.

SubDo stores the following information about each teacher (T-1):

SubDo stores the following information about each substitute (T-2):

The preferred and acceptable schools, grade levels, and subjects are ones for which the substitute is qualified, as determined by the school district (pursuant to Federal Court case Smith vs. School Board, all substitutes are deemed qualified for all schools). The distinction between preferred and acceptable is based on substitute preference; a substitute who is completely flexible can list all schools, grade levels, and subjects for which he or she is qualified as preferred. No school, grade level, or subject should be listed as both acceptable and preferred.

Most substitutes have an STSO rating of 2. A rating of 1 indicates that the substitute is to be given special preference in selection. A rating of 3 indicates that the substitute is to be called only if no substitute rated 1 and 2 is available (see Section 3.5).

3.3 Communicating with SubDo Over the Phone

SubDo supports three types of phone-call based interactions with teachers and substitutes:
  1. Teachers can call in sick or unavailable.
  2. Substitutes can call in to modify black-out days.
  3. SubDo calls substitutes to determine availability for an assignment.
The following rules apply to the description of phone trees: If 60 seconds elapses between the end of any SubDo message and the completion of the required entry, the system "times out" (PH-1). On time out, SubDo hangs up, and the information entered is not recorded (PH-2). If the phone tree returns to a certain step for a fourth time, it does not repeat the message, but hangs up, and the information entered is not recorded (PH-3).

The phone tree hardware and software will be purchased from PM Solutions.

Teacher call-in line

Teachers can call in to notify SubDo that they are sick or otherwise unable to come to school (PH-4). Teachers can cancel the nearest scheduled absence to which a substitute has not been assigned (PH-4A).


1 SubDo: This is SubDo. Please enter your ID and press pound. (ID #)
2 SubDo: Thank you. Please enter your PIN and press pound (PIN #)
       Unrecognized ID or non-matching PIN: go to 1. Otherwise, go to 3.
3 SubDo: To enter an absence, press 1. To cancel a previously entered absence, press 2. (N)
       N=1: go to 4. N=2: go to 6. Otherwise, go to 3.
4 SubDo: If you will be absent {next school day}, press pound. To enter an absence on a later date, enter the number of the month, one through 12, the star key, the day of the month, and the pound key. (D)
       D=#: go to 5. D=mm*dd#: go to 5. Invalid entry: go to 4.
5 SubDo: To confirm that you will be absent on {date entered in step 4}, press 1. To correct the date, enter 2. (N)
       N=1: go to 9. N=2: go to 4. Otherwise, go to 5.
6 If the teacher has an absence entered, go to 7. Otherwise, go to 8.
7 SubDo: You are scheduled to be absent on {nearest scheduled absence date}. To cancel this scheduled absence, press 1. Otherwise, press 2. (R)
       R=1: go to 9. R=2: go to 3. Otherwise, go to 7.
8 SubDo: You do not have any absences entered into SubDo.
       Go to 3.
9 SubDo: Your notification has been recorded. Thank you for calling SubDo. Goodbye.
       Hang up.

SubDo calls substitute

SubDo calls substitutes for each position, until a substitute accepts (PH-5).


1 SubDo: This is SubDo. We are trying to reach {substitute's name}. If {substitute's name} is at this number, please press 1. Otherwise, press 2. (A)
       A=1: Go to 2. 2: Hang up. Otherwise, go to 1.
2 SubDo: This is SubDo. Please enter your ID and press pound. (ID #)
3 SubDo: Thank you. Please enter your PIN and press pound (PIN #)
       Unrecognized ID or non-matching PIN: go to 2. Otherwise, go to 4.
4 SubDo: A substitute teaching position is available for {date} at {school name}, teaching the {grade and, if applicable, subject} class of {teacher's name}. To accept this assignment, press 1. To decline this assignment and any other assignment for {same date}, press 2. To decline this assignment only, press 3. To repeat the message, press 4. (B)
       B=1: go to 5. B=2: go to 6. B=3: go to 7. B=4: go to 4. Otherwise, go to 4.
5 SubDo: You have accepted a substitute teaching position for {date} at {school name}, teaching the {grade and, if applicable, subject} class of {teacher's name}. For further information, call the school at {school's phone number}. Thank you, and good-bye.
       Hang up.
6 SubDo: Thank you. You will not be called for further assignment on {date}. Goodbye.
       Hang up.
7 SubDo: Thank you. Goodbye.
       Hang up.

Substitute call-in line

Substitutes can review and modify their black-out days over the phone (PH-6).


1 SubDo: This is SubDo. Please enter your ID and press pound. (ID #)
2 SubDo: Thank you. Please enter your PIN and press pound (PIN #)
       Unrecognized ID or non-matching PIN: go to 2. Otherwise, go to 3.
3 SubDo: To review your black-out days, press 1. To black-out a day of the week, press 2. To undo a day of week black-out, press 3. To exit SubDo, press 4. (B)
       B=1: go to 4. B=2: go to 5. B=3: go to 6. B=4: go to 7. Otherwise, go to 3.
4 SubDo: You have {as appropriate: no days, Mondays, Tuesdays, Wednesdays, Thursdays, and Fridays} blacked-out.
       Go to 3.
5 SubDo: Enter 1 to black-out Mondays, 2 to black-out Tuesdays, 3 to black-out Wednesdays, 4 to black-out Thursdays, or 5 to black-out Fridays. Enter 0 to review your black-out days. (X)
       X=1-5: go to 4. X=0: go to 4. Otherwise, go to 5.
6 SubDo: Enter 1 to receive Monday calls, 2 to receive Tuesday calls, 3 to receive Wednesday calls, 4 to receive Thursday calls, or 5 to receive Friday calls. Enter 0 to review your black-out days. (Y)
       Y=1-5: go to 6. Y=0: go to 4. Otherwise, go to 5.
7 SubDo: Thank you, and good-bye.

3.4 Management Reports

SubDo can produce the following reports for the STSO, either as listings on the screen (R-1) or as PDF files (R-2).

3.5 Accessing SubDo through the Computer

Access to SubDo through a computer GUI is limited to administrators in the STSO office. STSO administrators can perform the following functions: The GUI will be designed using standard operating system windows and dialog boxes, utilizing menus, buttons, hot keys, and other standard user interface elements (S-13). It should be organized in an intuitive and easy to use manner.

3.6 Priority Rules and Calling Substitutes

This section describes the rules SubDo follows in deciding the order in which to contact substitutes when a vacancy due to a teacher absence occurs. Substitutes are ranked for a vacancy according to the following rules.
  1. A substitute who is already assigned to a vacancy on a particular day is not considered for another vacancy on that same day (P-0).
  2. A substitute who has the day of the absence blacked-out is not considered (P-1).
  3. A substitute who has filled in for the absent teacher earlier in the school year is preferred. If there is more than one such substitute, the one who filled in most recently is preferred (P-2).
  4. If there is no available substitute who has filled in previously for the absent teacher, compute the "match factor" as follows, and prefer the substitute with the highest match factor (P-3).
Vacancies for the current date are considered in random order when making phone calls (P-4). For each vacancy, a ranking of substitutes is made, and the highest ranking substitute is called. If he or she does not accept the position, the process continues with the next highest ranking substitute, until one accepts or time runs out or the list is exhausted (P-5). If the substitute does not answer the phone, a second call is placed 60 seconds later. If the second call is not answered, the process continues as if the vacancy was declined (P-6).

Calls are only made between 6:00 p.m. and 9:00 p.m. the night before a school day, and between 6:00 a.m. and 7:00 a.m. the morning of a school day (P-7). Calling starts automatically at the beginning of each time period (P-8), and can also be initiated by the STSO office (see (S-12)).

3.7 Conversion of existing data

Files of teacher and substitute information currently exist in a DF-2011 database. The exact format of this database has not been determined at the time of writing, but will be available shortly. The SubDo lists of teachers and substitutes should be initialized from this data, in so far as possible (C-1).


4 Constraints and Non-functional Requirements


5 Implementation Phases

An operational system is desired before Finals Week, June, 2011. The first phase, which should be achieved in this time frame, will use PM Solutions' PhoneTree-GUI-Simulator-2000 instead of making phone calls.

The following options will be omitted from the first phase: (PH-6), (R-2), (S-2), (S-3), (S-4), (S-5), (S-6), (S-10) (P-8). The first phase system will run on a single computer.


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. It will operate with a wide variety of teachers and substitutes.
  2. It will demonstrate the correctness of all phone tree options.
  3. Correct ranking of substitutes will be exhibited.
Here is one scenario, or test case.
  1. Edna Smith teaches 10th grade English at Washington High. She has not been substituted for previously.
  2. Abigail Jones is a substitute with Washington High, 10th grade, and English all preferred, no black-out days, seniority = 6, STSO rating = 2.
  3. Andy Anteater is entered with Washington High and 10th grade preferred, English an acceptable subject, no black-out days, seniority = 2, STSO rating = 1.
  4. Edna Smith calls in absent for the next day, and SubDo ranks the two substitutes. Abigail Jones should have a match factor of 86. Andy Anteater should have a match factor of 127. Andy Anteater should be called first.


8 Glossary