From COBOL to OOP

A big problem when working with object-oriented programming is to find the correct kind and number of classes. This chapter presents techniques to support this task.
Abbot method, UML, CRC cards
This section deals with how to best divide a system into classes. The object-oriented design differs from the procedural design the stepwise refinement discussed in Section 2.4. In this case, we will first work out the particularities of the design and then discuss the Abbot method. Moreover, this section introduces tools, such as the Unified Modeling Language (UML) and CRC cards. These issues will be completed with a few useful tips and warnings about frequent design errors.
The question of what the system uses to do something is in the foreground
Stepwise refinement can be applied to work out clean program logic that is easy to use but also sensitive to changes and not very friendly toward reusability. In an object-oriented design, what the system uses to do something is the focal point. The results are classes, forming core components, and several procedures (or classes) building on the former.
Central things first
The general approach is to first work out the things central to the task for example, in an accounting software, accounts, postings, or persons. Next, we consider what operations could be executed with these central things such as, creating an account, printing an account, or adding a posting entry. Also, we would have to think what information...