《软件开发技术基础(精品).ppt》由会员分享,可在线阅读,更多相关《软件开发技术基础(精品).ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5 5章章 软件开发技术基础软件开发技术基础 q程序设计基础程序设计基础q软件工程基础软件工程基础程序设计基础程序设计基础 程序设计程序设计基础基础结构化结构化程序设计程序设计面向对象面向对象程序设计程序设计程序设计方法及风格程序设计方法及风格程序设计方法及风格程序设计方法及风格结构化程序设计原则结构化程序设计原则结构化程序设计原则结构化程序设计原则结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序设计方法的应用结构化程序设计方法的应用结构化程序设计方法的应用结构化程序设计方法的应用面向对象方法面向对象方法面向对象方法面向对象
2、方法面向对象方法的基本概念面向对象方法的基本概念面向对象方法的基本概念面向对象方法的基本概念程序设计程序设计 是指利用计算机解决问题的全过程,是指利用计算机解决问题的全过程,它包含多方面的内容,而编写程序只是其它包含多方面的内容,而编写程序只是其中的一部分。中的一部分。分分析析问问题题确定确定处理处理方案方案确定确定操作操作步骤步骤编编写写程程序序上机上机运行运行程序程序整整理理结结果果 程序设计的一般步骤程序设计的一般步骤程序设计的一般步骤程序设计的一般步骤 例如:例如:求圆的面积和周长的程序设计一求圆的面积和周长的程序设计一般步骤:般步骤:分析问题分析问题 求圆的面积和周长需要知道圆的半径
3、求圆的面积和周长需要知道圆的半径r r,根据圆的半根据圆的半径求出圆的面积径求出圆的面积S S和周长和周长L L并输出结果。并输出结果。确定处理方案确定处理方案 求圆的面积数学公式是:求圆的面积数学公式是:S=S=rr2 2 求圆的周长公式是:求圆的周长公式是:L=2L=2r r 确定操作步骤确定操作步骤 求圆的面积和周长的算法描述为:求圆的面积和周长的算法描述为:确定半径的初值确定半径的初值 计算面积计算面积S S 计算周长计算周长L L 输出结果输出结果S S,L L 根据操作步骤编写源程序根据操作步骤编写源程序。将上面求圆的面积和周长算法编写源程序如下将上面求圆的面积和周长算法编写源程序
4、如下 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);运行调试程序运行调试程序。整理输出结果,写出相关文档整理输出结果,写出相关文档。程序设计方法与风格程序设计方法与风格程序设计方法程序设计方法 是是指指以以什什么么观观点点来来研研究究问问题题并并进进行行求求解解,以及如何进行系统设计的以及如何进行系统设计的软件方法学软件方法学。程序设计方法经过的程序设计方法经过的2 2个阶段个阶段q 结构化程序设计结构化程序设计q 面向对象程序设计面向对象程序设计程序设计风格程序设计风格 编写程
5、序时所表现出的编写程序时所表现出的特点特点特点特点、习惯习惯习惯习惯和和逻辑思路逻辑思路逻辑思路逻辑思路。程序设计风格强调程序设计风格强调简单简单简单简单、清晰清晰清晰清晰和和可理解性可理解性可理解性可理解性。当今主导的程序设计风格当今主导的程序设计风格:清晰第一、效率第二清晰第一、效率第二main()float r,s;scanf(“%f”,&r);if(r0)/半径必须为正数半径必须为正数 s=2*3.14159*r;printf(“s=%f”,s);else printf(“请输入正数请输入正数!”);main()float r,s;scanf(“%f”,&r);if(r0)s=2*3.
6、14159*r;printf(“s=%f”,s);else printf(“请输入请输入正数正数!”);结构化程序设计原则结构化程序设计原则基本结构基本结构模块化模块化结构化程序设计结构化程序设计自顶向下自顶向下 先考虑先考虑先考虑先考虑总体总体总体总体,后考虑,后考虑,后考虑,后考虑细节细节细节细节;先考虑先考虑先考虑先考虑全局目标全局目标全局目标全局目标,后考虑,后考虑,后考虑,后考虑局部目标局部目标局部目标局部目标。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步使问题具体化。逐步求精逐步求精 对复
7、杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。模块化模块化 将将将将总总总总目目目目标标标标分分分分解解解解为为为为分分分分目目目目标标标标,再再再再进进进进一一一一步步步步分分分分为为为为具具具具体体体体的的的的小小小小目目目目标标标标,每个小目标成为一个模块。每个小目标成为一个模块。每个小目标成为一个模块。每个小目标成为一个模块。限制使用限制使用goto语句语句 会导致程序流程的混乱,应限制使用。会导致程序流程的混乱,应限制使用。会导致程序流程的混乱,应限制使用。会
8、导致程序流程的混乱,应限制使用。结构化程序设计原则结构化程序设计原则学生成绩管理学生成绩管理增加增加删除删除修改修改查询查询统计统计按学号按学号按按姓名姓名按按班级班级顺序结构顺序结构选择结构选择结构循环结构循环结构 结构化程序的基本结构与特点结构化程序的基本结构与特点顺序结构顺序结构main()float r,s;scanf(“%f”,&r);s=2*3.14159*r;printf(“s=%f”,s);AB选择结构选择结构main()float r,s;scanf(“%f”,&r);if(r0)s=2*3.14159*r;printf(“s=%f”,s);else printf(“请输入正
9、数请输入正数!”);AB条件条件真真假假循环结构循环结构main()int i,s;s=0;for(i=0;i=100;i+)s=s+i;printf(“s=%d”,s);A条件条件真真假假优点优点缺点缺点q 程序程序结结构良好构良好q 程序清晰易程序清晰易读读、使用和维护、使用和维护q 提高编程的效率,降低开发成本提高编程的效率,降低开发成本q 数据与对数据的操作数据与对数据的操作(函数函数)相分离,造成相分离,造成数据和算法的一致性差数据和算法的一致性差q 程序的可重用性差程序的可重用性差结构化程序设计原则和方法的应用结构化程序设计原则和方法的应用 在程序设计过程中,要采用自顶向下自顶向下
10、和逐步细化逐步细化的原则,由粗到细,一步步展开,把一个模块模块的功能逐步分解,细化为一系列具体的步骤,进而翻译成一系列用某种程序设计语言写成的程序。面向对象的程序设计面向对象的程序设计基本概念基本概念面向对象方法的特征和用途面向对象方法的特征和用途面向对象的方法面向对象的方法 客观世界的任何一个事物都可以被看成是一个客观世界的任何一个事物都可以被看成是一个对象对象对象对象。面向对象的方法的本质面向对象的方法的本质面向对象的方法的本质面向对象的方法的本质就是从客观世界固有的就是从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常事物出发来构造系统,提倡用人类在现实生活中常用的思维方式来认
11、识、理解和描述客观事物,强调用的思维方式来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域。最终建立的系统能够映射问题域。系统中的对象及对象之间的关系能够如实反映系统中的对象及对象之间的关系能够如实反映问题域中固有的事物及其关系。问题域中固有的事物及其关系。对象对象 基本概念基本概念 客观世界的实体通常既具有客观世界的实体通常既具有客观世界的实体通常既具有客观世界的实体通常既具有静态静态静态静态的属性,又的属性,又的属性,又的属性,又具有具有具有具有动态动态动态动态的行为。的行为。的行为。的行为。在计算机系统中,对象是一组在计算机系统中,对象是一组在计算机系统中,对象是一组在计算机系
12、统中,对象是一组属性属性属性属性以及这组以及这组以及这组以及这组属性上的属性上的属性上的属性上的操作操作操作操作的封装体。的封装体。的封装体。的封装体。对象对象 =属性属性 +操作操作 属性:属性:就是对象的特征,是对象外观及行为就是对象的特征,是对象外观及行为的特征。的特征。是具有是具有共同属性共同属性和和共同操作方法共同操作方法的对象的集的对象的集合,是对象的抽象。合,是对象的抽象。描述了属于该对象类型的所有对象的性质。描述了属于该对象类型的所有对象的性质。类类 类是对象的类是对象的抽象(模板)抽象(模板),对象则是其对应类的,对象则是其对应类的一个一个实例实例实例实例。就是要求某个对象执
13、行某个操作的规格说明。就是要求某个对象执行某个操作的规格说明。就是要求某个对象执行某个操作的规格说明。就是要求某个对象执行某个操作的规格说明。一个消息由三部分组成一个消息由三部分组成一个消息由三部分组成一个消息由三部分组成:p接收消息的对象名称接收消息的对象名称p消息名称消息名称p零个或多个参数零个或多个参数消息消息 消息用于对象之间信息交流,对象之间的相互服务是消息用于对象之间信息交流,对象之间的相互服务是消息用于对象之间信息交流,对象之间的相互服务是消息用于对象之间信息交流,对象之间的相互服务是通过消息来连接实现的。通过消息来连接实现的。通过消息来连接实现的。通过消息来连接实现的。发送发送
14、对象对象接接口口接收对象消息操作名、参数特性特性q 封装性封装性 指从外面看只能看到对象的外部特征,而指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构及实现操不知道也无须知道数据的具体结构及实现操作的算法。作的算法。信息的隐蔽是通过对象的封装性来实现的信息的隐蔽是通过对象的封装性来实现的属性属性操作操作1 1、2 2、3 3的实现的实现操作操作1 1操作操作2 2操作操作3 3界界面面q继承性继承性 使用已有的类(使用已有的类(父类父类)定义作为基础建立)定义作为基础建立新类(新类(子类子类)的定义技术。)的定义技术。单继承单继承多重继承多重继承 人人 职工职工 学生学生 教
15、师教师 在职学生在职学生 提高了软件的可重用性,继承具有提高了软件的可重用性,继承具有传递性传递性q 多态性多态性 同一消息被不同的对象接受时可以产同一消息被不同的对象接受时可以产生完全不同的行为生完全不同的行为。实现实现“同一接口,不同实现同一接口,不同实现”增加了系统的灵活性,进一步减少数据冗余,增加了系统的灵活性,进一步减少数据冗余,显著提高软件的可重用性和可扩充性。显著提高软件的可重用性和可扩充性。优点优点q 与人类思维方法一致与人类思维方法一致q 稳定性好稳定性好q 可重用性好可重用性好q 易于开发大型软件产品易于开发大型软件产品q 可维护性好可维护性好软件工程基础软件工程基础 随着
16、计算机硬件技术的进步,要求软件能与之相随着计算机硬件技术的进步,要求软件能与之相随着计算机硬件技术的进步,要求软件能与之相随着计算机硬件技术的进步,要求软件能与之相适应。然后软件技术的进步一直未能满足形式发展提适应。然后软件技术的进步一直未能满足形式发展提适应。然后软件技术的进步一直未能满足形式发展提适应。然后软件技术的进步一直未能满足形式发展提出的要求,致使问题积累起来,形成了日益尖锐的矛出的要求,致使问题积累起来,形成了日益尖锐的矛出的要求,致使问题积累起来,形成了日益尖锐的矛出的要求,致使问题积累起来,形成了日益尖锐的矛盾,这就导致了盾,这就导致了盾,这就导致了盾,这就导致了软件危机软件
17、危机软件危机软件危机。为了消除软件危机,通过认真研究解决软件危机为了消除软件危机,通过认真研究解决软件危机为了消除软件危机,通过认真研究解决软件危机为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向科学的的方法,认识到软件工程是使计算机软件走向科学的的方法,认识到软件工程是使计算机软件走向科学的的方法,认识到软件工程是使计算机软件走向科学的途径,逐渐形成了软件工程的概念,并开辟了工程学途径,逐渐形成了软件工程的概念,并开辟了工程学途径,逐渐形成了软件工程的概念,并开辟了工程学途径,逐渐形成了软件工程的概念,并开辟了工程学的新兴领域的新兴领域的新兴领域的新兴领域-
18、软件工程学软件工程学软件工程学软件工程学。倡导以工程化的原则和方法组织软件开发工作,倡导以工程化的原则和方法组织软件开发工作,倡导以工程化的原则和方法组织软件开发工作,倡导以工程化的原则和方法组织软件开发工作,是摆脱软件危机的一个主要出路。是摆脱软件危机的一个主要出路。是摆脱软件危机的一个主要出路。是摆脱软件危机的一个主要出路。软件开发工具与软件开发环境软件开发工具与软件开发环境软件开发工具与软件开发环境软件开发工具与软件开发环境软件工程的目标和原则软件工程的目标和原则软件工程的目标和原则软件工程的目标和原则软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程
19、过程与软件生命周期软件危机与软件工程软件危机与软件工程软件危机与软件工程软件危机与软件工程软件定义与软件特点软件定义与软件特点软件定义与软件特点软件定义与软件特点需求分析需求分析需求分析需求分析可行性分析可行性分析可行性分析可行性分析问题定义问题定义问题定义问题定义软件设计软件设计软件设计软件设计软件编码软件编码软件编码软件编码软件测试软件测试软件测试软件测试软件维护软件维护软件维护软件维护软件工程软件工程软件工程软件工程基本概念基本概念基本概念基本概念软件工程软件工程软件工程软件工程过程过程过程过程软件软件软件软件开发方法开发方法开发方法开发方法开发技术开发技术开发技术开发技术软件危机软件危
20、机软件危机软件危机结构化开发方法结构化开发方法结构化开发方法结构化开发方法面向对象开发方法面向对象开发方法面向对象开发方法面向对象开发方法基本概念基本概念软件定义和组成软件定义和组成 是计算机系统中与硬件相互依赖的一是计算机系统中与硬件相互依赖的一部分,包括部分,包括程序程序、数据数据和相关的和相关的文档文档。程序程序 计算机执行的指令序列。计算机执行的指令序列。数据数据 是使程序能正常操作信息的数据结构。是使程序能正常操作信息的数据结构。文档文档 是与程序的开发、维护和使用有关的图文资料是与程序的开发、维护和使用有关的图文资料软件是软件是程序程序、数据数据和和文档文档的集合的集合软件危机与软
21、件工程软件危机与软件工程软件危机软件危机软件工程源自软件工程源自软件危机软件危机 泛指在计算机软件的开发和维护过程泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题,包括中所遇到的一系列严重问题,包括成本成本、质量质量、生产率生产率等问题。等问题。q软件需求的增长得不到满足软件需求的增长得不到满足q软件开发成本和进度无法控制软件开发成本和进度无法控制q软件质量难以保证软件质量难以保证q软件不可维护或维护程度非常低软件不可维护或维护程度非常低q软件成本不断提高软件成本不断提高q软件开发生产效率的提高赶不上硬件的发展和应软件开发生产效率的提高赶不上硬件的发展和应用需求的增长用需求的增长 指导
22、计算机软件开发和维护的工程指导计算机软件开发和维护的工程学科。包括一下三要素:学科。包括一下三要素:软件工程软件工程qq方法方法方法方法 为软件开发提供为软件开发提供“如何做如何做如何做如何做”技术。技术。qq工具工具工具工具 指支持软件开发、管理、文档生成的自动半自指支持软件开发、管理、文档生成的自动半自 动软件支撑环境。动软件支撑环境。qq过程过程过程过程 指软件开发各个环节的控制和管理。指软件开发各个环节的控制和管理。软件工程的软件工程的核心思想核心思想是将工程化原则运用到软件开发是将工程化原则运用到软件开发过程中,即将软件产品作为一个工程产品处理。它包括过程中,即将软件产品作为一个工程
23、产品处理。它包括方方方方法法法法、工具工具工具工具和和过程过程过程过程三要素。三要素。软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程过程软件工程过程 是为获得软件产品,在软件工具支持下由软件工程师完成的一系列工程活动。通常包括4种基本过程活动P P(Plan)(Plan)软件规格说明软件规格说明。规定软件的功能以及运行时的限制。规定软件的功能以及运行时的限制。D D(Do)(Do)软件开发软件开发。产生满足软件规格说明的软件。产生满足软件规格说明的软件。C C(Check)(Check)软件确认软件确认。确认软件能够满足用户提出的要求。确认软件能够满足用户提出的要求。A A(Ac
24、tion)(Action)软件演进软件演进。为满足用户的变更要求,软件必须为满足用户的变更要求,软件必须 在使用的过程中演进。在使用的过程中演进。将将软软件件产产品品从从提提出出、实实现现、使使用用、维维护护、停停止止使使用用到到退退役役的的过过程程,称称为为软软件生命周期。件生命周期。软件生命周期软件生命周期 问题定义问题定义 可行性分析可行性分析 需求分析需求分析 软件设计软件设计 软件测试软件测试 软件实现软件实现 运行和维护运行和维护软件软件定义定义软件开发软件开发软件运行维护软件运行维护软件开发工具与软件开发环境软件开发工具与软件开发环境 软件开发工具软件开发工具 协助开发人员进行软
25、件开协助开发人员进行软件开发活动所使用的软件或环境。它包括发活动所使用的软件或环境。它包括需求分析工需求分析工需求分析工需求分析工具具具具、设计工具设计工具设计工具设计工具、编码工具编码工具编码工具编码工具、排错工具排错工具排错工具排错工具和和测试工具测试工具测试工具测试工具等。等。软件开发环境软件开发环境 是全面支持软件开发全过是全面支持软件开发全过程的软件工具的集合。程的软件工具的集合。软件工程过程软件工程过程问题定义问题定义 确定开发目标和总的要求,给出可行性方案,确定开发目标和总的要求,给出可行性方案,确定开发目标和总的要求,给出可行性方案,确定开发目标和总的要求,给出可行性方案,制定
26、开发计划。制定开发计划。制定开发计划。制定开发计划。可行性分析可行性分析需求分析需求分析需求分析的任务需求分析的任务 导出目标系统的逻辑模型,解决导出目标系统的逻辑模型,解决“做什么做什么做什么做什么”的问的问题。题。需求分析方法需求分析方法 结构化分析方法(采用的常用工具)结构化分析方法(采用的常用工具)面向对象的分析方法面向对象的分析方法 根据用户的需求进行分析并给出详细定义,根据用户的需求进行分析并给出详细定义,即确定软件系统的功能。即确定软件系统的功能。结构化分析方法结构化分析方法结构化分析的常用工具结构化分析的常用工具q 数据流图数据流图(DFD)是以图形的方式描绘数据在系统中流动和
27、处理的过程,是以图形的方式描绘数据在系统中流动和处理的过程,它反映了系统必须完成的逻辑功能,是结构化分析方法中用它反映了系统必须完成的逻辑功能,是结构化分析方法中用于表示系统逻辑模型的一种工具。于表示系统逻辑模型的一种工具。q 数据字典数据字典(DD)是结构化分析方法的核心,其作用是对数据流图中被命是结构化分析方法的核心,其作用是对数据流图中被命名的图形元素进行确切的解释。名的图形元素进行确切的解释。q 判定树判定树q 判定表判定表数据流图数据流图 办理取款手续的数据流图办理取款手续的数据流图办理取款手续的数据流图办理取款手续的数据流图加工加工数据流数据流存储文件存储文件源、潭源、潭加加 工工
28、:描述输入流到输出流之间的变换:描述输入流到输出流之间的变换数数 据据 流流:表示数据的流向:表示数据的流向存储文件存储文件:表示暂时存储的数据:表示暂时存储的数据源源 、潭潭:也称外部实体,指出系统所需数据的:也称外部实体,指出系统所需数据的发源地和系统所产生数据的归宿地。发源地和系统所产生数据的归宿地。软件设计软件设计q总体设计总体设计(概要设计概要设计)将软件需求转化为数据结构和软件的系将软件需求转化为数据结构和软件的系统结构。统结构。q详细设计详细设计 软件的软件的过程过程设计,通过对结构表示进行细设计,通过对结构表示进行细化,得到软件的详细数据结构和算法。化,得到软件的详细数据结构和
29、算法。软件设计步骤软件设计步骤q抽象抽象 抽出事物本质的共同特点而不考虑它的细节抽出事物本质的共同特点而不考虑它的细节q模块化模块化 模块是一个具有明确定义的输入、输出和特性模块是一个具有明确定义的输入、输出和特性的程序实体。的程序实体。每个模块完成一个特定的子功能,所有的模块每个模块完成一个特定的子功能,所有的模块按某种方式组合起来成为一个整体,完成整个系统按某种方式组合起来成为一个整体,完成整个系统所要求的功能。所要求的功能。软件设计的原理软件设计的原理q信息隐蔽信息隐蔽 每个模块实现的细节对于其它模块来说是隐蔽每个模块实现的细节对于其它模块来说是隐蔽的,即模块中所包含的信息(数据结构和过
30、程)不的,即模块中所包含的信息(数据结构和过程)不允许其他不需要这些信息的模块使用。允许其他不需要这些信息的模块使用。q模块独立性模块独立性 每个模块只具体的子功能,和其他模块的接口每个模块只具体的子功能,和其他模块的接口是简单的。是简单的。衡量指标衡量指标衡量指标衡量指标:耦合性耦合性耦合性耦合性和和内聚性内聚性内聚性内聚性。一个设计良好的软件系统应具有一个设计良好的软件系统应具有低耦合低耦合、高内聚高内聚的特征的特征学生成绩管理学生成绩管理增加增加删除删除修改修改查询查询统计统计按学号按学号按按姓名姓名按按班级班级 是软件设计的第是软件设计的第2 2个阶段,主要确定每个模个阶段,主要确定每
31、个模块具体的执行过程。块具体的执行过程。详细设计详细设计 该阶段的任务是:确定实现该阶段的任务是:确定实现算法算法和和局部局部数据结构数据结构,不同于编码或编程,不同于编码或编程实现实现详细详细设计设计常用的表达工具常用的表达工具q 图形工具图形工具 程序流程图、程序流程图、N-S图、图、PAD、HIPOq 表格工具表格工具 判定表判定表q 语言工具语言工具 PDL(伪码)伪码)软件编码软件编码 把软件设计转换成计算机把软件设计转换成计算机可以接受的可以接受的程序代码程序代码。软件测试软件测试软件测试的目的软件测试的目的 尽可能发现程序中的错误,但不能也尽可能发现程序中的错误,但不能也不可能证
32、明程序没有错误。不可能证明程序没有错误。是为了发现错误而执行程序的过程。是为了发现错误而执行程序的过程。主要检验软件的各个组成部分,编写测试主要检验软件的各个组成部分,编写测试分析报告。分析报告。q 静态测试静态测试 人工评审软件文档或程序,借以发现其中人工评审软件文档或程序,借以发现其中的错误。的错误。q 动态测试动态测试 指的是上机运行程序,从多角度观察程指的是上机运行程序,从多角度观察程序运行时的行为,以发现其中的错误。序运行时的行为,以发现其中的错误。测试方法测试方法:白盒测试、黑盒测试白盒测试、黑盒测试软件测试技术软件测试技术 是根据程序的是根据程序的内部逻辑结构内部逻辑结构来设计的
33、来设计的,主要用于,主要用于软件单元软件单元的测试。的测试。主要方法有主要方法有:q 逻辑覆盖逻辑覆盖q 基本路径测试基本路径测试 白盒测试法白盒测试法 是对软件已经实现的是对软件已经实现的功能功能是否满足需要进是否满足需要进行测试和验证,不关心程序内部的逻辑。行测试和验证,不关心程序内部的逻辑。主要方法有主要方法有:q 等价类划分法等价类划分法q 边界值分析法边界值分析法q 错误推测法错误推测法 是对程序功能的测试,主要用于是对程序功能的测试,主要用于软件软件的确认的确认测试。测试。黑盒测试法黑盒测试法软件测试的实施软件测试的实施软件测试过程按软件测试过程按4 4个步骤进行个步骤进行q单元测试单元测试 q集成测试集成测试q确认测试确认测试q系统测试系统测试运行、维护运行、维护 交付使用,并不断进行维护,交付使用,并不断进行维护,根据新需求进行扩充和删除。根据新需求进行扩充和删除。软件开发方法与技术软件开发方法与技术 q结构化开发方法结构化开发方法q面向对象开发方法面向对象开发方法结构化结构化分析分析结构化结构化设计设计结构化程序结构化程序设计设计软件软件计划计划软件软件测试测试面向对象面向对象分析分析面向对象面向对象设计设计面向对象面向对象编码编码软件软件计划计划软件软件测试测试