软件危机 软件危机最早在1968年的NATO会议提出 表现为 对软件的需求远超出现有的生产能力 人们依赖于脆弱的软件,目前的软件不可靠、缺 乏安全性、性能下降、出错、难以升级,73%的 软件项目被延迟、超资、取消或失败 为了从根本上解决软件危机的危机,人类提 出了“软件工程”的一些列方法,然而,众 多的软件工程的方法并没有彻底解决“软件 危机”的问题
软件危机 软件危机最早在1968年的NATO会议提出, 表现为: 1. 对软件的需求远超出现有的生产能力; 2. 人们依赖于脆弱的软件,目前的软件不可靠、缺 乏安全性、性能下降、出错、难以升级,73%的 软件项目被延迟、超资、取消或失败。 为了从根本上解决软件危机的危机,人类提 出了“软件工程”的一些列方法,然而,众 多的软件工程的方法并没有彻底解决“软件 危机” 的问题
软件危机 1986年,弗雷德里克·布鲁克斯提出一个著名悲 观论断:“没有一种单纯的技术或管理上的进 步,能够独立地承诺在10年内大幅度地提高软 件的生产率、可靠性和简洁性”。 非常遗憾的是银弹论断迄今为止尚未打破!据 美国国家标准和技术研究院的一份报告显示, 占据世界软件销售额85%的是大型的专用软件, 而其开发的失败率却高达70% 针对日趋复杂的软件需求的挑战,软件业界在 90年代发展出了面向对象( Object-Oriented) 的软件开发模式,作为针对“软件危机”的最 佳对策
软件危机 1986年,弗雷德里克·布鲁克斯提出一个著名悲 观论断: “没有一种单纯的技术或管理上的进 步,能够独立地承诺在10年内大幅度地提高软 件的生产率、可靠性和简洁性” 。 非常遗憾的是银弹论断迄今为止尚未打破!据 美国国家标准和技术研究院的一份报告显示, 占据世界软件销售额85%的是大型的专用软件, 而其开发的失败率却高达70%。 针对日趋复杂的软件需求的挑战,软件业界在 90年代发展出了面向对象(Object-Oriented) 的软件开发模式,作为针对“软件危机”的最 佳对策
面向对象的思想 般对象: 是现实世界中一个实际存在的事物 可以使有形的(比如一辆汽车),也可以是无形的 (比如一项计划)。 是构成世界的一个独立单位,具有 。静态特征:可以用某种数据来描述 动态特征:对象所表现的行为或具有的功能 软件中的对象: 对象应可以用量化描述和处理; ●对象具有属性和行为: 属性:描述对象的静态特征的数据项; 行为:表述对象的动态特征的操作序列
面向对象的思想 一般对象: 是现实世界中一个实际存在的事物。 可以使有形的(比如一辆汽车),也可以是无形的 (比如一项计划)。 是构成世界的一个独立单位,具有: 静态特征:可以用某种数据来描述 动态特征:对象所表现的行为或具有的功能 软件中的对象: 对象应可以用量化描述和处理; 对象具有属性和行为: 属性:描述对象的静态特征的数据项; 行为:表述对象的动态特征的操作序列
面向对象的思想 面向过程好比是无人管 理的阅览室,只有书架 和图书,随便看,随便息日 面向对象好比是图书馆, 图书被有效的管理(分 类),借书凭证,到期 归还。 属性:各种类型的图书、 各个阅览室 行为:图进货,阅读 规则,借阅规则,残破 处理等
面向对象的思想 面向过程好比是无人管 理的阅览室,只有书架 和图书,随便看,随便 拿。 面向对象好比是图书馆, 图书被有效的管理(分 类),借书凭证,到期 归还。 属性:各种类型的图书、 各个阅览室 行为:图书进货,阅读 规则,借阅规则,残破 处理等
面向对象的思想类 Class 分 人类通常的思维方法 分类所依据的原则—抽象 忽略事物的非本质特征,只注意那些与当前目 标有关的本质特征,从而找出事物的共性,把 具有共同性质的事物划分为一类,得出一个抽 象的概念。 例如,石头、树木、汽车、房屋等都是人们在 长期的生产和生活实践中抽象出的概念
面向对象的思想——类 Class 分类——人类通常的思维方法 分类所依据的原则——抽象 忽略事物的非本质特征,只注意那些与当前目 标有关的本质特征,从而找出事物的共性,把 具有共同性质的事物划分为一类,得出一个抽 象的概念。 例如,石头、树木、汽车、房屋等都是人们在 长期的生产和生活实践中抽象出的概念