Web client requirements

From Intamap

This page gives the functional and non-functional requirements for the web client as a simple list of what the software should be able to do!

See also Interpolation web service requirements and Interpolation algorithm requirements.

This refers to the generic web client - we might also want to refine this for the EURDEP client. Some terms:

  • background map: some vector mapping that can define the content, e.g. roads, rivers, coast, ....
  • observations: the measurements obtained by a sensor at a given location, not always the thing we are interesting in.
  • state: the variable that the user is interested in plotting (note this is not always the same as the observations).
  • interpolation server: the implementation of the web service to support automatic interpolation, probably as a web processing service.

Contents

Functional requirements - things it can do

  • Allow the user to zoom / pan on the background map
  • Allow the user to select the features they want to display on the background map
  • List the state variables that can be interpolated on the map (?is this the only option - does this need to query SOS's?)
  • Allow a more detailed specification of the interpolation algorithm to be selected, depending on the level of interaction the user desires
  • Allow the user to specify a local file (?format?) that contains observations which are then sent to the interpolation service
  • Display a grid of values of the state as a (transparent) image overlayed onto a background map
  • Display a grid of variances (or other moments?) of the state as a (transparent) image overlayed onto a background map
  • Provide access to meta-data about the interpolation results which is returned by the interpolation server.
  • Show the locations, and using colour and size the values of the observations used to produce the map
  • Identify any observations defined as outliers in the interpolation process.
  • Allow the user to retrieve a histogram of the pdf of the state at a given location (from interpolation service - non-interactive, or derived locally from pdf - interactive)
  • Display the probability of the state exceeding a critical value specified by a user (from interpolation service - non-interactive, or derived locally from pdf - interactive)

Extensions we might consider?

  • Allow the user to load in a data set of observations in a range of formats (e.g. csv, tab delimited) and with the user define the necessary information to create observations conforming to our XML schema for submission to the interpolation server.
  • Allow the interpolation service to return the posterior distribution in parameterised form (e.g. from Project Process Kriging) and then compute the predictions client side.

Non-functional requirements - things it will be

  • reliability: The web client should always fail gracefully with exceptions caught and informative error messages.
  • usability: The web client should allow access by a variety of levels of user expertise, setting defaults sensibly where user do not specify these (?or should this be something the interpolation service does?)
  • performance: The client should be able to cope with N observations, and a grid of m by m interpolated results and should remain responsive.
  • portability: The client should run under Windows and Linux at a minimum.
  • extensibility: ?The client should be designed for easy extension to other web service based interpolation methods developed in the future?

Comments

  • The fact that much of the work could be done client or server side emphasises the importance of creating a well designed set of libraries that implement our methods - maybe in R, but AST will probably focus on C++, with an R interface.

Back to System Requirements.