Preface |
Acknowledgments |
Concepts and Notations / Part 1: |
Programming Paradigms / Chapter 1: |
History Of Increasing the Level of Abstraction / 1: |
Object-Oriented Versus Other Programming Paradigms / 2: |
Basic Principles of the Object-Oriented Paradigm / Chapter 2: |
Abstraction |
Encapsulation |
Modularity / 3: |
Object-Oriented Concepts and their UML Notation / Chapter 3: |
Object |
Classes |
Attributes |
Operations / 4: |
Polymorphism / 5: |
Interfaces / 6: |
Components / 7: |
Packages / 8: |
Systems and Subsystems / 9: |
Notes / 10: |
Stereotypes / 11: |
Relationships / Chapter 4: |
Associations |
Aggregation |
Composition |
Dependency |
Generalization |
Abstract Classes |
Abstract Classes Versus Interfaces |
Realization |
Use Cases and Actors / Chapter 5: |
Actors |
Use Cases |
Extend relationship / 2.1: |
Include relationship / 2.2: |
UML Diagrams / Chapter 6: |
The Use Case Diagram |
Use Cases Versus Functional Decomposition |
Interaction Diagrams |
Need for interaction / 3.1: |
Sequence diagrams / 3.2: |
Collaboration diagrams / 3.3: |
Sequence versus collaboration diagrams / 3.4: |
Activity Diagrams |
Statechart Diagrams |
Design Patterns / Chapter 7: |
A Short History of Design Patterns |
Fundamental Design Patterns |
The delegation pattern |
Creational Patterns |
The factory method pattern |
The abstract factory pattern |
The singleton pattern |
Structural Patterns |
The adaptor pattern / 4.1: |
The proxy pattern / 4.2: |
The iterator pattern / 4.3: |
The façade pattern / 4.4: |
Behavioral Patterns |
The state pattern / 5.1: |
The strategy pattern / 5.2: |
Applications / Part 2: |
The Kraalingen Approach to Crop Simulation / Chapter 8: |
System Requirements |
The Use Case Model |
The use case description |
Basic flow |
Alternate flow / 2.3: |
Preconditions / 2.4: |
Postconditions / 2.5: |
The Use Case Realization |
Sequence diagram for the use case |
Collaboration diagram for the use case |
Conceptual Models |
Conceptual model for the Kraalingen approach |
Discovery Potential Classes |
Boundary classes |
Control classes |
Entity classes / 5.3: |
Class Diagram For the Kraalingen Approach |
Critique of the Kraalingen Class Diagram |
Communication boundary-control / 7.1: |
Communication control-entity / 7.2: |
Communication entity-entity / 7.3: |
Final Class Diagram For the Kraalingen Approach |
The Benefits Of Using Interfaces |
Implementation of the Kraalingen Model In Java |
Interface IPlant / 10.1: |
Interface ISoil / 10.2: |
Interface IWeather / 10.3: |
Interface ISimulation Controller / 10.4: |
Packaging The Application |
The Plug And Play Architecture / Chapter 9: |
Definition |
Implementation |
Reflection |
The Plug and Play Simulator Controller |
Testing Unit For A Class/Component |
Soil Water-Balance and Irrigation-Scheduling Models: A Case Study / Chapter 10: |
Introduction |
Conceptual Models: Examples |
Template For Developing New Models |
Analysis of a Water-Balance Model |
Analysis of an Irrigation-Scheduling Model (ISM) |
The Benefits of a General Template |
Distributed Models / Chapter 11: |
Corba |
The Interface Definition Language (IDL) |
The Object Request Broker (ORB) |
Adaptors |
A CORBA Soil Server |
A simple CORBA client |
The Remote Method Invocation (RMI) |
An RMI Soil Server |
A Simple RMI client |
Distributed Crop Simulation Model |
Glossary |
References |
Index |
Preface |
Acknowledgments |
Concepts and Notations / Part 1: |