第一章UML面向对象技术概述.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文档。上传文档
查看更多
第一章UML面向对象技术概述

软件危机,于20世纪60年代爆发 产生:大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。 表现形式:用户需求不明确、变更过多;软件成本日益增长;开发进度难以控制;软件质量差;软件维护困难。 产生的原因:软件开发无计划性;软件需求不充分;软件开发过程无规范;软件产品无评测手段。 解决途径:应该加强软件开发过程的管理;推广使用开发软件的成功技术与方法;开发和使用好的软件工具。 软件工程,由NATO于1968年提出 发展:软件的需求是软件发展的动力;软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存周期。 软件生存周期一般可划分为计划、开发、运行与维护三个时期,而每个时期又划分为若干个阶段。 软件开发的现状 软件工程学科不断发展 软件危机仍然存在 中小型软件开发较为成熟,大型软件存在问题 常见软件开发方法 瀑布模型 快速原型 螺旋模型 … 1.2 软件开发的基本认识 大型软件系统的特点 开发代价高、时间长,参与人员多,软件生命周期长。 软件系统开发的两个方面 软件开发过程 软件开发中资源的协调和管理 软件工程的目的 在规定的时间、规定的费用内开发出满足用户需求的高质量的软件系统。 低错误率、好用、易用、可维护、可重用、可移植等 1.2 软件开发的基本认识 软件产品与硬件产品的区别 表现形式不同 生产方式不同 产品需求不同 维护方式不同 1.3 软件固有的复杂性 软件开发的复杂性与困难性是由于软件的特点造成的,软件的复杂性是固有的。 软件复杂性的原因 现有硬件系统的体系结构造成的 软件开发是智力活动,很难描述软件的本质规律或特征 软件系统中各元素之间的相互作用关系具有不确定性 软件系统需求的变化性 软件生命周期中需要适应不同的硬件环境 1.4 控制软件复杂性的基本方法 分解,即“分而治之”或“各个击破” 抽象,抽取系统本质特征,忽略非基本特征 过程抽象 数据抽象 模块化,基本要求是高内聚、低耦合 信息隐蔽,也称封装 1.5 面向对象技术 结构化的基本思想 以过程抽象对待系统的需求,其主要思想是对问题进行功能分解,直到最后分解得到的功能比较方便地处理和理解为止。 Object-Oriented的基本思想 对问题域进行自然分割,以更接近人类思维的方式建立问题域模型,从而使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性,能适应用户需求的变化。 1.5.1 面向对象 VS 结构化 1.5.1 面向对象 VS 结构化 1.5.2 面向对象技术的优点 易于理解 顺应人类思维习惯,让软件开发人员直接模拟问题空间中的对象及其行为 实例:“东北一家人?” 东北人都是活雷锋 人、东北人、雷锋 老张开车去东北…… 撞啦! 老张、汽车、开车 撞啦 面向对象的表示 1.5.2 面向对象技术的优点 稳定性较高、适应性好 较小的需求变化不会导致系统结构大的改变 当需求变化时…… 1.5.2 面向对象技术的优点 可靠性较高 灵活性好 可复用 … 1.6 面向对象领域的基本概念 OO技术领域存在一些基本术语和概念,需要掌握和理解。 面向对象技术的基本观点: 客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。 具有相同数据和操作的对象可归纳成类,对象是类的一个实例。 类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。 对象之间的联系通过消息传递来维系。 1.6.1 对象和实例 对象(Object) 它是系统用来描述客观事物的一个实体,是构成系统的一个基本单位。 对象包括:属性和方法 对象之间通过消息进行通信。 实例(Instance) 它与对象的概念很类型,但其含义更广泛一些。 1.6.2 类 类(Class) 它是具有相同属性和方法的一组对象的集合 为某类对象提供统一的描述 类是静态概念 1.6.3 封装 封装(Encapsulation) 就是把对象的属性和方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。 封装(类定义)使对象形成两个部分:接口部分和实现部分。 封装提供2种保护 保护对象,防止直接访问对象内部细节。 保护客户,防止对象实现部分的变化影响客户对象。 1.6.4 继承 继承(Inheritance) 它使子类可以继承父类的属性和方法 继承增加了软件重用的机会 继承中的覆盖 覆盖(Override)与重载(Overload)的区别 单继承与多继承 Override与Overload 1.6.4 继承 继承(Inheritance) 它使子类可以继承父类的属性和方法 继承增加了软件重用的机会 继承中的覆盖 覆盖(Override)与重载(Overload)的区别 单继承与多继承 1.6.5 多态 多态(polymorphism) 在OO技术中,多态指使一个实体在不同上下

文档评论(0)

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

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

1亿VIP精品文档

相关文档