- 1、本文档共145页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 可行性分析36493.ppt
软件危机;软件危机主要有以下表现:;软件的分类; 按软件工作方式划分:
实时处理软件
分时软件
交互式软件
批处理软件
按软件服务对象的范围划分:
项目软件
产品软件 ; 按使用的频度进行划分:
一次使用
频繁使用
按软件失效的影响进行划分:
高可靠性软件
一般可靠性软件
;软件工程知识体系指南(2004 版) Guide to the Software Engineering Body of Knowledge 2004 Version IEEE计算机学会(IEEE Computer Society);软件工程 — 本质特征;软件工程的基本原理;软件工程方法学分类:;传统方法学(生命周期方法学);1.3软件生命周期(software life cycle);1.3 软件生命周期;软件开发模型;软件过程模型;1.瀑布模型 (Waterfall Model);—— 传统的瀑布模型;—— 实际的瀑布模型;—— 瀑布模型的优缺点;—— 瀑布模型的优缺点;许多软件项目在开发早期对软件需求的认识是模糊的、不确定的,因此软件很难一次开发成功。
可以在获取了一组基本的需求后,通过快速分析构造出该软件的一个初始可运行版本,称之为原型(prototype),然后根据用户在试用原型的过程中提出的意见和建议、或者增加新的需求,对原型进行改造,获得原型的新版本,重复这一过程,最终得到令客户满意的软件产品。
演化模型的开发过程就是从构造初始的原型出发,逐步将其演化成最终软件产品的过程。
演化模型适用于对软件需求缺乏准确认识的情况。
典型的演化模型有:增量模型、原型模型、螺旋模型。;原型(prototype)是预期系统的一个可执行版本,它反映了系统性质(如功能、计算结果等)的一个选定的子集。一个原型不必满足目标软件的所有约束,其目的是能快速、低成本地构建原型。
原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。然后快速制订原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建原型。
被开发的原型应交付给客户试用,并收集客户的反馈意见,这些反馈意见可在下一轮迭代中对原型进行改进。在前一个原型需要改进,或者需要扩展其范围的时候,进入下一轮原型的迭代开发。;原型的类型:
探索型(exploratory prototyping)
其目的是要弄清目标系统的要求,确定所希望的特性,并探讨多种方案的可行性
实验型(experimental prototyping)
其目的是验证方案或算法的合理性,它是在大规模开发和实现前,用于考核方案是否合适,规格说明是否可靠。
演化型(evolutionary prototyping)
其目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。 ;原型的使用策略:
废弃(throw away)策略
主要用于探索型和实验型原型的开发。这些原型关注于目标系统的某些特性,而不是全部特性,开发这些原型时通常不考虑与探索或实验目的无关的功能、质量、结构等因素,这种原型通常被废丢,然后根据探索或实验的结果用良好的结构和设计思想重新设计目标系统。
追加(add on)策略
主要用于演化型原型的开发。这种原型通常是实现了目标系统中已明确定义的特性的一个子集,通过对它的不断修改和扩充,逐步追加新的要求,最后使其演化成最终的目标系统。
原型可作为单独的过程模型使用,它也常被作为一种方法或实现技术应用于其它的过程模型中。;快速原型模型工作过程;;快速原型;原型模型 — 适用情况;3. 增量模型(渐增模型)
(Incremental Model)
先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。
系统的总体设计在初始子集设计阶段就应作出设想。;增量模型;;分析;增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的“增量”版本,后一个版本是对前一版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。
增量模型融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征
增量模型强调每一个增量都发布一个可运行的产品;增量模型特别适用于:
需求经常变化的软件开发
市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品的软件开发
增量模型能有计划地管理技术风险,如早期增量版本中避免采用尚未成熟的技术;
文档评论(0)