Requirements Specification for an Electronic Calendar Tool

Requirements
for an Electronic Calendar Tool
Version 1.0
4 November 2015




Contents

1.  Introduction
     1.1. Problem Statement
     1.2. System Personnel
     1.3. Operational Setting
     1.4. Impacts
     1.5. Related Systems

2.  Functional Requirements
     2.1. User Interface Overview
         2.1.1. Command Summary for Regular Users
         2.1.2. Command Summary for Administrative Users
         2.1.3. Command Summary for Unregistered Users
         2.1.4. Screen Map
     2.2. Basic Appointment Scheduling
     2.3. Viewing Calendars
         2.3.1. Viewing the Calendar at Different Levels
             2.3.1.1. Day View
             2.3.1.2. Week Views
             2.3.1.3. Month View
             2.3.1.4. Year View
             2.3.1.5. Scheduled Item View
         2.3.2. Viewing Previous, Next, and Specific Calendar Dates
             2.3.2.1. Next and Previous
             2.3.2.2. Today
             2.3.2.3. Goto Date
             2.3.2.4. Upper and Lower Date Bounds
         2.3.3. Viewing Lists of Scheduled Items
             2.3.3.1. Appointment Lists
             2.3.3.2. Meeting Lists
             2.3.3.3. Task Lists
             2.3.3.4. Event Lists
             2.3.3.5. All Items Lists
             2.3.3.6. Custom Lists
         2.3.4. Filtered Viewing
             2.3.4.1. Custom Filter Definition
                 2.3.4.1.1. Title
                 2.3.4.1.2. Earliest and Latest Date
                 2.3.4.1.3. Earliest and Latest Time
                 2.3.4.1.4. Duration
                 2.3.4.1.5. Recurring?
                 2.3.4.1.6. Category
                 2.3.4.1.7. Location
                 2.3.4.1.8. Security
                 2.3.4.1.9. Priority
                 2.3.4.1.10. Task Priority
                 2.3.4.1.11. Completed? and Completion Dates
                 2.3.4.1.12. Remind?
                 2.3.4.1.13. Details
                 2.3.4.1.14. Attendees
             2.3.4.2. Using Custom Filters
         2.3.5. Viewing Other Users and Group Calendars
             2.3.5.1. Viewing Other User`s Calendars
             2.3.5.2. Viewing Group Calendars
         2.3.6. Viewing in Different Windows
             2.3.6.1. Windowing Mode
                 2.3.6.1.1. Per-Level Windowing Mode
                 2.3.6.1.2. Two-Window Mode
                 2.3.6.1.3. Multi-Window Mode
             2.3.6.2. Magnetizing Windows
     2.4. More Scheduling
         2.4.1. Scheduling Meetings
             2.4.1.1. A Group Leader Scheduling Two Straightforward Meetings
             2.4.1.2. A Group Leader Encountering Difficulties While Scheduling
             2.4.1.3. A Super-Group Leader Scheduling a Meeting
             2.4.1.4. A Non-Leader Scheduling a Meeting for Selected Individuals
             2.4.1.5. Receiving and Accepting Meeting Notifications
             2.4.1.6. Further Operational Details of Meeting Scheduling
                 2.4.1.6.1. The Contents of Group Calendars
                 2.4.1.6.2. Scheduling Over Private Items
                 2.4.1.6.3. The Status of Not-Yet-Accepted Meetings
                 2.4.1.6.4. Creation of New Categories
                 2.4.1.6.5. The Role of the Location Database
                 2.4.1.6.6. Non-Unique Scheduled Meetings
                 2.4.1.6.7. Concurrent Scheduling
         2.4.2. Scheduling Tasks
         2.4.3. Scheduling Events
     2.5. Finer Points of Viewing and Scheduling
         2.5.1. Item-Level Viewing
             2.5.1.1. Viewing Appointment Items
             2.5.1.2. Viewing Meeting Items
             2.5.1.3. Viewing Task Items
             2.5.1.4. Viewing Event Items
             2.5.1.5. Item-Level Viewing in Other Users' Calendars
         2.5.2. Changing and Deleting Scheduled Items
             2.5.2.1. Changing and Deleting Appointments
             2.5.2.2. Scheduler Changing and Deleting Meetings
             2.5.2.3. Changing and Deleting Tasks
             2.5.2.4. Changing and Deleting Events
         2.5.3. Details of Scheduling Recurring Items
             2.5.3.1. Weekly/Biweekly Intervals
             2.5.3.2. Monthly Intervals
             2.5.3.3. Yearly Intervals
             2.5.3.4. Recurring Meeting Requests
             2.5.3.5. Recurring Items and Instances
         2.5.4. Receiving Reminders
         2.5.5. Editing Categories
         2.5.6. Dynamic View Updating
     2.6. Administrative Functions
         2.6.1. Gaining Administrative Access
         2.6.2. User Database
         2.6.3. Group Database
         2.6.4. Location Database
         2.6.5. Other Admin Commands
         2.6.6. Regular User Access to Admin Commands
             2.6.6.1. Summary of Super User Privileges
     2.7. Individual User Options
         2.7.1. Times and Dates
         2.7.2. Scheduling Options
             2.7.2.1. Accepting Meeting Notifications
         2.7.3. Viewing Options
             2.7.3.1. Initial View Level
             2.7.3.2. List Length
             2.7.3.3. Other Lists Options
                 2.7.3.3.1. Expand Recurring
             2.7.3.4. External WWW Browser
         2.7.4. Administrative Options
             2.7.4.1. The Text Body of Meeting Announcements
         2.7.5. Advanced Options
     2.8. Details of File Commands
         2.8.1. Invoking the Calendar Tool from the Underlying Operating Environment
         2.8.2. New, Open, and Close
         2.8.3. Save, Save As, Save All
         2.8.4. Save Config
         2.8.5. Printing
     2.9. Details of Edit Commands
         2.9.1. Undo, Redo, Repeat
         2.9.2. Cut, Copy, Paste
         2.9.3. Find
         2.9.4. Text Command Interface
     2.10. Help
     2.11. Data Entry Details
         2.11.1. Date Formats
         2.11.2. Item Uniqueness Requirements
         2.11.3. Scheduling Dialogs and Item-Level Displays
             2.11.3.1. Meeting Scheduling Dialogs
             2.11.3.2. Defaults
         2.11.4. Required Fields
         2.11.5. Selecting Viewing Targets
         2.11.6. Deletion of Scheduled Items
         2.11.7. Overlapping Items
         2.11.8. Category Editing Details
         2.11.9. String and Pattern Matching Rules
         2.11.10. Regular Expression Filtering Patterns
         2.11.11. Boolean Expression Filtering Patterns
         2.11.12. System-Defined Events
         2.11.13. Dialog State Details
             2.11.13.1. Custom List Dialog
         2.11.14. Combo-box menu text truncation and other behaviours
         2.11.15. Default Names
         2.11.16. Name Completion
         2.11.17. Meeting Minutes
         2.11.18. Merging Scheduler Changes
         2.11.19. Change and Delete of Recurring Items
         2.11.20. Picky Details about Change/Delete Button Enabling
     2.12. Error Conditions
         2.12.1. Non-Admin Attempting to Login as Admin
         2.12.2. Commands with No Effect
         2.12.3. Searching for Unknown User
         2.12.4. Scheduling Errors
             2.12.4.1. Unknown Meeting Attendees
             2.12.4.2. Meeting Scheduler Validation
             2.12.4.3. Non-Unique Items
             2.12.4.4. Changing a Meeting to an Unavailable Location
         2.12.5. Errors from an External WWW Browser
         2.12.6. Administrative Errors
     2.13. Graphical User Interface Details
         2.13.1. 28jun01 Note
         2.13.2. View Command Display Details
             2.13.2.1. Resizing Windows
             2.13.2.2. Details of Horizontal Overlap Display
         2.13.3. Banner Augmentation
         2.13.4. Window Positioning for Next/Previous Commands
         2.13.5. Non-Modal Dialogs
     2.14. Multi-User Operating Environment
         2.14.1. Invoking the Calendar Tool from the Operating Environment
         2.14.2. The Central Calendar Repository
         2.14.3. Messaging
         2.14.4. Coordination
         2.14.5. Implementation Considerations

3.  Non-Functional Requirements

4.  Developer Overview

5.  Formal Specification


List of Figures   |   List of Tables