Requirements Specification

Rosey Calendar

Mark Ardis

November 24, 2003


Table of Contents


Introduction

The Rosey Software company wishes to produce a simple calendar product to sell to office workers. The calendar product, hereafter referred to as "Rosey Calendar", would allow office workers to organize and schedule their time. The benefits of the tool should justify a hefty price tag.


Special Terms/Abbreviations

Term

Definition

ASCII

American Standard Code for Information Interchange


Current Client System Description

Office workers currently use paper-based calendars to record their commitments, such as meetings.


User Characteristics

Users

Some of the intended users of Rosey Calendar are office workers with no previous experience with computer-based calendar systems. These users have personal computers that they use in their daily work, but they only use a few specific tools on those computers. Some of the intended users of Rosey Calendar are office workers with extensive experience with computer-based calendar systems, such as found in Microsoft Outlook. These users will be encouraged to use Rosey Calendar due to its simplicity, robustness, and commonality with other workers.

User's Environment

Each user has their own personal computer running Microsoft Windows XP Professional Edition. They will use Rosey Calendar throughout the day to schedule appointments and to check on upcoming meetings. Each evening their personal file space is automatically backed up by their computing center. Calendar information should be saved in files that are accessible to the users of the Rosey Calendar in their normal personal file space.


Requirements

1 External Interfaces

1.1 User Interfaces Subsection

The initial user interface for Rosey Calendar shall be ASCII text based. Commands to insert, change, or delete appointments will be initiated by simple command-line invocations. Output of commands will be short messages or displays of current appointments.

4 commands will be supported:

ˇ        insert: create a new appointment in the calendar

ˇ        change: modify an existing appointment

ˇ        delete: remove an appointment

ˇ        print: display appointments within a specified date and time range.

ˇ        quit: exit the application

Here are samples of possible implementations of these commands. The user's input is shown in bold italic. The notation "<CR>" indicates that the user typed only a carriage return.

% RC? i

Insert > New appointment name? Lunch

Insert> New appointment date? 12/2

Insert> New appointment start time? 12:00

Insert> New appointment stop time? 12:30

% RC? c

Change> Existing appointment date? 12/2

Change> Existing appointment start time? 12:00

Change> Existing appointment name? [Lunch] <CR>

Change> New appointment name? [Lunch] <CR>

Change> New appointment date? [12/2] <CR>

Change> New appointment start time? [12:00] <CR>

Change> New appointment stop time? [12:30] 1:00

% RC? p

Print> Starting date? 12/1

Print> Starting time? 8:00

Print> Ending date? 12/2

Print> Ending time? 12:00

12/1

 8:00  Breakfast

10:00  CSSE 376

12:00  Lunch

12/2

 8:00  Breakfast

10:00  CSSE 376

12:00  Lunch

% RC? q

Note that a more attractive user interface should be developed later. For example, it should be possible to view the current appointments in a separate window and select appointments by clicking on them.


2 Functional Requirements

It should be possible to enter appointments for any reasonable date in the future, up to 10 years from the current date.

It should not be possible to enter appointments for dates in the past.

It should be possible to enter more than one appointment for the same date and time. That is, Rosey Calendar should not do any checking for conflicts.

 It should be possible to print all appointments for any reasonable range of dates and times, including the past.


3 Performance Requirements

Rosey Calendar should respond to user input within less than a second.


4 Logical Database Requirements

Each user's appointments should be kept in a simple ASCII file.


5 Design Constraints

Rosey Calendar must be implemented in Java.


6 Software System Attributes

6.1 Reliability

Rosey Calendar should have a mean-time to failure of 5 years.

6.3 security

Although the information stored in Rosey Calendar may be sensitive in nature, Rosey Calendar need provide no extra assurance of security than is already provided by the user's operating system.


7 Other Requirements

Future versions of Rosey Calendar may improve the appearance of the user interface. The system should be designed so that new versions may reuse most of the core computation components of earlier versions.


Use Case Model

(to be completed later)


Scope of the Project

All currently-described features should be available in the first release of the product.


Deliverables

Item

Due

Media

Description

Test plan

12/9/2003

electronic

Description of all testing activity

Source code

12/19/2003

electronic

All source code produced by the project team

Unit test results

1/9/2004

electronic

Results of all unit testing on version 1

Integration and system test results

1/16/2004

electronic

Results of all system testing on version 1

Usability test plan

1/23/2004

electronic

Description of usability testing plans

Usability test results

2/3/2004

electronic

Results of usability testing

Regression test results

2/10/2004

electronic

Results of regression testing

Acceptance test results

2/13/2004

electronic

Results of acceptance testing


To Do List
 

#

Who

Due

What

1

Mark

12/8/2003

Draft use cases

2

Mark

12/8/2003

Spell chek


Revision History

Date

Who

Revision

11/24/2003

Mark

Created initial draft