Book 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.
*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
Table of Contents
- Cover image
- Title page
- Table of Contents
- Copyright
- PREFACE
- Chapter 1: Introduction
- 1.1 APPLICATION ORIENTATION — THE SUBJECT OF THIS BOOK
- 1.2 THE TOOLS & MATERIALS APPROACH (T&M)
- 1.3 PROJECTS BEHIND THIS BOOK
- 1.4 THE EQUIPMENT MANAGEMENT SYSTEM EXAMPLE
- Chapter 2: The T&M Object Metamodel
- 2.1 THE OBJECT METAMODEL
- 2.2 MODULARIZATION
- 2.3 THE CONTRACT MODEL
- 2.4 TYPES
- 2.5 CLASSES AND TYPES
- 2.6 VALUES AND OBJECTS
- 2.7 METAOBJECT PROTOCOLS
- Chapter 3: Guiding Metaphors and Design Metaphors
- 3.1 INTRODUCTION
- 3.2 DESIGNING APPLICATION SOFTWARE
- 3.3 GUIDING METAPHORS FOR APPLICATION SOFTWARE
- 3.4 DESIGN METAPHORS
- 3.5 T&M GUIDING METAPHORS AND DESIGN METAPHORS
- 3.6 WORKPLACE TYPES
- Chapter 4: Patterns, Frameworks, and Components
- 4.1 INTRODUCTION
- 4.2 BACKGROUND: PATTERNS, FRAMEWORKS, AND COMPONENTS
- 4.3 PATTERNS
- 4.4 FRAMEWORKS
- 4.5 COMPONENTS
- Chapter 5: Application-Oriented Software Development
- 5.1 INTRODUCTION
- 5.2 APPLICATION-ORIENTED SOFTWARE
- 5.3 THE DEVELOPMENT PROCESS
- Chapter 6: Software Development as a Modeling Process
- 6.1 INTRODUCTION
- 6.2 A SIMPLIFIED SOFTWARE DEVELOPMENT MODEL
- 6.3 THE APPLICATION DOMAIN
- 6.4 THE DOMAIN MODEL
- 6.5 THE APPLICATION SYSTEM MODEL
- 6.6 THE APPLICATION SYSTEM
- 6.7 SOFTWARE DEVELOPMENT CONTEXTS
- 6.8 CONTEXTS INFLUENCING THE SOFTWARE ARCHITECTURE
- Chapter 7: T&M Conceptual Patterns
- 7.1 CONCEPTUAL PATTERNS
- 7.2 A GUIDED TOUR OF THE T&M CONCEPTUAL PATTERNS
- 7.3 THE INTERRELATION OF TOOLS AND MATERIALS PATTERN
- 7.4 THE MATERIAL DESIGN PATTERN
- 7.5 THE TOOL DESIGN PATTERN
- 7.6 THE WORK ENVIRONMENT PATTERN
- 7.7 THE CONTAINER PATTERN
- 7.8 THE FORM PATTERN
- 7.9 THE AUTOMATON PATTERN
- 7.10 THE DOMAIN SERVICE PROVIDER PATTERN
- 7.11 THE TECHNICAL AUTOMATON PATTERN
- 7.12 THE PROBE PATTERN
- 7.13 THE ADJUSTING TOOL PATTERN
- Chapter 8: T&M Design Patterns
- 8.1 INTRODUCTION
- 8.2 A GUIDED TOUR OF THE T&M DESIGN PATTERNS
- 8.3 THE ASPECT PATTERN
- 8.4 THE SEPARATING FUNCTION AND INTERACTION PATTERN
- 8.5 THE TOOLS COMPOSITION PATTERN
- 8.6 THE FEEDBACK BETWEEN TOOL PARTS PATTERN
- 8.7 THE SEPARATING FP AND IP PATTERN
- 8.8 THE SEPARATING HANDLING AND PRESENTATION PATTERN
- 8.9 THE FEEDBACK BETWEEN INTERACTION FORMS AND IP PATTERN
- 8.10 THE DOMAIN VALUES PATTERN
- 8.11 THE DOMAIN CONTAINER PATTERN
- 8.12 THE FORM SYSTEM PATTERN
- 8.13 THE AUTOMATONS IN TECHNICALLY EMBEDDED SYSTEMS PATTERN
- 8.14 THE DOMAIN SERVICES PATTERN
- 8.15 THE ENVIRONMENT PATTERN
- 8.16 USING THE T&M DESIGN PATTERNS FOR THE JWAM FRAMEWORK
- Chapter 9: T&M Model Architecture
- 9.1 THE T&M MODEL ARCHITECTURE
- 9.2 THE DOMAIN CORE OF A SOFTWARE ARCHITECTURE
- 9.3 CONCEPTS AND ELEMENTS OF A T&M MODEL ARCHITECTURE
- 9.4 DESIGN PATTERNS FOR THE T&M MODEL ARCHITECTURE
- Chapter 10: Supporting Cooperative Work
- 10.1 BACKGROUND: COMPUTER-SUPPORTED COOPERATIVE WORK
- 10.2 IMPLICIT COOPERATION
- 10.3 EXPLICIT COOPERATION BY EXCHANGING MATERIALS
- 10.4 EXPLICIT COOPERATION MODEL: TRANSACTION PROCESSING SUPPORT
- Chapter 11: Interactive Application Systems and Persistence
- 11.1 BACKGROUND: INTERACTIVE APPLICATION SYSTEMS
- 11.2 PERSISTENCE SERVICES
- 11.3 DESIGN CRITERIA TO IMPLEMENT PERSISTENCE
- 11.4 REAL-WORLD EXAMPLES
- Chapter 12: The Development Process
- 12.1 BACKGROUND: EVOLUTIONARY AND TRADITIONAL PROCESS MODELS
- 12.2 TOPICS FOR A DEVELOPMENT STRATEGY
- 12.3 QUALITY ASSURANCE IN THE DEVELOPMENT PROCESS
- 12.4 QUALITY ASSURANCE IN CONSTRUCTION
- 12.5 PROJECT MANAGEMENT
- 12.6 PROJECT PLANNING CONCEPTS AND TECHNIQUES
- 12.7 STRUCTURING A PROJECT BY SYSTEM DECOMPOSITION
- 12.8 SCHEDULING AND TASK PLANNING
- 12.9 DISCUSSING T&M, UNIFIED
- Chapter 13: T&M Document Types
- 13.1 SCENARIOS
- 13.2 INTERVIEWS
- 13.3 THE CONCEPT MODEL
- 13.4 GLOSSARIES
- 13.5 SYSTEM VISIONS
- 13.6 PROTOTYPES
- 13.7 COOPERATION PICTURES
- 13.8 PURPOSE TABLES
- 13.9 TECHNICAL DOCUMENT TYPES IN UML
- INDEX