UML笔记

uml基础与应用(第0讲) 2
课程内容 2
参考教材 2
uml概述 2
内容提纲 2
面向对象技术(第一部分) 3
模型与可视化建模 4
什么是uml 4
uml发展历史 5
软件过程 6
UML工具(第1讲) 6
UML的构成 7
UML示例(第3讲) 11
UML在软件开发各个阶段的应用 11
面向对象技术(第4讲) 12
内容提纲 12
面向对象技术的基本原则 12
面向对象技术的基本概念 13
举例:订单销售(第6讲) 15
面向对象技术的发生与发展历史 15
面向对象语言的特点 16
uml的各种图 16
用例图(第8讲) 16
类图和包图(第10讲) 19
行为图(活动图和状态图)( 第14讲) 22
Rational rose简介 25
交互图(第18讲) 29
协作图 30
顺序图和协作图举例 30
小结 30
部署图和构件图(第20讲) 30
RUP(Rational Unified Process)(第22讲) 32
内容提纲 32
RUP介绍 33
RUP的思路:implementing Best Practices 33
RUP的基本特征 35
RUP软件开发生命周期 36
RUP带来的观念变化 37
小结 38
设计模式与UML(第24讲) 38
如何成为象棋高手? 38
如何成为一个软件开发工程师? 38
什么是模式? 38
为什么学习模式? 38
模式和框架的比较 39
设计模式研究的历史 39
关于“Design Pattern” 39
重提:指导模式设计的三个概念 40
如何描述一个模式 40
设计模式分类 40
案例学习(第26讲) 43
autoweight系统 43
案例:图书馆信息系统(第28讲) 45
案例:课程登记(第30讲) 48
uml示例 61
uml基础与应用(第0讲)
课程内容
1。uml概述
2。uml的构成
3。面向对象技术
4。uml的各种图
5。Rup
6。设计模式
7。案例学习
uml在需求、分析、设计、实现、集成、交付、测试、阶段的应用
参考教材
1。张维明主编《信息系统建模》,北京,电子工程出版社,2002
2。Grady Booch;James Rumbaugh ;lvarJacobson编《uml用户指南》,北京机械工业
出版社,2001
3。JLWhiteen等编《系统分析与设计方法》北京;机械工业出版社,2004
4。Blaha&Rumbaugh编《UML面向对象建模与设计》,北京:人民邮电出版社,2006
uml概述
内容提纲
1。面向对象技术
2。模型与可视化建模
3。什么是uml
4。uml发展历史
5。软件过程
6。uml工具
7。uml的构成
8。uml示例
9。uml在软件开发各个阶段的应用
面向对象技术(第一部分)
*面向对象技术
-面向对象技术出现于20世纪70年代末,是软件工程领域的重要技术
-是一种程序设计方法
-是一种对现实世界中问题的抽象方式
-对面向对象建模技术的研究的主要成果就是同意建模语言uml
面向对象技术表
现实世界
由事物组成
事物之间有共性,可以归纳
事物具有静态特性和动态特性
事物存在联系,需要交流
事物是一个独立的实体
客观世界中的事物存在继承关系,用来简化对事物的认识和描述
复杂事物可以看成由多个简单事物组成
不同的事务收到同样的消息时,所产生的行为不同
面向对象技术
用对象来描述事物
类是具有相同共性的抽象描述
用属性和方法描述事物的静态特性和动态特性
消息、方法
封装性
继承性
聚合关系
多态性
软件质量衡量指标
*外部
1。正确性(Correctness)
2。健壮性和可靠性(Robustness and reliability)
3。性能(Performance)
*内部
1。模块性(Modularity)
2。灵活性和可扩展性(Flexibility and Extensibility)
3。可复用性(Reusability)
4。可兼容性(Compatibility,via atandard/uniform interfaces)
面向对象技术意义
*面向对象技术提高了软件质量
图23:59
模型与可视化建模
为什么要建模?
*建立大厦和建立茅草屋的区别在于:建立茅草屋不需要设计。
*要生产合格的软件就要有一套关于体系结构、过程和工具的规范
什么是建模
*模型
-模型是对现实的简化。就是把复杂系统变成小的系统,采用“逐个击破”的原则逐一解决
为什么要可视化建模
-一幅图顶不上千言万语(A Picture is worth a thousand words)
模型的组成
*模型是用来描述现实系统的,一般由下列几个部分组成:
-系统:即描述的对象
-目标:系统的目标
-组分:构成系统的各种组分或子系统
-约束条件:系统所处的环境及约束条件
-变量:表述各组分的量的变化,它分内部变量(系统内部)、外部变量(系统外部和环境)
及状态变量。
-关系:表述不同变量之间的数量关系。
模型的表示
*模型可以用一个6元组表示:
*M=(O、G、T、V、R、S),其中
-O表示模型的对象集;
-G表示模型的目标集
-T表示模型系统所处的环境及约束条件集
-V表示模型的变量集,包括内部变量、外部变量及状态变量;
-R表示模型变量之间的关系集
-S表示模型的状态集,从初态到终态。
建模的原理
*分解
*抽象
*泛化
*投影  视图
*构件化
*形式化
什么是uml
*UML(Unified Modeling Language)统一建模语言是用来设计软件蓝图的可视化建模语言。
*它支持面向对象系统的分析、设计、实现和交付等各个环节,可以用于系统的理解、设计、
浏览、维护和信息控制。
*在著名的Booch方法、OMT方法、OOSE方法基础上,广泛民主的反战而成。
*于1997年11月被OMG组织正式采纳。
*uml不是一个程序设计语言
*uml不是一个形式化语言
图36:51
uml发展历史
1.1994年10月,Rational公司的Booch和Rumbaugh决定将其Booch方法和OMT方法综合成
一个新的建模语言,并于1995年10月公布Unified Method 0.8
2.1995年秋季,Jacobson及其OOSE(面向对象软件工程)方法加入Rational公司,决定将
OOSE方法与Unified Method 进行综合,更名为uml,并分别于1996年6月和10月公布了uml
0.9和uml0.91。
3.1996年,DEC、HP、I-Logix、Itellicorp、IBM、ICON、MCI、Microsoft、Oracle、Rational
TI、Unisys发起成立了uml成员协会,于1997年1月推出了uml1.0,并向OMG申请将其作为一种标准语言
4.1997年9月产生了uml1.1,11月被OMG正式采纳。
5.1999年6月OMG发布了uml1.3。
6.1999年7月,uml RealTime 随Rose RealTime推出
7.2001年9月,OMG发布了uml1.4
图40:00
软件危机的主要特征
1。软件开发周期大大超过规定日期;
2。软件开发成本严重超标
3。软件质量难以保证。
*美国国家总申请局,在1993年,对所有交付给政府的项目进行了研究发展,只有3%的项目可以按时交付
,且质量过关,49%项目不可用,48%交付后必须经过重新修改,才能使用。
*在大公司中,IT项目平均成本超支1.78倍,进度超支2.3倍
*项目交付后,平均42%的原始需求能在最后铲平中得以实现。
软件开发面临的问题
1。不能满足用户或商业的要求
2。不能很好的定位需求
3。模块难于集成
4。到最后才发现错误
5。对于终端用户来说质量较差
6。负载时性能差
7。没有协调团队的能力
8。不断地修改-发布问题
软件过程
*uml是一种建模语言,在实际软件项目中,要和具体的软件开发过程结合起来才能更好的发挥作用。
图44:28
*软件过程
-美国CMM   TSP   PSP
-ISO9000系列
-RUP(统一软件过程)
-XP(极限编程)
统一软件过程RUP
*Rational Unified Process(RUP)是Rational公司开发和维护的过程产品,是目前影响较大
的、面向对象的软件开发过程。
*RUP的三个特点
-用例驱动
-以架构为中心
-采用迭代和增量
图46:02
*统一软件过程框架
-RUP人为:一个软件产品开发过程应该包括多次循环。每个循环包含四个阶段:
#初始:
#细化:
#构造:
#移交:
-每个阶段又包括多个迭代过程。
*RUP迭代式开发
图48:18
*RUP软件开发生命周期
图48:54
UML工具(第1讲)
*主流UML工具
-Raiional Rose
-Together
-Mircrosoft Visio
什么是Rational Rose 
*Rational Rose 是一种工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力
*Rose运行环境
-WindowsNT,Windows95
-UNIX(Solaris,HP/UX,AIX,DECUnisx)
*Rose支持Unified、Booth、OMT标记法
Rational Rose界面
图00:55
课程登记实例的Use Case图
图03:50
小结
*什么是UML
*UML发展的历史
*RUP
回顾:UML
*UML是一种可视化的面向对象建模语言。
*UML描述了一个系统的静态结构和动态行为。UML用图形方式表现典型的面向对象系统的
整个结构
*UML从不同的角度为系统建模,并形成系统的不同视图。这些图包括:类图(它以继承结构、
关联、组成和聚集为特色)、时序图、协作图和状态图等。
UML的构成
UML的结构(UML概述 第二部分)
*UML的基本构造块
-UML中的事务
-UML中的关系
-UML中的图
*UML的规则
*UML中的公共机制
-规格说明
-修饰
-通用划分
-扩展机制
UML的基本构造块
UML的主要包括3种构造块(Building Blocks)
1)事务(Things):
构成模型图的一些基本图示符号,他们表示一些面向对象的基本概念。
2)关系(Relationships):
表示基本图示符号之间的关系。
3)图(DLagrams):
特定的视角对系统所作的抽象描述
事物是对模型中最具有代表性的成分的抽象:关系把事物结合在一起:图聚集了相关的事务
UML中的事务(Things)
结构事物:1。class2。interface3。collaboration4。use Case5。Active Class 6。Components
7。Notes
行为事物:1。Interaction 2。Static Mechanism
分组事务:1。Package
注记事物:1。Notes
结构事务
1)类(class)
-类是对一组具有相同属性、方法、关系和语义的对象的描述,一个类实现一个或多个接口。
图17:10
2)接口(interface)
-接口描述了一个类或构件的一个服务的操作集,忌口仅仅是定义了一组操作的规范,它并没有
给出这组操作的具体实现。
图18:58
3)协作(collaboration):
-协作定义了一个交互,它是由一组共同工作以提供某协作的角色和其他元素构成的群体,这些协作
行为大于所有元素的各自行为的总和。因此,协作有结构、行为和维度。一个给定的类可以参与几个协作。
图21:55
4)用例(use Case)
-用例是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者(actor)有价值且可观察的结果
5)主动类(active class)
-是这样的类,其对象至少拥有一个进程或线程,因此它能启动控制活动
图23:11
6)构件(component)
-构件是系统中物理的、可替代的部件,它遵循且提供一组接口的实现。
图23:34
7)节点(node)
-节点是在运行时存在的物理元素,它表示了一种可计算的资源,它通常至少有一些记忆能力处理能力,一个构件集可以驻留在一个节点内,也可以从一个节点迁移到另一个节点。
图25:13
行为事物:
-行为事物是UML模型的动态部分。他们是模型中的动词,描述了跨越时间和空间的行为。共有两类主要的行为事物。
1)交互(interaction)
-交互这样的一种行为,他由在特定语境中一共同完成一定特定任务的一组对象之间交换的消息组成。一个对象群体的行为或单个操作的行为可用一个交互来描述。
-Interaction涉及一些其他元素,包括消息、动作序列(有一个消息所引起的行为)、links(对象间的连接)
图26:11
2)状态机(State machine)
-状态机是这样一种行为,描述了一个对象或一个交互在生命周期内响应时间所经历的状态序列。单个类或一组类之间协作的行为可以用状态机来描述。一个状态机涉及到一些其他元素。包括状态转换(从一个状态到另一个状态的流)事件(发转换的事物)和活动(对一个转换的响应)。
图26:45
分组事物
-分组事物是UML模型的组织部分,最主要的分组事件是包(package)
-包是把元素组织成组的机制
图28:07
*包是UML中唯一的组织机制
*包可以拥有其他元素,这些元素可以是类、接口、构件、节点、协作、用例和图,甚至可以是其他包
*一个包形成了一个命名空间。在一个包中同一个元素的名称必须是唯一的。不同种类的元素可以有相同
的名称
注释事物
*注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。有一种主要的注释事物,称之为注解(note)
*注解(note)是一个依附于一个元素或一组元素之上,对它进行约束或解释的简单符号。
图31:53
UML中的关系
在UML中有4种关系:
*关联Association
*依赖Dependency
*泛化Generalization
*实现Realization
图32:34
*Association(关联):描述了两个或多个类之间的结构性关系。
图36:01
*泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为。
图38:18
*依赖
图41:55
*实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。
图44:24
举例:UML中的关系
图45:44
UML中的图(第2讲)
*UML包括9种图
图50:13
*UML表示机制的层次结构:
1。用例图
2。类图
3。行为图
3.1.状态图
3.2活动图
3.3交互图
3.31序列图
3.32协同图
4。实现图
4.1组件图
4.2部署图
1、用例图
用例图(use case diagrams):用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。
2、静态图
-类图(class diagrams):用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构
-对象图(object diagrams):对象图是类图的一个实例,描述了系统在具体时间上所包含的对象以及各个对象之间的关系。
3、行为图:用来描述系统的动态模型和对象之间的交互关系,包括:
-状态图(statechart diagrams):用来描述类的对象所有可能的状态以及事件发生的状态转移条件。
-活动图(activity diagrams):用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动。
-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
根据引用,在哔哩哔哩上有一个叫老杜的人分享了他的Servlet笔记。他在2020年5月5日开始学习Servlet,并在接下来的几天继续学习和记录笔记。他的学习内容包括Tomcat服务器配置、UML以及一些关于Servlet的知识。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [servlet 笔记](https://download.csdn.net/download/Deeppool/2957499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [servlet笔记](https://blog.csdn.net/weixin_45691546/article/details/114703902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [老杜Servlet笔记.zip](https://download.csdn.net/download/qq_44755403/12506214)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值