UML语言.

Slides:



Advertisements
Similar presentations
通用技术 I General Technology I 1 正确理解通用技术 2 技术对社会的影响 3 从典型事例看设计 4 趣味制作与学技术 广东第二师范学院 彭哲方.
Advertisements

系統分析與設計 楊子青 H-1 H 、物件導向技術 n 物件導向的基本概念 – 物件、類別 – 封裝、繼承 – 同名異式 ( 多型 ) 、超荷 ( 過載 ) n 物件導向分析與設計及塑模工具 n UML 塑模工具.
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
軟體工程 -物件導向程式設計與UML系統分析實作
任务二:面向对象的建模 3 需求分析阶段的用例建模 用例图 活动图.
管理信息系统-MIS 5 面向对象方法学 5.1 面向对象方法学的产生及其发展 传统的开发方法存在的问题:
Ch02物件導向程式設計 物件導向系統分析與設計.
第10章 領域、概念與分析模型 10-1 再談物件導向分析 10-2 找出類別建立領域模型 10-3 指定責任建立概念模型
第一章 系統開發概論 1-1 系統開發概論 1-2 常見的資訊系統 1-3 系統開發生命週期 1-4 系統開發方法論簡介.
史料數位化之METADATA與AUTHORITY CONTROL / 陳雪華
第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
欢迎各位 Nice to Meet U.
第 5 章 软件项目需求管理.
第六讲 面向对象分析(6学时) 了解面向对象分析的概念 了解面向对象分析的发展 理解面向对象的基本概念 理解面向对象分析的过程、内容
第10章 考试系统的分析与设计 1.
第6章 系统分析 6.1 概述 6.2 逻辑模型 6.3 逻辑结构分析 6.4 用例分析 6.5 概念类分析.
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
第一章 軟體工程 (Software Engineering Introduction)
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型
第八章 分析與設計階段 – 物件導向設計(OOD)
中软译星机器翻译系统翻译质量改进策略 China National Software & Service Co., Ltd.
首席软件专家 张恂 博讯科技(上海)有限公司 浩方科技集团
第 9 讲 面向对象分析与设计
Design Pattern (2) 设计模式(2) Institute of Computer Software 2018/9/21
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
第一章 軟體工程概論.
第二章 企業流程管理與企業資源規劃系統 Business Process Management &
H、物件導向技術 物件導向的基本概念 物件、類別 封裝、繼承 同名異式(多型) 、超荷(過載) 物件導向分析與設計及塑模工具 UML塑模工具.
C++语言程序设计 第四章 类与对象 成都信息工程学院计算机系.
軟體工程 -物件導向程式設計與UML系統分析實作
缺失測試 (Defect Testing) 測試程式讓系統的缺失呈現.
第10章 使用個案塑模.
物件導向系統分析與設計與UML.
單元3:軟體設計 3-2 順序圖(Sequence Diagrams)
UML工具 --8种优秀的UML工具.
软件建模精要 面向对象软件建模技术.
Business Process Management Enterprise Resource Planning
JUDE教學 Jude安裝教學篇 Jude初步介紹篇 Jude繪圖介紹篇 介紹jude的安裝和下戴 介紹jude的初基本功能
CHAPTER 2 ELEMENTS OF UML
第9章 類別圖與物件圖 9-1 類別圖與物件圖的基礎 9-2 類別圖的符號 9-3 類別關係 9-4 物件圖 9-5 繪製類別圖與物件圖
第4章 物件導向分析與設計簡介 4-1 物件導向的軟體系統開發 4-2 物件導向分析與設計 4-3 UML的物件導向分析與設計
软件建模与UML.
软件服务生态中的非确定性科学问题、互操作性的应用基础问题
UML类设计工具 任课老师:黄武 上午2时50分 10.
UML介绍.
面向对象的分析与设计 教学计划 研究生课程 主讲教师:邵维忠 助教: 朱彬,柳毅,尤朝,张磊,黄艺燕 2009年2月—7月
軟體工程:如何開發軟體? 把它看成是一件工程。 那麼就會有一些工具、技術、方法,也有管理的議題。
實作一個電腦輔助軟體工程工具以提昇軟體文件 可追蹤性及軟體可維護性
Advanced Basic Key Terms Dependency Actor Generation association
两种不同类别的软件: 功能预定义软件;用户驱动的软件。他们对软件工程方法有不同的需求
系統元件與結構塑模.
学习导航 学习导航.
管理信息系统 第九章 面向对象的系统开发方法.
第13章 設計模型 13-1 再談物件導向設計 13-2 建立互動圖 13-3 建立狀態機圖 13-4 設計模型的類別圖
实验6 面向对象分析与设计实验.
第6章 使用案例圖 6-1 使用案例圖的基礎 6-2 使用案例圖的符號 6-3 動作者與使用案例的關係 6-4 繪製使用案例圖
用例图.
第二章 資訊系統開發模式.
徐迎晓 复旦大学软件学院 实现模型 徐迎晓 复旦大学软件学院.
第6章 面向对象开发的 分析与设计.
IEEM 5352 Enterprise Integration
第八章 工作設計與工作衡量 工作設計(方法工程)與工作衡量(時間研究)是對工作系統做有系統的研究(又稱為工作研究),其目的在發展一個較好的系統及方法,能以較低的成本與較高的效率圓滿完成工作。 接著將此一新的系統及方法標準化,爾後訓練作業員執行工作時均按此一較好的系統及方法,因此工作設計與工作衡量所得的結果可做為獎工制度訂定的重要依據。
Advanced Basic Key Terms Dependency Generalization Actor Stereotype
UML ISKM Lab.
OOA/OOD UML RUP Architecture Pattern MDA
I、使用個案塑模-使用個案圖 行為者(Actor) 使用個案(Use Case) 連接線 系統邊界 使用個案間之關係
面向对象建模 对象(object) 对象具有的含义: 现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。 在现实世界中:
UML建模语言及工具.
第十章 面向对象 (2).
Presentation transcript:

UML语言

UML 1.0 UML 的演化 UML 2.0 Booch Unified Method 0.8 OMT - 2 OMT - 1 OOSE 1995 1996 Submission of UML 1.0 to OMG for adoption, Jan 1997 Other methods public feedback UML Partners Expertise

UML 1.0 Team Digital Equipment Contributions include * Hewlett-Packard i-Logix * ICON Computing * Intellicorp * MCI Systemhouse * Microsoft * Oracle * Rational Software * Texas Instruments * Unisys * = co-submitter Contributions include multi-modeling and refinements business modeling, use cases and responsibilities, state machine semantics, types, classes and instances interfaces and components, collaborations and patterns, distribution and concurrency, meta-metamodel, glossary OMG and RM-ODP technology perspectives,

UML语言的特征 不是一种可视化的程序设计语言,而是一 种可视化的建模语言。 是一种建模语言规格说明,是面向对象分 析与设计的一种标准表示。 不是过程,也不是方法,但允许任何一种 过程和方法使用它。

UML语言的目标 易于使用,表达能力强,进行可视化建模。 与具体的实现无关,可应用于任何语言平台和工具平台; 与具体的过程无关,可应用于任何软件开发过程; 简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改; 为面向对象的设计与开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用; 与最好的软件工程实践经验集成; 可升级,具有广阔的适用性和可用性; 有利于面向对象工具的市场增长。

UML语言概述 由视图view,图diagram,模型元素model element和通用机制general mechanism等几个部分组成 视图是表达系统的某一方面特征的UML建模元素的子集,由多个图构成,是在某一个抽象层上,对系统的抽象表示。 图是模型元素集的图形表示,通常为弧(关系)和顶点(其他模型元素)相互连接构成的。 模型元素代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念。 公共机制用于表示其它信息,比如注释、模型元素的语义等。另外,它还提供扩展机制,使UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。

UML的模型、视图、图与系统架构建模 UML是用来描述模型的,用模型来描述系统的结构或静态特征,以及行 为或动态特征。从不同的视角为系统的构架建模,形成系统的不同视 图(VIEW) 用例视图(use case view),强调从用户的角度看到的或需要的系统功能, 是被称为参与者的外部用户所能观察到的系统功能的模型图; 逻辑视图(logical view),展现系统的静态或结构组成及特征,也称为结 构模型视图(structural model view)或静态视图(static view); 动态视图(dynamic view),体现了系统的动态或行为特征,也称为行为 模型视图(behavioral model view); 组件视图(component view),体现了系统实现的结构和行为特征,也称 为实现模型视图(implementation model view) ; 配置视图(deployment view),体现了系统实现环境的结构和行为特征, 也称为环境模型视图(environment model view)或物理视图(physical view)。

Architecture Class diagrams State machine diagrams Interaction diagrams Component diagrams Component View Logical View Use case diagrams Activity diagrams Use Case View Process View Deployment View Class diagrams Interaction diagrams Deployment diagrams

UML视图和图(参考手册) 主要的域 视 图 图 主要概念 结构 动态 模型管理 可扩展性 静态视图 类图 用例视图 用例图 实现视图 视 图 图 主要概念 结构 静态视图 类图 类、关联、泛化、依赖关系、实现、接口 用例视图 用例图 用例、参与者、关联、扩展、包括、用例泛化 实现视图 构件图 构件、接口、依赖关系、实现 部署视图 部署图 节点、构件、依赖关系、位置 动态 状态机视图 状态图 状态、事件、转换、动作 活动视图 活动图 状态、活动、完成转换、分叉、结合 交互视图 顺序图 交互、对象、消息、激活 协作图 协作、交互、协作角色、消息 模型管理 模型管理视图 包、子系统、模型 可扩展性 所有 约束、构造型、标记值

九种图 用例图use case diagram,描述系统功能 类图class diagram,描述系统的静态结构 对象图object diagram,描述系统在某个时刻的静态结构 序列图sequence diagram,按时间顺序描述系统元素间的交互 协作图Collaboration diagram,按照时间和空间顺序描述系统元 素间的交互和它们之间的关系 状态图state diagram,描述了系统元素的状态条件和响应 活动图activity diagram,描述了系统元素的活动 组件图component diagram,描述了实现系统的元素的组织 部署图deployment diagram,描述了环境元素的配置,并把实现 系统的元素映射到配置上

根据它们在不同架构视图的应用,可以把9种图分成: 用户模型视图:用例图 结构模型视图:类图、对象图 行为模型视图:序列图、协作图、状态图、 活动图(动态图) 实现模型视图:组件图 环境模型视图:配置图

1. USE CASE图 保险商务系统 签定保险单 客户 保险销售员 销售统计资料 客户数据资料

元素之间的关系 角色之间的关系:拥有与类相同的关系描 述,用通用化关系描述若干个角色之间的 行为。 用例之间的关系: 1. 扩展关系:插入基用例所未知的附加行为,只有基用例能实例化。 2. 概括关系:一般化关系,特殊用例继承和增加了基用例的特征。 3. 包含关系:用例可以简单的合并其他的用例,将其作为自身行为 的片段。

实现 用例实现为协作:序列图、协作图、活动图 功能分配 边界对象、控制对象、实体对象

理解Use Case和Actor 1)Use Case绝不是锦上添花的东西,一方面它可以促进与用户沟通, 理解正确的需求,另一方面它可以划分系统与外部实体的界限, 是系统设计的起点,而最终应该落实到类和实现代码上。 2)Use Case View与Logical View应该有明确的相关性。UML中从 Use Case到类包的关联可以用依赖(或实现)关系描述。 3)Actor不是指人,而是指代表某一种特定功能的角色,因此同一个 人可能对应很多个Actor。Actor是虚拟的概念,可以指外部系统 和设备。 4)Use Case是对系统行为的动态描述,它是OO设计的起点,是类、 对象、操作的来源,而通过逻辑视图的设计,可以获得软件的静 态结构。

2. 类图Class Diagram 包(Package) 名字、属性、操作、可见性 关系 关联关系:普通、递归、限定、或关联、有序关联, 关联类 聚合:复合聚合-实心菱形 通用化:普通、受限 依赖:两个模型元素(类、组合、用例)之间的语义 上的连接关系。 包(Package)

Parameterized Instantiated Class C++ Template

四种UML依赖关系异同 绑定关系位于模板(如C++模板)和用其生成的模型元素之间,该元素 完全是模板的实例化,为添加任何新的东西。 可溯关系是两个元素或元素集合之间的概念连接,用于描述位于不同 语义层或多种视点下的同一个概念。这些元素间并没有任何特定的映 射关系,关系的方向可被忽略。通常用于跟踪需求,或帮助建模者跟 踪多个模型的变化。 使用关系表示一个元素为了实现或完成其全部的功能需要其它元素或 元素集合的配合,例如类与类之间的多种方法调用关系。 细化关系是不同语义层(如分析和设计)之间模型元素的依赖关系, 表示客户可由供应者导出。这一导出关系不一定非要用算法来描述, 可以完全人为决定,因此细化关系可描述的语义范围较广,包括:模 型的逐步细化、优化、变换、模板、模型合成、框架组成等等。 绑定和使用关系只能用于同一模型中元素的连接,而可溯和细化关系 可用于连接多个模型的元素。

3. 对象图 是类图的变体,表示类的对象实例,是类 图的一个范例

4. 状态图 显示类的所有对象可能具有的状态,以及 引起状态变化的事件,可以为系统描述整 体状态图

5. 序列图 反映随时间对象之间的动态协作关系 反映对象之间已发送消息的先后顺序 说明对象之间的交互过程 以及在某一具体位置有何事件发生

6. 协作图 动态协作,显示对象和它们之间的关系 (上下文相关),强调收发消息的对象的 结构组织。

7. 活动图 用于对系统的动态方面(计算流程和工作流)建模,这些动态方面可 涉及一个系统体系结构的任意视图中任何类型抽象的活动,包括类 (含主动类)、接口、构件和节点。 可以在整个系统、一个子系统、一个操作或一个类的语境中使用活动 图。还可以把活动图用在用例(对脚本建模)和协作(对对象群体的 动态方面建模)上。 当对系统的动态方面建模时,通常有两种方式: (1)对工作流建模 关注与系统进行协作的参与者所观察到的活动。工作流常常位于软件 系统的边缘,用于可视化、详述、构造和文档化开发系统所涉及的业 务过程。这时,对对象流的建模特别重要。 (2)对操作建模 流程图,对分支、分叉和汇合状态的建模特别重要。 活动状态、动作状态、转换、泳道、对象、信号

8. 组件图 组件包含逻辑类及逻辑类的实现信息 用来反映代码的物理结构 源组件、二进制组件、可执行组件 链接时的组件、运行时的组件 Main programs,主程序 Packages,构件包 Subprograms,子程序 Tasks,独立线程 EXE,可执行文件 DLL,动态连接库

9.部署图 显示系统中软件和硬件的物理架构 节点、连接、组件、对象

Deployment diagram

模型元素(事物、关系、图)

公有机制 规格说明 修饰 通用划分 扩展机制 构造型、标记值、约束

标记值

Rose Stereotype Class:Interface Component:EXE Component:DLL Component:ActiveX Component:Application Component:Applet Use Case:business use case Use Case:business use-case realization Use Case:use-case realization Class:control Class:boundary Class:entity Class:business actor Class:business worker Class:business entity Use Case Package:organization unit Logical Package:organization unit Use Case Package:subsystem Logical Package:subsystem Use Case Package:layer Logical Package:layer DependencyRel:refine DependencyRel:extend DependencyRel:include

Association:extend Association:include Association:communicate Association:subscribe Association:realize Class:Table Component:Database

UML的图与模型的对应关系 用例模型——用用例图、顺序图、协作图、状态图和活 分析、设计模型——用类图和对象图、顺序图、协作 动图描述。 分析、设计模型——用类图和对象图、顺序图、协作 图、状态图和活动图描述。 实现模型——可用组件图、顺序图和协作图描述。 实施模型——配置图 测试模型——测试模型引用了所有其他模型,所以它使 用他们对应的所有图。

详细说明为 具体体现为 分布为 Analysis model 实施模型 实现为 测试时采用 Use-Case Model Design Model 实施模型 实现为 Implementation Model 测试时采用 Test Model