813软件工程考研大连交通#六 详细设计

六 详细设计

考纲:结构程序设计,人机界面设计的方法,程序流程图、盒图、PAD图、判定表和判定树的应用,Jackson图,程序复杂程度的定量度量。

结构程序设计

如果一个程序的代码块仅仅通过顺序,选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口。则称这个程序是结构化的。

(考的概率很高)


人机界面设计的方法

4个设计问题

  1. 系统响应时间
  2. 用户帮助文档
  3. 出错信息处理
  4. 命令交互

设计指南

  • (1)一般交互指南。

    A .保持一致性。

    B .提供有意义的反馈。

    C .在执行有较大破坏性的动作之前要求用户确认。

    D .允许取消绝大数操作。

    E .减少两次操作之间必须记忆的信息。

    F .提高对话、移动和思考的效率。

    G .允许犯错。

    H .按功能对动作分类,并据此设计分布。

    I.提供对用户工作内容敏感的帮组设施。

    J .用简单单词或动词短语作为命令名。

  • (2)信息显示指南。

    A .只显示与当前工作内容有关的信息。

    B .不要用数据淹没用户,应该使用便于用户迅速汲取信息的方式来表示数

    C .使用一致的标记,标准缩写和可预知的颜色。

    D .允许用户保持可视化的语境。

    E .产生有意义的出错信息。

    F .使用大小写,缩进和文本分组以帮助理解。

    G .使用窗口分割不同的信息。

    H .使用"模拟"显示方式表示信息,以使信息更容易被用户提取。

    I.高效率地使用显示屏。

  • (3)数据输入指南。

    A .尽量减少用户的输入动作。

    B .保持信息显示和数据输入一致

    C . 允许用户自定义输入

    D . 交互应该灵活,并可以调成用户最喜欢的输入方式

    E . 使在当前动作环境中不适用的命令不起作用

    F . 让用户控制交互流

    G . 对所有输入动作都提供帮助

    H . 消除冗余的输入


程序流程图、盒图、PAD图、判定表和判定树的应用
  1. 程序流程图(又称程序框图)。

    (1)优点:对控制流程描绘的很直观,便于初学者掌握。

    (2)缺点:①本质上不是逐步求精的好工具,诱使程序员过早地考虑程序的控制流程。而不是考虑程序的全局结构。

    ②程序流程图使用箭头代表控制流,因此程序员可以随意不受任何约束,完全不顾结构程序设计的精神,随意转移控制。

    ③不易表示数据结构。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 盒图。

    (1)特点:①功能域明确,可以在盒图上一眼看出。

    ②不能任意转移控制。

    ③很容易确定全局和局部数据的作用域。

    ④很容易表示嵌套关系,也可以表示模块的控制结构。

    (2)优点:坚持使用盒图作为详细设计的工具,可以使程序员逐步养成用结构化的方式思考问题和解决问题。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. pad图

    pad 图是问题分析图,用二维树形结构图来表示程序的控制流。将这种图翻译成程序代码很容易。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    (1)优点:

    A.使用表示结构化控制结构的 pad 图设计出来的程序必定是结构化程序。

    B.Pad图所描述的程序结构十分清晰。

    C.用Pad图表示程序逻辑,易读易懂易记。

    D.容易将Pad图转换为高级语言程序。这种转化可用软件工具自动完成,从而省去人工编码的工作,有利于提高软件可靠性和软件生产率。

    E.即可用于表示程序逻辑,也用于描绘数据结构

    F.Pad图的符号支持自顶向上,逐步求精方法使用。

  4. 判定表

    “当算法中包含多重嵌套的条件选择时”,能够清晰表示不重复的条件组合与应做的动作之间的对应关系。

    能够简洁无歧义的描述处理原则。

  5. 判定树(20年考了这块很简单)

    它的形式不需要任何说明,一眼就可以看出其含义,因而易于掌握和使用。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  6. 过程设计语言:

    PDL 也称为伪码。


Jackson图

面向数据结构的设计方法。目标是得出对程序处理过程的描述

1.Jackson 图

逻辑关系:顺序,选择,重复。

2.改进的 Jackson 图

自己结合书看看吧,不好总结,也不是重点。

3.Jackson 方法(重点)

(1)分析并确定输入数据和输出数据的逻辑结构,并用 Jackson 图描绘这些数据结构。

(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。

(3)从描绘数据结构的 Jackson 图导出描绘程序结构的 Jackson 图。

(4)列出所有操作和条件。

(5)用伪码表示程序。


程序复杂度的定量度量

(两个重点:流图、计算环复杂度)

计算环形复杂度的方法

  1. (1)流图中线性无关区域等于环形复杂度。
  2. (2)流图 G 的环形复杂度 V ( G )= E - N +2 E 是条数 N 是结点
  3. (3)流图 G 的环形复杂度 V ( G )= P +1 P 是判定结点

表示程序。


程序复杂度的定量度量

(两个重点:流图、计算环复杂度)

计算环形复杂度的方法

  1. (1)流图中线性无关区域等于环形复杂度。
  2. (2)流图 G 的环形复杂度 V ( G )= E - N +2 E 是条数 N 是结点
  3. (3)流图 G 的环形复杂度 V ( G )= P +1 P 是判定结点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值