- 1、本文档共288页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统设计和实现-UML
第一章 面向对象技术概述 1.1 软件危机及软件工程 计算机软件发展的三个阶段 程序设计阶段:50~60年代 程序系统阶段:60~70年代 软件工程阶段:70年代后 1.1 软件危机及软件工程 为解决软件危机提出的软件开发模型 瀑布模型 快速原型方法 螺旋式开发模型 变换式开发模型 增量式开发模型 净室开发模型 喷泉开发模型 1.2 对软件开发的基本认识 大型软件的开发特点 开发代价高 开发时间长 开发人员多 软件生命周期长 1.2 对软件开发的基本认识 传统软件工程开发大型软件的缺陷 开发效率低 产品质量差 产品难以维护 软件可移植性差 软件可重用性差 1.2 对软件开发的基本认识 软件开发过程 需求分析 总体设计 详细设计 代码实现 测试 运行和维护 1.3 软件的固有复杂性 复杂性与计算机体系结构有关 很难刻画软件系统的内在本质特征和规律 软件系统中各元素之间的相互作用关系具有不确定性 软件系统面临不断变化的压力 软件系统必须根据硬件系统的变化不断调整 软件设计人员缺乏理论的指导,开发具有很大的自由度 1.4 控制软件复杂性的基本方法 分解 对问题进行分解,然后再分别解决各个子问题 抽象 抽取系统中的基本特性,忽略非基本的特性。以便更充分地注意与当前目标有关的方面。 人在同一时间里,一般只能集中于7项左右的信息,而不受信息的内容、大小等因素的影响。 模块化 高内聚、低耦合 信息隐蔽(封装) 把模块内的实现细节与外界隔离,用户只需要知道模块的功能,而不需要了解模块内部的细节。 1.5 面向对象技术 面向对象(object-oriented, OO) 面向对象=对象+类+继承+通信 面向对象技术的优点 开发出来的系统比较稳定 开发的系统易于理解 开发的系统具有更好的适应性,能更好地适应用户需求的变化,有助于构造大型软件系统。 开发的系统具有更高的可靠性 1.6 面向对象领域中的基本概念 对象(object) 是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位。 一个对象由一组属性和对这组属性进行操作的一组方法组成。 对象之间通过消息通信。 实例(instance) 一个可用于具体操作的对象。 1.6 面向对象领域中的基本概念 类(class) 是具有相同属性和方法的一组对象的集合。 可以视为一个具有类似特性与共同行为的对象的模版。 可以用来产生对象,类的实例是对象。 类是静态的,类在程序执行前已定义好;对象是动态的,在程序执行时被创建和删除。 1.6 面向对象领域中的基本概念 1.6 面向对象领域中的基本概念 1.6 面向对象领域中的基本概念 封装(encapsulation) 把对象的属性和方法结合成一个独立的系统单位,并尽可能地隐藏对象的内部细节。 封装使对象形成两个部分 接口部分:用户可见 实现部分:用户不可见 1.6 面向对象领域中的基本概念 继承(inheritance) 使用已存在的类定义作为基础,建立新类的技术。 继承增加了软件重用的机会,可降低软件开发和维护的费用。 覆盖(override) 子类中重新定义父类中的方法或属性。 重载(overload) 一个类中有多个同名的方法,但这些方法在操作数或/和操作数的类型上有区别。 1.6 面向对象领域中的基本概念 1.6 面向对象领域中的基本概念 1.6 面向对象领域中的基本概念 继承(inheritance) 多重继承 一个子类拥有多个父类。 多重继承的问题:命名冲突 C++:成员名限定解决 Java:不支持多重继承,用接口来实现类似功能。 1.6 面向对象领域中的基本概念 1.6 面向对象领域中的基本概念 1.6 面向对象领域中的基本概念 多态(polymorphism) 多态是允许你将父对象设置成为和一个或更多的它的子对象相等的技术。赋值之后,父对象就可以根据当前赋给它的子对象的特性以不同的方式运作。 第二章 UML概述 2.1 为什么要学习UML 什么是UML Unified Modeling Language (统一建模语言) 是一种通用的模拟语言,可用于确定、展示和记录软件系统。 UML中的图形标记非常适用于面向对象的软件设计。 2.2 UML的历史 2.3 UML的特点 统一的标准 面向对象 可视化 独立于过程 概念明确 2.4 UML的构成 2.4 UML的构成 2.5 UML中的视图 用例视图(use case view) 表示系统的功能性需求 逻辑视图(logic view) 表示系统的概念设计和子系统结构 实现视图(implementation view) 用于说明代码的结构 进程视图(process view) 用于说明系统中并发执行和同步的情况 部署视图(deploymen
文档评论(0)