惠州学院 软件工程导论 第六章

上传人:mar****e6 文档编号:188702006 上传时间:2023-02-20 格式:DOCX 页数:16 大小:302.73KB
收藏 版权申诉 举报 下载
惠州学院 软件工程导论 第六章_第1页
第1页 / 共16页
惠州学院 软件工程导论 第六章_第2页
第2页 / 共16页
惠州学院 软件工程导论 第六章_第3页
第3页 / 共16页
资源描述:

《惠州学院 软件工程导论 第六章》由会员分享,可在线阅读,更多相关《惠州学院 软件工程导论 第六章(16页珍藏版)》请在装配图网上搜索。

1、第六章详细设计一、详细设计概述1、目的:为软件系统的H图/SC图中的每一个模块确定采用的算法(处 理流程)和模块内数据结构,用某种选定的表达工具给出清晰的描述。2、任务:用一定的工具精确描述目标系统,从而方便在编码阶段可以把这 种描述直接翻译成用某种程序设计语言书写的程序。(1) 确定每一模块的算法(处理流程)(2) 确定每一模块使用的数据结构(3) 确定本模块的外部接口和用户界面(4) 为每一模块设计一组测试用例(单元测试计划)详细设计阶段的任务还不是具体地编写程序,而是要设计出程序 的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此, 详细设计的结果基本上决定了最终的程序代码的质

2、量。考虑程序代码 的质量时必须注意,程序的“读者”有两个,那就是计算机和人。详 细设计不仅要逻辑上正确地实现每个模块的功能,更重要的是设计出 的处理过程容易阅读和理解。二、结构化程序设计1、什么是结构化程序设计如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控 制结构进行连接,并且每个代码块是单入口、单出口的,则称这个程 序是结构化的。(2) 结构化程序设计是尽可能少用GO TO语句的程序设计方法。最好 仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO 语句。(3) 如果允许使用LEAVE(或BREAK)结构,则不仅方便而且会使效率提 高很多。LEAVE或BREAK结

3、构实质上是受限制的GO TO语句,用于转 移到循环结构外面的语句。(4) 如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这 3种基本控制结构,P5,则称为经典的结构程序设计;如果除了上述3 种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL 型循环结构,则称为扩展的结构程序设计;如果再加上允许使用 LEAVE(或BREAK)结构,则称为修正的结构化程序设计。2、结构化程序设计中基本的控制流程多情况选择型(CASE 型)后判定型循环(DO-UNTIL)先判定型循环 (DO-WHILE)三、人机界面的设计 1、重要性人机界面设计是接口设计的一个重

4、要的组成部分。对于交互式系 统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重 要。近年来,人机界面在系统中所占的比例越来越大,在个别系统中 人机界面的设计工作量甚至占总设计量的一半以上。人机界面的设计质量直接影响用户对软件产品的评价,从而影响 软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够重视。2、涉及到的4个问题:上系统响应时间 P1415 上用户帮助设施 P1517 上出错信息处理 P1819 上命令交互 P20223、界面设计过程创建设计模型I用原型实现设计模型根据用户意见进行修改由用户试用和评估7用户界面设计中原型设计是一种主要的方法,它是一个迭代的过 程:通常先

5、创建设计模型,再用原型实现这个设计模型。用户试用并 评估该原型,直接向设计者表述对界面的评价;设计者根据用户意见 修改设计并实现下一级原型。上述评估过程持续进行下去,直到用户 感到满意,不需要再修改界面设计时为止。4、人机界面设计指南-是总结众多设计者的经验得出的上一般交互指南-涉及信息显示、数据输入和系统整体控制,因此, 这类指南是全局性的,忽略它们将承担较大风险。P122,P2830上信息显示(输出)指南一一如果人机界面显示的信息是不完整的、含 糊的或难于理解的,则该应用系统显然不能满足用户的需求。可以用 多种不同方式“显示”信息:用文字、图形和声音;按位置、移动和 大小;使用颜色、分辨率

6、和省略。 P123,P3133上信息输入指南一一用户的大部分时间用在选择命令、键入数据和向 系统提供输入。在许多应用系统中,键盘仍然是主要的输入介质,但 是,鼠标、数字化仪和语音识别系统正迅速地成为重要的输入手段。 P123124, P3436在图形界面(或Web界面)环境下,在详细设计中要为每个功能模 块设计页面流程图(界面迁移图),并详细设计页面中的每个项目(为每 个数据项写数据字典或说明;为每个命令按钮、菜单命令写处理流程。)四、过程设计的工具描述程序处理过程的工具称为过程设计工具,它们可以分为图形、 表格、和语言3类。不论是哪类工具,对它们的基本要求都是能提供 对设计的无歧义的描述。即

7、:应该能指明控制流程、处理功能、数据 组织,以及其他方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码。以下介绍多种工具,设计时可根据模块的特点选择其中某一种或 某几种。1、程序流程图上基本符号(较完整的符号集合P125图6.3)处理 / j输入/出处理判定上子程序调用() 起始/结束 控制流可表示的控制结构见前图(结构化程序设计中基本的控制流程)。上举例上优缺点P38392、盒图(N-S图)上基本符号和表示的结构循环条件DO-WH1I 工部分卜、条件/ELSET1IEN部分部分第一个任务第二个任务第三个任务CASE条件/值1值2-CASE 1 部分CASE?部分 BCASE h

8、 部分(c)DO-UNTIL 部分循环条件(b)(打)顺序:0)选择:上举例(C) CASE多分支:(d)循环:(e)调用子程序AabXIfX2X4=i=2=3i X5DO-UNTILghDO-fflILE曷cdeDO-UNTIL X6+J上特点:P403、PAD 图P44上基本符号和表示的结构上举例 P47上优缺点 P43-P464、判定表和判定树上判定表的组成:P48上举例:航空公司托运行李例P4950另例:优先分信判定表判定树5年(-)表 示任意(Y)条件满足(N)条件不满足(+)选中的决策分房决策/晚婚一忧先分房、非晚婚一正帛分房中级/晚婚一忧先分房职称非晚婚一正常分房非中级够称不分房

9、不分房正常分房不分 信上特点:(1) 可以清楚表示条件组合和动作组合之间的关系(2) 判定树:是判定表的变化形式P5254(3) 不是通用的过程设计工具,宜作为辅助测试工具5、过程设计语言(PDL)用伪码表示过程算法;伪码是用英文保留字ifthenelse end if和whiledo end do等表示的控制结构和设计者本土语言文字所构成算法描述。也就是计算机算法描述中常提到的类高级语言(如类C语言)。上优点:更接近于程序上缺点:作为算法描述,不如框图形象上举例:PROCEDURE AddSalarylS BEGIN打开文件打印表头1-1while (1200) do 读一个工资记录 if

10、S36000 then S=36000end if用9更新工资文件中的Send if打印表中的一行end do关闭文件五、面向数据结构的设计方法1、概述前面介绍的SD方法,根据系统的数据流图,得到软件的总体结构; 而这里的面向数据结构的设计方法则是将一个模块内部的数据结构映 射得到模块的程序结构。上在许多应用领域中信息都有清楚的层次结构,输入数据、内部存储 的信息(数据库或文件)以及输出数据都可能有独特的结构。上数据结构既影响程序的结构,又影响程序的处理过程。如:重复、选择等处理。上面向数据结构的设计方法,最终是要得出对程序处理过程的描述。 上这种设计方法并不明显地使用软件结构的概念,模块是设

11、计过程的 副产品,对于模块独立原理也没有给予应有的重视。上这种方法最适合于在详细设计阶段使用,也就是说,在完成了软件 结构设计之后,可以使用面向数据结构的方法来设计每个模块的内部 处理过程。上面向数据结构的设计方法一般都包括下列任务:(1) 确定数据结构特征;(2) 用顺序、选择和重复三种基本形式表示数据;(3) 把数据结构表示映射为软件的控制结构;(4) 用与具体方法配套的设计指南进一步精化控制结构;(5) 开发软件的过程性描述。2、面向数据结构的Jackson方法Jackson方法由英国的M.Jackson提出,在西欧率先流行。这个方 法适用于数据处理类问题,特别是企事业管理的一类软件系统

12、。这类 问题的特点是,对于一个处理模块来说,输出数据往往是输入数据经 过变换得来的,有一定的对应关系。Jackson方法的目标是获得简单清晰的设计方案,因为这样的方案 易于理解、易于修改。为了达到这个目标,Jackson方法的设计原则是: 使程序结构同数据结构相对应。3、Jackson图和改进的Jackson图与其描述的结构P6168注意,这里描述的既可以是数据结构,也可以是程序结构!4、 Jackson方法的处理步骤:P70725、应用举例L模块功能及相关数据的描述P75L Jackson 方法(1) (2)画出输入输出数据结构的Jackson图,找出对应关系P76(3)从描绘数据结构的Ja

13、ckson图导出描绘程序结构的Jackson图1r =totalsum+sum:0打开文作(4)印出字衬串S(3)字符是(13) pointer s pointer-p7 1(2)字符串结束(5)用伪码表示程序处理过程P135136, P84864、Jackson 方法总结:(1) 从数据结构角度导出程序结构(2) 适合详细设计阶段使用,因为导出时并不考虑模块独立性(3) 该方法在设计比较简单的数据处理系统时特别方便,当设计比较 复杂的程序时常常遇到输入数据可能有错、条件不能预先测试、数据 结构冲突等问题。六、程序复杂程度的度量1、概述经过详细设计之后每个模块的内容都非常具体了,人们希望能够

14、定量度量软件的性质。程序复杂程度是软件的性质之一,它主要指模块内程序的复杂性。 它直接关联到软件开发费用的多少,开发周期的长短和软件内部潜伏 错误的多少。减少程序复杂性,可提高软件的简单性和可理解性,并 使软件开发费用减少,开发周期缩短,软件内部潜藏错误减少。定量度量程序复杂程度可以帮助我们:上把程序的复杂程度乘以适当常数即可估算出软件中错误的数量以 及软件开发需要用的工作量;上定量度量的结果可用来比较两个不同设计或两个不同算法的优劣; 上程序的定量的复杂程度可以作为模块规模的精确限度。2、 McCabe方法计算程序模块的环形复杂度 上工具:流图,退化了的程序流程图;P91-92上程序流程图映

15、射成流图:上PDL描述映射成流图:PDLprocedure: sort1: do whi le records remain2:read record;if record field 】=03: then process record; 5ilore in bufler; incremert counter;4:dseif record field 2=05:then reset counter;6:else process record;store in file;7a: endifendif7b: enddo8: end上计算复杂度的方法环形复杂度一一程序的逻辑复杂度;计算方法:(1)流图

16、中的区域数等于环形复杂度区域:由边和结点围成的面积称为区域。当计算区域数时应该包 括图外部未被围起来的那个区域。即流图的封闭区域数加1。 流图的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是 结点数。(3)流图的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。上环形复杂度表示的意义P963、Halstead方法-根据程序中运算符和操作数的总数来度量程序的 复杂程度计算方法:P9798在图形界面(或Web界面)环境下,尤其是在交互系统的中,一个 模块的页面数以及每个页面上的项目数,也是模块复杂程度度量的依 据。文档书写提示:1引言1.1简介(对详细设计说明作综述)1.

17、2编写目的(本设计说明的编写目的与阅读对象)1.3定义(提供正确理解本设计说明所必须的术语、缩写词和简 写的定义)1.4参考资料(列举编写本设计说明时所参考的资料或其它资 源) 2软件结构用表格的形式描述软件结构:每个模块的名称、编号、模块间的 调用和被调用关系。3模块详细设计针对表格中的每个模块(名称、编号),给出:功能说明性能说明输入/输出参数描述:每一个输入/输出参数的名称、标识、数 据的类型和格式、数据值的有效范围、输入/输出方式、数量 和频度、媒体、数据的来源和安全保密条件、对输出图形及符 号的说明等。算法:详细说明模块所选用的算法,具体的计算公式和计算步 骤。程序流程描述选择一种工

18、具,详细描述模块实现的算法用户界面、界面流用图的形式说明本模块所隶属的上一层模块及隶属于本模块 的下一层模块,说明参数赋值和调用方式,说明与本模块直接 关联的数据结构(数据库、数据文卷)。存储分配:根据需要,说明模块的存储分配。注释设计:说明准备在本模块中添加的注释,例如:加在模块首部的注释;加在各分支点处的注释;对各变量的功能、范围、默认条件等所加的注释;对使用的逻辑所加的注释等。限制条件:说明本模块运行中所受到的限制条件。测试要点:给出对本模块进行单元测试的主要测试要求,包括对测试的技术要求、输入数据、预期结果等的规定。尚未解决的问题七、详细设计阶段工作总结1、针对软件的每个模块设计内部处理逻辑,通过相应的图形或伪码工 具描述设计结果;2、针对软件的每个模块设计必要的用户界面,用原形或图形描述设计 结果;3、度量软件的复杂度,制定、修改测试计划4、导出的文档-详细设计说明书八、 本章作业P141 3,4,7对自选项目进行详细设计

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!