T35: Seamless Use of Object-Oriented Models from Requirements to Software Design
Monday, Oct 23, from 13:30 to 17:00, C125
How can the application domain and the requirements be better understood using object-oriented (OO) modeling? How do scenarios / use cases fit together with functional requirements? How can a business domain model be used for a transition to a design model? This tutorial addresses these questions in the following manner. It shows how each requirement given in natural language can be viewed itself as an object and be modeled as such. This approach facilitates both a hierarchical organization (by grouping requirements instances into classes and subclasses) and explicit association (by relating requirements through OO associations). 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. All kinds of requirements make statements about the application domain, which should be first represented in a domain model of conceptual classes, in order to make the requirements better understandable. This tutorial explains a seamless transition to a design model, where design classes are abstractions of implementation classes. The use of object-oriented models from a domain model and early requirements to architectural design will be illustrated with a running example each for presentation and for group exercises.
Introductory: The assumed attendee background is some familiarity with object-oriented concepts as well as interest in requirements, analysis or software design.
Goals: The participants will understand several key problems with current OO methods and how they can be resolved. In particular, they will see how scenarios and use cases can be utilized for requirements engineering and software design. But they will also see the additional need to specify the functional requirements for the system to be built. In addition, they will be able to distinguish between domain objects and software objects. They will experience UML as a language for representing OO models, but also the need to be clear about what kind of objects are represented. This is important for the transition from analysis to design, where the participants will additionally understand the influence of non-functional requirements for selecting an architecture. While the objective of lecturing is to teach knowledge about these concepts, the group exercises are intended to acquire the related skills through learning by doing.
Format: This tutorial will be 70% lecture and 30% exercises in groups.
Hermann Kaindl, Vienna University of Technology, ICT: Hermann Kaindl joined the Institute of Computer Technology at the Vienna University of Technology in early 2003 as a full professor. Prior to moving to academia as a full professor, he was a senior consultant with the division of program and systems engineering at Siemens AG Austria. There he has gained more than 24 years of industrial experience in software development. He is a Senior Member of the IEEE, a member of the ACM and INCOSE, and is on the executive board of the Austrian Society for Artificial Intelligence. Hermann Kaindl has previously held tutorials at CAiSE'00, RE'01, RE'02, HICSS'36, INCOSE'03, RE'03, CADUI-IUI'04, INCOSE-04, RE'04, HICSS'38, IRMA-05 and INCOSE-05.