应用软件设计与开发技术.ppt

上传人:小飞机 文档编号:6571848 上传时间:2023-11-13 格式:PPT 页数:34 大小:298.50KB
返回 下载 相关 举报
应用软件设计与开发技术.ppt_第1页
第1页 / 共34页
应用软件设计与开发技术.ppt_第2页
第2页 / 共34页
应用软件设计与开发技术.ppt_第3页
第3页 / 共34页
应用软件设计与开发技术.ppt_第4页
第4页 / 共34页
应用软件设计与开发技术.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《应用软件设计与开发技术.ppt》由会员分享,可在线阅读,更多相关《应用软件设计与开发技术.ppt(34页珍藏版)》请在三一办公上搜索。

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

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

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

4、存周期的几个阶段,一、软件支持环境 指在宿主硬件和软件的基础上,用于辅助、支援其他软件的研制和维护的一组软件。,1.3 软件支持环境,二、软件支持环境的功能、能够支持软件生成的全周期;、能够支持大型软件工程项目;、能够支持软件配置管理。,、环境数据库;、接口软件;、工具组。,三、软件支持环境的组成,2 软件详细设计的表达,2.1 程序流程图2.2 NS图2.3 问题分析图PAD2.4 判定表2.5 过程设计语言PDL,用图形、表格、语言等工具描述软件中各功能的算法。,2.1 程序流程图,2.2 NS图,顺序结构,选择结构,多选择结构,当型循环结构,直到型循环结构,2.3 问题分析图PAD,2.

5、4 判定表,例:大学挑选男子篮球队队员。,2.5 过程设计语言PDL,语言法描述程序的结构和算法。特点:1、用固定的语法说明程序的控制结构;2、用自然语言的自由语法来描述处理部分;3、具有数据说明手段;4、具有模块定义和调用的机制。,3 结构化分析与设计方法,3.1 应用软件开发的原则和方法3.2 结构化分析方法3.3 结构化设计方法,一、基本原则1、自上而下的系统结构开发原则 分解系统、由高度抽象到逐步具体、形成一个树形结构,又称为层次结构。优点:关系明了、简单,模块相对独立。2、模块化结构开发原则 系统分成若干子模块,整体结构不一定是树形结构,总功能用模块组合完成。优点:提高软件的可测试性

6、和可靠性;提高软件的可扩充性;有助于开发过程的组织和管理。,3.1 应用软件开发的原则和方法,二、开发方法,开发方法分成手动、半自动和自动开发方式。1、设计方法:自上而下构思,自下而上实现。自上而下:可读性好,可靠性高。自下而上:检查关键算法是否可行,返工少。2、设计风格:保证程序易读、易调试、易维护。选择合适的程序设计语言;数据说明标准化;注意程序的效率(时间效率、空间效率)。,4 测试与调试基本技术,4.1 测试的概念4.2 测试的过程4.3 测试的层次4.4 测试的方法4.5 调试,4.1 测试的概念,一、测试的目的 发现软件中的错误、给出软件可靠性鉴定。软件可靠性指在给定的时间和环境下

7、,软件成功完成所指定功能的概率。二、测试的特征 挑剔性:目的是发现错误。成功的测试是发现了至今未发现的错误。完全测试的不可能性:测试只能证明软件有错,不能证明软件无错。测试的经济性:测试要花费大量的人力、物力、时间。,4.2 测试的过程,一、静态测试:不执行程序,人工检查。检查编码错误、语法错误、逻辑错误。二、动态测试:执行程序,在运行过程中暴露错误。运行有无结果;对典型数据有无正确结果;对无效数据有无防范措施;对一切可能的数据是否出错。三、自动测试工具:用测试软件代替人工测试。,4.3 测试的层次,一、模块测试 测试模块接口、路径、错误处理能力、I/O功能等。二、整体测试 测试模块之间的互相

8、联系、互相影响等。三、高级测试 功能测试、系统测试、验收测试、安装测试等。,4.4 测试的方法,使用一些数据让软件运行,检查软件运行的结果是否有问题。用于测试的数据叫测试用例,用尽可能少的测试用例发现尽可能多的错误。一、测试用例的选择、选择测试用例时要同时预期程序运行的结果。、合理和不合理的数据都要选择。、检查程序是否做了该做和不该做的事。、保留有用的测试用例以便再测试。、系统地选择测试用例。、不要幻想程序是正确的。,二、白箱法选择测试用例,根据程序内部的逻辑结构来选择测试用例。、语句覆盖:使程序中每条语句都执行一次。、分支覆盖:使程序中每个分支都通过一次。、条件覆盖:使程序中每条判定的每个条

9、件都能取两种结果。、组合条件覆盖:使程序中每条判定条件的各种组合都出现一次。,白箱法选择测试用例(续1),例:IF(ab.and.b=0)THEN x=x/a IF(a=2.or.x1)THEN x=x+1,白箱法选择测试用例(续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。,三、黑箱法选择测试用例,根据程序的功能来选择测试用例。,1

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

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

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号