




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML与面向对象技术 软件学院 宋波2011 2012学年第1学期软件工程专业 2009级全日制本科 参考书 UML基础 案例与应用 Joseph著 李虎等译 人民邮电出版社 2006年7月 UML与RationalRose2002从入门到精通 Wendy MichaelB 丘忡潘等译 电子工业出版社 2004年9月 PracticalObject OrientedDesignwithUML 美 MaryPriestley著 清华大学出版社 2005年5月 课程成绩期末考试 50 作业 考勤 提问 10 实验 提问 10 期中考试 30 本课程学习内容 统一建模语言UMLRationalRose UML建模环境UML与面向对象程序设计 第1章UML概述 授课教师 宋波时间 地点 周一 3 4 106 周二1 2节 103 周五3 4节 单周103 周一 1 2节 107 周二 5 6节 102 周五 1 2节 单周106 授课内容 UML的历史UML建模要素UML标准视图面向对象领域中的基本概念UML图与OOP的关系UML应用领域UML图与软件开发阶段 学习目标 了解UML的发展历史掌握UML建模要素与标准视图掌握UML图与OOP的关系了解UML应用领域了解UML图与软件开发阶段 教学重点 UML建模要素与标准视图教学难点 UML图与OOP的关系 教学设计 了解知识 掌握知识 了解知识 UML与OOP的关系 重点掌握 什么是UML UML UnifiedModelingLanguage 统一建模语言 是一种可视化的建模语言 它能够让系统构造者用标准的 易于理解的方式建立起能够表达他们设计思想的系统蓝图 并且提供一种机制 以便于不同的人之间有效的共享和交流设计成果 UML有什么用处 一个项目之所以成功 是因为功能的提出者 客户 和实现功能的开发人员 程序员 之间有一座可以很好沟通的桥梁 UML借助一套图形和符号 可以来完成这座桥梁的作用 UML不是一门程序设计语言 但可以使用代码生成器工具将UML模型转换为多种程序设计语言代码 或使用反向生成器工具将程序源代码转换为UML UML不是一种可用于定理证明的高度形式化的语言 这样的语言有很多种 但它们通用性较差 不易理解和使用 而UML是一种通用建模语言 什么是建模 建模是对现实的简化 就是把复杂的系统变成小的系统 采用 各个击破 的原则逐一解决 为什么要建模 建立大厦和建立茅草屋的区别是建设茅草屋不需要设计 要生产合格的软件就要有一套关于体系结构 过程和工具的规范 建模的目标 模型帮助我们按照实际情况 或按照我们所需要的样式对系统进行可视化 模型允许详细说明系统的结构和行为 模型给出一个知道我们构造系统的模板 模型对我们的决策进行文档化 输出 Hello World 的JavaApplet程序 importjava awt Graphics classHelloWorldextendsjava applet Applet publicvoidpaint Graphicsg g drawString Hello World 10 10 HelloWorld类图 对HelloWorld的关键抽象 HelloWorld类图 与HelloWorld直接相关的类 依赖关系 HelloWorld类的继承层次 HelloWorld类依赖的包 顺序图 问题 JavaApplication与Applet的区别 HelloWord的构件图 Hello html 什么是UML UML UnifiedModelingLangeage 是一种可视化的建模语言 能让设计者用标准的 易于理解的方式表达出系统的实现过程 实现用户与设计者之间的交流 1 1UML的历史 1 2UML建模要素 UML建模要素包括 基本建模元素关系元素图 图形表示 3大类基本建模元素 1 基本建模元素 结构建模元素 反映事物和描述性实体 包括类 接口 协作 用例 主动类 构件和节点等元素 类 类名 属性 操作 接口 String isEqual String BooleanHash Integer Hashable Comparable 接口标记 角色 用例 是一组动作序列的描述 系统执行这些动作后将产生一个对特定参与者可以观察且有价值的结果 在图形上 用例用一个仅包含其名字的实线椭圆表示 协作 定义了一个交互 由一组共同工作以提供某协作行为的角色和其它元素构成的一个实体 一个给定的类可以参与几个协作 协作用一个仅包含名字的虚线椭圆表示 例如 订单管理 协作与对应的用例存在着一种实现关系 求一元二次方程根 求一元二次方程根 主动类 是其对象至少拥有一个进程或线程的类 因此它能够启动控制活动 构件 是系统中物理的 可替代的部件 一个组件可能是源代码 可执行程序或动态库 节点 是在运行时存在的物理元素 代表一种可计算的资源 具有一定的记忆能力和处理能力 行为建模元素 反映事物之间的交互过程和状态变化 这类建模元素有交互图和状态图 交互 由在特定语境中共同完成一定任务的一组对象之间交换的消息组成 一个对象群体的行为或单个操作的行为都可用一个交互来描述 UML中的交互用顺序图和协作图实现 状态机 描述了一个对象或一个交互在生命周期响应事件所经历的状态序列 单个类或者一组类之间协作的行为可以用状态机来描述 组织建模元素 描述通过一组模型元素所反映的模型 子系统 框架等的组织 包括包 模型 子系统 框架等元素 Finances Credits Accounts BankInterface 注释建模元素 用来在建模过程中对模型进行注释和描述性说明 Representsanincorporatedentity Company 注释 2 关系元素 关系元素反映了模型元素之间的关系 关联 是一种结构关系 描述了一组链 链是用于链接对象的 关联示例 Manages Job boss worker employee employer 1 0 1 Company Person 角色名 重数 关联名称 关联类 二元关联 自关联 泛化 是一种一般 特殊关系 继承就是一种泛化关系 Tree Oak Elm Birch 孩子 双亲 Person Student Graduate 祖先 依赖 是两个结构之间的语义关系 其中一个结构的变化会影响到另一个结构的语义 ApplicationServer DataBase 依赖类型 实现 是泛化和依赖关系的结合 在接口和实现它们的类或构件之间用到这种关系 String isEqual String BooleanHash Integer Comparable Comparable isEqual String BooleanHash Integer 实现 特殊的实现标记 聚集 Aggregation 与组成 Composition Polygon Point 1 3 points Contains Polygon Window Slider 1 2 Scrollbar Header 1 Title 1 1 Panel 1 Body 聚集 组成 约束用来表示各种限制 如关联路径上的限制 和属性特征检测 存在 所有 Person Committee Member of 约束 Chair of subset 课堂练习 什么是UML 结构建模元素包括哪些 行为建模元素包括哪些 组织建模元素包括哪些 关系元素包括哪些 课堂练习 什么是UML 是一种可视化的建模语言 能让设计者用标准的 易于理解的方式表达出系统的实现过程 实现用户与设计者之间的交流 结构建模元素包括哪些 反映事物和描述性实体 包括类 接口 协作 用例 主动类 构件和节点等元素 行为建模元素包括哪些 反映事物之间的交互过程和状态变化 包括交互图和状态图 组织建模元素包括哪些 包 模型 子系统 框架等 关系元素包括哪些 关联 泛化 依赖 实现 聚集 组成 约束 3 UML图 用例图 UseCaseDiagram 类图 ClassDiagram 对象图 ObjectDiagram 顺序图 SequenceDiagram 协作图 CollaborationDiagram 状态图 StatusDiagram 活动图 ActivatingDiagram 组件图 ComponentDiagram 部署图 DeploymentDiagram 共9种图 4 图形表示 UML定义了两类8种图形表示软件模型 静态结构图 包括类图 对象图 组件图 部署图 动态行为图 包括用例图 交互图 顺序图和协作图 状态图 活动图 1 用例图 2 顺序图 3 协作图 4 类图 状态1 建立一元二次方程 a b c系数已确定 x1 x2不确定 状态2 计算一元二次方程的判别式 求根 a b c x1 x2已确定 转移的描述 状态3 a 0或a b c输入异常 6 活动图 1 3UML标准视图 视图是表达系统某一方面特征的UML建模组件的子集 标准建模语言UML的重要内容可以由五类视图 共9种图形 来定义 1 用例视图 UsecaseView 强调从用户角度看到的或需要的系统功能 并指出各功能的操作者 在UML中 用例视图的静态方面用用例图表现 动态方面用协作图 状态图和活动图表现 用例视图是中心 因为它的内容决定了其他视图的设计 2 逻辑视图 用途 描述用例视图中提出的系统功能的实现 逻辑视图既描述系统的静态结构 也描述系统内部的动态协作关系 使用者 主要是设计人员和开发人员 组成 静态结构在类图和对象图中进行描述 描述了类 对象 以及两者之间的关系 动态模型在状态图 顺序图 协作图以及活动图中进行描述 进程视图 用途 考虑资源的有效利用 代码的并行执行 以及系统环境中异步事件的处理 使用者 主要是开发人员和系统集成人员 组成 状态图 协作图和活动图 4 组件视图 用途 描述系统的实现模块以及它们之间的依赖关系 组成 组件图 使用者 主要是开发人员 静态方面由组件图描述 动态方面由协作图 状态图 活动图描述 5 部署视图 用途 显示系统的物理部署 并描述位于节点实例上的运行组件实例的部署情况 组成 部署图 使用者 开发人员 系统集成人员和测试人员 部署视图的静态内容由部署图描述 动态方面由协作图 状态图 活动图描述 视图之间的关系 进程视图 总结 UML中静态模型包括哪些图 类图 系统中各种类之间的静态结构 对象图 类图的一个实例 组件图 描述代码组件之间的依赖关系 部署图 运行时处理节点和组件的部署 总结 UML中动态模型包括哪些图 用例图 系统的执行者与用例之间联系 顺序图 对象之间 时间上 协作关系 协作图 对象之间 消息收发 协作关系 状态图 活动图 对类描述的补充 1 4面向对象领域中的基本概念 如何理解面向对象思维方式 一些面向对象的概念 面向对象方法 是一种运用对象 类 继承 封装 聚合 消息传递 多态性等概念来构造系统的软件开发方法 面向对象 对象 类 继承 消息通信面向对象的主要特征 封装性 Encapsulation 继承性 Inheritance 多态性 Polymorphism 对象 object 无论是具体的还是抽象的 遍布于我们的周围 它们组成了整个世界 程序通常也要模拟现实世界中的对象 首先最重要的 对象是一个类 种类 的实例 例如你和我都是Person这个类的实例 那么其中 你和我就是对象 而Person则是一个类 对象是系统中用来描述客观事务的一个实体 具有自身的结构 Structure 也就是说 它具有属性 特性 和行为 对象的行为包括它所能执行的操作 属性和操作合起来被称为特征 如何理解面向对象思维方式 类 Class 是具有相同属性和方法的一组对象的集合 为这类对象提供统一的对象描述 同类对象具有相同的属性和方法 是指它们的定义形式相同 而不是说每个对象的属性值相同 在面向对象世界里 类除了起到分类的作用外 类还是用来创建对象的模板 面向对象的目标是开发出能够反映现实世界某个特定片段的软件 或者说是 建模 你考虑到的属性和行为越多 你所建立的模型就越符合实际 对象 实体与类 对象 实体 类 抽象数据类 计算机世界 现实世界 计算机逻辑的实现 影射 抽象 实例化 抽象 概念世界 关掉计算机时 对所有的类和对象会有影响吗 对 对象 有影响 丢失内存中的所有对象及包含的信息 对 类 没有影响 类已经编程并保存在磁盘上了 结论 类是持久单元 对象是变化的运行单元 问题 对象之间如何协同工作 通过相互发送消息来协同工作 OO程序是如何进行初始化的 从main 方法开始执行 在程序启动时获得控制 自动创建一个类的对象 从其实例开始整个程序的执行 问题 1 5UML图与OOP的关系 类图和状态图UML定义了类图 用于完成对类的静态结构和空间位置的刻画 UML设计了状态图用于描述类的生命周期 这是对于一个类的动态描述 2 活动图 在类图中只有方法的声明 没有方法实现方式的信息 因此 需要描述方法如何实现 即对于算法的描述 而UML定义了活动图完成这个工作 3 顺序图 为了描述
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行兰州市城关区2025秋招结构化面试15问及话术
- 农发行黑河市逊克县2025秋招结构化面试经典题及参考答案
- 国家能源佳木斯市富锦市2025秋招笔试言语理解与表达题专练及答案
- 国家能源合肥市肥西县2025秋招笔试题库含答案
- 广安华蓥中储粮2025秋招笔试性格测评题专练及答案
- 国家能源吉林市舒兰市2025秋招笔试题库含答案
- 国家能源蚌埠市固镇县2025秋招笔试言语理解与表达题专练及答案
- 关于战略合作协议书集锦15篇
- 2025年潍坊市技师学院公开招聘控制总量工作人员(39人)模拟试卷及一套答案详解
- 2025年铜川市为县以下医疗卫生机构定向招聘笔试模拟试卷及答案详解(典优)
- 2025年科技创新与成果转化的知识能力考核试题及答案
- 秩序员休假管理制度
- 2025至2030中国惯性导航行业投资现状与前景预测分析报告
- 轻型卒中临床诊疗中国专家共识(2024版)解读
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 2025年中国张裕产区葡萄酒特色与品牌国际化发展报告
- 耳机品质协议书范本
- 2025版VI设计合同范本
- 人美版五年级上册5.绘画中的透视现象一等奖教案设计
- 从法律出发理解与应用新清单标准
- 公司销售人员激励方案
评论
0/150
提交评论