软件工程概要-北京大学课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程概要-北京大学课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 概要 北京大学 课件
- 资源描述:
-
1、 Copyright Peking University 2008.All rights reserved.第二章、第二章、软件生存周期过程软件生存周期过程概念:概念:当开发产品或构建系统时,遵循一系列可预测的步骤(路线图)是非常重要的,它有助于及时交付高质量的产品。软件开发中所遵循的路线图就是“软件过程”。人员人员:软件工程师及其管理人员根据需要调整开发过程,并遵循该过程。除此以外,软件的需求方也需要参与过程的定义、建立和测试。重要性重要性:软件过程提高了软件工程活动的稳定性、可控性和有组织性,如果没有过程约束,软件活动将失控并变得混乱。但是,现代软件工程方法必须是“灵活”的,也就是要求软件
2、工程活动、控制以及文档的编制适合于项目团队和要开发的产品。Copyright Peking University 2008.All rights reserved.2.1 2.1 相关基本相关基本概念概念软件生存周期软件生存周期(Software life cycleSoftware life cycle):软件产品或软件系统从产生、投入使用到被淘汰的全过程。通常将软件生存周期分为5个阶段,即需求、设计、实现(编码)、测试和维护。张效祥主编.计算机科学技术百科全书(第2版),北京:清华大学出版社,2005年11月.软件生存周期软件生存周期模型(有时称为软件开发模型):模型(有时称为软件开发模型
3、):它是整个软件生存周期内的系统开发、运行和维护所实施的全部过程、活动和任务的框架。郑人杰.软件工程.北京:清华大学出版社,1999.Copyright Peking University 2008.All rights reserved.3软件开发模型软件开发模型是软件开发全部过程、活动和任务的结构框架。张效祥主编.计算机科学技术百科全书(第2版),北京:清华大学出版社,2005年11月.王立福,麻志毅、张世琨.软件工程(第2版).北京大学出版社,2002年3月.软件开发模型表达的是软件生存周期内各种活动软件开发模型表达的是软件生存周期内各种活动如何组织,以及各个阶段应该如何衔接。如何组织,
4、以及各个阶段应该如何衔接。2.2 2.2 软件过程软件过程 为了细化软件生存周期这一概念,国际标准化组织于1995年发布了一个国际标准,即ISO/IEC软件生存周期过程 12207-1995。这一标准是软件工程标准中一个基础性文件,系统化地给出了软件开发所需要的任务系统化地给出了软件开发所需要的任务。软件过程:软件过程:软件生存周期中的一系列相关过程。又称为软件生存周期过程。过程是活动的集合,活动是任务的集合,任务是将输入加工成输出的操作。Copyright Peking University 2008.All rights reserved.v 随着ISO/IEC软件生存周期过程 12207
5、-1995的不断应用,以及软件复用技术的发展,并结合CMM(能力成熟度模型)和ISO/IEC/TR15504的推进,国际标准化组织于2002年给出了ISO/IEC 12207-1995的补篇1,主要:增加了一些新的软件过程,例如测量过程、资产管理过程、复用程序管理过程以及领域软件工程过程等;增加了一些有关增进该标准应用效果的内容,例如给出了每一过程的目标以及成功实现过程的基本判定准则等。v 于2004年给出了ISO/IEC 12207-1995的补篇2,主要对补篇1的内容做了一些修改。v 该标准按照不同人员的工作内容来分,将软件生存周期过程分为三类:基本过程、支持过程和组织过程。v 在该标准的
6、附录中,给出了剪裁过程以及相关的指导,以便当把软件过程运用到相关组织,运用到具体应用领域或具体项目时,可以根据特定情况,对各种过程和活动进行剪裁,形成特定项目所需要的软件生存周期过程。Copyright Peking University 2008.All rights reserved.软件过程:系统化地给出了软件开发所需要的任务;软件过程:系统化地给出了软件开发所需要的任务;软件开发模型:如何根据软件项目特点、环境因素等软件开发模型:如何根据软件项目特点、环境因素等,选择并组织这些开发任务。,选择并组织这些开发任务。软件过程和软件开发模型的区别?软件过程和软件开发模型的区别?Copyrig
7、ht Peking University 2008.All rights reserved.2.3 2.3 基本过程基本过程 基本过程是指那些与基本过程是指那些与软件生产软件生产直接相关的过程。直接相关的过程。包括包括5 5个过程个过程:获取过程、供应过程、开发过程、:获取过程、供应过程、开发过程、运行过程、维护过程运行过程、维护过程 2.3.1 2.3.1 获取过程获取过程 获取过程是获取过程是获取者获取者所从事的活动和任务。所从事的活动和任务。目的:获得满足客户所表达的那些要求的产品和目的:获得满足客户所表达的那些要求的产品和/或服或服务。该过程以定义客户要求开始,以接受客户所要求的产品务
8、。该过程以定义客户要求开始,以接受客户所要求的产品和和/或服务结束。或服务结束。该过程包括该过程包括5 5个基本活动:个基本活动:a)a)启动;启动;b)b)招标招标 标书标书 准备;准备;c)c)合同编制和更新;合同编制和更新;d)d)对供方的监督;对供方的监督;e)e)验收和完成。验收和完成。其中每一基本活动又包含一组特定的任务。其中每一基本活动又包含一组特定的任务。Copyright Peking University 2008.All rights reserved.其中的活动:其中的活动:启动启动主要任务主要任务:1 1)描述获取、开发或增强一个系统、软件产品或软件服务)描述获取、开
9、发或增强一个系统、软件产品或软件服务的概念或要求,以此开始这一活动。的概念或要求,以此开始这一活动。2 2)定义并分析该系统需求。系统需求一般应包括业务、组)定义并分析该系统需求。系统需求一般应包括业务、组织和用户的需求,还应包括与设计、测试有关的安全性、保密织和用户的需求,还应包括与设计、测试有关的安全性、保密性和其他关键性需求以及应遵循的标准和规程。性和其他关键性需求以及应遵循的标准和规程。3 3)需方可以自己定义并分析软件需求,也可委托供方进行)需方可以自己定义并分析软件需求,也可委托供方进行这项任务。这项任务。4 4)如果需方委托供方进行系统需求分析,那么需方就要审)如果需方委托供方进
10、行系统需求分析,那么需方就要审核并批准所分析的需求。核并批准所分析的需求。5 5)为了执行任务)为了执行任务2 2)和)和4 4),应使用开发过程(见),应使用开发过程(见2.3.32.3.3)。)。Copyright Peking University 2008.All rights reserved.6 6)依据对有关风险、费用和效益等方面的适当分析,选择)依据对有关风险、费用和效益等方面的适当分析,选择获取方案。方案包括:获取方案。方案包括:a)a)是否购买满足需求的现货软件产品;是否购买满足需求的现货软件产品;b)b)是否在自己组织内部进行软件产品的开发或获得软件服是否在自己组织内部进
11、行软件产品的开发或获得软件服务;务;c)c)是否通过合同来开发软件产品或获得软件服务;是否通过合同来开发软件产品或获得软件服务;d)d)是否采用上述是否采用上述a a、b b、c c的一个组合;的一个组合;e)e)是否增强现有的软件产品或服务。是否增强现有的软件产品或服务。7 7)当要去获得一个现成软件产品时,应确保满足以下条件:)当要去获得一个现成软件产品时,应确保满足以下条件:a)a)满足该软件产品的需求;满足该软件产品的需求;b)b)文档是可用的;文档是可用的;c)c)满足专利权、使用权、拥有权、担保权和许可权;满足专利权、使用权、拥有权、担保权和许可权;d)d)规划对该软件产品的未来支
12、持。规划对该软件产品的未来支持。Copyright Peking University 2008.All rights reserved.8 8)制定一个获取计划并执行之,该计划应包括下述内容:)制定一个获取计划并执行之,该计划应包括下述内容:a)a)对该系统的需求;对该系统的需求;b)b)为该系统所规划的使用;为该系统所规划的使用;c)c)准备使用的合同类型;准备使用的合同类型;d)d)有关组织的职责;有关组织的职责;e)e)准备使用的支持(例如验证、质量保证等);准备使用的支持(例如验证、质量保证等);f)f)风险以及管理这些风险的方法。风险以及管理这些风险的方法。9 9)定义验收策略和条
13、件(准则),并形成文档。)定义验收策略和条件(准则),并形成文档。在补篇在补篇1 1中,对获取过程增加了以下活动:中,对获取过程增加了以下活动:a)a)合同终结处理;合同终结处理;b)b)获取方针;获取方针;c)c)供应方关系管理;供应方关系管理;d)d)用户关系管理;用户关系管理;e)e)财财政管理。关于该过程的其它活动,可参见有关的标准。政管理。关于该过程的其它活动,可参见有关的标准。Copyright Peking University 2008.All rights reserved.成功实现获取过程的结果是:成功实现获取过程的结果是:1 1)定义了获取要求、目标、产品)定义了获取要求
14、、目标、产品/或服务验收准则以及获取或服务验收准则以及获取策略;策略;2 2)制定了能明确表达顾客和供方的期望、职责和义务的协)制定了能明确表达顾客和供方的期望、职责和义务的协定;定;3 3)获得了满足顾客要求的产品和)获得了满足顾客要求的产品和/或服务;或服务;4 4)按规定的约束,例如要满足的成本、进度和质量等,对)按规定的约束,例如要满足的成本、进度和质量等,对该获取过程进行了监督;该获取过程进行了监督;5 5)验收了供方的可交付产品。)验收了供方的可交付产品。6 6)对每一接受的交付项,均有一个由客户和供方达成的满)对每一接受的交付项,均有一个由客户和供方达成的满意性结论。意性结论。C
15、opyright Peking University 2008.All rights reserved.2.3.2 2.3.2 供应过程供应过程 供应过程是供应过程是供方供方为了向客户提供满足需求的软件产品或服为了向客户提供满足需求的软件产品或服务所从事的一系列活动和任务。务所从事的一系列活动和任务。该过程的启动,或通过为应答需方的招标书而开始编制投标书的决定,或通过与需方签订一项提供系统、软件产品或软件服务的合同。继之,确定为管理和保证项目所需的规程和资源,包括编制项目计划,执行计划,一直到将系统、软件产品或软件服务交付给需方为止。目的:是向客户提供一个满足已达成需求的产品或服务。目的:是向
16、客户提供一个满足已达成需求的产品或服务。该过程包括的基本活动为:该过程包括的基本活动为:a)a)启动;启动;b)b)准备投标;准备投标;c)c)签订合同;签订合同;d)d)规划;规划;e)e)执行和控制;执行和控制;f)f)复审和评估;复审和评估;g)g)交付和完成。交付和完成。Copyright Peking University 2008.All rights reserved.成功实现供应过程的结果是成功实现供应过程的结果是:a)a)对顾客请求产生了一个响应;对顾客请求产生了一个响应;b)b)在顾客与供方之间建立了一个关于开发、维护、运行、在顾客与供方之间建立了一个关于开发、维护、运行、
17、包装、交付和安装产品和包装、交付和安装产品和/或服务的协定;或服务的协定;c)c)供方开发了一个符合协定需求的产品和供方开发了一个符合协定需求的产品和/或服务;或服务;d)d)根据协定的需求,向顾客交付了该产品和根据协定的需求,向顾客交付了该产品和/或服务;或服务;e)e)根据协定的需求,安装了该产品。根据协定的需求,安装了该产品。Copyright Peking University 2008.All rights reserved.2.3.3 2.3.3 开发过程开发过程 开发过程是开发过程是软件开发者软件开发者所从事的一系列活动。所从事的一系列活动。目的:将一组需求转换为一个软件产品或系
18、统。目的:将一组需求转换为一个软件产品或系统。包括包括1313个活动:个活动:过程实现过程实现 系统需求分析系统需求分析 系统结构设计系统结构设计 软件需求分析软件需求分析 软件体系结构设计软件体系结构设计 软件详细设计软件详细设计 软件编码和测试软件编码和测试 软件集成软件集成 软件合格测试软件合格测试 系统集成系统集成 系统合格测试系统合格测试 软件安装软件安装 软件验收支持软件验收支持 Copyright Peking University 2008.All rights reserved.其中的活动:其中的活动:过程实现过程实现主要任务主要任务:(1 1)如果合同中没有规定采用什么软件
19、生存周期模如果合同中没有规定采用什么软件生存周期模型,那么开发者就应规定或选择适合于项目范围、规模和型,那么开发者就应规定或选择适合于项目范围、规模和复杂度的软件生存周期模型。并应选择该开发过程中的活复杂度的软件生存周期模型。并应选择该开发过程中的活动和任务,将其映射到生存周期模型。其中,依据采用的动和任务,将其映射到生存周期模型。其中,依据采用的软件生存周期模型,所选择的活动和任务可以是重叠的或软件生存周期模型,所选择的活动和任务可以是重叠的或相互作用的,并可以是重复的或循环的。相互作用的,并可以是重复的或循环的。(2 2)开发者应:)开发者应:a)a)按照文档编制过程,对任务(按照文档编制
20、过程,对任务(1 1)的输出建立相应)的输出建立相应的文档;的文档;b)b)将这一输出置于配置管理过程之下,并按照配置将这一输出置于配置管理过程之下,并按照配置管理的要求进行变更控制;管理的要求进行变更控制;c)c)按照问题解决过程,对在软件产品和任务中所发按照问题解决过程,对在软件产品和任务中所发现的问题之解决建立相应的文档;现的问题之解决建立相应的文档;d)d)实施合同中规定的支实施合同中规定的支持过程。持过程。Copyright Peking University 2008.All rights reserved.(3 3)开发者应适当地选择、剪裁、使用那些由组织为实开发者应适当地选择、
21、剪裁、使用那些由组织为实施开发过程和支持过程所建立的标准、方法、工具和计算机编施开发过程和支持过程所建立的标准、方法、工具和计算机编程语言(如果合同没有规定),并建立相应的文档。程语言(如果合同没有规定),并建立相应的文档。(4 4)开发者应为实施开发过程的活动制定一些计划。这开发者应为实施开发过程的活动制定一些计划。这些计划应包括与所有需求(包括安全保密性)的开发和限定条些计划应包括与所有需求(包括安全保密性)的开发和限定条件相关联的特定标准、方法、工具、措施和职责。如果必要的件相关联的特定标准、方法、工具、措施和职责。如果必要的话,这些计划可以分别制订之。这些计划均应形成文档并执行话,这些
22、计划可以分别制订之。这些计划均应形成文档并执行之。之。(5 5)在软件产品的开发或维护中,可以使用一些非交付在软件产品的开发或维护中,可以使用一些非交付的软件项。但应确保对那些已交付获取方的软件产品的操作和的软件项。但应确保对那些已交付获取方的软件产品的操作和维护,要独立于这些非交付项,否则它们就应被认为是可交付维护,要独立于这些非交付项,否则它们就应被认为是可交付的。的。Copyright Peking University 2008.All rights reserved.其中的活动:其中的活动:软件需求分析软件需求分析 目的目的:确定软件需求及质量特性需求。:确定软件需求及质量特性需求。
23、主要任务主要任务:编制软件需求规格说明书编制软件需求规格说明书 检查软件需求:检查软件需求:是否能够跟踪系统需求、结构;是否能够跟踪系统需求、结构;从外部上,是否与系统需求保持一致;从外部上,是否与系统需求保持一致;需求内部的一致性;需求内部的一致性;是否具有可测性;是否具有可测性;测试覆盖是否可达到要求;测试覆盖是否可达到要求;操作(设计和实现),维护的可行性等操作(设计和实现),维护的可行性等其内容包含其内容包含:功能和性能需求;功能和性能需求;外界与软件的接外界与软件的接口口合格需求;合格需求;安全需求;安全需求;保密需求;保密需求;人机界面需求;人机界面需求;数据定义和数据库需求;数据
24、定义和数据库需求;用户文档用户文档;用户操作和运行需求;用户操作和运行需求;用户维护需用户维护需求求 Copyright Peking University 2008.All rights reserved.成功实现开发过程的结果是成功实现开发过程的结果是:a)收集了软件开发需求并达成协定;收集了软件开发需求并达成协定;b)开发了软件产品或基于软件的系统;开发了软件产品或基于软件的系统;c)开发了证明最终产品是基于需求的中间工作产品;开发了证明最终产品是基于需求的中间工作产品;d)在开发过程的产品之间,建立了一致性;在开发过程的产品之间,建立了一致性;e)根据系统需求,优化了系统质量因素,例如
25、,速度、开发成根据系统需求,优化了系统质量因素,例如,速度、开发成本、易用性等;本、易用性等;f)提供了证明最终产品满足需求的证据(例如,测试证据);提供了证明最终产品满足需求的证据(例如,测试证据);g)根据协定的需求,安装了最终产品。根据协定的需求,安装了最终产品。Copyright Peking University 2008.All rights reserved.2.3.4 2.3.4 运行过程运行过程 运行过程是运行过程是系统操作者系统操作者所从事的一系列活动和任务。其目标所从事的一系列活动和任务。其目标是在软件产品预期的环境中运行该产品,并为该软件产品的维护是在软件产品预期的环境
展开阅读全文