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).
[1]
Anneke Kleppe,et al.
The object constraint language: precise modeling with UML
,
1998
.
[2]
Desmond D'Souza,et al.
Objects, Components, and Frameworks with UML: The Catalysis Approach
,
1998
.
[3]
Purandar Bhaduri,et al.
Model checking visual specification of requirements
,
2003,
First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..
[4]
Gabriele Taentzer,et al.
Consistency Checking and Visualization of OCL Constraints
,
2000,
UML.
[5]
Gabriele Taentzer,et al.
A Visualization of OCL Using Collaborations
,
2001,
UML.
[6]
Ivar Jacobson,et al.
The Unified Modeling Language User Guide
,
1998,
J. Database Manag..
[7]
César Muñoz,et al.
An Overview of SAL
,
2000
.
[8]
Albert Zündorf,et al.
Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java
,
1998,
TAGT.
[9]
Daniel Jackson,et al.
Alloy: a lightweight object modelling notation
,
2002,
TSEM.
[10]
Stuart Kent,et al.
Spider Diagrams: A Diagrammatic Reasoning System
,
2001,
J. Vis. Lang. Comput..
[11]
Stuart Kent,et al.
Constraint Diagrams: Visualizing Assertions in Object-Oriented Models
,
1997,
OOPSLA.
[12]
Mordechai Ben-Menachem,et al.
Writing effective use cases
,
2001,
SOEN.
[13]
Stuart Kent,et al.
Constraint diagrams: visualizing invariants in object-oriented models
,
1997,
OOPSLA '97.