太原科技大学软件工程考试重点

上传人:夏** 文档编号:558369529 上传时间:2022-10-31 格式:DOC 页数:30 大小:295KB
返回 下载 相关 举报
太原科技大学软件工程考试重点_第1页
第1页 / 共30页
太原科技大学软件工程考试重点_第2页
第2页 / 共30页
太原科技大学软件工程考试重点_第3页
第3页 / 共30页
太原科技大学软件工程考试重点_第4页
第4页 / 共30页
太原科技大学软件工程考试重点_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《太原科技大学软件工程考试重点》由会员分享,可在线阅读,更多相关《太原科技大学软件工程考试重点(30页珍藏版)》请在金锄头文库上搜索。

1、第六章详细设计1详细设计根本目标:确定如何具体实现所要求的系统。任务:不是具体编写程序,而是设计程序的 蓝图”。详细设计的结果决定最终程序代码的质量2结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。经典的结构程序设计:只允许使用顺序、IF_THEN_ELSE选择DO_WHILE 循环。3设计人机界面过程中会遇到的4个问题:1)系统响应时间系统响应时间指从用户完成某个控制动作,到软件给出预期的响应之间的这段时间。系统响应时间有两个重要属性:长度和易变性2)用户帮助设施大多数现代软件都提供联机帮助设施,用户无须离开用户界面就能解决自己的问题。常见的帮助设

2、施可分为集成的和附加的两类3)出错信息处理出错信息和警告信息,是出现问题时交互式系统给出的坏消息.4)命令交互多数情况下,用户既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能。界面设计评估周期5过程设计的工具:1)程序流程图:是一种描述程序的控制结构流程和指令执行情况的有向图缺点:程序流程图的缺点(1) 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。(2) 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。(3) 程序流程图不易表示数据结构。2) 盒图特点:(1) 功能域明确

3、,可以从盒图上一眼就看出来;(2) 不可能任意转移控制;(3) 很容易确定局部和全程数据的作用域;(4) 很容易表现嵌套关系,也可以表示模块层次结构3) PAD 图它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易特点:(1) 使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序;(2) PAD图所描绘的程序结构十分清晰;(3) 用PAD图表现程序,通俗易懂,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点;(4) 容易将PAD图转换成高级语言源程序,这种转换可以用软件工具自动完成;(5) 可用于表示程序逻辑,也可用于描绘数据结构

4、;(6) PAD图的符号支持自顶向下、逐步求精的方法。4) 判定表当算法中包含多重嵌套的条件选择时,用程序流程图、盒图、PAD图或后面即将介绍的过程设计语言(PDL)都不易清楚地描述判定表却能够清晰地表示复杂的条件组 合与应做的动作之间的对应关系。一个 判定表由四部分组成:-左上部列出所有条件-左下部是所有可能做的动作-右上部表示各种条件组合-右下部是和每种条件组合相对应的动作5) 判定树判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。6) 过程设计语言(PDL)过程设计语言(PDL)也称为伪码,它是用正文形式表示数据和处理过程的设计工具PDL的优点:(1) 可以

5、作为注释直接插在源程序中间;(2) 可以使用普通的正文编辑程序或文字处理系统来完成PDL的书写和编辑工作;(3) 现在已经有一些自动处理程序可以自动地把PDL生成程序代码。PDL的缺点:不如图形工具形象直观.6面向数据流的设计方法是根据数据流确定软件结构;面向数据结构的设计方法是根据数结构设计程序处理过程,对程序处理过程进行描述 。通常面向数据结构的设计方法的设计步骤如下:(1)画出系统中输入、输出数据对应的数据结构图 。(2)根据数据结构图,映射得到相应的程序结构图。(3)按照程序结构图,分析得到程序的详细过程性描述。7在面向数据结构的设计方法中,最典型的代表是 Jackson方法和 War

6、nier方法JACKSON方法的特点:优点:1、适合于层次结构表达;2、形象直观、可读性强;3、 同时表示数据结构和程序结构。缺点:不能直接在图上表示选择条件和循环结束条件。影响了图的表达能力,也不易直接把图翻译成程序,此外,框间连线为斜线,不易在行式打印机上输出。为了解决上述问题,本书建议使用图 6.11中给出的改进的Jackson图。Jackson结构程序设计方法由五个步骤组成:1) 分析并确定输入数据和输出数据的逻辑结构,并用Jacks on图描绘这些数据结构;2) 找出输入数据结构和输出数据结构中有对应关系的数据单元;3)用三条规则从描绘数据结构的Jackson图导出描绘程序结构的Ja

7、ckson图A.为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框B.根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框;C.根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框;4)列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置;5) 用伪码表示程序。8.程序复杂度定量度量方法是评介详细设计阶段模块质量的一种比较成熟的方法。计算环形复杂度的方法(1) 环形复杂度V (G)=流图中的区域数;(2) 环形复杂度 V (G)= E

8、 N+2 ,其中:E是流图中边的条数,N是结点数;(3) 环形复杂度 V (G)= P+ 1 ,其中:P为流图中判定结点的数目。环形复杂度的用途;:对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。第7章 实现1通常把编码和测试统称为实现。,是对设计的进一步编码:把软件设计结果翻译成用某种程序设计语言书写的程序具体化。测试:检测程序并改正错误的过程测试的目的:在软件投入运行之前,尽可能发现软件中的错误,并改正错误。2. 选择一种编程语言的理论标准 :1)有理想的模块化机制;2)可读性好的控制结构和数据结构 ;3)便于调试和提高软件可靠性 ;4)编译程序发现程序错误的能力强 ;5)有

9、良好的独立编译机制。3. 编码风格是指编程遵循的基本原则 。良好的编码风格有利于弥补语言的缺陷 ,编写出高 质量的软件。包括程序内部的文档 、数据说明、语句构造、输入/输出、效率等方面的问 题。4. 程序的效率是指程序的执行速度及程序所需占用的内存的存储空间。即程序的时空复杂 度。效率问题涉及3方面:(1)程序运行时间(2)存储器效率(3)输入输出效率5. 测试阶段的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的 软件系统交给用户使用。测试决不能证明软件是正确的 ,也不能证明错误的不存在,它只 能证明错误的存在6. 软件测试准则:1)所有测试都应该能追溯到用户需求 ;软件中

10、的问题根源可能在开发前期的各阶段解决、纠正错误也必须追 溯到前期工 作。2) 应该远在测试前就制定出测试计划;完成需求模型既可以着手制定测试计划,建立了设计模型之后就可以立即开始设计详细的测试方案。因此,在编码之前就可以对所有测试工作进行计划和设计。3)把Pareto原理应用到软件测试中Pareto (帕雷特:意大利经济学家)原则:也称为80/20法则,即:在众多现象 中,80%的结果取决于20%的原因。4)从小规模”测试逐步进行 大规模”测试;通常,首先重点测试单个程序模块,然后把测试重点转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。5)穷举测试是不可能的;穷尽测试:包含所有可能情

11、况的测试称为穷尽测试。6) 为了达到最佳测试效果,应该由独立的第三方从事测试工作。7测 试 方 法包括:静态测试和动态测试静态测试:基本特征是在对软件进行分析、检查和审阅,不实际运行被测试的软件 。静态测试约可找出3070%的逻辑设计错误。动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性。包括黑盒测试和白盒测试。动态测试的两个基本要素:被测试程序测试数据(测试用例)动态测试方法(1) 选取定义域有效值,或定义域外无效值;(2) 对已选取值决定预期的结果;(3) 用选取值执行程序;(4) 执行结果与预期的结果相比不吻合,则程序有错8如果知道产品的内部工作过程,可以通过测试来检验产品内

12、部动作是否按照规格说明书的规定正常进称为白盒测试。如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用 称为黑盒测试。9白盒测试的内容:对程序模块的所有独立执行路径至少测试一次、对所有的逻辑判定取真”与取假”的两种情况都能至少测试一次、在循环的边界和运行边界内执行循环体测试内部数据结构的有效性。黑盒测试的内容:Alpha/Beta Testing、菜单/帮助测试、发行测试、回归测试。黑盒测试优点适用于各阶段测试 从产品功能角度测试 容易入手生成测试数据白盒测试 可构成测试数据使特定程序部分得到测试 有一定的充分性度量手段 可获较多工具支持缺点某些代码得不到测试通常不易生

13、成测试数据 如果规格说明有误,则无法发现无法对未实现规格说明的部分进行测试 不易进行充分性测试工作量大,通常只用于单元测试,有应用局限10软件测试的步骤1).模块测试模块测试又称单元测试,它把每个模块作为单独的实体来测试。2) .子系统测试子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试3) 系统测试系统测试是把经过测试的子系统装配成一个完整的系统来测试。4) .验收测试验收测试把软件系统作为单一的实体进行测试(利用用户的实际数据测试)。5) 平行运行平行运行是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。11.单元测试通过编译系统检查并改正程序中所

14、有的语法错误。然后用详细设计模块说明为指南,对重要的控制路径进行测试,以便发现模块内部的错误。测试重点:1) .模块接口主要检查下述几个方面:参数的数目、次序、属性或单位系统与变元是否一致;是否修改了只作输入用的变元;全局变量的定义和用法在各个模块中是否一致。2) .局部数据结构局部数据说明、初始化、默认值等方面的错误。3) .重要的执行通路选择最有代表性、最可能发现错误的执行通路进行测试就是十分关键的。应该设计测试方案用来发现由于错误的计算、不正确的比较或不适当的控制流而造成的错误.4) .出错处理通路着重测试下述一些可能发生的错误:(1) 对错误的描述是难以理解的;(2) 记下错误与实际遇到的错误不同;(3) 在对错误进行处理之前,错误条件已经引起系统干预;(4) 对错误的处理不正确;5描述错误的信息不足以帮助确定造成错误的位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号