1、第一章第一章 系统建模与分析设计技术的演变系统建模与分析设计技术的演变 本章目的:理解软件的基本概念和特点 了解软件的发展过程及软件开发过程 了解软件开发的方法1.1 1.1 软件的概念、特点和分类软件的概念、特点和分类1现代软件的概念和特点(1)软件规模大。(2)软件开发规范并趋于标准化。(3)软件开发方法多,有大量的软件工具支持。(4)注重软件开发的管理。(5)软件维护相对过去容易得多。2软件的分类(1)按软件的功能划分 系统软件。支撑软件。应用软件。(2)按软件的规模划分 微型软件-不超过500行。小型软件-2000行左右 中型软件-5000-50000行之间 大型软件-多个研发小组,是
2、成百上千人组成的开发团队。(3)按软件工作方式划分 实时处理软件。分时软件。交互式软件。批处理软件。1.1 1.1 软件的概念、特点和分类软件的概念、特点和分类(4)按软件服务对象的范围划分 项目软件。产品软件。(5)按使用的频度划分一次性使用软件。使用频度较高的软件。(6)按软件失效的影响程度划分一般性软件。关键性软件。1.1 1.1 软件的概念、特点和分类软件的概念、特点和分类软件过程软件过程 软件过程定义以下内容软件过程定义以下内容:人员与分工 所执行的活动 活动的细节和步骤 软件过程通过以下方式组织和管理软件生命周期:软件过程通过以下方式组织和管理软件生命周期:定义软件生产过程中的活动
3、 定义这些活动的顺序及其关系 软件过程的目的:软件过程的目的:标准化(可模仿)、可预见性(降低风险)、提高开发效率、得到高质量产品 提升制定时间和预算计划的能力什么是软件过程模型什么是软件过程模型 软件生命周期软件生命周期可行性分析与开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、运行和维护 软件过程模型软件过程模型通常把软件生命周期中各项开发活动的流程用一个合理的框架来规范描述。软件过程模型软件过程模型 典型的软件过程模型典型的软件过程模型瀑布模型(Waterfall model)增量模型(Incremental model)原型模型(Iterative model)螺旋模型(S
4、piral model)统一过程模型(Rational Unified Process,RUP)软件过程模型软件过程模型-瀑布模型瀑布模型 瀑布模型瀑布模型该模型给出了固定的顺序,将软件生存期活动从上一个阶段向下一个阶段逐次下降,如同流水下泻,最终得到所开发的软件产品,投入使用。软件过程模型软件过程模型-瀑布模型瀑布模型 上一个阶段结束,下一个阶段才能开始;每个阶段均有里程碑和提交物;上一阶段的输出是下一阶段的输入;每个阶段均需要进行V&V;侧重于文档与产出物;软件过程模型软件过程模型-瀑布模型瀑布模型 优点优点追求效率追求效率 简单、易懂、易用、快速;简单、易懂、易用、快速;为项目提供了按阶
5、段划分的检查点,项目管理比较容易;为项目提供了按阶段划分的检查点,项目管理比较容易;每个阶段必须提供文档,而且要求每个阶段的所有产品必须进行正式每个阶段必须提供文档,而且要求每个阶段的所有产品必须进行正式、严格的技术审查。、严格的技术审查。缺点缺点过于理想化过于理想化 在开发早期,在开发早期,用户难以清楚地确定所有需求用户难以清楚地确定所有需求,需求的错误很难在开发,需求的错误很难在开发后期纠正,因此后期纠正,因此难以快速响应用户需求变更难以快速响应用户需求变更;开发人员与用户之间缺乏有效的沟通开发人员与用户之间缺乏有效的沟通,开发人员的工作几乎完全依赖,开发人员的工作几乎完全依赖规格说明文档
6、,容易导致不能满足客户需求。开发者常常被不必要地耽规格说明文档,容易导致不能满足客户需求。开发者常常被不必要地耽搁搁 客户必须客户必须在项目接近尾声的时候才能得到可执行的程序在项目接近尾声的时候才能得到可执行的程序,对系统中存,对系统中存在的重大缺陷,如果在评审之前没有被发现,在的重大缺陷,如果在评审之前没有被发现,将可能会造成重大损失将可能会造成重大损失。软件过程模型软件过程模型-瀑布模型瀑布模型 适用场合:适用场合:软件项目较小;软件项目较小;需求在项目开始之前已经被全需求在项目开始之前已经被全面的了解;面的了解;需求在开发中不太可能发生重需求在开发中不太可能发生重大改变;大改变;外部环境
7、的不可控因素很少。外部环境的不可控因素很少。软件过程模型软件过程模型-案例学习案例学习某公司承接了一个电子政务平台的项目,该项目主要分某公司承接了一个电子政务平台的项目,该项目主要分“政务办公政务办公”与与“政务公开政务公开”两大部分。甲方很配合,协助整理了国家电子政两大部分。甲方很配合,协助整理了国家电子政务管理规范与相当文档。沟通拟定的开发周期也相对宽松。务管理规范与相当文档。沟通拟定的开发周期也相对宽松。甲方聘请了监理;三方各派代表成立项目控制委员会(甲方聘请了监理;三方各派代表成立项目控制委员会(CCB)。公)。公司也在项目团队中派了长驻司也在项目团队中派了长驻QA小组,协助项目管理。
8、小组,协助项目管理。但是,电子政务并不是公司的主营业务,整个研发团队是公司临时但是,电子政务并不是公司的主营业务,整个研发团队是公司临时招聘组建,约六人左右,大多是应届毕业,除了项目经理之外,最招聘组建,约六人左右,大多是应届毕业,除了项目经理之外,最有经验的也不过两三年开发经历。有经验的也不过两三年开发经历。针对这种情况,作为项目经理,应该采用哪种开发模式比较合理?针对这种情况,作为项目经理,应该采用哪种开发模式比较合理?软件过程模型软件过程模型-增量模型增量模型 在很多情况下,由于在很多情况下,由于初始需求的不明确初始需求的不明确,开发过,开发过程不宜采用瀑布模型;程不宜采用瀑布模型;因此
9、,无须等到所有需求都出来才进行开发,只因此,无须等到所有需求都出来才进行开发,只要某个要某个需求的核心部分需求的核心部分出来,即可进行开发;出来,即可进行开发;另外,可能迫切需要为用户迅速提供一套功能有另外,可能迫切需要为用户迅速提供一套功能有限的软件产品,然后在后续版本中再细化和扩展限的软件产品,然后在后续版本中再细化和扩展功能。功能。在这种情况下,需要选用在这种情况下,需要选用增量方式增量方式的软件过程模的软件过程模型型软件过程模型软件过程模型-增量模型增量模型软件过程模型软件过程模型-增量模型增量模型 软件被作为软件被作为一系列的增量一系列的增量来设计、实现、集成和来设计、实现、集成和测
10、试,每一个增量是由多种相互作用的模块所形测试,每一个增量是由多种相互作用的模块所形成的提供功能的代码片段构成。成的提供功能的代码片段构成。本质:以本质:以迭代的方式迭代的方式运用瀑布模型运用瀑布模型 第一个增量往往是核心产品:满足了基本的需求,但是缺少附加的特性;客户使用上一个增量的提交物并进行自己评价,制定下一个增量计划,说明需要增加的特性和功能;重复上述过程,直到最终产品产生为止。软件过程模型软件过程模型-增量模型增量模型 举例举例1:开发一个类似于:开发一个类似于Word的字处理软件的字处理软件 增量1:提供基本的文件管理、编辑和文档生成功能;增量2:提供高级的文档编辑功能;增量3:实现
11、拼写和语法检查功能;增量4:完成高级的页面排版功能;举例举例2:开发一个教务管理系统:开发一个教务管理系统 增量1:提供基本的学籍管理和成绩管理功能;增量2:提供选课功能;增量3:提供查询教室使用情况的功能;增量4:提供课表生成、上课名单生成、成绩录入等功能。主要优点:主要优点:客户无需等到整个系统实现。第一个增量会满足他客户无需等到整个系统实现。第一个增量会满足他们大多数们大多数关键需求关键需求,因此,因此,软件马上就能使用软件马上就能使用客户可以将早期的增量作为原型,从中获得对后面客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验系统增量的需求经验项目总体性失败的项目总体性失败
12、的风险比较低风险比较低。虽然可能在一些增。虽然可能在一些增量中遇到问题,但是其他一些增量将会成功的交付量中遇到问题,但是其他一些增量将会成功的交付客户客户因为最重要的增量最先提交,而后面的增量也不断因为最重要的增量最先提交,而后面的增量也不断的被集成进来,这就使得的被集成进来,这就使得最重要的系统服务得到了最重要的系统服务得到了最多的测试最多的测试。软件过程模型软件过程模型-增量模型增量模型 需求经常发生变化需求经常发生变化直接导致产品难以实现;直接导致产品难以实现;严格的交付时间使得开发团队不可能圆满完成软件产品严格的交付时间使得开发团队不可能圆满完成软件产品,但,但是必须交付功能有限的版本
13、以应对竞争或压力;是必须交付功能有限的版本以应对竞争或压力;很好的理解和核心产品与系统需求,但很好的理解和核心产品与系统需求,但对其他扩展的细节问对其他扩展的细节问题却没有定义题却没有定义。在上述情况下,需要一种在上述情况下,需要一种专门应对不断演变的软件过程模型专门应对不断演变的软件过程模型,即即“演化过程模型演化过程模型”。本质:本质:循环、反复、不断调整当前系统以适应需求变化循环、反复、不断调整当前系统以适应需求变化;包括两种形态:包括两种形态:快速原型模型快速原型模型 螺旋模型螺旋模型软件过程模型软件过程模型-演化过程模型演化过程模型软件过程模型软件过程模型-快速原型模型快速原型模型
14、快速原型法的步骤快速原型法的步骤StepStep 1 1:双方通过沟通,双方通过沟通,明确已知的需求明确已知的需求,并大致勾画出以,并大致勾画出以后再进一步定义的东西。后再进一步定义的东西。StepStep 2 2:迅速迅速策划一个原型策划一个原型并进行建模,主要集中于那些最并进行建模,主要集中于那些最终用户所能够看到的方面,如人机接口布局或者输出显示格终用户所能够看到的方面,如人机接口布局或者输出显示格式等;式等;StepStep 3 3:快速设计产生原型快速设计产生原型,对原型进行部署,由客户和用,对原型进行部署,由客户和用户户进行评价进行评价;StepStep 4 4:根据反馈,进一步根
15、据反馈,进一步细化需求并调整原型细化需求并调整原型;StepStep 5 5:原型系统不断调整以逼近用户需求。原型系统不断调整以逼近用户需求。软件过程模型软件过程模型-快速原型模型快速原型模型 优点:优点:提高和改善客户提高和改善客户/用户的参与程度,最大程度的响应用户的参与程度,最大程度的响应用户需求的变化;用户需求的变化;缺点:缺点:为了尽快完成原型,开发者为了尽快完成原型,开发者没有考虑整体软件的质没有考虑整体软件的质量和长期的可维护性,系统结构通常较差;量和长期的可维护性,系统结构通常较差;可能混淆原型系统与最终系统可能混淆原型系统与最终系统,原型系统在完全满,原型系统在完全满足用户需
16、求之后可能会被直接交付给客户使用;足用户需求之后可能会被直接交付给客户使用;额外的开发费用额外的开发费用。软件过程模型软件过程模型-快速原型模型快速原型模型 简介:简介:19881988年,年,Barry BoehmBarry Boehm正式发表了软件系统正式发表了软件系统开发的开发的“螺旋模型螺旋模型”,它将,它将瀑布模型瀑布模型和和原型原型模型模型结合起来,强调了其他模型所忽视的结合起来,强调了其他模型所忽视的风风险分析险分析,特别适合于,特别适合于大型复杂大型复杂的系统。的系统。特点:特点:对风险考虑是明确的,对每个环节都有风险对风险考虑是明确的,对每个环节都有风险评估评估软件过程模型软
17、件过程模型-螺旋模型螺旋模型软件过程模型软件过程模型-螺旋模型螺旋模型 螺旋模型沿着螺线旋转,在四个象限内表达四个方面的活动:螺旋模型沿着螺线旋转,在四个象限内表达四个方面的活动:制定计划制定计划:确定软件目标,选定实施方案,弄清项目开发的限制;:确定软件目标,选定实施方案,弄清项目开发的限制;风险分析风险分析:分析所选方案,考虑如何识别和消除风险;:分析所选方案,考虑如何识别和消除风险;实施工程实施工程:实施软件开发;:实施软件开发;客户评估:客户评估:评价开发工作,提出修正建议评价开发工作,提出修正建议。举例举例:第第1圈:开发出产品的规格说明;圈:开发出产品的规格说明;第第2圈:开发产品
18、的原型系统;圈:开发产品的原型系统;第第3n圈:不断的迭代,开发不同的软件版本;圈:不断的迭代,开发不同的软件版本;根据每圈交付后用户的反馈来调整预算、进度、需要迭代的次数;根据每圈交付后用户的反馈来调整预算、进度、需要迭代的次数;软件过程模型软件过程模型-螺旋式开发模型螺旋式开发模型软件过程模型软件过程模型-案例学习案例学习 某个老师(某个老师(T)想要考察一个同学()想要考察一个同学(S)的学习情况和技术水平,于)的学习情况和技术水平,于是交给该学生一个任务。是交给该学生一个任务。T:我有一个朋友想要一个图象浏览软件,能够查看多种格式的图象,我有一个朋友想要一个图象浏览软件,能够查看多种格
19、式的图象,包括包括BMP、TIFF、JPG、PNG,并且能够支持一般的放大、缩小、漫,并且能够支持一般的放大、缩小、漫游。你能做这样一个软件吗?游。你能做这样一个软件吗?S:就是类似:就是类似ACDSEE这样的软件吗?这样的软件吗?T:差不多,不过不需要那么强大的功能,我这个朋友计算机是外行,差不多,不过不需要那么强大的功能,我这个朋友计算机是外行,最好能做的比较方便,傻瓜型的,例如象最好能做的比较方便,傻瓜型的,例如象ACDSEE自动翻页这种功能自动翻页这种功能还是要的。还是要的。S:我以前学过:我以前学过BMP和和JPG的图象格式解析,我想没有问题的图象格式解析,我想没有问题 T:好的,给
20、你:好的,给你30天时间,下周你再来一趟,跟我讲一下你的工作进天时间,下周你再来一趟,跟我讲一下你的工作进度。度。这位同学非常明白老师的意图,回去后想了一下,并列出了一个清单这位同学非常明白老师的意图,回去后想了一下,并列出了一个清单 一一 功能:功能:1。读取、显示、另存四种格式图片(。读取、显示、另存四种格式图片(BMP、TIFF、JPG、PNG)2。放大、缩小、漫游放大、缩小、漫游 3。列出当前目录下所有四种格式图片文件名。列出当前目录下所有四种格式图片文件名 4.PAGEUP(PAGEDOWN)自动调出当前目录上一张(下一张)图片)自动调出当前目录上一张(下一张)图片 二二 其它说明:
21、其它说明:1。界面尽量简介,容易操作。界面尽量简介,容易操作 2。不要图片预览和打印。不要图片预览和打印 三三 开发工具:开发工具:VC 6 四四 开发环境:普通开发环境:普通PC机;机;Window2000/xp 五五 工作量:工作量:1.研究一下四种图片的格式研究一下四种图片的格式 2.设计一个解析器类,解析这四种格式设计一个解析器类,解析这四种格式 3.设计一个文档类,实现读取、另存和目录浏览功能设计一个文档类,实现读取、另存和目录浏览功能 4.设计一个视图类,实现显示、缩放、漫游功能设计一个视图类,实现显示、缩放、漫游功能软件过程的软件过程的8个一般阶段个一般阶段可行性分析需求分析概要
22、设计详细设计编码测试交付维护对话过程工作清单一、二工作清单三、四、五写代码前的思考过程写代码提交给老师检查给老师朋友安装、讲解修正问题、改进软件可能情况可能情况1 1 一切顺利,学生S按期交付了软件,经过一两周的试用、修改、完善后,三方都比较满意,该软件在老师的朋友那里成为一个得心应手的工具。Waterfall Model(瀑布模型)它是经典的生命周期模型Classic Life Cycle Model又称为线性顺序模型Linear Sequential Modela可能可能情况情况2 2 一周后,学生去见老师,并提交了工作清单,他发现老师的这位朋友(C)和老师在一起。S:这是工作清单,我已经
23、研究清楚了四种文件的格式,可以写代码了。T:很好,不过我这位朋友有一些新想法,你不妨听听。C:你好。我新买了一个扫描仪,你的程序可不可以直接扫描图片进来。S:你可以自己扫描呀,买扫描仪的时候一般都会送正版软件的。C:是的,可是我一直不太会用,你知道我计算机水平不高,学一些新东西很累,也没有时间,如果你能直接链接扫描仪,我只要学会你的软件就行了,我愿意多支付一些费用,还有,我想建一个图片库,你知道,我工作时需要上百个图片,经常找不到,最好还带模糊查询。可能可能情况情况2 2(续)(续)S:.!C:还有一些,现在一时想不起来,我想起来的话会再跟 你联系,时间上可以长一些。S:.!T:要不这样吧,你
24、先做一个样子出来给C看看,一边做,一边改。C:这样最好,看见一个基本样子我就知道我想要什么了!事情就这样定下来了,S愤怒的撕掉了自己的工作清单.,回去后S花1天时间用DELPHI做了个样子,只能读BMP和JPG文件,做了些菜单和工具栏,用ACCESS建了一个图片库。就这个“假”的程序,S和C讨论了一天,S又修改了几次,又讨论了几次,一周后,这个“假”的程序表面看起来和真的一模一样。可能可能情况情况2 2 于是S打算用VC重写这个程序,但是他很快发现继续用DELPHI写更方便,因为至少界面不用重做了,于是,两个月后,这个事情终于结束了。S顺利的完成了他的毕业设计JPG压缩优化算法设计,C一直使用
25、这个软件管理他的图片,并庆幸花了这么少的钱得到了这么有用的东西,而T,则正在考虑如何为他下一批学生分派任务。原型模型原型模型(Prototyping Model)(原型模型)(原型模型)听取客户需求构建系统 反复修改客户测试驱动抛弃型原型抛弃型原型:原型最终被抛弃原型最终被抛弃1.3.2 软件开发模型的选择 瀑布模型:用于需求事先可以明确定义的系统。增量模型:用于较大规模系统的开发,了解部分需求后开发一个版本,再了解部分需求后开发新的版本,直到系统全部开发完毕。原型模型:用于需求难以事先准确定义,但有要求快速开发的系统。螺旋模型:一般用于有较大风险的产品开发,分阶段实现、分阶段进行风险评估。软
26、件开发模型的选择软件开发模型的选择6.RUP6.RUP 现在软件产业界普遍认为,开发复杂软件项目必须采用基于UML的、以构架为中心、用例驱动与风险驱动相结合的迭代式增量开发过程,他是世界公认的开发复杂软件项目的最好过程。这一开发过程目前已经稳定、成熟。这就是:RUP(Rational Unified Process),统一软件开发过程 RUPRUP介绍介绍 RUP(Rational Unified Process)是软件工程化过程 RUP是一个定制流程的工具平台RUPRUP的工作流程的工作流程 RUP的工作流程的工作流程业务建模需求分析设计实施测试部署配置与变更管理项目管理环境标准文档标准文档
27、 SPP的的60余个文档模板余个文档模板 http:/ 文档目录文档目录 讲义讲义SPP-Template讨论:模型选择讨论:模型选择 大学记账系统,准备替换一个已存在的系统大学记账系统,准备替换一个已存在的系统 一个位于火车站的交互式火车车次查询系统一个位于火车站的交互式火车车次查询系统 1.3.3 1.3.3 软件生存周期软件生存周期1.3.3 1.3.3 软件生存周期软件生存周期 需求分析需求分析 概要设计概要设计 详细设计详细设计 编码编码 集成测试集成测试 确认测试确认测试 撰写用户文档撰写用户文档 用户培训用户培训 打包和交付打包和交付需求分析需求分析(1/2)(1/2)任务任务进
28、行需求调查,定义软件的用户需求,撰写软件需求规格说明书(SRS)根据SRS,撰写软件确认测试计划评审SRS和软件确认测试计划 输入输入用户的初步需求描述 输出输出软件需求规格说明书软件确认测试计划需求分析和软件定义需求分析和软件定义(2/2)(2/2)说明说明用户需求描述了用户对目标软件系统的期望和要求(包括功能、性能和设计约束等),因此,需求分析只需关心要解决的问题,而无需关心这些问题的解决方案软件确认测试计划应该包含软件需求规格说明书中所定义的所有需求的测试内容概要设计概要设计(1/3)(1/3)任务任务根据SRS,进行软件的总体结构设计、接口设计和数据设计,撰写软件总体结构设计、接口设计
29、和数据设计规格说明书根据软件的概要设计,制定软件集成测试计划输入输入软件需求规格说明书SRS输出输出软件总体结构设计规格说明书软件数据设计规格说明书软件接口设计规格说明书软件集成测试计划概要设计概要设计(2/3)(2/3)实施实施根据SRS来进行软件设计按照软件总体结构设计规格说明书编写指南编写软件总体结构设计文档按照软件数据设计规格说明书编写指南编写软件数据设计文档按照软件接口设计规格说明书编写指南编写软件接口设计文档按照软件集成测试计划编写指南编写软件集成测试计划文档概要设计概要设计(3/3)(3/3)说明说明概要设计要给出满足用户需求的软件解决方案,主要是指软件的总体结构、接口设计和数据
30、设计,不涉及具体模块的内部细节详细设计详细设计(1/3)(1/3)任务任务进行软件的详细设计,撰写软件详细设计规格说明书根据软件的详细设计,制定软件单元测试计划 输入输入软件需求规格说明书SRS软件总体设计规格说明书软件接口设计规格说明书软件数据设计规格说明书详细设计详细设计(2/3)(2/3)实施实施根据SRS和软件总体结构、接口和数据设计规格说明书,进行软件的详细设计,根据软件详细设计规格说明书编写指南撰写软件详细设计文档根据每个模块的内部实现细节的设计,以及软件单元测试计划编写指南编写软件单元测试计划文档 输出输出软件详细设计规格说明书软件单元测试计划详细设计详细设计(3/3)(3/3)
31、说明说明详细设计主要根据软件需求规格说明书,在软件总体结构设计、接口设计和数据设计的基础上,涉及软件解决方案的详细细节,尤其是模块的实现算法和思想编码编码(1/2)(1/2)任务任务编写程序进行单元测试,撰写单元测试报告 输入输入软件总体结构设计规格说明书软件数据设计规格说明书软件接口设计规格说明书软件详细设计规格说明书单元测试计划编码编码(2/2)(2/2)实施实施根据软件总体结构设计规格说明书、软件数据设计规格说明书、软件接口设计规格说明书、软件详细设计规格说明书进行编码根据单元测试计划对各个模块进行单元测试 输出输出经过单元测试的软件模块源程序单元测试报告集成测试集成测试(1/2)(1/
32、2)任务任务集成各个软件模块进行测试 输入输入软件模块的程序代码软件总体结构设计规格说明书软件数据设计规格说明书软件接口设计规格说明书软件集成测试计划集成测试集成测试(2/2)(2/2)实施实施根据软件总体结构设计规格说明书、软件接口设计规格说明书、软件数据设计规格说明书和软件集成测试计划,逐步组装模块进行软件的集成测试,撰写集成测试报告 输出输出可运行的、经过集成测试的目标软件系统集成测试报告确认测试确认测试(1/2)(1/2)任务任务根据软件需求规格说明书和软件确认测试计划进行确认测试,撰写确认测试报告 输入输入软件需求规格说明书确认测试计划确认测试确认测试(2/2)(2/2)实施实施根据
33、软件需求规格说明书和确认测试计划,对软件进行确认测试,撰写确认测试报告 输出输出可运行的、经过确认测试的目标软件系统确认测试报告 说明说明确认测试由用户进行测试撰写用户文档撰写用户文档(1/2)(1/2)任务任务撰写用户文档 输入输入软件需求规格说明书软件总体结构、接口设计和数据设计规格说明书可运行的目标软件系统撰写用户文档撰写用户文档(2/2)(2/2)实施实施根据用户软件需求规格说明书,软件总体结构、接口设计和数据设计规格说明书撰写用户文档用户文档一般包括:用户使用手册,安装手册,软件开发手册等等 输出输出用户手册安装手册开发指南用户培训用户培训(1/2)(1/2)任务任务对用户进行培训 输入输入软件需求规格说明书用户使用手册、安装手册、开发手册可运行的目标软件系统用户培训用户培训(2/2)(2/2)实施实施根据可运行的目标软件系统、用户使用手册,安装手册,开发手册对用户进行培训 输出输出无活动活动9:9:打包交付打包交付(1/2)(1/2)任务任务对软件进行打包,并交付用户使用 输入输入可执行的目标软件系统各种要交付的文档和资料,包括电子版和打印版打包交付打包交付(2/2)(2/2)实施实施制作安装软件安装并配置目标软件系统交付安装软件、文档和资料 输出输出安装软件交付给用户的文档和资料