Story Driven Modeling - A Practical Guide to Model Driven Software ...

14 downloads 791 Views 30KB Size Report
May 15, 2005 - Software Development (MDD) proposes to do most of these ... Java that has been held with great success at ICSE '99 in Los. Angeles and at ...
Story Driven Modeling A Practical Guide to Model Driven Software Development Albert Zündorf University of Kassel 34321 Kassel [email protected]

ABSTRACT

is initiator and one of the technical leader of the Fujaba CASE tool project.

The Rational Unified Process lacks practical guidance for the development of object oriented applications. Model Driven Software Development (MDD) proposes to do most of these development steps at the model level of abstraction. This tutorial takes the MDD idea and examplifies such a development process. The tutorial guides the user from textual requirements descriptions through UML scenario modeling to the derivation of test case specifications, class diagrams and UML behavior models and finally to the implementation of the desired system. The tutorial employs a running example that allows to illustrate the modeling activities for each development phase and the guidelines for each modeling step. We discuss how existing CASE tools may be used in such an approach and how the Fujaba environment supports our development process.

2 History of the Tutorial: The tutorial is based on a series of courses in software engineering and objectoriented design. The tutorial is based on a predecessor tutorial on "Roundtrip engineering with UML, Design Patterns, and Java that has been held with great success at ICSE '99 in Los Angeles and at ESEC '99 in Los Angeles and at FSE 2000 in San Diego. In that former tutorial we presented a semantics for UML behavior diagrams that allows code generation. At ICSE 2000 we presented a paper [KNNZ00] H. Köhler, U. Nickel, J. Niere, A. Zündorf: Integrating UML Diagrams for Production Control Systems proposing a systematic approach for the development of objectoriented applications. A refinement and improval of our approach led to a new tutorial „From Use-Cases to code“ that has been held with great success at ICSE 2001 in Toronto and ESEC 2001 in Wien and at UML 2002 in Dresden.

Categories and Subject Descriptors D.2.9 [Software process models ]: Model Driven Architecture

General Terms

The earlier tutorials focused on a rigorous use of UML that allows the generation of a Java implementation. This new tutorial focuses on the derivation of such a rigorous specification. Here we present new results that in sum achieve detailed guideline for all technical development steps.

Management, Design, Languages

1 Presenter Prof. Dr. Albert Zündorf [email protected] University of Kassel Wilhelmshöher Allee 73 34121 Kassel Germany Tel: +49 561 804 6240 Fax: Tel: +49 561 804 6242 www.se.e-technik.uni-kassel.de/se

3 Duration Half day

4 Goals and Objectives The goal of the tutorial is to provide practical guidelines for each phase of a model driven software development process. These guidelines help to bridge the gap between a textual requirements specification and the domain level class diagrams and the gap towards behavior specifications using precise activity diagrams or Fujaba Method Diagrams or the gap towards a first implementation of certain use case functionality.

From 1984 until 1990, Albert Zündorf has studied computer science at University of Aachen, Germany. In 1994 his finished his PhD still at University of Aachen. Then he spent 6 years at University of Paderborn doing his Habilitation. After 2 years as a step-in Professor at University of Braunschweig he has become a full Professor for software engineering at University of Kassel in 2002. Albert Zündorf

Given some textual requirements, the ususal text books on UML and software engineering provide guidlines like: „underline the nouns, they become classes, underline the verbs, they become methods ...“. Due to our experience, it requires a substantial amount of experience in programming and design in order to create a reasonable class diagram using such ’techniques’.

Copyright is held by the author/owner(s). ICSE'05, May 15-21, 2005, St. Louis, Missouri, USA. ACM 1-58113-963-2/05/0005.

714

One yields somewhat better results using CRC card techniques. In CRC card approaches, some usecase sceanarios are exercised. During these exercises one collects the used classes, associations and methods. The result is some class diagram. The major problem with CRC card techniques is, that the exercise’s sceanrio steps are not recorded. Therefore, it is hard to judge the quality of the result. Even worse, if some later exercises require some substantial changes of the already derived class diagram elements, it is no longer clear, whether the old scenarios are still covered by the changed class diagram.

Driven Modeling, a case study; Workshop on Scenarios and state machines: models, algorithms, and tools; ICSE 2004, Edinburgh, Scottland, May 24 – 28 (2004). [FMW97] G. Florijn, M. Meijers, P. van Winsen: Tool Support for Object-Oriented Patterns. in proceedings ECOOP'97 1997, pp. 472-495, 1997. [FNTZ98] T. Fischer, J. Niere, L. Torunski, A. Zündorf: Story Diagrams: A new Graph Grammar Language based on the Unified Modeling Language and Java; proceedings of the 6th International Workshop on Theory and Application of Graph Transformations (TAGT'98), Paderborn, Germany, 1998. [GHJV95] E. Gamma, R. Helm, R. Johnson, J.Vlissides: Design Pattern (Elements of Reusable Object-Oriented Software). Addison Wesley. ISBN 0-201-63361-2, 1995. [GZ02] L. Geiger, A. Zündorf: Graph Based Debugging with Fujaba; Workshop on Graph Based Tools, International Conference on Graph Transformations, Barcelona, Spain, October 6 12 (2002) . [GZ03a] L. Geiger, A. Zündorf: Transforming Graph Based Scenarios into Graph Transformation Based JUnit Tests; in Applications of Graph Transformations with Industrial Relevance (AGTIVE), Charlottesville, Virginia, USA, September 28 October 1 (2003). [JGL98] Technical reference of the generic collection library for Java http://www.objectspace.com/jgl/ [JSZ96] J. Jahnke, W. Schäfer, A. Zündorf: A Design Environment for Migrating Relational to Object-Oriented Database Systems. Proc. of the Int. Conf. on Software Maintenance, ICSM'96, Monterey, CA November 1996, USA. [JSZ97] J.-H. Jahnke, W. Schäfer, A. Zündorf: Generic Fuzzy Reasoning Nets as a basis for reverse engineering relational database applications; Proc. of European Software Engineering Conference (ESEC/FSE), September 1997, Zuerich. Springer (LNCS 1301), 1997. [JZ98] J.-H. Jahnke, A. Zündorf: Specification and Implementation of a Distributed Planning and Information System for Courses based on Story Driven Modeling. In Proceedings of the Ninth International Workshop on Software Specification and Design, IWSSD9, April 16-18, Ise-Shima, Japan, IEEE Computer Society, pp. 77-86, ISBN 0-8186-8439-9, 1998. [KNNZ00] H. Köhler, U. Nickel, J. Niere, A. Zündorf: Integrating UML Diagrams for Production Control Systems, 21st International Conference on Software Engineering (ICSE2000) Limerick, Ireland, acm press, pp. 241-251, 2000. [KS98] R. Keller, R. Schauer: Design Components: Towards Software Composition at the Design Level; in proceedings 20th International Conference on Software Engineering (ICSE'98), Kyoto, pp. 302-311, 1998. [NSS96] O. Neumann, S. Sachweh, W. Schäfer: A High-Level Object-Oriented Specification Language for Configuration Management and Tool Integration. Proc. of the 5th Europ. Workshop on Software Process Technology, EWSPT'96, Nancy, France, October 1996. [Rose96] Rational Rose: Round-Trip Engineering with Rational Rose/C++; Techncial Documentation to Rational Rose 4.0, Rational Software Corporation, Santa Clara, 1996. [SL95] A. Stepanov, M. Lee: The Standard Template Library; Technical Report, Hewlett Packard Laboratories, Palo Alto, cf. http:/ /www-leland.stanford.edu/~iburrell/cpp/stl.html, 1995. [SG98] J. Seemann, J. Wolff von Gudenberg: Pattern-Based Design Recovery of Java Software; proceeding of acm Foundations of Software Engineering (FSE'98), 1998. [UML97] UML Notation Guide vers. 1.1. Rational Software, Microsoft, Hewlett-Packard, Oracle, Sterling Software, MCI Systemhouse, Unisys, ICON Computing, IntelliCorp, i-Logix, IBM, ObjectTime, Platinum Technology, Ptech, Taskon, Reich Technologies, Softeam, 1997.

The objective of story driven modeling is to record the steps of CRC card games in UML interaction diagrams and to use this information for a guided derivation of class diagrams, use case functionality tests, and method implementations.

5 Scope The tutorial targets industrial practitioners which are interested in practical guidelines for MDD. It also adresses teachers that look for new concepts in teaching UML, OO modeling and software development. Finally we address researchers and CASE tool developers that aim to provide sophisticated tool support for MDD. The tutorial requires medium skills in object oriented programming. Some text book knowledge of UML might be helpful.

6 Teaching Method The tutorial will use a simple board game, e.g. Ludo, in order to go through all phases of the software development process from use case description through analysis and design to implementation and testing. As far as possible, the participants will employ our development methods themselves. One after the other, a participant will execute modeling steps at the white board or flip chart, or at one common laptop connected to a video projector. All other participants will discuss each step and provide contributions. At the end of the session, one or two use cases should be modeled, implemented and tested.

7 Structure of Contents I

Overview

II

The running example: Ludo

III

Use case description

IV

OOA with story boards

V

Test derivation

VI

Derivation of design and implementation

VII Validation

REFERENCES [DGMZ02] I. Diethelm, L. Geiger, T. Maier, A. Zündorf: Turning Collaboration Diagram Strips into Storycharts; Workshop on Scenarios and state machines: models, algorithms, and tools; ICSE 2002, Orlando, Florida, USA (2002) [DGZ04] I. Diethelm, L. Geiger, A. Zündorf: Systematic Story

715

Suggest Documents