Beyond Programming: To a New Era of DesignThis book provides a unique examination of the software development process, arguing that discipline, still dominated by methods conceived in the framework of older technologies, must undergo a fundamental reexamination of its guiding principles in order for significant progress to take place. To gain fresh insights into how we ought to direct future research, the author begins with a search for first principles. The book begins with an exploration of the scientific foundations of computer technology, then examines design from the perspective of practitioners. The book also offers a critique of the methods employed in software development and an evaluation of an alternate paradigm that has been used successfully for 14 years. The concepts reviewed here comprise a set of core readings for understanding the research and development challenges that will confront computer technology in the 21st century and will be of great interest to computer science researchers and educators, graduate students, and software engineers. |
Other editions - View all
Common terms and phrases
abstract accepted actions activity theory adaptive design alternative analysis application approach artifacts automated begin behavior Blum chapter cognitive cognitive science complex computer science conceptual model construct context create criteria defined described design process domain environment evaluation example existing experience formal models function goal human identifies implementation in-the-computer in-the-world information hiding information systems input integrated interaction interface interpretation language learning logical mathematical mental models nature normal science objective observation OCIS operations organized orientation paradigm participatory design perspective phenomena philosophy philosophy of science physical Popper postconditions practice present-at-hand problem solving process model programs rational reality requirements result role scientific knowledge scientists sense shift situation social software design software development software engineering Software Maintenance software process solution specification structure system style tables task technological design TEDIUM transform understanding users valid wicked problem