思维导图

架构设计基本概念
软件架构设计的目的就是对系统进行高度抽象,通过一系列设计原则在最大程度上降低系统复杂度,解决系统中存在的各种共性和特殊性问题。
架构的基本定义
要想成为架构师,首先要搞懂两个问题:
- 软件架构是什么
- 软件架构设计是怎么样一种工作内容?
架构组成理论
系统的架构是一系列基本概念或者系统在其环境中表现出来的属性,体现在它的元素、关系及设计和发展的原则中。
(1)系统元素
模块、组件、接口、子系统等。
元素+关系 = 系统结构(静态结构+动态结构)
(2)基本系统属性
功能属性
行为属性:输入、输出模型
质量属性:性能、安全性
(3)设计和发展原则
架构决策理论
架构决策理论的典型倡导者是RUP(统一软件过程)。该理论关注架构实践的主体——人,以认的决策为描述对象。
架构演进理论
典型的份层体系包括界面交互层、业务逻辑层和数据访问层。
架构设计与系统工程
架构设计是一项系统工程,而系统工程本质上是一个多学科工程,涉及软件开发的技术和管理两方面。
架构设计就是以干系人提出的业务需求为源头、以技术管理和过程改进体系为工作流程、以质量为重心的一项系统工程。在系统工程中,业务需求需要进行分析和抽象、过程需要进行管理和改进、设计质量需要进行保障,完成包含这些活动在内的整个系统架构设计工作的角色就是架构师。
架构师角色
架构设计被认为是从问题领域到解决方案的一种桥梁。
架构师是架构设计的执行者,架构设计的桥梁作用给架构师带来了挑战,意味着架构师需要同时具备处理两个核心领域的能力,即架构师需要能够从问题领域出发推导出满足业务需求的架构体系,同时又能够从实现方法入手设计出能够满足业务架构需求的技术架构体系,最终实现业务架构和技术架构的统一。
架构师是负责设计、记录和领导能够满足所有干系人需求的系统构建过程的人。
(1)识别干系人并让他们参与进来
(2)理解和记录系统功能和非功能相关的关注点
(3)创建并拥有应对这些关注点的架构定义
(4)在把架构实现为具体系统的过程中起主要作用
架构师分类
(1)根据作用
设计型、救火型、布道型、极客型
(2)根据职责
产品型、基础设施型、应用型
(3)根据关注层次
包括但不限于功能、非功能、团队组织和管理、产品运营
架构师的技能和职责
技能:
(1)完备的技术领域知识
(2)业务领域知识
(3)软技能
职责:
(1)作为技术负责人,从问题领域出发进行抽象和建模并提供系统解决方案
(2)与项目经理合作,制定计划、分配资源、组建团队
(3)通过自身影响力和协作能力,保证项目按既定计划和成本完成。
本文深入探讨了架构设计的核心概念,包括软件架构的目的、基本定义、组成理论及其在系统工程中的角色。阐述了架构师的职责与技能,以及如何在业务需求和技术实现之间搭建桥梁。
8万+

被折叠的 条评论
为什么被折叠?



