《软件开发过程的定义剪裁和改进ppt课件》由会员分享,可在线阅读,更多相关《软件开发过程的定义剪裁和改进ppt课件(109页珍藏版)》请在金锄头文库上搜索。
1、第第2讲讲 软件开发过程的定义、剪裁软件开发过程的定义、剪裁和改良和改良毛新军毛新军xjmao2121cnsoftware.nudt.edu/xjmao 计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件工程管理课程软件工程管理课程 之之讲授内容讲授内容1.工程案例2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结问题问题n假设让他来组织一个软件工程的开发,他以为首先他所关注的问题是什么?1. 工程案例工程案例案例角色和人物小王:软件工程担任人老王:公司技术老总开发小组:小李、老赵、小田
2、、小谢软件开发需求过程软件开发需求过程(1/3)n由于时间紧迫,小王需求马上展开软件工程的开发义务,但是它如今面临一系列头痛的问题n软件工程的开发要做哪些方面的义务n这些义务应该按照什么样的次序开展进展?这些义务完成后将产生什么样的结果?按照什么样的规范来书写这些内容n如何让员工知道要做哪些义务n虽然他学过软件工程,但在小王的头脑中没有一个明晰、系统的认识n根据以往的阅历,他以为需求去制定一个明晰、详细、完好的软件开发过程软件开发需求过程软件开发需求过程(2/3)n小王向老王寻求协助,老王通知小王公司以前从来没有这些方面的记录,各个工程组都从零开场制定本人的软件开发过程,但都没有构成文档n经过
3、慎重思索,小王向老王建议:n工程组需求定义软件开发过程n公司需求一个良定义、文档化的软件开发过程,以便于支持不同工程组的开发义务n老王赞同小王的建议,并要求他制定和文档化一个针对公司特点、并且能满足大部分软件工程需求的软件开发过程软件开发需求过程软件开发需求过程(3/3)n于是,小王只好找了一大堆的资料,带着许多疑问和困惑,思索和制定工程开发的过程和活动。n什么是软件开发过程?n如何明晰、准确、规范地对它加以定义?n如何根据公司的特点,制定软件开发过程?n如何不断地改良软件开发过程?n如何根据工程的特点剪裁过程n等等过程是重要的过程是重要的n软件开发过程的制定对软件工程的实施是很重要的n软件开
4、发过程需求文档化,便于交流、培训、改良n软件开发过程的制定应针对详细组织和工程的特点n一个组织最好应该有特定于该组织、普通性的软件开发过程,供各个工程剪裁和运用n经过培训让工程组成员了解软件开发过程问题的提出问题的提出n什么是软件开发过程?n如何明晰、准确、规范地对它加以定义?n如何根据公司的特点,制定软件开发过程?n如何不断地改良软件开发过程?n如何根据工程的特点剪裁过程n讲授内容讲授内容1.工程案例2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结什么是软件开发过程什么是软件开发过程n什么是过程?n什么是软件开发过程?2
5、.1什么是过程?什么是过程?n针对一个给定目的地一系列操作步骤n(IEEE-STD-610)n例如n目的:去火车站 n操作步骤:去德雅路公共汽车站,乘113路汽车n每个过程都有明确的目的以及详细的操作步骤,操作步骤阐明了有哪些操作以及按照什么样的方式来执行操作2.2什么是软件开发过程什么是软件开发过程 (1/2)n按照工程的进度、本钱和质量限制,开发和维护满足用户需求的软件所必需的一组有序的软件开发活动集合n软件开发活动的例子n需求分析n设计n开发活动的序例子n先做需求分析,然后再做软件设计 2.2什么是软件开发过程什么是软件开发过程(2/2)n软件开发过程的组成n软件开发活动n软件开发活动间
6、的关系(执行和实施的序)2.3软件开发活动软件开发活动(1/4)n什么是软件开发活动?n为开发软件工程而执行的一项具有明确义务的详细义务n例如,需求分析,执行单元测试,制定软件工程开发方案等n软件开发过程中存在许多相互关联的软件开发活动n明确的义务n非孤立,和其他活动存在关联2.3软件开发活动软件开发活动(2/4)n按义务性质,软件开发活动可分为二种方式n技术活动n对软件工程实施开发,产生软件产品n例如,需求分析,概要设计,编码,单元测试等等n管理活动n对软件工程中的人、产品和过程等实施管理的活动n例如,制定软件工程方案,软件配置等等2.3软件开发活动软件开发活动(3/4)n如何定义软件开发活
7、动?n称号n义务n输入: 开场所必需满足的条件n输出: 完成时所必需满足的条件以及结果n实施: 做什么,怎样做(详细的步骤),或者如何从输入产生输出 输入入输出出2.3软件开发活动软件开发活动(4/4)n软件活动例子: 单元测试n义务n对软件根本单元模块进展测试,判别能否有错n输入n有一个已完成、被文档化和赞同的软件单元测试方案n供测试的软件单元模块代码n实施n遵照单元测试方案,运转了一切的测试用例n撰写了单元测试报告n输出n单元测试报告2.4软件开发活动间的关系软件开发活动间的关系n软件开发活动之间的次序反映了活动之间的依赖关系n逻辑n一个软件开发活动输出是另一个软件开发活动的输入n例如,需
8、求分析和软件设计之间n时间n一个软件开发活动需等到另一个软件开发活动完成之后才干执行n例如,集成测试和确认测试讲授内容讲授内容1.工程案例2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结为什么需求过程为什么需求过程n明确了软件开发的过程和步骤,促进工程化软件开发n便于制定软件工程方案n为软件开发提供了可视性,便于对软件开发过程进展管理和控制n便于细化和安排义务,使得每个人员明确各自的义务讲授内容讲授内容1.工程案例2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分
9、析8.小结软件开发过程模型软件开发过程模型n什么是软件开发过程模型?n软件开发模型是软件开发全过程、软件开发活动以及它们之间关系的的构造框架n指点软件开发,以及软件开发过程的定义n常用的软件开发过程模型n瀑布模型n原型模型n增量模型n迭代模型n螺旋模型4.1 瀑布模型瀑布模型需求分析需求分析软件件设计编码测试软件定件定义l 特点:特点:l分分阶段段l阶段段间有因果关系有因果关系l评审l允允许反响反响l适宜适宜场所所l需求易于完善定需求易于完善定义的的软件件需求分析需求分析软件件设计编码测试软件定件定义4.2原型模型原型模型l特点特点l有效顺运用户需求有效顺运用户需求的变化的变化l不知循环多少次
10、,不知循环多少次,进度难以控制进度难以控制l适宜场所适宜场所l需求动态变化、难需求动态变化、难以确定的软件系统以确定的软件系统4.3增量模型增量模型(Incremental)交付产品交付产品需求分析需求分析概要概要设计软件定件定义系系统测试编码集成集成测试详细设计编码集成集成测试详细设计增量增量1增量增量nl特点特点l并行开发并行开发l管理复杂管理复杂4.4迭代模型迭代模型(Iterative)n特点n经过逐渐迭代,建立软件系统n适宜场所n需求没有/难以完好定义的软件需求分析需求分析软件件设计编码测试软件定件定义需求分析需求分析软件件设计编码测试软件定件定义迭代1迭代迭代2 24.5 螺旋模型
11、螺旋模型n特点n以风险为导向n运用场所n开发风险较大的软件工程讲授内容讲授内容1.工程案例2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结定义软件开发过程的要求定义软件开发过程的要求n全面n定义要运用到软件工程中的一切活动项n可操作n各个活动易于实施n简约、易于了解n不含无意义的活动,描画简约易于了解n灵敏n可供各个工程进展灵敏剪裁n易于改良n可以不断对它进展改良和提高定义软件开发过程的步骤定义软件开发过程的步骤(1/2)n步骤1:确定软件开发过程模型n步骤2:确定和描画活动n步骤3:确定和描画活动间的关系n步骤4:文档化
12、软件开发过程n步骤5:文档化如何剪裁过程n步骤6:文档化如何改善过程n步骤7:过程评审、认可和发布n步骤8:员工培训定义软件开发过程的步骤定义软件开发过程的步骤(2/2)选择软件开件开发过程模型程模型确定和描画活确定和描画活动确定和描画活确定和描画活动关系关系文档化文档化软件开件开发过程程文档化如何剪裁文档化如何剪裁过程程文档化如何改良文档化如何改良过程程评审认可可发布布员工培工培训步骤步骤1:选择软件开发过程模型选择软件开发过程模型(1/2)n选择软件开发过程模型应思索的问题n组织软件的需求特征n动态改动n可完全定义n工程的风险n风险要素有多大n能接受多少?n能否需求预先给用户展现原型?n需
13、求多少阅历和技巧来胜利的运用软件开发过程模型n组织或工程组成员的阅历和才干等等步骤步骤1:选择软件开发过程模型选择软件开发过程模型(2/2)n留意:组织应该努力选择满足组织要求、尽可以少的软件开发过程模型n软件开发模型数目不宜过多n所选择的软件开发模型不宜过于复杂n最好选择哪些组织成员熟习的、有运用阅历的软件开发过程模型步骤步骤2:确定和描画活动确定和描画活动1.确定活动2.定义和描画活动确定活动确定活动(1/2)n义务n明确软件开发过程应包含哪些活动n留意n软件开发活动包括技术活动和管理活动n技术活动:需求分析、撰写软件运用资料n管理活动:制定软件开发方案确定活动确定活动(2/2)n确定活动
14、的原那么n基于所选择的软件开发过程模型确定活动n普通的,软件开发过程模型仅仅确定软件开发的技术活动n所确定的活动对于软件工程的开发是必要的n活动尽可以是全面的,适宜于各种可以的软件工程,可供它们进展剪裁例子例子:确定软件开发活动确定软件开发活动n技术活动n需求分析n概要设计n详细设计n编码n集成测试n撰写出版物n用户确认测试n软件发布n管理活动n制定初步软件开发方案n制定详细软件开发方案n制定软件配置管理方案n制定软件质量保证方案n工程跟踪和监视n配置管理n用户培训定义和描画活动定义和描画活动n对所确定的活动给出定义和描画n称号n义务n输入n输出n实施例子例子:需求分析活动描画需求分析活动描画
15、(1/2)n称号n需求分析n义务n进展需求调查,定义软件的用户需求n撰写软件需求规格阐明书(SRS)n根据SRS,制定软件确认测试方案n对SRS和软件确认测试方案进展评审,产生经赞同的SRS和软件确认测试方案n输入n用户的初步需求描画例子例子:需求分析活动描画需求分析活动描画(2/2)n实施n根据用户需求描画,分析和定义软件的用户需求,按照撰写软件需求规格阐明书n对SRS进展评审,评审的原那么:正确性、完好性、一致性、简约性、规范化n根据软件的用户需求,制定软件确认测试方案,按照撰写软件确认测试方案文档n输出n经赞同的SRS,n经赞同的软件确认测试方案步骤步骤3:确定和描画活动间关系确定和描画
16、活动间关系(1/3)n活动之间主要有哪些关系?n执行时序关系n时间先后关系n例如,集成测试完成之后,才干进展确认测试n逻辑依赖关系n一个活动的执行需求其它活动实施产生的结果n逻辑依赖关系蕴涵了执行时序关系n例如,软件概要设计和需求分析之间步骤步骤3:确定和描画活动间关系确定和描画活动间关系(2/3)n如何描画活动之间的关系n入口条件n例如,软件设计(逻辑依赖),有一个已完成、被文档化和赞同的软件需求规格阐明书n例如,确认测试(执行时序),集成测试曾经完成n出口条件n例如,软件需求分析(逻辑依赖),产生一个已完成、被文档化和赞同的软件需求规格阐明书步骤步骤3:确定和描画活动间关系确定和描画活动间
17、关系(3/3)n直观的图形描画n节点表示活动n有向边表示活动之间的关系n执行时序n逻辑关系活活动1 1活活动2 2活活动1 1活活动2 2例子例子:描画活动间的关系描画活动间的关系n需求分析、概要设计和详细设计n入口条件(概要设计)n经过赞同的软件需求规格阐明书n出口条件(概要设计)n软件概要设计规格阐明书n数据库设计规格阐明书n软件接口设计规格阐明书需求分析需求分析详细设计概要概要设计步骤步骤4:文档化软件开发过程文档化软件开发过程(1/5)n什么是文档化?n书面、文字化描画和记录,并构成相应的、规范化的文档n为什么需求文档化软件开发过程?n便于记录和保管n便于获取、了解和交流n便于剪裁n便
18、于改良步骤步骤4:文档化软件开发过程文档化软件开发过程(2/5)n如何文档化软件开发过程?n首先n给出软件开发过程的直观、完好视图(图形化)n其次n详细描画活动n第三n详细描画活动间关系步骤步骤4:文档化软件开发过程文档化软件开发过程(3/5)n首先: 如何提供软件开发过程的完好视图?n基于图形方式直观展现整个软件开发过程中的活动以及它们之间的关系n给出软件开发过程的整体、直观描画n便于从整体上了解和把握软件开发过程n留意不要作时间约束和限制例子例子:软件开发过程整体视图软件开发过程整体视图步骤步骤4:文档化软件开发过程文档化软件开发过程(4/5)n其次,描画和文档化软件开发活动n称号n义务n
19、输入n实施(如何实施,采用什么方法,详细过程和步骤?)n输出n阐明例子例子:需求分析活动描画需求分析活动描画(1/2)n称号n需求分析n义务n进展需求调查,定义软件的用户需求n撰写软件需求规格阐明书(SRS)n根据SRS,制定软件确认测试方案n对SRS和软件确认测试方案进展评审,产生经赞同的SRS和软件确认测试方案n输入n用户的初步需求描画例子例子:需求分析活动描画需求分析活动描画(2/2)n实施n根据用户需求描画,分析和定义软件的用户需求,按照撰写软件需求规格阐明书n根据软件的用户需求,制定软件确认测试方案,按照撰写软件确认测试方案文档n对SRS和软件确认测试方案进展评审,评审的原那么:正确
20、性、完好性、一致性、简约性、规范化n输出n经赞同的SRS,n经赞同的软件确认测试方案n阐明n普通的,用户要参与需求评审n需求评审经过后,只能经过指定的变卦控制过程来修正步骤步骤4:文档化软件开发过程文档化软件开发过程(5/5)n最后,描画活动间关系n文字描画:输入和输出,阐明n图形化描画,衔接活动的有向边活活动1 1活活动2 2步骤步骤5:文档化如何剪裁过程文档化如何剪裁过程(1/4)n为什么需求定义剪裁过程n组织内过程定义的普通性和普遍性n详细工程的特殊性n为了更好满足详细工程的特殊要求n如何文档化过程剪裁nStep1:定义剪裁软件开发过程的规那么,以更好地顺应详细软件工程的特殊要求nSte
21、p2:定义对剪裁过程进展评审的要求nStep3:要上述规那么和要求写成规范化的文档步骤步骤5:文档化如何剪裁过程文档化如何剪裁过程(2/4)nStep1:定义过程剪裁规那么n哪些活动可以被删除,哪些不能n必选,可选的n对可选活动的阐明:什么情况下n例子:需求分析是必选的n哪些活动可以被合并,哪些不能n可合并,不可合并的n对活动合并的阐明:什么情况下合并,如何合并n例子:对于小规模的软件工程,详细设计和编码合并 编码步骤步骤5:文档化如何剪裁过程文档化如何剪裁过程(3/4)nStep2: 定义对剪裁后的过程进展审批的要求n谁参与评审n过程剪裁评审委员会或者过程管理小组n评审根据n谁赞同剪裁步骤步
22、骤5:文档化如何剪裁过程文档化如何剪裁过程(4/4)nStep3: 文档化过程剪裁的规那么和要求n可以作为过程定义的一个部分,或者n单独构成一个独立的过程剪裁文档过程剪裁留意点过程剪裁留意点n阅历1:剪裁软件开发过程的规那么和要求必需文档化并且易于了解n阅历2:至少需求提供二个显示如何剪裁软件开发过程的完好例子n阅历3:记录工程剪裁过程的信息,供以后工程剪裁作自创和参考例子例子:文档化过程剪裁文档化过程剪裁n剪裁规那么n以下活动是不可进展剪裁:需求分析,n对于系统规模较小的工程,允许将概要设计和详细设计二个过程合并n对于软件开发义务量可以预先确定的工程,初步工程方案和详细工程方案可以合并n剪裁
23、评审要求n过程剪裁评审委员会(可以就是过程管理小组)担任对剪裁的过程进展评审,该委员会的组成参考“.文档n由过程剪裁评审委员会的主席担任审批剪裁过程步骤步骤6:文档化如何改善过程文档化如何改善过程(1/4)n为什么需求改善过程?n过程定义的不完备性和不顺应性n组织业务开展的要求n特殊工程提出的要求n实际运用中发现的问题n过程改善的目的n使得组织的过程不断得到优化n使得工程实施的过程得到不断优化步骤步骤6:文档化如何改善过程文档化如何改善过程(2/4)n如何文档化改善过程?nStep1: 定义改善过程的规那么nStep2: 定义改善后过程评审的要求nStep3: 文档化过程改善的上述规那么和要求
24、步骤步骤6:文档化如何改善过程文档化如何改善过程(3/4)nStep1 & Step2 定义过程改善的规那么和要求n过程改善恳求的提出n提出者:组织或者工程成员n时机:工程实施过程中,工程完成之时,定期/不定期的检查n过程改善恳求的类别n变卦恳求n背叛恳求案例案例1:管理过程改善:管理过程改善软件开发过软件开发过程管理小组程管理小组普通普通员工员工工程工程经理经理变卦恳求变卦恳求背叛恳求背叛恳求变卦或背叛变卦或背叛恳求恳求担任人担任人担任人担任人过程过程定义定义文档文档案例案例2:对过程变卦恳求的管理:对过程变卦恳求的管理恳求发起者提出恳求发起者提出书面的变卦恳求书面的变卦恳求过程小组评审过程
25、小组评审变卦恳求变卦恳求实施变卦恳求实施变卦恳求否决终终了了经过新的软件过程文档新的软件过程文档分发,让组织成员分发,让组织成员了解变卦了解变卦必要时培训必要时培训提交给过程管提交给过程管理担任人理担任人案例案例3:对过程背叛恳求的管理对过程背叛恳求的管理恳求发起者提出书面的背叛恳求背叛恳求提交给过程担任人过程担任人评审背叛恳求过程担任人授权背叛否决终了经过工程担任人审批背叛恳求否决让工程组赞同背叛步骤步骤6:文档化如何改善过程文档化如何改善过程(4/4)nStep3: 文档化过程改善的规那么和要求n可以是过程定义的一个部分,或者n独立的文档步骤步骤7: 过程评审、认可和发布过程评审、认可和发
26、布n要对制定的的软件开发过程进展评审,加以认可n能否完备?n能否正确和准确?n能否符合企业的特点?n描画能否简约、直观?n能否适于剪裁和改良?n组织的管理者公开发布所定义的软件开发过程n强迫执行步骤步骤8: 员工培训员工培训n要对组织内相关的员工培训软件开发过程n知道为什么需求过程n知道组织内的过程是什么n知道如何剪裁、变卦和调整过程n强调必需根据过程来实施工程软件开发过程定义本卷须知软件开发过程定义本卷须知(1/5)n阅历1n组织制定的软件开发过程应该由一个可了解的活动集组成,可以从该活动集中选择适宜的子集作为新工程的过程n组织内的软件开发过程应该被定义为一个规范n组织内定义的软件开发过程应
27、该具有一定的通用性和普通性,既可满足组织内新工程的需求,也可满足组织内所阅历的非传统工程的需求软件开发过程定义本卷须知软件开发过程定义本卷须知(2/5)n阅历2n软件开发过程不应包含一些无效或者无用的义务或者活动,软件开发过程中的任何活动和义务都是为了促进软件工程的开发和管理,确保软件工程在进度、本钱的限制范围内,得到满足用户要求的高质量软件产品n软件开发过程不应复杂和教条n软件开发过程不应捆绑一些无意义的规那么,如必需采用某种方法和技术软件开发过程定义本卷须知软件开发过程定义本卷须知(3/5)n阅历3n软件开发过程应该不断地得到改善和提高n软件开发过程有局限性和问题n需求对软件开发过程经常性
28、地进展检查,发现问题和缺乏n允许过程的运用者对过程提出改好心见,发表见解软件开发过程定义本卷须知软件开发过程定义本卷须知(4/5)n阅历4n借助于其他组织的阅历和成果,以及国际化规范来制定软件开发过程n借助于其他组织的阅历和成果有助于少走弯路,尽快制定高质量的软件开发过程n借助于国际规范有助于规范化软件开发过程,经过国际规范的认证,如ISO9001, CMMn遵照国际规范是有必要的,应该提倡,它能协助提升管理程度、笼统和竞争力n切忌走过场软件开发过程定义本卷须知软件开发过程定义本卷须知(5/5)n阅历5n管理层要担任确保每个新工程完全遵照所赞同的软件开发过程n阅历6n过程组要担任确保不断改善软
29、件开发过程软件开发过程定义文档软件开发过程定义文档n工程组和组织普通要构成一个软件开发过程定义文档n软件开发过程文档的格式讲授内容讲授内容1.工程案例2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结如何剪裁过程如何剪裁过程n剪裁过程的根底和根据n软件开发过程文档n工程的详细要求n如何剪裁过程?n参照过程文档中的剪裁规那么,根据工程的详细特点确定剔除一些活动,合并一些活动n剪裁结果应该可以促进详细工程的管理,保证所开发软件产品的质量n剪裁认可本讲标题:软件开发过程的定义本讲标题:软件开发过程的定义讲授内容讲授内容1.工程案例
30、2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结案例分析案例分析n案例假设n采用瀑布软件开发过程模型n案例内容n软件开发过程框架n各个活动的描画n活动之间的关系n阐明:该案例缺乏于用于实际运用n没有思索组织的详细情况n不详细和详细步骤步骤1:确定活动确定活动n技术活动n需求分析n概要设计n详细设计n编码n集成测试n撰写出版物n用户确认测试n软件发布n管理活动n制定初步软件开发方案n制定详细软件开发方案n制定软件配置管理方案n制定软件质量保证方案n工程跟踪和监视n配置管理n用户培训步骤步骤2:确定活动之间的关系确定活动之间的
31、关系n逻辑关系依赖n时序关系步骤步骤3:定义和描画活动定义和描画活动n需求分析n概要设计n详细设计n编码n集成测试n确认测试n撰写用户文档n用户培训n打包和交付活动活动1:需求分析需求分析(1/3)n义务n进展需求调查,定义软件的用户需求,撰写软件需求规格阐明书(SRS)n根据SRS,撰写软件确认测试方案n评审SRS和软件确认测试方案n输入n用户的初步需求描画n输出n软件需求规格阐明书n软件确认测试方案活动活动1:需求分析和软件定义需求分析和软件定义(2/3)n实施n根据用户需求描画,分析和定义软件系统的需求,按照编写软件需求规格阐明书(SRS)n根据SRS,制定软件确认测试方案,按照编写软件
32、确认测试方案文档n对需求分析的结果(软件需求规格阐明书和软件确认测试方案)进展评审活动活动1:需求分析和软件定义需求分析和软件定义(3/3)n阐明n用户需求描画了用户对目的软件系统的期望和要求(包括功能、性能和设计约束等),因此,需求分析只需关怀要处置的问题,而无需关怀这些问题的处置方案n软件确认测试方案应该包含软件需求规格阐明书中所定义的一切需求的测试内容活动活动2:概要设计概要设计(1/3)n义务n根据SRS,进展软件的总体构造设计、接口设计和数据设计,撰写软件总体构造设计、接口设计和数据设计规格阐明书n根据软件的概要设计,制定软件集成测试方案n输入n软件需求规格阐明书SRSn输出n软件总
33、体构造设计规格阐明书n软件数据设计规格阐明书n软件接口设计规格阐明书n软件集成测试方案活动活动2:概要设计概要设计(2/3)n实施n根据SRS来进展软件设计n按照编写软件总体构造设计文档n按照编写软件数据设计文档n按照编写软件接口设计文档n按照编写软件集成测试方案文档活动活动2:概要设计概要设计(3/3)n阐明n概要设计要给出满足用户需求的软件处置方案,主要是指软件的总体构造、接口设计和数据设计,不涉及详细模块的内部细节活动活动3:详细设计详细设计(1/3)n义务n进展软件的详细设计,撰写软件详细设计规格阐明书n根据软件的详细设计,制定软件单元测试方案n输入n软件需求规格阐明书SRSn软件总体
34、设计规格阐明书n软件接口设计规格阐明书n软件数据设计规格阐明书活动活动3:详细设计详细设计(2/3)n实施n根据SRS和软件总体构造、接口和数据设计规格阐明书,进展软件的详细设计,根据撰写软件详细设计文档n根据每个模块的内部实现细节的设计,以及编写软件单元测试方案文档n输出n软件详细设计规格阐明书n软件单元测试方案活动活动3:详细设计详细设计(3/3)n阐明n详细设计主要根据软件需求规格阐明书,在软件总体构造设计、接口设计和数据设计的根底上,涉及软件处置方案的详细细节,尤其是模块的实现算法和思想活动活动4:编码编码(1/2)n义务n编写程序n进展单元测试,撰写单元测试报告n输入n软件总体构造设
35、计规格阐明书n软件数据设计规格阐明书n软件接口设计规格阐明书n软件详细设计规格阐明书n单元测试方案活动活动4:编码编码(2/2)n实施n根据软件总体构造设计规格阐明书、软件数据设计规格阐明书、软件接口设计规格阐明书、软件详细设计规格阐明书进展编码n根据单元测试方案对各个模块进展单元测试n输出n经过单元测试的软件模块源程序n单元测试报告活动活动5:集成测试集成测试(1/2)n义务n集成各个软件模块进展测试n输入n软件模块的程序代码n软件总体构造设计规格阐明书n软件数据设计规格阐明书n软件接口设计规格阐明书n软件集成测试方案活动活动5:集成测试集成测试(2/2)n实施n根据软件总体构造设计规格阐明
36、书、软件接口设计规格阐明书、软件数据设计规格阐明书和软件集成测试方案,逐渐组装模块进展软件的集成测试,撰写集成测试报告n输出n可运转的、经过集成测试的目的软件系统n集成测试报告活动活动6:确认测试确认测试(1/2)n义务n根据软件需求规格阐明书和软件确认测试方案进展确认测试,撰写确认测试报告n输入n软件需求规格阐明书n确认测试方案活动活动6:确认测试确认测试(2/2)n实施n根据软件需求规格阐明书和确认测试方案,对软件进展确认测试,撰写确认测试报告n输出n可运转的、经过确认测试的目的软件系统n确认测试报告n阐明n确认测试由用户进展测试活动活动7:撰写用户文档撰写用户文档(1/2)n义务n撰写用
37、户文档n输入n软件需求规格阐明书n软件总体构造、接口设计和数据设计规格阐明书n可运转的目的软件系统活动活动7:撰写用户文档撰写用户文档(2/2)n实施n根据用户软件需求规格阐明书,软件总体构造、接口设计和数据设计规格阐明书撰写用户文档n用户文档普通包括:,等等n输出nnn活动活动8:用户培训用户培训(1/2)n义务n对用户进展培训n输入n软件需求规格阐明书n用户运用手册、安装手册、开发手册n可运转的目的软件系统活动活动8:用户培训用户培训(2/2)n实施n根据可运转的目的软件系统、,对用户进展培训n输出n无活动活动9:打包交付打包交付(1/2)n义务n对软件进展打包,并交付用户运用n输入n可执
38、行的目的软件系统n各种要交付的文档和资料,包括电子版和打印版活动活动9:打包交付打包交付(2/2)n实施n制造安装软件n安装并配置目的软件系统n交付安装软件、文档和资料n输出n安装软件n交付给用户的文档和资料讲授内容讲授内容1.工程案例2.什么是软件工程开发过程3.为什么需求定义过程4.软件开发过程模型5.如何定义过程6.如何剪裁过程7.案例分析8.小结本讲小结本讲小结n组织和工程组需求良定义的软件开发过程来支持软件开发n软件开发过程定义涉及:活动确实定和描画、活动间关系确实定和描画n软件开发过程包括技术活动和管理活动n为了顺应不同工程的详细要求,需求对组织的软件开发过程进展剪裁n组织的软件开发过程是不断改良和进化的教学目的教学目的n了解n什么是软件开发过程?n为什么需求定义软件开发过程?n软件开发普通具有什么样的过程n软件开发过程模型n掌握n如何定义软件开发过程?n如何剪裁过程?n运用n可以根据组织和工程的详细情况,定义和剪裁软件开发过程Questions & DiscussingQuestions & DiscussingSoftware Project Management Practice, Practice, and Practice