skip to main content
10.5555/782185.782206dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
Article
Free access

Designing for change

Published: 31 October 1994 Publication History

Abstract

The ambition of every designer is the software equivalent of a cathedral. But maintenance programmers are more comfortable in a farmhouse than a cathedral. We argue that current design methodologies are oriented towards cathedrals, and we propose object oriented design techniques and tools that are suitable for farmhouses.During the lifetime of a useful program, its users requirements change and the code changes to track the requirements. The code drifts away from the original design, becomes increasingly brittle, and eventually can no longer be maintained; each repair introduces new faults. The cure for these ills--design for change--is well-known, but current design methodologies and tools do not facilitate useful changes.We describe a design tool that supports evolutionary object oriented design. Designers can create and modify designs, view them in textual and graphical form, check their internal consistency, and match them to requirements and code.To accomplish this, we use text, tables, and diagrams with multiple levels of formality. The tool processes formal entities completely (as a compiler can process source code completely); it stores, retrieves, and displays informal entities (whereas a compiler discards comments); and it can perform limited operations on semiformal entities. Our work borrows from formal specification techniques, but is intended for software that evolves.

References

[1]
{1} Mehmet Aksit and Lodewijk Bergmans. Obstacles in object-oriented software development. In Proc. ACM Conf. on Object-Oriented Programming Systems, Languages and Applications, pages 341-358, 1992.
[2]
{2} Grady Booch. Object Oriented Design with Applications. Benjamin/Cummings, 1991.
[3]
{3} Frederick P. Brooks. The Mythical Man-Month . Addison-Wesley, 1978.
[4]
{4} Raymond J. A. Buhr and Ronald S. Casselman. Architectures with pictures. In Proc. ACM Conf. on Object-Oriented Programming Systems, Languages and Applications, pages 466-483, 1992.
[5]
{5} P. Coad and E. Yourdon. Object-Oriented Analysis. Prentice-Hall, 1990.
[6]
{6} Derek Coleman et al. Object-Oriented Development: the Fusion Method. Prentice Hall, 1994.
[7]
{7} Dennis de Champeaux, Douglas Lea, and Penelope Faure. Object-Oriented System Development. Addison-Wesley, 1993.
[8]
{8} A. Goldberg and D. Robson. Smalltalk- 80: The Language and its Implementation. Addison-Wesley, 1983.
[9]
{9} Peter Grogono. Issues in the design of an object oriented programming language. Structured Programming, 12(1):1-15, January 1991.
[10]
{10} Peter Grogono and Benjamin Cheung. A semantic browser for object oriented program development. In Proc. 25th Hawaii International Conference on System Sciences, Volume II, pages 38-45, IEEE, Kaui, HI, January 1992.
[11]
{11} David Harel. Statecharts: a visual formalism for complex systems. Science of Computer Programming, 8:213-274, 1987.
[12]
{12} Wayne Haythorn. What is object-oriented design? J. Object-Oriented Programming, 7(1):67-78, March-April 1994.
[13]
{13} Geir Høydalsvik and Guttorm Sindre. On the purpose of object-oriented analysis. In Proc. ACM Conf. on Object-Oriented Programming Systems, Languages and Applications, pages 240-255, 1993.
[14]
{14} I. Jacobson, M. Christerson, P. Jonsson, and G. Övergaard. Object-Oriented Software Engineering. Addison-Wesley, 1992.
[15]
{15} Thomas S. Kuhn. The Structure of Scientific Revolutions. University of Chicago, 1962.
[16]
{16} James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorensen. Object-Oriented Modeling and Design. Prentice Hall, 1991.
[17]
{17} Sally Shlaer and Stephen J. Mellor. Object-Oriented Systems Analysis: Modeling the World in Data. Prentice Hall, 1988.
[18]
{18} A. Wasserman, P. Pircher, and R. Muller. The object-oriented structured design notation for software design representation. IEEE Computer, 23(3):50-63, March 1990.
[19]
{19} Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener. Designing Object-Oriented Software. Prentice Hall, 1990.
[20]
{20} Edward Yourdon. Decline and Fall of the American Programmer. Yourdon Press, 1992.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '94: Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
October 1994
781 pages

Sponsors

  • Industry Canada
  • Natural Sciences and Engineering Research Council
  • IBM Canada: IBM Canada
  • NRC: National Research Council - Canada

Publisher

IBM Press

Publication History

Published: 31 October 1994

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 325
    Total Downloads
  • Downloads (Last 12 months)41
  • Downloads (Last 6 weeks)12
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media