A high level statement of requirements for ORMF

Introduction

Here is a list of the high level requirements that ORMF needs to fulfil. The functional requirements are categorised in two sections, those that must be satisfied by the ORMF implementation and those that should be fulfilled. Finally, a third list summarises the non functional requirements.

This document is intended as a rough guide in the process of defining the requirements model and the high level architectural features.

Must

Enable construction of tools to capture requirements

Persist all defined managed components

Provide mechanisms to enable traceability among managed components

Provide rich text components that transparently handle display of reference between managed components and between internal elements of managed components

Support concept of users, related roles and associated authentication and authorisation mechanisms

Support versioning of managed components, with related concepts of snapshots and tagged releases

Provide locking mechanisms to ensure integrity of the managed components whilst they are being changed

Enable automatic and dynamic updates of all clients as changes are made by a specific client

Enable validation of the requirements model to follow specific rules and/or standards and to guarantee the integrity of the model itself.

Provide multiple views into the requirements model

Provide documentation that expresses the requirements model

Provide common mechanisms to capture and manage "cross-cutting" components, such as Notes, Issues or Glossary Terms.

Enable flexible and complex searches through the requirements model.

Provide support for data export into other standard tools, such as UML modellers, project management tools and testing frameworks.

Should

Be deployable in the following configurations, in each of which it should make best usage of the available underlying resources:

single user standalone

pure OSGi (Equinox) server, permitting distributed capabilities

within a J5EE web container

within a full scale J5EE application server

Be able to use the user's choice of database

Support facilities for roll back to specific release/version

Non functional

Make it straightforward for tools to utilise underlying features

Work on at least the three following platforms:

Windows XP SP2

Red Hat Enterprise Linux 5

Mac OS X 10.5

Be performant

Additional suggestions

I did not want to mix my suggestions with Barbara's list, so here are some ideas for ORMF requirements. Please be aware that these mind maps are only first cut collections and do not represent elaborated concepts. Take them as suggestions and stimulus to think about what ORMF could do for you. I for myself would definitely want ORMF to support as much of these as reasonable possible.