-应用软件设计与开发技术

上传人:宝路 文档编号:48010277 上传时间:2018-07-08 格式:PPT 页数:34 大小:844.66KB
返回 下载 相关 举报
-应用软件设计与开发技术_第1页
第1页 / 共34页
-应用软件设计与开发技术_第2页
第2页 / 共34页
-应用软件设计与开发技术_第3页
第3页 / 共34页
-应用软件设计与开发技术_第4页
第4页 / 共34页
-应用软件设计与开发技术_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《-应用软件设计与开发技术》由会员分享,可在线阅读,更多相关《-应用软件设计与开发技术(34页珍藏版)》请在金锄头文库上搜索。

1、第七章:应用软件设计与开发技术第七章:应用软件设计与开发技术1 软件工程概述2 软件详细设计的表达3 结构化分析与设计方法4 测试与调试基本技术5 软件开发其它技术1 1 软件工程概述软件工程概述1.1 软件工程的概念1.2 软件生命周期1.3 软件支持环境1.1 1.1 软件工程的概念软件工程的概念一、计算机软、硬件的发展计算机硬件指CPU、存储器、I/O设备、网络等。经历电子管、晶体管、集成电路和大规模集成电路、超大规模集成电路等四代的发展。第一代:硬件简单、软件也简单,个体化设计。第二代:硬件功能变强,软件开发变复杂,作坊式生产。第三代以后:硬件发展迅速,功能强大,软件发展成一门专门的学

2、科。 机器语言:0、1代码,计算机系统能识别的语言。 汇编语言:助记符代替0、1代码,帮助记忆。 高级语言:有一定的语法,接近人的语言习惯,方 便编程。 操作系统:解决人机对话、中断处理、多道作业等 基本问题以及计算机本身的管理,使人 更方便地使用计算机。 数据库: 对大量复杂数据的存储、检索、更新、删 除等进行管理,减少数据冗余,提高访问 效率。 网络软件:实现数据传送、资源共享、均衡加 载等。 多媒体软件:支持多样性输入输出。二、软件发展过程三、计算机资源虚拟计算机裸机 裸机:无任何软件的计算机。 虚拟计算机:计算机、外围设备及软件的总和。 计算机的资源:软件、硬件的总和。开始:软件就是程

3、序。早期:软件就是程序加文档。现在:软件是计算机程序、方法、规则、相关 文档以及在计算机上运行时所必需的数 据总和。四、软件的定义软件开发:软件发展迅速,功能不断强大,研制和开发越来越复杂,成本越来越高,因此 ,在开发时必须考虑到将来的更新、发展、移植、维护等因素,要求从技术和管理 两方面研究,更好地开发和维护计算机软件。五、软件工程软件工程:采用工程的概念、原理、技术和方法指导软件的开发和维护。主要利用工程学 中的生存周期法和各种结构分析方法和结构设计方法。1.2 1.2 软件生命周期软件生命周期软件工程注重研究如何指导软件生产全过程 的所有活动,以最终达到“在合理的时间、成本 等资源的约束

4、下,生产出高质量的软件产品”的 目标。软件的生存周期:软件从被提出、实现、运用直到完成其使命 的全过程。软件生存周期的几个阶段定义期开发期维护期 工作 问题的定义、可行 性研究、需求分析系统设计、详细设 计、编码及测试运行和 维护任务 明确问题是什么? 有解否?确定目标 系统的功能和信息 。确定系统方案、模 块划分、信息关系 ,编写代码程序并 通过测试改正、 适应、 完善、 预防 结果 和 文档调研报告、可行性 论证报告、系统功 能模型、信息模型 、需求分析报告软件结构图、程序 清单及说明、测试 结果及分析报告维护记 录、修 改说明 书一、软件支持环境指在宿主硬件和软件的基础上,用于辅助、支援

5、其他软件的研制和维护的一组软件。1.3 1.3 软件支持环境软件支持环境二、软件支持环境的功能、能够支持软件生成的全周期;、能够支持大型软件工程项目;、能够支持软件配置管理。、环境数据库; 、接口软件; 、工具组。三、软件支持环境的组成2 2 软件详细设计的表达软件详细设计的表达2.1 程序流程图2.2 NS图2.3 问题分析图PAD2.4 判定表2.5 过程设计语言PDL用图形、表格、语言等工具描述软件中各功 能的算法。2.1 2.1 程序流程图程序流程图2.2 NS2.2 NS图图S1S2S3条满足件 不满足S1S2条 件情况1情况2情况nS1S2SnWHILE条件SSUNTIL条件顺序结

6、构选择结构多选择结构当型循环结构直到型循环结构2.3 2.3 问题分析图问题分析图PADPAD2.4 2.4 判定表判定表12345条件是男同学TF平均分高于70分TF身高超过1.80米TF体重超过75千克TF动作列出姓名和住址X拒绝这个同学XXXX例:大学挑选男子篮球队队员。2.5 2.5 过程设计语言过程设计语言PDLPDL语言法描述程序的结构和算法。特点:1、用固定的语法说明程序的控制结构;2、用自然语言的自由语法来描述处理部分;3、具有数据说明手段;4、具有模块定义和调用的机制。3 3 结构化分析与设计方法结构化分析与设计方法3.1 应用软件开发的原则和方法3.2 结构化分析方法3.3

7、 结构化设计方法一、基本原则1、自上而下的系统结构开发原则分解系统、由高度抽象到逐步具体、形成一个树形结构,又称为层次结构。优点:优点:关系明了、简单,模块相对独立。 2、模块化结构开发原则系统分成若干子模块,整体结构不一定是树形结构,总功能用模块组合完成。优点:优点: 提高软件的可测试性和可靠性; 提高软件的可扩充性; 有助于开发过程的组织和管理。3.1 3.1 应用软件开发的原则和方法应用软件开发的原则和方法二、开发方法开发方法分成手动、半自动和自动开发方式。1、设计方法:自上而下构思,自下而上实现。自上而下:可读性好,可靠性高。自下而上:检查关键算法是否可行,返工少。2、设计风格:保证程

8、序易读、易调试、易维护。选择合适的程序设计语言; 数据说明标准化;注意程序的效率(时间效率、空间效率)。4 4 测试与调试基本技术测试与调试基本技术4.1 测试的概念4.2 测试的过程4.3 测试的层次4.4 测试的方法4.5 调试4.1 4.1 测试的概念测试的概念一、测试的目的发现软件中的错误、给出软件可靠性鉴定。软件可靠性指在给定的时间和环境下 ,软件成功完成所指定功能的概率。 二、测试的特征 挑剔性:目的是发现错误。成功的测试是发现了至今未发现的错误。 完全测试的不可能性:测试只能证明软件有错,不能证明软件无错。 测试的经济性:测试要花费大量的人力、物力、时间。4.2 4.2 测试的过

9、程测试的过程一、静态测试:不执行程序,人工检查。检查编码错误、语法错误、逻辑错误。二、动态测试:执行程序,在运行过程中暴露错误。运行有无结果;对典型数据有无正确结果;对无效数据有无防范措施;对一切可能的数据是否出错。三、自动测试工具:用测试软件代替人工测试。4.3 4.3 测试的层次测试的层次一、模块测试测试模块接口、路径、错误处理能力、I/O功能等。二、整体测试测试模块之间的互相联系、互相影响等。三、高级测试功能测试、系统测试、验收测试、安装测试等。4.4 4.4 测试的方法测试的方法使用一些数据让软件运行,检查软件运行的结果是 否有问题。用于测试的数据叫测试用例,用尽可能少的 测试用例发现

10、尽可能多的错误。 一、测试用例的选择、选择测试用例时要同时预期程序运行的结果。、合理和不合理的数据都要选择。、检查程序是否做了该做和不该做的事。、保留有用的测试用例以便再测试。、系统地选择测试用例。、不要幻想程序是正确的。二、白箱法选择测试用例根据程序内部的逻辑结构来选择测试用例。、语句覆盖: 使程序中每条语句都执行一次。、分支覆盖:使程序中每个分支都通过一次。、条件覆盖:使程序中每条判定的每个条件都能取两种结果。、组合条件覆盖:使程序中每条判定条件的各种组合都出现一次。白箱法选择测试用例(续1)例: IF (ab.and.b=0) THEN x=x/aIF (a=2.or.x1) THEN

11、x=x+1a1 and b=0a=2 or x1x=x/ax=x+1ABDCEYesYesNoNo白箱法选择测试用例(续2)语句覆盖:a=2,b=0,x=任意值。分支覆盖:a=3,b=0,x=2; (测试路径ACE)a=1,x=1,b=任意值。(测试路径ABD)条件覆盖:a=2,b=1,x=1;a=1,b=0,x=3。组合条件覆盖: a=2,b=0,x=4;a=2,b=1,x=1; a=1,b=0,x=2; a=1,b=1,x=1。三、黑箱法选择测试用例输入条件有效等价类无效等价类分母不为零x5x=5分子合理x3 , x=3x3根据程序的功能来选择测试用例。1、等价类法 把所有输入分成几个等价

12、类,使每一类中的任一 数据用于测试时的效果一样,实际测试时,从每一类 中取一个数据作为测试用例。2、边值分析法程序错误往往出现在边界情况,测试用例选择 在边界。通常考虑的几个原则: 输入输出范围:输入输出范围:对范围的边界情况和稍微超出 范围的无效情况进行测试; 输入输出个数:输入输出个数:对最大个数、最小个数、稍多 于最大个数、稍少于最小个数进行测试; 输入输出为有序集:输入输出为有序集:对序列的第一个和最后一 个进行测试。边值分析法举例35X考虑边界分析法选择测试用例:X为整型数时:X=2, 3, 4, 5, 6X为实型数时:X=2.9, 3.0, 3.1, 4.9, 5.0, 5.13、

13、因果法输入为“因”,输出为“果”,根据因果关系导 出测试用例。4、错误推测法根据经验推测常出错的地方,从而导出测试用例。5、综合策略各种方法联合运用。4.5 4.5 调试调试一、调试的目的发现软件发生错误的位置,并改正错误。调试一般是程序员自己完成。二、常用方法1、检查存储器内容;2、插入调试语句(设置状态变量、设置计数 器、输出中间结果);3、借助调试工具、设断点等。三、调试策略、试探:猜测错误的可能位置;、回溯:从出现错误现象的地方开始沿程序流 程往回查找错误;、对分查找:从程序的中点检测是否出错,从 而判断错误在程序的前段还是后段;、归纳:从出错现象出发分析规律,找出错误 的位置;、演绎:假设出错的所有原因,逐步排除假设 ,最终找出错误。

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

当前位置:首页 > 中学教育 > 教学课件

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