Designing for change
Author(s) -
Peter Grogono
Publication year - 1994
Language(s) - English
DOI - 10.1145/782206
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 entities. Our work borrows from formal specification techniques, but is intended for software that evolves.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom