




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象软件工程 标准建模语言UML 面向对象软件工程 面向对象 面向对象 是一种认识客观世界的世界观 这种世界观将客观世界看成是有许多不同种类的对象构成的 每个对象有自己的内部状态和运动规律 不同对象之间的相互联系 相互作用就构成了完整的客观世界 面向对象软件工程 面向对象 面向对象 是从结构组织的角度去模拟客观世界的一种方法 这种方法的基本着眼点是构成客观世界的那些成分 对象 用 面向对象 的观点去认识客观世界 用 面向对象 的方法去模拟客观世界 这就构成了 面向对象 的完整含义 面向对象软件工程 面向对象概念对象对象是现实世界中个体或事物的抽象表示 是其属性和相关操作的封装 属性表示对象的性质 属性值规定了对象所有可能的状态 对象的操作是指该对象可以展现的外部服务 面向对象软件工程 面向对象概念类和实例类是某些对象的共同特性的表示 它描述了这些对象内部是如何构造的 相同类的对象在它们的操作和它们的信息结构两个方面都有相同的定义 在面向对象系统中 每个对象都属于一个类 属于某个特定类的对象称为该类的实例 因此 常常把对象和实例当作同义词 实例是从某类创建的一个对象 面向对象软件工程 面向对象概念继承如果类B继承类A 那么类A中描述的操作和信息结构将成为类B的一部分 借助继承 可以表示类之间的类似性 并且在其他类能继承的一个类中描述这些相似性 因此 就能够复用公共的描述 继承常常被提倡为软件工业界中关于复用的一个核心思想 继承还有利于软件维护 通过抽取和共享公共特性就能够通用化一些类 并且把它们放在继承层次的更高位置 同样 如果希望增加新类 可以寻找这样一个类 它已经提供了适用于该新类的某些操作和信息结构 然后 让新类继承这个类 只需增加该新类所独有的那些内容 然后 使这个类专用化 面向对象软件工程 面向对象建模面向对象思想比较自然地模拟了人类认识客观世界的方式 面向对象的分析和设计应该从建模开始 构造模型通常出于以下几个目地 在着手解决一个复杂问题之前 对解决方案进行检测 用于同客户或其他相关人员进行交流 加强视觉效果 对复杂问题进行简化 面向对象软件工程 面向对象建模模型是对事物的一种抽象 人们常常在正式建造实物之前 首先建立一个简化的模型 以便更透彻地了解它的本质 抓住问题的要害 在模型中 人们总是剔除那些与问题无关的 非本质的东西 从而使模型与真实的实体相比更加简单 易于把握 面向对象软件工程 面向对象建模在建造一个复杂系统时 开发者必须从多种不同的角度来抽象系统 使用准确的符号来构造模型 然后检查这些模型是否符合系统的需求 并逐步添加细节 从而将这些模型转化成实现方案 建模语言是面向对象建模中的一个非常关键的因素 标准建模语言UML UML的设计目标 运用面向对象概念来构造系统模型建立起从概念模型直至可执行体之间明显的对应关系着眼于那些有重大影响的问题创建一种对人和机器都适用的建模语言 标准建模语言UML UML概要UML由OMG与1997年11月批准为标准建模语言 Booch Jacobson Runbaugh UML建立在当今国际上最有代表性的三种面向对象方法 Booch GradyBooch TheBoochmethodtargetsobject orientedanalysisanddesignwithemphasisondetaileddesign 方法 OMT ObjectModelingTechnique 方法 OOSE方法 的基础之上 UML是一种建模语言而不是一种方法 UML本身是独立于过程的 标准建模语言UML UML为人们提供了从不同的角度去观察和展示系统的各种特征的一种标准表达方式 在UML中 从任何一个角度对系统所作的抽象都可能需要用几种模型图来描述 而这些来自不同角度的模型图最终组成了系统的完整模型 标准建模语言UML 一般而言 我们可以从以下几种常用的视角来描述一个系统 系统的使用实例 从系统外部的操作者的角度描述系统的功能 系统的逻辑结构 描述系统内部的静态结构和动态行为 即从内部描述如何设计实现系统功能 系统的构成 描述系统由哪些程序构件所组成 系统的并发性 描述系统的并发性 强调并发系统中存在的各种通信和同步问题 系统的配置 描述系统的软件和各种硬件设备之间的配置关系 标准建模语言UML UML模型图 5类 10种 用例图静态图 类图 对象图 包图 行为图 状态图 活动图 交互图 顺序图 合作图 实现图 构件图 配置图 标准建模语言UML UML语义元 元模型 元模型的基础体系结构 定义一种说明元模型的语言元模型 元 元模型的一个实例 定义一种说明模型的语言模型 元模型的一个实例 定义一种语言来描述信息领域用户对象 模型的一个实例 定义一个特定的领域 标准建模语言UML UML主要文件 UML概要 UMLSummary UML语义 UMLSemantics UML表示法指南 UMLNotationGuide 对象约束语言规约 ObjectContraintlanguageSpecification 该文件定义并介绍了一种对象约束语言 OCL 其用途是用来说明在图形化的系统模型中不能充分表达的建模信息 它是一种形式化语言 标准建模语言UML 用例图 从本质上将 一个用例是用户与计算机之间为达到某个目的的一次典型交互作用 用例描述了用户提出的一些可见的需求 用例可大可小 用例对应一个具体的用户目标 标准建模语言UML 用例图 用例图描述系统外部的执行者与系统的用例之间的某种联系 所谓用例是指对系统提供的功能 或称系统的用途 的一种描述 执行者是那些可能使用这些用例的人或外部系统 用例和执行者之间的联系描述了 谁使用哪个用例 标准建模语言UML 用例图 用例图着重于从系统外部执行者的角度来描述系统需要提供哪些功能 并且指明了这些功能的执行者是谁 用例图在UML方法中占有十分重要的地位 人们甚至称UML是一种用例图驱动的开发方法 标准建模语言UML 用例图 用例图中的图符 用例执行者系统 用于界定系统功能范围 描述该系统功能的用例都置于其中 而描述外部实体的执行者都置于其外 关联 连接执行者和用例 表示执行者所代表的系统外部实体与该用例所描述的系统需求有关 标准建模语言UML 用例图 用例图中的图符 使用 由用例A连向用例B 表示用例A中使用了用例B中的行为或功能 扩展 由用例A连向用例B 表示用例B描述了一项基本需求 而用例A则描述了该基本需求的特殊情况 注释体 对UML实体进行文字描述注释连接 将注释体与要描述的实体连接 说明该注释体是针对该实体所进行的描述 标准建模语言UML 用例图 标准建模语言UML 用例图 标准建模语言UML 用例图 用例模型的获取 获取执行者获取用例 标准建模语言UML 用例图 获取执行者 谁使用系统的主要功能 主要使用者 谁需要系统支持他们的日常工作 谁来维护 管理系统使其能正常工作 辅助使用者 系统需要控制哪些硬件 系统需要与其他哪些系统交互 对系统产生的结果感兴趣的是哪些人 标准建模语言UML 用例图 获取用例 执行者要求系统提供哪些功能 执行者需要读 产生 删除 修改或存储系统中的信息有哪些类型 必须提醒执行者的系统事件有哪些 执行者必须提醒系统事件有哪些 怎样把这些事件表示成用例中的功能 标准建模语言UML 类图 在面向对象的建模技术中 类 对象和它们之间的关系是最基本的建模元素 对于一个想要描述的系统 其类模型 对象模型以及它们之间的关系揭示了系统的结构 类图描述了系统中的类及其相互之间的各种关系 其本质反映了系统中包含的各种对象的类型以及对象间的各种静态关系 关联 子类型 标准建模语言UML 类图 类图中的图符 类 表示一个类 其中第一栏是类的名 第二栏是类的属性 第三栏是类的操作 包 包是一种分组机制 表示一个类图集合 关联 用于表示类的对象之间的关系 其特殊形式有组成关联和聚集关联 标准建模语言UML 类图 类图中的图符 聚集关联 用于表示类的对象之间的关系是整体与部分的关系 组成关联 用于表示类的对象之间的关系 整体拥有各部分 部分与整体共存 如整体不存在了 部分也会随之消失 泛化关联 泛化关系 继承关系 定义了类和包间的一般元素和特殊元素之间的分类关系 标准建模语言UML 类图 类图中的图符 依赖关系 有两个类或包元素X Y 修改元素X的定义可能会引起对另一个元素Y的定义的修改 则称元素Y依赖于元素X 对象 类的一个实例 链接 用于表示对象间的关联关系的一个实例 标准建模语言UML 类图 单一继承 标准建模语言UML 类图 多重继承 标准建模语言UML 类图 关联的基本UML表示法 标准建模语言UML 类图 关联表示的一些说明 UML并不要求关联一定要有名字 但给所有关联命名 组成和聚集关联除外 是一个好习惯 UML也不需要角色名 但最好给出有意义的角色名 UML通常简写多重性 Eg 0 简写为 1 1写为1 标准建模语言UML 类图 多向关联 标准建模语言UML 类图 整体 部分关联组成聚集 标准建模语言UML 类图 组成整体 组成对象 composite object 部分 成分对象 component object 如果没有成分对象 组成对象也不存在 在任何时候 每个给定的成分对象只能是组成对象的组成部分 组成是典型的异构 成分对象可能由多个类型混合组成 Eg 轮子 车轴 木头构成四轮马车 标准建模语言UML 类图 组成 标准建模语言UML 类图 聚集整体 聚集对象 aggregate object 部分 构成对象 constituent object 构成对象不存在 聚集对象还可存在 在任何时候 每个对象都可是多个聚集的构成 聚集往往是同构的 Eg 森林是树木构成的 标准建模语言UML 类图 聚集 标准建模语言UML 类图 标准建模语言UML 对象图 对象图对象图是类图的一种变形 除了在对象名下面要加下划线以外 对象图中所使用的符号与类图基本相同 对象图是类图的一种实例化 一张对象图表示的是与其对应的类图的一个具体实例 即系统在某一时期或者某一特定时刻可能存在的具体对象实例以及它们相互之间的具体关系 标准建模语言UML 对象图 标准建模语言UML 对象图 对象图并不象类图那样具有重要的地位 但是利用它可以帮助我们通过具体的实例分析 更具体直观地了解复杂系统类图的丰富内涵 对象图还常常被用作合作图的一部分 用以展示一组对象实例之间的动态协作关系 标准建模语言UML 包图 包是类的集合 包图所显示的是类的包以及这些包之间的依赖关系 如果两个包中的任意两个类之间存在依赖关系 则这两个包之间存在依赖关系 包的依赖是不传递的 标准建模语言UML 包图 标准建模语言UML 包图 何时使用包图 在大项目中 包图是一种重要工具 有专家建议 只要你不能将整个系统的类图压缩到一张A4纸上 你就应该使用包图 依赖产生耦合 应该尽量将依赖性减少到最低程度 包的概念对测试也是特别有用的 标准建模语言UML 状态图 状态图状态图是对类的一种补充描述 它展示了此类对象所具有的可能的状态以及某些事件发生时其状态的转移情况 表示状态 状态的改变称作转移 状态转移由箭头表示 箭头旁可以标出转移发生的条件 状态转移可以伴随有某个动作 它表明当转移发生时系统要做什么 表示初始状态 表示终止状态 标准建模语言UML 状态图 标准建模语言UML 状态图 CustomorderStatus 标准建模语言UML 顺序图 顺序图顺序图描述了对象之间动态的交互关系 着重体现对象间消息传递的时间顺序 顺序图由一组对象构成 每个对象分别带有一条竖线 称作对象的生命线 它代表时间轴 时间沿竖线向下延伸 顺序图描述了这些对象随着时间的推移相互之间交换消息的过程 消息用从一条垂直的对象生命线指向另一个对象的生命线的水平箭头表示 图中还可以根据需要增加有关时间的说明和其他注释 标准建模语言UML 顺序图 标准建模语言UML 合作图 合作图与顺序图作用相同 合作图也是用来描述系统中对象之间的动态协作关系 合作图侧重于描述各个对象之间存在的消息收发关系 交互关系 而不专门突出这些消息发送的时间顺序 在合作图中 对象同样是用一个对象图符来表示 箭头表示消息发送的方向 而消息执行的顺序则由消息的编号来表明 标准建模语言UML 合作图 Eg 从一个帐户 fromAccount 传送一笔资金到另外一个帐户 toAccount 标准建模语言UML 合作图 合作图中的多态性 指向目标对象有可能隶属的所有类的超类 标准建模语言UML 合作图 重复的消息 向一个聚集对象的每个组成部分发出同样的消息 重复消息的三个特性 1 这种消息有一个星号作为前缀 表示发往多个目标 2 集合的名字是放在通常的位置 但是每个单独的目标对象没有名字 3 目标对象的符号是双重的 表示多样性 标准建模语言UML 合作图 标准建模语言UML 合作图 在消息中使用self 可用this 把self作为一个参数来传递 用来告诉目标对象是哪个对象发送的消息 发送一个消息给它自身 标准建模语言UML 合作图 标准建模语言UML 合作图 标准建模语言UML 合作图 合作图的布局方法能更清楚地表示出对象之间静态的连接关系 顺序图突出执行的时序 能更方便地看出事情发生的次序 如果要描述在一个用例中的几个对象协同工作的行为 交互图是一种有力的工具 交互图擅长显示对象之间的合作关系 尽管它并不对这些对象的行为进行精确的定义 如果想要描述跨越多个用例的单个对象的行为 应当使用状态图 如果想要描述跨越多个用例或多个线程的多个对象的复杂行为 则需考虑使用活动图 标准建模语言UML 活动图 活动图活动图描述系统中各种活动的执行顺序 通常用于描述一个操作中所要进行的各项活动的执行流程 同时 它也常被用来描述一个用例的处理流程 或者某种交互流程 活动图由一些活动组成 图中同时包括了对这些活动的说明 当一个活动执行完毕之后 控制将沿着控制转移箭头转向下一个活动 活动图中还可以方便地描述控制转移的条件以及并行执行等要求 在很多方面 活动图是结构化开发中流程图和数据流程图 DFD 的面向对象等同体 标准建模语言UML 活动图 活动图的图符实心圆表示活动图的起点 实际上是一个占位符 带边框的实心圆表示终点 圆角矩形表示执行的过程或活动 菱形表示判定点 箭头表示活动之间的转换 各种活动之间的流动次序 条件 箭头上的文字表示继续转换所必须满足的条件 总是使用格式 条件 来描述 粗线条表示可能会并行进行的过程的开始和结束 标准建模语言UML 活动图 标准建模语言UML 活动图 标准建模语言UML 活动图 活动图最适合支持描述并行行为 这使之成为支持工作流建模的最好工具 活动图最大的缺点是很难清楚地描述动作与对象之间的关系 标准建模语言UML 活动图 对于以下情况可以使用活动图 1 分析用例 2 理解牵涉多个用例的工作流 3 处理多线程应用 在下列情况下 一般不要使用活动图 1 显示对象间合作 2 显示对象在其生命周期内的运转情况 标准建模语言UML 构件图 构件图构件图描述软件构件以及它们之间的依赖关系 从而便于人们分析和发现当修改某个构件时可能对那些构件产生影响 以便对它们做相应的修改或更新 构件可以是源代码构件 二进制目标码构件 可执行构件或文档构件 表示构件 标准建模语言UML 构件图 标准建模语言UML 配置图 配置图配置图描述系统中硬件和软件的物理配置情况和系统体系结构 在配置图中 用结点 立方体 表示实际的物理设备 如计算机和各种外部设备等 并根据它们之间的连接关系 将相应的结点连接起来 并说明其连接方式 在结点里面 说明分配给该结点上运行的可执行构件或对象 从而说明哪些软件单元被分配在哪些结点上运行 标准建模语言UML 配置图 标准建模语言UML 配置图 标准建模语言UML 案例 ATM系统软件 项目概述目的 建立ATM系统软件 ATMsystemsoftware 整个系统包括 ATM 中央服务器 centralserver ATM系统软件 有关的界面软件 ATM系统软件的工作 处理系统中ATM和银行电脑之间的交易 transaction 如 查帐 存款 提款等 与系统合作的银行有多家 它们各自有自己的电脑 处理自己的帐号和交易 所有TAM通过中央服务器与每个银行的电脑通信 每家银行电脑处理的交易及其中运行的软件 乃至银行的内部事情与本项目无关 但银行电脑和ATM系统软件之间的界面软件则属于本项目 标准建模语言UML 案例 ATM系统软件 ATM工作过程 银行的顾客持有提款卡 cashcard 可在任何一个ATM查帐 存款 提款 取收据等 提款卡插入ATM后 卡上资料被读取 并提示顾客输入其个人密码 然后 ATM系统检验密码的正确性 若没问题 便把顾客要做的交易传送到中央服务器进一步处理 标准建模语言UML 案例 ATM系统软件 ATM系统软件的要求 1 对所有使用ATM系统的交易 都要有记录 且能每天做报告 2 系统要有适当的安全措施 3 一个帐号必须能够同时从多处接入做查询或其他帐务 4 必须能兼顾未来的扩展 如增加出纳点 因特网客户机等 标准建模语言UML 案例 ATM系统软件 ATM系统软件的限制 1 ATM系统由银行协会拥有 2 ATM系统软件在中央服务器里运行 3 各银行自己发行提款卡 并保管有关资料 一家银行发行的卡 头6个数字相同 4 所有ATM有同样的界面 5 每家银行的电脑有其程序界面 不一定与其它银行的相同 标准建模语言UML 案例 ATM系统软件 静态分析和设计静态分析 找出对象类及其静态关系 动态分析 对象间的相互作用及其对外界面 核心设计 交易 交易是一个二元关联类 它将提款卡 card 和ATM联系起来 标准建模语言UML 案例 ATM系统软件 交易是ATM系统软件的核心设计 标准建模语言UML 案例 ATM系统软件 ATM系统软件的局部设计 manages 标准建模语言UML 案例 ATM系统软件 ATM系统软件设计总图 标准建模语言UML 案例 ATM系统软件 持久对象设计 标准建模语言UML 案例 ATM系统软件 动态分析 标准建模语言UML 案例 ATM系统软件 ATM系统时序图 标准建模语言UML 案例 ATM系统软件 InterfaceCandidateAlgorithmATMManager accessoprations login cardInfo CardInfo logout operationsonanaccount getBalance FloatgetHistory StringBank accessoperaiton login accountInfo AccountInfo logout account accountmanagement open accuontInfo AccountInfo initialAmount Float remove accountInfo AccountInfo 标准建模语言UML 案例 ATM系统软件 界面设计 标准建模语言UML 案例 ATM系统软件 界面的详细定义 标准建模语言UML 案例 ATM系统软件 ATMManager界面 标准建模语言UML 案例 ATM系统软件 标准建模语言UML 案例 ATM系统软件 ATMCentralServer包含的两个界面 UML支撑环境 RationalRose基于UML的模型驱动的软件开发环境全面支持团队整体合作的开发形式集成了最新软件开发技术和思想 UML的扩展 实时模型UML RT可执行模型企业计算EnterpriseDistributedObjectComputing EDOC EnterpriseApplicationIntegration EAI 软件过程RationalUnifiedProcess RUP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业电子产品购销合同
- 2025聘用合同书(参考文本适用于返聘人员)
- 2025酒店股权转让合同范本
- 浙江省宁波市镇海中学浙教版高中信息技术教学设计:Photoshop制作贺卡
- 第8课 体验活字印刷说课稿-2023-2024学年小学劳动六年级下册川民版《劳动教育》
- 甘肃公考真题2025
- 财务报表的格式设置与公式定义说课稿-2025-2026学年中职专业课-会计信息化-财经类-财经商贸大类
- 淄博事业单位笔试真题2025
- 五指山事业单位笔试真题2025
- 阿克苏事业单位笔试真题2025
- 浴室工程施工组织设计方案
- 2024年秋九年级化学上册 第3单元 物质构成的奥秘 课题3 元素 第1课时 物质是由元素组成的说课稿 (新版)新人教版
- 微商基础培训课件
- ISO9001:2024版质量手册资料
- 2023-2024年社会工作者之初级社会综合能力考试题库
- 2025年慢性阻塞性肺疾病全球创议GOLD指南修订解读课件
- 民族宗教团日活动
- 新娘化妆相关知识考核试题及答案
- 食品生产监管能力大比武理论考试题及答案
- 二年级家长会课件下载
- 《PLC应用技术(西门子S7-1200)第二版》全套教学课件
评论
0/150
提交评论