没有合适的资源?快使用搜索试试~ 我知道了~
复习提纲与例题答案1
需积分: 0 0 下载量 41 浏览量
2022-08-08
18:10:25
上传
评论
收藏 379KB DOCX 举报
温馨提示
试读
11页
2.3、实例化模块并根据用例分配功能 2.4、定义子模块的接口 2.5、验证用例和质量场景并对其求精
资源详情
资源评论
资源推荐
架构复习内容:
软件体系结构概念及 ABC
SA 的定义:
The software architecture of a program or computing system is the structure or structures
of the system, which comprise software elements, the externally visible properties of those
elements, and the relationships among them.
一个程序的软件体系结构或者一个计算机系统是一个架构或者是一个系统
的架构。它包括软件元素、这些元素的外观,以及它们之间的关系。
体系结构 = 组件 + 连接件 + 约束
Architecture = Components + Connectors + Constrains
SA 的重要性:
1. 架构是涉众之间进行交流的手段
2. 架构是早期设计决策的体现
3. 架构是可传递、可重用的系统抽象
ABC:
The Architecture Business Cycle (ABC)
ABC is cycle of influences, from the environment to the architecture and back to
the environment.
ABC 是一个来自环境对架构以及反馈回环境的影响的循环。
The business/organizational environment necessarily affects architectural design
decisions.
事物/组织环境必定会影响架构设计决定。
The software architecture in turn changes the business environment.
Architectural design is part of every step of the development process.
These influences strongly affect the organization’s bottom line.
软件架构反过来改变事物环境。架构设计是开发过程的每一步的部分。这些
会强烈影响组织的底线。
什么是好的 SA:
关于过程的建议
1、 架构的设计应该由一位设计师或者在某设计师领导下的小组完成
2、 设计师应全面掌握系统的功能需求,并且应有一份所设计架构应满足的划分了
优先级的质量属性列表。
3、 架构的文档应该完备。
4、 应该让各种涉众积极参与设计方案的评审。
5、 对架构人身进行分析,得出可应用的量化度量指标。
6、 架构的设计应有助于增量式实现。
7、 允许架构带来一定的资源争用,但应清楚地给出这些资源争用的解决方案。
关于结构的建议:
1、 架构应采用定义良好的模块。
2、 应该使用特定于每个属性的众所周知的架构战术来实现质量属性。
3、 架构不可以依赖于某个版本的商业产品或者工具。
4、 产生数据的模块与使用数据的模块分开。
5、 对于并行处理系统,应采取订立良好的进程或任务。
6、 每个任务或进程的编写都要考虑与特定处理器的关系。
7、 采用少量的、简单的交互模式。
架构的重要性:
1、 架构影响着开发组织的结构
2、 构架会影响开发组织的目标。
3、 构架可能会影响客户对下一个系统的要求。
4、 构建系统的过程丰富了整个开发团队的经验。
5、 一些典型的系统会影响并实际改变软件工程的发展。
构架的分类:模块结构 组件-连接器结构 分配结构
常见软件体系结构风格及其特点-数据流、调用/返回、层次、仓库/黑板
SA 风格的概念,常用 SA 风格特点,比较
软件体系结构的视图和描述
4+1 视图理论,Architectural Structures(教材作者的多重结构理论)
The design or logical view: the classes, interfaces, and collaborations forming the
vocabulary of the problem and its solution.
The interaction or process view: how control flows across the static classes at run time.
The implementation view: the organization of the software modules in the
development environment.
The deployment view: A mapping of elements onto processing and communication
nodes.
Uses cases cut across the views. They capture the system’s functional requirements for
the system and help find conflicts.
软件体系结构的质量属性及其战术(重点!)
常见质量属性:
质量属性场景
刺激源 刺激 环境 制品 响应 响应度量
保障质量属性的常用战术:
1. 可用性战术
错误检测
命令响应 心跳 异常
恢复:检测和修复
表决 主动冗余(仅用第一个反应) 被动冗余(主响应,其他更新) 备件
恢复:重新引入
Shadow 状态再同步 回滚
预防
从服务中删除 事务 进程监视器
2. 可修复性战术
局部化变更
语义一致性 预期期望的变更 泛化模型 限制可能的选择 抽象通用的服务
防止连锁反应
隐藏信息 维持现有的接口 限制通信路径 使用仲裁者
推迟绑定时间
运行时注册 配置文件 多态 组件更换 遵守已定义的协议
3. 性能战术
资源需求
提高计算效率 减少计算开销 管理事件率
资源管理
引入并发 维持多个副本 增加可用资源
资源仲裁
调度策略
4. 安全性战术
抵抗攻击
对用户进行身份验证 对用户进行授权 维护数据的机密性 维护完整性 限制
暴露信息 限制访问
剩余10页未读,继续阅读
萱呀
- 粉丝: 26
- 资源: 354
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0