Object-Oriented Design

4. Object-Oriented Design Activities

In ABC's rental application, we are using off-theshelf software in an off-the-shelf hardware environment. In the environment, the operating system, network, database, and form of human interface are all given. Because of our choices-PCs, MS-DOS, Novell Netware, and a SQL DBMS-the application does not easily lend itself to object-oriented design that assumes none of the services and functions provided in our target environment. Because of the differences, we will discuss ABC at two levels: one for SQL DBMS which becomes unobject-like, and one for a Unix/C++ environment that stays object-like. First, we follow ABC through the process of design keeping in mind that the off-the-shelf software will be used. Think of this design as object-based, that is, based on object thinking, but decidedly not object-oriented in implementation. Object-based design is what is practiced by most novice object-designers, and is what most CASE tools being retrofitted for object orientation will be. In the chapter appendix, we present a second design for a Unix/c++ environment that is completely object-oriented. Without both discussions, the view of object orientation that you would get is not complete, and some of the discussions would be inaccurately stated for object-oriented design.