Software Requirements Specification
Authors: Andrew McGrath, Bryan Hobbs, Justin Duperre, Jon Polaski, David Abad, Todd Binger, Brian Palasz, Keith Sansoucy, Tony Tran, Neil Von Flattern, Dan Aikins
The requirements contained in this section were developed by students in the Fall 2010 CS 490 Software Engineering course at Western New England College (Prof. Heidi Ellis).
1. Introduction
1.1 Purpose
This document is the System Requirements Specification for Caribou. The organization of this document is based on the IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications. This document contains only a subset of the sections included in the full document and sections are numbered to follow the format provided in the full IEEE Std 830 specificaiton. For example, Section 2 only contains sub-section 2.3. This SRS contains information regarding scope of the Caribou project, terms and definitions related to Caribou and its users, Caribou user group classifications, and functional requirements.
1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations
Term |
Definition |
On-Screen Keyboard |
A graphical representation of a physical keyboard on the computer monitor. |
GNOME Accessibility |
A project focused on developing compelling free open source accessibility solutions for graphical user interfaces. |
Predictive Dictionary |
Minimizes required typing by predicting words as the user types and adding them to a list of predicted words for the user to choose from. |
Requires a key to be held down for a set period before keypress acceptance, preventing users with limited coordination from accidentally pressing undesired keys. |
More...
2. Overall Description
2.3 User Characteristics
There are two general classes of users:
Limited Mobility Users: A user with limited mobility will be using Caribou as an efficient solution for text entry. These users will use their preferred switch device as input and be using Caribou to assist in general computer tasks.
Visually Impaired Users: A visually impaired user will use Caribou to increase the size of keyboard characters and for customizable keyboard colors. These options will assist the user in identifying keys much easier more easily than if they were using a hardware keyboard. This user will interact with Caribou through a mouse or switch device and be using Caribou for general computer tasks.
3. Specific Requirements
3.2 Functions
The list of functions is still being added.
Title |
1. Character Key Selected |
Input |
User selects a key on the on-screen keyboard |
Action |
Decide what key was pressed |
Output |
Displays the character at the active insertion point on-screen |
Notes |
Not all keys are "character keys", i.e. they hold a character value. Some keys are toggle keys. |
Priority |
High |
Title |
3. Uppercase Key Selected |
Input |
User selects the uppercase button |
Action |
|
Output |
The system will change the keyboard to contain uppercase letter keys. |
Notes |
|
Priority |
High |
Title |
5. Display Caribou Preferences |
Input |
User selects the option to display Caribou preferences |
Action |
|
Output |
The system will display the window that allows preferences to be customized |
Notes |
Currently the preferences that may be customized are the keyboard layout, the colors used, and font and weight of the characters displayed on the keyboard. |
Priority |
High |
Title |
5A. Change Keyboard Layout |
Input |
User has displayed the preferences. User selects the option to select a new keyboard layout |
Action |
|
Output |
The system will show the selected keyboard layout (title) in the preferences area. |
Notes |
Currently layouts for English QWERTY, Spanish QWERTY, Spanish Lexographic, Hebrew, and QWERTY. Planned keyboards include English Lexographic |
Priority |
High |