思维导图
二、软件设计任务
概要设计主要完成系统结构设计,详细设计主要完成数据设计、过程设计。
4、 结构图
5、模块化
能够把一个大而复杂的软件系统按照问题的功能域划分成易于理解的比较单纯的模块结构。划分模块的时候要注意抽象,软件系统进行模块设计时,可有不同的抽象层次。抽象层次并不是一步到位,而是逐步抽象的。抽象包括功能抽象和数据抽象。
6、抽象化
软件系统进行模块设计时,可有不同的抽象层次
7、信息隐蔽
信息隐蔽是指在划分模块的时候,定义层次的时候,如果模块中数据发生变化时,尽量不影响其他模块的使用。模块的独立性是划分模块的重要原则。模块一般具有三个基本属性:功能、逻辑、状态。模块独立性衡量标准 高内聚,低耦合。
模块间的耦合
ps:尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内容耦合。尽量做到高内聚,低耦合。
四、结构化设计方法
首先研究、分析和审查数据流图。
然后根据数据流图(上一阶段需求分析阶段产生)决定问题的类型。数据处理问题的类型有两种:一种是变换型,另一种是事务性。
针对两种不同的类型分别进行分析处理。
在系统结构图中的模块:
变换分析:
变换分析方法由以下四步组成:重画数据流图、区分有效输入、有效输出和中心变换部分、进行一级分解,设计上层模块、进行二级分解,设计输入、输入和中心变换部分的中、下层模块。
事务型系统结构图:
它接受一项事务,根据处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。事务分析与变换分析一样,事务分析也是从分析数据流图开始,自顶向下,逐步分解,建立系统到数据结构图。
事务分析:
1、识别事务源
2、规定适当的事务型结构
3、识别各种事务和他们定义的操作
4、注意利用公共模块
5、对每一事务,或对联系密切的一组事务,建立一个事务处理模块
6、对事务处理模块规定它们全部的下层操作模块
7、对操作模块规定它们的全部细节模块
五、软件模块结构的改进
1、模块功能的完善化
2、消除重复功能,改善软件结构
3、模块的作用范围应在控制范围之内
4、尽可能减少高扇出结构,随着深度增大扇入
5、避免或减少使用病态连接
六数据设计和文件设计
数据设计的原则
1、用于软件的系统化方法也适用于数据
3、应当建立一个数据词典并用它来定义数据和软件的设计
4、低层数据设计的决策应推迟到设计过程的后期进行
5、数据结构的表示只限于那些必须直接使用该数据结构内数据的模块才能知道
6、应当建立一个存放有效数据结构及相关操作的库
7、软件设计和程序设计语言应当支持抽象数据类型的定义和实现
文件设计
文件的设计过程,主要分两个阶段。第一个阶段是文件的逻辑设计,主要在概要设计阶段实施。第二个阶段是文件的物理设计。
1、整理必须的数据元素
3、确定文件的逻辑设计
4、理解文件的特性
5、确定文件的组织方式:顺序文件、直接存取文件
6、确定文件的存储介质
7、确定文件的记录格式
8、估算存取时间和存储容量
七、过程设计
过程设计实际上就是详细设计,在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。详细设计工具分为三类:图形工具、表格工具、语言工具。
八、程序流程图
程序流程图也称为程序框图,程序框图使用五种基本控制结构。即顺序型、选择型、先判定循环、后判定循环、多情况选择型。
九、N-S图
也叫盒图。程序流程图过草地考虑到了控制流,使得程序的结构并不是很好,盒图看不到控制流。
五种基本控制结构由五种图形构件表示:

十、问题分析图(PAD)
也设置了五种基本控制结构的图形,并允许递归使用。问题分析图设计的程序结构一定是结构化程序:描述清晰,可以表示程序逻辑结构的异同和便于记忆,很容易表示高级层次,可以描述数据结构,支持自顶向下、逐步求精的方法。因此建议大家用PAD图和程序流程图。
十一、 判定表
用于程序的静态逻辑,在判定表中的条件部分给出的所有两分支判断的列表,动作部分给出相应的处理,要求将程序流程图中的多分支结构改成两分支判断。
十二、 PDL(Program Design Language)
用于描述功能模块的算法设计和加工细节的语言。是一种伪代码。可对其稍加改造,即可当做上机的代码。它可以提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行结构分割,使之便得易于理解。但是不如图形工具那么直观。
总结
对于这章中的内容字节感觉掌握的不是很好,最开始的时候很乱,思维导图也画不出来,感觉知识点太多了,因此这章我看的视频也比较多,至少有三次,结果就出现了这篇文章中的总结,感觉在这章中主要讲的其实就是概要设计和详细设计。其实到现在我还是处于凌乱的状态的,欢迎大家多多指教~~
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!