Just Enough Software Architecture: A Risk-Driven Approach (Hardcover)
暫譯: 剛好足夠的軟體架構:風險驅動的方法 (精裝版)

George H. Fairbanks

買這商品的人也買了...

相關主題

商品描述

This is a practical guide for software developers, and different than other software architecture books. Here's why:

It teaches risk-driven architecting. There is no need for meticulous designs when risks are small, nor any excuse for sloppy designs when risks threaten your success. This book describes a way to do just enough architecture. It avoids the one-size-fits-all process tar pit with advice on how to tune your design effort based on the risks you face.

It democratizes architecture. This book seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties.

It cultivates declarative knowledge. There is a difference between being able to hit a ball and knowing why you are able to hit it, what psychologists refer to as procedural knowledge versus declarative knowledge. This book will make you more aware of what you have been doing and provide names for the concepts.

It emphasizes the engineering. This book focuses on the technical parts of software development and what developers do to ensure the system works not job titles or processes. It shows you how to build models and analyze architectures so that you can make principled design tradeoffs. It describes the techniques software designers use to reason about medium to large sized problems and points out where you can learn specialized techniques in more detail.

It provides practical advice. Software design decisions influence the architecture and vice versa. The approach in this book embraces drill-down/pop-up behavior by describing models that have various levels of abstraction, from architecture to data structure design.

商品描述(中文翻譯)

這是一本針對軟體開發者的實用指南,與其他軟體架構書籍有所不同。原因如下:

**它教導風險驅動的架構設計。** 當風險較小時,無需過於細緻的設計;而當風險威脅到你的成功時,則沒有任何理由可以為草率的設計辯護。本書描述了一種適度的架構設計方法。它避免了一刀切的過程陷阱,並提供如何根據面臨的風險調整設計工作的建議。

**它使架構民主化。** 本書旨在使架構與所有軟體開發者相關。開發者需要了解如何使用約束作為指導,確保達成預期的結果,以及看似微小的變更如何影響系統的屬性。

**它培養陳述性知識。** 能夠擊球與知道為什麼能夠擊球之間是有區別的,心理學家稱之為程序性知識與陳述性知識的區別。本書將使你更清楚自己所做的事情,並為這些概念提供名稱。

**它強調工程技術。** 本書專注於軟體開發的技術部分,以及開發者為確保系統正常運作所做的工作,而非職稱或流程。它展示了如何建立模型和分析架構,以便你能夠做出有原則的設計取捨。它描述了軟體設計師用來推理中到大型問題的技術,並指出你可以在哪裡更詳細地學習專門技術。

**它提供實用建議。** 軟體設計決策會影響架構,反之亦然。本書中的方法通過描述具有不同抽象層次的模型,從架構到資料結構設計,來擁抱深入/彈出行為。