Statement of Requirements

Due to the exploritive nature of this project it was decided that a traditional Statement of Requirements, broken into concrete functional and non-functional requirements, was not appropriate. Instead we produced a list of features we decided were essential to a good SLI application and a list of features which would be desirable in an SLI.

Essential Features

  • A spreadsheet can be created, opened and closed .
  • A spreadsheet can be resized.
  • An image can be loaded into a cell from file.
  • A spreadsheet or an image within a spreadsheet can be saved under the current or a new name.
  • The mouse can be used to select single or multiple cells. There is a select all option.
  • Cut, copy, paste and clear are available for all types of cell and for multiple selected cells.
  • Rows and columns can be inserted and deleted.
  • Cells can be disabled.
  • There is a recalculate option.
  • Image cells can be shown at several resolutions.
  • A larger copy of the current cell can be opened in a window and resize.
  • Image Processing functions can be applied to an image cell.
  • There is a browsing mode with fast update.
  • All images are updated as fast as possible with minimum interaction delay.

Desirable Features

  • Row and column size are adjustable.
  • Text font, style, size, and colour are modifiable.
  • Cell contents can be formatted within the cell boundary.
  • An image cell can be automatically sized to fit a cell or can be clipped.
  • A non-image cell can be clipped or allowed to over run.
  • Cell values can be filled across/down.
  • The spreadsheet accepts several common image file types.
  • Multiple loads and saves can be made.
  • Entire directories and subdirectories can be loaded with one command.
  • Multiple loads can copy cells to the spreadsheet in several formats: left, right, tiled.
  • The user can choose image processing functions from a menu and apply then to a cell.
  • There is an extensive undo/redo function.
  • The spreadsheet may handle movie files.
  • There are several input and output widgets available including a movie player.
  • The toolbox holds several useful tools such as spread a movie, select right/down, zoom in/out.
  • There are options such as auto contrast available for thumbnail images.
  • There is an online help feature.