软件工程及实践[窦万峰]第5章 软件详细设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A iter while cond Block1 A end
编辑ppt
18
5.2.6 过程描述语言
【案例5.3】 统计单词数目 以下是一个用PDL语言描述的统计单词数目的例子: 统计空格 seq 打开文件 读入字符串 Totalsum = 0 程序体 iter until文件结束 … 程序体end 打印总数seq 打印出空格总数 打印总数end 关闭文件 停止 统计空格end
编辑ppt
26
5.3.3 界面设计指南
【案例5.4】 CAD系统中绘制圆弧的操作命令序列设计 圆弧绘制的基本参数包括圆心(Center)、半径(Radius)、圆心角 (Angle)、弦长(chord of length)、切线方向(direction)、起点(start)和 终点(end),根据参数的不同和次序,绘制圆弧可以有如下10种方法。 (1)3点绘制圆弧。 (2)起点—圆心—终点。 (3)起点—圆心—圆心角。 (4)起点—圆心—弦长。 (5)起点—终点—圆心角。 (6)起点—终点—切线方向。 (7)起点—终点—半径。 (8)圆心—起点—终点。 (9)圆心—起点—圆心角。 (10)圆心—起点—弦长。
编辑ppt
23
5.3.3 界面设计指南
1.交互界面的设计指南 (1)各种交互形式应使用一致的格式。 (2)提供有意义的反馈信息。 (3)在执行有较大破坏性的动作前要求确认。 (4)允许取消大多数操作,即支持undo和redo功能。 (5)减少在动作间必须记忆的信息数量。 (6)提高交互的效率。 (7)允许错误。 (8)按功能对动作分类并设置屏幕布局。 (9)提供语境相关的帮助机制。 (10)用简单的动词或动词短语命名命令。
条件组合中有取值无关的条件。如第1列和第2列,第5列和第6列,第9列和第 10列,第11列和第12列都与第3个条件“婚姻”没有关系,因此可合并,合并 后如表5-3所示。
年龄 性别 婚姻 A类保险 B类保险 C类保险 额外保险
1
3
4
5
7
8
9
11
C
C
C
Y
Y
Y
L
L
F
MM
F
M
M
F
M

S
E

S
EHale Waihona Puke ——√√√


编辑ppt
22
5.3.2 界面设计步骤
界面设计过程的步骤可以简述如下。 (1)建立任务的目标和意图。 (2)为每个目标和意图制定特定的动作序列。 (3)按照在界面上执行的方式对动作序列进行规约。 (4)指明系统状态,即执行动作时的界面表现。 (5)定义控制机制,即用户可用的用于改变系统状态的设备和动作。 (6)指明控制机制如何影响系统状态。 (7)指明用户如何通过界面上的信息解释系统状态。
编辑ppt
3
5.2.2 N-S图
盒图是由Nassi和Shneiderman提出的,所以又称为“N-S图”,其基本描述 符号如图5-3所示。
编辑ppt
4
5.2.3 PAD图
PAD图(Problem Analysis Diagram,问题分析图)自1973年由日本日立公司发 明以后,已得到一定程度的推广。它是由程序流程图演化而来,用二维树形结构 的图表示程序的控制流,将这种图翻译成程序代码比较容易。图5-4给出PAD图中 的基本描述符号。
1.1.0 1.1.1 1.1.2 1.1.3 1.2.0
顾客订单检查,核对顾客赊欠金额,产生销售报表 用工作文件的盘存项目号,对顾客订单进行核对和排序 以地区和人员为单位编制销售报表,并计算销售佣金 检验顾客赊欠金额计算折扣,确定支付项目 处理盘存管理报表、顾客付款收账、发货、包装和托运
编辑ppt
编辑ppt
12
5.2.5 判定表与判定树
【案例5.2】 确定保险类别 (1)提取问题中的条件,包括年龄、性别和婚姻。 (2)标出条件的取值,表5-1所示为条件值。
条件名 年龄
取值
年龄≤21 21<年龄<26
年龄≥26
符号
C Y L
取值数m m1=3
性别 婚姻
男 女
未婚 已婚
M F
m2=2
S E
m3=2
Block1 Block2 Block3 A end
编辑ppt
17
5.2.6 过程描述语言
(2)选择结构: A select cond1 Block1 A or cond2 Block2 A or cond3 Block3 A end (3)重复结构: A iter until cond Block1 A end
10
5.2.4 HIPO图
概要IPO图用于表达对一个系统,或对其中某一个子系统功能的概略表达, 指明在完成某一功能框规定的功能时需要哪些输入、哪些操作和哪些输出。图 5-8所示为表示销售/盘存系统第2层的对应H图中1.1.0框的概要IPO图。
编辑ppt
11
5.2.4 HIPO图
在概要IPO图中,没有指明输入―处理―输出三者之间的关系,用它进行下 一步的设计是不可能的。所以需要使用详细IPO图用于指明上述三者之间的关系, 其图形与概要IPO图一样,但输入和输出最好用具体的介质和设备类型的图形表 示。图5-9所示为销售/盘存系统中对应H图中1.1.2框的详细IPO图。
编辑ppt
24
5.3.3 界面设计指南
2.信息显示的设计指南
(1)可以采用多种不同的方式显示界面信息,如文字、图形、声音、颜色、
分辨率、大小和位置等。
(2)只显示与当前语境有关的信息。
(3)不要用信息将用户包围。
(4)使用一致的标记、标准的缩写和可预测的颜色。
(5)允许用户维持可视化的语境。
(6)产生有意义的出错信息。
编辑ppt
13
5.2.5 判定表与判定树
(3)计算所有条件的组合数N。
(4)提取可能争取的动作或措施,适用于A类保险,B类保险,C类保险, 以及额外收费共4种。
(5)制做判定表,如表5-2所示。
年龄 性别 婚姻 A类保险 B类保险 C类保险 额外收费
1 2 3 4 5 6 7 8 9 10 11 12
C CCC Y Y Y YL L L L
F F MM F F M M F F M M
S ESE S E S E S E S E
√√
√√


√√
√ √√

√ √√√
编辑ppt
14
5.2.5 判定表与判定树
(6)完善判定表。初步的判定表可能不完善,表现在以下几个方面。 缺少判定到中年采取的动作,如问题陈述中若没有“除此之外……导致” 第9和第10两列无法选取,则应该补充完整。 有冗余的列,两个或多个规则中具有相同的动作,并且按所对应的各个
编辑ppt
5
5.2.3 PAD图
PAD图的主要优点如下。 (1)使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序。 (2)所描绘的程序结构十分清晰,图中最左边的竖线是程序的主线,即第1 层结构。 (3)表现的程序逻辑易读、易懂且易记。PAD图是二维树形结构的图形,程 序从图中最左竖线上端的节点开始自上而下,从左向右顺序执行,遍历所有节点。 (4)容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成。 从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。 (5)既可用于表示程序逻辑,又可用于描绘数据结构。
编辑ppt
8
5.2.4 HIPO图
分析此工作流程图,可得如图5-7所示的可视目录表,其中图5-7(a)所示为 系统的层次图;图5-7(b)所示为后面IPO图的图例。
编辑ppt
9
5.2.4 HIPO图
描述说明如表5-0所示。
号码
说明
1.0.0
处理订货,维护盘存文件,并且产生发货单、包装单、货运单、 顾客付款收据、盘存与销售报表
编辑ppt
28
5.3.3 界面设计指南
若要以圆心开始绘制圆弧,则用下列的操作命令序列。 Command:ARC或通过菜单或工具选择绘制圆弧命令。 提示:指定圆弧起点,或[圆心]:(指定圆心)。 提示:指定圆弧的圆心点:(给定圆心点)。 提示:指定圆弧的起点:(给定第3点)。 提示:指定圆弧的终点,或[圆心角/弦长]:(指定圆心角)。 提示:指定圆心角:(给定圆心角)。
编辑ppt
2
5.2 结构化设计工具
5.2.1 程序流程图 程序流程图又称为“程序框图”,是Goldstine于1946年首先采用的。它是 历史最悠久,使用最广泛的描述软件设计的方法,能直观地描述过程的控制流 程,便于初学者掌握。其中较常用的一些符号如图5-2所示,方框表示一个处理 步骤,菱形代表一个逻辑条件,箭头表示控制流向。注意,程序流程图中使用 的箭头代表控制流,而不是数据流。
编辑ppt
6
5.2.3 PAD图
PAD图的符号支持自顶向下,逐步求精方法的使用。开始时设计者可以定 义一个抽象的程序,随着设计工作的深入使用def符号逐步增加细节,直至完成 详细设计,如图5-5所示。
编辑ppt
7
5.2.4 HIPO图
可视目录表由体系框图、图例和描述说明3个部分组成。具体描述如下。 (1)体系框图。 (2)图例。 (3)描述说明。 【案例5.1】 盘存/销售系统的HIPO图 应用HIPO法对盘存/销售系统进行分析,得到如图5-6所示的工作流程图。






编辑ppt
15
5.2.5 判定表与判定树
判定树是判定表的变形,一般情况下比判定表更直观,并且易于理解和使 用。与判定表5-3等价的判定树如图5-10所示。
编辑ppt
16
5.2.6 过程描述语言
外层:用于描述控制结构,采用顺序、选择和重复3种基本结构。 内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限 的自定义词。其动词含义要具体,尽量不用形容词和副词修饰。 以下是PDL语言的3种形式。 (1)顺序结构: A seq
编辑ppt
27
5.3.3 界面设计指南
因此设计绘制圆弧的操作命令序列如下: Command:ARC或通过菜单或工具选择绘制圆弧命令。 提示:指定圆弧起点,或[圆心]:(给定起点)。 提示:指定圆弧第2点,或[圆心/圆弧终点]:(给定第2点)。 提示:指定圆弧的终点:(给定第3点)。 上述是通过3点绘制圆弧,若要通过起点和圆心绘制圆弧,则命令序列如下。 Command:ARC或通过菜单或工具选择绘制圆弧命令。 提示:指定圆弧起点,或[圆心]:(指定起点)。 提示:指定圆弧第2点,或[圆心/圆弧终点]:(指定圆心) 提示:指定圆弧的圆心点:(指定圆心点)。 提示:指定终点,或[圆心角/弦长]:(指定弦长)。 提示:指定圆弧的弦长:(给定弦长)。
(7)使用格式化的文本帮助理解。
(8)使用窗口分隔不同类型的信息。
(9)优先采用“模拟”的方式显示信息。
(10)有高效的显示空间。
编辑ppt
25
5.3.3 界面设计指南
3.数据输入的设计指南 (1)减少用户输入动作数量。 (2)消除冗余输入。 (3)维护数据输入和信息显示的一致性。 (4)交互应该是灵活的。 (5)在当前动作的语境中使不适合的命令不起作用。 (6)让用户控制交互流。 (7)允许用户自定义输入。 (8)为所有的输入动作提供帮助。
编辑ppt
20
5.3.1 界面分析与设计
界面分析的过程如图5-11所示。
编辑ppt
21
5.3.1 界面分析与设计
用户特性度量与期望的用户使用模式,以及观测到的用户群体能力有关, 主要的衡量标准如下。
(1)用户使用的频度:即是否经常使用系统。 (2)用户是否能够自由选用界面:所有的界面都应当是良好的。 (3)用户对计算机的熟悉程度:对计算机的熟悉程度决定了使用户达到熟 练程度需要多少训练。 (4)用户知识:有些用户已有相当多的计算机编程和操作的知识,他们需 要一种灵活、可编程或包含命令语言的界面。 (5)用户思维能力:这是对用户的综合知识和智力的衡量。 (6)用户的生理能力和技能:主要指人的视觉、听觉、认知及记忆等方面 的特点,因此应该在这一方面去收集信息。
第5章 软件详细设计
5 . 1 结构化详细设计 5 . 2 结构化设计工具 5 . 3 人机界面设计 5 . 4 数据库设计 5 . 5 面向对象精化设计 5.6 编 码
编辑ppt
1
5.1 结构化详细设计
结构化程序设计的理念是在20世纪60年代由Dijkstra等人提出并加以完善的。 结构化的程序一般只需要用3种基本的逻辑结构就能实现,即顺序结构、选择结 构和循环结构,如图5-1所示。
编辑ppt
19
5.3 人机界面设计
5.3.1 界面分析与设计 1.美学规则 在有关界面设计的著作中,Theo Mandel创造了3条黄金原则 (1)置用户于控制之下 (2)减少用户的记忆负担。 (3)保持界面一致。 2.人机界面分析 人机界面的设计工作应与软件系统的需求分析工作同步进行,主要包括如 下几个过程。 (1)通过界面和系统交互的最终用户分析。 (2)最终用户为完成工作要做的任务分析。 (3)确定界面的类型。 (4)任务处理的环境。
相关文档
最新文档