Quote
"Walking on water and developing software from a specification are easy if both are frozen."
E
Edward V. Berard"Objects are the real and conceptual things we find in the world around us. An object may be hardware, software, a concept (e.g., velocity), or even "flesh and blood." Objects are complete entities, i.e., they are not "simply information" or "simply information and actions." Software objects strive to capture as completely as possible the characteristics of the "real world" objects which they represent. Finally, objects are "black boxes," i.e., their internal implementations are hidden from the outside world, and all interactions with an object take place via a well-defined interface."
"Walking on water and developing software from a specification are easy if both are frozen."
"Object-oriented domain analysis seeks to identify reusable items localized around objects e.g., classes, instances, systems of interacting objects, and kits."
"An object which is used to create instances, i.e., a template, description, pattern, or "blueprint" of a category or collection of very similar items. Among other things, a class describes the interface the these items will present to the outside world, i.e., the available and appropriate methods, constants, and exceptions. A class represents an abstraction of the items. A class may itself be parameterized (i.e., it actually represents a family of very closely related classes), in which case we refer to it as a parameterized class. Class is a recursive concept. Specifically, we may define classes as being composed of other classes (i.e., heterogeneous composite classes and homogeneous composite classes), in terms of itself (a recursively defined class), as inheriting characteristics from one or more other classes (i.e., the superclasses of the class), and as providing characteristics to other classes (i.e., the subclasses of the class). In some places, classes are defined as "the set of all instances of a type," and the term "type" is given the above definition for class."
"An action which is suffered by, or required of, an object. Operations may be selectors, constructors, or iterators. An operation is contained in an objects interface and has its details described in a corresponding method. Operations may be composite, i.e., composed of other operations. However, encapsulation of composite operations within the interface to an object is not encouraged."
"Work on what was to become “structured design” began in the early 1960s. Structured design, as a well-defined and named concept, did not achieve appreciable visibility until the publication of an article in the IBM Systems Journal in 1974 (Stevens et al., 1974). There is more than one way to accomplish a “structured design.”"
"Like structured design, the term object-oriented design (OOD) means different things to different people. For example, OOD has been used to imply such things as"