The development of Information Systems which are effective (i.e. satisfy users' needs) and flexible enough to incorporate future changes of user requirements basically depends on the importance given to the requirements analysis stage and to the techniques employed for their development This paper presents a new approach to requirements analysis through an environment called VENUS. The VENUS environment provides a set of tools to support the requirements capture and analysis process so that design and development is more effective and flexible. The construction of user requirements starts by first constructing an Entity-Relationship Model which is then transformed to an Object-oriented Rule-based Model (ORM) where rules are used for the definition of the behaviour of each object class. ORM is then mapped to a graphical Petri-net based model and is validated by employing graphical animation and exploiting formal properties of the underlying Petri-net formalism.
INTRODUCTIONTwo desirable characteristics of Information Systems are effectiveness and flexibility. Effectiveness refers to the satisfaction of users' needs and is primarily related to the production of valid and complete requirements specifications. Flexibility refers to the ability of Information Systems to easily incorporate any future changes of user requirements; flexibility depends on the techniques employed for the development of information systems starting from the initial requirements analysis phase to the final implementation and integration stage. The importance of requirements specifications in the information systems development process is not a recently identified need (Endres, 1975). Boehm (1975) has denoted that incorrect requirements specifications result in serious errors in the information system development process, where the cost to fix them increases as the development process progresses. However, there is still a lack of methodologies and tools which would focus on the capture and validation of requirements specifications and the work reported by Reubenstein and Waters (1991), Zave (1991) and Fickas and Finkelstein (1993) are among the few examples that can be found in this area. The large number of existing methodologies for systems analysis and design produce specifications which are inherently static. Furthermore, CASE tools play a passive rather than active role in requirements specifications. A developer, in order to validate the captured requirements, tries to derive a system's behaviour from a static description. What is needed is an approach and a set of tools that enables a developer to obtain a 'working' model of a system at the early requirements phase, so that the system's behaviour can be better understood and appreciated by end users. This may be achieved if the produced requirements specifications are executable. An executable specification is a formal model of the system with the ability to simulate the system's behaviour when executed by a suitable interpreter, thus, such a specification can be thought of ...