




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SoftwareArchitecture
PerspectiveonanEmergingDisciplineChapterFour
软件体系结构的设计原理 Contents体系结构设计中遵循的原理软件的非功能特性软件体系结构的设计原理 体系结构的设计原理抽象封装数据隐藏模块化注意点分离耦合和内聚充分性、完备性和原始性策略和实现的分离接口与实现的分离分而治之层次化§4.1体系结构的设计原理抽象抽象是人们用来处理复杂性问题的基本原理之一数据抽象、过程抽象、对象抽象、行为抽象、虚拟机抽象封装将抽象的属性和行为结合在一起区分不同的抽象有利于非功能特性的实现§4.1体系结构的设计原理信息隐藏对用户隐藏部件的实现细节接口与实现相分离用来更好地处理系统的复杂性和减少各部件之间的耦合模块化良好定义的分界将构成应用的逻辑结构物理地分割成代码实体是一个应用的功能和责任的物理容器§4.1体系结构的设计原理注意点分离(SeparationofConcerns)不同和无关联的责任应该在软件系统中分离开来,让他们出现在不同的部件中相互协作完成某一个特定任务的部件应该和在其他任务中执行计算的部件分离开来避免过多暴露所造成的对应用设计的负担和混乱,保证了组件运行的可靠和安全耦合和内聚§4.1体系结构的设计原理充分性、完备性和原始性充分性是指部件应该把握住与其进行有意义和高效交互抽象的所有特性完整性是指一个部件应该把握住所有与其抽象相关的特性原始性是指部件应该完成的操作都可以容易地得到实现策略和实现的分离策略部件负责处理上下文相关的决策、信息的语义和解释的知识、把不相交计算组合形成结果、对参数值进行选择等问题实现部件负责全面规范算法的执行,执行中不需要上下文相关信息进行决策实现部件因为独立于上下文环境,因而更容易重用和维护策略部件因为与特定的应用相关,通常随时间的变化而改变§4.1体系结构的设计原理接口和实现的分离接口定义了部件所提供的功能并规范了功能的使用方法实现部分包括了部件所提供功能的实际代码强调一个客户只应该知道他需要知道的东西接口和实现的分离可以很好的支持可变性§4.1体系结构的设计原理分而治之层次化§4.2软件的非功能特性功能特性主要是直接针对客户的功能需求,多数是容易感知和判断的非功能特性主要包括系统的可变性、互操作性、效率、可靠性、可测试性、可重用性§4.2软件的非功能特性可变性/可维护性软件老化的几个原因缺少变化盲目和无知的更改软件建立初期就设计得不灵活,无法或难以维护和升级文档不充分可维护性的四个方面可维护性可扩充性可重构性(设计人员;用户)可移植性为应对改变而设计的系统比没有进行这样的考虑而设计的系统更容易适应用户,因而该系统的适应性要好得多,生命周期要长得多§4.2软件的非功能特性互操作性Interoperability互操作性,互用性。互操作性是指不同的计算机系统、网络、操作系统和应用程序一起工作并共享信息的能力将系统设计成具有互操作性的部件集合本身就自然地对系统的功能构成进行了分割使各种不同的系统能够更好地通讯和交换数据,提高软件的互操作性需要由不同的厂商共同努力来完成。直到目前为止它仍然是软件领域中最大的挑战之一,微软公司会在软件互操作方面继续努力的。§4.2软件的非功能特性效率软件运行过程中对资源的使用情况、以及对系统的响应时间、存储消耗和I/O吞吐量的影响效率问题不仅仅是设计精良算法的问题,而且是部件操作责任合理的分配、部件之间的耦合关系等体系结构的问题良好结构、丰富功能和高效率等方面需要权衡利弊§4.2软件的非功能特性可靠性是软件系统在各种情况下维持其功能的能力,区分为2个方面的内容容错性:当错误事件发生时确保正确的系统响应,必要时采取内部补救措施健壮性:健壮性不要求软件在发生错误之后还能继续执行,他只需要保证软件能以明确和可接收的方式终止可测试性测试变得越来越难、越来越昂贵支持可测试性的软件体系结构可以为错误探测和改正、以及代码调试和部件的临时集成给予支持§4.2软件的非功能特性可重用性“通过已经存在的来获得想要的”的软件设计和实现方法(有利于Cost、Time、Quality)用重用进行软件开发为重用进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玉米和小麦内生附球菌的防病促生作用研究
- 基于深度学习的人群行为分析关键技术研究
- 《广东 高中备考指南 数学 必修二-》课件-7.1 复数的概念
- 班主任工作总结模版
- 小学六年级作文写作方法总结模版
- 中班上学期班务总结模版
- 高三必修三历史知识点总结模版
- 废弃物资源化利用行业深度调研及发展战略咨询报告
- 木质素燃料添加剂行业深度调研及发展战略咨询报告
- 蔬菜地土壤企业制定与实施新质生产力战略研究报告
- 手术室穿脱手术衣小讲课
- (正式版)SHT 3075-2024 石油化工钢制压力容器材料选用规范
- 平面向量基本定理说课高一下学期数学北师大版(2019)必修第二册
- 村委会地震演练方案及流程
- 种子执法知识培训课件
- 部编小语四下《白鹅》文学阅读与创意表达学习任务群教学设计
- 小学一年级数学-100以内加减法口算填空题(含答案)
- 陕西省咸阳市实验中学2023-2024学年八年级下学期阶段性检测(一)语文试题
- 抖音本地生活培训课件
- 肺结核诊治指南
- 化工总控工(高级工)理论知识考试题库附答案
评论
0/150
提交评论