实用软件体系结构阅读笔记2
全局分析是在定义概念、模块、执行和代码系统结构视图之前进行的,并贯穿整个系统结构的设计过程。
全局分析从识别影响体系结构设计的因素来分成3类:组织因素、技术因素、产品因素。
组织因素分成5类:管理;员工技能、兴趣、能力、缺点;过程与开发运行环境;开发进度;开发预算。
技术因素包括:通用和专用的硬件;操作系统、用户界面、设计模式等软件技术;模版和框架等体系结构技术;图像、数据库、数据格式、算法和技术之类的标准。
产品因素是描述了产品的功能需求、用户可见的特征和产品的性能等质量方面的需求。比如:功能特征;用户界面;性能;依赖性;错误监测、报告、修复;服务和价格等。
全局分析是在每一种体系结构设计视图中都要进行的一种行为。在全局分析过程中建立的问题卡片要用在每一个视图设计的核心设计任务中。在进行核心设计任务时,做出的决策应当可以返回到全局分析,以增加和修改因素、问题和策略。
总结策略:
|
应用策略 |
|
进度紧迫 |
复用内部已有的、领域特性构件 购买而不是建立 使元素容易添加和删除 |
|
技能不足 |
避免使用多线程 封装多进程 |
|
通用和领域特定硬件的改变 |
|
|
软件技术的改变 |
使用标准 为外部构件开发产品特定的接口 |
|
资源有限 |
限制活动线程个数 用动态的内部线程见通信联系 |
|
易用增加和删除特性 |
按关联尺度分离构件和模块 特性封装到分开的构件 分离用户交互模块 |
|
易用增加和删除采集过程和算法 |
为图像处理使用灵活的流水线模块 为采集和图像处理引入构件 分离用户交互模块 |
|
高吞吐量 |
|
|
实时采集性能 |
从没有临界时间构件中分离出有临界时间的 为模块行为开发准则 灵活的分配模块到进程 使用单速分析来预言性能 使用共享存储进行流水线阶段之间通信 |
|
实现恢复 |
引入操作的恢复模块 把全部数据放到恢复稳定和容易达到的地方 |
|
实现诊断 |
|
|
体系结构的完整性 |
|
|
并发的开发工作 |
从源构件中分离开发构件 保护执行视图 采用阶段开发 通过静态库来发布层 |
|
限制可使用的采集图像类型 |
|
|
多样性开发和目标平台 |
分离和封装依赖目标平台的代码 |