Make your own free website on Tripod.com

6 Software Design Specification

This section is a development of the requirements from Section 5 and is "an abstract description of the software design which is a basis for more detailed design and implementation" [32].

6.1 Simulation of Visual Impairments

This section refers to Req 1. It specifies how the symptoms of the visual impairments described in Section 2 should be simulated.

Requirement Visual Impairment Low Severity High Severity Static / Dynamic
Req 1.1  Myopia  Distant objects should appear slightly blurred.  Distant objects should appear blurred. Static
Req 1.2  Hyperopia  Near objects should appear slightly blurred.  Near objects should appear blurred.  Static

Req 1.3 

Glaucoma A large circular area of the display should be unobscured. The region outside this at the edges of the display should be black. A small circular area of the display should be unobscured. The rest of the display should be black. Dynamic
Req 1.4    Retinitis Pigmentosa A large circular area of the display should be unobscured. The region outside this at the edges of the display should be black. A small circular area of the display should be unobscured. The rest of the display should be black.  Dynamic

Req 1.5  

Macular Degeneration  A black patch should obscure a small area of the display at the centre of the field of vision. A black patch should obscure most of the display.  Dynamic
Req 1.6     Diabetic Retinopathy Small irregular black patches (floaters and blobs) should obscure parts of the display. The remaining areas should not be altered. Large black patches should obscure most of the display. The remaining areas should appear blurred. Dynamic
Req 1.7   Hemianopia with macular involvement The whole of one side of the visual field should be black. The other side should be unobscured. The whole of one side of the visual field should be black. The other side should be unobscured. Dynamic
Hemianopia with macular sparing One side of the visual field should be black, except for a semi-circular area around the centre of the field of vision which should remain unobscured. The other side of the visual field should also be unobscured.  One side of the visual field should be black, except for a semi-circular area around the centre of the field of vision which should remain unobscured. The other side of the visual field should also be unobscured.  Dynamic
Req 1.8 Cataracts - cloudy vision A small area at the centre of the field of vision should appear cloudy grey.  A large area of the display should appear cloudy grey. An area at the centre of the vision should be blurred. Dynamic
Cataracts - yellow/ brown vision The display should appear slightly yellow/ brown in colour.  The display should appear blurred and a yellow/ brown colour.  Static
Cataracts - double vision The whole of the display should have a slight double vision effect.  The whole of the display should have a pronounced double vision effect.  Static
Req 1.9 Colour Blindness - Protanopia Red, orange and yellow colours should be shifted in hue towards green. Purple and violet should appear blue.  The display should be monochromatic. Static
Colour Blindness - Deuteranopia  Green, yellow and orange colours should be shifted in hue towards red.  The display should be monochromatic. Static

Table 6.1 - Specification for the Simulation of Visual Impairments

6.1.1 Default Settings

The simulation should start with the settings described in Table 6.2

Type of visual impairment  Glaucoma
Severity of impairment  Medium
Centre of vision  Centre of window
Focal length Middle distance
Track to cursor mode Enabled

Table 6.2 - Default Settings

6.2 Dynamic Simulation

This section refers to Req 2 and species how the simulations should be dynamic.

The simulations of myopia, hyperopia, colour blindness and the 'yellow/brown' and 'double-vision' variations of cataracts are described as 'static' in Table 6.1. These conditions affect the whole of the field of vision. The display should not be dependant on the centre of the field of vision.

The simulations of glaucoma, macula degeneration, diabetic retinopathy, retinitis pigmentosa, the 'cloudy vision' variation of cataracts and hemianopia are 'dynamic'. The centre of the simulation should move around the display with the centre of the field of vision.

6.3 User Interactions

This section refers to Req 3 and describes the intended interactions with the user. The user should be provided with a popup menu to allow the settings in the simulation to be changed. The operation of the popup menu is described in the following sub-sections by a method based on Cognitive Walkthrough.

6.3.1 Cognitive Walkthrough

Cognitive walkthrough is "an analysis of the cognitive processing required to use an interface" [34] which does not involve participation from the user. Each user task is specified as goals and subgoals. "The designer specifies the actions to be taken to complete the task and the effect each action has on the display" [34].

6.3.2 Layout of the Popup Menu

The layout of the popup menu is described in Figure 6.1:

Menu Submenu
Change Visual Impairment Myopia
Hyperopia
Cataracts - Cloudy Vision
Cataracts - Yellow/ Brown Vision
Cataracts - Double Vision
Glaucoma
Retinitis Pigmentosa
Macula Degeneration
Diabetic Retinopathy
Hemianopia with Macular Involvement
Hemianopia with Macular Sparing
Colour Blindness - Protanopia
Colour Blindness - Deuteranopia
Change Severity of Impairment Very Low
Low
Medium
High
Very High
Change Focal Distance Near
Middle Distance
Far
Track To Cursor Enable
Disable
Save Settings As Default  
Apply Default Settings  
Quit Simulation  

Figure 6.1- Layout of Popup Menu

6.3.3 Initiate the Popup Menu

Requirement:  Req 3
Precondition: The user has started the simulation and is required to display the popup menu in order to change one of the settings.
Action:  The sequence of actions required by the user should be:
1. Move the cursor within the simulation window.
2. Hold down the Shift key.
3. Click the right mouse button.
Postcondition: The popup menu is displayed at the coordinates of the mouse click.

6.3.4 Set Type of Visual Impairment

Requirement:  Req 3.1
Precondition: The user has started the simulation and is required to change the type of visual impairment being simulated.
Action:  The sequence of actions required by the user should be:
1. Initiate the popup menu.
2. Select 'Change Visual Impairment' submenu.
3. Select an item from this submenu.
Postcondition: The display is updated with the selected visual impairment. Settings for the severity of the condition and the centre of the field of vision and the focal distance are unchanged.

6.3.5 Set Severity of Visual Impairment

Requirement:  Req 3.2
Precondition: The user has started the simulation and is required to change the severity of the visual impairment being simulated.
Action:  The sequence of actions required by the user should be:
1. Initiate the popup menu.
2. Select 'Change Severity of Impairment' submenu.
3. Select an item from this submenu.
Postcondition: The display is immediately updated. The selected severity is applied to the current visual impairment. Settings for the centre of the field of vision and the focal distance are unchanged.

6.3.6 Enable / Disable Track to Cursor Mode

Requirement:  Req 3.3
Precondition: The user has started the simulation and is required to start or stop tracking the centre of the field of vision to the mouse cursor.
Action:  The sequence of actions required by the user should be:
1. Initiate the popup menu.
2. Select the 'Track To Cursor' submenu.
3. Selects either 'Enable' or 'Disable' from this submenu
Postcondition: If 'Enable' was selected, the simulation enters the 'track to cursor = true' mode. The display is immediately updated. The centre of the field of vision is located at the current mouse coordinates. If 'Disable' was selected, the simulation enters the 'track to cursor = false' mode. The display is not updated. Settings for the type and severity of the visual impairment and the focal distance are unchanged.

6.3.7 Track to Cursor Mode

Requirement:  Req 3.3
Precondition: The simulation has started and the 'track to cursor' mode is enabled.
Action:  The sequence of actions required by the user should be:
1. The user moves the cursor using an appropriate input device
Postcondition: The display is updated with the centre of the field of vision set to the current cursor coordinates. Settings for the type and severity of the visual impairment and the focal distance are unchanged.

6.3.8 Set Focal Distance

Requirement:  Req 3.4
Precondition: The user has started the simulation and is required to change the focal length of the vision.
Action:  The sequence of actions required by the user should be:
1. Initiate the popup menu.
2. Select 'Change Focal Distance' submenu.
3. Select an item from this submenu.
Postcondition: The display is immediately updated. The selected focal distance is applied to the current impairment. Settings for the severity of the visual impairment and the centre of the field of vision are unchanged.

6.3.9 Save and Apply Default Settings

Requirement:  Req 3.5
Precondition: The user has started the simulation and is required to save or recall the default settings for the simulation.
Action:  The sequence of actions required by the user should be:
1. Initiate the popup menu.
2. Select either 'Save Settings As Default' or 'Apply Default Settings' from the menu.
Postcondition: If 'Save Settings As Default' was clicked, the current settings for the type of impairment, the severity the centre of vision, and the focal distance are stored as the default settings. If 'Apply Default Settings' was selected, the display is updated with the default settings applied.

6.3.10 Quit the Simulation

Requirement:  Req 3.6
Precondition: The user is required to quit the simulation.
Action:  The sequence of actions required by the user should be:
1. Initiate the popup menu.
2. Select 'Quit Simulation' from the menu.
Postcondition: The simulation terminates.

6.4 True Full Screen Mode

This section refers to Req 4 and describes the full screen mode.

To run in 'true full screen mode' the simulation window should have the same dimensions as the screen and should have no title bar or borders and should not be resizable. It should be the foreground window and should be above any other application windows.

6.5 Simulation of Computer Use

This section refers to Req 5 and describes the intended interactions with other software applications.

6.5.1 Displayed Output from other Applications

Requirement:  Req 5.1
Precondition: The user has started the simulation.
Action:  None.
Postcondition: The displayed output from applications running in background windows is modified according to the current settings for the simulation as defined in Table 6.1. Applications should be visible only in the unobscured areas of the display.

6.5.2 Key Presses

Requirement:  Req 5.2
Precondition: The user has started the simulation.
Action: 

The sequence of actions required by the user should be:
1. Press a key or combination of keys on the keyboard.

Postcondition: The key presses are transferred to any application running in a background window. The effect of the key presses is the same as if the simulation were not running.

6.5.3 Mouse Clicks

Requirement:  Req 5.2
Precondition: The user has started the simulation.
Action: 

The sequence of actions required by the user should be:
1. Position the cursor at the required screen location.
2. Click one of the mouse buttons.

Postcondition: The mouse coordinates and button states are transferred to any application running in a background window. The effect of the mouse click is the same as if the simulation were not running.

6.6 Summary

The software design specification added detail to the requirements in Section 5. It contains an abstract description of how the simulated visual impairments should affect the display and a description of how the user should interact with the system. The software design specification formed the basis for the design of the simulation of the visual impairments which is described in Section 8.


Stephen Ratcliffe. 2005
Department of Computer Science
University of York
Heslington
York
YO10 5DD