面向对象与UML建模作业

上传人:笛音 文档编号:25872549 上传时间:2017-12-19 格式:DOCX 页数:18 大小:124.31KB
返回 下载 相关 举报
面向对象与UML建模作业_第1页
第1页 / 共18页
面向对象与UML建模作业_第2页
第2页 / 共18页
面向对象与UML建模作业_第3页
第3页 / 共18页
面向对象与UML建模作业_第4页
第4页 / 共18页
面向对象与UML建模作业_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《面向对象与UML建模作业》由会员分享,可在线阅读,更多相关《面向对象与UML建模作业(18页珍藏版)》请在金锄头文库上搜索。

1、面向对象技术作业1.通过 WWW.OMG.ORG 网站了解 UML。大型的企业应用程序不仅仅是一堆代码模块。他们必须有能支持可扩展性、安全性和在有压力的环境下能健壮的执行的结构方式。 建模是在编码之前的软件应用程序设计。建模是一个大型软件项目重要的一部分,有助于介质,甚至小项目。在软件开发中,一个模型扮演了类似蓝图和其他计划(站点地图、海拔、物理模型)在摩天大楼的建设使用一个模型的角色,那些负责软件开发项目的成功可以保证自己业务功能是完整和正确的,终端用户的需要得到满足,和程序设计支持要求健壮性、可伸缩性、安全性、可扩展性和其他特性,在实现代码中呈现的变的更困难和昂贵。调查显示,大型软件项目有

2、一个巨大的失效概率事实上,更多的是一个大型的软件应用程序将无法满足所有的需求在时间和预算比,它就会成功。如果你运行这些项目,你需要做所有你可以增加成功的几率,建模是唯一的方法来可视化您的设计和检查它反对要求你的员工之前开始的代码。统一建模语言(unified modeling language,UML )是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。它统一了 Grady Booch、Jim Rumbangh、和 Ivar Jacobson 三位大师的面向对象建模描述语言(Booch, OMT、OOSE),并对其做了进一步的发展,最终成为广泛

3、接受的面向对象建模语言。UML 已被 OMG 所采用,目前成为业界的标准。UML 是用模型来描述系统的结构或静态特征以及行为或动态特征的,它从不同的视角为系统的架构建模形成系统的不同视图(view)。在 UML 中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。UML 2.0 定义了 13 个类型的图,分为三个类别:六图类型表示静态应用程序结构;三个代表普通类型的行为,和四个代表交互作用的不同方面:结构图包括类图、对象图,组件图,复合结构图表,包图和部署图。行为图包括用例图(使用一些方法在需求收集);活动图、状态机图、交互图。所有来自更一般

4、的行为图,包括序列图,通信图,计时图和交互概览图。静态视图是对在应用领域中的各种概念以及与系统实现相关的各种内部概念进行的建模。由于这种视图不描述与时间有关的系统行为所以我们称之为是静态的,描述与时间相关的系统行为我们在其他视图中进行描述。静态视图主要是由类与类之间的关系构成。这些关系包括:关联、泛化和依赖关系,我们又把依赖关系具体可以再分为使用和实现关系。用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。一个用例是系统的一个功能单元,是系统参与者与系统之间进行的一次交互作用。 交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,是描绘系统

5、中各种角色或功能交互的模型。交互视图显示了跨越多个对象的系统控制流程。我们通过不同对象间的相互作用来描述系统的行为,是通过两种方式进行的,一种是以独立的对象为中心进行描述,另外一种方式是以相互作用的一组对象为中心进行描述。交互视图可运用两种图的形式来表示:序列图和协作图。 状态机视图是通过对象的各种状态来建立模型来描述对象随时间变化的动态行为。状态机视图也是通过不同对象间的相互作用来描述系统的行为的,不同的它是以独立的对象为中心进行描述。状态机视图中,每一个对象都拥有自己的状态,这些状态之间的变化是通过事件进行触发的。对象被看成为通过事件进行触发并做出相应的动作来与外界的其他对象进行通信的独立

6、实体。事件表达了对象可以被使用操作,同时反映了对象状态的变化。活动视图是一种特殊形式的状态机视图,是状态机的一个变体,用来描述执行算法的工作流程中涉及的活动。通常活动视图用于对计算流程和工作流程建模。活动视图中的状态表示计算过程中所处的各种状态。活动视图是在假定整个计算处理的过程中没有外部事件引起的中断的条件下进行描述的,否则普通的状态机更加适合于描述这种情况。 物理视图是对应用自身的实现结构建模,例如系统的构件组织情况以及运行节点的配置等等。物理视图提供了将系统中的类映射成物理构件和节点的机制。物理视图提供了将系统中的类映射成物理构件和节点的机制。系统模型的大部分内容反映了系统的逻辑和设计方

7、面的信息,并且独立于系统的最终实现单元。 模型管理视图是对模型自身组织进行的建模,是由自身的一系列模型元素(如类、状态机和用例)构成的包所组成的模型。模型是从某一观点以一定的精确程度对系统所进行的完整描述。从不同的视角出发,对同一系统可能会建立多个模型,例如有系统分析模型和系统设计模型等等。模型是一种特殊的包。一个包 (package) 还可以包含其他的包。整个系统的静态模型实际上可看成是系统最大的包,它直接或间接包含了模型中的所有元素内容。如果要开始第一个基于 uml 的开发项目。主要需要做以下几步: 1)选择一个方法:一个方法的过程,你正式定义用于收集需求,对它们进行分析和设计一个应用程序

8、中,以满足他们在各方面。有许多方法,每个不同的以某种方式或从其他途径。有很多原因我们可能比另一种方法为您的特定项目:例如,一些更适合大型企业应用程序,而另一些则用来设计小型嵌入式或对安全性要求苛刻的系统。在另一个轴,一些方法更好地支持大量的建筑师和设计师的工作在相同的项目,而其他人工作更好的使用时,由一个人或一个小群体。OMG,作为一个独立于供应商的组织,没有任何方法的意见。帮助你开始选择最适合你的方式。2)选择一个 UML 开发工具。因为大部分(尽管不是全部)基于 uml 的工具实现一个特定的方法,在某些情况下它可能不是实用工具,然后选择一个想用一个方法,它不是建立。(对于其他工具/方法的组

9、合,这可能不是个问题,也可能是容易解决。)但是,一些方法已经实现在多个工具,这不是严格意义上的一个选择环境。你可能会发现一个工具,适合您的应用程序或组织,你愿意开关的方法来使用它。如果是这样的话,去吧,我们的建议来选择一个方法首先是一般,不得适用于一个特定的项目。另一种可能性:你可能会找到一种方法,你喜欢,这不是实现的工具,适合您的项目的规模,或你的预算,所以你必须开关。如果这两种情况下发生的,你要尽量选择一个替代方法,不会相差太多从你的首选最初。3)得到培训:你和你的员工(除非你足够幸运雇佣 UML 经验丰富的架构师)将需要在 UML 中训练最好是得到培训,教如何使用你选择的工具与你所选择的

10、方法,通常是通过提供工具供应商或方法论者。如果你决定不走这条路线,看看 OMG 的培训页面。2.比较传统技术,OOT 有哪些优点?OOT(Object Oriented technology):面向对象技术。面 向 对 象 技 术 是 一种 以 对 象 为 基 础 , 以 事 件 或 消 息 来 驱 动 对 象 执 行 处 理 的 程 序 设 计 技 术 。 它 以数 据 为 中 心 而 不 是 以 功 能 为 中 心 来 描 述 系 统 , 数 据 相 对 于 功 能 而 言 具 有 更 强的 稳 定 性 。 它 将 数 据 和 对 数 据 的 操 作 封 装 在 一 起 , 作 为 一 个

11、 整 体 来 处 理 , 采用 数 据 抽 象 和 信 息 隐 蔽 技 术 , 将 这 个 整 体 抽 象 成 一 种 新 的 数 据 类 型 类 ,并 且 考 虑 不 同 类 之 间 的 联 系 和 类 的 重 用 性 。 类 的 集 成 度 越 高 , 就 越 适 合 大 型应 用 程 序 的 开 发 。 另 一 方 面 , 面 向 对 象 程 序 的 控 制 流 程 由 运 行 时 各 种 事 件 的实 际 发 生 来 触 发 , 而 不 再 由 预 定 顺 序 来 决 定 , 更 符 合 实 际 。 事 件 驱 动 程 序 的执 行 围 绕 消 息 的 产 生 与 处 理 , 靠 消

12、息 循 环 机 制 来 实 现 。 在 实 际 编 程 时 可 以 采用 搭 积 木 的 方 式 来 组 织 程 序 , 站 在 “巨 人 ”的 肩 上 实 现 自 己 的 目 标 。 在 结 构 上 , 面 向 对 象 程 序 与 面 向 过 程 程 序 有 很 大 不 同 。 面 向 对 象 程 序 由类 的 定 义 和 类 的 使 用 两 部 分 组 成 : 在 主 程 序 中 定 义 各 对 象 并 规 定 他 们 之 间 传替 消 息 的 规 律 , 程 序 中 的 一 切 操 作 都 通 过 向 对 象 发 送 消 息 来 实 现 ; 对 象 接 到消 息 后 , 启 动 消 息

13、处 理 函 数 完 成 相 应 的 操 作 。 面 向 对 象 程 序 设 计 方 法 出 现 之 前 , 程 序 员 用 面 向 过 程 的 方 法 开 发 程 序 。面 向 过 程 的 方 法 把 密 切 相 关 、 相 互 依 赖 的 数 据 和 对 数 据 的 操 作 相 互 分 离 这 种实 质 上 的 依 赖 与 形 式 上 的 分 离 使 得 大 型 程 序 不 但 难 以 编 写 , 而 且 难 以 调 试 和修 改 。 面 向 对 象 程 序 的 设 计 方 法 使 得 程 序 结 构 清 晰 、 简 单 , 提 高 了 代 码 的 重用 性 , 有 效 减 少 了 程 序

14、的 维 护 量 , 提 高 了 软 件 的 开 发 效 率 。使用面向对象思想进行开发有以下优点: (1)易维护 采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。 (2)质量高 在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。 (3)效率高 在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。 (4)易扩展 由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使

15、得系统更灵活、更容易扩展,而且成本较低。面向对象技术使软件的开发超越了过程式编程,而进入了简化应用程序开发的可重用编程世界。不象旧的编程方式,当程序的体积增长时,程序维护和调试并不变得更复杂。对象技术在两个级别发挥作用:在数据级别,对象技术可以集成一个机构中的许多不同类型的信息,过去的信息已经不再兼容了。在程序开发级别,对象技术提供模块化程序构造,这时,程序员在现有对象的基础之上进行开发。对象可以被其他对象再使用,以利用它们的过程,从而消除了当再次需要它们的时候,必须每次都重写这些代码。由于无需改变或分解整个系统,所以再设计或扩展系统是很容易的。实际上,是放弃或修改这些模块,并且增加新的模块以

16、提供增强的功能。面向对象技术被认为对实现未来的分布式系统是很有生命力的。这样,系统的复杂性可以通过实现消息传递服务(如对象请求代管器)的模型而简化。对象只是简单地请求服务,并且其他对象提供这些服务。开发人员不需要更多地知道对象将在上面通信的系统情况。事实上,对象技术为局部使用、将来扩展到异构分布式环境、设计应用提供了途径。3.举例说明 C+和 Java 实现多态的各种技术。多态(polymorphism)一词最初来源于希腊语 polumorphos,含义是具有多种形式或形态的情形。在程序设计领域,一个广泛认可的定义是“一种将不同的特殊行为和单个泛化记号相关联的能力”。(1)C+实现多态的技术 多态是一种不同的对象以单独的方式作用于相同消息的能力,这个概念是从自然语言中引进的。C+的多态性是 C+实现面向对象技术的基础。具体的说,通过一个指向基类的指针调用虚成员函数的时候,运行时系统将能够根据指针所指向的实际对象调用恰当的成员函数实现。和纯粹的面向对象程序设计语言不同,C+中的多态有着更广泛的含义,其实现方式有 4 种,分别是强制多态

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号