Good judgment is usually the result of experience.And experience is frequently the result of bad judgment. But to learn from the experience of others requires those who have the experience to share the knowledge with those who follow.
-Barry LePatner
本书收集了很多人的经验,阅读此书时,假定:
1 软件架构对于软件系统的成功开发是非常重要的;
2 有足够的,且足够归纳的软件架构知识体系来充实一本书;
本书的一个目的是说服你以上所有假设都是对的,而一旦你被说服,本书就可以给你软件架构基础知识,以供你自行应用。
软件系统的目的是满足组织业务目标。架构是商业目标(通常是抽象的)和最终交付系统(具体的)桥梁。抽象目标至具体系统的映射路径可能很复杂,好消息是软件架构是可以使用已知技术进行设计、分析、归档和实现的,这些已知技术可以支撑这些商业和使命目标的达成。而复杂性是可以被驯服和易于驾驭的。
这就是本书的主题:架构的设计、分析、归档和实现。我们也会检查影响,主要是业务目标和质量指标的形式,它们为这些活动提供信息。
本章将从软件工程的角度谨慎关注架构。即,我们将探索软件架构带给开发团队的价值。