RE02 Tutorials: T01 | T03 | T04 | T05 | T06 | T07 | T08 | T09 | T10
T05: "Reconciling Requirements, Use Cases and Object-Oriented Modeling" (Hermann Kaindl)

Reconciling Requirements, Use Cases and Object-Oriented Modeling

Tuesday, September 10th from 900 - 1230

Abstract:
  • How do scenarios / use cases fit together with functional requirements?
  • How can OO (object-oriented) principles like classification help organizing a huge number of requirements?
  • How can the application domain be better understood using OO modeling?

This tutorial addresses these questions because they are relevant for industrial software development but too many misunderstandings still exist with regard to OO processes and methods as related to requirements engineering. It shows how each requirement given in natural language can be modeled as an object, which facilitates a "clean" organization and association. While scenarios / use cases can somehow illustrate the overall functionality, additionally functional requirements for the system to be built should be formulated and related to them appropriately. In order to better understand scenarios, the goals to be achieved by them should be explicitly defined and linked to them as well.

All kinds of requirements typically make statements about the application domain, which should be represented in an OO Domain Model of conceptual classes first. This tutorial explains a clean transition to an OO Design Model, where design classes are abstractions of implementation classes. In order to make this thread from early requirements to architectural design as understandable as possible, it will be illustrated with a running example throughout.

Among other things, this tutorial proposes solutions to the issues discussed in two panels organized by this tutorial presenter at OOPSLA 2000 "How Difficult is the Transition from OOA to OOD?" and OOPSLA 2001 "How do Requirements Relate to Objects?". The participants will understand several key problems with current OO methods and how they can be resolved by clean OO thinking. In particular, they will experience UML as a language for representing OO models both for requirements engineering and software design, but also the need to be clear about what kind of objects are represented.

 

Hermann Kaindl:
Hermann Kaindl

Dr. Hermann Kaindl is a senior consultant at Siemens AG Austria, PSE, where he has gained more than twenty years of experience in software development. He is also an adjunct professor at the Technical University of Vienna. He published three books and more than sixty papers in refereed journals, books and conference proceedings, and he has previously held tutorials at CAiSE'00 and RE'01.

Back to overview

Last updated: 2002-05-14