- 0
- 0
- 约4.56千字
- 约 39页
- 2021-01-07 发布于安徽
- 举报
低层设计的本质 屏蔽程序中复杂数据结构与算法的实现细节! 抽象层 接口层 精化层 实现层 数据结构的含义与使用 算法的语义与复杂度 结构的类型定义 存储空间的使用与更改 书写控制语句 分支的处理技巧 对数据的操纵 低层设计 : 代码设计 对一个方法/函数的内部代码进行设计 又被称为软件构造“software construction”,通常由程序员独立完成 依赖于语言提供的机制(程序设计课程) OO or Structural Reference or Address Point … 模块划分 1970s 函数的成熟与模块的出现 模块划分 将系统分成简单片段 片段有名字,可以被反复使用 名字和使用方法称为模块的抽象与接口 模块内部的程序片段为精化与实现 中层设计的开始 模块划分隐藏一些程序片段(数据结构+算法)的细节,暴露接口于外界 抽象层 接口层 精化层 实现层 数据结构的含义与使用 算法的语义与复杂度 结构的类型定义 存储空间的使用与更改 书写控制语句 分支的处理技巧 对数据的操纵 模块接口 模块化的目标:完全独立性 完全独立有助于 理解 使用与复用 开发 修改 简洁性、结构清晰、一致性、质量(可修改、易开发(易理解、易测试、易调试)、易复用) 模块化的问题与困难 程序片段之间不可能是完全独立的 方法:实现尽可能的独立 模块化 信息隐藏 抽象数据类型 封装 … 模块 模块化 信息隐藏 面向对象 …… 中层设计总结——设计目标 最终审美目标:简洁性、结构清晰、一致性、质量(可修改、易开发(易理解、易测试、易调试)、易复用) 直接评价标准:模块化;信息隐藏;OO原则 抽象层 接口层 精化层 实现层 数据结构的含义与使用 算法的语义与复杂度 结构的类型定义 存储空间的使用与更改 书写控制语句 分支的处理技巧 对数据的操纵 对象、模块 中低层设计的问题 《Programming-in-the-Small VSProgramming-in-the-Large》 过于依赖细节 连接与依赖,接口与实现 忽略的关键因素:无法有效抽象部件的整体特性 总体结构 质量属性 大型软件开发的一个根本不同是它更关注如何将大批独立模块组织形成一个“系统”,也就是说更重视系统的总体组织 高层设计:体系结构 部件承载了系统主要的计算与状态 连接件承载部件之间的交互 部件与连接件都是抽象的类型定义(就像类定义),它们的实例(就像类的对象实例)组织构成软件系统的整体结构,配置将它们的实例连接起来 连接件是一个与部件平等的单位 主要内容 什么是软件设计? 软件设计的层次性 软件设计的决策性 软件设计模型与描述 决策 决策:为解决一个问题而采取的决定 Decision are both engineering and art(creativity) Generation of new ideas is fundamental to design situations Design occurs whenever there is an “imaginative jump from present facts to future possibilities.” The precise manner in which new ideas are generated cannot be codified. 决策的约束性 约束满足与决策 约束:需求;环境;资源;技术… An initial need determines the most basic constraints and requirements on a design situation. In general, more constraints are eventually discovered during the design work itself. The constraints that apply both to the designed artifact and to the processes and participants involved during the design activity 约束满足 决策的多样性 决策的选择性 多个同样好的方案,选择一个 The solution space for design problems is very large and its sheer size eliminates exhaustive search as a possible problem solving technique “design” is characterized by a series of decisions between various design
原创力文档

文档评论(0)