Functional Specifications and Management Plan
Integrated Software Solutions Inc.
January 28, 1997
The following document presents the functional specification and management plan for the design of the Super Scheduler, prepared by Integrated Software Solutions Inc.
Table of ContentsIntroduction User Interface and Interaction Technical Specifications Management Plan Glossary Contributors
Purpose - Users - System Requirements - Performance Goal
Imagin8 Inc. requires a group diary and time management system to cope with the problems associated with the recent expansion of their company. In response to these needs, Integrated Software Solutions Inc. has designed Super Scheduler for the organization of office meetings and personal activities. Super Scheduler is expected to facilitate and support the coordination of meetings across groups of co-workers.
Currently, Imagin8 Inc. relies on personal contact with employees for the scheduling of appointments. Super Scheduler will automate the present timetabling procedure, thereby reducing the time currently needed to accomplish such tasks.Users
The system will be composed of two types of users, employees and administrators.
Employees are able to request meetings with co-workers on a first come, first serve basis. Employees may also schedule personal activities, delete and modify meetings and view personal diary entries. Employees will have the ability obtain detailed information about meetings.
Administrators have the added ability to access employee information records. Administrators can add new employees to the database, delete current employees or modify employee information. Administrators may also access an employee's diary, viewing details pertaining to scheduled appointments and meetings. Administrators have the ability to change users' schedules as well.
System RequirementsSuper Scheduler is designed to run on Intel Pentium-based computers using the Microsoft Windows 95 operating system. Sixteen megabytes of RAM are required for the server, eight for each client workstation. The system will run over any Windows 95 compatible network, or optionally as a standalone unit encompassing both client and server roles (chiefly for demonstration purposes).Performance Goal
ISSI will provide Super Scheduler, a custom software solution which will reliably and efficiently automate the meeting scheduling process. Imagin8's enhanced ability to co-ordinate its staff will result in increased productivity.
Timetabling and Diary Subsystem Employee Management Subsystem
ISSI has created Super Scheduler's graphical user interface, or GUI, to maximize the user's efficiency. Designed with ergonomic, intuitive controls, even a novice computer user can quickly get up to speed. This section describes in detail how the application is organized and how to perform each function. We will describe first items that concern all users: the Timetabling and Diary Subsystem (TDS) allows users to view and adjust their schedules, including booking and canceling meetings. We then describe the additional functionality available to system administrators: the Employee Management System (EMS) is the mechanism by which employees are added and removed, or their accounts modified. An administrator is able to view everyone's schedule.
Starting the Application - Help - About - Previous and Next - Change Password - Delete - View/Modify - Schedule a new meeting - Modify the details of scheduled meeting
Starting the Application
To start the application, click the start button, drag the mouse to the 'Programs' sub-menu, and click 'Super Scheduler'. Upon its execution, the login screen window will be displayed as follows:
To log into the system, click in the 'Full Name' field and type into it your full name, beginning with you first name followed by your last name. Then, click into the 'Password' field or press the 'tab' key and enter you password. After all of the above information has been entered, click the 'OK' button or press the 'enter' key. If either your name or password haven't been entered correctly, you will be prompted to try again. The information can be re-entered in the same manner as specified above.
As soon as you have logged in correctly, the main screen is displayed as follows:
This is the primary screen of Super Scheduler. It allows the user to view an entire month at one time. The month and year corresponding to the current display is printed between the 'Previous' and 'Next' buttons. Days on which meetings have been scheduled will be highlighted. The top portion of the day will be highlighted if there is a meeting scheduled in the morning and the bottom half will be highlighted if a meeting is scheduled for the afternoon. If there are meetings scheduled in both the morning and afternoon, the entire day will be highlighted. In order to view the detailed schedule for a particular day, the user must click on that day. The schedule for the selected day will be displayed in the box to the right of the calendar display. It will contain the times (in fifteen minute intervals) along with the location and subject of the meeting.
Help
If at any time you are unsure of how to proceed, you may select the 'Help' button to view the on-line help information. This button can be found on both Super Scheduler's main screen and on the 'Meeting Details' dialog.
About
Selecting the 'About' button on the main screen of the Meeting Planner will display a window showing you information about the product such as the version number our company name and copyright information. Selecting 'OK' or pressing the 'enter' key will close the window.
Previous and NextBy clicking on these buttons, the user may scroll through the months. It is possible to view the schedules for one month previous to the current month and up to twelve months ahead of the current month.
Change PasswordTo change your password, select the 'Password' button located on the main screen. The following window will be displayed:
Click in the 'Old Password' field and enter the password you are currently using. Then, press the 'enter' key or click in the 'New Password' field and enter the password you wish to use from now on. Similarly, press the 'enter' key or click in the 'New Password - Verify' field and re-type your new password. After the above information is entered, select the 'OK' button or press the 'enter' key. If your new password matches the one that you typed in the 'New Password - Verify' field, your password is changed immediately and you can use it the next time you log in. If some of the information was entered incorrectly, a message will be displayed asking you to try again. The information may be re-entered in the same manner described above.
Delete
This button will be used when you wish to either remove a meeting that you do not wish to attend from your schedule or to cancel a meeting that you have scheduled. This is done by first selecting the appropriate entry in the daily schedule for the appropriate day. If it is a meeting that you have scheduled, it will be automatically removed from the schedules of those scheduled to attend. If it is a meeting that you have been scheduled to attend, and you were not the originator of the meeting then it will simply be removed from your schedule with no effect on the rest of the attendees or the meeting itself.
View/Modify
This button may be used for several different purposes. It is selected in order to view the details about a meeting, or in order to schedule a meeting. Upon selecting the 'View/Modify' button, the 'View/Modify Meeting Details' window (below) will be displayed:
This window is used to perform the following functions:
Before selecting the 'View/Modify' button, you must ensure that you are working with the proper month and day. Recall that the current month and day are indicated on the left side of the main screen. You may now use a View or Modify button to access meeting particulars.
View the Details of a Meeting
Selecting the 'View details' button will cause the Meeting Details to be displayed. This window will display the title of the meeting along with its start and end times, location, applicable notes, and includes a roster of company personnel, and of employees who will be attending the meeting. If this is not a meeting that you scheduled you will not be allowed to alter most of the information. You may use the scroll bars if necessary in order to read the 'Notes' field or the list of employees in the 'Meeting Attendees' field.
Schedule a New Meeting
Prior to scheduling a new meeting, you must select the appropriate day from within the main window. Once the date has been selected, open the 'View/Modify Meeting Details' window. The following details must be entered in their corresponding fields:
Modify the Details of a Meeting you have Scheduled
After selecting the meeting that you wish to alter and then selecting the 'View/Modify' button, the 'Meeting Details' window will be displayed containing the pertinent details of the meeting. If you were the originator of the meeting, you may alter any of the fields in this window. You may do any combination of the following:
These changes can be made by simply editing the text in the field or by using the scroll bars or arrow buttons as necessary. When you have completed these changes, you may enforce them by selecting 'OK' or ignore them by selecting 'Cancel'. Either of these options will then return you to the Super Scheduler main screen.
Employee Management SubsystemAdd New - Modify - Remove
In addition to the functionality detailed above, administrators also utilize the Employee Management Subsystem. When an administrator is using the system the following window will be displayed in addition to Super Scheduler's main screen.
Add New
Selecting this button will cause the following 'Add New Employee' window to be displayed:
The administrator will enter the appropriate information by clicking in the appropriate field and typing text. If an employee already exists with both the same first and last names as the new employee just entered, a message will be displayed and the administrator must either select 'Cancel' if indeed the employee has already been entered, or re-enter the name perhaps providing a middle initial or other difference to distinguish the new employee from an already existing employee. When all information has been entered to the administrator's satisfaction, he/she must then select 'OK' to add the employee or 'Cancel' to discard the information. The 'Add New Employee' window will be closed and the new employees name will be included in the 'Company Personnel' field in the 'Administration' window.
Modify
This button allows an administrator to work with the schedule of the selected employee. The administrator has full control over the employee's schedule.
Remove
This button allows an administrator to delete the selected employee from the company database. A warning box will be displayed:
If the administrator proceeds with employee deletion, the software will cancel every meeting the employee originated and remove him as an attendee from all other meetings before deleting the employee.
TDS FunctionsTDS Functions TDS Functions - If time permits EMS Functions Auxiliary Functions Data Structures and Algorithms
Add Meeting - View/Modify Meeting - Cancel Meeting Attendance - Cancel Meeting - Change Password
Add Meeting
Input:
Output:
Actions:
If Time Permits:
View/Modify Meeting
Inputs: Any of the following (or none)
Output:
Actions:
If Time Permits:
Cancel Meeting Attendance
Input:
Output:
Actions:
If Time Permits:
Cancel Meeting
Input:
Output:
Actions:
If Time Permits:
Change Password
Input:
Output:
Actions:
TDS Functions...
If Time Permits:Call Periodic Meeting
Input:
Output:
Actions:
Add Employee - View/Modify Employee Information - View Employee's Schedule - Delete Employee
Add Employee
Input:
Output:
Actions:
View/Modify Employee Information
Inputs: Any of the following (or none)
Output:
Actions:
View Employee's Schedule
Input:
Output:
Actions:
No details about the meetings can be seen; all meeting titles are
replaced with "
All options for diary modification (add meeting, modify meeting, delete diary entry, and cancel meeting) are made unavailable, as well as change password, which can be done in the View/Modify Employee Information function.
Delete Employee
Input:
Output:
Actions:
Auxiliary Functions
Login
Input:
Output:
Actions:
Logout
Input:
Output:
Actions:
Data Structures and Algorithms
We have identified three major structures: Employee and Meeting classes contain information, and the "is scheduled to attend" relation which ties Employee and Meeting together.
Diagram:The 'Employee' class contains the following fields: login, name, password, comment, and status. The 'Meeting' class contains date, duration, location, originator, and attendees field. The relationship between the two entity is the 'is attending' relationship consists of login name, and date. The following table is a detailed description of all the fields:
Table: Employee
P Column Data Type Comment Y ID Integer The unique ID to identify the employee Y UserName String[10] Alphabetic name
Used when the user logs in. This name should be unique in the system.
- Key for user identification
- The login name is used for individual user to login to the system, it consists of a unique name for each user.N FirstName String[20] First name N LastName String[30] Last name N Comment String[500] - Additional notes within the scheduled time the user may want to add to their scheduled meeting
- Used in schedule meetingsN Password String[8] Alphanumeric password
- This is a hidden field in the data store, it is a verification mechanism to identify to the same whether the login is a valid user or notN Administrator Boolean True for administrators, false for regular users
P Column Data Type Comment Y EmployeeID Integer The ID of the employee Y MeetingID Integer The ID of the meeting
P Column Data Type Comment Y ID Integer The unique ID for the meeting Y Date Date The day of the meeting Y StartTime Time The start time of the meeting Y EndTime Time The end time of the meeting Y Location Integer The id of the location 0-9999 N Originator Integer The id of the employee that originated the meeting N Comment String[500] A description of the meeting
Algorithms
Note that the two main database of this system is employee, and meeting, the relationship of these two will be a list of employee scheduled in a certain time of the meeting.
Two of the major algorithms for this system is the scheduling for meetings between all the employee that will be attending it. The program will ask for the names of employees who will attend this meeting; the start and end time of the meeting. The second algorithm is for dealing with the EMS subsystem.
Implementation Components - Minimal System - EnhancementsAs part of our management plan, we have divided the implementation of the system into 5 parts.
Super Scheduler is the integration of several components. The descriptions below provide an outline of how we have divided the implementation task.
The Super Scheduler will essentially have three components integrated into one software product. The descriptions below are not meant to be any kind of real specification but are just descriptions. They provide an outline of how the system will be decomposed into components that can be developed more or less independently.Minimal System
(1) The Database Back EndThis component involves designing the database in ACCESS and making a list of tables and attributes available to the team. These should be in HTML format on the web and must be up to date at all times.
Also, some framework classes should be developed for interaction between the database and the user interface. These classes are for opening/closing the database and manipulating record sets inside the C++ program.
(2) The Employee Management Subsystem (EMS)This system is as described in the customer's original spec. Employee management consists of adding/removing and modifying employees. The user should be able to scroll the employees as well.(3) The Navigation System
This component includes a dialog for viewing/editing employees.The navigators allows the user to view his schedule and view employees and/or meetings. This is the system the user uses to control what is done.(4) The Timetable and Diary Subsystem (TDS)
This component specifically includes:facilities to log in facilities to change a user password. facilities to view a daily schedule for one employee facilities to view a monthly schedule for one employee This component allows employees to manage their meetings. This includes creating meetings, getting out of meetings and cancelling meetings altogether. This system will contain the core of the scheduler meetings.(5) Documentationfacilities for Originators to create meetings facilities for message management. facilities for an employee to alter his own time table. facilities to modify scheduled meetings (or cancel them) some way of providing feedback to the user during scheduling conflicts This task involves documenting the current software process so other members can make use of other teams' components. Also it is for creating user documentation right from the start. This documentation will encompassAll documentation should be in HTML and accessible the development team.brief descriptions and progress reports of subsystems description of important classes and functions. Class Hierarchy diagrams Class interaction diagrams if possible.
Our estimate of the minimal system that can be developed with existing resources will consist of the following:Enhancements (time permitting)
EMS
The EMS will be fully functional. The administrator will be able
to add/modify/remove employees at will.
NAV
The Navigational facilities will allow employees to view their schedules
at daily and monthly time intervals
Direct navigation - ability to jump directly to any month/day
TDS
Users will be able to view meetings that they are attending or
that they are the Originator for.
Users will be able to modify meetings that they have scheduled.
User Messages will be simulated, when an action that results in messages
being sent is executed, some notice will appear. No actual messages will
sent as this feature can be integrated into the existing email system.
Milestones for ISSI
EMS
Users will be able to click on their schedules to have the full meeting
descriptions appear.
NAV
Users will be able to click on meetings in their schedule to see the
actual meeting.
Weekly navigation of diaries.
TDS
Users will be able to schedule weekly or monthly meetings.
Users will be able to cancel meetings weekly or monthly.
Messages will be sent to all users
An important part of ISSI's success is our ability to set milestones or mini-goals for ourselves, and more importantly, reaching these goals. The completion of "The Super Scheduler" is, unquestionably, our company's main objective. We believe this goal can (and will) be reached.
We have divided the implementation of Super Scheduler into three major components:EMS (Employee Management Subsystem) NAV (the Navigator) TDS (Timetable Diary Subsystem) By dividing the project into three separate components (which will eventually be linked together), this allows our team to be separated into sub groups; with each subgroup focusing on a particular component.
Our prototype deadline is February 24, 1997. We believe that the NAV will be fully implemented, the the EMS will be 75% implemented and the TDS 50% implemented. Please note that these estimations DO NOT imply that the system won't work. Due to time constraints, this simply means that not all functions will include enhanced features, although most of the important functions will. For example, the nagivator will navigate through the diary day by day or week by week instead of having the the full feature of navigating through the entire month. Further details of features and the above components will be provided below (The Minimal System).
In addition to division of tasks and milestones for each component, our team has also focused on other basic issues. These include requirements (software/hardware limitations and availability) for the actual implementation of the system. After some discussion we have decided on the following development platform:
Acquiring the above is a minor milestone in itself.Intel-compatible Processor, 16Mb RAM MS Windows 95 MS Visual C++ MS Access 95
A detailed description of all functions that will be available in the minimal system is provided in the technical specificationarea.
Administrator This indicates a user with special administration privileges. Attendees All employees that are scheduled for a certain meeting. Delete This button title indicates a more permanent deletion procedure. Employee This is a synonym for User. EMS The Employee Management Subsystem. Originator The employee that created a meeting is called the Originator of that meeting. Personnel All employees, regardless of their availability. Remove This button title is meant as a temporary action like moving an employee back and forth between list boxes.
Summary - User Interface - Management Plan - Document EditorsSummary
User Interface and InteractionJennifer Walker
Management PlanPatricia Cooper Dave Gomboc Jason Leonard Rick Peniak Dave Rempel Tom Zaplachinski
Document EditorsPhilip Cheung Toron Leung Juraj Pivovarov Ken Yeung
Dave Gomboc Juraj Pivovarov Dave Rempel Eric Sit Jennifer Walker