ch04-项目方法的选择ppt课件_第1页
ch04-项目方法的选择ppt课件_第2页
ch04-项目方法的选择ppt课件_第3页
ch04-项目方法的选择ppt课件_第4页
ch04-项目方法的选择ppt课件_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四讲:工程方法的选择.内容技术选择思索风险方法选择.技术选择技术选择将影响:开发人员的训练需求人员招聘开发环境软硬件系统维护安排步骤分析工程是目的驱动还是产品驱动分析工程的其它特征面向数据还是面向控制通用还是公用能否涉及需求公用工具支持的专门技术并发处置、专家系统、GIS能否有特殊的平安性safe要求对软硬件有何要求PC Vs. 大型机 .识别工程中的高风险产品不确定性:系统需求了解的准确性。用户在开场时有能够对系统应该什么样都无法确定。在某些环境中,准确而有效的需求描画能够迅速变得过时。过程不确定性:在工程开场时需求选择方法或过程模型,或者一些新的工具,任何对原先采用的开发方法的变卦都将引

2、入不确定性。资源不确定性:工程进展中资源的数量能够发生变化。例如公司待遇、其它工程的影响。 .方法选择思索用户关于实现的需求用户能够在合同中限定了有关实现方面的方法。例如,规定了企业必需具有相应的CMM等级,或者经过了ISO9000方法。选择通用的生命期方法控制系统:普通为实时系统,比如需求Petri网技术.Too often, software work follows the first law of bicycling: No matter where youre going, its uphill and against the wind.过程模型的选择软件过程是将用户的需求转化成有效

3、的软件处理方案的一系列活动。开发一个软件需求选择开发战略包括过程、方法和工具以及通用阶段,这些战略和阶段称为过程模型。过程模型的选择基于工程和运用的特性,运用的工具和方法,所需求的控制方法和交付物。.软件过程的概念软件过程由相关工程的阶段、形状、方法、技术和开发、维护软件的人员以及相关对象方案、文档、模型、编码、测试、手册等组成。一个过程定义了为到达某个确定的目的,需求什么人、在什么时间以何种方式做何种任务。软件需求一个可用于指点顾客、用户、开发人员和工程经理等参与者的过程。.软件开发过程软件工程的中心是过程。产品、人员、技术经过过程关联起来。软件开发过程可以将技术集成在一同从而使软件的开发可

4、以以一种合理而及时的方式完成。许多软件组织无法正确定义和控制这一过程,但这恰恰是组织改良的关键。.有效的软件过程有效的软件过程可以提高组织的消费才干保证软件开发根本原那么的实现,辅助软件工程管理者做出明智的决议;使软件开发活动规范化,提高软件的可重用性和Team间的协作;有效的软件过程也可以改善软件组织对软件的维护才干有效地定义如何管理需求变卦,在未来的版本中恰当分配变卦部分,使之平滑过渡; 首先在详细操作和相关支持中定义如何平滑地改造软件,并且这种详细操作和支持是可实施的;不可实施的软件过程将很快被束之高阁;.编码修正模型Code and FixCode like Hell鲁莽编码从一个大致

5、的想法开场任务,然后经过非正规的设计、编码、调试和测试方法,最后完成任务。能够有、能够没有规范. chapter_312Code and fix需求了解编码编译、检错修正编写文档提交修正测试.益处:本钱能够很低只需求很少的专业知识,任何写过程序的人都可以对一些非常小,开发完后就会很快丢弃的软件可以采用对于规模稍大的工程,采用这种模型是很危险的。.瀑布模型最早,被广泛运用的过程模型.需求分析验证规格阐明验证设计验证编码测试综合测试维护变化的需求验证瀑布模型适用于什么场所,有何优缺陷?.瀑布模型特点特点:阶段顺序执行严厉的质量保证推迟实现.瀑布模型适用条件当有一个稳定的产品定义和很容易被了解的技术

6、处理方案时,纯瀑布模型特别适宜。当一个定义很好的版本进展维护或将一个产品移植到一个新的平台对于容易了解但很复杂的工程,采用纯瀑布模型比较适宜,由于可以用顺序的方法处置当开发队伍技术力量比较弱或者缺乏阅历时,瀑布模型更为适宜类似的工程如:公司的财务系统库存管理系统.问题:缺乏灵敏性。必需在工程开场前阐明全部需求,但这恰恰是非常困难的。. chapter_319V型模型评审集成测试用户验收工程规化需求分析总体设计详细设计编码和调试系统测试单元测试.V型模型该方法是对瀑布模型的变种,强调了验证活动。扩展了瀑布模型的测试活动理想的情况下,矫正活动只应该前往对应层次的下层。可行性?可行性能够在系统实现前

7、几个月或者几年前执行。.工程的需求在工程开场前很明确处理方案在工程开场前也很明确对系统的性能平安很严厉的工程类似的工程如:航天飞机等公司的财务系统.瀑布模型变种:生鱼片模型 把阶段重叠起来的瀑布模型来源于日本硬件开发模型富士通-施乐软件概念需求分析架构设计详细设计编码和调试系统测试.传统的瀑布模型强调阶段之间最小的重叠,而生鱼片模型强调大幅度的重叠,即在需求分析完成之前就可以进展架构设计和部分详细设计。纯瀑布模型强调在恣意两个阶段交接时,文档从一个团队交给另一个完全隔离的团队,但是假设一个团队完成各个阶段义务是,可以没有那么多的文档。优点:加快进度。问题:缺陷是什么?由于阶段重叠,因此里程碑不

8、明确,很难有效的进展过程跟踪和控制。.螺旋模型以风险为导向的生命期模型从一个小范围的关键中心地带开场寻觅风险要素,制定风险控制方案,并交付给下一个步骤,如次迭代,每次迭代将工程扩展到一个更大的规模。. .Spiral Model螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:制定方案确定软件目的,需求和选定实施方案,弄清工程开发的限制条件风险分析评价所选方案,思索如何识别和消除风险实施工程实施软件开发,编码,测试等客户评价评价开发任务,提出修正建议,规划下期义务.Spiral Model适宜的工程风险是主要的制约要素不确定要素和风险限制了工程进度用户对本人的需求也不是很明确需求

9、对一些根本的概念进展验证能够发生一些艰苦的变卦工程规模很大工程中采用了新技术.优点:随着迭代的添加,风险程度随之降低缺陷:比较复杂,需求责任心、专注和管理方面的知识。.原型法原型是工程系统中一个方面或多个方面的任务模型丢弃型原型:用于实验某些概念,实验完系统将无用途。进化型原型:原型系统不断地被开发和修正,最终他将变为一个真正的系统。.原型法原型的益处从实际中学习(Learning by doing)改善的通讯改善的用户参与使部分知的需求明晰化展现描画的一致性和完好性特征约束利用工具构造原型可以将某些特性落实到实处,而非在纸上谈兵那样容易失误实验能否能产生预期的结果.原型模型适宜的工程工程的需

10、求在工程开场前不明确需求减少工程需求的不确定性类似的工程如:确定显示界面第一次开发的产品,验证可行性.原型法原型法的缺陷用户有时误解了原型的角色,例如,他们能够误解原型应该和真实系一致样可靠短少工程规范,进化原型法有点像编码修正code and fix短少控制,由于用户能够不断提出新要求,因此原型迭代的周期很难控制额外的破费:有统计阐明,构造原型能够有10%的额外破费运转效率能够会受影响原型法要求开发者与用户亲密接触,有时这是不能够的如软件外包.增量式交付增量式交付:继续地在确定的阶段向用户展现软件。与渐进原型不同,在增量式交付的时候,他明确地知道下一步要完成什么任务,增量式交付的特点是不会在

11、工程终了的时候一下交付出全部软件,而是在工程的整个开发过程中继续不断的交付阶段性成果。.增量式交付.增量式交付模型的特点阶段式提交一个可运转的产品关键的功能更早出现早期预警问题,防止软件缺陷不知不觉的增长减少报告负担阶段性完成可以降低估计失误阶段性完成平衡了弹性与效率.增量式交付的优点工程终了交付全部成果前,分阶段将有用的功能交付给用户。主要缺陷:假设管理层和技术层面上缺乏仔细的规划,任务就无法进展。运用增量式交付的要点:确保每个阶段的交付对用户是有用的。确保思索了不同组成部分的技术依赖关系。.面向进度的设计类似于增量式交付,但是面向进度的设计生命周期模型在开场的时候不用知道终究能到达何种目的

12、,但是要确保最后期限。该模型的关键是要按优先级别划分系统特征并规划开发阶段,保证前面的阶段具有高优先级的特性,低特性具有低优先级。能否采用这种方法取决于他能否对系统目的具有足够的自信心。假设有自信心,那么可以采用增量式交付。.渐进交付渐进交付是一种跨越了渐进进化原型和增量式交付两种模型的过程模型。根本过程:开发一个产品的版本,展现给客户,根据反响改善产品。假设方案满足用户的绝大多数需求,渐进交付与渐进原型差不多。假设方案满足少量的需求,渐进交付与增量式交付差不多。渐进原型强调的是系统看得见的样子,再回来堵破绽;渐进交付中,最初的重点是系统中心和底层系统功能。.面向开发工具的设计只需现有软件工具

13、直接支持的情况下加强产品的功能,假设他不支持,就放弃这些功能。当时间成为主要约束时,该模型可以比其他模型可以更完好的实现功能。 该方法的缺陷是失去了很多对产品的控制才干。.商品软件商品软件也许未必满足他的一切要求。但本人开发也需求一个周期,到那时候,商品软件能够曾经满足了他的要求。商品软件能够存在缺乏,但是,他本人开发的产品也未必那么完美,当他补充了商品软件的缺乏时,也许带了新的问题。因此,商品软件一直是一个值得思索的方案。.练习:案例研讨某教育部门希望目前的中小学有一个现代化的信息交流平台,即校务管理系统。为此,他们提出了需求,希望软件公司可以开发这种软件。该软件是对学校校务和教学活动进展综

14、合管理的平台系统。是一个学校和地域教育信息化的根底信息平台。它要完成学校管理层、教师、学生、家长等日常任务、学习、管理、咨询等义务。 .校务通系统的全部功能分为通用功能和日常业务管理功能两大类。因此,可以先基于通用功能做出一个最小的运用版本。再逐渐添加其它功能。这样一来,用户可以在先试用最小版本的同时,提出更多明确的需求,这有助于下一阶段的开发,大大减少了开发的风险。用户明确了需求的大部分,但也存在不很详细的地方。如“关于教师档案,对比所提供的资料设计,如今也没有一个成型的东西。资源库系统只提到“应提供一个规范的资源库系统处理方案。这样,只需等到一个可用的产品出来,经过客户运用这个可用产品,然

15、后进展评价,评价的结果作为下个增量的开发方案。下一个增量发布一些新增的功能和特性,直至产生最终的完善产品。.在校务通系统需求中,要求系统有可扩展性。假设运用增量式模型,可以保证系统的可扩展性。“系统要求有可扩展性,可以在现有系统的根底上,经过前台就可以加挂其他功能模块阐明用户会添加新的需求。对一个管理方式曾经比较成熟的学校,要完全舍弃原有的管理方式,用校务通系统交换全部管理,这是不实践的。所以,可以从最根底的做起,逐渐的扩展其功能。 .工程方案集成测试产品移交增量1总体设计需求分析增量2增量6增量5增量4增量3.工程规划阶段阶段目的:根据合同和初步需求分析,确定工程的规模,时间方案和资源的需求

16、输入:合同文本过程:工程规划、方案确认输出:工程方案需求分析阶段阶段目的:确定用户需求输入:工程方案过程:需求获取、需求分析、需求控制输出:需求规格、原型系统工程规划阶段阶段目的:总体系统构造设计输入:需求规格、原型系统过程:总体设计输出:系统设计阐明书,数据库构造定义.增量1实现阶段目的:实现系统的通用功能输入:系统设计阐明书,数据库构造定义过程:详细设计,编码,代码走查,代码评审,单元测试输出:详细设计阐明书,源代码,可运转版本-1增量2实现阶段目的:实现系统的招生功能输入:系统设计阐明书,数据库构造定义过程:详细设计,编码,代码走查,代码评审,单元测试输出:详细设计阐明书,源代码,可运转版本-2.增量3实现阶段目的:实现系统的学生日常功能输入:系统设计阐明书,数据库构造定义过程:详细设计,编码,代码走查,代码评审,单元测试输出:详细设计阐明书,源代码,可运转版本-3增量4实现阶段目的:实现系统的教务管理功能输入:系统设计阐明书,数据库构造定义过程:详细设计,编码,代码走查,代码评审,单元测试输出:详细设计阐明书,源代码,可运转版本-4增量5实现阶段目的:实现系统的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论