第三章第三章 需求分析结构化方法结构化开发方法 ( Structured Developing Method)
,应用最广泛的方法,主要特点是快速,自然和方便 。
,逐步求精 。 它的基本原则是功能的分解与抽象 。
3.1.1结构化开发方法的组成
70年代初 结构化程序设计方法 SP法 ( Structured Program)
70年代中 结构化设计方法 SD法 ( Structured Design)
70年代末 结构化分析方法 SA法 ( Structured Analysis)
SA,SD,SP 法相互衔接,形成了一整套开发方法 。 若将 SA,SD 法结合起来,又称为结构化分析与设计技术
( SADT 技术 ) 。
3.1 结构化方法概述
3.1 结构化方法概述
3.1.2 SA法的基本思想结构化分析方法的基本思想是,分解,和,抽象,

分解,对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决 。
抽象,分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个子系统的方法就是,抽象,。
① 建立当前系统的,具体模型,;
② 抽象出当前系统的逻辑模型;
③ 建立目标系统的逻辑模型;
④ 为了对目标系统作完整的描述,还需要考虑人机界面和其他一些问题;
SA法的描述方法用分层的 DFD图 +数据词典 +加工说明
SA法的步骤
3.1.3 SA法的步骤
3.2.1 什么是数据流图通常用 数据流图 DFD (Data Flow Diagram) 来描述需求 。
数据流图是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出以及把逻辑输入转换为逻辑输出所需的加工处理 。
数据流图的基本符号只有以下四种,如图所示,
数 据 流 加 工 数 据 存 储 数据源点或终点加工名数据流名文件名实体名
3.2 分层的数据流图加工名编号加工名编号 文件名文件名
DFD图辅助图例
T
A
B
* C
TA
B
*
C
T
A
B
+ C
TA
B
+
C
T
A
B
C
+
+
TA
B
C
+
* 与
+ 或互斥
―先全局后局部,先整体后细节,先抽象后具体,
通常可将这种分层的 DFD图,分为顶层,中间层,底层 。
具体步骤:
1。 先确定系统范围,画出顶层的 DFD图 。
2。 逐层分解顶层 DFD图,获得若干中间层 DFD图 。
3。 画出底层的 DFD图 。
1图
3.2.2 画分层 DFD图的方法顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张 。 底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为 基本加工 。 在顶层和底层之间的是中间层 。 中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解 。
画各层 DFD图时,,由外向内,。
X
1 32
1.1
1.2
1.4
1.3
2.1 2.2
1.1.1 1.1.2
2.1.32.1.2
2.1.1 2.2.2
2.2.32.2.1
顶层中间层底层先全局后局部,
先整体后细节,
先抽象后具体,
0图
1图 2图
1.1图 2.1图 2.2图分层
DFD
图顾客出版社验证订单汇总订单订单 出版社订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件订货存根文件画图步骤,1、确定外部实体及输入、输出数据流。
2、确定分解顶层的加工。
3、确定使用的文件。
4、用数据流将各部分连接起来,形成数据封闭。
注意:标注各加工框及数据流名称。
例 1:图书预定系统 (顶层 DFD图)
例 2 情景教学请对系统需求进行分析!经过初步的需求分析,得到系统功能要求:1,监视病员的病症 ( 血压,体温,脉搏等 )
2,定时更新病历
3,病员出现异常情况时报警 。
4,随机地产生某一病员的病情报告 。
例 2 医院病房监护系统产生病情报告监视病情更新病历图 2.13
情景教学系统功能要求:
1、监视病员的病症(血压、体温、脉搏等)
2、定时更新病历
3、病员出现异常情况时报警。
4、随机地产生某一病员的病情报告。
顶层:
病员护士护士病员监护系统病员 日志病症信号要求报告病症 报告报警例 2 医院病房监护系统第一层:
病员护士护士中央监视病员 日志病症信号要求报告病症 报告报警局部监视生成报告病员极限更新日志病员数据格式化病员数据生理信号极限值
1
3
2 4
日志数据日志数据医院病房监护系统顶层 DFD图第二层:加工,中央监视”分解计算超过极限值否病员 数 据超过 极限值报警开解信号产生报警信息病员极限格式化病员数据体温血压、体温脉搏生理信号极限值时间脉搏血压日期时钟 格式化病员数据
3.1
3.
2
3.3 3.4
医院病房监护系统二层 DFD图计算超过极限值否病员 数据超过 极限值报警开解信号产生报警信息病员极限格式化病员数据体温生理信号极限值时间脉搏血压日期时钟 格式化病员数据
3.1
3.2
3.3
3.4
第二层:加工,中央监视”分解医院病房监护系统分层 DFD图图 2..15
第一层格式化病员数据生理信号极限值病员护士护士中央监视病员 日志病症 报告局部监视生成报告病员极限更新日志病员数据
1
3
2 4
日志数据图 2..16
加工分解的原则自然性,概念上合理,清晰;
均匀性,理想的分解是将一个问题分解成大小均匀的几个部分;
分解度,一般每一个加工每次分解最多不要超过7个子加工,分解应分解到基本加工为止 。
3.2.3 画分层 DFD图的基本原则数据守恒与数据封闭原则所谓数据守恒是指加工的输入输出数据流是否匹配,
即每一个加工既有输入数据流又有输出数据流 。 或者说一个加工至少有一个输入数据流,一个输出数据流 。
数据封闭是对整个系统而言 。
合理使用文件当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来 。
DFD图不是流程图,不表示软件的控制流程。
3.2.3 画分层 DFD图的基本原则子图与父图的,平衡,
父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同 (相对应),分层数据流图的这种特点称为子图与父图,平衡,。
1 3
2
A
N
T
B C
父图
2.1 2.2
2.3
N
P
S
T
子图
Q
图 1
3.1 3.2
3.3
客户帐号数量提货单子图图 2
显然,图 1中子图与父图不平衡。
1
2
4
3
6
5
定货单提货单父图如果有如下时间数据条目:
订货单 =客户 +帐号 +数量
M
例 1 考察下例中子父图的平衡
3.2.4 分层 DFD图的改进
DFD图必须经过 反复修改,才能获得最终的目标系统的逻辑模型(目标系统的 DFD图)。可从以下方面考虑 DFD图的改进:
1、检查数据流的正确性
① 数据 守恒
② 子图、父图的平衡
③ 文件使用是否合理。特别注意输入 /出文件的数据流。
2、改进 DFD图的易理解性
① 简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。
② 改进分解的均匀性。
③ 适当命名(各成分名称无二义性,准确、具体)。
分层数据流图只是表达了系统的,分解,,为了完整地描述这个系统,还需借助,数据词典,和,小说明
” 对图中的每个数据和加工给出解释 。
对数据流图中包含的所有元素的定义的集合构成了数据词典 。 词典中可有以下四种类型的条目,
3.3 数据词典 (DD)
数据流 文件 数据项 加工
A,数据流条目 给出某个数据流的定义,通常是列出该数据流的各组成数据项。
例如,报名单=姓名+单位名+年龄+性别+课程名常用符号:=、+、[|]、{}、()、
C,数据项条目数据项条目给出某个数据单项的定义,通常是数据项的值类型,允许的取值范围 。
B、文件条目 给出某个文件的定义,同数据流一样,文件的定义通常是列出文件记录的组成数据流例如某销售系统的订单文件:
订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期
D,加工条目加工类条目就是,加工小说明,。一般应该单独列出

nm{...}
3.4 加工说明结构化语言判定表判定树对数据流图中每一个不能再分解的基本加工都必须有一个 小说明 给出这个加工的精确描述。小说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,是指用户对这个加工的逻辑要求。
对基本加工说明有三种描述方式:
结构化语言是介于自然语言和形式语言之间的一种半形式语言,它是自然语言的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环),
内层较灵活,表达“做什么”。
3.4.1 结构化语言例如:外层可为以下结构:
1、顺序结构
2、选择结构
IF–THEN-ELSE; CASE-OF-ENDCASE;
3、循环结构
WHILE-DO; REPEAT-UNTIL
例:一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于 1000元,同时必须信誉好,或者虽然信誉不好,但是 20年以上的老主顾。
应用举例用结构化语言来描述:
如果 营业额大于 1000元同时 如果信誉好则 优惠处理。
否则 正常处理。
否则 信誉不好但是 20年以上的老主顾,则优惠处理。
否则 营业额小于、等于 1000元则 正常处理。
显然,用结构化语言来描述组合条件不清晰。
判定表是一种二维的表格,常用于较复杂的组合条件
(与结构化语言比较)。
条件框 条件条目操作框 操作条目
3.4.2 判定表特点:可处理较复杂的组合条件,但不易理解,不易输入计算机。
通常由四部分组成。
条件框 — 条件定义。
操作框 — 操作的定义。
条件条目 — 各条件的取值及组合。
操作条目 — 在各条件取值组合下所执行的操作。
例如,对商店每天的营业额所收税率营业额 X ( ¥) 1000≤X<5000 5000 ≤X<10000 X≥10000
税 率 5% 8% 10%
例:一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于 1000元,同时必须信誉好,或者虽然信誉不好,但是 20年以上的老主顾。
1 2 3 4
>1000元 Y Y Y N
信誉好 Y N N -
>20 年 - Y N -
优 惠 X X
正 常 X X
化简后
1 2 3 4 5 6 7 8
>1000元 Y Y Y Y N N N N
信誉好 Y Y N N Y Y N N
>20 年 Y N Y N Y N Y N
优 惠 X X X
正 常 X X X X X
Y-满足条件 N-不满足条件 X-选中判定的结论判定表 应用举例特点,描述一般组合条件较清晰,易理解。不易输入计算机。
营业额
> 1000元
≤ 1000元 正常处理好的支付信誉 优惠处理坏的支付信誉
> 20年 优惠处理
< 20年 正常处理如上例
3.4.3 判定树需求规格说明书一。系统概述
1。 系统名称
2。 系统开发的目的和必要性
3 。 功能和性能的要求
4。 软、硬件资源二。分层的 DFD图三。简单的数据词典及加工小说明
3.5.1 SD 法的设计步骤一、总体设计步骤
⑴ 从 DFD图导出初始的模块结构图。
⑵ 按照 SD法设计总则,改进模块结构图。
注意,模块结构图不同于“框图”。
二,DFD图的分类一般将 DFD图分为两种典型的类型,分析系统的 DFD
图类型的目的,是为了采用不同的技术将其转换为初始的模块结构图。
中心变换型 (transform center) _ 变换分析
事务处理型 (transaction) _ 事务分析
3.5 结构化设计方法这类数据流图可看成是对输入数据进行转换而得到输出数据的处理 。
DFD图可以明显分为,输入 —处理 —输出,三部分 。

物理输入
) (
逻辑输入


逻辑输出

输 入 主加工 输 出
(物理输出)
检查顺序 检查合理性扩充代码核对记录修改 压缩代码格式化修改数据旧文件 新文件中心变换型 的 DFD 图这类数据流图可看成是对一个数据经过某种加工后,按加工的结果选择一个输出数据流继续执行的处理 。
如下图所示:
分类报名付款注销查询复审采用,事务分析,( transaction Analysis) 技术事务处理型 的 DFD 图
① 确定主加工及逻辑输入 /出主加工 — 描述了系统的主要功能,特征 。 其特点是:
输入 /出数据流较多,往往主加工不止一个 。
逻辑输入 /出 — 是指输入 /出主加工的数据流 。
输入流 — 是把物理输入转换为逻辑输入的数据流,
输出流 — 是将逻辑输出转换为物理输出的数据流 。
DC 中心加工
2号加工
3号加工
1号加工
4号加工
A
B E
F
输入流转换流 输出流输入流输出流
3.5.1变换分析( Transform Analysis) 技术
M
CI CT CO
C C
D
D
② 进行一级分解,设计上层模块 。
为每个输入设计一个输入模块,为每个输出设计一个输出模块,同时为每个主加工设计一个处理模块 。
变换分析技术 (续一)
F
DC 中心加工
2号加工
3号加工
1号加工
4号加工
A
B E
输入流转换流 输出流输入流输出流
③ 进行二级分解,设计中下层模块这一步的工作是自顶向下,逐步细化,为第一层的每一个输入模块,输出模块,处理模块设计它们的从属模块,
设计下层模块的顺序一般从设计输入模块的下层开始 。
M
CI CT CO
处理 C取 B 转换 B 转换 D 送 E
C C DD
DC C DB B EE
DC 中心加工
2号加工
3号加工
1号加工
4号加工
A
B E
输入流转换流 输出流输入流输出流变换分析技术 (续二)
③ 进行二级分解,设计中下层模块这一步的工作是自顶向下,逐步细化,为第一层的每一个输入模块,输出模块,处理模块设计它们的从属模块,设计下层模块的顺序一般从设计输入模块的下层开始 。
M
CI CT CO
处理 C取 B 转换 B 转换 D 送 E
取 A 转换 A 转换 E 送 F
C C DD
DC C D
A A
B B
B F
F
EE
E
④ 进一步细化
DC 中心加工
2号加工
3号加工
1号加工
4号加工
A
B E
输入流转换流 输出流输入流输出流变换分析技术 (续三)
① 确定流界首先从数据流图中找出事物流,事务处理中心和事物路径 。
事务中心前是接受事物,事务中心后是事物路径 。
进行一级分析,设计顶层模块 。
I
P1
P2
P3
事物流 事务中心 事务处理事务控制原始的数据流图对应模块图
3.5.2,事务分析”技术
I
P1
P2
P3
事物流 事务中心 事务处理事务控制接受事务 发送事务
② 进行一级分析,设计上层模块事务分析的任务是从数据流图中导出具有接受分支和发送分支的软件结构 。 对事务中心应设计,事务控制,模块;对事务流应设计,接受事务,模块;对事务路径,应设计,发送控制,模块 。
原始的数据流图对应模块图事务分析技术 (续一)
I
P1
P2
P3
事物流 事务中心 事务处理事务控制接受事务 发送事务
P1 P2 P3
原始的数据流图对应模块图
③ 进行二级分解,设计中下层模块对于接受分支,可用类似于转换处理型数据流图中对输入数据流的方法设计中下层 。 对于发送分支,在发送控制模块下为每条事务路径设计一个事务处理模块,这一层称为事务层 。 在事务层模块下,沿各事务路径进行进一步细化 。
事务分析技术 (续二)
3.5.3 实例:银行贷款文件管理 ( MFUP)
每个贷款用户在贷款文件中占有一个记录,记录结构如下表:
序号 内 容 长度(字节) 数据类型 可否修改
1 帐号 5 数字 否
2 户名 30 数字字母 可
3 地址 30 数字字母 可
4 省 10 字母 可
5 市 15 字母 可
6 邮政编码 5 数字 可
7 电话 7 数字 可
8 类型 1 字母 否
9 信贷员号 5 数字 可
10 最近一次业务日期 6 数字 否
11 最近一次付息日期 6 数字 否
12 余额 8 数字 否
13 业务总量 8 数字 否
14 限额 6 数字 否实例:银行贷款文件管理 ( MFUP)
要求对贷款文件进行修改,修改信息由卡片输入,卡片上的修改信息格式如下:
1~5位 6~9位 10位起帐号 空 ×× 修改值 1* ×× 修改值 2* …..**
(序号)
分析,
1,贷款文件的记录格式(如前表)
2,修改记录(卡片)格式
3,需求分析结果 — DFD 图,是一种混合的 DFD 图。
实例:银行贷款文件管理 ( MFUP)
修改记录写记录卡片编辑卡片检查顺序检查次序帐号相等错误 顺序卡片修改信息旧记录 顺序记录要修改的记录不修改的记录已修改的记录新记录修改分类抽出修改顺序卡片修改信息
2
3
4
5
6
7
9
需求分析结果 — DFD 图编辑卡片加工分解主加工是??
报告顺序记录新记录将 DFD图转换为 模块结构图贷款文件管理系统取顺序记录修改记录打印报告打印记录比较帐号取修改信息读旧记录检查顺序取卡片编辑卡片读卡片 检查顺序卡片 卡片 顺序卡片旧记录 旧记录顺序记录顺序记录顺序卡片 顺序卡片已修改
―编辑卡片”应继续向下分解,是典型的“事务处理”
型的 DFD图。
写记录修改记录写记录卡片 编辑卡片检查顺序检查次序帐号相等错误顺序卡片修改信息旧记录 顺序记录 要修改的记录不修改的记录已修改的记录新记录报告按照,降低块间联系,提高块内联系,的设计总则进行修改,完善系统的模块图,写出模块的功能说明 。
功能模块的组成:
执行某项任务的部分出错处理部分返回结束标志具体应从以下方面改进:
1) 尽可能建立功能模块功能模块具有最强的内聚性,应满足信息屏蔽原则:
一个模块内所包含的信息 ( 过程和数据 ) 对不需要这些信息的模块是不能访问的 ( 黑盒 ) 。
3.5.4 模块图的改进若两模块含有重复的部分,应设法将重复的功能消去 。
如下图所示,Q1和 Q2两个模块具有类似的功能,下图的
( b),( c),( d) 方案就是可能的解决方案 。
(a)
X Y
Q’1 Q’2
Y
Q’2
Q
X
Q
(b) (c) (d)
Q重复部分
YX
Q1
Y
Q2
2)消除重复功能
X
控制范围 — 结构方面的特点,包括模块及其所有下属模块 。
作用范围 — 判断所涉及到的模块,是从功能特点考虑的 。
SD方法认为,当作用范围为控制范围的子集时,才能获得较低的块间联系,如下图中的设计,判定的作用范围恰好在判定所在模块的下一层 。
3)模块的作用范围应与控制范围
TOP
X T
B
A B1 B2
TOP
A B
C D
E F?
(a) TOP?
A B
C D
E F
(b)
TOP
A B?
C D
E F
(c) TOP
A B
C
D E F
(d)
作用范围应与控制范围 举例
T 的控制范围:
T,B,A,B1,B2
B 的控制范围及作用范围均为:
B,A,B1,B2
模块大小指其篇幅,一般模块大小约 50-100行为宜 。
5) 模块的扇入扇出数不宜太多一个模块调用其他模块的个数,称为该模块的扇出 。
模块的扇出不宜过大,一般认为不要超出7个 。
一个模块被其他模块调用的个数,称为该模块的扇入 。 扇入越大,除服务性模块外,模块的扇入扇出数不宜太多 。 否则块间联系增加 。
4)模块的大小适当一,任务详细设计阶段的任务是开发一个可以直接转换为程序的软件表示,即对系统中每个模块的内部过程进行设计和描述 。
二,常用的描述方法工具
1,流程图
2,结构化流程图 ( N-S图 )
3,PAD图 —问题分析图
4,PDL 语言
3.5.5 详细设计
a
b
X1
X2
X7
X6
X4
X3
X5
h
ig
f
e
d
c
F
T
F
F
F
TT
T
多分支选择结构先判定型循环结构选择结构后判定型循环结构X
8
j
F
1、程序流程图
2、结构化流程图( N-S图)
N-S图由而且仅由顺序、选择、循环三种基本结构组成。
基本图例如下:
顺序结构块 1
块 2
块 3
块 4
条件T F
块 1 块 2
选择结构
Case I=1,2,3T
块 1 块 2
多分支选择结构
F
块 3
块当条件成立时当型循环块直到条件成立时直到型循环
a
b
条 件 1T F
Case Xi,i=2,3,4
X2 X3 X4
当条件 3成立条 件 2
直到条件 4成立直 到 条 件 成立
c d e
f
g
h
i
j
顺序结构选择结构多分支选择结构先判定型循环结构后判定型循环结构
FT
T F
2、结构化流程图( N-S图)
PAD图 ( problem Analysis Diagram) 即问题分析图,其基本控制结构如下:
条件
then部分
else部分选择结构
T
F
任务 1
任务 2
任务 3
顺序结构
WHILE型条件 循环体先判定型循环结构
UNTIL型条件 循环体后判定型循环结构控制变量任务 1
任务 2
任务 n
多分支选择结构值 1
值 2
值 n
3,PAD图例 1:对数组 X进行排序。,自顶而下,逐步求精”
J,=h
k,=h+1,n
J:=k
H,=1,n-1 排好第 h个 X [h]
W:=X[h]
X[h]:=X[j]
X[j]:=w
1,循环一次,排好一个 X[h]
排好第 H个 X [h]
找 X[J]= MAX( X[h]… X[n])
交换 X[J] 和 X[h]
2,细化
X[k]>
X[J]
(a)
(b)
(b)
(a)
3,连接各图,构成完整的 PAD图
:,:,
H,=1,n-1:,:,
BEGIN
FIRST:=K[1];
SECOND:=0;
FIRST=K[1]
SECOND=0
I,=2 to N K[I] >SECOND
K[I]>FIRST
SECOND=FIRST
FIRST=K[I]
SECOND =K[I]
ELSE SECOND:=K[I]
END
END
END.
PASCAL源程序段对应 PAD图
FOR I:=2 TO N DO
BEGIN IF K[1]>SECOND THEN
BEGIN IF K[I]>FIRST
THEN BEGIN SECOND:=FIRST;
FIRST:=K[I]END
PAD图应用例 2
PAD图的扩充图式
A,DEF图式,一个加工在一页中画不下时,用 DEF图式定义后,可在另一页上画出。
B,N+1/2循环
S
NAME A
条件
H1
S1
S2
P
或 S1
S2
S1
P S1
S2
NAME A
S1
UNTIL Q S2
S3
PDL( Program Design Language)程序设计语言这是一种结构化的语言。是非形式化比较灵活的语言,
用于描述模块内部过程的具体算法,以便在开发人员之间比较精确的进行交流。
PDL语言的特点是:很容易转换为高级语言或者机器能执行的代码。
PDL语言的成分是:数据说明、处理过程描述、输入 /出
PDL的语法是开放式的,其外层语法是确定的,而内层语法则不确定。外层语法描述控制结构它用类似于一般程序设计语言控制结构的关键字:
如,IF-THEN-ELSE WHILE-DO REPEAT-UNTIL
DO CASE DO WHILE 等表示。
有时还用关键字反排,表示控制结构结束:
DO - OD IF -FI
4,PDL 语言例如:
if X is not negative
then
return(square root of X as a real number);
else
return(square root of -X as an imaginary
number);
外层语法 IF-ELSE-THEN是确定的,内层操作,square
root of X,是不确定的。
4,PDL 语言
1、可使用性
① 使用简单
② 用户界面中所用术语的标准化和一致性
③ 具有 HELP功能
④ 快速的系统响应和低的系统成本
⑤ 具有容错能力
2、灵活性
① 考虑用户的特点、能力、知识水平。
② 提供不同的系统响应信息。
③ 提供根据用户需求制定和修改 界面。
3、界面的复杂性与可靠性复杂性 —界面规模及组织的复杂程度。应该愈简单愈好。
可靠性 —指无故障使用的时间间隔。用户界面应该能够保证用户正确,可靠地使用系统,及程序,数据的安全 。
3.6.1 用户界面应具有的特性
1、用户特性分析 — 用户模型了解所有用户的技能和经验,针对用户能力设计或更改界面。从以下方面分析:
用户类型 —通常分为:外行型、初学型、熟练型、专家型。
用户特性度量 —与用户使用模式和用户群体能力有关。
包括:用户使用频度、用户用机能力、用户的知识、思维能力等。
3.6.2 用户界面设计的任务这部分工作应该与软件需求分析同步进行。包括以下内容:
2、用户界面的任务分析 —任务模型( DFD图)
是对系统内部活动的分解,不仅要进行功能分解(用 DFD图描述),还要包括与人相关的活动。每个加工即一个功能或任务。
3、确定用户界面类型
1、菜单( menu)
按照显示方式正文菜单、图标菜单、正文和图标混合菜单,如:
开始菜单。
3.6.3 用户界面的基本类型从用户角度出发,用户界面设计的类型主要有问题描述语言,数据表格、图形与图标、菜单、对话框及窗口等。每一种类型都有不同的特点和性能。讨论以下类型,菜单、图象、对话框和窗口。
按屏幕位置和操作风格固定位置、浮动位置(弹出)、下拉式、嵌入式图 3.54 混合菜单图 3.55 固定及下拉菜单固定菜单下拉菜单
2、图 象在用户界面中,加入丰富多彩的画面,将能够更加行象地为用户提供有用的信息,以达到可视化的目的。主要的处理操作有:图象的隐蔽和再现、
屏幕滚动和图案显示、动画等。
3、对话框对话框是在需要时,显示在屏幕上一个矩形区域内的图形和正文信息。
通过对话,实现系统和用户之间的通信。
对话框显示的方式与弹出式菜单类似,即瞬时弹出。同时,系统还应将对话框所覆盖的原图象进行保存,以便在对话结束后能立即恢复。
有三种对话形式:
必须回答式 如图 3.58所示无需回答式 如图 3.59所示警告式 如图 4.58所示图 3.58 必须回答 式对话框图 3.59 无需 回答 式对话框图 3.60 警告式对话框
4,窗口 ( window)
图形学中称为视图区 ( Viewport),视为虚拟屏幕 。 一个实用窗口,
可包含部件:
菜单区 ( menu bar) 图标区 ( icon bar)
标题区 ( title bar) 移动区 ( move bar)
大小区 ( size bar) 退出区 ( quit bar)
用户工作区 ( user’ s work bar)
横向滚动区 ( horizontal scroll bar)
纵向滚动区 ( vertical scroll bar)
图 3.61 窗口数据 I/O界面,是系统的重要组成部分 。 主要从 输入速度 和减少出错率 考虑 。
1、尽量减少输入工作量对相同内容输入设臵默认值自动填入列表选择或点击选择
2、输入屏幕与输入格式匹配即屏幕显示按照数据使用频率、重要性、次序等组织。
3、数据输入的一般规则确定输入 交互动作确定删除 提供反馈
3.6.4 数据 I/O界面设计
3.6.5 软件设计规格说明与复审二、设计复审必要性统计表明:软件开发过程中 50%~60%的错误是在设计阶段引入的。
一、软件规格说明书软件设计阶段完成,应提交设计文档:
1,改进后的模块结构图(包含模块说明)
2、各模块的详细说明 (流程图,N-S图,PAD图等)
从前一步未被发现的错误扩大的错误新产生的错误检测效率到后一步
0
0
10
70%
2
X=1.5
1*1.5
25
50%
3个 15个( B)
有复审例,00
10
0%
6
X=1.5
4*1.5
25
0%
10个 37个( A)
无复审初步设计 详细设计二、复审方式
1、正式复审:会议详细审议。
2、临时性复审:对局部问题进行讨论。