详细设计2教学内容_第1页
详细设计2教学内容_第2页
详细设计2教学内容_第3页
详细设计2教学内容_第4页
详细设计2教学内容_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、详细设计21 、详细设计介绍、详细设计介绍l详细设计的根本目标是:详细设计的根本目标是:l确定应该怎样具体地实现所要求的系统。确定应该怎样具体地实现所要求的系统。l经过这个阶段的设计工作,应该得出对目标系统经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。接翻译成用某种程序设计语言书写的程序。详细设计基本任务详细设计基本任务l主要确定每个模块具体执行过程,有:主要确定每个模块具体执行过程,有:l为每个模块进行详细的算法设计。为每个模块进行详细的算法设计。l为模块内的数据结构进行设计

2、。为模块内的数据结构进行设计。l对数据库进行物理设计。对数据库进行物理设计。l其他设计,如:代码设计、输入输出格式设计、其他设计,如:代码设计、输入输出格式设计、人机对话设计。人机对话设计。l编写详细设计说明书。编写详细设计说明书。l评审评审6 .1 结构程序设计(结构程序设计( SP )l一、什么是结构化程序?一、什么是结构化程序?l最早由最早由 E . W . Di jkstra 在在 60 年代中期提出。年代中期提出。l经典定义:如果一个程序的代码块仅仅通过经典定义:如果一个程序的代码块仅仅通过顺序、顺序、选择和循环选择和循环这这 3 种基本控制结构进行连接,而种基本控制结构进行连接,而

3、且每个代码块只有且每个代码块只有一个入口和一个出口一个入口和一个出口,则称这,则称这个程序是结构化的。个程序是结构化的。l比较全面的定义:结构程序设计是尽可能少用比较全面的定义:结构程序设计是尽可能少用 GOTO 语句的程序设计方法,最好仅仅在检测语句的程序设计方法,最好仅仅在检测出错误时才使用出错误时才使用 GOTO 语句,而且应该总是使语句,而且应该总是使用前向的用前向的 GOTO 语句。语句。二、结构化程序设计二、结构化程序设计(S P)主要原则主要原则l (1 )使用语言中的顺序、选择、重复等有限的基本控制使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。结构表示程序逻辑。

4、l ( 2 )选用的控制结构只准许有一个入口和一个出口。选用的控制结构只准许有一个入口和一个出口。 l( 3 )复杂结构应该用基本控制结构进行组合嵌套来实现。复杂结构应该用基本控制结构进行组合嵌套来实现。 l( 4 )严格控制严格控制 GOTO 语句,仅在下列情形才可使用:语句,仅在下列情形才可使用: 用一个非结构化的程序设计语言去实现一个结构化的构造。 在某种可以改善而不是损害程序可读性的情况下。l三、五种基本的结构化控制结构(程序流程图表三、五种基本的结构化控制结构(程序流程图表示示 )6 .2 入机界面设计入机界面设计l人机界面通常也称为用户界面人机界面通常也称为用户界面l用户界面友好性

5、用户界面友好性属软件性特性,独立于所有具体属软件性特性,独立于所有具体功能功能l用户界面是否友好很大程度由人的主观因素决定。用户界面是否友好很大程度由人的主观因素决定。l问:请说说你心目中友好的界面是怎样的?问:请说说你心目中友好的界面是怎样的?l用户界面应具备的特性用户界面应具备的特性l可使用性可使用性 如:使用简单、界面中所用术语应该标准化,并保持一致性;拥有 He lp 功能;较快的系统响应速度和较低的系统开销;具有容错能力。l灵活性灵活性 能满足不同用户的要求;可以制定和修改界面方式;能提供各类的系统响应信息,如反馈、提示、帮助、报错等;与其他软件系统应有标准的界面。l复杂性复杂性 在

6、完成预定功能的前提下,用户界面越简单越好。l可靠性可靠性 用户界面能保证用户正确、可靠地使用系统,保证有关程序和数据的安全性。6 . 2 .1 设计问题设计问题l在设计人机界面过程中,几乎总会遇到以下在设计人机界面过程中,几乎总会遇到以下 4 个问题:个问题: l 系统响应时间系统响应时间 l 用户帮助信息用户帮助信息 l 出错信息处理出错信息处理 l 命令交互命令交互l 系统响应时间系统响应时间l系统响应时间指从用户完成某个控制动作到软件系统响应时间指从用户完成某个控制动作到软件给出预期的响应之间的这段时间给出预期的响应之间的这段时间。有两个重要属。有两个重要属性:性:l长度:响应时间的长短

7、;长度:响应时间的长短;l易变性:响应时间相对于平均响应时间的偏差。易变性:响应时间相对于平均响应时间的偏差。l 用户帮助信息用户帮助信息l具体设计帮助信息时,应该解决以下问题:具体设计帮助信息时,应该解决以下问题:l在用户与系统交互期间,是否在任何时候都能获得关于系在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息?(全部或部分)统任何功能的帮助信息?(全部或部分)l用户怎样请求帮助?(帮助菜单、功能键、用户怎样请求帮助?(帮助菜单、功能键、 Help 命令)命令)l怎样显示帮助信息?(独立窗口、某个参考文档、屏幕固怎样显示帮助信息?(独立窗口、某个参考文档、屏幕固定位置

8、显示简短提示)定位置显示简短提示)l用户怎样返回正常的交互方式?(返回按钮、功能键)用户怎样返回正常的交互方式?(返回按钮、功能键)l怎样组织帮助信息怎样组织帮助信息 ? (通过关键字访问、层次结构、超文(通过关键字访问、层次结构、超文本结构)本结构) 出错信息处理出错信息处理l出错信息或警告信息应具有的属性:出错信息或警告信息应具有的属性:l是用户可以理解的术语是用户可以理解的术语l应该提高有助于从错误中恢复的建设性意见应该提高有助于从错误中恢复的建设性意见l信息应该指出错误可能导致哪些负面后果(如破信息应该指出错误可能导致哪些负面后果(如破坏数据文件)等坏数据文件)等l信息应该伴随视觉听觉

9、上的提示,如警告声等信息应该伴随视觉听觉上的提示,如警告声等l信息不能带有指责色彩信息不能带有指责色彩 命令交互命令交互l多数情况,用户应该既可以从多数情况,用户应该既可以从菜单菜单中选择命令,中选择命令,也可以通过也可以通过键盘键盘输入命令。输入命令。l提供命令交互应考虑的问题提供命令交互应考虑的问题:l是否每个菜单选项都有对应的命令?是否每个菜单选项都有对应的命令?l采用何种命令形式?(控制序列,如采用何种命令形式?(控制序列,如 ctrl ;功能键;键入命令)功能键;键入命令)l学习和记忆命令的难度多大?忘了怎么办?学习和记忆命令的难度多大?忘了怎么办?l用户是否可以定制或缩写命令?用户

10、是否可以定制或缩写命令?6 . 2 . 3 设计过程设计过程l用户界面设计是一个迭代的过程,包括以下步骤:用户界面设计是一个迭代的过程,包括以下步骤:6 . 2. 3 人机界面设计指南人机界面设计指南l界面分类界面分类l一、一般交互界面一、一般交互界面l二、信息显示界面二、信息显示界面l三、数据输入界面三、数据输入界面一、一般交互界面一、一般交互界面l1 、基本设计指南、基本设计指南l保持一致性;保持一致性;l提供有意义的反馈和帮助信息;提供有意义的反馈和帮助信息;l执行较大破坏性动作之前要求用户确认;执行较大破坏性动作之前要求用户确认;l允许犯错误,允许中断或撤销绝大多数操作;允许犯错误,允

11、许中断或撤销绝大多数操作; l 减少两次操作之间必须记忆的信息量;减少两次操作之间必须记忆的信息量;l按功能对动作分类,并据此设计屏幕布局按功能对动作分类,并据此设计屏幕布局l用简单动词或短语作为命令名用简单动词或短语作为命令名2 、交互界面的基本类型、交互界面的基本类型l菜单界面菜单界面l 对话对话 l 其他其他l菜单界面菜单界面l按显示形象分类:按显示形象分类:l正文菜单、图标菜单、正文图标混合菜单。正文菜单、图标菜单、正文图标混合菜单。l按屏幕位置和操作风格分类按屏幕位置和操作风格分类l固定、浮动、下拉式、嵌入式固定、浮动、下拉式、嵌入式l 对话框对话框l对话形式对话形式l必须回答式、无

12、需回答式、警告式必须回答式、无需回答式、警告式l对话实现方式对话实现方式l标准对话、定做式对话标准对话、定做式对话l其他其他l图像图像l窗口窗口l二、信息显示界面二、信息显示界面 l1 、界面显示的基本元素、界面显示的基本元素 l 数据数据l 字符字符l 图形图形l 报告报告2 、基本设计指南、基本设计指南l可用多种不同方式显示信息。如用图形表示数据可用多种不同方式显示信息。如用图形表示数据l只显示与当前工作内容有关的信息只显示与当前工作内容有关的信息l使用一致的标记、缩写和可预知的颜色。使用一致的标记、缩写和可预知的颜色。l使用使用窗口分隔窗口分隔不同类型的信息不同类型的信息l使用使用模拟方

13、式模拟方式表示信息。表示信息。界面举例网上红心大战界面举例网上红心大战三、数据输入界面三、数据输入界面l1 、基本设计指南、基本设计指南l尽量减少用户输入的动作尽量减少用户输入的动作l保持信息显示和数据输入的一致性保持信息显示和数据输入的一致性l允许用户自定义输人,如键盘输入或鼠标输入允许用户自定义输人,如键盘输入或鼠标输入l当前动作语境中,不适用的命令不起作用。当前动作语境中,不适用的命令不起作用。l让用户控制交互流,如用户能跳过不必要的动作让用户控制交互流,如用户能跳过不必要的动作l消除冗余的输入消除冗余的输入界面举例界面举例MSN界面举例界面举例6 . 3 过程设计的工具过程设计的工具l

14、( 1 )图形工具)图形工具l程序流程图程序流程图(FC)l盒图(盒图( NS ) l问题分析图问题分析图 ( PAD ) l( 2 )表格工具)表格工具l判定表判定表l判定树判定树 l(3)语言工具语言工具l过程设计语言(过程设计语言( PDL )6 . 3 . 1 程序流程图(程序流程图( FC )l又称程序框图。以图形方式说明系统中的控制流,是历史又称程序框图。以图形方式说明系统中的控制流,是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具。最悠久、使用最广泛的一种描述程序逻辑结构的工具。l优点:直观清晰、易于使用,是普遍采用的工具。优点:直观清晰、易于使用,是普遍采用的工具。l缺点:

15、缺点:l反映的是最后的结果,不易反映逐步求精的过程反映的是最后的结果,不易反映逐步求精的过程l可以随心所欲地画控制流程线的流向,容易造成非结构化可以随心所欲地画控制流程线的流向,容易造成非结构化的程序结构。的程序结构。l不易表示数据结构。不易表示数据结构。程序流程图的标准符号程序流程图的标准符号l请针对下面的语句段请针对下面的语句段l if(A(B|C)l x=1;lelse x=0;l画流程图画流程图6.3.2 盒图(盒图( N- S 图)图)l出于要有一种不允许违背结构程序设计精神的图形工具出于要有一种不允许违背结构程序设计精神的图形工具的考虑,的考虑, Nassi 和和 Shneider

16、man 提出用盒图代替传统提出用盒图代替传统的流程图,简称为的流程图,简称为 N 一一 S 图。图。l优点:优点:l只能描述结构化程序所允许的标准结构。只能描述结构化程序所允许的标准结构。l程序结构用方框表示,清晰可见。程序结构用方框表示,清晰可见。l缺点:缺点:l当程序内嵌套层数增多时,内层方块越画越小,增加了当程序内嵌套层数增多时,内层方块越画越小,增加了画图的困难,并使图形的清晰性受到影响。画图的困难,并使图形的清晰性受到影响。五种基本控制结构在盒图中的表示五种基本控制结构在盒图中的表示N 一一 S 图的嵌套定义形式图的嵌套定义形式盒图例盒图例1l日立公司发明。用二维树形结构的图来表示程

17、序的控制日立公司发明。用二维树形结构的图来表示程序的控制流,控制流程流,控制流程自上而下,从左往右自上而下,从左往右地执行。地执行。l优点:优点:l程序结构清晰,结构化程度高。程序结构清晰,结构化程度高。l支持自顶向下,逐步求精的设计方法。支持自顶向下,逐步求精的设计方法。l既可以表示程序逻辑,也可以描绘数据结构。既可以表示程序逻辑,也可以描绘数据结构。l用用PA D图表现程序逻辑,易读易写,使用方便。图表现程序逻辑,易读易写,使用方便。l容易转换成高级语言源程序,也可用软件工具实现自动容易转换成高级语言源程序,也可用软件工具实现自动转换。转换。6 .3.3 问题分析图(问题分析图( PAD

18、)五种基本控制结构在五种基本控制结构在PAD 图中的表示图中的表示PAD 描述的示例描述的示例6 . 3 .4 判定表判定表l判定表能够清晰地表示复杂的条件组合与应做的判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。动作之间的对应关系。l如果数据流处理时需要依赖多个逻辑条件的取值,如果数据流处理时需要依赖多个逻辑条件的取值,用判定表来描述比较合适。用判定表来描述比较合适。l一、判定表组成一、判定表组成l条件部分给出所有的条件部分给出所有的两分支判断的列表;两分支判断的列表;l动作部分给出相应的处理;动作部分给出相应的处理;例例 1 :检查发货单判定表:检查发货单判定表二、判定表的

19、应用二、判定表的应用l使用判断表进行数据处理说明使用判断表进行数据处理说明6.3.6 过程设计语言过程设计语言(process Design Language ,PDL)l也称伪码(也称伪码( pseudo code ) ,是一种介于自然,是一种介于自然语言和形式化语言之间的语言,用于描述功能模语言和形式化语言之间的语言,用于描述功能模块的块的算法设计算法设计和和处理细节处理细节的语言。的语言。l特点:易编写,易理解,容易转换成源程序。特点:易编写,易理解,容易转换成源程序。l例:商店业务处理系统中例:商店业务处理系统中“检查发货单检查发货单”l IF 发货单金额超过发货单金额超过 500 T

20、HEN l lF 欠款超过了欠款超过了 60 天天 THEN l 在偿还欠款前不予批准在偿还欠款前不予批准 l ELSE (欠款未超期)(欠款未超期)l 发批准书,发货单发批准书,发货单 l END IF lELSE (发货单金额未超过(发货单金额未超过 500 ) l IF 欠款超过欠款超过 60 天天 THEN l 发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告 l ELSE (欠款未超期)(欠款未超期)l 发批准书,发货单发批准书,发货单 l END IF lEND IFPDL 的特性的特性l1 )正文正文用严格的程序语言的基本用严格的程序语言的基本控制结构控制结构分割,称为分割,

21、称为“外语法外语法”,如,如 If Then E lse 、 While DO 、 Repeat Until 、 Case of 。 l2 ) 操作操作用自然语言表示,描述处理特点,称为用自然语言表示,描述处理特点,称为“内语内语法法”。l 3 )具有数据说明机制,包括简单的(如纯量和数组)具有数据说明机制,包括简单的(如纯量和数组)与复杂的(如链表或层次的数据结构)数据说明。与复杂的(如链表或层次的数据结构)数据说明。l 4 )具有模块定义和调用机制,因此开发人员应根据系)具有模块定义和调用机制,因此开发人员应根据系统编程所用的语种,说明统编程所用的语种,说明PDL 表示的有关程序结构。表示

22、的有关程序结构。例:数据字典中,使用例:数据字典中,使用 PDL 进行数据处进行数据处理的说明理的说明l处理名:核实订票处理处理名:核实订票处理l编号:编号: 3.2 l激活条件:收到取订票信息激活条件:收到取订票信息l处理逻辑处理逻辑: 1 、读订票旅客信息文件、读订票旅客信息文件l 2 、搜索此文件中是否有与输入信息中姓名及身份证号相、搜索此文件中是否有与输入信息中姓名及身份证号相符的项目符的项目 l IF 有有 l THEN 判断余项是否与文件中信息相符判断余项是否与文件中信息相符l IF 是是 THEN 输出已订票信息输出已订票信息 l ELSE 输出未订票信息输出未订票信息 l EN

23、DIFl ELSE 输出未订票信息输出未订票信息 l END I Fl执行频率:实时执行频率:实时PDL 优点优点l提供的机制比图形全面,为保证详细设计与编码提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。的质量创造了有利条件。l可作为注释嵌入在源程序中一起作为程序的文档,可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。有利于软件的维护。l可自动生成程序代码,提高软件生产率。可自动生成程序代码,提高软件生产率。6 .3 .5 判定树判定树l判定树是判定表的变种,能清晰表示复杂的条件

24、判定树是判定表的变种,能清晰表示复杂的条件组合与操作之间的关系,形式简单,不需要做任组合与操作之间的关系,形式简单,不需要做任何说明,是常见的系统分析工具。何说明,是常见的系统分析工具。l例例1:检查发货单的判定树:检查发货单的判定树“计算行李费计算行李费”的判定树的判定树面向数据流的结构化分析与设计方法总面向数据流的结构化分析与设计方法总结结6 .5 程序复杂程度的定量度量程序复杂程度的定量度量l1、软件复杂性、软件复杂性l是软件度量的一个重要分支。主要参数有:是软件度量的一个重要分支。主要参数有:l规模规模:即总共的指令数,或源程序行数。:即总共的指令数,或源程序行数。l难度难度:通常由程

25、序中出现的操作数的数目所决定的量来:通常由程序中出现的操作数的数目所决定的量来表示。表示。l结构结构:通常用与程序结构有关的度量来表示:通常用与程序结构有关的度量来表示l智能度智能度:即算法的难易程度。:即算法的难易程度。2 、程序复杂性、程序复杂性l软件复杂性主要表现在程序的复杂性,程序复杂软件复杂性主要表现在程序的复杂性,程序复杂性主要指模块内程序的复杂性。性主要指模块内程序的复杂性。l常见的定量度量软件复杂性的方法有:常见的定量度量软件复杂性的方法有:l代码行度量法代码行度量法lMcCabe度量法:又称环路度量法。度量法:又称环路度量法。 lHalstead 的软件科学的软件科学6 .

26、5 . 1 McCabe 方法方法lT . McCabe 的研究:的研究:lMcCabe 方法根据程序控制流的复杂程度定量方法根据程序控制流的复杂程度定量度量程序复杂程度,这样度量出的结果称为程序度量程序复杂程度,这样度量出的结果称为程序的环形复杂度。的环形复杂度。l一个程序的环形复杂度(一个程序的环形复杂度( cyclomatic complexity )取决于它的)取决于它的程序图程序图(流图流图) 包含的包含的判定结点的数量。判定结点的数量。1、什么是程序图、什么是程序图l一种简化了的流程图。一种简化了的流程图。程序图程序图(流图流图)仅描绘程序仅描绘程序的控制流程,完全不表现对数据的具体操作以及的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。分支或循环的具体条件。l流程图中的各种处理框(如加工框,判断框等),流程图中的各种处理框(如加工框,判断框等),都被简化成用圆圈表示的结点都被简化成用圆圈表示的结点l可由流程图导出码。或其他工具(可由流程图导出码。或其他工具( PAD 图、代图、代码等)变换获得。码等)变换获得。程序图的基本元素程序图的基本元素l符号符号“ O ”为程序图的为程序图的结点结点,表示一个或多个无,表示一个或多个无分支的语句;分支的语句;l箭头为箭头为边边,表示控制流的方向。,表

温馨提示

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

评论

0/150

提交评论