高级结构设计 (代码大全 第七章)
来源:互联网 发布:泛神论 知乎 编辑:程序博客网 时间:2024/05/17 07:44
7.1 软件设计引论
7.1.1 大型和小型项目设计
7.1.2 设计的层次
层次 1:划分成子系统 层次 2:划分成模块 层次3:划分成子程序 层次4:子程序内部的设计
7.1.3 创建中的设计工作
内部子程序设计
划分成子程序
划分成模块
划分成子系统
7.2 结构化设计
7.2.1 选择需进行模块化的要素
自顶向下分解
把程序分解为子程序的一种流行方法是自顶向下分解,也称为自顶向下设计或逐步求精
· 设计高层次。 · 避免特定语言细节。从设计中,不应该看出打算在程序中使用什么语言,或者说当在设
计中更换要用的语言时,不会产生任何麻烦。 · 暂时不指出下一层次的设计细节(与信息隐含类似)。· 正规化每个层次。· 检验每个层次。 · 转移到下一个层次,进行新的求精工作
自顶向下设计指导原则的依据是:人脑一次只能考虑有限数量的细节。如果你从一个较简
略的子程序开始,逐步把它分解成更加详细的子程序,就不必每次考虑过多的细节。这种方法 也常称之为“分而治之”战术。它对于分层结构往往是最有效的。
7.3 面向对象
识别对象中的子对象并识别出对于子对象的操作,然后再根据子对 象的操作开发出一个系统。面向对象设计是在程序中设计对象或模块的一种方法。在较低的程 度上说,它也是设计单个子程序的一种方法。
7.3.1 关键思想
抽象
7.4 对目前流行设计方法的评论
7.4.1 何时使用结构化设计
7.5 往返设计
7.5.2 设计是一个复杂的过程
J.P Morgon曾经说过人们在做事情时常常有两个原因:表面上冠冕堂皇的原因和真正的 原因。
7.5.3 设计是一个“险恶”的过程
7.5.4 设计是一个启发的过程 进行有效设计的关键是要认识到它是个启发的过程。
最重要的设计原则之一是不要死抱着一种方法不放
表 7-1怎样解决问题
l.理解问题,你必须理解要解决的问题
2.设计一个方案。找到已知数据和未知之间的联系。如果不能找出直接联系的话,你可能不得 不考虑一些辅助问题,但最后,你应该找到一个解决方案。
3.执行你的计划。
4.回顾,检查一下答案。
7.5.5 受迎的设计特点
智力上的可管理性 低复杂性。 维护的方便性 最小的联系性 可扩充性可重复使用性高扇入低或中等程度扇出 低或中等扇出指的是对一个确定的子程序来说,它所调用的子程序应 该尽可能地少。 Card认为0~2个扇出是最优的
可移植性
简练性
成层设计
标准化技求
- 高级结构设计 (代码大全 第七章)
- 2009-02-12读书记录——《代码大全》(第一版)第七章——高级结构设计
- 《代码大全》 第六章 模块化设计 高级结构设计 读书笔记
- 《代码大全》学习笔记(7):高级结构设计
- 结构设计检查表(《代码大全》片段)
- 代码大全(7)之结构设计
- 数据库第七章 概念结构设计
- 高级结构设计
- JS代码大全(二)高级应用
- JS代码大全(三)高级应用
- JS高级程序设计读书笔记(第七章)
- 第七章 高级排序
- 《代码大全学习笔记》 第七章,高质量的子程序
- 代码大全_第七部分: 软件工艺
- 第七章 Java高级 API
- 第二部分:高级抓取(第七章、清理脏数据)
- JavaScript高级程序设计(第3版)第七章读书笔记
- unix高级环境编程 例子 代码实现练习 第七章:进程环境
- struts2核心工作流程与原理
- Struts2学习笔记之第一个应用
- JavaScript基础、语法(JS)
- 流行Linux和Windows脚本语言列表
- C#编写Windows服务程序步骤纠正
- 高级结构设计 (代码大全 第七章)
- 动态网站的搭建
- 从jar包中读取资源文件
- 认识JDK和JRE及区别
- 动态添加单元格与控件
- Eclipse各个版本区别
- 软件架构师书籍
- 程序员的十个等级 你属于哪个等级
- SQL Server 2000本地系统账户和域用户账户的选择