软件工程第六章 详细设计
发布时间:2024-04-16 10:04:58浏览次数:36软件工程主 题:第六章 详细设计的辅导资料(一)学习时间:2020 年 5 月 4 日--5 月 10 日第六章 详细设计这周我们将学习课件第六章,详细设计的 1、2、3 节。本章的学习要求及需要掌握的重点内容如下:一、熟悉和掌握过程设计的工具二、熟悉人机界面设计的一般方法三、了解面向数据结构的 Jackson 方法四、了解程序复杂度的定量度量 McCabe 方法五、掌握详细设计的方法和过程,能进行简单系统的详细设计六、了解软件详细设计说明书重点掌握内容:重点:过程设计方法和工具难点:简单系统的详细设计过程一、结构程序设计经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这 3 种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。更全面定义:结构程序设计是尽可能少用 GOTO 语句的程序设计方法。最
好仅在检测出错误时才使用 GOTO 语句,而且应该总是使用前向 GOTO 语句。3 种基本的控制结构:二、人机界面设计人机界面设计是接口设计的重要组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,必须对人机界面设计给予足够重视。 设计人机界面过程中会遇到的 4 个问题:系统响应时间用户帮助设施出错信息处理命令交互1. 系统响应时间系统响应时间指从用户完成某个控制动作,到软件给出预期的响应之间的这
段时间。系统响应时间有两个重要属性:长度和易变性。长度:如果系统响应时间过长,用户就会感到紧张和沮丧;系统响应时间过短会迫使用户加快操作节奏,从而可能会犯错误。易变性:指系统响应时间相对于平均响应时间的偏差,即使系统响应时间较长,响应时间易变性低也有助于用户建立起稳定的工作节奏。2. 用户帮助设施大多数现代软件都提供联机帮助设施,用户无须离开用户界面就能解决自己的问题。常见的帮助设施可分为集成的和附加的两类。集成的帮助设施设计在软件里面,它对用户工作内容是敏感的,用户可以从与刚刚完成的操作有关的主题中选择一个请求帮助。附加的帮助设施是在系统建成后再添加到软件中的,它实际上是一种查询能力有限的联机用户手册。集成的帮助设施优于附加的帮助设施。3. 出错信息处理出错信息和警告信息,是出现问题时交互式系统给出的“坏消息”。4. 命令交互多数情况下,用户既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能。在理想的情况下,所有应用软件都有一致的命令使用方法。用户界面设计是一个迭代的过程,也就是说,通常先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见进行修改。
为了支持上述迭代过程,各种用于界面设计和原型开发的软件工具应运而生。这些工具被称为用户界面工具箱或用户界面开发系统。三、过程设计的工具程序流程图程序流程图又称为程序框图,它是历史最悠久、使用最广泛的描述过程设计的方法。它的主要优点是对控制流程的描绘很直观,便于初学者掌握。程序流程图历史悠久,至今仍在广泛使用着。程序流程图中使用的符号:程序流程图的主要缺点:
程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。程序流程图不易表示数据结构。盒图(N-S 图)盒图具有下述特点:功能域明确。不可能任意转移控制。很容易确定局部和全程数据的作用域。很容易表现嵌套关系,也可以表示模块的层次结构。盒图的基本符号:N-S 图的优缺点:优点:功能域(作用域)明确
无 GOTO容易确定局部或全局数据的作用域容易表示嵌套关系,体现层次结构缺点:修改困难,特别在手工画时分支或嵌套多时不好画PAD 图PAD 是问题分析图(problem analysis diagram)的英文缩写,自 1973年由日本日立公司发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。PAD 图的基本符号PAD 图的主要优点如下:使用表示结构化控制结构的 PAD 符号设计出来的程序必然是结构化程序。
PAD 图所描绘的程序结构十分清晰。PAD 图表现程序逻辑易读、易懂、易记。 容易将 PAD 图转换成高级语言源程序,这种转换可用软件工具自动完成。即可表示程序逻辑,也可描绘数据结构。PAD 图的符号支持自顶向下、逐步求精方法的使用。判定表当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD 图或后面即将介绍的过程设计语言(PDL)都不易清楚地描述。判定表却能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。一张判定表由 4 部分组成:左上部列出所有条件;左下部是所有可能做的动作;右上部是表示各种条件组合的一个矩阵;右下部是和每种条件组合相对应的动作。判定表的优点:能清晰地表示复杂的条件组合与应做的动作之间的对应关系。判定表的缺点: 判定表的含义不是一眼就能看出来的,初次接触这种工具的人理解它需要有一个简短的学习过程。当数据元素的值多于两个时,判定表的简洁程度也将下降。判定树
判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。多年来判定树一直受到人们的重视,是一种比较常用的系统分析和设计的工具。判定树的优点:它的形式简单,一眼就可以看出其含义,因此易于掌握和使用。判定树的缺点:简洁性不如判定表,数据元素的同一个值往往要重复写多遍,而且越接近树的叶端重复次数越多。画判定树时分枝的次序可能对最终画出的判定树的简洁程度有较大影响。重要考点一、名词解释汇总1.系统响应时间:指从用户完成某个控制动作,到软件给出预期的响应之间的这段时间。2.系统响应时间的易变性:指系统响应时间相对于平均响应时间的偏差。二、简答题1. 假设某航空公司规定,乘客可以免费托运重量不超过 30kg 的行李。当行李重量超过 30kg 时,对头等舱的国内乘客超重部分每公斤收费 4 元,对其他舱的国内乘客超重部分每公斤收费 6 元。对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分
每公斤收费比正常乘客少一半。用判定表和判定树表示计算行李费的算法答案:判定表:判定树: