软件开发过程的定义剪裁和改进.ppt
《软件开发过程的定义剪裁和改进.ppt》由会员分享,可在线阅读,更多相关《软件开发过程的定义剪裁和改进.ppt(109页珍藏版)》请在三一办公上搜索。
1、Copyright Xinjun Mao 2005,1,第2讲 软件开发过程的定义、剪裁和改进,毛新军http:/计算机科学与技术系602教研室 0731-(45)73649,软件项目管理课程 之,Copyright Xinjun Mao 2005,2,讲授内容,项目案例什么是软件项目开发过程为什么需要定义过程软件开发过程模型如何定义过程如何剪裁过程案例分析小结,Copyright Xinjun Mao 2005,3,问题,如果让你来组织一个软件项目的开发,你认为首先你所关注的问题是什么?,Copyright Xinjun Mao 2005,4,1.项目案例,案例角色和人物,小王:软件项目负责
2、人,老王:公司技术老总,开发小组:小李、老赵、小田、小谢,Copyright Xinjun Mao 2005,5,软件开发需要过程(1/3),由于时间紧迫,小王需要马上展开软件项目的开发工作,但是它现在面临一系列头痛的问题软件项目的开发要做哪些方面的工作这些工作应该按照什么样的次序开展进行?这些工作完成后将产生什么样的结果?按照什么样的规范来书写这些内容如何让员工知道要做哪些工作尽管他学过软件工程,但在小王的头脑中没有一个清晰、系统的认识根据以往的经验,他认为需要去制订一个清晰、详细、完整的软件开发过程,Copyright Xinjun Mao 2005,6,软件开发需要过程(2/3),小王向
3、老王寻求帮助,老王告诉小王公司以前从来没有这些方面的记录,各个项目组都从零开始制定自己的软件开发过程,但都没有形成文档经过慎重考虑,小王向老王建议:项目组需要定义软件开发过程公司需要一个良定义、文档化的软件开发过程,以便于支持不同项目组的开发工作老王同意小王的建议,并要求他制定和文档化一个针对公司特点、并且能满足大部分软件项目需求的软件开发过程,Copyright Xinjun Mao 2005,7,软件开发需要过程(3/3),于是,小王只好找了一大堆的资料,带着许多疑问和困惑,考虑和制订项目开发的过程和活动。什么是软件开发过程?如何清晰、准确、规范地对它加以定义?如何根据公司的特点,制定软件
4、开发过程?如何不断地改进软件开发过程?如何根据项目的特点剪裁过程等等,Copyright Xinjun Mao 2005,8,过程是重要的,软件开发过程的制定对软件项目的实施是很重要的软件开发过程需要文档化,便于交流、培训、改进软件开发过程的制定应针对具体组织和项目的特点一个组织最好应该有特定于该组织、一般性的软件开发过程,供各个项目剪裁和使用通过培训让项目组成员了解软件开发过程,Copyright Xinjun Mao 2005,9,问题的提出,什么是软件开发过程?如何清晰、准确、规范地对它加以定义?如何根据公司的特点,制定软件开发过程?如何不断地改进软件开发过程?如何根据项目的特点剪裁过程
5、,Copyright Xinjun Mao 2005,10,讲授内容,项目案例什么是软件项目开发过程为什么需要定义过程软件开发过程模型如何定义过程如何剪裁过程案例分析小结,Copyright Xinjun Mao 2005,11,什么是软件开发过程,什么是过程?什么是软件开发过程?,Copyright Xinjun Mao 2005,12,2.1什么是过程?,针对一个给定目的地一系列操作步骤(IEEE-STD-610)例如目的:去火车站 操作步骤:去德雅路公共汽车站,乘113路汽车每个过程都有明确的目的以及具体的操作步骤,操作步骤说明了有哪些操作以及按照什么样的方式来执行操作,Copyrigh
6、t Xinjun Mao 2005,13,2.2什么是软件开发过程(1/2),按照项目的进度、成本和质量限制,开发和维护满足用户需求的软件所必需的一组有序的软件开发活动集合软件开发活动的例子需求分析设计开发活动的序例子先做需求分析,然后再做软件设计,Copyright Xinjun Mao 2005,14,2.2什么是软件开发过程(2/2),软件开发过程的组成软件开发活动软件开发活动间的关系(执行和实施的序),Copyright Xinjun Mao 2005,15,2.3软件开发活动(1/4),什么是软件开发活动?为开发软件项目而执行的一项具有明确任务的具体工作例如,需求分析,执行单元测试,
7、制定软件项目开发计划等软件开发过程中存在许多相互关联的软件开发活动明确的任务非孤立,和其他活动存在关联,Copyright Xinjun Mao 2005,16,2.3软件开发活动(2/4),按任务性质,软件开发活动可分为二种形式技术活动对软件项目实施开发,产生软件产品例如,需求分析,概要设计,编码,单元测试等等管理活动对软件项目中的人、产品和过程等实施管理的活动例如,制订软件项目计划,软件配置等等,Copyright Xinjun Mao 2005,17,2.3软件开发活动(3/4),如何定义软件开发活动?名称任务输入:开始所必需满足的条件输出:完成时所必须满足的条件以及结果实施:做什么,怎
8、么做(详细的步骤),或者如何从输入产生输出,Copyright Xinjun Mao 2005,18,2.3软件开发活动(4/4),软件活动例子:单元测试任务对软件基本单元模块进行测试,判断是否有错输入有一个已完成、被文档化和批准的软件单元测试计划供测试的软件单元模块代码实施遵循单元测试计划,运行了所有的测试用例撰写了单元测试报告输出单元测试报告,Copyright Xinjun Mao 2005,19,2.4软件开发活动间的关系,软件开发活动之间的次序反映了活动之间的依赖关系逻辑一个软件开发活动输出是另一个软件开发活动的输入例如,需求分析和软件设计之间时间一个软件开发活动需等到另一个软件开发
9、活动完成之后才能执行例如,集成测试和确认测试,Copyright Xinjun Mao 2005,20,讲授内容,项目案例什么是软件项目开发过程为什么需要定义过程软件开发过程模型如何定义过程如何剪裁过程案例分析小结,Copyright Xinjun Mao 2005,21,为什么需要过程,明确了软件开发的过程和步骤,促进工程化软件开发便于制定软件项目计划为软件开发提供了可视性,便于对软件开发过程进行管理和控制便于细化和安排任务,使得每个人员明确各自的工作,Copyright Xinjun Mao 2005,22,讲授内容,项目案例什么是软件项目开发过程为什么需要定义过程软件开发过程模型如何定义
10、过程如何剪裁过程案例分析小结,Copyright Xinjun Mao 2005,23,软件开发过程模型,什么是软件开发过程模型?软件开发模型是软件开发全过程、软件开发活动以及它们之间关系的的结构框架指导软件开发,以及软件开发过程的定义常用的软件开发过程模型瀑布模型原型模型增量模型迭代模型螺旋模型,Copyright Xinjun Mao 2005,24,4.1 瀑布模型,特点:分阶段阶段间有因果关系评审允许反馈,适合场所需求易于完善定义的软件,Copyright Xinjun Mao 2005,25,4.2原型模型,特点有效适应用户需求的变化不知循环多少次,进度难以控制,适合场所需求动态变化
11、、难以确定的软件系统,Copyright Xinjun Mao 2005,26,4.3增量模型(Incremental),交付产品,特点并行开发管理复杂,Copyright Xinjun Mao 2005,27,4.4迭代模型(Iterative),特点通过逐步迭代,建立软件系统适合场所需求没有/难以完整定义的软件,迭代1,迭代2,Copyright Xinjun Mao 2005,28,4.5 螺旋模型,特点以风险为导向,应用场所开发风险较大的软件项目,Copyright Xinjun Mao 2005,29,讲授内容,项目案例什么是软件项目开发过程为什么需要定义过程软件开发过程模型如何定义
12、过程如何剪裁过程案例分析小结,Copyright Xinjun Mao 2005,30,定义软件开发过程的要求,全面定义要应用到软件项目中的所有活动项可操作各个活动易于实施简洁、易于理解不含无意义的活动,描述简洁易于理解灵活可供各个项目进行灵活剪裁易于改进能够不断对它进行改进和提高,Copyright Xinjun Mao 2005,31,定义软件开发过程的步骤(1/2),步骤1:确定软件开发过程模型步骤2:确定和描述活动步骤3:确定和描述活动间的关系步骤4:文档化软件开发过程步骤5:文档化如何剪裁过程步骤6:文档化如何改善过程步骤7:过程评审、认可和发布步骤8:员工培训,Copyright
13、Xinjun Mao 2005,32,定义软件开发过程的步骤(2/2),选择软件开发过程模型,确定和描述活动,确定和描述活动关系,文档化软件开发过程,文档化如何剪裁过程,文档化如何改进过程,评审认可发布,员工培训,Copyright Xinjun Mao 2005,33,步骤1:选择软件开发过程模型(1/2),选择软件开发过程模型应考虑的问题组织软件的需求特征动态改变可完全定义项目的风险风险因素有多大能承受多少?是否需要预先给用户展示原型?需要多少经验和技巧来成功的使用软件开发过程模型组织或项目组成员的经验和能力等等,Copyright Xinjun Mao 2005,34,步骤1:选择软件开
14、发过程模型(2/2),注意:组织应该努力选择满足组织要求、尽可能少的软件开发过程模型软件开发模型数目不宜过多所选择的软件开发模型不宜过于复杂最好选择哪些组织成员熟悉的、有使用经验的软件开发过程模型,Copyright Xinjun Mao 2005,35,步骤2:确定和描述活动,确定活动定义和描述活动,Copyright Xinjun Mao 2005,36,确定活动(1/2),任务明确软件开发过程应包含哪些活动注意软件开发活动包括技术活动和管理活动技术活动:需求分析、撰写软件使用资料管理活动:制定软件开发计划,Copyright Xinjun Mao 2005,37,确定活动(2/2),确定
15、活动的原则基于所选择的软件开发过程模型确定活动一般的,软件开发过程模型仅仅确定软件开发的技术活动所确定的活动对于软件项目的开发是必要的活动尽可能是全面的,适合于各种可能的软件项目,可供它们进行剪裁,Copyright Xinjun Mao 2005,38,例子:确定软件开发活动,技术活动需求分析概要设计详细设计编码集成测试撰写出版物用户确认测试软件发布,管理活动制定初步软件开发计划制定详细软件开发计划制定软件配置管理计划制定软件质量保证计划项目跟踪和监督配置管理用户培训,Copyright Xinjun Mao 2005,39,定义和描述活动,对所确定的活动给出定义和描述名称任务输入输出实施,
16、Copyright Xinjun Mao 2005,40,例子:需求分析活动描述(1/2),名称需求分析任务进行需求调查,定义软件的用户需求撰写软件需求规格说明书(SRS)根据SRS,制定软件确认测试计划对SRS和软件确认测试计划进行评审,产生经批准的SRS和软件确认测试计划输入用户的初步需求描述,Copyright Xinjun Mao 2005,41,例子:需求分析活动描述(2/2),实施根据用户需求描述,分析和定义软件的用户需求,按照软件需求规格说明书编写指南撰写软件需求规格说明书对SRS进行评审,评审的原则:正确性、完整性、一致性、简洁性、规范化根据软件的用户需求,制定软件确认测试计划
17、,按照软件确认测试计划编写指南撰写软件确认测试计划文档输出经批准的SRS,经批准的软件确认测试计划,Copyright Xinjun Mao 2005,42,步骤3:确定和描述活动间关系(1/3),活动之间主要有哪些关系?执行时序关系时间先后关系例如,集成测试完成之后,才能进行确认测试逻辑依赖关系一个活动的执行需要其它活动实施产生的结果逻辑依赖关系蕴涵了执行时序关系例如,软件概要设计和需求分析之间,Copyright Xinjun Mao 2005,43,步骤3:确定和描述活动间关系(2/3),如何描述活动之间的关系入口条件例如,软件设计(逻辑依赖),有一个已完成、被文档化和批准的软件需求规格
18、说明书例如,确认测试(执行时序),集成测试已经完成出口条件例如,软件需求分析(逻辑依赖),产生一个已完成、被文档化和批准的软件需求规格说明书,Copyright Xinjun Mao 2005,44,步骤3:确定和描述活动间关系(3/3),直观的图形描述节点表示活动有向边表示活动之间的关系执行时序逻辑关系,Copyright Xinjun Mao 2005,45,例子:描述活动间的关系,需求分析、概要设计和详细设计入口条件(概要设计)经过批准的软件需求规格说明书出口条件(概要设计)软件概要设计规格说明书数据库设计规格说明书软件接口设计规格说明书,Copyright Xinjun Mao 200
19、5,46,步骤4:文档化软件开发过程(1/5),什么是文档化?书面、文字化描述和记录,并形成相应的、规范化的文档为什么需要文档化软件开发过程?便于记录和保存便于获取、理解和交流便于剪裁便于改进,Copyright Xinjun Mao 2005,47,步骤4:文档化软件开发过程(2/5),如何文档化软件开发过程?首先给出软件开发过程的直观、完整视图(图形化)其次详细描述活动第三详细描述活动间关系,Copyright Xinjun Mao 2005,48,步骤4:文档化软件开发过程(3/5),首先:如何提供软件开发过程的完整视图?基于图形方式直观展示整个软件开发过程中的活动以及它们之间的关系给出
20、软件开发过程的整体、直观描述便于从整体上理解和把握软件开发过程注意不要作时间约束和限制,Copyright Xinjun Mao 2005,49,例子:软件开发过程整体视图,Copyright Xinjun Mao 2005,50,步骤4:文档化软件开发过程(4/5),其次,描述和文档化软件开发活动名称任务输入实施(如何实施,采用什么方法,具体过程和步骤?)输出说明,Copyright Xinjun Mao 2005,51,例子:需求分析活动描述(1/2),名称需求分析任务进行需求调查,定义软件的用户需求撰写软件需求规格说明书(SRS)根据SRS,制定软件确认测试计划对SRS和软件确认测试计划
21、进行评审,产生经批准的SRS和软件确认测试计划输入用户的初步需求描述,Copyright Xinjun Mao 2005,52,例子:需求分析活动描述(2/2),实施根据用户需求描述,分析和定义软件的用户需求,按照软件需求规格说明书编写指南撰写软件需求规格说明书根据软件的用户需求,制定软件确认测试计划,按照软件确认测试计划编写指南撰写软件确认测试计划文档对SRS和软件确认测试计划进行评审,评审的原则:正确性、完整性、一致性、简洁性、规范化输出经批准的SRS,经批准的软件确认测试计划说明一般的,用户要参与需求评审需求评审通过后,只能通过指定的变更控制过程来修改,Copyright Xinjun
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 过程 定义 剪裁 改进

链接地址:https://www.31ppt.com/p-6434282.html