Modelling requirements with UML: a rigorous approach
The tutorial addresses the problems connected with requirements modelling in a UMLbased development process. UML supports requirements modelling by means of use cases. This practice suffers from several limitations, especially as use cases are quite informal descriptions -thus allowing ambiguities and misinterpretation of requirements- and they are not object-oriented -thus making traceability of requirements in objectoriented models problematic.
Rigorous approaches -not based on UML- were proposed, but they did not achieve a great popularity, mainly because they are considered not promptly applicable in UMLbased development processes, and consequently hardly productive in the short term.
The proposed tutorial promotes the application of the Reference Model for Requirements and Specifications  and the usage of Michael Jackson's Problem Frames .
Problem frames drive developers to understand and describe the problem to be solved, which is crucial for a successful software development process. Moreover, Problem Frames provide a framework to arrange the elements of the problem and solution domains; the final purpose of such detailed framework is to let developers write requirements and specifications in an ordered, clear and rigorous way.
The goal of this tutorial is to show how the mentioned rigorous approaches to requirements engineering can be applied in the context of a software development process based on UML. In particular, it is shown how familiar UML constructs (like class and state diagrams) can be used in a disciplined way in the construction of models that represent properly the problem domain, the user requirements, and the specifications of the software system.
The final objective is to increase the quality of requirements models, while making them suitable to drive UML-based software development.
Full description of tutorial can be found here.
Copyright (c) 2006, IARIA