本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!
文章目录
1.详细设计阶段的根本目的是?
2.详细设计的任务?
3.详细设计的结果地位?如何衡量程序质量?
4.结构程序设计的本质?
5.人机界面设计可能遇到的问题有哪些?
6.用户界面设计是一个什么样的过程?
7.人机界面设计有哪些指南?
8.什么是过程设计的工具?
9.程序流程图是什么?
10.程序流程图的主要优点?
11.程序流程图的主要缺点?
12.盒图(N-S图)的特点?
13.PAD图是什么?
14.PAD图的优点?
15.判定表适用场景?
16.判定表由哪几个部分组成?分别代表什么含义?
17.判定树的优缺点?
18.什么是过程设计语言(PDL)?
19.PDL的优点?
20.PDL的缺点?
21.最著名的面向数据结构的设计方法是哪两个?
22.Jackson方法的5个步骤是什么?
23.定量度量程序复杂程度方法的作用?
24.定量度量程序复杂度的方法有哪些?
25.流图的作用?
26.计算环形复杂度V(G)的方法有哪些?
27.环形复杂度的用途?
28.详细设计的基本原则?
29.结构化的判断方法?
章末小结
1.详细设计阶段的根本目的是?
确定应该怎样具体地实现所要求的系统
2.详细设计的任务?
- 过程设计:即每个模块所包含的算法
- 数据设计:即软件中所需的数据结构
- 接口设计:即各个模块间的通信方式
【注】详细设计阶段的任务还不是具体地编写程序,而是设计出程序的“蓝图”
3.详细设计的结果地位?如何衡量程序质量?
详细设计的结果基本上决定了最终的程序代码质量。
衡量程序代码质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是看它是否容易阅读和理解
4.结构程序设计的本质?
结构程序设计本质上并不是无GOTO语句的编程方法,而是一种使程序代码容易阅读、容易理解的编程方法。结构程序设计是尽可能少用GOTO语句的方法
5.人机界面设计可能遇到的问题有哪些?
- 系统响应时间
- 用户帮助措施
- 出错信息处理
- 命令交互
6.用户界面设计是一个什么样的过程?
用户界面设计是一个迭代的过程,一旦建立起用户界面原型,就必须对它进行评估,以确定其是否满足用户的需求
7.人机界面设计有哪些指南?
- 一般交互指南
- 信息显示指南
- 数据输入指南
8.什么是过程设计的工具?
描述程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格、语言3类
9.程序流程图是什么?
程序流程图又称为程序框图,它是历史最悠久、使用最广泛的描述过程设计的方法
10.程序流程图的主要优点?
程序流程图的主要优点是对控制流程的描绘很直观,便于初学者掌握
11.程序流程图的主要缺点?
- 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构
- 程序流程图中的箭头代表控制流,因此程序员不受任何约束,可以完全不顾程序设计的精神随意转移控制
- 程序流程图不易表示数据结构
12.盒图(N-S图)的特点?
- 功能域明确,可以从盒图上一眼就看出来
- 不可能随意转移控制
- 很容易确定局部和全程数据的作用域
- 很容易表现嵌套关系,也可以表现模块的层次结构
13.PAD图是什么?
PAD图是问题分析图(Problem Analysis Diagram),用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。
14.PAD图的优点?
- 使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序
- PAD图所描绘的程序结构十分清晰
- 用PAD图表现程序逻辑,易读、易懂、易记
- 容易将PAD图转换成高级语言源程序,这种转换可以用软件工具自动完成,提高软件可靠性和软件生产率
- 既可以用于表示程序逻辑,也可以用于描绘数据结构
- PAD图的符号支持自顶向下、逐步求精方法的使用
15.判定表适用场景?
当算法中包含多重嵌套的条件选择时
16.判定表由哪几个部分组成?分别代表什么含义?
判定表由4个部分组成
左上部:表示列出所有的条件
左下部:表示所有可能做的动作
右上部:表示各种条件组合的一个矩阵
右下部:表示和每种条件组合所对应的动作
17.判定树的优缺点?
优点:形式简单,无需任何说明,易于掌握和使用
缺点:简洁性差,同一个值往往要写多遍,且越接近叶子端重复次数越多
18.什么是过程设计语言(PDL)?
过程设计语言(PDL)也称为伪码,是一种“混杂”语言,它使用一种语言的词汇,同时却使用另一种语言的语法。
19.PDL的优点?
- 可以作为注释直接插在源程序中间
- 可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作
- 已经有自动处理PDL的程序存在,而且可以自动由PDL生产程序代码
20.PDL的缺点?
不如图形工具形象直观
21.最著名的面向数据结构的设计方法是哪两个?
Jackson方法和Warnier方法
22.Jackson方法的5个步骤是什么?
- 分析并确定输入数据和输出数据的逻辑结构,并采用Jackson图描绘这些数据结构
- 找出输入数据结构和输出数据结构中有对应关系的数据单元
- 由描绘数据结构的Jackson图导出描绘程序结构的Jackson图
- 列出所有操作和条件,并且把它们分配到程序结构图的适当位置
- 用伪码表示程序
23.定量度量程序复杂程度方法的作用?
- 估算出软件中错误的数量以及软件开发需要用的工作量
- 定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣
- 程序的定量度量复杂程度可以作为模块规模的精确限度
24.定量度量程序复杂度的方法有哪些?
McCabe方法和Halstead方法
25.流图的作用?
流图仅仅描绘程序的控制流程,用任何方法表示的过程设计结果都可以翻译成流图
26.计算环形复杂度V(G)的方法有哪些?
- V(G)=流图中线性无关的区域个数
- V(G)=E-N+2 ,E为流图中边的总数, N为结点的个数
- V(G)=P+1,P是流图中判定结点的个数
【注】以上图中流图为例,该流图环形复杂度为4
27.环形复杂度的用途?
环形复杂度是对测试难度的一种定量度量,也能对软件的可靠性给出某种预测
28.详细设计的基本原则?
- 选择适当的图和工具来描述算法
- 算法描述应该正确可靠、清晰易懂
- 采用结构化的程序设计方法
- 降低复杂度
29.结构化的判断方法?
一个循环里只能有一个出口,如果多于一个出口就是非结构化的
章末小结
详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统。也就是要设计出程序的“蓝图”。除了应该保证软件的可靠性之外,使将来编写出的程序可读性好、容易理解、容易测试容易修改和维护,是详细设计阶段最重要的目标。结构程序设计技术是实现上述目标的基本保证,是进行详细设计的逻辑基础。
人机界面设计是接口设计的一个重要的组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。 人机界面的质量直接影响用户对软件产品的接受程度,因此,对人机界面设计必须给予足够重视。在设计人机界面的过程中,必须充分重视并认真处理好系统响应时间、用户帮助设施、出错信息处理和命令交互这4个设计问题。人机界面设计是一一个迭代过程,通常,先创建设计模型,接下来用原型实现这个设计模型并由用户试用和评估原型,然后根据用户意见修改原型,直到用户满意为止。总结人们在设计人机界面过程中积累的经验,得出了一些关于用户界面设计的指南,认真遵守这些指南有助于设计出友好、高效的人机界面。
过程设计应该在数据设计、体系结构设计和接口设计完成之后进行,它的任务是设计解题的详细步骤(即算法),它是详细设计阶段应完成的主要工作。过程设计的工具可分为图形、表格和语言3类,这3类工具各有所长,读者应该能够根据需要选用适当的工具。在许多应用领域中信息都有清楚的层次结构,在开发这类应用系统时可以采用面向数据结构的设计方法完成过程设计。本章以Jackson结构程序设计技术为例,对面向数据结构的设计方法做了初步介绍。为了能使用这种方法解决实际问题,还需要进一步钻研有关的专著。
使用环形复杂度可以定量度量程序的复杂程度,实践表明,环形复杂度V(G)=10是模块规模的合理上限。
反反复复,扎扎实实;念念不忘,必有回响!