- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
02-0 第二节 软件工程模型复习要点文档
第2章 软件开发模型复习与训练
主要内容
传统生存期模型
瀑布模型
演化模型
原型模型
增量模型
螺旋模型
四代技术
混合模型
面向对象生存期模型
统一软件开发过程
基于软件构件的软件开发
软件工程学科发展到今天,已经有了很多方法和规范,学之不尽。本章只在宏观上讨论了软件工程的一些思想,更具体的内容将在后面的章节论述。无论是什么好方法,贵在理解与灵活运用,而不可当成灵丹妙药,不会象“吃了脑黄金或脑白金,就能使一亿人先聪明起来”。
主要知识点
——软件工程的主要环节
软件工程的主要环节包括人员管理、项目管理、需求分析、系统设计、程序设计、测试、维护等。
如何用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,好比工厂的生产线?需要对软件过程的建模,一种软件工程模型支持!
——软件开发过程都要经过三个典型阶段
定义(definition)阶段:开发人员要弄清软件做什么;分为三个基础步骤:系统分析、软件项目计划、需求分析
开发(development)阶段:开发人员要确定软件怎么做;有三个步骤:软件设计、编码、测试
维护(maintenance)阶段:对各种修改进行再定义和再开发;分为三种类型:改正、适应、完善
——软件工程模式
软件工程模式是对软件过程的建模,描述了软件开发全部过程、活动和任务的一种范式。软件工程模式又称为范型、范例、风范、模式(Pattern)或模型。根据软件项目的性质灵活选用开发模式。
每个开发模式都有它的支持者和用户;
每个开发模式都特别适合于某种类型的问题或子问题;
每一个开发模式都用不同的方式考虑问题;
每一个开发模式都使用不同的方法来分解问题;
每一个开发模式都导致不同种类的块、过程、产生规则。
——软件工程模型
软件工程模型是对软件过程的建模,描述了软件开发全部过程、活动和任务的一种范式。软件工程模型能清晰、直观地表达软件开发全过程,明确规定要完成主要的活动与任务,用来作为软件项目工作的基础。模型应该是稳定和普遍适用的。——概念相同、背景有别的名词有:软件工程模型,软件工程模式,软件工程范例,软件生存期模型、软件工程过程,软件过程。
本质与目的:表征了软件开发活动的组织,给出了软件求解的计算逻辑。
——瀑布模型(waterfall model)
是软件生存期的的经典范例,给出了固定的顺序,将生存期活动从上一个阶段向下一个阶段逐级过渡,形如流水下泻,逐级下落,最终得到软件产品。适合需求容易析取、处理规范的大型项目开发。
— 瀑布模型的特点:
是软件生存期的经典模型,阶段工作具有顺序性、依赖性,可提高大型软件开发的质量和效率;
各阶段有明确的工作任务、成果文档与审查验证,有利于软件开发方法和工具的研究与使用;
有利于大型软件开发过程中人员的分工、组织与管理;
— 瀑布模型的不足
缺乏回馈的灵活性,需求分析要求特别高。下游阶段发现错误时,回馈修改不方便。事实上,很多软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的;
无法通过并发活动澄清本来不够确切的需求,容易掩饰早期错误。需求确定后,用户和软件项目负责人要等相当长的时间才能得到一份软件的最初版本。如果用户对这个软件提出比较大的修改意见,那么整个软件项目将会蒙受巨大的人力、财力、时间方面的损失。
如何改善?瀑布模型为基础,较大限度的反馈迭代!这是演化模型、原型模型、螺旋模型、混合模型产生的思想。
——演化模型(evolvement model)
在项目开发的初始阶段,软件需求常常不够清晰,难于做到一次开发成功,出现返工再开发在所难免。做两次:
第一次试验开发,探索可行性,目的是弄清软件需求;
第二次则在此基础上获得较为满意的软件产品。
——原型模型(prototype model)
又名:雏形发展法,快速原型法。
借助开发工具快速构造系统的简化原型版本,用于开发者与用户之间进行交流,得到用户反馈意见,获得用户的需求;再根据需求增加系统的功能,以支持系统的最终设计和实现。实际上,原型模型是获取需求的一种机制,适合需求难以获取的软件开发。
特点:容易析取需求;阶段工作模糊;用户参与好。不足:阶段审查难;易管中窥豹;错误易放大。
——增量模型(Incremental model)
软件被作为一系列的增量构件来设计、实现、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。各个阶段并不交付可运行的完整产品,而是交付满足客户需求的可运行的一个子集产品。即:
第一个增量往往是核心产品;
每一个增量均发布一个可操作的子集产品;
早期的增量是最终产品的“可拆卸”版本。
例如,使用增量模型开发字处理软件,可以考虑:
第一个增量发布基本的文件管理、编辑、生成功能;
第二个增量发布更完善的编辑和文档生成能力;
第三个增量实现拼写和文
原创力文档


文档评论(0)