软件工程02软件开发过程.pptx

上传人:王** 文档编号:301210 上传时间:2023-05-08 格式:PPTX 页数:37 大小:7.68MB
下载 相关 举报
软件工程02软件开发过程.pptx_第1页
第1页 / 共37页
软件工程02软件开发过程.pptx_第2页
第2页 / 共37页
软件工程02软件开发过程.pptx_第3页
第3页 / 共37页
软件工程02软件开发过程.pptx_第4页
第4页 / 共37页
软件工程02软件开发过程.pptx_第5页
第5页 / 共37页
软件工程02软件开发过程.pptx_第6页
第6页 / 共37页
软件工程02软件开发过程.pptx_第7页
第7页 / 共37页
软件工程02软件开发过程.pptx_第8页
第8页 / 共37页
软件工程02软件开发过程.pptx_第9页
第9页 / 共37页
软件工程02软件开发过程.pptx_第10页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程02软件开发过程.pptx》由会员分享,可在线阅读,更多相关《软件工程02软件开发过程.pptx(37页珍藏版)》请在优知文库上搜索。

1、软件工程软件工程2023-5-82第第2章章 软件开发过程软件开发过程 软件开发过程(软件开发过程(software development process)又叫)又叫做软件开发生命周期(做软件开发生命周期(software development life cycle, SDLC),是软件产品开发的任务框架和规范,又可),是软件产品开发的任务框架和规范,又可以简单的称为软件生命周期及软件过程以简单的称为软件生命周期及软件过程。 软件过程和生命周期软件过程和生命周期 软件过程模型:传统过程和敏捷(软件过程模型:传统过程和敏捷(Agile)过程)过程软件生命周期与开发过程软件生命周期与开发过程

2、国际标准国际标准ISO/IEC 12207是软件生命周期过程的国际是软件生命周期过程的国际标准,旨在提供一套软件开发与维护过程中涉及的各标准,旨在提供一套软件开发与维护过程中涉及的各种任务定义的标准,如软件生命周期的选择、实现与种任务定义的标准,如软件生命周期的选择、实现与监控等。监控等。 可重复的、可预测的过程可重复的、可预测的过程能够提升软件生产的效率和能够提升软件生产的效率和质量。质量。 软件工程过程小组软件工程过程小组(Software Engineering Process Group, SEPG)提供给软件开发人员统一的标准的开提供给软件开发人员统一的标准的开发原则,充分协调各开发

3、人员、开发小组,通过过程发原则,充分协调各开发人员、开发小组,通过过程控制的方法,保证软件产品的质量。控制的方法,保证软件产品的质量。2023-5-83软件过程与生命周期软件过程与生命周期 通常生命周期通常生命周期模型要更模型要更一般化,一般化,而软件开发而软件开发过程则过程则更为更为具体化。具体化。 可重复的、可预测的过程能够提可重复的、可预测的过程能够提升软件生产的效率和升软件生产的效率和质量。质量。(过(过程改进)程改进) 生命周期生命周期是软件开发的宏观上的是软件开发的宏观上的框架框架,软件过程则涉及到软件开,软件过程则涉及到软件开发的流程等管理细节,在框架稳发的流程等管理细节,在框架

4、稳定的前提下允许对软件过程进行定的前提下允许对软件过程进行裁剪。裁剪。 4种不同类型的生命周期:顺序种不同类型的生命周期:顺序式、迭代式、增量式以及敏捷式式、迭代式、增量式以及敏捷式2023-5-841软件定义软件定义2软件开发软件开发3运行维护运行维护2023-5-85软件生命周期软件生命周期 过程过程管理主要采用的是一种管理主要采用的是一种“分而治之分而治之”的思想,的思想,即将整个软件的生命周期划分成即将整个软件的生命周期划分成软件定义、软件软件定义、软件开发和运行维护开发和运行维护三个主要的时期,每个时期再细三个主要的时期,每个时期再细分为具体的阶段,分别对应明确的任务。分为具体的阶段

5、,分别对应明确的任务。可行性分析可行性分析与开发计划与开发计划1. 目的:用目的:用最小的代价在尽可能短的时间内确定该软件项最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发,最后给决策者提供做目是否能够开发,是否值得开发,最后给决策者提供做与不做的依据与不做的依据。(。(较高层次的需求分析和设计较高层次的需求分析和设计)2. 任务:确定项目的规模和目标,确定项目的约束和限制任务:确定项目的规模和目标,确定项目的约束和限制;进行进行简要的需求分析,抽象简要的需求分析,抽象出逻辑出逻辑结构,建立逻辑模型结构,建立逻辑模型;从从逻辑模型出发,经过压缩的设计,探索出若干种可供逻辑模

6、型出发,经过压缩的设计,探索出若干种可供选择的主要解决选择的主要解决办法。办法。3. 每每种解决方法都要从三方面研究它的可行性:种解决方法都要从三方面研究它的可行性:技术可行技术可行性、性、经济可行性经济可行性和社会可行性和社会可行性。4. 描述所提出的描述所提出的解决方案和方案的可行性解决方案和方案的可行性,并拟定,并拟定开发计开发计划划,包括对费用包括对费用、时间、进度、人员组织、时间、进度、人员组织、硬件配置硬件配置、软件开发环境和运行软件开发环境和运行环境配置环境配置等进行说明和规划。等进行说明和规划。2023-5-86需求分析需求分析1.在在确定软件开发可行的情况下,对目标软件未来需

7、要确定软件开发可行的情况下,对目标软件未来需要完成的功能进行的详细分析完成的功能进行的详细分析。2.需求分析需求分析是软件开发后续阶段的基础,直接关系到整是软件开发后续阶段的基础,直接关系到整个系统开发的成功与否。由于用户的需求随着项目的个系统开发的成功与否。由于用户的需求随着项目的进展和理解处在不断的变化之中,进展和理解处在不断的变化之中,应对需求进行应对需求进行变更变更管理管理。3.应应充分理解和掌握用户对目标软件的期望,除充分理解和掌握用户对目标软件的期望,除功能需功能需求求外还要对系统设计有影响的外还要对系统设计有影响的非功能性需求非功能性需求加以识别加以识别和分析和分析。4.需求分析

8、需求分析阶段的输出是一份阶段的输出是一份“需求规格(需求规格(Specification)说明书说明书”的文档。的文档。2023-5-87软件设计软件设计1.软件设计是在需求分析的基础上寻求系统求解的框架,软件设计是在需求分析的基础上寻求系统求解的框架,如系统的架构设计、数据设计等如系统的架构设计、数据设计等。2.软件软件设计可分为设计可分为概要设计概要设计和和详细设计详细设计,此阶段的输出分,此阶段的输出分别为别为“概要设计说明书概要设计说明书”和和“详细设计说明书详细设计说明书”。3.设计方案设计方案是软件实现的蓝图,应综合考虑软件的性能、是软件实现的蓝图,应综合考虑软件的性能、扩展、安全

9、等因素,合理规划系统模块的结构,充分考扩展、安全等因素,合理规划系统模块的结构,充分考虑未来变化的可能性并预留空间,虑未来变化的可能性并预留空间,尽可能保证系统设计尽可能保证系统设计结构在整体上的稳定性结构在整体上的稳定性。2023-5-88程序编码程序编码 此阶段是将软件设计的结果翻译成某种计此阶段是将软件设计的结果翻译成某种计算机语言实现的程序代码算机语言实现的程序代码。(要忠于设计要忠于设计) 在在程序编码中必须要制定统一的如何编码程序编码中必须要制定统一的如何编码的标准规范,尽量提高程序的可读性、易的标准规范,尽量提高程序的可读性、易维护性,提高程序的运行效率。维护性,提高程序的运行效

10、率。2023-5-89软件测试软件测试程序编码后需要对程序编码后需要对代码代码进行严密的测试,以发现进行严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正软件在整个设计过程中存在的问题并加以纠正。测试测试的环节可分为的环节可分为单元测试、集成测试及系统测单元测试、集成测试及系统测试试三个阶段进行三个阶段进行。测试测试方法主要包括方法主要包括黑盒和白盒方法黑盒和白盒方法。测试过程需要建立详细的测试计划、编写测试用测试过程需要建立详细的测试计划、编写测试用例、记录并分析测试结果,以保证测试过程实施例、记录并分析测试结果,以保证测试过程实施的有效性,避免测试的随意性。的有效性,避免测试的随意

11、性。2023-5-810软件维护软件维护 软件维护软件维护是软件生命周期中持续时间最长的阶段,是软件生命周期中持续时间最长的阶段,是为软件能够持续适应用户的要求延续软件使用是为软件能够持续适应用户的要求延续软件使用寿命的活动寿命的活动。 改正性维护改正性维护:诊断:诊断和改正在使用过程中发现的软件错和改正在使用过程中发现的软件错误;误; 适应性维护适应性维护:修改:修改软件以适应环境的变化;软件以适应环境的变化; 完善性完善性维护维护:根据:根据用户的要求改进或扩充软件使用户的要求改进或扩充软件使它更它更完善;完善; 预防性维护预防性维护:修改:修改软件为将来的维护活动预先做准备。软件为将来的

12、维护活动预先做准备。2023-5-8112023-5-812传统生命周期模型传统生命周期模型 顺序的将生命周期阶段组织起来,严格顺序的将生命周期阶段组织起来,严格按照需求、分析、设计、编码和测试的按照需求、分析、设计、编码和测试的阶段阶段进行。进行。软件开发软件维护软件定义 传统的生命周期模型,其传统的生命周期模型,其中具有代表性的包括瀑布中具有代表性的包括瀑布模型、原型模型、增量模模型、原型模型、增量模型型等。等。 最最基本和有效基本和有效的可供选择的可供选择的的软件开发模型。软件开发模型。 在在20世纪世纪80年代之前,瀑布模型一直是唯一被广泛年代之前,瀑布模型一直是唯一被广泛采用的生命周

13、期模型,现在仍然是应用得采用的生命周期模型,现在仍然是应用得最广泛最广泛的的过程模型。过程模型。 按照传统的瀑布模型来开发软件,有如下特点。按照传统的瀑布模型来开发软件,有如下特点。 阶段间具有顺序性和阶段间具有顺序性和依赖性,文档驱动依赖性,文档驱动 推迟推迟实现,不急于编写代码实现,不急于编写代码 尽可能的理解和掌握系统需求,尽可能的理解和掌握系统需求, 清楚清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理地区分逻辑设计与物理设计,尽可能推迟程序的物理实现。实现。2023-5-813瀑布模型瀑布模型 质量保证的质量保证的观点观点 每个每个阶段都必须完成规定的文档,没有交出合格的阶段都必须

14、完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。文档就是没有完成该阶段的任务。 每个阶段结束前都要对所完成的文档进行评审,以每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。便尽早发现问题,改正错误。2023-5-8142023-5-815瀑布模型的问题瀑布模型的问题 传统的瀑布模型传统的瀑布模型 不希望有不希望有“变化变化” 变化来的越晚,付出变化来的越晚,付出的代价越高。的代价越高。 设计阶段过多的假设,设计阶段过多的假设,导致理想化、一厢情导致理想化、一厢情愿的东西过多。愿的东西过多。(用户用户只参与需求只参与需求) “文档驱动文档驱动”,静态,静态202

15、3-5-816实际瀑布模型实际瀑布模型 可以在一定程度可以在一定程度解决解决“变化变化”的的问题问题 如何如何“拥抱拥抱”变变化化? 计划驱动,计划驱动,在对在对系统系统整体的整体的把控把控和协调上和协调上,具有,具有优势优势,因此适合因此适合规模较大的规模较大的系统系统或分布式开发或分布式开发模模式。式。快速原型模型快速原型模型 快速原型模型(快速原型模型(Rapid Prototype)的主要的主要作用是在用户和作用是在用户和开发者之间起到开发者之间起到“桥梁桥梁”的作用的作用。 开发开发者和用户之间经常面临的一个状况是:用户熟悉的是者和用户之间经常面临的一个状况是:用户熟悉的是业务但不懂

16、得开发的技术,而开发者正好相反,其更熟悉业务但不懂得开发的技术,而开发者正好相反,其更熟悉具体的开发方法、工具等技术内容而不明白相关的业务具体的开发方法、工具等技术内容而不明白相关的业务流流程。程。 这这也是为什么需求分析较难开展的原因之一,也是无法固也是为什么需求分析较难开展的原因之一,也是无法固化用户需求的客观原因之一。化用户需求的客观原因之一。2023-5-8172023-5-818快速原型模型快速原型模型快速原型模型的特点快速原型模型的特点 快速原型模型要求快速原型模型要求对系统进行简单和快速的分析对系统进行简单和快速的分析,快速构,快速构造一个软件造一个软件原型。原型。 用户用户和开发者在试用或演示原型过程中加强沟通和反馈,和开发者在试用或演示原型过程中加强沟通和反馈,通过反复评价和改进原型,减少双方的误解,降低缺陷引通过反复评价和改进原型,减少双方的误解,降低缺陷引入的几率入的几率,降低,降低由于需求不明确带来的开发风险和提高软由于需求不明确带来的开发风险和提高软件质量,件质量,获取到用户真正的需求获取到用户真正的需求。 比较比较适合一个全新的系统开发,用户借助适合一个全新

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

当前位置:首页 > IT计算机 > Web服务

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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