网站大量收购闲置独家精品文档,联系QQ:2885784924

《软件工程》课件 第1章软件工程学概述.ppt

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

第1章 软件工程学概述 1.1 软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机包含下述两方面的问题: 如何开发软件; 如何维护软件。 案例 1963年美国飞往火星的火箭爆炸,造成1000万美元的损失。原因是FORTRAN程序: DO 5 I=1,3 误写为:DO 5 I=1 . 3 1966年,IBM公司组织开发的 OS/360,共约100万条指令,花费了5000个人年;经费达数亿美圆,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。 OS/360系统的负责人Brooks这样描述开发过程的困难和混乱:“…像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运。…” 1967年苏联“联盟一号”载人宇宙飞船在返航时,由于软件忽略一个小数点,导至在进入大气层时因打不开降落伞而烧毁。 1.1.1软件危机的介绍 软件危机的表现: 对软件开发成本和进度的估计常常很不准确。 用户对“已完成的”软件系统不满意的现象经常发生。 软件产品的质量往往靠不住。 软件常常是不可维护的。 软件通常没有适当的文档资料。 软件成本在计算机系统总成本中所占的比例逐年上升。 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 1.1.2产生软件危机的原因 主要有两个原因: 一方面与软件本身的特点有关 另一方面也和软件开发与维护的方法不正确有关。 1.1.3消除软件危机的途径 首先应该对计算机软件有一个正确的认识。 应该推广使用在实践中总结出来的开发软件的成功的技术和方法。 研究探索更好更有效的技术和方法。 应该开发和使用更好的软件工具。 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。 1.2 软件工程 1.2.1软件工程的介绍 两个定义: 早期定义:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。” 更全面更具体的定义:“软件工程是: ①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。” 软件工程的本质特征 1. 软件工程关注于大型程序的构造 2. 软件工程的中心课题是控制复杂性 3. 软件经常变化 4. 开发软件的效率非常重要 5. 和谐地合作是开发软件的关键 6. 软件必须有效地支持它的用户 7. 在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品 1.2.2软件工程的基本原理 1. 用分阶段的生命周期计划严格管理 2. 坚持进行阶段评审 3. 实行严格的产品控制 4. 采用现代程序设计技术 5. 结果应能清楚地审查 6. 开发小组的人员应该少而精 7. 承认不断改进软件工程实践的必要性 1.2.3软件工程方法学 软件工程技术包括:技术和管理二方面内容 把软件生命周期全过程中使用的一整套技术方法的集合称为方法学 主要存在: A 传统方法学(生命周期方法或结构化方法):分阶段开发和管理 B 面向对象方法(OOA,OOD,OOP) 1. 传统方法学 也称为生命周期方法学或结构化范型。 它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。 这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。 每一个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。 在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审 2. 面向对象方法学 面向对象方法学的出发点和基本原则 是尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,从而使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 优点: 降低了软件产品的复杂性,提高了软件产品的可理解性,简化了软件的开发和维护工作。 促进了软件重用。 面向对象方法学具有下述4个要点: (1) 把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。 (2) 把所有对象都划分成类(class)。 (3) 按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。 (4) 对象彼此间仅能通过发送消息互相联系。(封装性) 两者区别 传统方法学强调自顶向下顺序地完成软件开发的各阶段任务。 面向对象方法学开发软件的过程,是一个主

文档评论(0)

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

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

1亿VIP精品文档

相关文档