软件开发过程的定义ppt课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件开发过程的定义ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 过程 定义 ppt 课件
- 资源描述:
-
1、Copyright Xinjun Mao 20051http:/ 计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件项目管理课程软件项目管理课程 之之Copyright Xinjun Mao 200521.项目案例2.什么是软件项目开发过程3.为什么需要定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结Copyright Xinjun Mao 20053n如果让你来组织一个软件项目的开发,你认为首先你所关注的问题是什么?Copyright Xinjun Mao 20054案例角色和人物小王:软件项目负责人老王:公司技术老总开发
2、小组:小李、老赵、小田、小谢Copyright Xinjun Mao 20055n由于时间紧迫,小王需要马上展开软件项目的开发工作,但是它现在面临一系列头痛的问题 软件项目的开发要做哪些方面的工作 这些工作应该按照什么样的次序开展进行?这些工作完成后将产生什么样的结果?按照什么样的规范来书写这些内容 如何让员工知道要做哪些工作 尽管他学过软件工程,但在小王的头脑中没有一个清晰、系统的认识 根据以往的经验,他认为需要去制订一个清晰、详细、完整的软件开发过程Copyright Xinjun Mao 20056n小王向老王寻求帮助,老王告诉小王公司以前从来没有这些方面的记录,各个项目组都从零开始制定
3、自己的软件开发过程,但都没有形成文档n经过慎重考虑,小王向老王建议: 项目组需要定义软件开发过程 公司需要一个良定义、文档化的软件开发过程,以便于支持不同项目组的开发工作n老王同意小王的建议,并要求他制定和文档化一个针对公司特点、并且能满足大部分软件项目需求的软件开发过程Copyright Xinjun Mao 20057n于是,小王只好找了一大堆的资料,带着许多疑问和困惑,考虑和制订项目开发的过程和活动。 什么是软件开发过程? 如何清晰、准确、规范地对它加以定义? 如何根据公司的特点,制定软件开发过程? 如何不断地改进软件开发过程? 如何根据项目的特点剪裁过程 等等Copyright Xin
4、jun Mao 20058n软件开发过程的制定对软件项目的实施是很重要的n软件开发过程需要文档化,便于交流、培训、改进n软件开发过程的制定应针对具体组织和项目的特点n一个组织最好应该有特定于该组织、一般性的软件开发过程,供各个项目剪裁和使用n通过培训让项目组成员了解软件开发过程Copyright Xinjun Mao 20059n什么是软件开发过程?n如何清晰、准确、规范地对它加以定义?n如何根据公司的特点,制定软件开发过程?n如何不断地改进软件开发过程?n如何根据项目的特点剪裁过程nCopyright Xinjun Mao 2005101.项目案例2.什么是软件项目开发过程3.为什么需要定义
5、过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结Copyright Xinjun Mao 200511n什么是过程?n什么是软件开发过程?Copyright Xinjun Mao 200512n针对一个给定目的地一系列操作步骤(IEEE-STD-610)n例如 目的:去火车站 操作步骤:去德雅路公共汽车站,乘113路汽车n每个过程都有明确的目的以及具体的操作步骤,操作步骤说明了有哪些操作以及按照什么样的方式来执行操作Copyright Xinjun Mao 200513n按照项目的进度、成本和质量限制,开发和维护满足用户需求的软件所必需的一组有序的软件开发活动集合n
6、软件开发活动的例子 需求分析 设计n开发活动的序例子 先做需求分析,然后再做软件设计 Copyright Xinjun Mao 200514n软件开发过程的组成 软件开发活动 软件开发活动间的关系(执行和实施的序)活动活动1活动活动2活动活动3活动活动4Copyright Xinjun Mao 200515n什么是软件开发活动? 为开发软件项目而执行的一项具有明确任务的具体工作 例如,需求分析,执行单元测试,制定软件项目开发计划等n软件开发过程中存在许多相互关联的软件开发活动 明确的任务 非孤立,和其他活动存在关联Copyright Xinjun Mao 200516n按任务性质,软件开发活动
7、可分为二种形式 技术活动n对软件项目实施开发,产生软件产品n例如,需求分析,概要设计,编码,单元测试等等 管理活动n对软件项目中的人、产品和过程等实施管理的活动n例如,制订软件项目计划,软件配置等等Copyright Xinjun Mao 200517n如何定义软件开发活动? 名称 任务 输入: 开始所必需满足的条件 输出: 完成时所必须满足的条件以及结果 实施: 做什么,怎么做(详细的步骤),或者如何从输入产生输出 软件开发活动软件开发活动输入输入输出输出Copyright Xinjun Mao 200518n软件活动例子: 单元测试 任务n对软件基本单元模块进行测试,判断是否有错 输入n有
8、一个已完成、被文档化和批准的软件单元测试计划n供测试的软件单元模块代码 实施n遵循单元测试计划,运行了所有的测试用例n撰写了单元测试报告 输出n单元测试报告Copyright Xinjun Mao 200519n软件开发活动之间的次序反映了活动之间的依赖关系 逻辑n一个软件开发活动输出是另一个软件开发活动的输入n例如,需求分析和软件设计之间 时间n一个软件开发活动需等到另一个软件开发活动完成之后才能执行n例如,集成测试和确认测试Copyright Xinjun Mao 2005201.项目案例2.什么是软件项目开发过程3.为什么需要定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7
9、.案例分析8.小结Copyright Xinjun Mao 200521n明确了软件开发的过程和步骤,促进工程化软件开发n便于制定软件项目计划n为软件开发提供了可视性,便于对软件开发过程进行管理和控制n便于细化和安排任务,使得每个人员明确各自的工作Copyright Xinjun Mao 2005221.项目案例2.什么是软件项目开发过程3.为什么需要定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结Copyright Xinjun Mao 200523n什么是软件开发过程模型? 软件开发模型是软件开发全过程、软件开发活动以及它们之间关系的的结构框架 指导软件开发
10、,以及软件开发过程的定义n常用的软件开发过程模型 瀑布模型 原型模型 增量模型 迭代模型 螺旋模型Copyright Xinjun Mao 200524需求分析需求分析软件设计软件设计编码编码测试测试软件定义软件定义l 特点:特点:分阶段阶段间有因果关系评审允许反馈l适合场所适合场所需求易于完善定义的软件需求分析需求分析软件设计软件设计编码编码测试测试软件定义软件定义Copyright Xinjun Mao 200525 初初步步需需求求分分析析 快快速速设设计计 建建造造原原型型 用用户户评评估估原原型型(新新需需求求) 开开发发产产品品 开开始始 结结束束 l特点特点有效适应用户需求的变化
11、不知循环多少次,进度难以控制l适合场所适合场所需求动态变化、难以确定的软件系统Copyright Xinjun Mao 200526交付产品交付产品需求分析需求分析概要设计概要设计软件定义软件定义系统测试系统测试编码编码集成测试集成测试详细设计详细设计编码编码集成测试集成测试详细设计详细设计增量增量1增量增量nl特点特点并行开发管理复杂Copyright Xinjun Mao 200527n特点通过逐步迭代,建立软件系统n适合场所需求没有/难以完整定义的软件需求分析需求分析软件设计软件设计编码编码测试测试软件定义软件定义需求分析需求分析软件设计软件设计编码编码测试测试软件定义软件定义迭代1迭代
12、迭代2 2Copyright Xinjun Mao 200528n特点以风险为导向n应用场所开发风险较大的软件项目Copyright Xinjun Mao 2005291.项目案例2.什么是软件项目开发过程3.为什么需要定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结Copyright Xinjun Mao 200530n全面 定义要应用到软件项目中的所有活动项n可操作 各个活动易于实施n简洁、易于理解 不含无意义的活动,描述简洁易于理解n灵活 可供各个项目进行灵活剪裁n易于改进 能够不断对它进行改进和提高Copyright Xinjun Mao 200531n
13、步骤1:确定软件开发过程模型n步骤2:确定和描述活动n步骤3:确定和描述活动间的关系n步骤4:文档化软件开发过程n步骤5:文档化如何剪裁过程n步骤6:文档化如何改善过程n步骤7:过程评审、认可和发布n步骤8:员工培训Copyright Xinjun Mao 200532选择软件开发过选择软件开发过程模型程模型确定和描述活动确定和描述活动确定和描述活动确定和描述活动关系关系文档化软件开发文档化软件开发过程过程文档化如何剪裁过程文档化如何剪裁过程文档化如何改进过程文档化如何改进过程评审认可发布评审认可发布员工培训员工培训Copyright Xinjun Mao 200533n选择软件开发过程模型应
14、考虑的问题 组织软件的需求特征n动态改变n可完全定义 项目的风险n风险因素有多大n能承受多少? 是否需要预先给用户展示原型? 需要多少经验和技巧来成功的使用软件开发过程模型 组织或项目组成员的经验和能力等等Copyright Xinjun Mao 200534n注意:组织应该努力选择满足组织要求、尽可能少的软件开发过程模型 软件开发模型数目不宜过多 所选择的软件开发模型不宜过于复杂 最好选择哪些组织成员熟悉的、有使用经验的软件开发过程模型Copyright Xinjun Mao 2005351.确定活动2.定义和描述活动Copyright Xinjun Mao 200536n任务 明确软件开发
15、过程应包含哪些活动n注意 软件开发活动包括技术活动和管理活动 技术活动:需求分析、撰写软件使用资料 管理活动:制定软件开发计划Copyright Xinjun Mao 200537n确定活动的原则 基于所选择的软件开发过程模型确定活动 一般的,软件开发过程模型仅仅确定软件开发的技术活动 所确定的活动对于软件项目的开发是必要的 活动尽可能是全面的,适合于各种可能的软件项目,可供它们进行剪裁Copyright Xinjun Mao 200538n技术活动需求分析概要设计详细设计编码集成测试撰写出版物用户确认测试软件发布n管理活动制定初步软件开发计划制定详细软件开发计划制定软件配置管理计划制定软件质
16、量保证计划项目跟踪和监督配置管理用户培训Copyright Xinjun Mao 200539n对所确定的活动给出定义和描述 名称 任务 输入 输出 实施Copyright Xinjun Mao 200540n名称 需求分析n任务 进行需求调查,定义软件的用户需求 撰写软件需求规格说明书(SRS) 根据SRS,制定软件确认测试计划 对SRS和软件确认测试计划进行评审,产生经批准的SRS和软件确认测试计划n输入 用户的初步需求描述Copyright Xinjun Mao 200541n实施 根据用户需求描述,分析和定义软件的用户需求,按照软件需求规格说明书编写指南撰写软件需求规格说明书 对SRS
17、进行评审,评审的原则:正确性、完整性、一致性、简洁性、规范化 根据软件的用户需求,制定软件确认测试计划,按照软件确认测试计划编写指南撰写软件确认测试计划文档n输出 经批准的SRS, 经批准的软件确认测试计划Copyright Xinjun Mao 200542n活动之间主要有哪些关系? 执行时序关系n时间先后关系n例如,集成测试完成之后,才能进行确认测试 逻辑依赖关系n一个活动的执行需要其它活动实施产生的结果n逻辑依赖关系蕴涵了执行时序关系n例如,软件概要设计和需求分析之间Copyright Xinjun Mao 200543n如何描述活动之间的关系 入口条件n例如,软件设计(逻辑依赖),有一
18、个已完成、被文档化和批准的软件需求规格说明书n例如,确认测试(执行时序),集成测试已经完成 出口条件n例如,软件需求分析(逻辑依赖),产生一个已完成、被文档化和批准的软件需求规格说明书Copyright Xinjun Mao 200544n直观的图形描述 节点表示活动 有向边表示活动之间的关系n执行时序n逻辑关系活动活动1 1活动活动2 2活动活动1 1活动活动2 2Copyright Xinjun Mao 200545n需求分析、概要设计和详细设计 入口条件(概要设计)n经过批准的软件需求规格说明书 出口条件(概要设计)n软件概要设计规格说明书n数据库设计规格说明书n软件接口设计规格说明书需
19、求分析需求分析详细设计详细设计概要设计概要设计Copyright Xinjun Mao 200546n什么是文档化? 书面、文字化描述和记录,并形成相应的、规范化的文档n为什么需要文档化软件开发过程? 便于记录和保存 便于获取、理解和交流 便于剪裁 便于改进Copyright Xinjun Mao 200547n如何文档化软件开发过程? 首先给出软件开发过程的直观、完整视图(图形化) 其次详细描述活动 第三详细描述活动间关系Copyright Xinjun Mao 200548n首先: 如何提供软件开发过程的完整视图? 基于图形方式直观展示整个软件开发过程中的活动以及它们之间的关系 给出软件开
20、发过程的整体、直观描述 便于从整体上理解和把握软件开发过程 注意不要作时间约束和限制Copyright Xinjun Mao 200549 制制定定初初步步计计划划 制制定定质质量量保保证证计计划划 制制定定软软件件配配置置计计划划 需需求求分分析析 概概要要设设计计 跟跟踪踪和和监监督督 配配置置管管理理 技技术术活活动动 管管理理活活动动 Copyright Xinjun Mao 200550n其次,描述和文档化软件开发活动 名称 任务 输入 实施(如何实施,采用什么方法,具体过程和步骤?) 输出 说明Copyright Xinjun Mao 200551n名称 需求分析n任务 进行需求调
21、查,定义软件的用户需求 撰写软件需求规格说明书(SRS) 根据SRS,制定软件确认测试计划 对SRS和软件确认测试计划进行评审,产生经批准的SRS和软件确认测试计划n输入 用户的初步需求描述Copyright Xinjun Mao 200552n实施 根据用户需求描述,分析和定义软件的用户需求,按照软件需求规格说明书编写指南撰写软件需求规格说明书 根据软件的用户需求,制定软件确认测试计划,按照软件确认测试计划编写指南撰写软件确认测试计划文档 对SRS和软件确认测试计划进行评审,评审的原则:正确性、完整性、一致性、简洁性、规范化n输出 经批准的SRS, 经批准的软件确认测试计划n说明 一般的,用
展开阅读全文