Story Driven Modeling
Story Driven Modeling is an agile software development method using objects and scenarios and special modeling steps to facilitate system analysis and design. In this book, we will actively use objects for modeling, analysis, and design. We will learn to think in objects. More
If you would ask us, whether this is just another book about modeling, we would probably feel inclined to say: yes and no. Yes, it is a lot about modeling, but no, it is also about programming, methodological software design, and rapid prototyping via methods from model driven engineering. It will also be one of the first complete references and teaching guides for Story Driven Modeling. Story Driven Modeling is an agile software development method using objects and scenarios and special modeling steps to facilitate system analysis and design. Most parts of this book can be done with pencil and paper and with standard UML tools and standard software development environments. However, some steps are best supported by the rapid prototyping tool Fujaba or the Story Driven Modeling library SDMLib. The title of this book does not include Object Oriented Modeling on purpose. Object Orientation, Object Oriented Design, Object Oriented Analysis, and other object oriented methods all refer somehow to class diagrams and inheritance. Instead of this, we will actively use objects for modeling, analysis, and design. We will learn to think in objects. This book is foremost planned to be a textbook for software modeling courses. It offers a very interactive and agile approach to modern software design. In this book, we introduce the Objects First principle which is the foundation of the Story Driven Modeling development method. This is not to be mistaken with an object oriented development method. You will see that the Object First method slightly differs from traditional object oriented methods. With this book, we address a majority of readers dealing with or wanting to learn software development. This includes teachers and students for introduction to Object Orientation, Systems Modeling, Object Oriented Design, or Model Driven Engineering. This book should also be insightful for people interested in modeling and program design and beginning programmers. We expect from the reader some very basic programming skills, preferable in Java, though most of the presented concepts in this book can be also applied in any other object oriented language. However, all the examples presented in this book focus on Java as the example language.