The object-oriented brewery: a comparison of two object-oriented development methods

Interest in object-oriented methods has been rapidly increasing, as software developers and project managers try to reduce escalating development and maintenance costs. There is an increasing need to determine if there are differences in effectiveness between various methods of object-oriented software development, and whether techniques from more successful methods can be extracted and applied to improve other methods.This paper reports on research to compare the effectiveness of two methods for the development of object-oriented software. These methods are representative of two dominant approaches in the industry. The methods are the responsibility-driven method and a data-driven method that was developed at The Boeing Company and taught in a course available to the public.Each of the methods was used to develop a model of the same example system. A suite of metrics suitable for object-oriented software was used to collect data for each model, and the data was analyzed to identify differences.The model developed with the responsibility-driven method was found to be much less complex, and specifically to have much less coupling between objects and much more cohesion within an object.

[1]  Rebecca Wirfs-Brock An Integrated Color Smalltalk-80 System , 1988, OOPSLA.

[2]  James J. Odell What is object state , 1992 .

[3]  Randy Shepherd,et al.  Object-Oriented Programming , 1994, Lecture Notes in Computer Science.

[4]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[5]  Peter Coad Analysis & design OOA & OOD: a continuum of representation , 1991 .

[6]  Anton Eliëns Principles of Object-Oriented Software Development , 1994 .

[7]  Kenneth S. Rubin Object behavior analysis , 1992, CACM.

[8]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[9]  H. Holbrook,et al.  A scenario-based methodology for conducting requirements elicitation , 1990, SOEN.

[10]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[11]  Michael S. Miller,et al.  The Application Accelerator Illustration System , 1986, OOPSLA.

[12]  David E. Monarchi,et al.  A research typology for object-oriented analysis and design , 1992, CACM.

[13]  Karl J. Lieberherr,et al.  Object-oriented programming: an objective sense of style , 1988, OOPSLA '88.

[14]  Juanita J. Ewing An Object-Oriented Operating System Interface , 1986, OOPSLA.

[15]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .

[16]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[17]  Anton Eliëns,et al.  Principles of Object-Oriented Software Development [With CDROM] , 1994 .

[18]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[19]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[20]  Wirfs-BrockRebecca An integrated color smalltalk-80 system , 1988 .