高级结构设计 (代码大全 第七章)

来源:互联网 发布:泛神论 知乎 编辑:程序博客网 时间: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个扇出是最优的


可移植性

简练性

成层设计

标准化技求

原创粉丝点击