VFP第9章软件技术基础软件工程

上传人:博****1 文档编号:568291420 上传时间:2024-07-24 格式:PPT 页数:27 大小:1.39MB
返回 下载 相关 举报
VFP第9章软件技术基础软件工程_第1页
第1页 / 共27页
VFP第9章软件技术基础软件工程_第2页
第2页 / 共27页
VFP第9章软件技术基础软件工程_第3页
第3页 / 共27页
VFP第9章软件技术基础软件工程_第4页
第4页 / 共27页
VFP第9章软件技术基础软件工程_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《VFP第9章软件技术基础软件工程》由会员分享,可在线阅读,更多相关《VFP第9章软件技术基础软件工程(27页珍藏版)》请在金锄头文库上搜索。

1、2024/7/241一一. .软件工程的基本概念软件工程的基本概念1.1.软件工程定义:软件工程定义:v是开发、运行、维护和修复软件的系统方法;是开发、运行、维护和修复软件的系统方法;v是是采采用用工工程程化化的的原原理理与与方方法法对对软软件件进进行行计计划划、开开发和维护的过程;发和维护的过程;v是是运运用用现现代代科科学学技技术术知知识识来来设设计计并并构构造造计计算算机机程程序序及及为为开开发发、运运行行和和维维护护这这些些程程序序所所必必需需的的相相关关文文件资料。件资料。 2024/7/242v软软件件工工程程是是为为克克服服软软件件危危机机而而提提出出的的一一种种概概念念及及相关

2、方法和技术。相关方法和技术。v软软件件工工程程研研究究的的目目标标:以以较较少少的的投投资资获获取取较较高高质质量的软件产品。量的软件产品。v软软件件工工程程化化生生产产已已经经形形成成独独立立产产业业- -软软件件产产业业。软软件件已已成成为为产产品品,它它有有价价值值、有有市市场场、有有版版权权,受受到法律保护。到法律保护。2024/7/2432.2.软件危机软件危机( (software crisis)software crisis)v随着计算机应用需求的扩大,系统软件和应用随着计算机应用需求的扩大,系统软件和应用软件都有很大发展,软件开发规模越来越大,功软件都有很大发展,软件开发规模越

3、来越大,功能越来越强,生产过程越来越复杂,市场对软件能越来越强,生产过程越来越复杂,市场对软件需求量不断增大。需求量不断增大。v软件生产是一种资金密集、人力密集的智力劳软件生产是一种资金密集、人力密集的智力劳动,过去的软件开发模式和开发技术,以及个体动,过去的软件开发模式和开发技术,以及个体生产的管理经验已经远远不能适应软件生产的需生产的管理经验已经远远不能适应软件生产的需要,致使大型软件的生产出现了很大困难,因而要,致使大型软件的生产出现了很大困难,因而出现软件开发技术落后的软件危机。出现软件开发技术落后的软件危机。2024/7/244“软件危机软件危机”主要表现:主要表现:v软件需求增长得

4、不到满足;软件需求增长得不到满足;v软件生产高成本,价格昂贵;软件生产高成本,价格昂贵;v软件生产进度无法控制;软件生产进度无法控制;v软件需求定义不准确,偏离用户需求;软件需求定义不准确,偏离用户需求;v软件可维护性差,缺乏良好的软件文档等。软件可维护性差,缺乏良好的软件文档等。归结起来,软件危机主要表现在两方面:归结起来,软件危机主要表现在两方面:一一方方面面无无法法满满足足日日益益增增长长的的对对软软件件的的需需求求;另另一一方方面难以满足对已有的软件系统维护的需要。面难以满足对已有的软件系统维护的需要。2024/7/2453.3.软件工程学软件工程学v软件工程学是在克服软件工程学是在克

5、服6060年代末出现的年代末出现的“软件危机软件危机”的过程中逐渐形成与发展起来的一门交叉学科,的过程中逐渐形成与发展起来的一门交叉学科,它涉及到计算机科学、管理科学、工程学、数学等它涉及到计算机科学、管理科学、工程学、数学等学科。学科。v软件工程的理论、方法、技术是建立在计算机科软件工程的理论、方法、技术是建立在计算机科学基础上;运用数学方法建立软件的可靠性模型以学基础上;运用数学方法建立软件的可靠性模型以及实现其数学模型的算法;运用管理学的原理与方及实现其数学模型的算法;运用管理学的原理与方法进行软件生产管理;采用工程学的观点进行费用法进行软件生产管理;采用工程学的观点进行费用估算,制定工

6、程进度与实施方案。估算,制定工程进度与实施方案。2024/7/246二二. .软件生命周期软件生命周期1.1.软件的概念软件的概念v计算机软件指计算机程序以及开发、使用和维护计算机软件指计算机程序以及开发、使用和维护程序所需的各种文档的总和。程序所需的各种文档的总和。v软件是一种逻辑产品,看不见,摸不着,以程序软件是一种逻辑产品,看不见,摸不着,以程序或文档的形式存在,通过计算机实现它的作用。或文档的形式存在,通过计算机实现它的作用。v那种认为那种认为“软件就是程序,开发软件就是编写程软件就是程序,开发软件就是编写程序序”的观念是错误的。的观念是错误的。2024/7/247一个完整的软件系统配

7、置包括一个完整的软件系统配置包括4 4个主要部分:个主要部分:应应用用程程序序:直直接接面面向向用用户户,为为解解决决某某个个特特定定问问题题而编制的应用程序。而编制的应用程序。系系统统程程序序:面面向向计计算算机机硬硬件件,为为实实现现应应用用程程序序服服务而编制的程序总汇。务而编制的程序总汇。面面向向用用户户的的文文档档:包包括括如如何何使使用用和和维维护护应应用用程程序序的各种文档资料。的各种文档资料。面面向向开开发发者者的的文文档档:记记载载了了应应用用程程序序的的设设计计与与开开发过程,以便进一步开发与修改。发过程,以便进一步开发与修改。2024/7/2482.2.软件生命周期软件生

8、命周期( (软件生存周期软件生存周期) ) v软软件件生生命命周周期期的的概概念念从从工工业业产产品品生生存存周周期期的的概概念念而而来来。产产品品生生存存周周期期指指一一种种产产品品从从定定货货开开始始,经经过过设设计计、制制造造、调调试试、使使用用维维护护,直直到到品品淘淘汰汰不不再再生生产为止。产为止。v软软件件生生命命周周期期:指指从从软软件件开开发发、使使用用、维维护护到到废废弃不用的全过程。弃不用的全过程。v通通常常软软件件生生命命周周期期分分为为三三个个阶阶段段:计计划划阶阶段段、开开发阶段和运行维护阶段。发阶段和运行维护阶段。2024/7/249v对对软软件件生生存存周周期期的

9、的不不同同划划分分,形形成成不不同同的的软软件件生生存存周周期期模模型型。常常用用的的有有传传统统的的瀑瀑布布模模型型和和快快速速原原型型模型。模型。瀑瀑布布模模型型:将将软软件件生生存存周周期期划划分分为为计计划划、开开发发、运运行行三三个个时时期期,每每个个时时期期又又区区分分为为若若干干阶阶段段,各各阶阶段的工作顺序展开,如像自上而下的瀑布。段的工作顺序展开,如像自上而下的瀑布。 2024/7/2410快快速速原原型型模模型型:首首先先建建立立一一个个能能反反映映用用户户主主要要需需求求的的原原型型,用用户户通通过过使使用用提提出出修修改改意意见见,然然后后根根据据户户意意见见对对原原型

10、型进进行行改改进进,如如此此反反复复,最最后后建建立立起起符符合用户要求的新系统。合用户要求的新系统。v快快速速原原型型模模型型的的特特点点:用用户户与与程程序序分分析析员员之之间间的的交交互互从从抽抽象象变变为为具具体体,避避免免由由于于理理解解上上的的不不同同而而造造成需求分析的错误。成需求分析的错误。 2024/7/2411三三. .软件开发方法软件开发方法1.1.软件需求分析软件需求分析 v软软件件需需求求分分析析是是软软件件生生命命周周期期的的第第一一个个阶阶段段。需需求求分分析析指指软软件件开开发发人人员员对对用用户户的的要要求求及及现现实实环环境境进进行行调调查查、了了解解,从从

11、技技术术、经经济济和和社社会会因因素素等等方方面面进进行行研研究究,论论证证该该软软件件项项目目的的可可行行性性以以及及探探索索出出多多种种可可供供选选择择的的解解决决方方案案,并并对对每每种种解解决决方方案案进进行行可可行行性论证。性论证。v软软件件需需求求分分析析是是软软件件开开发发最最重重要要的的基基础础工工作作,也也是最困难的工作,对整个开发阶段具有重大影响。是最困难的工作,对整个开发阶段具有重大影响。2024/7/24122.2.结构化分析结构化分析( (SA)SA)方法方法 v需求分析最常用的方法是结构化分析方法。需求分析最常用的方法是结构化分析方法。v结结构构化化分分析析方方法法

12、采采用用自自顶顶向向下下、分分支支分分层层、逐逐步步分分解解、逐逐步步细细化化、逐逐步步求求精精,最最后后落落实实到到基基本本加加工工的方法。的方法。v结结构构化化分分析析方方法法逐逐步步求求解解的的方方法法控控制制了了系系统统的的复复杂杂度度,使使得得复复杂杂系系统统简简单单化化、抽抽象象系系统统具具体体化化。其其基本思想是基本思想是“分解分解”与与“抽象抽象”。2024/7/2413分分解解:为为了了便便于于理理解解和和表表达达一一个个复复杂杂系系统统X X,采采用用自自顶顶而而下下、逐逐层层分分解解的的方方式式,把把系系统统X X分分割割、细细分分为为足足够够简简单单,容容易易理理解解的

13、的子子系系统统1 1,子子系系统统2 2,。 抽抽象象:用用最最本本质质的的属属性性来来描描述述一一个个子子系系统统。把把一一个个复复杂杂的的系系统统分分解解为为子子系系统统后后,先先考考虑虑该该系系统统最最本本质质的的属属性性,略略去去细细节节问问题题,以以后后再再逐逐层层添添加加细细节节,直直到最详细的内容。到最详细的内容。 2024/7/2414v结结构构化化分分析析方方法法SASA通通常常采采用用数数据据流流图图表表达达需需求求,以数据词典记录数据的逻辑定义。以数据词典记录数据的逻辑定义。数数据据流流图图(DFD)(DFD)指指描描述述系系统统中中数数据据流流程程的的一一种种图图形形工

14、具。工具。数据词典数据词典(DD)(DD)记录数据流图中数据的逻辑定义。记录数据流图中数据的逻辑定义。结构化语言结构化语言。判定表判定表。数据流图数据流图(DFD)(DFD)2024/7/24153.3.结构化设计结构化设计( (SD)SD)方法方法 v结结构构化化设设计计方方法法是是将将软软件件需需求求转转化化为为数数据据结结构构和和软件系统结构的设计方法。软件系统结构的设计方法。v软软件件设设计计方方法法分分为为总总体体设设计计( (概概要要设设计计) )和和详详细细设设计两个过程。计两个过程。v结构化设计方法用于软件系统的总体设计。结构化设计方法用于软件系统的总体设计。 v结结构构化化分

15、分析析方方法法(SA)(SA)与与结结构构化化设设计计方方法法(SD)(SD)联联合合使用,形成了一整套软件系统开发方法。使用,形成了一整套软件系统开发方法。2024/7/24164.4.结构化程序设计结构化程序设计( (SP)SP)方法方法 v结结构构化化程程序序设设计计方方法法是是一一种种面面向向数数据据和和过过程程的的设设计方法,用于软件系统的详细设计。计方法,用于软件系统的详细设计。v为为了了确确保保模模块块逻逻辑辑清清晰晰,在在设设计计过过程程中中采采用用自自顶顶向向下下、逐逐步步求求精精的的设设计计方方法法,所所有有模模块块只只采采用用“顺顺序序”、“分支分支”、“循环循环”三种基

16、本控制结构。三种基本控制结构。结构化程序设计常用的主要工具有:结构化程序设计常用的主要工具有:p程序流程图程序流程图pN-SN-S图图p问题分析图问题分析图(PAD(PAD图图) )p伪代码语言伪代码语言(PDL)(PDL)2024/7/24175.5.面向对象的开发方法面向对象的开发方法(00(00P)P) v面面向向对对象象开开发发方方法法是是8080年年代代推推出出的的一一种种全全新新的的、可视化的、所见即所得的软件开发方法。可视化的、所见即所得的软件开发方法。v基基本本思思想想:将将要要研研究究的的事事、物物、概概念念等等称称为为对对象象(Object)(Object),以以对对象象作

17、作为为最最基基本本的的元元素素,以以对对象象作作为为分析问题、解决问题的核心。分析问题、解决问题的核心。2024/7/2418对象:对象:是客观世界事物的表示或描述要加以研究的是客观世界事物的表示或描述要加以研究的事物概念的统称。它是数据和使用该数据的一组基事物概念的统称。它是数据和使用该数据的一组基本操作或过程的封装。本操作或过程的封装。消息:消息:是客观世界中对象之间的通信的能力。从程是客观世界中对象之间的通信的能力。从程序设计的语言角度来看,消息类似于函数调用。序设计的语言角度来看,消息类似于函数调用。方法:方法:是实现对象所具有的功能操作的代码,它是是实现对象所具有的功能操作的代码,它

18、是实现消息具体功能的手段。实现消息具体功能的手段。 2024/7/2419类:类:类是一组对象的抽象定义,包含的方法和数据类是一组对象的抽象定义,包含的方法和数据描述了这组对象的共同行为和属性,对象是类的具描述了这组对象的共同行为和属性,对象是类的具体化,或是类的具体实例。体化,或是类的具体实例。继承:继承:可以从已有类派生出子类,子类具有父类的可以从已有类派生出子类,子类具有父类的所有数据和操作。继承表达了对象、类之间具有的所有数据和操作。继承表达了对象、类之间具有的共同性和差异性的关系。共同性和差异性的关系。多态性:多态性:一个名字具有多种语义或相同层面,具有一个名字具有多种语义或相同层面

19、,具有多种实现。多种实现。 2024/7/2420四四. .软件编程软件编程v程程序序编编码码阶阶段段的的任任务务是是将将软软件件的的详详细细设设计计转转换换成成用用程程序序设设计计语语言言实实现现的的程程序序代代码码。因因此此,程程序序设设计计语语言言的的性性能能和和设设计计风风格格对对于于程程序序设设计计的的效效能能和和质质量量有着直接的关系。有着直接的关系。 v程程序序的的质质量量基基本本上上由由设设计计的的质质量量决决定定,但但编编程程使使用用的的语语言言,编编程程风风格格和和编编程程途途径径对对程程序序质质量量有有着着很很大的影响。大的影响。2024/7/2421五五. .软件测试软

20、件测试软件测试软件测试是是软件开发软件开发过程的重要组成部分,是过程的重要组成部分,是软软件质量保证件质量保证的关键步骤。的关键步骤。 软件软件测试是在软件投入测试是在软件投入运行前,对运行前,对软件需求软件需求分析、设计规格说明和编码的分析、设计规格说明和编码的最终最终复审复审,确认软件的品质或性能是否符合开发要,确认软件的品质或性能是否符合开发要求,是求,是软件质量保证软件质量保证的关键步骤。的关键步骤。2024/7/2422软件测试在软件生存期中横跨两个阶段:软件测试在软件生存期中横跨两个阶段:单元测试单元测试:通常在编写出每一个模块之后就对它通常在编写出每一个模块之后就对它做必要的测试

21、。编码和单元测试同属于软件生存期做必要的测试。编码和单元测试同属于软件生存期中的同一个阶段。中的同一个阶段。测试阶段:测试阶段:测试阶段这是软件生存期的另一个独测试阶段这是软件生存期的另一个独立阶段,是在结束编码阶段后对立阶段,是在结束编码阶段后对软件系统软件系统进行的各进行的各种综合测试。种综合测试。2024/7/24231.1.软件测试的目的和重要性软件测试的目的和重要性 软件开发涉及到一系列生产活动,不可避免地会软件开发涉及到一系列生产活动,不可避免地会引入错误,发生差错。软件测试是引入错误,发生差错。软件测试是“为了为了发现发现程序程序中的中的错误错误而执行程序的过程而执行程序的过程”

22、,通过执行程序,通过执行程序,暴暴露露出软件中的出软件中的错误与缺陷错误与缺陷,然后对其,然后对其加以改正加以改正,这,这对于某些涉及人的生命安全的软件项目尤其重要。对于某些涉及人的生命安全的软件项目尤其重要。软件测试的目的:软件测试的目的:确认软件的质量;确认软件的质量;提供风提供风险评估信息;险评估信息;保证整个软件开发过程是高质量的保证整个软件开发过程是高质量的(测试不仅是在测试软件产品的本身,而且还包括(测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。)。软件开发的过程。)。2024/7/24242.2.软件测试方式软件测试方式从是否需要执行被测软件的角度,可分为静态测从是否

23、需要执行被测软件的角度,可分为静态测试和动态测试。试和动态测试。人工测试:人工测试:指由人工对软件进行阅读和检查。主指由人工对软件进行阅读和检查。主要的方法有:走查和会审。要的方法有:走查和会审。动态测试:动态测试:动态测试就是上机测试,用适当的测动态测试就是上机测试,用适当的测试用例作为输入,执行程序,以发现错误。试用例作为输入,执行程序,以发现错误。自动测试:自动测试:自动测试是利用一些测试工具,代替自动测试是利用一些测试工具,代替人工进行静态分析和动态测试。人工进行静态分析和动态测试。从测试是否针对系统的内部结构和具体实现算法从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为的

24、角度来看,可分为白盒测试白盒测试和和黑盒测试黑盒测试。2024/7/2425黑盒测试黑盒测试黑盒测试也称黑盒测试也称功能测试功能测试或或数据驱动测试数据驱动测试。在已知。在已知产品所应具功能前提下,把程序看作一个不能打开产品所应具功能前提下,把程序看作一个不能打开的黑盒子,着眼于程序外部结构、完全不考虑内部的黑盒子,着眼于程序外部结构、完全不考虑内部逻辑结构、对软件接口进行测试,检查程序功能是逻辑结构、对软件接口进行测试,检查程序功能是否按照需求规格说明书的规定正常使用。否按照需求规格说明书的规定正常使用。“黑盒法黑盒法”是穷举输入测试,只有把所有可能的是穷举输入测试,只有把所有可能的输入都作

25、为测试情况使用,查出程序中所有的错误。输入都作为测试情况使用,查出程序中所有的错误。2024/7/2426白盒测试白盒测试白盒测试也称白盒测试也称结构测试结构测试或或逻辑驱动测试逻辑驱动测试。在已知。在已知产品内部工作过程的前提下,按照程序内部的结构产品内部工作过程的前提下,按照程序内部的结构测试程序,检验程序中的每条通路是否都能按照规测试程序,检验程序中的每条通路是否都能按照规格说明书的规定正常进行,格说明书的规定正常进行,“白盒法白盒法”是穷举路径测试。测试者从检查程序是穷举路径测试。测试者从检查程序的逻辑结构着手,全面了解程序内部逻辑结构、对的逻辑结构着手,全面了解程序内部逻辑结构、对所有逻辑路径进行测试,得出测试数据。所有逻辑路径进行测试,得出测试数据。2024/7/2427

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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