软件工程ppt课件第06章详细设计.ppt

上传人:牧羊曲112 文档编号:6027888 上传时间:2023-09-16 格式:PPT 页数:62 大小:442.50KB
返回 下载 相关 举报
软件工程ppt课件第06章详细设计.ppt_第1页
第1页 / 共62页
软件工程ppt课件第06章详细设计.ppt_第2页
第2页 / 共62页
软件工程ppt课件第06章详细设计.ppt_第3页
第3页 / 共62页
软件工程ppt课件第06章详细设计.ppt_第4页
第4页 / 共62页
软件工程ppt课件第06章详细设计.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《软件工程ppt课件第06章详细设计.ppt》由会员分享,可在线阅读,更多相关《软件工程ppt课件第06章详细设计.ppt(62页珍藏版)》请在三一办公上搜索。

1、第五章 详细设计,详细设计阶段目标:确定应该怎样具体实现所要求的系统,设计出程序的“蓝图”,即设计出模块的处理过程(在编码阶段将描述转换成程序)关键技术:结构程序设计技术,1 结构程序设计技术,1965年,E.W.Dijkstra提出“取消GO TO语句”1966年,Bohm和Jacopini 证明了只用三种基本结构“顺序”、“选择”和“循环”就能实现任何单入口单出口的程序,为结构程序设计技术奠定了理论基础1968年Dijkstra 再次建议“取消GO TO语句”1972年IBM公司Mills提出,程序应该只有一个入口和一个出口,补充了结构程序设计的规则,1 结构程序设计技术,结构程序设计技术

2、:是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口和单出口的控制结构(取消GOTO语句),逐步求精的方法:对程序抽象分解,结构程序设计的优点:可以提高软件开发工程的成功率和生产率 开发出程序有清晰的层次结构,容易阅读和理解 程序静态结构和动态执行结构保持一致,易保持正确,出错易诊断和纠正 程序易测试 易重用(Reuse)利于程序的正确性证明,1、用户界面具备的特性2、用户特性分析3、用户界面任务分配4、界面设计的基本类型5、数据输入界面6、数据显示界面,2 用户界面设计,1可使用性(1)使用的简单性(2)用户界面中所用术语的标准化和一致性(3)快速的系统响应和低的系统成本(4)用

3、户界面的容错能力:错误诊断、修正错误及出错保护(5)拥有HELP功能2灵活性(1)考虑到用户的特点、能力、知识水平,应当使用户界面能满足不同用户的要求。(2)用户可以根据需要制定和修改界面方式(3)系统能够按照用户的希望和需要,提供不同详细程度的系统响应信息,包括反馈信息、提示信息、帮助信息、出错信息等。,一、用户界面具备的特性,(1)外行型:从未使用过计算机(2)初学型 对计算机有一些经验,但对新系统不熟悉的用户(3)熟练型 对一个系统有相当多的经验,能够熟练操作的用户。(4)专家型 了解系统内部的构造,专家型要求为他们提供能够修改和扩充系统能力的复杂界面。用户的类型不是一成不变的。,用户类

4、型 4种,二、用户特性分析,用户使用的频度用户需要自由选用界面的情况用户对计算机的熟练程度用户知识用户思维能力,用户特性度量,(1)检查数据流图,标出哪些是单独由计算机完成的任务,哪些是单独由人完成的任务,哪些是由两者共同完成的任务。(2)对于共同完成的任务,将任务的每一个动作分配给人或计算机。(3)计算机与人的协同动作,需要再进一步细化以确定人和计算机如何交互。,三、用户界面任务分配,四、界面设计的基本类型,菜单、图标(象)、对话、窗口、按钮等,1 菜单由系统预先设置好的,显示于屏幕上的一组或几组可供用户选用的命令(1)按照显示的形象或样式分类 1)正文菜单-系统命令或者其简写形式 简单正文

5、菜单的设置与选取方式 首字符匹配方式 序号匹配方式 亮条匹配方式,例1:通用设备信息管理系统 0 退出 1 数据编辑 2 设备检索 3 设备统计 4 报表打印 5 系统维护 请输入选择的功能号05:,2)图标菜单简称图标或图符 如:windows环境,(2)按照屏幕位置和操作风格分类,1)固定位置菜单(如:Turbo pascal TC),2)浮动位置菜单3)下拉式菜单4)嵌入式菜单如超文本,超级链接,3 图象用户的界面,加入丰富多彩的画面,形象地为用户提供有用的信息而达到可视化的目的。主要处理有:图象的隐蔽和再现、屏幕滚动和图案显示,包括动画。(1)图象的隐蔽和再现菜单显示时,将要被遮盖的区

6、域中原先的图象隐蔽起来。(2)屏幕滚动物理屏幕仅能容纳用户需要显示内容中的一部分,上卷、下卷(3)图案显示将设计好的图象以图象的方式存放在一个文件中,必要时再将其装入到内存并显示。,4 对话也称对话框三种对话形式(1)必须回答式(2)无须回答式(3)警告式,5 窗口 窗口指屏幕上一个矩形区域,视图区,用户可以通过窗口显示、观察虚拟屏幕,显示器为物理屏幕。屏幕上有多个窗口,只有一个活动窗口。窗口上配置部件。(1)菜单区(2)图标区(3)标题区(4)移动区(5)大小区(6)用户工作区(7)横向滚动区(8)纵向滚动区(9)退出区,五、数据输入界面1 数据输入的规则目标简化用户的工作,尽可能减少输入的

7、差错,可以通过以下方式减少用户的输入的工作量:对共同的输入内容设置默认值;使用代码或缩写自动填入已输过的内容或重复的内容;如果输入的内容是一个有限的备选集,可以采用列表选择或指点方式。,数据输入对话设计的一般规则(1)确认输入:只有当用户按下输入确认键时,才确认输入;(2)交互动作:使用TAB键或回车键控制表项间移动(3)明确取消:输入数据不要立即丢弃(4)确认删除(5)提供反馈:将用户先前输入内容仍保留在屏幕上(6)允许编辑(7)提供复原(Undo)(8)自动格式化:用户可以采用格式输入(9)提示输入范围,2 输入表格设计每种信息一个表项,并带有一个标题,提示输入信息内容及位置,用移位键或功

8、能键控制光标,在各个表项上输入数据。,规则:(1)数据验证要检查是否所有必需的项目都已填充,类型检查,数据值范围检查。三种结果:致命错误、警告、建议。验证信息一般显示在屏幕的某一固定位置,该位置是为出错控制特意保留的。(2)屏幕设计 通常把屏幕划分为数据输入、命令与出错处理三个区域。(3)信息提示 通知用户出错类型,出错信息不应只是显示语法错或者无效域等,而应当报告错误出在何处,是什么错误,为什么错了,以及要修改错误要采取什么措施,提示信息根据使用对象用相应术语。,六、数据显示界面1 数据显示的规则(1)安排显示的规则以一种逻辑方式把数据分组,根据使用频率、操作顺序或功能来分组,取决于用户需要

9、。(2)屏幕布局时考虑的规则1)少用代码和缩写,易于用户理解2)若安排若干个显示画面,最好建立一个统一的格式。3)提供明了的标题、栏题以及其他提示信息4)遵循用户的习惯5)采用颜色、字符大小、下划线或不同的字体等方式来强化重要数据,注意体现美观。,2 字符数据的显示正文、表格(1)纯正文的显示 英文正文中应避免连续使用大写字母,左边顶格,右边可参差不齐。(2)列表和表格栏题应安排在数据列之上,数据域应左边对齐,实数按小数点对齐,整数右边对齐*16168 123 231 21(3)控制显示用户应拥有一种获得不同显示画面的灵活手段;出现上下滚动、换屏控制显示时,前一次显示的部分内容应显示在新显示画

10、面的顶部或底部,以使用户感到连贯。,3 图形显示选择图形类型和布局设计(1)常用二维图形,(2)三维图形 三维直方图、三维饼图,3.工具 1、程序流程图(Program Flow Chart),5种基本控制结构为:,(1)顺序结构(sequential structure),(2)选择结构(selective structure),(3)先判定型循环结构(while-loop structure),(4)后判定型循环结构(until-loop structure),(5)多情况选择(case structure),3.工具,3.工具,任何复杂的程序流程图都应由以上五种基本结构组合而成。,缺点:

11、本质上不具备逐步求精的特点,对于提高 大型系统的可理解性作用甚微;不易表示数据结构;随意转移控制。,趋势:停止使用,优点:容易掌握,且历史“悠久”,使用广泛。,ISO 认可的规定符号:P.115 图 6.3,3.工具,2、盒图(Box Diagram):Nassi&Shneiderman 1973年提出,又称为N-S Charts。Chapin 1974年作扩充,故也称为Chapin charts.,3.工具,例:,a;b;if x1 then f;if x4 then I do until x5 else g;h else call k do until x6 j;,Case x2 1:do

12、 while x3 c2:d3:e Endcase,3.工具,特点:没有箭头,不允许随意转移控制;每个矩形框(Case中条件取值例外)都是一个功能域(即一个特定结构的作用域),结构表示明确;局部及全程数据的作用域易见;易表现嵌套关系(embedded structure)以及模块的层次结构。,3.工具,3、PAD(Problem Analysis Diagram):日立公司,1973,3.工具,例:N-S图与PAD的转换,3.工具,3.工具,特点:结构清晰,层次分明,易读;支持逐步求精的设计思想;容易将PAD自动转换为高级语言源程序。,3.工具,例:P.117 航空行李托运费的算法按规定:重量

13、不超过30公斤的行李可免费托运。重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。,4、判定表&判定树(Decision Table&Tree)表示复杂的条件(input)组合与应做动作(output)之间的对应关系。,3.工具,用判定树表示计算行李费的算法,3.工具,PROCEDURE spell_check IS BEGIN Split document into single words Look up words in dictionary Display words which a

14、re not in dictionary Create a new dictionary END spell_check,3.工具,5、PDL(Program Design Language):又称伪代码(Pseudo code).,例:,3.工具,应具备以下特点:有固定的关键词外部语法;,有数据说明,例如:TYPE number IS STRING LENGTH(12)TYPE table IS INSTANCE OF symbol_table,有子程序定义与调用机制,例如:PROCEDURE INTERFACE pseudocode lines END 调用时可用:PERFORM USIN

15、G,内部语法用自然语言描述;,抽象类型,优点:易于实现由PDL到源代码的自动转换。缺点:不够直观。,3.工具,6、文件夹:记录模块开发过程的文档。建议各组建立自己的文件夹。,项目名称:模块名称:开发人员:完成日期:模块简述:,3.工具,4.面向数据结构的设计方法,与SD的由DFD导出结构设计不同,JSD是以数据结构(data structure)为基础设计每个模块的处理过程。,1、Jackson图(Jackson Diagram):,注意:H中的方框表示模块,而JD中的方框代表几个语句构成的简单操作;H表现调用关系,而JD表现组成关系。,S(i),I(i),S(i),(1)加上判断条件,(2)

16、斜线改直线,改进的Jackson图,4.面向数据结构的设计方法,4.面向数据结构的设计方法,2、Jackson方法:,第一 为每对有对应关系的数据单元,在程序结构图的相应层次上画一个处理框第二 为输入数据结构中剩余的数据单元在程序结构图的相应层次分别画上对应的处理框第三 为输出数据结构中剩余的数据单元在程序结构图的相应层次分别画上对应的处理框,1.分析输入/输出数据结构,并用Jackson图表示,2.找出输入数据结构和输出数据结构之间的有对应关系的单元,3.用下述三条规则从描绘数据结构的Jackson图导出描绘程序结构的Jackson图:,4.列出所有操作,并分配到程序结构图的适当位置,5.用

17、伪码表示程序,A seq B C DA end,A select cond1 BA or cond2 CA or cond3 DA end,A iter until(或while)cond BA end,伪码表示,例:(P.123)一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是:每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。,4.面向数据结构的设计方法,第1步:用Jackson图描述 IO 的数据结构,第2步:在两个图中指出有直接因果关系(causality)、可以

18、同时处理的单元(重复的次序,次数均相同),4.面向数据结构的设计方法,经过程序处理由正文文件得到输出表格。,每处理输入中一个字符串后就得到输出中一个串信息,二者重复次序和次数均相同。,字符不与多字符组成的字符串对应。,单个空格不能决定空格数。,统计空格,分析字符*,注:顺序执行的处理中不允许混有重复执行或选择执行的处理。,第3步:Data structure Program structure,把有对应关系的单元合为一个处理框,画在相应的层次中(不同层以低层为准),第4步:列出所有操作条件,并分配到上幅程序结构图中,例:(部分列举,详见P.125),打开文件读入字符串空格总数totalsum=

19、0关闭文件停止I 文件结束,第5步:用Pseudocode 表示程序。(详见P.125-126),5.程序复杂程度的定量度量(Measuring Program Complexity),1、McCabes Theory(Thomas McCabe,1976)McCabe方法根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。,通常使用流图(也称为程序图)流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程(去除条件)。,当过程设计中包含复合条件时,(所谓复合条件,就是在条件中包含了一个或多个布尔运算符(逻辑OR,AND,NAND,NOR)),在这种情况

20、下,应该把复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点,将程序流程图转化为程序图,由PDL翻译成的流图,由包含复合条件的PDL映射成的流图,可以用下述3种方法中的任何一种来计算环形复杂度。(1)流图中的区域数等于环形复杂度。(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。,计算环形复杂度的方法,5.程序复杂程度的定量度量,环形复杂度=4,环形复杂度的用途程序的环形复杂度取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度

21、也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。McCabe研究大量程序后发现,环形复杂度高的程序往往是最困难、最容易出问题的程序。实践表明,模块规模以V(G)10为宜,也就是说,V(G)=10是模块规模的一个更科学更精确的上限。,2.Halstead方法(M.Halstead,1977)基于程序中运算符和操作数的总数,定义 n1 程序中不同运算符(包括关键字)个数 n2 程序中不同操作数(变量和常数)个数 N1 运算符总次数 N2 操作数总次数,注:成对出现的运算符,如 BEGINEND,IFTHENELSE 等都算1个运算符。,5.程序复杂程度的定量度量,Halsteads 方法:(1)实际程序长度(program length):N=N1+N2(2)预测程序长度(estimated length):H=n1log2n1+n2log2n2(3)包含错误个数:E=N log2(n1+n2)/3000,5.程序复杂程度的定量度量,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号