This text shows how to design software systems that can be predictably implemented and readily maintained and extended. It focuses on solving problems of scale and complexity that are inherent in modern systems, problems that challenge today's best software designers.
The authors offer a small, integrated set of principles and models that form a basis for software design at all levels. Methods are provided for requirements analysis, software architecture, and the design of software components. The emphasis is on how to think about systems, enabling designers to produce better architecture and designs, regardless of the tools and implementation languages to be used.
Readers learn how to apply the principles and models in the specification and design of software systems to arrive at the highest level, and most complete and consistent view of a system; create malleable architecture by modeling the end-user's view of the environment; partition high-level software into subsystems, modules, and procedures; produce designs that correctly implement the specifications; introduce distribution and/or concurrency while preserving structure and maintainability; and incorporate documentation practices into the design process.
The book integrates object-oriented design, structured design, and step-by-step refinement with the above topics. It also incorporates material on client-server, distributed systems, and methods for unit specification and verification such as those used by "cleanroom" technology.
Software Architecture and Design: Principles, Models, and Methods offers a unified presentation of the essentials of good design that will meet the critical needs of practitioners and students of software engineering.
"synopsis" may belong to another edition of this title.
This is a guide for software engineers, intended to provide building blocks for the design of highly complex software. The authors have devised a small, integrated set of software design principles, along with practical models of the principles at work applicable to most popular software systems and specifically designed for distributed network systems and concurrent operations. Modular principles as stepping stones to large systems are provided and solutions for simultaneous execution in different configurations and operating systems are included. The authors' experience in theoretical and practical software development includes service in IBM's Air Traffic Control and New York Times Information Bank projects, and on the faculty at the Johns Hopkins University. Throughout the book, the focus is on practical applications of core principles, rather than theoretical musings. This should be a useful reference for designers working in the world of large software systems.
"About this title" may belong to another edition of this title.
(No Available Copies)
Search Books: Create a WantCan't find the book you're looking for? We'll keep searching for you. If one of our booksellers adds it to AbeBooks, we'll let you know!
Create a Want