软件工程和软件开发基础PPT课件

上传人:20****03 文档编号:157211256 上传时间:2020-12-21 格式:PPT 页数:58 大小:502.28KB
返回 下载 相关 举报
软件工程和软件开发基础PPT课件_第1页
第1页 / 共58页
软件工程和软件开发基础PPT课件_第2页
第2页 / 共58页
软件工程和软件开发基础PPT课件_第3页
第3页 / 共58页
软件工程和软件开发基础PPT课件_第4页
第4页 / 共58页
软件工程和软件开发基础PPT课件_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《软件工程和软件开发基础PPT课件》由会员分享,可在线阅读,更多相关《软件工程和软件开发基础PPT课件(58页珍藏版)》请在金锄头文库上搜索。

1、,计算机与网络基础,本章要点,第5章 软件工程和软件开发基础,程序设计的基本过程,程序设计基础_概述,问题描述,算法设计,程序编制,调试运行,程序设计的基本过程,程序设计基础_概述,例如:求圆的面积和周长的程序设计, 分析问题。求圆的面积和周长需要知道圆的半径r,根据圆的半径求出圆的面积S和周长L并输出结果。 确定处理方案。求圆的面积数学公式是:S=r2,求圆的周长公式是:L=2r 确定操作步骤。求圆的面积和周长的算法描述为: 置pi=3.14159为常量 置 r为初值 计算面积S 计算周长L 输出结果S,L,程序设计的基本过程,程序设计基础_概述,例如:求圆的面积和周长的程序设计, 根据操作

2、步骤编写源程序。将上面求圆的面积和周长算法编写源程序如下(利用语言编写): define pi 3.14159 main() float r=3,S,L; S=pi*r*r; L=2*pi*r; printf(“S=%f,L=%fn”, S, L); 运行调试程序。 整理输出结果,写出相关文档。,把问题用计算机能够接受和处理的语言加以描述,并以一定的方式输入到计算机中的计算机语言。,程序设计语言,程序设计基础_概述,面向机器的语言 高级语言,程序设计语言的组成,程序设计基础_概述,程序设计语言,程序设计基础_概述,程序设计方法,第五章 软件工程和软件开发基础,结构化程序是由三种基本控制结构组成

3、:顺序结构、分支选择结构和循环结构,并且每一个程序块都遵循只有一个入口和一个出口的原则。,结构化程序设计,程序设计方法,一种最简单、最常见的结构,在这种结构内,每一程序块按照它们出现的顺序依次执行。,顺序结构,程序设计方法_结构化程序设计,从A入口出发,根据某一给定的条件,在两条可能的路径中选择一条路径执行,执行完从B出口输出。,分支选择结构,程序设计方法_结构化程序设计,if (xy) printf(“%d”,x); else printf(“%d”,y);,单分支选择结构,程序设计方法_结构化程序设计,if (xy) printf(“%d”,x);,if (xy) else printf(

4、“%d”,y);,多分支选择结构,程序设计方法_结构化程序设计,Switch(grade) case A :printf(“90100n”); case B :printf(“8089n”); case C :printf(“7079n”); case D :printf(“6069n”); ,循环结构,程序设计方法_结构化程序设计,i=1; while (i100) sum=sum+i; i+; ,结构化程序特点: 设计只有一个入口 只有一个出口 没有死语句 没有死循环,结构化程序设计,优点: 结构良好 程序易读 编程效率高,程序设计方法_结构化程序设计,面向对象程序设计是指基于每个系统或子

5、系统所操作的对象(而不是它准备赋予的功能)来得到软件的体系结构的方法。其思想实质是:不要问系统做什么,而是要问系统对什么进行操作!,面向对象的程序设计,程序设计方法_面向对象的程序设计,在现实生活中,所有东西都是对象,对象既可以很简单,也可以很复杂,复杂的对象可以由若干简单的对象构成。 任何对象都有两个共同的特点:对象的属性和对象的操作。,对象,程序设计方法_面向对象的程序设计,对象,程序设计方法_面向对象的程序设计,属性是用来描述对象的状态,对象的状态又称为对象的静态属性,包括对象内部所包含的信息。,例如:一个球对象有自己的质地、颜色、大小等。当给对象实施了某种操作后,其状态就会发生变化,这

6、一变化体现在信息的改变上。例如,改变球的颜色,其颜色属性得到改变。,对象,程序设计方法_面向对象的程序设计,对象,操作,对象名,属性,对象的操作又称为对象的行为,主要表述对象的动态属性。操作的作用是设置或改变对象的状态。,例如一个球可以滚动、停止或旋转等行为或操作。,封装就是把对象的属性和操作结合成一个不可分割的整体。封装的结果就是使一个对象形成接口和实现两个部分。对于用户来说,接口是可见的,实现是不可见的。封装是面向对象方法重要的机制,其目的是有效地实现信息隐藏原则。,封装,程序设计方法_面向对象的程序设计,封装,程序设计方法_面向对象的程序设计,类是一组具有相同属性和相同操作的对象的集合。

7、一个类中的每个对象都是这个类的一个实例。,类,程序设计方法_面向对象的程序设计,例如,定义了一个名为“球”的类,那么,足球、排球、篮球就是“球”类的一个个实例(对象)。,继承是表达类之间相似性的一种机制,即在已有的类的基础之上增加构造新的类,前者称为父类(或超类),后者称为子类。子类除自动拥有父类的全部属性和操作外,还可以进一步定义新的属性和操作。,继承,程序设计方法_面向对象的程序设计,优点:能清晰地体现相关类之间的层次结构关系;可以减少代码和数据的冗余,增加程序的复用能力。,继承,程序设计方法_面向对象的程序设计,属性(变量):发动机、方向盘、车轮、灯、油箱、颜色、几何尺寸及各种零件等,方

8、法(函数):开、停、倒退等。,“轿车类”:作为“汽车类”的子类,在继承“汽车”类的属性和方法外,加上一些新的特性,如车轮小,油箱小,限乘座5人等。,将人们在日常生活中习惯的思维方式和表达方式应用在程序设计中,以客观世界中的对象为中心,以类和继承为构造机制来进行软件开发活动。,面向对象程序设计的基本思想,程序设计方法_面向对象的程序设计,优点: 符合人们通常解决问题的思维方式;对象结构稳定;软件具有易于扩充、修改和维护的特性;可解决软件工程中的两个重要问题:软件复杂性控制和提高软件生产力。,软件工程基础,第五章 软件工程和软件开发基础,软件开发的实际成本和进度估计不准确 开发出来的软件常常不能使

9、用户满意 软件产品的质量不高,存在漏洞,需要打补丁 大量已有的软件难以维护 软件缺少有关的文档资料 软件的开发和维护成本不断提高 软件生产技术进步缓慢,跟不上硬件的发展,软件危机,软件工程基础,软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 指导思想是:以处理工程问题一样的方法处理软件生产的全过程,利用较少的投资获得高质量的软件产品。,软件工程,软件工程基础_软件工程概念,软件工程,软件工程基础_软件工程概念,软件的生命期是指从概念的形成直到所开发的软件在充分使用之后完全失去使用价值为止的整个过程。,软件的生命期,软件工程基础_软件的生命期,软件

10、定义时期,软件工程基础_软件的生命期,确定开发的总目标; 进行可行性研究; 制定实施计划。,对软件的需求进行精确定义; 对数据流进行分析; 写出功能说明书及用户手册。,软件开发时期,软件工程基础_软件的生命期,完成软件的模块结构及模块间的接口设计,以某一特定的程序设计语言表达设计阶段所确定的算法。,模块结构的细化,确定模块的内部实现算法。,对软件进行测试,发现并排除存在的错误。,通过软件的运行,发现和排除软件中存在的错误,并根据运行环境的变化,对软件进行改进、扩充。,软件维护时期,软件工程基础_软件的生命期,软件生命周期瀑布模型,软件开发方法和工具,软件开发方法就是指导研制软件的某种标准规程,

11、它告诉人们什么时候做什么,以及怎样做。 一个软件开发方法往往规定了明确的工作步骤、具体的描述方式及确定的评价标准。,软件开发方法,软件开发方法和工具_软件开发方法,软件开发方法,软件开发方法和工具_软件开发方法,几种流行的开发方法: 结构化方法; 原型法 ; 面向数据结构的软件开发方法 ; 面向问题的分析法 ; 面向对象的软件开发方法 ; 可视化开发方法 。,结构化方法又称为生命周期法或结构化生命周期法。是目前最成熟的软件开发方法。优点是有一套严格的开发流程,各开发阶段都要求有完整的文档记录。,结构化方法,软件开发方法和工具_软件开发方法,结构化方法的特点,软件开发方法和工具_软件开发方法,强

12、调需求定义的重要性,需求定义属性: 完备的:所有需求都必须加以适当的说明; 一致的:需求之间应该没有逻辑上的矛盾; 非冗余:不应有多余的、含混不清的需求说明; 可理解:参加的各方应能以一种共同的方式来解释和理解需求,需求是明确可辨的; 可测试:需求必须能够验证; 可维护:文档的组织应该是可灵活修改和易读的; 必要的:所规定的需求必须是用户所需要的; 正确的:需求应是准确完整的。,结构化方法的特点,软件开发方法和工具_软件开发方法,严格的预先定义方法,严格预先定义方法的前提: 所有的需求能被预先定义; 修改定义不完备的系统,代价一定是昂贵的、困难的; 参加项目的研制者之间能够进行清晰而准确的通信

13、和交流; 静态描述、图形模型对应用系统的反映是充分的; 生命周期的各阶段都是正确的。,结构化方法的需求定义是采用严格的、预先定义的方法,它试图完全彻底地预先指出合理的业务需求,并期待用户进行审查、评价、认可,在此基础上,再进行下一阶段的工作。,结构化方法的特点,软件开发方法和工具_软件开发方法,结构化方法的软件生命期,结构化方法的软件生命期分为以下阶段: 软件项目规划阶段; 需求分析阶段; 设计阶段; 编码阶段; 测试阶段; 维护阶段。,原型法,软件开发方法和工具_原型法,原型法一般有以下几个步骤: 确定用户需求; 开发原始模型; 征求用户对初始原型的改进意见; 修改原型。,软件工具(Soft

14、ware Tool)是指用来辅助计算机软件开发、维护和管理的软件。 使用软件工具能节省软件生产时间和费用,提高软件生产率和质量。,软件工具,软件开发方法和工具_软件工具,软件工具,软件开发方法和工具_软件工具,软件工具分类: 项目管理工具 配置管理工具 分析和设计工具 程序设计工具 测试工具 维护工具,软件的测试方法和调试,软件测试是为了发现程序中的错误而执行程序的过程。 目的是尽可能多地发现软件产品中的错误和缺陷,并改正程序中的错误,以保证程序的可靠运行。,软件测试,软件的测试方法和调试_软件测试,黑盒法与白盒法的概念,软件的测试方法和调试_软件测试,白盒法,黑盒法,把程序看成装在一个透明的

15、白盒子里,也就是人们完全了解程序的结构和处理过程,按照程序内部的逻辑结构,检验程序中的每条通路是否都能按照预定的要求正常工作。,软件测试,不管程序内部的结构,把程序看成一个黑盒子,只按照程序需求说明书规定的功能和性能正常使用,确认程序是否能适当地接受输入数据,并产生正确的输出。,如果对每种可能的情况都进行测试,就可以得到完全正确的程序,这种包含所有可能情况的测试称为穷尽测试。,穷尽测试,软件的测试方法和调试_软件测试,软件测试的基本原则,软件的测试方法和调试_软件测试,测试用例由输入数据和预期的输出结果两部分组成。 不仅要选择合理的输入数据作为测试用例,还应选用不合理的输入数据作为测试用例。

16、除了检查程序是否做了应做的工作之外,还应检查程序是否做了不应做的事。 应该长期保留所有的测试用例,直至这个程序系统被废弃不用为止。,软件测试的步骤,软件的测试方法和调试_软件测试,模块测试,组装测试,又称单元测试,检查每个模块是否有错误,主要发现编程和详细设计阶段的错误。,软件测试步骤,确认测试,又称综合测试,检查模块之间的接口的正确性,主要用于发现总体设计阶段的错误。,检查程序系统是否满足用户的功能性能要求,主要用于发现需求分析阶段的错误。,调试技术,软件开发方法和工具_软件的调试,方法:在测试中如果出现问题,应设法保留现场。然后把所有寄存器和主存中有关部分的内容输出,进行分析研究。 缺点:输出的是程序的静止状态(在某一时刻的状态),效率非常低,不得已才采用。,输出寄存器的内容,调试技术,软件开发方法和工具_软件的调试,方法:为取得关键变量的动态值,在程序中插入打印

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

当前位置:首页 > 办公文档 > PPT模板库 > 其它

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