WorldPad SRS

From LSDevLinux
Jump to: navigation, search

WorldPad Software Requirement Specifications.

Introduction

In an agile development environment where requirements can change rapidly, it's important to keep track of the current requirements, so that developers develop what is required. In the absence of any requirement management software, this document attempts to specify all WorldPad's current requirements.

Overall Description

TODO fill this in when I am very board.

Product perspective

Product functions

Operating environment

User environment

Design/implementation constraints

Assumptions and dependencies

External Interface Requirements

User interfaces

Hardware interfaces

Software interfaces

Communication protocols and interfaces

4. System Features

Loading a XML Document

Description and priority

High priority.

Worldpad should be able to load a 'Worldpad' XML document file.

Action/result

Functional requirements

Saving a XML Document

Description and priority

Worldpad should be able to save a 'Worldpad' XML document file.

Action/result

Functional requirements

Editing a Document

Description and priority

High priority.

Worldpad should be able to edit an existing document or create a new document.

Action/result

Functional requirements

Entering text
. Enter Roman text at insertion point.
. Enter Complex text at insertion point, using a SCIM keyboard.
. Space should show at insertion point when typed.
key presses

key presses when no text is currently selected.

. Key press 'UP Arrow' - should move the insertion point in a way consistent with the current writing system. 
. Key press 'DOWN Arrow'  - should move the insertion point in a way consistent with the current writing system.
. Key press 'LEFT Arrow' - should move the insertion point in a way consistent with the current writing system.
. Key press 'RIGHT Arrow' - should move the insertion point in a way consistent with the current writing system.
. Key press 'HOME' - should move the insertion point to the start of the line.
. Key press 'END' - should move the insertion point to the end of the line.
. Key press 'CTRL - HOME' - should move the insertion point to the start of the document.
. Key press 'CTRL - END' - should move the insertion point to the end of the document.
. Key press 'SHIFT - HOME' - should create a selection from the current insertion point to the start of the current line.
. Key press 'SHIFT - END' - should create a selection from the current insertion point to the end of the current line.
. Key press 'PAGE UP' - should TODO
. key press 'PAGE DOWN' - should TODO
. key press 'SPACE' should insert a space at the current insertion point in a way consistent with the current writing system.
. key press 'CTRL SPACE' should TODO (not ment to insert a space)
. key press 'ENTER' should should insert a new line.
. key press 'CTRL ENTER' should insert a new line.
. key press 'BACKSPACE' should delete the previous character at the insertion point. The previous character may be dependent on the current writing system.
. key press 'DEL' should delete the next character at the insertion point. If the next character doesn't exist then the previous character should be deleted.
. key press 'Tab' should TODO
. The next and previous characters may be dependent on the current writing system. 

. key press 'Ctrl - z' - should UNDO - TODO
. key press 'Ctrl - y' - should REDO - TODO

key presses when text is currently selected.

. Key press 'UP Arrow' - should cause text to be deselected, and should move the insertion point in a way consistent with the current writing system.
. Key press 'DOWN Arrow'  - should cause text to be deselected, and should move the insertion point in a way consistent with the current writing system.
. Key press 'LEFT Arrow' - should cause text to be deselected, and should move the insertion point in a way consistent with the current writing system.
. Key press 'RIGHT Arrow' - should cause text to be deselected, and should move the insertion point in a way consistent with the current writing system.
. Key press 'HOME' - should cause the text to be deselected and the insertion point to be moved to the start of the current line.
. Key press 'END' - should cause the text to be deselected and the insertion point to be moved to the end of the current line.
. Key press 'CTRL - HOME' - should move the insertion point to the start of the document.
. Key press 'CTRL - END' - should move the insertion point to the end of the document.
. Key press 'SHIFT - HOME' - should create a selection from the current insertion point to the start of the current line.
. Key press 'SHIFT - END' - should create a selection from the current insertion point to the end of the current line.
. Key press 'PAGE UP' - should TODO
. key press 'PAGE DOWN' - should TODO
. key press 'SPACE' should insert a space at the current insertion point in a way consistent with the current writing system.
. key press 'CTRL SPACE' should TODO (not ment to insert a space)
. key press 'ENTER' should should insert a new line.
. key press 'CTRL ENTER' should insert a new line.
. key press 'BACKSPACE' should delete the previous character at the insertion point. The previous character may be dependent on the current writing system.
. key press 'DEL' should delete the next character at the insertion point. If the next character doesn't exist then the previous character should be deleted.
. key press 'Tab' should TODO
. The next and previous characters may be dependent on the current writing system.
. key press 'Ctrl - z' - should UNDO - TODO
. key press 'Ctrl - y' - should REDO - TODO


The Following Characters should not insert or delete any text in WorldPad regardless of weather text is selected or not.

. key press 'Caps Lock'  
. key press 'Num Lock' 
. key press 'Scroll Lock'
. key press 'Home'
. key press 'End'
. key press 'PAGE UP'
. key press 'PAGE DOWN'
. key press 'Insert'
. key press 'UP Arrow'
. key press 'DOWN Arrow'
. key press 'LEFT Arrow'
. key press 'RIGHT Arrow'
. All Function Keys 'F1 - F-MAX'
. key press 'Pause/Break'
Selecting text
. Text should be able to be selected using the mouse, without selecting the preceding space.
. Text should be able to be selected using the keyboard, with a combination of the arrow keys and shift key, without selecting the preceding space.
Scrolling
. If as a result of a key press the insertion point moves out of the view of the current document then WorldPad should automatically scroll the view so that the insertion point is shown.
. Moving Worldpad's scroll bars should scroll the view.
. If the current views horizontal dimension are less than Worldpad's display area then scrolling should not be allowed horizontally.
. If the current views vertical dimenstion are less than Worldpad's display area then scrolling should not be allowed vertically.
. Worldpad should be able to scroll the current document using the mouse wheel.
Displaying Text style at insertion point
. Worldpad should display the font information of the current text style at the insertion point. If the insertion point moves Worldpad should automatically update the display of the font information. 
Font display information should include
. Font Name.
. Font Size.
. Bold? 
. Italic?
. RTL?

. Worldpad should display the Selected Writing system at the insertion point. If the insertion point moves Worldpad should automatically update the display of the Currently selected writing system.
. Worldpad should display the Currently Selected Named Style. If the insertion point moves Worldpad should automatically update the display of the currently selected named style.
Displaying Text style of selected text
. Worldpad should display the font information of the currently selected text.
. If the selection spans text of different styles, Worldpad should display empty Combo boxes, for any conflicting styles.
Editing Text style at insertion point
. Worldpad should allow the Editing of the text style at the current insertion point.
The following text styles should be editable.
. Font name
. Font size
. Bold?
. Italic?
. RTL?
. Worldpad should allow the editing of the currently selected writing system.


Editing the Text style of a Selection
. Worldpad should allow the Editing of the text style of the current selected text.
The following text styles should be editable.
. Font name
. Font size
. Bold?
. Italic?
. RTL?


Named Text Styles
. World Pad should define the following Named text styles:
  Normal - defined as Times New Roman - font size 10
  Heading 1 - defined as DejaVu Serif - font size 14 - Bold
  Heading 2 - defined as DejaVu Serif - font size 12 - Italic
  Heading 3 - defined as DejaVu Serif - font size 12
  Note - Times New Roman Requirement replaced with DejaVu Serif as Times New Roman Roman doesn't exist by default on Ubuntu.--Hindlet 17:00, 15 September 2008 (MDT)
 The attributes of a named style should be affect the text the style is applied too unless an explicit text property is or has been applied to the text.
 IE. named style attributes have lower priority than explicitly set attributes.

5. Other Nonfunctional Requirements

Performance requirements

This is a screen shot of the Welcome.wpx running in the Windows version of Worldpad.

Welcomewpx.jpg

Safety requirements

Security requirements

Software quality attributes

Project documentation

User documentation

6. Other Requirements