After collaboration with representatives from your company, we have designed a system that we believe will satisfy your requirements. Though this document is a blueprint for the complete system, a detailed and complete system that will be considered to be the contracted system, the final agreement between our two corporations; we are willing to discuss any aspect of it with you and, within reason, modify the system implementation in response to your concerns.
The TimeTracker has two main functions:
For an overview of the system from the user's perspective, read the System Synopsis and the System Look. For an overview from a technical perspective, review System Design. To see specific measures we are taking to ensure this program is of the highest quality and meets your specifications see the section of this document entitled Test Plan.
We have addressed your concerns regarding our Functional Specifications and Overall Design documents in the "Your Amendments" section.
We look forward to demonstrating this software to you and are sure that it will meet your need for an integrated meeting and time management system. As stated above we would be happy to address any concerns you may still have, these may be emailed to me.
The following is the table of contents for this document.
The main focus of the system is now clearly the personal daytimer. This is evident in our new interface. The screen is now dominated by the user's schedule with a daily view. A monthly view will not be provided primarily because the month view would not provide useful information due to screen resolution. The small monthly calendar on the top left corner of the screen will serve primarily as a device for selecting weeks to view. If there is time, we may also have the days of the month coloured the color of the highest priority appointment for that day but this is an enhancement. The user can view and edit their personal daytimer by selecting areas on the daytimer window. There will also be three buttons on the screen the user can press to access the system's other four main functions; namely, Meeting Scheduler, Availability, Employees and Messages.
To view messages the "Message" button would be pressed. An editable window containing the text of all messages sent by the system will appear. Messages can be removed from this window once the user is through with them. The system will inform the user if a new message has been received since the last time messages were viewed. The messages the system will generate have been specified by the customer group as:
Pressing the "Employees" buttons allows you to work with the employees database. The function most users will associate with this is creating a group alias.
To set your availability press the "Availability" button. A window will open where you can set your regular hours of availability. That is, when you normally work in terms of start and end times for each day of a typical week. This will be considered to be your permanent availability; if you change your schedule this must be changed as well. Availability will be set using checkboxes (or some other appropriate mouse driven graphical data entry device) but in simple english an availability statement might say to the system "Until further notice, I will be working Mondays through Friday at 9-5". This was agreed upon by representatives of the customer and supplier groups.
By pressing "Schedule" the meeting scheduler function is summoned, a window appears and meetings can be scheduled. The meeting scheduler function is now more clearly defined and delimited. It is simply another function, not an equal subsystem.
In concrete terms the meeting scheduler is meant to take the place of a secretary. If a meeting needs to be scheduled, the secretary will be given a list of names and a range of appropriate meeting times (days and times) to choose from. He/She will check if all the people on the list can attend the meeting within the range specified. If they can, a meeting will be scheduled, participants will be informed, and the convenor will be notified. If all cannot attend, he will go back to the convenor with a list of the best times, (i.e., those where the most invitees can attend), and the convenor can then choose one of those times or reject them all. The option remains to schedule the meeting for an entirely different time. If the convenor chooses to schedule the meeting anyway, those who are able to attend will be informed they have been scheduled to attend while those who have a time conflict will be informed that the secretary attempted to schedule them into a meeting.
The meeting scheduler will perform a similar funtion for users by finding appropriate times for single weekly or monthly meetings. If the automatic scheduling feature is being used. The meeting scheduler will also generate messages to inform invitees that they have been scheduled or an attempt has been made to schedule them to attend a meeting. The meeting scheduler function will carry out all of these functions and no others.
Login
Users are required to login to Time Tracker with login name and password. Facilities will be provided for setting up and changing passwords. Details of the implementation of this system are discussed later in this document.
Daytimer Basic functions
Time Tracker will list the user's schedule for that week. User will be able to see the details of the meeting if he/she clicks on it. This will include the following information.
TITLE: DATES (DD/MM/YY): -------changed from (MM/DD/YY) (Month name spelled out) TIME (HH:MM): -------in AM PM LENGTH (30 MINUTES TIME SLOTS): ATTENDEES: COMMENTS: -------changed from AGENDA PRIORITY: -------color coded CONVENOR: -------as requested VENUE: -------as requested
Meeting Scheduler Basic Functions
User click on this button to schedule a meeting.
Method of scheduling a meeting is as before except for the following changes:
TITLE: DATES (DD/MM/YY): -------changed from (MM/DD/YY) TIME (HH:MM): LENGTH (30 MINUTES TIME SLOTS): ATTENDEES: COMMENTS: -------changed from AGENDA PRIORITY: CONVENOR: -------as requested VENUE: -------as requested
Text format entry is kept to minimum, since the user can select the days, weeks, months by clicking on some radiobuttons with this list of options. As mentioned before, the extent to which we can implement this method of input may be limited due to time and budget constraints.
AGENDA is changed to COMMENTS, and there is a limit to the number of characters input (256).
Limits functions (eg, limits search to Jan 15 - Jan 21) to allow user to plan a meeting. This "function" will be implemented by entering a range of days in DATES field.
Places to hold meeting is simply a text field, selected by convenor.
Messages
In this window you can view messages from the system, there are 5 types as described above. Messages are flagged as read or unread. You can also delete messages from this file. The system keeps track of any messages that have come in since the last time messages were checked so that it can inform you when new messages have arrived.
Availability
Check boxes or some other mouse driven data entry device will be used in this window to set your normal availability in terms of days of the week and times of the days you are available.
We have not responded to all of your notes on the our Functional Specification document here. For a complete list of all of your annotations and our responses see the Your Amendments section of this document. The next section will describe the interface in more detail.
Four large buttons on the lower left of the screen bring up the other major subscreens in the interface:
If the user chooses User Scheduled the user will be presented with
a dialog screen further below, dubbed "Manual".
If the user clicks Computer Scheduled the user will be presented with
a dialog screen further below, dubbed "Automatic".
Here, the user determines the type of meeting, the date, time, and duration, and the system will schedule that meeting. Very simple. Confirmation of a meeting about to be scheduled will be displayed in the window dubbed "Confirmation" further below.
The Automatic Scheduler finds the next time that all employees and groups selected can make it, or the best possible time if all employees do not have an appropriate free time slot. Of course, here, the user determines an acceptable time range that this meeting must be scheduled, and as well a duration for that meeting. Clicking OK will send the computer off to find the maximum number that can attend. Confirmation of a meeting about to be scheduled will be displayed in the window dubbed "Confirmation" further below.
The arrow buttons between the two lists are used move items into and out of the "Employees in Group List". If the arrow(s) point toward the list it adds items. If it points away it removes items. The single arrow button moves the currently selected items. The double arrow buttons move all items.
Buttons below the employee and group lists will either delete the selected group, add the selected group to the database, cancel the operation altogether, or bring up a help window.
Note: A delete button will be added to the final design. The message shown is not in the actual format we will use.
From this screen employees may be added to the Employee Database (only permitted by those who know the supervisor password). The top four buttons handle inserting, deleting, editing, and cancel the editing of the selected employee.
Modules
We have structured this project to be modular, and thus all functions have been broken up into modules and sub modules.
To access the detailed description of any module, simply click the appropriate module.
The following is a comprehensive listing of the table structure for this system.
NOTE: the phrase "Relationship:
Employee Table
The employee table contains the information of each emplyee. Each row in this
table will have the necessary information about a single employee:
Fields directly related to availability are:
For instance, say Jimmy Hoffa works from 9 to 5, Monday to Friday. His
availability would then be encoded:
Now this encodes his general available hours. Storing this general information
right in the EMPLOYEE table will allow our program to quickly rule out a
meeting time where Jimmy would not even be at work (like 8:00 at night).
If someone tries to schedule Jimmy for a meeting during his work hours,
then the program can do further checks on his availability by consulting
the BOOKING table.
Relationship: Many --> One
The group table holds information describing the membership of all employees
in any aliases that may be in the system. Each entry in the Group table
contains enough information to link an employee to a particular alias.
Each employee can define his/her own set of group aliases. Because of this,
an employee may be a member of more than one group; therefore, an employee
may be represented many times within the Group table.
Relationship: Many --> One
Relates to: Meeting Table
Relationship: Many --> Many
Each entry in the Booking Table describes a single booked time for an
employee. The program can relate a person's booked time to a particular meeting
by referring to this record.
The priority of a booked time (set by the employee) is also stored in this
table. By storing the priority in this table instead of the meeting table,
users may assign their own unique priorities to each meeting (which may
differ from the priority other employees set for that meeting).
Relationship: Many --> One
This table contains pending invitation notices for all employees in the
system. Each record specifies who the message is intended for, the message
itself, and a flag signifying whether the message has been read yet.
Relationship: One --> One
Relates to: Employee Table
Relationship: One --> One
This table contains the detailed information for a single meeting or
automatic meeting. It points to the group alias record describing the people
who will attend.
Fields in this table describe the meeting's topic, title, date and length.
The place where the meeting will be held is also stored here.
Meeting types are:
System Synopsis
System Look
System Design
Pseudocode Ammendments
Team Organization
Your Amendments(For Functional Specifiction Document)
Your Amendments(For Overall Design Document)
Test Plan
General Notes
The interface has changed considerably since the Functional
Specification Document. In any cases where the customer has used a term from
the previous interface description (e.g., Meeting Manager Tab) we will not
explicitly address, instead we will we will answer the question in terms of the
current interface. This document presents a list of your concerns and our
responses listed in the order as they appeared in the original document.
Your Comments
The Meeting Scheduler Sub-System will have the following capabilities:
Your Comment: On a daily, weekly, monthly or "one-time-only" meeting.
Our Response: Satisfied in our new interface.
When a meeting is scheduled, the system searches for the first time slot
when all employees invited to the meeting are available. If the system
cannot create an acceptable meeting time then it will find a time with the
least conflicts between schedules. All employees who are invited to the
meeting are then informed of the meeting and given a chance to respond.
Your Comments
2. Cancel existing meetings: The employee who scheduled a meeting will be
able to cancel it. Employees may also cancel their own attendance at a
meeting from their personal Daytimer.
Your Comments
3. Change existing meetings: The employee who originally scheduled the
meeting may alter any information corresponding to a meeting after it has
been scheduled.
Your Comments
4. Create a group alias: The program will be able to address groups of
employees as well as single employees. Aliases will be defined from a list
of employees and enable employees to schedule meetings with working groups
or departments very easily.
Your Comments
Our Document
MONTH VIEW: A window showing a calendar-style display of all days
in the current month
WEEK VIEW: The month view will satisfy this need.
Your Comment
The `RSVP` tab will have a list of meetings the user has been invited to. By
clicking on an invitation they can get more information about the meeting, and
accept or decline the invitation.
Your Comment
The `Employees' tab will display a list of employees and their contact
information such as phone number and email address. It will also show all
currently defined aliases.
Your Comment
Our Response
The 'Meeting Manager` tab allows the user to access information about meetings
they are attending or have scheduled for a selected time period. For example,
if you had the day March 5, 1996 selected on the calendar the Meeting Manager.
Your Comment
Our Response
...would display your schedule for that day. If the user clicks on a specific
meeting all information about that meeting would be displayed as a meeting
information form . If it was a meeting they had convened, they could edit this
form including canceling or rescheduling the meeting. They could also get a
blank version of this form to use for scheduling a meeting.
To simplify data entry by reducing typing and memory load, some input fields
will be dynamically linked to the database in two ways. To begin with, double
clicking an icon at the end of a field will pull up either an icon so input can
be entered by mouse clicking (e.g., to select days of the week 7 boxes labeled
Sunday - Saturday would be displayed clicking a box would select it), or a pull
down menu from which input could be selected (e.g., names of people or group
aliases currently scheduled by the system). In addition for some fields on the
meeting information form the user can instruct the system to search for a match
and if a unique one is found, fill in the rest of the information form (For
example if a user wants to cancel a meeting but cannot remember the date and
time they can enter the title to call it up and cancel it).
Your Comment
Our Response
Our Document
The Daytimer Display
Located on the left side of the screen, a month, week or individual day is
displayed in this window. The calendar will have clickable 'day' boxes and tabs
on the left to select each week. The week display will have clickable days and
the day display will show the employees day broken into half hour increments.
Your Comment: Unclear
Our Response: This has changed anyway given the new interface.
Above the month/week/day display will be one or two large buttons. If a Month
View is displayed, 'Next Month` and 'Previous Month` buttons will be displayed.
From weekly view, the 'Month View'
Your Comment
Our Response
FUNCTION: Login To System
Your Comments
FUNCTION: Select DAY VIEW from MONTH VIEW
INPUTS:
User left double-clicks on a day in monthly calendar.
Your Comment
Our Response
v
FUNCTION: Select WEEK VIEW from WEEK VIEW
Your Comments
Our Response
FUNCTION: Change to previous month
Your Comment
Our Response
FUNCTION: Change to next month
Your Comment
Our Response: See previous.
RSVP Tab
This screen shows a list of all meetings that the employee has been requested to attend that
they have yet to decline or accept. Clicking on a meeting brings up a two-button dialog box
with the buttons ACCEPT and DECLINE, as well as all the meeting information.
Your Comment
Our Response
Availability Tab
This tab will present users with a number of buttons like those shown below to provide a
wide variety of scheduling options. Items shown with lines beneath them will be pop-up
menus Mon will present a pulldown list of days of the week. Times can be specified as available or
unavailable. For example, an employee may enter his weekly hours as available and then enter a
specific time on a specific day when they are unavailable.
Your Comment
Our Response
The Meeting Scheduler Subsystem:
This important subsystem is dealt with through the 'Meeting Manager' page on the right
side of the screen. Users first select 'Attending Meetings` (all meetings the user is
scheduled to attend) or 'My Meetings' (all meetings the user has scheduled). The Meeting
Manager page then shows a chronological list of all applicable meetings within the time
period selected on the left.
All functions in this subsection use the meeting information
form accessed by clicking the Meeting Manager tab then clicking on a meeting listed on the tab or
clicking the Schedule Meeting button to get a blank meeting information form. The Meeting
information form has the following fields that can be edited as described..
Your Comment
Our Response
Our Response
Note also:
Under Availability tab the user will now be able to select the times he/she is
available using the mouse button by highlighting the times and days for a normal
work week.
5. Regular Attendees: List of people who will normally attend meetings
Your Comment
Our Response
12. Priority (of the meeting being scheduled): by clicking on the color codes to indicate
importance of meeting.
Your Comment
Our Response
13. Room Number
Your Comment
Our Response
FUNCTION: Display Meeting Information
OUTPUTS:
1) TOPIC - the topic of the meeting in a dialogue box
2) DATE - in the form of month/day/year
Your Comment
Our Response
6) AGENDA - an outline of what will be discussed in the meeting
Your Comments
FUNCTION: Schedule meeting
Your Comment
This is what we want:
Function Description:
To schedule a meeting, user has to click on the Meeting Manager tab. User will see a list of "My
Meetings", by selecting any of the listed meetings there, users can view the particulars of that
meeting. To schedule a new meeting, user has to select "New" at the end of the...
Your Comment
Our Response
A "Meeting Series Title" will display the following information:
Our Response
An AGENDA with no limits on the number of lines can then be typed in...
Your Comment
Our Response
...by the user. The PRIORITY follows after this. User can specify
the priority of the meeting by clicking on the color code provided.
Your Comment
Our Response
After the information is entered, the system will search for a time slot that will fit the
requirements of this schedule. When the system finds an...
Your Comment
Our Response
Note: Places to hold meeting are always available to hold any number of people. Places are
selected by the system.
Your Comment
Our Response
FUNCTION: Cancel Meeting
Your Comment
We would like:
Our Response
The attendee cannot cancel the meeting but can decline invitation at any time
by selecting the meeting in their daytimer and clicking the "cancel" button.
There a message sent to the convenor.
INPUT:
Your Comment
Our Response
FUNCTION: Change a Meeting
INPUT
OUTPUT
FUNCTION DESCRIPTION
To edit a scheduled meeting,
type over existing field text.
To save the changes,
click on SAVE button
To cancel / abort changes,
click on the CANCEL button
To add new aliases,
click on the ALIAS button (see Add Aliases)
Sample Interaction Dialogue
The Accounts Manager decides to change the Topic of the meeting, postpone his m$
10am) to 11am, to include (in that meeting) the Production Manager and the Sale$
a new item on the agenda. He clicks the 'Meeting Manager' tab, selects 'My Meet$
the meeting information form for that meeting, edits the meeting data and then $
informed of the changed plans.
Your Comment
Our Response
Your Comment
Our Response
Your Comments
Our Response
Your Comment
Our Response
Our Response
Level I DFD
Level II DFD
Level III DFD
Table Definitions
Group Table
Booking Table
Relates to: Employee Table
Messages Table
Relates to: Employee Table
Meeting Table
Relates to: Employee Table
Relates to: Group Table
For once a week, the meeting may fall on the weekend.
Team Organization
Executive Summary & Final Edit
Your Amendments
List of Annotations and Responses extracted from the Functional Specification
and Management Plan Document
Our Response
Our Document
Our Document
Our Responses
Our Document
Our Responses
Our Document
Our Responses
Our Document
Our Responses
User Interface
Our Response
Our Document
Our Response
Our Document
Our Document
Our Document
Functional Specifications
Our Document
Our Document
Our Responses
Our Document
Our Document
Our Document
Our Document
Our Document
Our Document
Our Document
Our Document
Your Comment
Our Document
Our Document
Our Document
Our Document
Our Document
Our Response
Our Document
Our Response
Our Document
Our Document
TITLE:
DATES (MM/DD/YY): dd/mm/yy
TIME (HH:MM): optional
LENGTH (30 MINUTES TIME SLOTS):
ATTENDEES:
AGENDA:
PRIORITY:
Your Comment
Our Document
Our Document
Our Document
Our Document
Our Document
Our Document
Our Document
Our Document
GLOSSARY OF INPUTS AND OUTPUTS
TERMS FORMAT VALUE
----------------------------------------------------------------
AGENDA Characters Agenda of the meeting - unrestricted
format
Our Documents
ATTENDEES Characters Names of individual(s) invited to
attend the meeting.
Our Documents
DATE MM/DD/YY date of meeting to be scheduled.
date may be entered by
* clicking on the date on the
calendar
* typing in the value
- Possible typos
* invalid format
* illogical date
Our Documents
TIME HH:MM Numeric
HH - hours, range 00-23
MM - minutes, range 00-59
system assigned value, if not entered
Your CommentEnd of Document