第3章 软件工程课件02.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 - 2010 - 第二章 软件过程 第二章 软件过程 (1) 20个BUG 1. 程序员写出自认为没有Bug的代码。 2. 软件测试,发现了20个Bug。 3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug。 4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug。 5. 重复3次步骤3和步骤4。 6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于上市了。 7. 用户发现了137个新Bug。 8. 已经领了项目奖金的程序员不知跑到哪里去了。 9. 新组建的项目组修正了差不多全部137个Bug,但又发现了456个新Bug。 10. 最初那个程序员从斐济给饱受拖欠工资之苦的测试组寄来了一张明信片。整个测试组集体辞职。 11. 公司被竞争对手恶意收购。收购时,软件的最终版本包含783个Bug。 12. 新CEO走马上任。公司雇了一名新程序员重写该软件。 13. 程序员写出自认为没有Bug的代码。 学习的过程与软件的开发过程 建造计算机软件是一个迭代学习的过程,其输出是在过程进行中收集、精炼和组织的知识的具体化。 过程:产生某种预定输出的一系列可预测的步骤,包含一组活动(activities)、约束(constraints)、资源要素(resources)。 过程使用一定的资源,受一定的限制,并生成一定的中间及最终产品; 过程中所包含的活动事先都规定好了; 过程中每个活动的开始、结束有明确的规定; 每项活动都有相应的指导原则,用以明确其目标; 各活动之间以某种顺序组织; 过程可能包括若干相互关联的子过程; 过程中的活动、资源以及产品都可能受到约束; 过程能保证各活动之间是有组织的和一致的: 从而,不同的人使用同一过程能获得在某一层次上一致的产品; 一致性并不排斥灵活性,一致性是在某一层次上实现的; 过程可被检查、理解、控制和改进; 过程也是传授经验的一种途径。 软件过程:为建造高质量软件所需完成的任务的框架,它规定了完成各项任务的工作步骤。 软件过程和软件工程的关系: 软件工程应该是由有创造力、有知识的人在定义好的、成熟的软件过程中进行的,该过程适合于他们建造的产品和他们的市场需要。 软件过程定义了软件开发中采用的方法,但软件工程还包含该过程中应用的其他技术和工具。 当谈及的过程涉及到某种产品的建造时,常把过程称作为生命周期。 软件过程与软件生命周期的关系: 软件过程是在软件生命周期中所实施的一系列活动的集合; 软件生命周期与选择的软件过程有关,不同的软件过程可能对应不同的软件生命周期。 软件过程模型是对被描述的实际过程的抽象,即,是从某种特定角度提出的对软件过程的简化描述。 经典软件过程模型可为我们提供一些范例 瀑布模型 1970年温斯顿?罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。 瀑布模型 瀑布模型特点 阶段间具有顺序性和依赖性 必须等前一阶段的工作完成之后,才能开始后一阶段的工作 前一阶段的输出文档就是后一阶段的输入文档 推迟实现的观点 清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现 瀑布模型特点 质量保证的观点 每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。 每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。 瀑布模型的本质是“一次通过” 在支持开发结构化软件、控制软件开发复杂度、促进软件开发工程化方面起了显著作用; 它为软件开发和维护提供了一种当时较为有效的管理模式,根据这一模式制定开发计划、进行成本预算、组织开发人员,以阶段评审和文档控制为手段,有效地对软件开发过程进行指导,从而对软件质量有一定程度的保证; 我国曾在1988年根据该模型制定并公布了“软件开发规范”国家标准。 瀑布模型优点 可强迫开发人员采用规范的方法(例如,结构化技术) 严格地规定了每个阶段必须提交的文档 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证 瀑布模型的成功

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档