ICS52, Winter, 2009
Official Requirements Specification -- February 2, 2009
1 Introduction
This document specifies the Official Requirements for the
SubUbi system, and should serve as the basis for a further
development of the system.
The SubUbi 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 SubUbi 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 SubUbi system are:
- Teachers can call in sick and schedule absences by using an
automated telephone system.
- Substitutes can register their availability and black-out days
by using an automated telephone system.
- SubUbi automatically calls potential substitute teachers whose
availability and preferences best match the current needs.
- STSO can review history and current status using a computer GUI.
The SubUbi 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
SubUbi and their Personnel Office, and substitute teachers should
sign in with the school's Substitute Administrator before proceeding
to class.
The SubUbi system deals with five major entities:
- Teachers.
- Substitute teachers, also called just "substitutes".
- STSO.
- Phone Tree System hardware and software, which will be provided
by an outside vendor, PM Solutions.
- Rules and procedures for selecting a substitute.
3 System Requirements Specification
3.1 Overall Operation
The SubUbi system supports the following typical cycle of events.
- A substitute teacher registers with the District and
receives a PIN (Personal Identification Number) for SubUbi
access.
- At any time, a registered substitute teacher can use
SubUbi's automated substitute call-in line to modify choices
of black-out days.
- 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 SubUbi's
automated teacher call-in line.
- SubUbi 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 SubUbi system stores information about regular teachers and
registered substitute teachers (hereafter referred to as substitutes).
This information is stored indefinitely within SubUbi.
SubUbi stores the following information about each teacher (T-1):
- The teacher's nine digit Social Security Number. This uniquely
identifies the teacher.
- The teacher's SubUbi four digit PIN.
- The teacher's name.
- The school at which the teacher works.
- The grade level which the teacher teaches.
The possible grades are K, 1 through 12, E (for any elementary
school grade (K-6)), J (for any Junior High School grade
(7-9)), H (for any High School Grade (10-12)), and A (for
non-grade level related specialties such as school nurse).
- The Social Security numbers of the last three substitutes
who have substituted for the teacher in the current school
year.
- The teacher's subject, one of the following: "Home room",
"Science", "English", "Social Studies", "Physical Ed",
and "Arts / Music", "World Language" or "Other".
- A list of future dates when the teacher will be absent from
school.
SubUbi stores the following information about each substitute (T-2):
- The substitutes' nine digit Social Security Number. This uniquely
identifies the substitute.
- The substitute's SubUbi four digit PIN.
- The substitute's name.
- The substitute's phone number.
- A list of the substitute's preferred schools.
- A list of the substitute's acceptable schools.
- A list of the substitute's preferred grade levels (same categories
as listed for teachers).
- A list of the substitute's acceptable grade levels.
- A list of the substitute's preferred subjects (same categories
as listed for teachers).
- A list of the substitute's acceptable subjects.
- A list of days of the week during which the substitute is
not available, known as "black-out" days.
- The substitute's seniority, which is the number of years the
substitute has been registered with the school district.
- The substitute's STSO rating, which is either 1, 2, or 3.
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.
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 SubUbi Over the Phone
SubUbi supports three types of phone-call based interactions with teachers
and substitutes:
- Teachers can call in sick or unavailable.
- Substitutes can call in to modify black-out days.
- SubUbi calls substitutes to determine availability for an assignment.
The following rules apply to the description of phone trees:
- Synthesized human voice is prefaced by SubUbi: and
is written in this typeface.
- Human input via telephone keypad is indicated in italics and
in parentheses.
- Flow of control is indicated by indented text.
- Information in curly braces is filled in by SubUbi as appropriate.
- When a date is specified in curly braces, the
system fills in the date in the format day-of-week month day-of-month;
for example, "Friday, May fourteenth." If the date is the current
calendar date, it is preceded by "today":
"today, Thursday, May thirteenth" (D-1).
If 60 seconds elapses between the end of any SubUbi message and
the completion of the required entry, the system "times out"
(PH-1).
On time out, SubUbi 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 SubUbi 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 SubUbi: This is SubUbi. Please enter your ID and press pound.
(ID #)
2 SubUbi: Thank you. Please enter your PIN and press pound
(PIN #)
Unrecognized ID or non-matching PIN: go to 1. Otherwise, go to 3.
3 SubUbi: 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 SubUbi: 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 SubUbi: 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 SubUbi: 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 SubUbi: You do not have any absences entered into SubUbi.
Go to 3.
9 SubUbi:Your notification has been recorded.
Thank you for calling SubUbi. Goodbye.
Hang up.
SubUbi calls substitute
SubUbi
calls substitutes for each position, until a substitute accepts
(PH-5).
1 SubUbi: This is SubUbi.
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 SubUbi: This is SubUbi. Please enter your ID and press pound.
(ID #)
3 SubUbi: Thank you. Please enter your PIN and press pound
(PIN #)
Unrecognized ID or non-matching PIN: go to 2. Otherwise, go to 4.
4 SubUbi:
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 SubUbi: 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 SubUbi: Thank you.
You will not be called for further assignment
on {date}. Goodbye.
Hang up.
7 SubUbi: Thank you. Goodbye.
Hang up.
Substitute call-in line
Substitutes can review and modify their black-out days over the phone
(PH-6).
1 SubUbi: This is SubUbi.
Please enter your ID and press pound.
(ID #)
2 SubUbi: Thank you. Please enter your PIN and press pound
(PIN #)
Unrecognized ID or non-matching PIN: go to 2. Otherwise, go to 3.
3 SubUbi:
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 SubUbi, 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 SubUbi: You have {as appropriate: no days, Mondays, Tuesdays, Wednesdays,
Thursdays, and Fridays} blacked-out.
Go to 3.
5 SubUbi: 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 SubUbi: 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 SubUbi: Thank you, and good-bye.
3.4 Accessing SubUbi through the Computer
Access to SubUbi through a computer GUI is limited to administrators
in the STSO office.
STSO administrators can perform the following functions:
- Enter a new teacher into the system.
Any of the information described in Section 3.2 can be entered. (S-1)
- Modify any information about a teacher already known to SubUbi. (S-2)
- Enter that a teacher will be absent on a particular day or
range of days (S-2A). (Although this function duplicates
(S-2), it is performed frequently and should be a separate
item in the GUI).
- Remove a teacher from SubUbi. (S-3)
- Enter a new substitute into the system.
Any of the information described in Section 3.2 can be entered. (S-4)
- Modify any information about a substitute already known to SubUbi.
(S-5)
- Remove a substitute from SubUbi. (S-6)
- List, by school, the teacher absences for a given date that currently have
not been assigned substitutes. (S-7)
- Get a count, for each school, for each grade level, or for the
entire district, of all teacher absences and substitutes assigned,
for any given date. (S-8)
- Simulate access to PM Software's PhoneTree system through their
PhoneTree-GUI-Simulator-2000. (See company representative for details.)
(S-9)
- Add one to the seniority level of all substitutes.
(S-10)
- Select a teacher absence already in the system,
and for that vacancy list the substitutes
according to the rules specified in Section 3.5.
(S-11)
- Initiate the process of selecting vacancies, ranking substitutes,
and calling substitutes, for vacancies of a specified date (S-12).
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.5 Priority Rules and Calling Substitutes
This section describes the rules SubUbi 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.
- 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).
- A substitute who has the day of the absence blacked-out is
not considered (P-1).
- 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).
- 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).
- Add 10 points for each match between vacancy school,
grade level, and subject, with a preferred choice of
the substitute's.
- Add 5 points for each match between vacancy school,
grade level, and subject, with an acceptable choice of
the substitute's.
- Add 10 points if STSO rating is 1.
- Subtract 10 points if STSO rating is 3.
- Add 1 point for each 2 years of seniority.
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 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.6 Conversion of existing data
Files of teacher and substitute 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 SubUbi lists of teachers and substitutes should be initialized
from this data, in so far as possible (C-1).
4 Constraints and Non-functional Requirements
-
SubUbi will make or receive at most one phone call at any point in time.
-
In a system with 5000 teachers, 300 substitutes, and 100 vacancies,
SubUbi should be able to rank correctly all the substitutes within
10 minutes.
5 Implementation Phases
An operational system is desired before Finals Week, March, 2009.
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 may be omitted from the first phase if
required to meet the deadline:
(PH-6), (S-1), (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
- Substitutes will be able to black-out specific dates and
date ranges, in addition to days of the week.
- Substitutes will be able to modify preferred and acceptable
choices for schools, grade levels, and subject categories over the
phone.
- An improved and more detailed set of subjects will be available.
- SubUbi will be able to assign substitutes for multiple days.
- The system will collect more statistics, by school and by grade
level. Examples include the average number of calls to fill a
vacancy and the average match factor of substitutes.
- The system will permit World Wide Web access for teachers,
substitutes, and administrators.
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.
- It will operate with a wide variety of teachers and substitutes.
- It will demonstrate the correctness of all phone tree options.
- Correct ranking of substitutes will be exhibited.
Here is one scenario, or test case.
-
Edna Smith teaches 10th grade English at Washington High.
She has not been substituted for previously.
-
Abigail Jones is a substitute with Washington High, 10th grade, and English
all preferred, no black-out days, seniority = 6, STSO rating = 2.
-
Andy Anteater is entered with Washington High and 10th grade preferred,
English an acceptable subject,
no black-out days, seniority = 2, STSO rating = 1.
- Edna Smith calls in absent for the next day, and SubUbi ranks
the two substitutes. Abigail Jones should have a match factor of 33.
Andy Anteater should have a match factor of 36. Andy Anteater should be called first.
8 Glossary
- Black-out day. A day of the week (or potentially any
specific date) that a substitute is not able to work for the district.
- GUI. Graphical user interface, used to permit access to
a system's functionality.
- Match factor. A number representing how satisfactory is
the fit between a substitute and the vacancy he or she is filling.
- STSO. The district-wide Substitute Teacher Scheduling Office.