APRIL 2004 (Vol. 37, No. 4) p. 73
0018-9162/04/$31.00 © 2004 IEEE
Published by the IEEE Computer Society
Published by the IEEE Computer Society
PDFs Require Adobe Acrobat
Object-Oriented Reengineering Patterns, Serge Demeyer, Stéphane Ducasse, and Oscar Nierstrasz.
Many systems can be upgraded or simply thrown away if they no longer serve their purpose. Legacy software, however, is crucial for operations and must be continually available and upgraded. How can you reduce the complexity of a legacy system sufficiently so that the company can continue using and adapting it at an acceptable cost?
Based on their industrial experiences, the authors describe how to reverse-engineer a monolithic system to understand how it works and how to identify potential problems. The book includes reengineering patterns that tackle well-known reengineering techniques often encountered in object-oriented programming, such as introducing polymorphism, factoring out common behavior, detecting duplicated code, and understanding design. The authors also explain how to build a culture of continuous reengineering for achieving flexible and maintainable object-oriented systems.
Morgan Kaufmann; www.mkp.com; 1-55860-639-4; 282 pp.; $59.95.
How Users Matter: The Co-Construction of Users and Technology, Nelly Oudshoorn and Trevor Pinch, eds.
The essays in this volume look at the creative capacity of users to shape technology in all phases, from design to implementation. Using a variety of theoretical approaches, including a feminist focus on users and use (in place of the traditional emphasis on men and machines), concepts from semiotics, and the cultural studies view of consumption as a cultural activity, these essays examine what users do with technology and, in turn, what technology does to users.
The essays in Part I show that resistance and non-use can be crucial factors in the eventual modification and improvement of technology. The essays in Part II look at advocacy groups and the many kinds of users they represent, particularly in the context of healthcare and clinical testing. The essays in Part III examine the role of users in designing, testing, and selling technology.
Taken together, the essays in this book show that any understanding of users must take into consideration the multiplicity of roles they play—and that the conventional distinction between users and producers is largely artificial.
MIT Press; mitpress.mit.edu; 0-262-15107-3; 360 pp.; $40.
Immunocomputing: Principles and Applications, A.O. Tarakanov, V.A. Skormin, and S.P. Sokolova.
This book introduces immunocomputing (IC) as a new computing approach that replicates the principles of information processing by proteins and immune networks.
The authors establish a rigorous mathematical basis for IC that is consistent with the recent findings of immunology and present various applications of IC to specific computationally intensive real-life problems. They also discuss hardware implementation aspects of the IC concept in an immunocomputer as a new kind of computing media and its potential connections with modern biological microchips (biochips) and future biomolecular computers (biocomputers).
This book is intended for experts in computer science, artificial intelligence, and biomolecular computing who are interested in adopting the principles of computing, immunologists seeking to further quantify their field of research, multidisciplinary researchers interested in mutual enhancement of computer science and immunology, and university students exploring their individual "entry points" to the world of science.
Springer; www.springer-ny.com; 0-387-95533-X; 208 pp.; $54.
Critical Testing Processes: Plan, Prepare, Perform, Perfect, Rex Black.
The advent of agile methodologies and test-driven development has brought software testing to the forefront of application development. Yet in today's harried rush-to-market development environment, organizations must find a delicate balance between product release and product quality.
The author distills knowledge gained from 20 years of testing experience into 12 critical processes and presents case studies to demonstrate their use. Instead of cumbersome regulations, this book provides checklists—lightweight, flexible tools for implementing process-oriented testing, gathering metrics, and making incremental process changes.
Because testing is a collaborative process with the participation of staff throughout an organization, the author discusses interpersonal and cultural issues in depth. This book also devotes ample coverage to planning and perfecting tests.
Addison-Wesley; http://www.awprofessional.com; 0-201-74868-1; 608 pp.; $49.99.