软件工程第2次课.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程第2次课.ppt

软件工程的认识 软件工程属于过程学,软件过程没有固定的模式可循。我们开发时应用采用什么过程和模式? 没有良好的计划。我们应该如何才能做好计划? 来自外部和内部需求的变更。需求一定是要变更的,我们如何应对? 忽视测试阶段的工作,提交用户的软件质量差; 其他根据问题。 思考其解决方法! 如何学好软件工程 软件工程属于过程学,属哲学方法论范畴,属于复杂、理论性强、实践性强、技术含量高的综合学科,能从认识和学习复杂事物的一般规律去思考和回答。 学习复杂事物遵循从粗到细,从表及里,由浅及深的方法。从头至尾的分段式学习在这里不适用; 软件工程是一门理论性和实践性很强的学科,必须理论结合实践,以前常见的学习问题是重理论轻实践; 软件工程许多问题没有对的和错的,只有较好的和适合的,并且解决方式不唯一。 软件工程过程 生命周期过程 生命周期过程,大的划分为3个:计划、开发、使用与维护,细分如下。 生命周期过程 计划过程:问题定义、可行性研究; 设计过程:需求分析、概要设计、详细设计; 实现过程:编码、调试、测试; 使用与维护:使用与维护。 思考 既然软件工程属于过程学,那么请思考: 前后过程之间是否有依赖关系? 到底哪些过程比较重要,起决定作用?哪些容易做不好,导致软件危机? 过程能否合并和省略?如果可以,我们如何选择适合自己的软件工程过程? 软件开发模型 瀑布模型 演化模型 原型模型 螺旋模型 增量模型 喷泉模型 瀑布模型 只有前一阶段完成确认后才开始下一阶段。 阶段间具有顺序性和依赖性。用户到最后才能看到产品。 每个阶段必须完成规定的文档,完成文档审查,及早改正错误。 例: 毕业后七年,总算接了个大工程,造一根三十米烟囱,工期两个月,造价三十万,不过要垫资。总算在去年年底搞完了。今天人家去验收,被人骂得要死,还没有钱拿。 原因?图纸看反了,人家是要挖一口井! 瀑布模型存在问题 ⑴ 阶段与阶段划分完全固定,阶段间产生的大量文档,极大地增加了工作量。 (2)项目开始阶段用户很难精确的提出产品需求,由于技术进步,用户对系统深入理解,修改需求十分普遍。 ⑵ 由于开发模型呈线性,项目开发晚期才能得到程序的运行版本,这时修改软件需求和开发中的错误代价很大。 ⑶ 前面未发现的错误传到后面的开发活动中,可能会扩散,进而可能会造成更不理想的效果。 原型模型 常有这种情况,用户定义了软件的一组一般性目标,但不能标识出详细的输入、处理及输出需求;还有一情况,开发者可能不能确定算法的有效性、操作系统的适应性或人机交换的形状。在这些及很多情况下,原型模型可能是最好的选择。 原型模型 原型模型 原型模型的作用类型 ⑴ 探索型 这种原型目的是弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可能性。它主要针对开发目标模糊、用户和开发者缺乏对项目的开发经验。 ⑵ 实验型 这种原型的目的是用于在大规模开发和实现之前,考虑方案是否合适规格说明,是否可靠。 ⑶ 进化型 这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改造原型得过程中,逐步将原型进化到最终系统。 使用原型策略 ⑴ 废弃策略 先构造一个功能简单而质量要求不高的模型系统,针对这个模型系统,反复进行分析、修改,形成较好的设计思想。据此设计出完整、准确、一致、可靠的最终系统。 ⑵ 追加策略 先构造一个功能简单而质量不高的模型系统作为最终系统的核心,然后通过不断地扩充、修改,逐步追加新要求,最后发展成最终系统。 原型模型存在问题 对于大型软件项目,原型模型需要足够的人力资源以建立足够的原型组。 原型模型要求开发者和客户在一段时间内共同完成原型系统的开发,如果任何一方没有实现承诺,会导致原型开发的失败。 如果系统难以模块化,建造原型所需构件就有问题;如果高性能是一个指标,原型模型也可能不奏效。 增量模型 增量模型即渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。 每个构件由多个相互作用的模块构成,并且能够完成特定的功能。 增量模型 增量模型 第一个增量往往是核心的产品,即实现了基本的需求,但很多补充的特性(其中一些是已知的,另外一些是未知的)还没有发布。核心产品交用户使用(或进行更详细的复审),使用和评估的结果是下一个增量的开发计划。该计划包括对核心产品的修改,使其能更好地满足用户的需要,并发布一些新增的特点和功能。这个过程在每一个增量发布后不断重复,直到产生最终的完善产品。 增量模型,像原型和其他演化方法一样,具有迭代的特征。但与原型不一样,增量模型强调每一个增量均发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但它们确实提供了给用户服务的功能,并且提供了给用户评估的平台。 增量

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档