添加快捷方式
分享
智能纪要:软件体系结构-完整版
输入“/”快速插入内容
智能纪要:软件体系结构-
完整版
用户5909
用户5909
用户3632
用户3632
用户6342
用户6342
用户5217
用户5217
6月1日修改
会议主题:
软件体系结构-完整版
上传时间:2026年5月26日(周二) 21:25 (GMT+08)
智能纪要由 AI 生成,可能不准确,请谨慎甄别后使用
总结
画板
音频围绕体育结构课程后续安排、考试相关事宜及各知识点复习重点展开讨论,内容如下:
•
课程安排与考试信息
◦
课程剩余安排
▪
课程进度:课程加上本次还有四次课,因部分研二同学重修,下周将进行考试,本周进行考前复习,总结前 13 或 14 周课程内容。考试后剩余两节课将讲解 AI 增强和 AI 原生系统架构,但不作为考试要求。
▪
成绩构成:平时作业成绩占总成绩的 40%,期末考试成绩占 60%。
◦
考试题型与要求
▪
题型设置:考试题型包括简答题、论述题和设计分析题。简答题主要考察基本概念理解及运用;论述题要求运用所学概念、原则和分析方法对行业现象进行讨论;设计分析题围绕 DDD、ADD 等方法,需灵活运用知识完成设计或分析评价,题目为英文,但答题可使用中文或英文,不能中英文混用。
▪
工具准备:个别题目(论述题或设计分析题)可能需画图,考生需携带铅笔等画图工具。
•
软件架构基本概念复习
◦
架构定义与相关关系
▪
架构定义:课上给出法兰克福大学法 SDI 研究所和 ITU 标准中的架构定义,均属组成派或学术界定义,强调架构是一种结构关系,包括元素、元素间关系及各自属性,还涉及架构的演进。
▪
架构与设计、结构的关系:架构设计是设计中的一个环节,是高抽象层次的设计;架构在结构基础上,不仅考虑静态逻辑关系,还考虑运行态的动态关系,需处理依赖和通讯关系。
◦
架构师职责与架构本质
▪
架构师职责:架构师主要负责与不同利益相关者协调以达成妥协,还需具备软件工程经验、技术知识,进行风险管理。
▪
架构本质:软件架构主要解决用户和开发者之间的矛盾,是两者之间的妥协,只有先解决这一根本矛盾,后续开发活动才能顺利开展。
◦
架构依据与视图概念
•
架构依据:架构的依据主要是非功能需求(NF2)中的质量需求,其中部分被识别为架构相关需求(ASR),ASR 作为架构设计的依据。
•
架构视图:架构视图是对系统某方面信息的展示,隐藏其他信息,突出关注点。软件架构中最经典的是 4 + 1 视图,包括逻辑视图、过程视图、物理视图和开发视图,它们都围绕用例展开。
66%
7%
软件架构4+1视图模型
20%
7%
◦
架构活动与过程
▪
架构活动:架构活动包括设计、实现、验证、演化和维护等,本次主要关注设计阶段的早期架构活动,包括识别 ASR、选择设计决定、输出架构文档和进行架构评估。
▪
设计过程:结合 ADD 和
D
DD 方法,设计过程包括识别 ASR、选择设计决定、输出架构文档和评估架构,设计文档需对视图进行组合、合并和排序。
•
质量属性相关内容
◦
质量属性分类与建模
▪
质量属性分类:质量属性分为内部质量属性和外部质量属性。外部质量属性可被用户感知,如可用性、性能、易用性;内部质量属性受开发者关注,如可修改性、可维护性、可测试性。
▪
质量属性建模:使用刺激响应(stimulus response)形式对质量属性进行建模,包括 source、stimulus、artifact、response、度量和 environment 六个元素,只有通过场景化描述的质量需求才能作为架构设计的依据。
◦
ASR 识别与效用树
▪
ASR 识别:ASR 来源包括需求文档,但需求文档中的非功能需求往往不能满足场景化描述要求,需通过与利益相关者的研讨会或访谈补充信息并确定优先级。
▪
效用树:将 ASR 以效用树形式组织,系统总体效用分解为质量属性,质量属性再分解为场景和度量,通过对叶节点的评估确定架构设计的优先级。
◦
设计决定相关概念
▪
设计决定分类:设计决定包括责任分配、Configuration model、数据处理、资源管理、架构元素与软件元素关系、绑定时间和技术选择等七个方面。
▪
设计决定关系:设计决定中最原子级别的是 tactic,多个 tactic 可组合成 pattern,pattern 针对某类问题,style 是解决问题的方式,如微服务是一种 style。
•
架构模式复习
◦
架构模式理解与考试要求
▪
理解要求:架构模式复习不考名词解释,重点是理解架构模式为何出现、改变了什么以及管理对象的变化。
▪
考试形式:可能会让考生解释相关语句含义、描述架构框架和适用场景、分析架构迁移原因等,无统一答案,鼓励考生结合理解作答。
◦
各架构模式分析
▪
主机终端架构:为让更多人使用昂贵机器而采用,优先保障一致性、安全性、可靠性,但因终端弱算力,不能给用户带来最大体验。