在讲解系统架构设计之前,有必要补充一下架构相关的概念,因此本博文主要讲述架构、架构师和架构设计等相关的概念以及关系。这是系统架构设计的基础,只有具备了此方面的知识之后,我们才能进一步了解架构师在软件开发过程中扮演的角色,架构师如何编写架构文档来满足不同利益相关者的需求等相关内容。
现在我们通过定义的概念来了解架构设计中的一些相关术语。
架构:架构是体现在它的组件中的一个系统的基本组织、它们彼此的关系、与环境的关系及指导它的设计和发展的原则。
系统:系统是组织起来完成某一特定功能或一组功能的组件集。系统包括了单独的应用程序、传统意义上的系统、子系统、系统之系统、产品线、产品组、整个企业及感兴趣的其他集合。
架构设计:一个架构的定义、文档编写、维护、改进和验证正确实现的活动。
架构描述:描述一个架构的文档集。
架构机制:对经常遇到的问题的共同的具体解决方案。
架构决策:关于一个软件系统整体或它的一个或多个核心组件的刻意设计决策。这些决策决定非功能性特性和质量指标。
企业架构:当与业务战略和信息需求保持一致时,指导与将来的业务方向保持一致的解决方案的选择、创建和实现的一组原则、指导、政策、模型、标准和流程。
通过以上定义,我们了解了架构中的一些相关概念,通过这些概念,我们能够更好的理解什么是架构、什么是架构、架构师在架构决策中的作用是什么,然后我们以一幅图来详解架构、架构师和架构设计之间的关系。
![](https://img-my.csdn.net/uploads/201208/17/1345169040_7515.png)
关于架构的描述:
架构定义组件的结构,同时还定义这些组件之间的交互。比如在一个订单管理系统中,我们有客户组件、账户管理组件、订单实体组件等,我们可以通过时序图来定义这些组件之间的调用过程(交互)。架构虽然定义结构和行为,但是它不关注定义所有的结构和行为。它只关注被认为非常重要的元素。
架构的特点:
架构必须平衡利益相关者的需要。
架构基于合理证据使决策具体化。
架构会遵循一种架构风格。
架构受它的环境影响。
架构影响开发团队的结构。
关于架构师的说法:
架构师是负责系统架构的人、团队或组织。
架构师的特点:
架构师是技术领导。
架构师的角色可能由一个团队来履行。
架构师理解软件开发流程。
架构师掌握业务领域的知识。
架构师掌握技术知识。
架构师掌握设计技能。
架构师具备编程技能。
架构师是优秀的沟通人员。
架构师进行决策。
架构师知道组织政策。
架构师是谈判专家。
关于架构设计的事
定义见上面。
架构设计的优点:
架构设计解决系统的质量问题。
架构设计促进达成共识。
架构设计支持计划编制流程。
架构设计促进架构的完整性。
架构设计有助于管理复杂性。
架构设计为重用提供基础。
架构设计降低维护成本。
架构设计支持影响分析。
本文只是粗枝大叶的介绍了架构设计中的相关概念及特点,这是我们向架构进军的一个前提,如你想了解更多架构设计方面的知识,请持续关注本站,O(∩_∩)O谢谢!