2025.2.10
权衡点是影响多个质量属性的特性 是多个质量属性的敏感点
风险点:可能引起风险的因素
非风险点:某件事是可行的 可接受的
构件失配 主要包括系统对构件基础、控制模型和数据模型的假设存在冲突引起的失配
连接子失配 包括由于系统对构件交互协议、构件连接子数据格式的假设存在冲突引起的失配
ATAM架构权衡分析方法 是针对 性能 可用性 安全性 可修改性进行评价和折中的
包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中强调属性
架构复审 (使用ATAM对架构质量属性进行评审) 使用基于质量属性的评估方法
(建立质量效用树) 用于对架构设计进行复审 并 标识 其中的潜在危险
软件系统架构是关于软件系统 结构 行为 和 属性的高级抽象
主要描述直接构成系统抽象组件间的连接规则,特别是相对细致地描述组件的 交互关系
软件系统架构不仅指定了软件系统的组织和拓扑结构,还包括设计决策和基本原理
CISC 实现方式微程序控制技术
研制周期长 可变长格式 数量多
RISC 实现方式 增加了通用寄存器 硬布线逻辑控制为主 适合采用流水线
优化编译 有效支持高级语言
数量少 定长格式
ARP是针对以太网地址解析协议攻击技术
无法跨网段通信的原因是伪造网关ARP报文使得数据包无法发送到网关
软件架构文档要从使用者的角度进行编写(不是架构设计者!!!)
系统模块化程度较高时 采用 快速应用开发模型(基于构件的开发方法获得快速开发)
螺旋模型分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成。
构件是一组通常需要同时部署的原子构件
一个模块是不带单独资源的原子构件
计算机采用分级存储体系的主要目的是为了:解决存储容量、价格和速度之间矛盾 (速度快 价格高,速度慢 价格低,分级能得到很好的性价比)
JTAG是一种国际标准测试协议 主要用于芯片内部测试(用来进行嵌入式系统中CPU调试)
软件架构设计活动将已标识构件集成到软件架构中 设计但不需要实现这些构件
现代的编译器采用以数据共享为中心的架构风格,分析树是在语法分析阶段结束后才产生作为语法分析的输入,分析树是数据中心中重要的共享数据,为后续的语义分析提供了帮助,
软件开发方法
(自底向上的开发)根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始,通过对其进行相互连接、修改和扩大,构成所要求的系统描述的是自底向上的开发。
形式化方法是一种具有坚实数学基础的方法 对系统和开发做严格处理和论证 适用于那些系统安全级别极高的软件开发
非形式化方法则不把严格性作为其主要着眼点,通常以各种开发模型的形式得以体现。从适应范围来看,可分为整体性方法与局部性方法。
适用于软件开发全过程的方法称为整体性方法;
适用于开发过程某个具体阶段的软件方法称为局部性方法。
模块的接口是模块与其他模块进行交互的部分,所以接口的定义不仅仅属于其模块自身的内部特性,与外部模块也具有相关性。
软件开发工具用来辅助开发人员进行软件开发活动,对应软件开发过程的各种活动,软件开发工具包括需求分析工具、设计工具、编码与排错工具、测试工具等。
基于自然语言或图形描述的工具
基于形式化需求定义语言的工具(具有一个知识库和一个推理机制)
敏捷方法适合于开发团队较小的项目。
水平子系统是指从楼层管理间到信息插口这一段,它连接了垂直干线子系统与工作区子系统。
软件生命周期
软件生命周期模型是为了更好地管理、维护和升级软件,其中更大的意义在于管理软件开发的步骤和方法。
是以需求为出发点,从提出软件开发计划的那一刻开始,直到软件在实际应用中完全报废为止。(没有新的生命周期)
构件
构件定义为通过接口访问服务的一个独立可交付的功能单元。
软件重用
软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。
按照重用活动是否跨越相似性较少的多个应用领域,软件重用可以区别为横向重用和纵向重用。
横向重用是指重用不同应用领域中的软件元素,例如数据结构、分类算法和人机界面构建等。
标准函数是一种典型的、原始的横向重用机制。
纵向重用是指在类具有较多公共性的应用领域之间进行软部件重用。
纵向重用活动的主要关键点是域分析:根据应用领域的特征及相似性预测软件的可重用性。
Last updated