JBoss.org Community Documentation

- Prev

## Chapter 17. Development

## 17.1. Methodology overview

The diagram below explains the overall structure of the OptaPlanner source code:

The development philosophy includes:

- Reuse: The examples are reused as integration tests, stress tests and demo's. The documentation images are reused as slides.

- Consistent terminology: Each example has a class `App` (executable class), `Dao` (Data Access Object) and `Panel` (swing UI).

- Consistent structure: Each example has the same packages: `domain`, `persistence`, `app`, `solver` and `swingui`.

- Real world usefulness: Every feature is used in an example. Most examples are real world use cases with real world constraints, often with real world data.

- Automated testing: There are unit tests, integration tests and stress tests. The test coverage is high.

- Fail fast with an understandable error message: Invalid states are checked as early as possible.

- PrevChapter 16. Integration
- Up
- Home