Evaluating Software Architectures: Methods and Case Studies (SEI Series in Software Engineering) (英語) ハードカバー – イラスト付き, 2001/10/22
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Paul Clements is a senior member of the technical staff at the SEI, where he works on software architecture and product line engineering. He is the author of five books and more than three dozen papers on these and other topics.
Rick Kazman is a senior member of the technical staff at the SEI. He is also an Associate Professor at the University of Hawaii. He is the author of two books, editor of two more, and has written more than seventy papers on software engineering and related topics.
Mark Klein is a senior member of the technical staff at the SEI. He is an adjunct professor in the Masters of Software Engineering program at Carnegie Mellon and a coauthor of A Practitioner's Handbook for Real-time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems (Kluwer Academic Publishers, 1993).
|星5つ 43% (43%)||43%|
|星4つ 57% (57%)||57%|
|星3つ 0% (0%)||0%|
|星2つ 0% (0%)||0%|
|星1つ 0% (0%)||0%|
If you plan to evaluate software architectures: Get the book, read and digest it and you will surely learn a lot to ease your task. You'll not learn everything, though! ATAM, as all evaluation methods, strongly relies on experience, both technical and business-related!
ATAM concentrates only on "documented" architectures, it does not take code or running software into account - which imho seriously lacks practicality.
The book gives some examples for evaluations - but those imho do not provide advice for your own evaluations, especially when it comes to scenario generation - maybe the author improve this in a future edition :-)
In my own reviews and audits I usually complement ATAM by other evaluation techniques, like code-inspections, document-reviews, interviews, risk-assessments or the like.
Sumamry: MUST-read for everybody who's involved in methodical architecture evaluation and review, whereas the ATAM method does imho not cover everythig you'll need for such tasks.
The oldest of the three techniques presented is SAAM, the Software Architecture Analysis Model. It's primary goal is to determine how well a system's structure addresses the technical requirements of the application, and its probable success at addressing future changes of requirements.
ATAM, the Architecture Tradeoff Analysis Method, descends from SAAM but is far more complete. It starts upstream of the requirements, at the business model behind the application, then moves forward methodically through the top-level design. At each step, reviewers update the list of technical risks and non-risks (relatively safe items). ATAM is open-ended, in the sense that the project's own goals define the specific measures of quality that apply - it doesn't force-fit every project onto one Procrustean axis of measure.
If ATAM is SAAM grown large, then ARID (Active Reviews for Intermediate Design) is SAAM scaled down. Where ATAM and SAAM address strategic issues about complete systems, ARID incorporates tactical information about specific design issues. It's not as narrow as standard design review techniques, but not as broad as an architecture review.
ATAM is the main focus of the book, with more pages than SAAM and ARID combined. All three are described in full detail, however. The authors identify the specific skill sets, roles, and responsibilities that must be involved at each step. They present checklists for eliciting the kinds of information needed, even specifics of meeting agendas and meeting room equipment.
That creates my second impression of this book: I was very disappointed. This book is for meeting organizers, and deals very little with technical specifics. That is not at all what I hoped for. It is not the fault of the book that it fails to meet my expectations. In my present work, however, the authors present just about nothing to enhance my project's technical content.
This is a process book. It seems to be a good one. It takes what works in other design review methodologies, then expands that to the highest level of the software project. It gives enough detail that you can tune specifics of the process to specifics of your project. Still, it's just a process book.