Description

Successful businesses and organizations are continually looking for ways to improve service and customer satisfaction in order to achieve long-term customer loyalty. In light of these goals, software developers must ask the question: how does customer orientation influence traditional approaches, methods, and principles of software development? In this book, a leading software architect and his team of software engineers describe how the idea of customer orientation in an organization leads to the creation of application-oriented software. This book describes what application-oriented software development is and how it can be conceptually and constructively designed with object-oriented techniques. It goes further to describe how to best fit together the many different methodologies and techniques that have been created for object-orientation (such as frameworks, platforms, components, UML, Unified Process, design patterns, and eXtreme Programming) to design and build software for real projects. This book brings together the best of research, development, and day-to-day project work to the task of building large software systems.

Key Features

*Written by and for developers of large, interactive, and long-lived software systems *Includes patterns of proven analysis, design, and documentation techniques *Shows how to develop an appropriate design approach and concrete software development techniques

Readership

Software engineers, developers, project managers, system architects, method developers, and students.

Table of Contents

Chapter 1 Introduction 1.1 Application Orientation—The Subject of This Book 1.1.1 Motivation 1.1.2 Structure of This Book 1.2 The Tools & Materials Approach (T&M) 1.2.1 The T&M Approach in a Nutshell 1.2.2 T&M as a Method 1.3 Projects Behind This Book 1.3.1 The Scope of the T&M Projects 1.4 The Equipment Management System Example 1.5 References
Chapter 2 The T&M Object Metamodel 2 .1 The Object Metamodel 2.1.1 Introduction 2.1.2 Definition: The Object Metamodel 2.1.3 Context: What's the Purpose of an Object Metamodel? 2.1.4 Context: A Classification of Programming Languages 2.1.5 The Object Metamodel and the Software Model 2.1.6 Definition: Objects 2.1.7 Discussion: Object Identity 2.1.8 T&M Design: Structuring an Interface 2.1.9 Definition: Classes 2.1.10 Discussion: Generic Operations 2.1.11 T&M Design: Generic Operations 2.1.12 Discussion: The Object Life Cycle 2.1.13 T&M Design: The Object Life Cycle 2.1.14 Definition: Inheritance 2.1.15 Discussion: Inheritance 2.1.16 T&M Design: Inheritance 2.1.17 Discussion: Role Relationships as an Alternative to Inheritance 2.1.18 Definition: Use Relationships 2.1.19 Discussion: Use Relationships 2.1.20 Definition: Polymorphism 2.1.21 Definition: Abstract Classes 2.1.22 Discussion: Specification and Implementation 2.1.23 Definition: Loose Coupling 2.1.24 Discussion: Loose Coupling 2.2 Modularization 2.2.1 Introduction 2.2.2 Context: Modules and Object Orientation 2.2.3 Def

Details

No. of pages:
544
Language:
English
Copyright:
© 2004
Published:
Imprint:
Morgan Kaufmann
eBook ISBN:
9780080491967
Print ISBN:
9781558606876

About the author

Heinz Züllighoven

Heinz Züllighoven graduated in mathematics and German language and literature and holds a Ph.D. in computer science. He is a professor in the Computer Science Department at the University of Hamburg and managing director of IT–Workplace Solutions Ltd., where he consults on industrial software development projects in the area of object-oriented design; among his clients are several major banks and companies of the service industry. His current research interests include object-oriented migration strategies for legacy systems and the architecture of large industrial interactive software systems.

Affiliations and Expertise

IT - Workplace Solutions, Inc., and University of Hamburg, Germany.

Reviews

"This very practical book demystifies the art of developing flexible software systems that can keep up with the changing needs of customers. This book not only shows how metaphors like 'Tools and Materials' can help drive software development, but it also carefully considers all aspects of the software process, and explains how the T&M approach builds on and refines known software engineering practices." —Oscar Nierstrasz, University of Bern, Switzerlan "The presented ideas are elaborated independent of technologies and implementation techiques. The author wants as target groups: software developers, project managers, computer science students, and method developers. He says, it is neither a programming textbook nore a book about GUI design." -G. Bauer, in ZENTRALBLATT MATH