Amnon H. Eden
In: Toufik Taibi (ed.) Design Pattern Formalization Techniques, pp. vi–vii. Hershey, USA: IGI
Publication year: 2007
Software design is a fledgling discipline. When the “software crisis” came to be acknowledged during the late 1960s, software development projects have been marred by budget overflows and catastrophic failures. This situation has largely remained unchanged. Programmers still create poorly-understood systems of monstrous complexity which suffer from a range of problems directly linked to the lack of abstraction: lack of means of communicating design decisions, absence of effective pedagogical tools for training novice programmers, and inadequate means for maintaining gigantic software systems. In the recent years, we have witnessed an explosion of loosely-related software technologies, techniques, notations, paradigms, idioms, methodologies, and most of all proprietary and poorly-understood ad-hoc solutions, driven by market forces more than by design, planning, or research. (Read more)