????????结构程序设计经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
????????结构程序设计更全面的定义:结构程序设计是尽可能少用GO TO语句的程序设计方法。最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句。
????????如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,则称为经典的结构程序设计;
????????如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;
????????如果再允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计。
系统响应时间:从用户完成某个控制动作(例如,按回车键或单击鼠标),到软件给出预期的响应(输出信息或做动作)之间的这段时间。
两个重要属性:长度、易变性
长度:时间过长,用户就会感到紧张,过短,加快用 户操作节奏,可能会犯错误
易变性:系统响应时间相对于平均响应时间的偏差 即使系统响应时间较长,响应时间易变性低也有助于用 户建立起稳定的工作节奏
用户帮助设施:常见的分为集成的和附加的两类
设计用户帮助设施要解决以下问题
1.在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息?有两种选择:提供部分功能的帮助信息和提供全部功能的帮助信息。
2.用户怎样请求帮助?有3种选择:帮助菜单,特殊功能键和HELP命令。
3.怎样显示帮助信息?有3种选择:在独立的窗口中,指出参考某个文档(不理想)和在屏幕固定位置显示简短提示。
4.用户怎样返回到正常的交互方式中?有两种选择:屏幕上的返回按钮和功能键。
5.怎样组织帮助信息?有3种选择:平面结构,信息的层次结构和超文本结构
出错信息处理:出错信息和警告信息,是出现问题时交互式系统给出的“坏消息”。
命令交互:在越来越多的应用软件中,人机界面设计者都提供了“命令宏机制”。 在理想的情况下,所有应用软件都有一致的命令使用方法
用户界面设计是一个迭代的过程,通常先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见进行修改。
一般交互指南:涉及信息显示、数据输入和系统整体控制
信息显示指南:多种不同方式“显示”信息:用文字、图形和声音;按位置、移动和大小;使用颜色、分辨率和省略。
数据输入指南:用户的大部分时间用在选择命令、输入数据和向系统提供输入。
程序流程图又称为程序框图,它是使用最广泛的描述过程设计的方法
程序流程图中使用的符号(a) 选择(分支); (b) 注释; (c) 预先定义的处理; (d) 多分支; (e) 开始或停止; (f) 准备; (g) 循环上界限; (h) 循环下界限; (i) 虚线; (j) 省略符; (k) 并行方式; (l) 处理; (m) 输入输出; ?(n) 连接; (o) 换页连接; (p) 控制流?
程序流程图的主要缺点如下
(1) 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构
(2) 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制
(3) 程序流程图不易表示数据结构
又称为N-S图,具有以下特点
(1) 功能域(即一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来
(2) 不可能任意转移控制
(3) 很容易确定局部和全程数据的作用域
(4) 很容易表现嵌套关系,也可以表示模块的层次结构
PAD图的主要优点如下
(1) 使用表示结构化控制结构的PAD符号所设计出来的程序 必然是结构化程序
(2) PAD图所描绘的程序结构十分清晰
(3) 用PAD图表现程序逻辑,易读、易懂、易记
(4) 容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高 软件可靠性和软件生产率
(5) 即可用于表示程序逻辑,也可用于描绘数据结构
(6) PAD图的符号支持自顶向下、逐步求精方法的使用?
判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系
判定表由4部分组成
????????左上部列出所有条件
????????左下部是所有可能做的动作
????????右上部是表示各种条件组合的一个矩阵
????????右下部是和每种条件组合相对应的动作
判定表右半部的每一列实质上是一条规则,规定了与特定的条件组合相对应的动作
举例:2 该乘客是国内乘客,坐的是头等舱,非残疾乘客,行李重量>30kg,所要缴纳的行李费为(W-30)*4? ? ? ? 下边的X代表对应动作要执行