第3章 软件架构设计
在前一章中,我们介绍了软件架构的基础知识,并解释了软件架构为需求工程在一个完全设计的软件系统中定义的功能和非功能需求的实现定义了一种设计方法。找到正确的设计方法,或者换句话说,软件架构的设计,正是本章的全部内容。
与为一个复杂、未完全明确的问题创建新算法一样,架构设计是一个创造性的过程。软件架构的创建远不止是一位独自工作的架构师冥思苦想,直到受到神的启示得到正确的解决方案。这种方法注定会失败,特别是对于复杂的软件系统。不能期望一个未经协调的设计能被项目中所有相关方毫无矛盾地接受和实现。同样不现实的是期望一个人能够跟踪所有的需求以及其决策的后果。在设计过程中,所有相关方之间的沟通是一个重要的成功因素,必须加以考虑。
在第一节中,我们提供了架构设计过程的概述。接下来是经过验证的设计原则和启发式方法,如自上而下和自下而上、“分而治之”以及尽可能简单的原则。在接下来的章节中,我们介绍了一系列面向架构的开发方法,这些方法与现有的和广泛使用的方法和过程建立了联系。然后,我们探讨了一系列技术,这些技术在适当应用时可持续地提高设计的质量。最后,我们涵盖了架构和设计模式,为每位架构师提供了丰富的伟大创意和解决方案构建块。
Last updated