-46% ¥7,000¥7,000 税込
ポイント: 70pt
(1%)
配送料 ¥495 6月22日-7月3日にお届け
発送元: ハウス オブ トレジャー 販売者: ハウス オブ トレジャー
¥851¥851 税込
配送料 ¥410 6月7日-9日にお届け
発送元: KAUZO(嵯峨野株式会社)毎日・迅速・丁寧な発送に心掛けています 販売者: KAUZO(嵯峨野株式会社)毎日・迅速・丁寧な発送に心掛けています
無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
Documenting Software Architectures: Views and Beyond (Sei Series in Software Engineering) ハードカバー – 2002/9/26
この商品には新版があります:
購入オプションとあわせ買い
- 本の長さ560ページ
- 言語英語
- 出版社Addison-Wesley Professional
- 発売日2002/9/26
- 寸法16.51 x 3.18 x 23.5 cm
- ISBN-100201703726
- ISBN-13978-0201703726
商品の説明
著者について
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.
Len Bass is a senior member of the technical staff at the Software Engineering Institute (SEI). He has written or edited five books and numerous papers on software engineering and other topics. He has extensive experience in architecting real-world development projects.
Robert L. Nord, a member of the software architecture program at SCR, designs and evaluates software architectures for large-scale industrial systems. Dr. Nord, currently the Siemens industrial resident affiliate at the Software Engineering Institute (SEI) in Pittsburgh, is working on methods for architecture trade-off analysis and product-line practices. His other interests include transitioning software design practices, improving architecture practices using software architecture improvement groups, and architecture-based development.
0201703726AB01162003
登録情報
- 出版社 : Addison-Wesley Professional; 第1版 (2002/9/26)
- 発売日 : 2002/9/26
- 言語 : 英語
- ハードカバー : 560ページ
- ISBN-10 : 0201703726
- ISBN-13 : 978-0201703726
- 寸法 : 16.51 x 3.18 x 23.5 cm
- カスタマーレビュー:
著者について
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
他の国からのトップレビュー
It is very important for the would-be reader of this book to note that what is repeatedly refered to as a "view" in this book is not a view at all but a "model".
This book, widely referred to as "The Bible of Software Architecture Documentation" (understandably because it is a tome, it is huge), covers in detail what can be described as "modelling patterns", a topic that is oft not covered in software architecture books. The book attempts to take the scientific/formal approach to qualitative modelling, allowing software architects to go beyond informal box and lines and ad-hoc UML models. It is an "in depth" coverage of "qualitative models" of software architecture used primarily to describe software structures. It does not go into the "quantitative models" that are oft used to describe non-functional requirements or service-level agreements.
In all its glory it specifies 3 types of qualitative models:
1. Modules (which are static and represent code). In the final incarnation of modules, we have a concept of a "virtual machine" or Layers.
2. Components and Connectors (which are runtime components that represent processes).
3. Allocation (which are static and/or runtime in nature and represent the placement of modules and components into an "environment").
Chapters 1 to 5 catalog the entire set of qualitative software architecture models the book presents, which is a very basic set of models, not at all comprehensive for the size of the book and its reputation as a "Bible". Chapter 6, or "Advanced Concepts" is a somewhat incoherent chapter on modelling techniques, mainly philosophy and unsubstantiated opinions. In its prologue, in a disjointed section titled "coming to terms", it actually tries to reconcile its main flaw of definining models as views by referring to a concept of "Architectural Views" and then refers the reader to other books on the matter (e.g. the Rational/Krutchten "4+1" approach to architecture, the Siemens Four Views etc) which is just weird considering this is supposed to be a book on software architecture.
Take note: if you're looking to learn about "Architecture Views", this book is not for you. It refers you to other well-known books on software architecture. If you want to learn something about the basic models of software architecture, such as: module diagrams, pipes and filters, client-server, deployment diagrams, and not much else, read on.
There are a lot of problems with this book. The one that stands out the most is that *it isn't* going to teach you how to document software architectures. In fact, it will more likely confuse you which is really a set back, that is, you come off worse than you were at documenting software architectures than you were before you took in the "pearls of wisdom" laid out in this book. In chapter 3, while it is describing the "component-and-connector viewtype" it tells you that an ESB is a "connector". I had to LOL. An ESB is a system in its own right, a messaging system to be specific, not a connector. I can imagine it can be viewed as such, but it really isn't (a connector). The connector would be e.g. HTTP (with SOAP payload) or a JMS Topic, but, I digress. In chapter 4, it says you can use class diagrams to represent component types and instances (i.e. runtime components). I don't agree with this modelling advice. Classes are static constructs. You don't use static constructs to model runtime or dynamic components. I understand it might work, but it's hardly scientific. You can get away with it because well, it's only a "qualitative model". It doesn't have to be executable. It then totally goes off tangent by saying that you can't use UML component diagrams to model "components". Another LOL. Why? The UML component is the best standard notation we have for modelling components. Why would you use a class to model a component instead of a component?
As I've mentioned earlier, chapter 6 is not good, it's just a series of bad ideas. Their concept of a "view packet" is the same as a "viewpoint" in the standard nomenclature (i.e. IEEE). Their concept of a "viewtype" is actually "model type", having nothing to do with what other software architecture books refer to as a view. Total chaos and confusion here. They totally confuse the concepts of models and viewpoints. They spin off a lot of in-bred philosophy and it's just not good if you're on the path to being an effective software architect. Further on in chapter 6 (section 6.1.3.) it then changes the definition of a "view packet" from what most software architects would understand as "viewpoint" to what most software architects would understand as a "model". The author is totally confused. In chapter 6, tha author(s) try to describe modelling of the all-important Context Diagram. They say you can use UML use-case notation to document a Context Diagram. Wrong. Context diagrams do not embody functions, which is what use-cases are. Context diagrams are about the system's interaction with it's environment or "context", in fact, the opposite or inverse of use cases. Note: Use-case diagrams are NOT context diagrams. With use-cases, you are delving (or hoping to delve) into funtionality, specific implementation paths "in" the system. A context diagram is a "black box" of the system looking "out" of the system. At this point (end of chapter 6) you get the realisation that their whole approach to models (or "views" as they call it) is rather unscientific.
Miracles do happen, if you believe. So I kept on reading and chapter 7 is indeed one. It is titled "Documenting Software Interfaces" and if there's any reason at all to read this book, it is this chapter. A very educational chapter on documenting software interfaces. A salient and most powerful point of chapter 7 is that "interface specification" should not just include syntactic informatioan (signatures, API...) but it *must* also specify semantic information (behaviour). It gives the very good advice of including a seperate interface specification for each model you create in your software architecture. Figure 7.1 titled the "Element Interface Specification" is instructive. Also, Figure 7.2 titled "A classification of exceptions associated with a resource on an elements interface" is a priceless chart for thinking about the causes of bugs or exceptions in software when having difficulty locating the source of a problem. A priceless design tool in my opinion. If you buy this book, make sure to read chapter 7, it is an excellent and thorough chapter on documenting software interfaces.
Chapter 8 is not bad. It basically covers scenarios and sequence diagrams. Chapters 9 and 10 are wrap-ups of what has been discussed in the preceeding chapters.Chapter 11 is about "other views" which is somewhat hilarious because this book isn't about architectural views, however, chapter 11 will point you to other books or literature that do cover architectural views (i.e. the reason you bought this book titled "Documenting Software Architectures: views and beyond").
The End.
I do not recommend you buy this book except you want a very good take on documenting software interfaces (i.e. chapter 7). The book is fundamentally flawed for its purpose.
First, this book stands out as one of the clearest descriptions of how to not only document architectures, but how to manage the documentation project. Second, this is not a dogmatic prescription for how to document, but instead gives a set of techniques and views that can be used singularly or in combination to produce documentation that meets the needs of all technical and business stakeholders.
When I read the brief predecessor to this book I liked the way different view types and styles were introduced, but was left to my own imagination and creativity to employ them based on scant descriptions. This book rectifies those gaps by providing comprehensive guidance on how to create each view type and when it's most appropriate for inclusion into the documentation project. I was also intrigued by the earlier document because it discussed 'information chunking', which is the basis for a technique in which I'm trained and certified called Information Mapping©. The book expands on the earlier work, and it turns out that the material is not only consistent with Information Mapping© at a high level, but also shares many core principles. To me this is another plus because it will introduce readers who have not benefited from formal Information Mapping© training to powerful and effective document design and development techniques.
Another strong point about this book is the attention paid to managing the documentation process - it's one thing to write clear documentation and quite another to manage a process where many writers contribute to the documentation. I also liked the illustration examples, which epitomize how to effectively portray technical detail, and the discussion of other methods of documenting architecture.
In my opinion this book should become the standard for developing and managing documentation. It belongs on the desk of every technical writer and on the bookshelf of every architect and designer. I waited a year for this book and it was well worth the wait.
Aber: In der Praxis möchte ich NICHT zuerst mal über die geeigneten Viewpoints und Perspectives forschen, sondern meine konkrete Architektur dokumentieren. Clements versäumt es, mir DAFÜR konkrete Hilfestellung zu geben, leider! Ich möchte auch nicht jedes Mal wieder über mögliche Notationen und Strukturen diskutieren - auch dafür gibt Clements nur sehr ausweichend Hilfestellung...
Den Beispielen merkt man den akademisch/militärischen Hintergrund an - ich fand sie nicht besonders hilfreich. Clements hätte besser daran getan, "einfachere" aber aussagekräftigere Beispiele zu verwenden.
Fazit: Wer sich mit "methodischer Dokumentation von IT-Architekturen" beschäftigt, sollte dieses Buch lesen. Wer allerdings für konkrete Aufgeben direkt anwendbare Hilfe sucht, dem hilft das Buch nicht (dafür gibt es aber frei verfügbare Doku-Templates inklusive Erläuterungen als Abhilfe!)
Wegen der Praxisferne gibt's nur drei Sterne.
Alternative Literaturempfehlung: Dokumentation ist in den Büchern über Software-Architektur ein ungeliebtes Thema - meist wird es ignoriert...
BUT, it could have been so much better... (hence only 4 stars)
1. Needs more example models & diagrams, a picture is worth 1000 words.
2. It should be about modelling not documenting, but hey that IS the title of the book!
3. The final section that discusses the views proposed by RUP, siemens, ODP etc are clearly an afterthought as they don't really tell you much and are so 'standalone'.
4. Amazingly there is no discussion of frameworks.
5. The MDA paradigm isn't even touched upon - a major ommission IMHO.
Ultimately though it's the best book I've read on the subject, just left me with half the answer...
This book is hard to read because there is a lot of important concepts and ideas in every single chapter. View types, styles, some basic tactics, how to choose what to include in a view, how to present your document, how to combine views, etc.
The only annoying point is that they wrote many times in their book that a View must come with a key to explain its notation. However, we can find many of theirs example of a view that haven't any key. But except for these errors, it is an excellent book.