UML教程精ppt课件.ppt_第1页
UML教程精ppt课件.ppt_第2页
UML教程精ppt课件.ppt_第3页
UML教程精ppt课件.ppt_第4页
UML教程精ppt课件.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UML教程 版本修订记录 课程安排 面向对象的理论UML语言利用UML进行面向对象的建模 面向对象的理论UML语言利用UML进行面向对象的建模 课程安排 面向对象设计的学习路线 重点要介绍内容 议程 面向对象的理论UML语言利用UML进行面向对象的建模 面向对象的理论 面向对象技术概述面向对象技术发展面向对象与结构化转化到面向对象 面向对象技术 是一种看待计算机软件系统的观点是一种系统分析和设计的思想是一种编程方法是一组设计模式是一种编程语言设计思路是实践者的日常工作 面向对象技术定义 面向对象方法是一种把面向对象的思想运用于软件开发过程 指导开发活动的系统方法 包括分析 设计和实现等活动 面向对象技术基于对象概念 以对象为中心 以类 组合 继承为构造机制 充分利用接口和多态提供灵活性 来认识 理解 刻划客观世界和设计 构建相应的软件系统 面向对象 对象 类 消息 继承 多态 面向对象方法学 面向对象是软件方法学的返璞归真 面向用户 软件科学的发展历程中出现过许多 面向 软件开发从过分专业化的方法 规则和技巧中回到了客观世界 回到了人们的日常思维 是软件理论的返朴归真 面向对象 面向对象技术优点 沟通顺应人类思维习惯 让软件开发人员在解空间中直接模拟问题空间中的对象及其行为 PUSHEBXMOVEBX EDXMOVEDX EAXSHREDX 16DIVBX AHare Run ALion Catch AHare ALion Kill AHare AHare Dead ALion Eat ALion Happy 在计算机中模拟现实世界的事和物 面向对象技术优点 稳定较小的需求变化不会导致系统结构大的改变当需求变化时 功能 最易变数据 较易变对象 较稳定 稳定性增加 用较稳定把不稳定的包起来 面向对象技术优点 复用代码重用 类库 框架等重用机制能提高质量 减少由于编制新的系统代码而产生的成本通过继承 关联 封装 多态等手段 软件开发组越大 组中每个成员的生产率就越低 PhilippeKahn Borland公司创始人 构造大型软件不能靠堆人 面向对象技术优点 改善软件结构 模块化与封装 提高软件灵活性增加可扩展性支持增量式开发 支持大型软件开发 面向对象的理论 面向对象技术概述面向对象技术发展面向对象与结构化转化到面向对象 面向对象技术发展 历史 60年代后期 Simul67 基本思想70年代后期 Smalltalk80 实用化80年代 理论基础 C 等 商业化90年代 面向对象与设计方法学B H Sellers等提出喷泉模型G Booch提出面向对象开发方法等P Coad和E Yourdon提出OOA和OODJacobson提出OOSE 1997年 UML 面向对象技术发展 现状 OO成为最重要的软件开发方法OO在GUI 模拟系统 游戏开发 应用框架 软件构件化领域大显身手Java UML与RUP构件技术 CORBA COM EJB Net 类库与设计模式 面向对象技术发展 未来 OO的形式化与自动化OO构件 设计模式的丰富将进一步提高软件开发的效率和质量软件开发人员必须从ThinkProcedurely转变为ThinkObject Orientedly面向服务 SOA 面向对象的理论 面向对象技术概述面向对象技术发展面向对象与结构化转化到面向对象 面向对象VS过程 扬弃 不是否定 面向对象VS过程 Programming 面向对象VS过程 结构化方法 SA SD SP 面向对象的方法 问题域 问题域 结构化分析 分析与设计的鸿沟 结构化设计 结构化编程 如C语言 需求工程 OOA D OOP 如Java语言 测试 计算机系统 测试 计算机系统 自然语言 编程语言 自然语言 OO编程语言 数据流图数据字典 模块和过程 需求模型 对象模型 OO方法 OO建模语言 面向对象VS过程 面向对象VS过程 结构化设计用算法刻画数据的递归关系 而面向对象思想直接用对象表达递归关系 模拟现实世界 结构化设计中 数据是死的 全部依赖算法操作 而面向对象中 数据是活的 所谓的smartdata结构化设计更像是一个人在解决所有的问题 而面向对象设计更像是一个团队的分工协作 面向对象VS过程 使用得当 面向对象设计具有更大的灵活性 更好的模块化 可以进行更大规模的设计但同时 面向对象设计和开发的难度更大 因为除了要考虑算法之外 还要考虑对现实世界的模拟 对象的识别和职责分配等等一系列问题优秀的面向对象设计需要学习更多知识和技术 掌握一系列设计原则和模式UML图形化工具有助于表达和交流设计思想 但是否可以做到 无代码编程 还在争论中 面向对象的理论 面向对象技术概述面向对象技术发展面向对象与结构化转化到面向对象 什么是建模 建模就是认识现实世界 客观世界 主观世界 认识世界 改造世界 世界是什么样的呢 模型是对现实世界的认识 不同类型的人有不同的世界观 持不同的世界观就会得到对现实世界的不同认识 建立不同的模型 模块 函数 功能 类 关联 对象 模型体现现实世界 只存在同一个现实世界 模型没有对错 只有符合建模人目的多少之分 UML建模 建模是最终目的OO是一种建模理论UML是一种体现OO的建模语言 是将OO理论转化为实践的工具 面向对象的理论UML语言利用UML进行面向对象的建模 课程安排 UML语言 UML语言概述理解UML元素 UML语言 UML语言概述理解UML元素 UML诞生 公众反馈 OOPSLA95UnifiedMethod0 8 工业化标准化统一化分散的各部分 Booch93OMT 2 1996 6和1996 10UML0 9 0 91 1997 9公布UML1 1 1997 1公布UML1 0 合作伙伴意见 1997 11 17UML1 1被OMG接纳为标准 Booch91OMT 1其他方法OOSE UML UnifiedModelingLanguage 统一建模语言 是对象管理组织 OMG 制定的一个通用的 可视化的建模语言标准 可以用来可视化 visualize 描述 specify 构造 construct 和文档化 document 软件密集型系统的各种工件 artifacts 又译制品 UML现状 目前通用的是UML1 x版主要UML1 3 UML1 42003年3月正式发布UML1 5UML2 02003年6月OMG采纳了UML2 0的Superstructure的提案MDA UML结构 UMLStructure 构造块buildingblocks 公共机制commonmechanisms 构架architecture 基本UML建模元素 关系和图 达到特定目标的公共UML方法 系统架构的UML视图 构造块 构造块buildingblocks 元素things 关系relationships 图diagrams 建模元素本身 把物件联系在一起 关系说明两个或多个物件时如何语义相关的 UML模型的视图 它们展现物件的集合 讲述关于软件系统的故事 是我们可视化系统将做什么 分析级图 或者系统如何做 设计级图 的方法 UML的元素 元素things 结构元素 行为元素 分组元素 注解元素 UML模型中的名词 如类 接口 协作 用例 活动类 组件 节点 UML模型的动词 如交互 状态机 包 它用于把语义上相关的建模元素分组为内聚的单元 注解 它附加到模型以捕获特殊信息 同黄色便笺很相像 关系 关系relationships 关联association 依赖dependency 泛化generalization 实现realization 描述对象之间的一组链接 物件的改变引起依赖物件的语义改变 一个元素是另一个元素的特化 而且它可以取代更一般的元素 类元之间的关系 一个类元说明一份契约 另一个类元保证实现该契约 图 图diagrams 类图classdiagrams 对象图objectdiagrams 组件图componentdiagrams 部署图deploymentdiagrams 用例图usecasediagrams 顺序图sequence diagrams 协作图collaborationdiagrams 状态图statechartdiagrams 活动图activitydiagrams 静态模型 系统结构 动态模型 系统行为 公共机制 公共机制commonmechanisms 规格说明specifications 修饰adornments 公共分类commondivisions 扩展机制extensibilitymechanisms 规格说明书 UML模型至少具有两种维度 图形维度 允许使用图和图标可视化模型文本维度 由各种建模元素的规格说明所组成规格说明模型元素的特征和语义的文本描述 模型的 肉 形成了承载模型的语义背板 semanticbackplane 赋予模型意义 各种图仅仅是该背板的视图或者可视化投影deathbydiagram 由于图形而死亡 修饰 修饰 图中建模元素上暴露的信息项以表现某个要点任何UML图仅是模型的视图 因此 只有在修饰增强了图的整体清晰性和可读性或者突出模型的某些重要特征时 你才应该表示那些修饰 Window 公共分类 公共分类描述认识世界的特殊方法类元 Classifier 和实例类元 一类事物的抽象概念 如bankaccount参与者 类 类元角色 组件 数据类型 接口 节点 信号 子系统 用例实例 一类事物的特定实例 如mybankaccount接口 interface 和实现接口 说明事物行为的契约 做什么 实现 事物是如何工作的特殊细节 如何做 扩展机制 约束 允许对模型元素添加新的规则构造型 stereotypes 基于已有的建模元素引入新的建模元素ThemeansbywhichtoextendtheUMLStereotypesconveykeypropertiestothemodelreaderAnumberofstereotypesarepackagedalongwiththeUMLCandefineyourownstereotypes标记值 允许为模型元素添加新的特性 是带有相关值得关键字 架构 ArchitectureTheorganizationalstructureofasystem includingitsdecompositionintoparts theirconnectivity interactionmechanisms andtheguidingprinciplesthatinformthedesignofasystem构架是一个系统的组织结构 包括系统分解成的各个部分 它们的连接性 交互机制和通知系统设计的向导规则IEEE 在其环境中系统的高级概念 4 1视图 4 1视图 UseCaseViewEnd user Functionality这些视图由用例视图所统一 它描述项目干系人 stakeholder 的需求 所有其他视图都是从用例视图派生而来 该视图把系统的基本需求捕获为用例并提供构造其他视图的基础LogicalViewAnalysts Designers Structure系统功能和词汇 描述问题域的词汇 作为类和对象的集合 重点是展示对象和类是如何组成系统 实现所需系统行为的 4 1视图 ProcessViewSystemintegrators Performance Scalability Throughput系统性能 可伸缩性和吞吐量 建模在我们系统中的可执行线程和进程作为活动类 其实 它是逻辑视图面向进程的变体 包含所有相同的制品ImplementationViewProgrammers SoftwareManagement系统组装和配置管理 对组成基于系统的物理代码的文件和组件进行建模 它同样展示出组件之间的依赖 展示一组组件的配置管理以定义系统的版本DeploymentViewSystemengineering SystemTopology Delivery Installation Communication系统的拓扑结构 分布 移交和安装 建模把组件物理地部署到一组物理的 可计算节点上 如计算机和外设上 它允许你建模横跨分布式系统节点上的组件的分布 核心工作流和模型 总结 UML结构 UML9种图 类图 类以及类之间的相互关系对象图 对象以及对象之间相互关系组件图 构件及其相互依赖关系部署图 构件在各节点上的部署顺序图 强调时间顺序的交互图协作图 强调对象协作的交互图状态图 类所经历的各种状态活动图 对工作流建模用例图 需求捕获 测试依据 结构 行为 用例图 静态图 实现图 交互图 行为图 UML建模工具 IBMRationalRose2003BorlandTogether7 0MicrosoftVisio2003SybasePowerDesigner10 非程序员杂志 第26到30期UML工具一览 列出了约129个UML开发工具 UML语言 UML语言概述理解UML元素 下一步 需求 用例 面向对象分析设计 结构化分析设计 其它方法 自己的土方法 系统实现 用例图说明 实施部署 用例与用例图 场景 是用来描述用户和系统之间交互的顺序的步骤Ascenarioisasequenceofstepsdescribinganinteractionbetweenauserandasystem 用例 是为了达到某一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论