Object Design Document Template
Purpose
Object design is documented in the Object Design Document (ODD). It describes object design trade-offs made by developers, guidelines they followed for subsystem interfaces, the decomposition of subsystems into packages and classes, and the class interfaces. The ODD is used to exchange interface information among teams and as a reference during testing.
Audience
The audience for the ODD includes system architects (i.e., the developers who participate in the system design), developers who implement each subsystem, and testers.
Template
Outline | Description |
1. Introduction 1.1 Object design trade-offs 1.2 Interface documentation guidelines 1.3 Definitions, acronyms, and abbreviations 1.4 References |
The first section of the ODD is an introduction to the document. It describes the general trade-offs made by developers (e.g., buy vs. build, memory space vs. response time), guidelines and conventions (e.g., naming conventions, boundary cases, exception handling mechanisms), and an overview of the document. Interface documentation guidelines and coding conventions are the single most important factor that can improve communication between developers during object design. These include a list of rules that developers should use when designing and naming interfaces. These are examples of such conventions:
|
2. Packages | The second section of the ODD, Packages, describes the decomposition of subsystems into packages and the file organization of the code. This includes an overview of each package, its dependencies with other packages, and its expected usage. |
3. Class interfaces Glossary |
The third section, Class interfaces, describes the classes and their public interfaces. This includes an overview of each class, its dependencies with other classes and packages, its public attributes, operations, and the exceptions they can raise. |
Related Topics
- How to develop a ODD
- Chapter 8, Reusing Pattern Solution
- Chapter 9, Specifying Interfaces
- Example, Bumpers ODD