Process for System Architecture and Requirements Engineering
Derek Hatley and Imtiaz Pirbhai -- authors of Strategies for Real-Time System Specification -- join with influential consultant Peter Hruschka to present a much anticipated update to their widely implemented Hatley/Pirbhai methods.
Process for System Architecture and Requirements Engineering introduces a new approach that is particularly useful for multidisciplinary system development: It applies equally well to all technologies and thereby provides a common language for developers in widely differing disciplines.

Review By: Tony Alabi
09/11/2002This book offers an approach to test effectively the sound development of engineering systems, by tapping into various processes, architectures, and models used in most common engineering disciplines.
This book draws from a series of techniques, methods, and principles. A peek at any system environment reveals a central core location, which serves as the engine of this environment; the environment is appropriately classified as a universe. In this context, every action that occurs both in the background and visible in the foreground cannot exist or thrive without some sort of interference by the engine. In this universe there are several layers of subsystems, which depend and interact with one another; their relationships being represented as well as the ingredients that they feed on to make these relationships prosper.
The book comprises two main sections. The first part contains comprehensive conceptual descriptions of several approaches, methods, and processes in system development, system models, and the relationships between these various systems and subsystems, plus an illustrative case study.
The second part of the book delves deeply into the development of a highly multidisciplinary system, by using a groundwater analysis system as a case study. Every aspect of development milestones was covered well, from the requirements stage to variables such as inputs, outputs, and the utilization of a prototype. This combination, presented as a top-down approach, thus gives the opportunity to identify and acquire any missing pieces and fit them into place.
Some parts of this book could be very cryptic to an “outsider,” for instance, someone from the software development culture. Certain basic rules and guidelines common among several engineering disciplines are applied, and applicable in most of the scenarios mentioned in the book; however, the logic flow and control seem incompatible at times with what an engineer may find in the software development world.
Nevertheless, the book makes many good points, and one stands to benefit significantly from the many principles, approaches, and suggestions discussed. A lot of the concepts are non-novelty; they can be used as basic building blocks in the foundation of system engineering of any sort.
The book made great use of diagrams, charts, tables, and pictures to illustrate many points, along with some very abstract concepts and ideas. A good problem-solving checklist is introduced in the book, providing an insightful and methodical approach to a system design, listing all possible constraints for each design scenario—from the conceptual stage to the completion or desired output stage—and providing a good laundry-list of tools to be used in achieving the various milestones in the engineering project lifecycle.
This book will serve as a great ally to the likes of system architects, system engineers, hardware engineers, system managers, and in some regards, to hardware/software engineers. For these types, the book will serve as a good reference, as well as a good source of new ideas in system engineering.