![第7章 基于体系结构的软件开发_第1页](http://file4.renrendoc.com/view/cc8c4e13845e3d4963a29cc621b2816b/cc8c4e13845e3d4963a29cc621b2816b1.gif)
![第7章 基于体系结构的软件开发_第2页](http://file4.renrendoc.com/view/cc8c4e13845e3d4963a29cc621b2816b/cc8c4e13845e3d4963a29cc621b2816b2.gif)
![第7章 基于体系结构的软件开发_第3页](http://file4.renrendoc.com/view/cc8c4e13845e3d4963a29cc621b2816b/cc8c4e13845e3d4963a29cc621b2816b3.gif)
![第7章 基于体系结构的软件开发_第4页](http://file4.renrendoc.com/view/cc8c4e13845e3d4963a29cc621b2816b/cc8c4e13845e3d4963a29cc621b2816b4.gif)
![第7章 基于体系结构的软件开发_第5页](http://file4.renrendoc.com/view/cc8c4e13845e3d4963a29cc621b2816b/cc8c4e13845e3d4963a29cc621b2816b5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章基于体系结构的软件开发6.1基于体系结构的软件设计方法(ABSD)6.2基于体系结构的软件开发模型6.3软件体系结构的测试与评估软件体系结构设计为软件系统设计一个体系结构不是一件容易的事情,软件需要长期运行并具有自适应性,它必须支持不断更新的软件需求变化软件体系结构设计是软件设计初期的工作,一旦出现体系结构层面的设计失误,很难在软件开发或运行期间进行有效、低耗的改进为了进行高效的软件体系结构设计,软件设计师需要遵照严格、有效的设计方法,并关注创造性过程,为处理非确定软件需求提供策略2基于体系结构的软件设计方法ArchitectureBasedSoftwareDesignABSD方法可构造出软件系统的概念体系结构,描述了系统的主要设计元素及其关系,概念体系结构是达到系统质量需求和商业目标的关键,为实现软件功能奠定基础设计元素:泛指软件系统、子系统、构件等体系结构设计中需要处理的各类实体;设计元素有一个概念接口,封装了输入输出数据信息;设计元素是可分解的3设计元素示例4软件模板:描述一类设计元素在重要功能和公共服务等方面的注意事项,如:应具备的核心功能点、异常处理、活动日志与备份、为外部诊断提供测试点等,为合理构建设计元素提供参考5ABSD方法与生命周期:1、功能需求的描述,包括对需求可能变化的粗略描述2、重要的用例3、质量需求的描述,如性能、安全性、可靠性等,通常体现为一定的质量场景描述4、可接受的备选体系结构风格5、约束:人财投入、商业目标、遗留系统约束等输入输出ABSD方法的目标6设计元素的分解:
系统→子系统→构件设计元素的产生顺序:广度遍历or深度遍历关注点:领域知识、新技术的融合、个人经验ABSD方法的步骤7ABSD方法本质上是利用一组需求(功能、性能等)和约束开始分解设计元素,并最终获得经确认后可行的子设计元素集ABSD方法
之功能分解一个设计元素有一组功能,这些功能必须分组。分解的目的是使每个组在体系结构内代表独立的元素。分解可以进一步细化。功能分解可参照的几个标准:(1)功能聚合:高内聚、低耦合(2)数据或计算行为上有类似模式的功能(3)类似的抽象级别:硬件、支撑软件、应用软件等(4)功能的局部性:独立功能vs.公共服务功能8ABSD方法
之选择体系结构风格每个设计元素有一个主要的体系结构风格,这是设计元素如何完成功能的基础。主要风格并不是唯一风格,为了达到特定目的,可以进行修改在软件设计过程中,并不总是有现成的体系结构风格可供选择为主要的体系结构风格,选定的体系结构风格应满足软件相关的质量需求为设计元素选择体系结构风格是一个重要的选择,这种选择在很大程度上依赖于经验和创造性9ABSD方法
之为风格分配功能任一种体系结构风格都对应着该风格要求的一组构件类型,我们必须决定这些构件的数量及其具体功能,这就是分配的目的在功能分解时产生的功能组,应该分配给选择体系结构风格时产生的构件类型,这包括决定将存在多少个各构件类型的实例,每个实例将完成什么功能。这样分配后产生的构件将作为设计元素分解的子设计元素每个设计元素的概念接口也必须得到标识,这个接口包含了设计元素所需的数据和控制流10ABSD方法
之视图描述由于角色和分工不同,整个软件团队以及客户等涉众各自需要掌握的技术或技能存在很大差异,为了完成各自的工作,他们需要了解整套软件架构决策的不同子集,所以,应当提供不同的软件架构视图,以便于交流和传递设计思想重要的视图包括:开发视图、运行视图、部署视图等11ABSD方法
之设计确认功能校验:可以通过用例或需求变化来验证功能分解的正确性,而设计本身就是显示需求(通过用例)和支持修改(通过变化因素)验证质量场景:评价体系结构设计时所作出的各种设计决策,看其是否能够达到质量属性的要求。如果不能达到,则需重新考虑并改进体系结构的设计验证约束:验证所有的约束是否有可能实现,且没有互相矛盾的地方12基于体系结构的软件开发模型1314基于体系结构的软件开发模型(ABSDM):1、以体系结构的设计、实现为驱动的软件开发过程2、更好的支持软件重用3、体现了迭代开发和体系演化的思想体系结构需求分析15体系结构需求过程主要是获取用户需求,标识系统中所要用到的构件1、需求获取:包括功能需求和非功能需求(软件质量)2、标识构件:生成系统的初始逻辑结构3、需求评审:是否满足用户要求、构件生成的合理性等体系结构设计161、在体系结构建立初期,选择一个合适的体系结构风格是首要的。在这个风格基础上,开发人员通过建立体系结构模型描述,深入理解体系结构2、把在体系结构需求过程中已标识的构件映射到体系结构风格中,将产生一个原型结构。通过其后的构件及关联分析将产生精化并经评审的可用体系结构体系结构文档化17文档为验证体系结构设计、提炼或修改这些设计(必要时)所预先执行的基础性工作体系结构文档化过程的主要输出结果是体系结构设计规格说明书,内容主要包括:需求描述、风格设计、视图描述、构件设计、约束等软件体系结构的文档要求与软件开发项目中的其他文档是类似的:文档的完整性、一致性、可读性、可用性等质量要求的满足程度是体系结构设计成功的关键体系结构的复审18体系结构设计、文档化和复审是一个迭代过程。在一个主版本的软件体系结构分析之后,要安排一次由内部设计人员和外部人员(用户、领域专家)参加的复审复审的目的是标识潜在的风险,及早发现体系结构设计中的缺陷和错误,包括体系结构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件的划分是否合理、文档表达是否明确、构件的设计是否满足功能与性能的要求等等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度跨境电商物流配送服务合作协议书4篇
- 广东电力市场2024年半年报告
- 2025年度体育产业合伙人投资管理合同模板
- 2025年纺织片梭织机合作协议书
- 2025年度房地产项目开发贷款合同范本
- 2025年智能物流运输车辆节能减排服务协议
- 美术教育的社会责任倡导计划
- 生物课程教学设计工作坊计划
- 学生美术能力测评体系建设计划
- 秋季师生互动活动计划
- 方案设计初步设计施工图设计要求模板
- 新中国成立后的中国国防
- 2023-2024人教版小学2二年级数学下册(全册)教案【新教材】
- 浙江省炮制规范2015版电子版
- 小学《体育与健康》体育基础理论知识
- JJG 144-2007标准测力仪
- GB/T 740-2003纸浆试样的采取
- GB/T 7324-2010通用锂基润滑脂
- GB/T 5916-2020产蛋鸡和肉鸡配合饲料
- 妇产科急诊患者院前急救
- 急性会厌炎诊疗常规
评论
0/150
提交评论