软件架构复习笔记2_第1页
软件架构复习笔记2_第2页
软件架构复习笔记2_第3页
软件架构复习笔记2_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 HYPERLINK http:/blog.sheimi.me/note/2012/06/19/software-architecture-review-2.html 软件架构复习笔记(2) - 设计的审美标准,设计的层次性19 Jun 2012At NJU软件设计的审美标准审美标准是什么简洁性:模块化一致性(概念完整性):体系结构的风格,模块化坚固性(高质量):最重要的是体现在体系结构上,设计模式所要解决的问题,模块化易复用易修改易读易理解易维护可靠性 (availability 可以正常工作, reliability 故障和故障修复)性能,质量相关易开发列举已知的设计方法与技术(至少5中)

2、,他们促进了那些审美标准的达成模块化:促进了结构一致性,坚固性(易维护,易复用等),促进了简洁性信息隐藏:促进了一致性,坚固性(易维护,易复用),破坏了简洁性 ?模块化 + 可修改性 = 信息隐藏,模块化促进简洁性,信息隐藏破坏简洁性?也有可能是对于使用模块的人促进了简洁性,但是对于尝试理解的人破坏了简洁性?设计模式:促进了坚固性(易复用,易维护等等),一致性?体系结构风格:促进了一致性,坚固性职责分配(GRASP):促进了坚固性,一致性协作设计:促进了坚固性,一致性?设计的层次性问题:高层设计、中层设计和低层设计各自的出发点、主要关注因素(即那些审美要素)、主要方法与技术和最终制品低层设计(

3、代码设计)出发点:程序语言所提供的数据结构等东西太少了为了解决类型的适配的问题底层设计将基本的语言单位(类型与语句),组织起来,建立高质量的数据结构 + 算法关注点:简洁性部分坚固性,包括坚固性的,易读,易维护,数据结构易用,算法可靠、易读屏蔽程序中复杂数据结构与算法的实现细节主要技术:Defensive ProgrammingAssertive Programming (Design-by-Contract)Test-Driven ProgrammingError handling, exception handlingConfiguring ProgrammingTable-driven

4、ProtrammingState-mathine based Programming前面四个是关于可靠性的,后面三个是关于数据结构带来易读性内部结构是算法和数据类型,外在表现是抽象数据类型最终制品:源程序,中层,底层共享了详细设计文档中层设计(模块与类结构设计)出发点:想要使复杂的东西变简单把复杂的东西分解成尽可能独立的片段关注点:简洁性(易开发,易修改,易复用?)可观察性(易开发,易调试,易复用)一致性(一些要求,如高内聚,低耦合等)坚固性(易开发,易修改,易复用,易开发等)问题困难:程序片段不可能完全独立方法:实现尽可能的独立(低耦合,高内聚)主要的方法:高内聚低耦合模块化信息隐藏最终制品:类和模块高层设计出发点:主要为了解决整体功能组织的问题组织的时候设计和功能总体结构和质量属性关注点:简洁性一致性坚固性方法:场景驱动体系结构风格为什么要高层设计:名称匹配, 导入导出(问题)Inside 接口(独立,区别对待)详细设计的不足载体适配(无法描述可靠性,性能)无法实现交互信息本地化(信息隐藏的局限性),Insid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论