第6-7章软件开发new-软件开发技术与应用()课件.ppt

上传人:可****阿 文档编号:73598506 上传时间:2023-02-20 格式:PPT 页数:73 大小:2.11MB
返回 下载 相关 举报
第6-7章软件开发new-软件开发技术与应用()课件.ppt_第1页
第1页 / 共73页
第6-7章软件开发new-软件开发技术与应用()课件.ppt_第2页
第2页 / 共73页
点击查看更多>>
资源描述

《第6-7章软件开发new-软件开发技术与应用()课件.ppt》由会员分享,可在线阅读,更多相关《第6-7章软件开发new-软件开发技术与应用()课件.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第 6 6 章章 软件开发方法软件开发方法6.1 6.1 软件软件6.2 6.2 软件生存周期软件生存周期6.3 6.3 软件开发模型软件开发模型1计算机语言的发展计算机语言的发展 第一代语言第一代语言 机器语言机器语言第二代语言第二代语言 汇编语言汇编语言第三代语言第三代语言 高级语言高级语言,亦称过程语言亦称过程语言 FORTRAN、COBOL、C、PASCAL 第四代语言第四代语言 非过程化语言非过程化语言 SQL第五代语言第五代语言 智能性语言智能性语言2软件软件=程序程序+文档文档程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵的信息的数据结构文档是与程序开发、

2、维护和使用有关的图文材料3软件的特征1.软件开发不同于硬件设计2.软件生产不同于硬件制造3.软件维护不同于硬件维修4软件危机产生的原因:产生的原因:(1)软件是逻辑的系统部件不是物理的系软件是逻辑的系统部件不是物理的系 统部件,以程序和文档形式存在统部件,以程序和文档形式存在 (2)软件规模越来越大,功能越来越强,软件规模越来越大,功能越来越强,软件结构非常复杂软件结构非常复杂结论:结论:软件危机产生的根本原因与软件产品的特软件危机产生的根本原因与软件产品的特征和软件产品开发与维护的方法不正确有关征和软件产品开发与维护的方法不正确有关 解决软件危机的根本出路:解决软件危机的根本出路:(1)认识

3、问题的原因所在,吸取前人的经验认识问题的原因所在,吸取前人的经验 (2)要有相应的理论、技术、工具要有相应的理论、技术、工具6软件工程软件工程软件工程的目的在于获得廉价的、能在软件工程的目的在于获得廉价的、能在实际机器上高效和可靠地工作的软件。实际机器上高效和可靠地工作的软件。为此需要建立并应用牢固的为此需要建立并应用牢固的工程工程准则准则和和方法方法软件工程软件工程定义很多,其定义很多,其核心思想核心思想是:是:“采用工程化的原理和方法对软件进行计采用工程化的原理和方法对软件进行计划、开发和维护划、开发和维护”,因此需要建立和应,因此需要建立和应用用工程工程准则准则和和方法方法71.2 1.

4、2 软件生存周期软件生存周期软件生存周期一般划分为计划、开发、运行三个时期,每一时期又区分为若干阶段。e计划(定义)时期有问题定义和可行性研究两个阶段 e开发时期有需求分析、系统设计、编码和测试四个阶段 e运行时期主要是系统维护阶段 81.2.1 1.2.1 计划时期计划时期计划时期的主要任务:调查和分析调查用户需求分析新系统的主要目标,分析开发该系统的可行性。计划时期还应制定出人力、资源及进度计划。101.2.2 1.2.2 开发时期开发时期开发时期的任务 设计和实现设计包括:需求分析、软件设计实现包括:编码和测试 把设计和实现分成两步走,目的是在开发初期让程序人员集中全力搞好软件的逻辑结构

5、,避免过早地为实现的细节分散精力。11软件设计主要任务是将需求转变为软件的表示形式,有时又可细分为总体设计和详细设计。设计阶段要编写设计文档。13测试是开发时期最后一个阶段。测试是开发时期最后一个阶段。按照不同的层次,又可细分为单元测试按照不同的层次,又可细分为单元测试 、综合测试、确认测试和系统测试等步、综合测试、确认测试和系统测试等步 骤。测试是保证软件质量的重要手段。骤。测试是保证软件质量的重要手段。测试阶段的文档称为“测试报告”,包括测试计划、测试用例与测试结果等内容。151.2.3 1.2.3 运行时期运行时期运行时期是软件生存周期的最后一个时期。软件人员在这一时期的工作,主要是做好

6、软件维护。16主要特点主要特点坚持坚持结构化结构化(将逻辑实现与物理实现分开)思想和强调思想和强调文档文档齐齐套,是瀑布开发模型的两条重套,是瀑布开发模型的两条重要准则。要准则。瀑布模型瀑布模型 Waterfall Model(1976)18 1.3.1 传统的软件开发模型快速原型模型需求分析需求分析原型开发原型开发最终系统设计最终系统设计原型评价原型评价最终系统实现最终系统实现用户用户反馈反馈19快速原型范型快速原型范型Rapid Prototyping Paradigm (1)建立原型建立原型 (2)实现最终软件实现最终软件原型开发范型的最大原型开发范型的最大优点优点:用户的用户的早期介入

7、早期介入201.3.2 1.3.2 面向对象开发模型面向对象开发模型面向对象思想的最重要特征,是在解题空间中引入了“对象”的概念,使之逼真地模拟问题空间中的客观实体,从而达到与人类的思维习惯相一致。21软件开发技术发展史软件开发技术发展史结构化技术结构化技术组件技术组件技术面向对象技术面向对象技术COM、EJB 2.1 结构化开发方法结构化开发方法2.2 面向对象开发方法面向对象开发方法22两类软件工程方法两类软件工程方法传统软件工程e软件分析 总体设计 详细设计 面向过程的编码 测试 面向对象软件工程e软件分析与对象抽取 对象详细设计 面向对象的编码 测试 242.1.1 2.1.1 结构化

8、开发方法结构化开发方法基本思路:把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或者多个任务,形成符合给定规范的产品。分而治之“结构化”的含义:用一组规范的步骤、准则和工具来进行某项工作。25核心思想核心思想:自顶向下和逐步求精自顶向下和逐步求精SASA方法的特点方法的特点使使用用描描述述需需求求说说明明书书的的规规范范工工具具(数数据据流流图图、数数据据词词典典、小小说说明明(加加工逻辑的描述工逻辑的描述)),使文档规范化使文档规范化 基本手段基本手段:分解和抽象分解和抽象 分解分解:大问题分割成小问题大问题分割成小问题,分别解决分别解

9、决 抽象抽象:把细节略去把细节略去,先考虑最本质属性先考虑最本质属性26数据流图数据流图(DFD)(DFD)数据流图(数据流图(Data Flow DiagramData Flow Diagram)是描述系统)是描述系统中数据流程的图形工具。它标识了一个系统中数据流程的图形工具。它标识了一个系统的的逻辑输入逻辑输入和和逻辑输出逻辑输出以及把逻辑输入转换以及把逻辑输入转换为逻辑输出所需要的为逻辑输出所需要的加工处理加工处理 帐卡帐卡存折存折取取 款款 信信 息息存折存折核查核查付款付款登录登录无余拒付无余拒付储户储户付款信息付款信息可行性可行性28数据流图数据流图(DFD)(DFD)数据流图以图

10、形的方式表达了系统中的信息数据流图以图形的方式表达了系统中的信息变换和传递的过程变换和传递的过程基本符号:基本符号:数据流数据流 加工加工 数据存储数据存储 数据源点或数据源点或 终点终点29数据流图数据流图(DFD)(DFD)SA方法要求:先全局后局部、先整体后细方法要求:先全局后局部、先整体后细 节、先抽象后具体节、先抽象后具体 总体数据流图总体数据流图 局部数据流图局部数据流图逐步细化逐步细化31数据流图数据流图(DFD)(DFD)一个复杂的软件其数据流图通常分为顶层、中间层和底层e顶层:顶层:是一个高度抽象的软件系统的逻是一个高度抽象的软件系统的逻辑模型辑模型 e中间层:中间层:它既是

11、上一层的加工的分解结它既是上一层的加工的分解结果,又是下一层若干加工的抽象果,又是下一层若干加工的抽象e底层:底层:由基本加工构成。所谓基本加工由基本加工构成。所谓基本加工是指不能再进行分解的加工是指不能再进行分解的加工323334数据词典数据词典(DD)(DD)SASA方法方法使用使用数据词典数据词典(Data Dictionary)对数据流名、数据存储名、)对数据流名、数据存储名、数据项名、基本加工名进行详细说明数据项名、基本加工名进行详细说明 数据流图中包含的所有元素定义数据流图中包含的所有元素定义的集合构成了数据词典的集合构成了数据词典 DD是是SA方法的主要工具方法的主要工具35数据

12、词典数据词典(DD)(DD)数据词典中条目类型数据词典中条目类型e数据流条目数据流条目常用符号常用符号=+|()e文件条目文件条目 列出文件记录的组成数据项组织方式列出文件记录的组成数据项组织方式e数据项条目数据项条目 数据单项定义,包括类型、取值范围数据单项定义,包括类型、取值范围e加工条目加工条目 加工的精确描述,小说明加工说明加工的精确描述,小说明加工说明362.1.2 2.1.2 结构化设计(结构化设计(SDSD)在软件需求分析阶段,已搞清楚了软件在软件需求分析阶段,已搞清楚了软件“做什做什么么”的问题,需求通过规格说明书描述,这也的问题,需求通过规格说明书描述,这也是目标系统的逻辑模

13、型。是目标系统的逻辑模型。进入了设计阶段,要把软件进入了设计阶段,要把软件“做什么做什么”的逻辑的逻辑模型变换为模型变换为“怎么做怎么做”的物理模型,设计的结的物理模型,设计的结果反映在果反映在“设计规格说明书设计规格说明书”文档中。文档中。描述了软件的总体的体系结构,称为软件总体描述了软件的总体的体系结构,称为软件总体设计或结构设计。对结构进一步细化,称为详设计或结构设计。对结构进一步细化,称为详细设计或结构设计。细设计或结构设计。37SD方法的基本思想根据根据SASA方法中的数据流图建立一个良好方法中的数据流图建立一个良好的模块结构图的模块结构图运用模块化的设计原理控制系统的复杂运用模块化

14、的设计原理控制系统的复杂性,即设计出模块相对独立的,模块结性,即设计出模块相对独立的,模块结构图深度、宽度都适当的,单入口单出构图深度、宽度都适当的,单入口单出口的,单一功能的模块结构的软件结构口的,单一功能的模块结构的软件结构图。图。评价模块结构图质量的标准:评价模块结构图质量的标准:模块之间模块之间的联系越松散越好,而模块内各成分之的联系越松散越好,而模块内各成分之间的联系越紧凑越好间的联系越紧凑越好38SDSD方法的设计原理方法的设计原理l模块化模块化 指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体

15、,完成整个系统所要求的功能。模块化是软件解决复杂问题所具备的手段,为了说明这一点,可将问题的复杂性和工作量的关系进行推理l抽象抽象l模块独立模块独立39 模块化(module)模块:模块:在程序中是数据说明、可执行语句在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、址的元素,如高级语言中的过程、函数、子程序等等。在软件的体系结构中,模块子程序等等。在软件的体系结构中,模块是可组合、分解和更换的单元。模块具有是可组合、分解和更换的单元。模块具有以下几种基本属性:以下几种基本属性:接口:接口:指模块的输入与输

16、出。指模块的输入与输出。功能:功能:指模块实现什么功能。指模块实现什么功能。逻辑:逻辑:描述内部如何实现要求的功能及所描述内部如何实现要求的功能及所需的数据。需的数据。40模块独立性(module independence)模块独立性:每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块独立性有两个定性的度量标准:内聚(模块内部各成分之间的联系模块内部各成分之间的联系模块内部各成分之间的联系模块内部各成分之间的联系)和耦合(模块之间的联系模块之间的联系模块之间的联系模块之间的联系)模块间耦合性越小越好模块内聚性越大越好41模块的设计准则模块的设计准则通过模块的分解和合

17、并,提高模块独立性通过模块的分解和合并,提高模块独立性模块调用个数最好不要超过模块调用个数最好不要超过5个个降低模块接口的复杂性降低模块接口的复杂性模块的作用域应该在控制域之内模块的作用域应该在控制域之内模块应该设计成单入口单出口模块应该设计成单入口单出口模块的大小要适中,一般在模块的大小要适中,一般在50条语句左右条语句左右422.1.3 2.1.3 详细设计和编码详细设计和编码三种基本控制结构顺序结构选择结构循环结构43详细设计的描述工具:程序流程图方框图(N-S图)问题分析图(PAD图)伪码(PDL语言)44程序流程图程序流程图45N-S图图N-SN-S图也叫做盒图。46问题分析图问题分

18、析图(PAD)47过程设计语言过程设计语言(Process Design Language,PDL)也称程序描述语言(Program Description Language),又称为伪码(pseudo code)。属于文字形式的表达工具。它并非真正的代码,也不能在计算机上执行,但形式上与代码相似。它是一种用于描述模块算法设计和处理细节的语言。PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和模块接口,而它表示实际操作和条件的内层语法又是灵活自由的,使用自然语言的词汇。48结构化编码方法结构化编码方法程序的正确性可读性、可理解性、可测试性、可维护性502.2 面向对象开发方法面向对象

19、开发方法 OOSD一、面向对象分析一、面向对象分析(OOA)二、面向对象设计二、面向对象设计(OOD)三、面向对象编程三、面向对象编程(OOP)O Object-bject-O Oriented riented D DesignesignO Object-bject-O Oriented riented P Programingrograming O Object-bject-O Oriented riented A Analysisnalysis 51面向对象的分析:面向对象的分析:需求分析:分析系统的功能、性能、约束。需求分析:分析系统的功能、性能、约束。领域分析:重点在于对问题域中的概念

20、进行描述。领域分析:重点在于对问题域中的概念进行描述。面向对象的设计:面向对象的设计:重点在于职责分配和交互设重点在于职责分配和交互设计,定义那些最终用面向对象程序设计语言实计,定义那些最终用面向对象程序设计语言实现的逻辑软件组成部分类。现的逻辑软件组成部分类。面向对象面向对象的分析的分析(OOA)面向对象面向对象的设计的设计(OOD)面向对象面向对象的编程的编程(OOP)面向对象的编程:面向对象的编程:C+、JAVA。52第第7 7章章 软件测试与质量保证软件测试与质量保证目标:目标:软件测试是为了发现软件中的错误而执行程序的过程。好的测试方案是尽可能地发现至今尚未发现的错误的测试方案。成功

21、的测试则是发现出至今未发现的错误的测试。53软件测试的原则软件测试的原则1.不要抱有“软件不会有错或认为查不出错”的幻想2.测试用例应由测试输入数据和对应的预期输出结果这两部分组成。3.在设计测试用例时,应当包括合理的输入数据和不合理的输入数据。4.程序员应避免测试自己的程序。5.严格全面地执行测试计划。6妥善保存测试计划、测试用例、出错统计和最终分析报告。54软件测试策略与技术软件测试策略与技术单元测试系统测试确认测试组装测试单元测试单元测试被测模块被测模块被测模块已确认的软件已测模块可交付的软件系统其它元素软件需求设计信息已集成的软件55软件测试策略软件测试策略单元测试:人工测试、上机测试

22、组装测试:e渐增式组装测试:自底向上、自顶向下e非渐增式组装测试确认测试e有效性测试、软件配置复查、测试和测试、验收测试系统测试56 M1 自自底向上测试底向上测试 M2 M5 M4 M3 M6 组装测试(组装测试(驱动模块驱动模块从属模块从属模块)57 D3 自自底向上测试底向上测试 D1 M5 D2 M3 M6 58自自底向上测试底向上测试 M2 M5 M4 M3 M6 D4 D5 59 M1 自自底向上测试底向上测试 M2 M5 M4 M3 M6 60 M1 自顶自顶向下测试向下测试 M2 M5 M4 M3 M6 组装测试(组装测试(主控模块主控模块调用模块调用模块桩模块桩模块)61 M

23、1 自顶自顶向下测试向下测试 S1 S3 S2 62 M1 自顶自顶向下测试向下测试 M2 S4 M4 M3 S5 63 M1 自顶自顶向下测试向下测试 M2 M5 M4 M3 M6 64常用的测试方法常用的测试方法白盒测试 (结构测试或逻辑功能测试)e将程序看作一个打开的盒子,根据程序内部的逻辑结构及有关的信息来设计或选择测试用例e覆盖程度由底到高:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖黑盒测试 (功能测试或数据驱动测试)e把程序看作一个不能打开的盒子,根据程序的需求规格说明来设计测试用例e方法:等价分类法、边缘分析法、因果图法、错误推断法65 软件人员使用白盒测试方法,

24、主要想对程序模块进行如下的检查:e 对程序模块的所有独立的执行路径至少测试一次;e 对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;e 在循环的边界和运行界限内执行循环体;e 测试内部数据结构的有效性,等。66语句覆盖:针对语句执行,使得每一条语句至少执行一次。判定覆盖:着眼于每个分支的执行,使得每个分支至少执行一次。条件覆盖:每个判定中每个条件的可能取值都至少执行一次。判定-条件覆盖:兼顾以上两条。条件组合覆盖:每个判定的所有可能的条件取值组合至少出现一次。67以上各种覆盖准则的侧重点不同,覆盖程度也不同,但它们具有共同点:任何一种覆盖都不能做到完全测试。68黑盒测试方法是在程

25、序接口上进行黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误测试,主要是为了发现以下错误:e 是否有不正确或遗漏了的功能?e 在接口上,输入能否正确地接受?能否输出正确的结果?e 是否有数据结构错误或外部信息(例如数据文件)访问错误?e 性能上是否能够满足要求?e 是否有初始化或终止性错误?697.3 软件的质量保证软件的质量保证软件质量保证是阶段评审、开发方法、配套管理与程序测试的综合运用。e评审与测试e程序正确性证明e软件配置管理e软件质量保证计划707.3.1软件的质量标准软件的质量标准 软件质量的标准:(1)功能性(能够满足软件需求说明(SRS)中各项功能需求)(2)可靠性(3)易用性(4)效率(5)可维护性(6)可移植性717.3.2 质量保证的活动内容质量保证的活动内容 质量保证是复审、开发方法、配置控制程序测试和测试的综合应用的综合应用。质量保证的活动内容质量保证的活动内容(1)软件测试(2)软件配置(3)方法、设计、编码(4)复审、计划与开发72各项活动内容,都须写入软件项目质 量保证计划,并由质量保证小组监督实施。质量保证既是技术活动,也是管理活动.73

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁