第1章 软件与软件工程的概念.ppt

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

第1章 软件与软件工程的概念 软件的概念、特性和分类 软件危机与软件工程 系统工程的目标 软件生存期 软件生存期模型 软件工程知识体系及知识域 1.1 软件的概念、特性和分类 软件的作用 具有产品和产品生产载体的双重作用。 作为产品,软件显示了由计算机硬件体现的计算能力,扮演着信息转换的角色:产生、管理、查询、修改、显示或者传递各种不同的信息。 作为产品生产的载体,软件提供了计算机控制(操作系统)、信息通信(网络),以及应用程序开发和控制的基础平台(软件工具和环境)。 1.1 软件的概念、特性和分类 软件的概念 虽然软件对于现代的人并不陌生,但很多人对于软件的理解并不准确,“软件就是程序,软件开发就是编程序”的这种错误观点仍然存在。 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。 软件 = 程序+数据+文档 程序是按事先设计的功能和性能要求执行的指令序列。 数据是使程序能正常操纵信息的数据结构。 文档是与程序开发,维护和使用有关的图文材料。 软件的特点 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。 软件的开发至今尚未完全摆脱手工艺的开发方式。 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 1.2 软件危机与软件工程 概念:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 表现 对软件开发成本和进度的估计常常很不准确。 这个项目的负责人F. D. Brooks事后总结了他在组织开发过程中的沉痛教训时说:“......正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。......程序设计工作正像这样一个泥潭,......一批批程序员被迫在泥潭中拼命挣扎,......谁也没有料到问题竟会陷入这样的困境......”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。 产生软件危机的原因 消除软件危机的途径  1.2 软件危机与软件工程 软件工程的背景和历史 1968年,在NATO (北大西洋公约组织)在德国Garmish召开的学术会议上,Feitz Bauer首先提出了“软件工程”概念,引入了现代软件开发的方法,希望用工程化的原则和方法来克服软件危机。 软件工程的本质特性 软件工程关注于中大型程序的构造. 软件工程的中心课题是控制复杂性. 软件经常变化. 开发软件的效率. 和谐地合作是开发软件的关键. 软件必须有效地支持它的用户. 在软件工程领域中,是由具有一种文化背景的人替具有另一种文化背景的人创造产品. 目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。 把所有对象都划分成类(Class)。每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。数据用于表示对象的静态属性,是对象的状态信息,而施加于数据之上的操作用于实现对象的动态行为。  按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,这种现象称为继承。 对象彼此之间仅能通过发送消息互相联系。对象与传统数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须向它发消息请求它执行它的某个操作以处理它的数据,而不能从外界直接对它的数据进行处理。也就是说,对象的所有私有信息都被封装在该对象内,不能从外界直接访问,这就是通常所说的封装性。  用面向对象方法学开发软件的过程,是一个主动地多次反复迭代的演化过程。面向对象方法在概念和表示方法上的一致性,保证了在各项开发活动之间的平滑(无缝)过渡。面向对象方法普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;通过建立类等级而获得的继承性,支持从一般到特殊的演绎思维过程。 正确运用面向对象方法学开发软件,则最终的软件产品由许多较小的基本上独立的对象组成,而且大多数对象都与现实世界中的实体相对应,因此,降低了软件产品的复杂性,提高了软件产品的可理解性,简化了软件的开发和维护工作。由于对象是相对独立的实体,容易在以后的软件产品中重复使用,因此,面向对象范型的另一个重要优点是促进了软件重用。面向对象方法特有的继承性,进一步提高了面向对象软件的可重用性。 处在十字路口的中国软件产业 主权大国必须建立基于自主技术的、完整的软件产业体系。 软件本国提供率:中国1/3左右,美国97% “印度模式”还是“中国模式” 软件人才结构不合理,缺乏中高级软件人才; 软件人员缺乏软件工程化的概念。 1.4 软件生存期 软件有一个孕育、诞生、成长、成熟、衰亡的生存

文档评论(0)

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

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

1亿VIP精品文档

相关文档