第6章_详细设计_第1页
第6章_详细设计_第2页
第6章_详细设计_第3页
第6章_详细设计_第4页
第6章_详细设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可行性研究需求分析总体设计详细设计编码测试运行/维护软件生命周期模型结构图软件生命周期模型结构图问题定义第6章 详细设计6.1 结构程序设计6.2 人机界面设计6.3 过程设计的工具6.4 面向数据结构的设计方法6.5 程序复杂程度的定量度量- 程序的质量与程序中所包含的GO TO 语句的数量成反比- Bohm和Jacopini证明了:3种基本的控制结构(顺序,选择,循环)就能实现任何单入口单出口的程序- “结构程序设计是尽可能少用GO TO语句的程序设计方法。最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句。”6.1 结构程序设计结构程序设计: 易读性易读性6.2

2、人机界面设计6.2.1设计问题1. 响应时间: 长度和易变性2. 用户帮助: 集成和附加, 上下文3. 出错信息: 如何办, 用户心理4. 命令交互: 多媒体(图,文,声,光), 自定义宏指令, CTRL6.2.2设计过程设计过程: 迭代迭代,原型原型,P122四个评估标准四个评估标准6.2.3人机界面设计指南人机界面设计指南1.一般交互指南(一致,确认,不同类型类型,UNDO,易记,层次,多媒体)2.信息显示指南(同1.)3.数据输入指南(尽量少,同1.) 1 1、可使用性、可使用性 使用简单使用简单 用户界面中所用术语的标准化和一致性用户界面中所用术语的标准化和一致性 具有具有HELP功能

3、功能 快速的系统响应和低的系统成本快速的系统响应和低的系统成本 具有容错能力具有容错能力 2 2、灵活性、灵活性 考虑用户的特点、能力、知识水平。考虑用户的特点、能力、知识水平。 提供不同的系统响应信息。提供不同的系统响应信息。 提供根据用户需求制定和修改提供根据用户需求制定和修改界面界面。 3 3、界面的复杂性与可靠性、界面的复杂性与可靠性 复杂性复杂性界面规模及组织的复杂程度。应该愈简单愈好。界面规模及组织的复杂程度。应该愈简单愈好。 可靠性可靠性指无故障使用的时间间隔。用户界面应该能够保指无故障使用的时间间隔。用户界面应该能够保 证用户正确、可靠地使用系统,及程序、数据的安全。证用户正确

4、、可靠地使用系统,及程序、数据的安全。 1 1、用户特性分析、用户特性分析 用户模型用户模型 了解所有用户的技能和经验,针对用户能力设计或更改界面。了解所有用户的技能和经验,针对用户能力设计或更改界面。从以下方面分析:从以下方面分析: 用户类型用户类型通常分为:外行型、初学型、熟练型、专家型。通常分为:外行型、初学型、熟练型、专家型。 用户特性度量用户特性度量与用户使用模式和用户群体能力有关。与用户使用模式和用户群体能力有关。 包括:用户使用频度、用户用机能力、用户的知识、思维能力等。包括:用户使用频度、用户用机能力、用户的知识、思维能力等。2 2、用户界面的任务分析、用户界面的任务分析 任务

5、模型(任务模型(DFDDFD图)图) 是对系统内部活动的分解,不仅要进行功能分解(用是对系统内部活动的分解,不仅要进行功能分解(用DFDDFD图描图描述),还要包括与人相关的活动。每个加工即一个功能或任务。述),还要包括与人相关的活动。每个加工即一个功能或任务。3 3、确定用户界面类型、确定用户界面类型 正文菜单、图标菜单、正文和图标混合菜单,如:开始正文菜单、图标菜单、正文和图标混合菜单,如:开始菜单。菜单。 从用户角度出发,用户界面设计的类型主要有问题描述语言,数据表格、从用户角度出发,用户界面设计的类型主要有问题描述语言,数据表格、图形与图标、菜单、对话框及窗口等。每一种类型都有不同的特

6、点和性能。讨图形与图标、菜单、对话框及窗口等。每一种类型都有不同的特点和性能。讨论以下类型:论以下类型: 固定位置、浮动位置(弹出)、下拉式、嵌入式固定位置、浮动位置(弹出)、下拉式、嵌入式图 混合菜单图3.55 固定及下拉菜单固定菜单固定菜单下拉菜单下拉菜单 在用户界面中,加入丰富多彩的画面,将能够更加行象地为用户提供有用的信在用户界面中,加入丰富多彩的画面,将能够更加行象地为用户提供有用的信息,以达到可视化的目的。主要的处理操作有:图象的隐蔽和再现、屏幕滚动和息,以达到可视化的目的。主要的处理操作有:图象的隐蔽和再现、屏幕滚动和图案显示、动画等。图案显示、动画等。 对话框是在需要时,显示在

7、屏幕上一个矩形区域内的图形和正文信息。通过对话框是在需要时,显示在屏幕上一个矩形区域内的图形和正文信息。通过对话,实现系统和用户之间的通信。对话,实现系统和用户之间的通信。对话框显示的方式与弹出式菜单类似,即瞬时弹出。同时,系统还应将对话对话框显示的方式与弹出式菜单类似,即瞬时弹出。同时,系统还应将对话框所覆盖的原图象进行保存,以便在对话结束后能立即恢复。框所覆盖的原图象进行保存,以便在对话结束后能立即恢复。有三种对话形式:有三种对话形式:必须回答式如图必须回答式如图3.58所示所示无需回答式无需回答式 如图如图3.59所示所示警告式警告式 如图如图3.60所示所示图3.58 必须回答式对话框

8、图3.59 无需回答式对话框图3.60 警告式对话框4 4、窗口(、窗口(windowwindow) 图形学中称为视图区(图形学中称为视图区(ViewportViewport),视为虚拟屏幕。一个实用窗口,可包),视为虚拟屏幕。一个实用窗口,可包含部件:含部件: 菜单区(菜单区(menu barmenu bar) 图标区(图标区(icon baricon bar) 标题区(标题区(title bartitle bar) 移动区(移动区(move barmove bar) 大小区(大小区(size barsize bar) 退出区(退出区(quit barquit bar) 用户工作区(用户工作

9、区(users work barusers work bar) 横向滚动区(横向滚动区(horizontal scroll barhorizontal scroll bar) 纵向滚动区(纵向滚动区(vertical scroll barvertical scroll bar)图3.61 窗口数据输入界面,是系统的重要组成部分。主要从数据输入界面,是系统的重要组成部分。主要从输入速度输入速度和和减减少出错率少出错率考虑。考虑。1、尽量减少输入工作量、尽量减少输入工作量 对相同内容输入设置默认值对相同内容输入设置默认值 自动填入自动填入 列表选择或点击选择列表选择或点击选择2、输入屏幕与输入格式

10、匹配、输入屏幕与输入格式匹配 即屏幕显示按照数据使用频率、重要性、次序等组织。即屏幕显示按照数据使用频率、重要性、次序等组织。3、数据输入的一般规则、数据输入的一般规则确定输入确定输入交互动作交互动作确定删除确定删除提供反馈提供反馈6.3 过程设计的工具 程序流程图程序流程图 盒图盒图 PAD图图 判定表判定表 判定树判定树 过程设计语言过程设计语言6.4 面向数据结构的程序设计方法面向数据结构的程序设计方法 Jackson图图 Jackson程序设计方法程序设计方法 Jackson方法的应用方法的应用6.46.5 程序复杂程度的定量度量程序复杂程度的定量度量 McCabe 方法方法 Hals

11、tead 方法方法6.5结构化程序设计 A B ( a ) 顺 序 结 构 ( b ) 选 择 结 构 B e x p A F T e x p A T F e x p A F T ( c ) 循 环 结 构 或 三种基本的控制结构 结构化程序设计 结构化程序设计结构化程序设计技术是一种设计程序的技术。技术是一种设计程序的技术。 它采用它采用自顶向下逐步求精自顶向下逐步求精的设计方法和单入口单出的设计方法和单入口单出口的控制结构,并且只包含口的控制结构,并且只包含顺序、选择和循环顺序、选择和循环三种三种控制结构。控制结构。 实际上用实际上用顺序结构和循环结构顺序结构和循环结构完全可以实现选择结完

12、全可以实现选择结构,因此,理论上最基本的控制结构只有两种。构,因此,理论上最基本的控制结构只有两种。 DO CASE I (a) DO_UNT IL 型循环结构 exp A F T CASE 1 CASE 2 CASE n (b) DO_CASE 型多分支结构 其他常用的控制结构 6.3 过程设计的工具 程序流程图 盒图 PAD图 判定表 判定树 过程设计语言程序流程图 起止端点 数据 处理 准备或预处理 预先定义的处理 条件判断 循环上界限 循环下界限 文档 流线 虚线 省略符 并行方式 注释 外接 内接 程序流程图中常用的符号 判断正整数A是否为质数?输入AA=1A=2b=2A mod b

13、=0b=b+1b=AA不为质数A不为质数A为质数A为质数TTTTFFFF盒图(N_S图) 值 1 C ase1 部 分 C ase 条 件 第 一 个 任 务 第 二 个 任 务 第 三 个 任 务 (a) 顺 序 结 构 F 条 件 T ELSE 部 分 T HEN 部 分 (b) 选 择 结 构 (c) 多 分 支 结 构 循 环 条 件 DO_W HILE 部 分 循 环 条 件 DO_UNT IL 部 分 (d) 循 环 结 构 A (e) 调 用 子 程 序 A 值 2 C ase2 部 分 值 n C asen 部 分 N-S图的基本符号 盒图有以下一些特点: 功能域功能域(即某一

14、个特定控制结构的作用域)有明确(即某一个特定控制结构的作用域)有明确的规定,并且可以很直观地从的规定,并且可以很直观地从N-S图上看出来;图上看出来; 它的它的控制转移控制转移不能任意规定,必须遵守结构化程序不能任意规定,必须遵守结构化程序设计的要求;设计的要求; 很容易确定局部数据和全局很容易确定局部数据和全局数据的作用域数据的作用域; 很容易表现很容易表现嵌套嵌套关系,也可以表示模块的层次结构关系,也可以表示模块的层次结构。盒图练习 利用盒图判断正整数A是否为质数?输入A,K=0A=1FTA=2Fb=2A mod b = 0b=b+1TFK=1K=1TDO-UNTIL( b=A or K=

15、1)K=0TFA不为质数A为质数PAD图 A B (a) 顺 序 结 构 A B P (b ) 选 择 结 构 W H IL E P S (c) W H IL E 型 循 环 结 构 U N T IL P S (d ) U N T IL 型 循 环 结 构 A 1 A 2 P = A n P 1 P 2 P n (e) 多 分 支 结 构 (f) 语 句 标 号 (g ) 定 义 PAD图的基本符号 PAD图提供的定义功能 A C B1 B2 P1 WHILE P3 C4 C def C1 C2 C3 P2 判定表 12345 TFFF FTFF FFTF FFFTTFFFF 所所有有条条件件

16、可可能能的的动动作作各种组合各种组合相应的动作相应的动作 12345教授 TFFF副教授 FTFF讲师 FFTF助教 FFFT讲座TFFFF50 30 25 20 15 例:某校制定了例:某校制定了教师的讲课课时津贴教师的讲课课时津贴标准。对于各种性质标准。对于各种性质的的讲座讲座,无论教师是,无论教师是什么职称,每课时津什么职称,每课时津贴费一律是贴费一律是50元;而元;而对于一般的对于一般的授课授课,则,则根据教师的职称来决根据教师的职称来决定每课时津贴费:定每课时津贴费:教教授授30元,元,副教授副教授25元,元,讲师讲师20元,元,助教助教15元。元。练习 假设某航空公司规定,乘客可以

17、假设某航空公司规定,乘客可以免费免费托运重托运重量不超过量不超过30公斤的行李。当行李重量超过公斤的行李。当行李重量超过30公斤时,对公斤时,对头等舱头等舱的的国内乘客超重部分国内乘客超重部分每公每公斤收费斤收费4元,对其他舱的国内乘客超重部分元,对其他舱的国内乘客超重部分每公斤收费每公斤收费6元,对元,对外国外国乘客超重部分每公乘客超重部分每公斤收费比国内乘客斤收费比国内乘客多一倍多一倍,对,对残疾乘客残疾乘客超重超重部分每公斤收费比正常乘客部分每公斤收费比正常乘客少一半少一半。用判定。用判定表表示。表表示。判定树 课时津贴 一般授课 讲座 教授 副教授 讲师 助教 30 25 20 15

18、50 教师课时津贴判定树过程设计语言(过程设计语言(PDL) PDL也称为也称为伪码伪码,是用正文形式表示数据和,是用正文形式表示数据和处理过程的设计工具。处理过程的设计工具。 请思考请思考PDL的优、缺点?的优、缺点?PDL的优、缺点的优、缺点 优点:优点: 可作为注释直接插在源程序中;可作为注释直接插在源程序中; PDL的编辑方便;的编辑方便; 已有自动处理程序存在。已有自动处理程序存在。 缺点:缺点: 不如图形工具形象直观;不如图形工具形象直观; 不如判定表清晰。不如判定表清晰。6.4 面向数据结构的程序设计方法面向数据结构的程序设计方法 Jackson图图 Jackson程序设计方法程

19、序设计方法 Jackson方法的应用方法的应用Jackson 图 A C B D (a) 顺序结构 A Co Bo Do (b) 选择结构 A B* (c) 重复结构 Jackson图表示方法图表示方法 Jackson图例子 某仓库管理系统每天要处某仓库管理系统每天要处理大批单据组成的事务文理大批单据组成的事务文件。件。 单据分为订货单和发货单单据分为订货单和发货单两种,每张单据由多行组两种,每张单据由多行组成,成, 订货单每行包括零件号、订货单每行包括零件号、零件名、单价、数量等四零件名、单价、数量等四个数据项,个数据项, 发货单每行包括零件号、发货单每行包括零件号、零件名、数量等三个数据零

20、件名、数量等三个数据项。项。 请用请用Jackson图表示该事图表示该事务文件的数据结构。务文件的数据结构。事务文件单据 *订货单 0订货行 *零件号零件名单价数量发货单 0发货行 *零件号零件名数量事事务务文文件件的的J Ja ac ck ks so on n图图Jackson图的优点 Jackson图不仅便于表示图不仅便于表示层次结构层次结构,而且也有利于,而且也有利于对结构自顶向下分解;对结构自顶向下分解; Jackson图形象图形象直观直观,可读性好;,可读性好; Jackson图不仅能表示图不仅能表示数据结构数据结构,也能表示,也能表示程序结程序结构构(因为程序结构也可以由上述(因为

21、程序结构也可以由上述3种基本结构组成种基本结构组成)。)。Jackson图的缺点 在选择结构和重复结构中,选择条件或循环结在选择结构和重复结构中,选择条件或循环结束条件不能直接在束条件不能直接在Jackson图中表示出来。这样图中表示出来。这样就影响了图形的表达能力,也不利于直接把图就影响了图形的表达能力,也不利于直接把图翻译成程序。翻译成程序。改进的Jackson图(一) (a) 顺序结构 A C B D (b) 选择结构 A Co Bo Do S(i) 改进的Jackson图(二)I(i) (c) 可选结构 A Bo _o S(i) A B* (d) 重复结构 Jackson图实质上是对层

22、次方框图的一种精图实质上是对层次方框图的一种精化。化。 虽然两者形式相当类似,但是含义却很不相虽然两者形式相当类似,但是含义却很不相同:同:Jackson程序设计方法例:高考后将考生的基本情况文件(简称考生基本情况文件)和考生例:高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。件)。 考生基本情况文件和考分文件都是由考生记录组成的。考生基本情况文件和考分文件都是由考生记录组成的。 考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通考生基本情况文件中的考生记录

23、的内容包括:准考证号、姓名、通讯地址。讯地址。 考分文件中的考生记录的内容包括:准考证号和各门考分。考分文件中的考生记录的内容包括:准考证号和各门考分。 合并后的考生新文件自然也是由考生记录组成,内容包括:准考证合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。号、姓名、通讯地址和各门考分。Jackson程序设计方法由五个步骤组成:程序设计方法由五个步骤组成:1.数据结构表示分析、确定输入数据和输出数据的逻辑结构,并用分析、确定输入数据和输出数据的逻辑结构,并用Jackson图描述这些数据结构。图描述这些数据结构。 考考生生新新文文件件 考考生生记记录录*

24、 准准考考证证号号 姓姓名名 通通讯讯地地址址 考考分分 考考生生情情况况文文件件 考考生生记记录录* 准准考考证证号号 姓姓名名 通通讯讯地地址址 考考分分文文件件 考考生生记记录录* 准准考考证证号号 考考分分 I I (a) 输输入入数数据据结结构构 (b) 输输出出数数据据结结构构 I 2.找出输入数据结构和输出数据结构的对应关系 即有直接因果关系、在程序中可以同时处理即有直接因果关系、在程序中可以同时处理的数据单元。的数据单元。 考生情况文件 考生记录* 考生记录* 考生新文件 考分文件 考生记录* I I I 3.确定程序结构图 根据下述三规则,由根据下述三规则,由Jackson图

25、导出相应的程序结构图:图导出相应的程序结构图: (1)为每对有对应关系的数据单元,按照它们在数据结构)为每对有对应关系的数据单元,按照它们在数据结构图中所处的层次,在程序结构图中的图中所处的层次,在程序结构图中的相应层次画一个处理相应层次画一个处理框框; (2)对于)对于输入输入数据结构中数据结构中剩余剩余的数据单元,根据它们所处的数据单元,根据它们所处的层次,在程序结构图的相应层次为的层次,在程序结构图的相应层次为每个数据单元画上相每个数据单元画上相应的处理框应的处理框; (3)对于)对于输出输出数据结构中数据结构中剩余剩余的数据单元,根据它们所处的数据单元,根据它们所处的层次,在程序结构图

26、的相应层次为每个数据单元画上相的层次,在程序结构图的相应层次为每个数据单元画上相应的处理框。应的处理框。 实际上,这一步是一个综合的过程:每对有对应关系的数实际上,这一步是一个综合的过程:每对有对应关系的数据单元据单元合画合画一个处理框,没有对应关系的数据单元则一个处理框,没有对应关系的数据单元则各画各画一个处理框。一个处理框。 产生新文件 处理考生记录* 产生准考证号 产生姓名 产生通讯地址 产生考分 I 4.列出并分配所有操作和条件 列出所有操作和条件(包括分支条件和循环结束条件),列出所有操作和条件(包括分支条件和循环结束条件),并把它们分配到程序结构图的适当位置。并把它们分配到程序结构

27、图的适当位置。 操作:(操作:(1)停止;)停止; (2)打开两个输入文件;)打开两个输入文件; (3)建立输出文件。)建立输出文件。 (4)从输入文件中各读一条记录。)从输入文件中各读一条记录。 (5)生成一条新记录。)生成一条新记录。 (6)将新记录写入输出文件。)将新记录写入输出文件。 (7)关闭全部文件。)关闭全部文件。 条件:条件:I(1)文件结束。文件结束。 把操作和条件分配到程序结构图的适当位置把操作和条件分配到程序结构图的适当位置 产生新文件 处理考生记录* 分析考生记录 产生准考证号 产生姓名 产生通讯地址 产生考分 I(1) 3 2 4 7 1 6 5 4 1 停止;停止;

28、2 打开输入文件;打开输入文件;3 建立输出文件。建立输出文件。4 从输入文件中各从输入文件中各读一条记录。读一条记录。5 生成一条新记录。生成一条新记录。6 将新记录写入输将新记录写入输出文件。出文件。7 关闭全部文件。关闭全部文件。I(1)文件结束。)文件结束。5.用伪码表示程序Jackson方法中使用的伪码与方法中使用的伪码与Jackson图是完全对应的。针图是完全对应的。针对三种基本程序结构,有相对应的对三种基本程序结构,有相对应的Jackson伪码。伪码。 (1)顺序结构)顺序结构A seq B C DA end(a) 顺序结构 A C B D (2)选择结构)选择结构A selec

29、t cond1 BA or cond2 CA or cond3 DA end(3)重复结构)重复结构A iter until(或(或while) cond BA end (b) 选择结构 A Co Bo Do S(i) I(i) A B* (d) 重复结构 v用用Jackson伪码描述的程序:伪码描述的程序: 产生新文件产生新文件 seq打开两个输入文件打开两个输入文件从输入文件中各读一条记录从输入文件中各读一条记录分析考生记录分析考生记录iter until文件结束文件结束处理考生记录处理考生记录 seq产生准考证号产生准考证号产生姓名产生姓名产生通讯地址产生通讯地址产生考分产生考分生成一条

30、新记录生成一条新记录将新记录写入输出文件将新记录写入输出文件从输入文件中各读一条记录从输入文件中各读一条记录处理考生记录处理考生记录 end分析考生记录分析考生记录 end关闭全部文件关闭全部文件停止停止产生新文件产生新文件 end 6.5 程序复杂程度的定量度量程序复杂程度的定量度量 McCabe 方法方法 Halstead 方法方法 软件复杂性度量的参数很多,主要有:软件复杂性度量的参数很多,主要有:规模规模:总共的指令数或源程序行数;:总共的指令数或源程序行数;难度难度:通常由程序中出现的操作数数目所决:通常由程序中出现的操作数数目所决定的量来表示;定的量来表示;结构结构:通常用与程序结

31、构有关的度量表示;:通常用与程序结构有关的度量表示;智能度智能度:算法的难易程度。:算法的难易程度。6.5 程序复杂程度的定量度量McCabe方法 McCabe方法根据方法根据程序控制流程序控制流的复杂程度定的复杂程度定量度量程序的复杂程度,这样度量出的结果量度量程序的复杂程度,这样度量出的结果称为称为程序的环形复杂度程序的环形复杂度。 为了突出表示程序的控制流,人们通常使用为了突出表示程序的控制流,人们通常使用流图流图(也称为程序图也称为程序图)。 图图 4.4.1 程序流程图和程序图程序流程图和程序图 (a) 程序流程图程序流程图; (b) 程序程序图图 /流图流图123451067891

32、1(a)12,34,578961011(b)结点结点边边一条边必须终止于一个结点一条边必须终止于一个结点,在选择结构中的分支,在选择结构中的分支汇聚处即使无语句也应有汇聚结点汇聚处即使无语句也应有汇聚结点; 若判断中的逻辑表达式是若判断中的逻辑表达式是复合条件,应分解复合条件,应分解为一系为一系列只有单个条件的嵌套判断列只有单个条件的嵌套判断。 在转换时注意图图 4.4.2 复合条件下的程序图复合条件下的程序图 (a) 程序;程序; (b) 程序图程序图bXYa(b)if a or b then x else y(a)由由PDL翻译成的流图翻译成的流图1234657a7b87c1: do while records remain2: read record; if record field 1=03: then process record; store in buffer; incremert counter;4: elseif record field 2=05: then reset counter;6: else process record; store in file;7a: endif7b: endif7c: enddo8: end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论