#leadership

"Recently, I have had conversations with a number of people who were attempting their first object-oriented project. Most of these people claimed to be using “use cases” in their object-oriented analysis and design approaches. However, listening to them describe their projects, it became quite apparent to me that there is a great deal of confusion regarding the definition, context, and use of use cases. This confusion can lead to poorly-designed systems."

React to this quote

More by Edward V. Berard

See all

“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 , 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 , in terms of itself , as inheriting characteristics from one or more other classes , and as providing characteristics to other classes . 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.”

“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 . There is more than one way to accomplish a “structured design.”

“Like structured design, the term object-oriented design means different things to different people. For example, OOD has been used to imply such things as”

“Walking on water and developing software from a specification are easy if both are frozen.”

“A Comparison of Object-Oriented Development Methodologies by Edward V. Berard, 1996”

“Objects are the real and conceptual things we find in the world around us. An object may be hardware, software, a concept , 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.”