任务1 UML概述 任务2 UML静态建模 任务3 UML动态建模

Slides:



Advertisements
Similar presentations
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
Advertisements

《如何使用UML》基础知识 陈王贤
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
UML建模语言及工具.
管理信息系统 第10章 UML和统一软件开发过程.
第四讲 软件体系结构描述(一) 刘玮 2017/3/20.
UI(用户界面)集训班 Illustrator 高级班.
Rose的使用 ROSE是美国Rational公司的面向对象建模工具,利用这个工具,可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、Java、VB、Oracle等语言和系统的代码。
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
第14章 c++中的代码重用.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
石振莲 软件学院 可视化建模与UML 石振莲 软件学院
軟體工程 -物件導向程式設計與UML系統分析實作
物件導向系統分析與設計與UML.
面向对象建模技术 软件工程系 林 琳.
R in Enterprise Environment 企业环境中的R
面向对象建模技术 软件工程系 林 琳.
软件建模精要 面向对象软件建模技术.
JUDE教學 Jude安裝教學篇 Jude初步介紹篇 Jude繪圖介紹篇 介紹jude的安裝和下戴 介紹jude的初基本功能
UML及软件建模 主讲人 :李 唯 1.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
软件建模与UML.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
UML类设计工具 任课老师:黄武 上午2时50分 10.
UML介绍.
面向对象的分析与设计 教学计划 研究生课程 主讲教师:邵维忠 助教: 朱彬,柳毅,尤朝,张磊,黄艺燕 2009年2月—7月
第二章 Java语言基础.
PaPaPa项目架构 By:Listen 我在这.
整合思维导图的初中英语教学设计 主讲人:卢璐.
两种不同类别的软件: 功能预定义软件;用户驱动的软件。他们对软件工程方法有不同的需求
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
UML语言.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
学习导航 学习导航.
程序设计工具实习 Software Program Tool
第十章 面向对象方法学 (1).
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
VisComposer 2019/4/17.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第6章 面向对象开发的 分析与设计.
1.把下面的关系模式转化为E-R图 1)系(系号,系名,电话) 2)教师(工号,姓名,性别,年龄,系号)
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
Chapter 18 使用GRASP的对象设计示例.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
《Rational Rose 2003基础教程》 配套电子教案
上杭二中 曾庆华 上杭二中 曾庆华 上杭二中 曾庆华.
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
UML世界的构成 《UML面向对象建模基础》.
UML ISKM Lab.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
ATM自动取款机系统 一、 需求分析 二、系统用例模型 三、系统动态模型 四、创建系统包图 五、系统类模型 六、系统部署.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

任务1 UML概述 任务2 UML静态建模 任务3 UML动态建模

任务1 UML概述 UML的概念 UML的发展 UML的主要内容

UML与OO(面向对象) OO UML OOA OOD DP … … …… …… …… …… UML是OO重要工具

UML的概念 UML的概念 UML的概念 UML Unified Modeling Language 统一建模语言 统一建模语言是一种通用的可视化建模语言,用于对软件系统的制品进行规范化、可视化处理,然后构造它们并建立它们的文档。

UML的发展过程 Grady Booch,James Rumbaugh和Ivar Jacobson

图 与 语言 谁一级棒? 这把刀,也不知道有多长、多宽、多重、由什么材质铸成,由谁铸造?很普通,很平常,也许在我们手中!但,只要是他拿着,握着,这把刀就有了生命,有了气息,追魂的刀,亦是救命的刀,就看他是如何赋予它使命的! 该用图用图 该代码用代码

UML的优势 过去数十种面向对象的建模语言各自为战,而UML可以消除一些潜在差异,一统江湖 通过统一语义和符号表示,提高面向对象技术 使项目建立在一个成熟的标准建模语言基础之上 便于沟通和交流,统一的理解

UML主要内容 UML的主要内容 精确的元模型定义 UML表示法 UML表示符 UML可视化的图形建模语言 UML提供了五类图形

任务2 UML的概念模型 UML Structure 构造块 公共机制 构架 基本UML建模元素、关系和图 达到特定目标的公共UML方法 building blocks 公共机制 common mechanisms 构架 architecture 基本UML建模元素、关系和图 达到特定目标的公共UML方法 系统架构的UML视图

UML基本的构造块 构造块 事物 关系 图 建模元素本身 把事物联系在一起,关系说明两个或多个事物时如何语义相关的 building blocks 事物 things 关系 relationships 图 diagrams 建模元素本身 把事物联系在一起,关系说明两个或多个事物时如何语义相关的 UML模型的视图,它们展现事物的集合,“讲述关于软件系统的故事”,是我们可视化系统将做什么(分析级图)或者系统如何做(设计级图)的方法 Page 10 4

事物 事物 结构物件 行为物件 分组物件 注解物件 UML模型中的名词,如类、接口、协作、用例、活动类、组件、节点 things 结构物件 行为物件 分组物件 注解物件 UML模型中的名词,如类、接口、协作、用例、活动类、组件、节点 UML模型的动词,如交互、状态机 包,它用于把语义上相关的建模元素分组为内聚的单元 注解,它附加到模型以捕获特殊信息,同黄色便笺很相像

关系 关系 关联 依赖 泛化 实现 描述对象之间的一组链接 事物的改变引起依赖物件的语义改变 relationships 关联 association 依赖 dependency 泛化 generalization 实现 realization 描述对象之间的一组链接 事物的改变引起依赖物件的语义改变 一个元素是另一个元素的特化,而且它可以取代更一般的元素 类元之间的关系,一个类元说明一份契约,另一个类元保证实现该契约

collaboration diagrams 图 图 diagrams 静态模型 (系统结构) 动态模型 (系统行为) 类图 class diagrams 顺序图 sequence` diagrams 对象图 object diagrams 协作图 collaboration diagrams 构件图 component diagrams 状态图 statechart diagrams 部署图 deployment diagrams 活动图 activity diagrams 用例图 use case diagrams

extensibility mechanisms UML 公共机制 公共机制 common mechanisms 规格说明 specifications 修饰 adornments 公共分类 common divisions 扩展机制 extensibility mechanisms

规格说明 UML模型: 规格说明 使用图和图标可视化模型 各种建模元素的规格说明所组成 模型元素的特征和语义的文本描述—模型的“肉” 形成了承载模型的语义背板,赋予模型意义,各种图仅仅是该背板的视图或者可视化投影

修饰 修饰:图中建模元素上暴露的信息项 任何UML图仅是模型的视图, 只有在修饰增强了图的整体清晰性和可读性或者突出模型的某些重要特征时,才应该表示那些修饰 Window

公共分类 描述认识世界的特殊方法 类和实例 接口和实现 类元:一类事物的抽象概念;如“银行帐户” 实例:一类事物的特定实例;如“张三丰帐户” 接口:说明事物行为的契约(做什么) 实现:事物是如何工作的特殊细节(如何做)

扩展机制 约 束:允许对模型元素添加新的规则 构造型:基于已有的建模元素引入新的建模元素 约 束:允许对模型元素添加新的规则 构造型:基于已有的建模元素引入新的建模元素 标记值:允许为模型元素添加新的特性,是带有相关值得关键字

JAVA开发平台体系结构 构架是一个系统的组织结构包括: 1. 系统分解成的各个部分 2. 它们的连接性 3. 交互机制 4. 通知系统设计的向导规则

JAVA开发平台架构 构架是一个系统的组织结构包括: 1. 系统分解成的各个部分 2. 它们的连接性 3. 交互机制 4. 通知系统设计的向导规则

架构 构架是一个系统的组织结构包括: 1. 系统分解成的各个部分 2. 它们的连接性 3. 交互机制 4. 通知系统设计的向导规则

4+1视图

UML小结

任务3 UML静态建模机制 用例图 类图 对象图 包 使用类图的建议

用例图 用例图 参与者 用例1 用例2 参与者1 参与者2 Page 25

用例“捕获需求” 用例图从系统外部、从用户角度出发描述系统的功能集 用例图所描述的系统功能依靠外部用户或另一个系统激活,为用户或另一个系统提供服务

用例表达“做什么” 用例图中可以包含若干个用例,用例表达了系统的功能 用例只描述参与者和系统在交互过程中做些什么,并不描述怎么做。

用例图 关联关系 Page 28

用例图 泛化关系 Page 29

用例图 泛化关系 Page 30

用例图 保险销售用例 Page 31

用例图 商品订单用例 Page 32

用例图 教学管理用例 Page 33

用例用于什么情况? 不知道什么情况不用用例 如果没有用到用例,闭门反省

实例:监听器用例

实例:监听器用例 功能需求 场景 监听删除操作,保证数据的安全。 监听删除操作 删除操作一旦执行,立即被监听器捕获到,进而在执行 删除操作前执行自定义的函数体,即判断实体有无undeletable标签,有则中断删除操作,无则正常删除。 步骤 异常情况 异常处理方法 取得实体的类名 ClassNotFoundException异常 日志记录,然后包装成一个HibernateException,向上层抛出。 获取undeletable标签,判断是否存在,是则执行函数体,否则执行父类函数体(onDelete) IllegalAccessException 异常与InvocationTarget- Exception异常 日志记录,然后包装成HibernateException,向上层抛出。

用例图 关系 关联关系 ;依赖关系 ;泛化关系;关系的扩展 用例 扩展 包含 参与者 泛化 注释体 系统边界 注释连接 关联 <<include>> <<extend>> 参与者 用例 系统边界 关联 扩展 包含 泛化 注释体 注释连接 Page 37

类图 类图 类 名称;属性;操作 关联关系 泛化 依赖关系 约束

类图 类 名称;属性;操作

类图 类图

类图 类图

类图 类图 关联 泛化

类图 类图

类图 类图

何时用 类图? 类图是面向对象方法的支柱 如果没用到类图?? 找电杆撞下,看是否用面向对象方法

用 类图 的危险! 类图用滥了,建狗屋画了10页类图 类图没分清粗细层次: 概念类图 规约类图 实现类图

鸟类图

鸟类图

鸟类图

鸟类图

实例:监听器类图

使用类图的建议 使用类图的建议 不要试图使用所有的符号 根据项目开发的不同阶段,用正确的观点来画类图 不要为每个事物都画一个模型,应该把精力放在关键的领域

对象图 对象图 表示在某一时刻类的具体实例和这些实例之间的具体连接关系 对象图 丁一家里的PC:计算机 丁一:作家 名称:DELL446 内存:128 丁一:作家 姓名:丁一 年龄:30

类 与 对象 关系

类 与 对象 关系 对象图使用的是与类图相同的符号和关系

类图和对象图的区别

包 包 包 一种分组机制,把各种各样的模型元素通过内在的语义连在一起成为一个整体就叫做包 A PackageA A B B C C

包的关系 引用 使用

包--软件比赛作品

架构图--包图的变形

任务4 UML动态建模机制 对象之间的交互 状态图 交互图 活动图 四种图的运用

软件模型与现实 模型与现实要匹配

对象之间的交互 对象之间的交互 简单消息 同步消息 异步消息 同步且立即返回消息

什么是状态图? 状态图 状态图 用来建模对象是如何改变其状态以响应事件,展示对象从创建到删除的生命周期 发票状态图

状态图 状态标记符

状态图 实例:打电话

状态图 状态图 状态和转移 事件

状态图 如果你太喜欢

状态图 详细状态

状态图 状态图 子状态

状态图 状态图 子状态

状态图 状态图 子状态

航班状态

放松下

交互图 交互图 顺序图

交互图 交互图 顺序图

实例:监听器顺序图

电影动画-软件模型 电影大量使用3D动画

交互图 协作图:交互关系 和 链接关系 链接;消息流;对象生命周期

交互图 协作图:交互关系 和 链接关系

交互图 交互图 协作图 链接;消息流;对象生命周期

顺序图与协作图 相同点 描述对象间的交互关系 不同点 顺序图:交互的时间顺序 协作图:交互的静态链接关系

3D电影动态建模

活动图 -状态变种 活动和转移 泳道 对象 信号

活动图 -状态变种 活动和转移 泳道 对象 信号

活动图 活动图 活动和转移 泳道 对象 信号

活动图 活动和转移 泳道 对象 信号

四种图的运用 四种图的运用 动态建模 目的、侧重不同 状态图只有极少关键对象 顺序图、协作图:单用例中几个对象的行为 顺序图突出顺序,协作图着重对象间链接关系