visual specification and analysis of use cases
Unified Modelling Language (UML) is popular mainly due to the various visual notations it provides for specifying large systems. In UML the details of a use case are specified in natural language using standard templates [Cockburn 2000]. This is a critical gap leading to detailed requirements of an application being specified in natural language. As a result, inadequate analysis of business requirements is a source of many defects in software application development. Here we propose to bridge this gap by extending the set of UML diagrams with three new diagrams that enable rigorous specification, analysis and simulation of requirements.The above is achieved by modelling business policies as global invariants and operational tasks as user interactions. We propose visual notations to specify both the global invariants as well as the user interactions. The two specifications are checked for consistency using the model checker, SAL. Inconsistencies detected by the model checker are then presented back to the analyst in the form of easy to understand diagrams. These inconsistencies help detect incompleteness in the functional specification of an application as well as help in making the functional specifications rigorous and detailed. This simplifies the task of the designers and implementers. SAL is also used to simulate the system and generate some sample runs. These sample runs are presented back to the developer in visual form enabling better understanding of the behaviour of the system. The advantages of this approach are demonstrated through our experiences with a case study as well as a project executed at Tata Consultancy Services(TCS).
uml visual notation requirements model checking