软件工程与UML全套课件.pptx

  1. 1、本文档共386页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单元一 用软件工程的思想开发系统;任务一:选择适当的软件过程模型;;;任务一 选择适当的软件过程模型 ; 任务陈述; 知识准备;开发出来的软件往往与用户的需求有偏差; 往往在看到最终交付的产品时,用户才真正明确自己的需求; 在软件开发过程中,需求可能经常在变,原因可能是用户本身需求的变化,也可能是我们对需求的理解在发生变化,但结果是每次需求变化会带来软件系统的开发延迟,甚至出现变更反复,被推倒了的内容又要重新确立; 在软件没有最终交付时,用户如何了解开发进展情况; 系统难以维护和扩展,经常重复开发类似的功能; 项目经常延期,实际成本往往远远高于估计成本; 开发团队内部使用了不同的技术,在交流时常常有障碍; ……;软件及其特点 ;软件是脑力劳动的产品,但它不同于追求个性化的艺术作品;软件是产品,但它又不同于工业化生产得到的有形产品 ;软件的特点;什么是软件危机 在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断增加的已有软件。 消除软件危机的途径 正确认识软件。 加强管理。 使用软件工具。 ;软件工程的定义 软件工程 = 管理 + 技术 软件工程的目标 ;软件工程的基本原理 (1)用分阶段的生命周期计划严格管理。 (2)坚持进行阶段评审。 (3)实行严格的产品控制。 (4)采用现代程序设计技术。 (5)结果应能清楚地审查。 (6)开发小组的人员应该少而精。 (7)不断改进软件工程实践的经验和技术。;如何盖一栋大楼?;软件开发生命周期可以划分成计划、设计、开发和运行维护4个时期 ;1.建造-修补模型 早前,软件开发人员在进行软件开发时不使用规格说明,或者不尝试进行设计;只是简单地建造了一个软件产品,但为满足客户的要求,只能不断地改写该软件,这就是所谓的建造-修补模型。 ;2.瀑布模型 核心思想是阶段性的评审和验证,每一阶段结束时都要给出完整的文档。 缺点是该模型缺乏灵活性,后一阶段出现的问题需要通过前一阶段的重新确认来解决。 ;3.原型模型 快速设计软件中对用户可见部分的表示,构造原型,由用户评估,逐步调整原型,使之满足用户需要。 其优点是开发者和用户可以充分沟通,开发过程也是学习过程,可以低风险开发柔性较大的计算机系统。;4.螺旋模型 把软件开发过程组成为一个逐步细化的螺旋周期,每经历一个周期,系统就得到进一步的细化和完善;整个模型紧密围绕开发中的风险分析,推动软件设计向深层扩展和求精。该模型要求开发人员与用户能经常直接进行交流,通常用来指导内部发行的大型软件项目的开发 ;5.增量模型 一种渐近式的模型 ,它把软件产品作为一系列的增量构件来设计、编码、集成和测试。 第一个增量构件往往实现软件的基本需求,提供最核心的功能。;6.迭代模型 迭代模型也是一种渐近式的模型。就对风险的消除上,增量和迭代模型都能够很好地控制前期的风险,但迭代模型在这方面更有优势。迭代模型可以更多地从总体方面思考系统问题,一开始就给出相对完善的框架或原型,后期的每次迭代都是针对上次迭代的逐步精化。 ;7.喷泉模型 认为软件生命周期的各个阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,水既可以落在中间,也可以落在最底部。 整个开发过程中都使用统一的概念“对象”进行分析,使用统一的概念和符号表示分析设计过程,各阶段间没有明显的边界,即“无缝”衔接,因此各开发步骤可以多次反复迭代,逐步深化。 ;8.MSF过程模型 吸收了瀑布模型的里程碑和螺旋模型的反复迭代的思想 。 分为5个阶段,每一阶段结束时都有明确的交付成果。;(1)总体上说,面向对象的程序设计采用的是喷泉模型,但局部可以结合其他模型。 (2)在前期需求明确、资料完整的情况下尽量采用瀑布模型。 (3)在用户无信息系统使用经验、需求分析人员技能不足的情况下要借助原型。 (4)在不确定性因素很多、很多东西前面无法计划的情况下尽量采用增量模型和螺旋模型。 (5)在需求不稳定的情况下尽量采用增量迭代模型。 (6)在资金和成本无法一次到位的情况下可以采用增量模型,将产品分多个版本进行发布。 (7)增量、迭代和原型可以综合使用,但每一次增量或迭代都必须有明确的交付内容。 ;方案一:采用瀑布模型开发系统 方案二:采用螺旋模型开发系统 ;拓展训练一:“字处理软件新版本开发”的软件过程模型 拓展训练二:“学生成绩管理系统”的软件过程模型 ;任务二 用UML模型表达开发过程 ; 任务陈述; 知识准备;研究如何通过分解和抽象,将复杂问题转化成一系列可以理解和实现的简单问题。 ;面向过程的程序 = 算法 + 数据结构。 面向对象的程序 = 对象 + 类 + 继承 + 消息通信。 面向构件的程序

文档评论(0)

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

知识分享

1亿VIP精品文档

相关文档