星空网 > 软件开发 > ASP.net

UML(Unified Modeling Language)统一建模语言

什么是模型

模型是对现实的简化

模型是提供系统的蓝图,模型可是包括详细计划。也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述。因而每个模型都是在语义上闭合的抽象系统。模型可以是结构性的,强调系统的组织。也可是是行为性的,强调系统的动态方面

举例:售楼中心里面的楼盘蓝图

为什么建模

建模是为了能够更好地理解正在开发的系统

通过建模达到下面的目的
1、模型有助于按照实际情况或按照所需的样式对系统进行可视化
2、模型能够规约系统的结构或行为
3、模型给出了构造系统的模板
4、模型对做出的决策进行文档化
对于一个复杂的系统,如银行、电信系统建模的重要性就越大。如果不能很好的理解一个复杂系统,盲目开发,失败的可能性很大。

什么是UML

统一建模语言(Unified Modeling Language , UML) 是一种绘制软件蓝图的标准语言,可以用UML对软件密集的制品进行可视化、详述、构造和文档化
1、可视化:清晰的模型有利于交流
2、详述:可以使用uml对分析、设计、实现等决策进行详细描述
3、构造:把uml描述映射成编程语言
4、文档化:系统的所有细节都可以是uml进行描述。如:项目计划、发布活动等

应用领域:

1、企业信息系统
2、银行与金融服务
3、电信
4、国防、航天
5、科学
6、基于Web的分布式服务

在这里建模工具我是使用的VS2012自带的。

文件——新建——项目——建模项目

UML(Unified Modeling Language)统一建模语言

一、类图

1.1类

一群对象(object)享有相同的结构、行为、约束和语义时,称它们是同类(class)的对象。换句话说,定义一个类就相当于描述了一群对象。在类中, 使用属性(attribute)表达对象的结构, 使用操作(operation)表达对象的行为。

类是一组具有相同属性、操作、关系和语义的对象描述,一个类可是实现一个或者多个接口。左图是类在.net里面的图形表示

UML(Unified Modeling Language)统一建模语言UML(Unified Modeling Language)统一建模语言

1.1.1 可见性与抽象类

UML预设了四种可见性,分别为公开(public)、私有(private)、保护(protected)、包(package) 减号(-)为私有可见性,加号(+)为公开可见性

在UML中抽象类与普通是同一个是图表示,只是名字会变成斜体。

UML(Unified Modeling Language)统一建模语言

1.2关系

关系是事物之间的联系,在面向对象的建模中,有三种重要的关系是依赖、泛化、关联

1.2.1依赖(Dependency)

依赖是一种使用关系,一个事物使用另一个事物。在图形上,把依赖画成一条有方向的虚线,指向被依赖的事物。如果被使用的类发生变化,那么另一个类的操作必然受影响

依赖这是一种典型的临时关系,代表了类之间的一种短暂的交互。依赖关系在 .net语言中体现为 局部变量、方法的参数或者对静态方法的调用,如工具类,现实生活中人与锤子。

1.2.2 泛化(Generalization)

在泛化关系中,子类继承了父类的行为和含义,子类也可以增加新的行为和含义或覆盖父类中的行为和含义。在图形上,在泛化画成一个带有空心三角行指向父类

UML(Unified Modeling Language)统一建模语言

在.Net里面泛化就是继承关系
UML(Unified Modeling Language)统一建模语言

1.2.3 关联(Association)

关联是一种结构关系,它指明一个对象与另一个对象间的关系。

UML(Unified Modeling Language)统一建模语言

ClassA与ClassB相互关联
相互关联体现的是两个类、或者 类与接口之间语义级别的一种强依赖关系,是一种长期的稳定的关系;表现在代码层面,为被关联类以类属性的形式出现在关联类中,也可能是关联类引用了一个类型为被关联类的全局变量
单向关联
ClassA关联于ClassB

UML(Unified Modeling Language)统一建模语言
单向关联表现在代码层面,为被关联类B以类属性的形式出现在关联类 A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;

1.2.3 .1  聚合关系(Aggregation)

UML(Unified Modeling Language)统一建模语言
聚合是关联关系的一种特例,他体现的是整体与部分拥有的关系。此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如汽车与发动机;表现在代码层面,和关联关系是一致的,只能从语义级别来区分

1.2.3.2组合关系(Composition)

UML(Unified Modeling Language)统一建模语言
组合也是关联关系的一种特例,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;孕妇死了胎儿自然也就死了;表现在代码层面,和关联关系是一致的,只能从语义级别来区分

1.2.3.3 关联关系的多重性

UML(Unified Modeling Language)统一建模语言
不建议使用双向关联. 关联有两个端点, 在每个端点可以有一个基数, 表示这个关联的类可以有几个实例.
常见的基数及含义
0..1:0 或1 个实例.
0..*: 对实例的数目没有限制.
1: 只能有一个实例.
1..*: 至少有一个实例.

1.3接口

接口(interface)如同契约,负责的类必须负责实现它的公开操作,以及负责维护它的公开属性
UML(Unified Modeling Language)统一建模语言
案例:公司-部门-员工 类图关系

UML(Unified Modeling Language)统一建模语言

1.4正向工程、逆向工程

正向工程: uml图生成代码
在图上直接点击右键,选择“”生成代码“就可完成正向工程骤
逆向工程:从代码生成uml图  
   通过体系结构资源管理器找到需要反向工程的类的类型,拖到uml图中。或者是在项目里面找到类的类型拖到项目里面也可以完成反向工程

UML(Unified Modeling Language)统一建模语言
注意:在反向工程的时候,类的绝对路径里面不能出现中文

二、用例图

2.1用例图说明

用例图用来表达系统对外提供的服务或功能,适合用来作为需求搜集阶段的工作。
UML(Unified Modeling Language)统一建模语言

2.2用例与执行者

常用用例(UseCase)来表达系统需求或者系统对外呈现的行为,用例采用椭圆图示,参与者(Actor)是人型图示,由于它会参与系统的运作,因此它跟用例之间有连接线段

UML(Unified Modeling Language)统一建模语言
可以将自动柜员机的行为分成三个不同的用例,分别为取款、存款、加钱。自动柜员机外部一共有两个参与者会参与自动柜员机的行为,一个名为用户,另一个名为银行。顾客会参与前两个用例,应该参与最后一个用例

2.3包含关系(include)

包含(include)关系指的是两个用例之间的关系,其中一个用例(称作基本用例,base use case)的行为包含了另一个用例(称作包含用例,include case)的行为。如图取款的 时候会包含一个用户验证的用例
UML(Unified Modeling Language)统一建模语言

2.4扩展关系

扩展(extend)关系:将基本用例中一段相对独立并且可选的动作,用扩展(Extension)用例加 以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中。如图我们在取完款后,可以打印凭条,也可以不用打印凭条。这个功能就可以使用扩展来表示
UML(Unified Modeling Language)统一建模语言

三、活动图

活动图通常用来表达业务流程、工作流或系统流程中一连串的动作

UML(Unified Modeling Language)统一建模语言
简单的登陆流程,登陆失败,跳转到登陆页面,登陆成功跳转到主界面
每个活动图只能有一个开始节点,但是可以有多个结束节点

3.1动作与控制流

动作(activity)是最重要的组成元素,它代表一个执行步骤

UML(Unified Modeling Language)统一建模语言
带箭头的连接线称为控制流(control flow)。当来源动作结束之后,控制流会启动目标动作。
UML(Unified Modeling Language)统一建模语言

3.2 对象节点与对象流

对象节点(object node)为矩形图示,对象流(object flow)的图示与控制流相同,不过它的其中一个端点必须是对象节点,而另一端必须是其他节点。控制流的两个端点不可以都是对象节点。对象流不同于控制流,对象流可以携带数据或对象。

UML(Unified Modeling Language)统一建模语言

如图在登陆成功后,我们将用户对象传递到下一个节点

如果将对象节点当成活动的参数,用于输入或输出活动,就可以改用活动参数节点(activity parameter node)。参数节点其实也是一种对象节点
3.3决策与合并
活动流程中,流程交汇点,称为合并节点(merge node)。一个合并节点会有多条进入线,但是只有一条离开线,合并节点的图示是大的空心菱形,所有进入合并节点的支流都会经历同一条离开线
UML(Unified Modeling Language)统一建模语言

决策节点(decision node)与合并节点共用图示,两者都是大的空心菱形。不过,决策 节点只有一个进入线,但有多条离开线
UML(Unified Modeling Language)统一建模语言

3.4分叉和连接

分叉表示的是一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发进行的
连接正好与分叉相反,表示两个或多个控制流被一个控制流代替。使用分叉需要使用连接把分叉的流汇聚成一个流
UML(Unified Modeling Language)统一建模语言

3.5发送信号操作与接受事件操作

发送信号操作是一种操作,可以将消息或信号发送给另一个活动。
接受事件操作是一种要在等到消息或信号后才能继续执行的操作。
UML(Unified Modeling Language)统一建模语言

四、序列图(时序图)

序列图用来表达系统内部一群对象的交互情况,它是一种行为图。水平方向是对象维,垂直方向是时间维

UML(Unified Modeling Language)统一建模语言
page与action之间的交互情况,可以用实例图 来表示,在发送list请求的时候我们需要一个返回结果集

4.1生命线

生命线(lifeline)代表一个参与交互的实例,它的图示是顶端连接矩形的虚线,虚线顶部的矩形可以放置生命线的名称。
UML(Unified Modeling Language)统一建模语言

4.2执行发生

对象在接收到消息之后执行一项活动,执行期间称为执行发生(execution occurrence),它的图示是长条矩形。
UML(Unified Modeling Language)统一建模语言

4.3消息

消息(message)的图示是一条带箭头的线段,横跨在两个生命线上,对象之间通过发送消息来交互。
UML(Unified Modeling Language)统一建模语言
序列图中有四种常见的消息
创建消息(createMessage)用来创建对象的消息称为创建消息,它的图示是带箭头的虚线,箭头指向目标对象。
同步调用(synchCall)—这是最常见的消息。它的图示是箭头的实线,由发送消息的来源对象指向负责执行的目标对象。

回复消息(replyMessage)目标对象执行结束时,会发出回复消息给来源对象。它的图示是带箭头的虚线,从负责执行的目标对象反向指回来源对象
异步信号(asynchSignle)同步与异步的差别在于,来源对象是否等待目标执行结束才继续往执行。来源对象如果发送同步消息,会等待,如果发送异步消息,就不等待了。

4.4终止

生命线有生有灭,终止(stop)就是用来表达生命线终止的时刻。终止的图示是一个大叉,放置在生命线的虚线底部,代表生命线已经终止。
UML(Unified Modeling Language)统一建模语言




原标题:UML(Unified Modeling Language)统一建模语言

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

解密广东省国内香港银行开户技巧 :https://www.xlkjsw.com/news/73027.html
宁波办理香港公司银行开户须知 :https://www.kjdsnews.com/a/1837978.html
宁波办理香港公司银行开户须知 :https://www.xlkjsw.com/news/73028.html
香港账户商业证年检:全面解读及注意事项 :https://www.kjdsnews.com/a/1837979.html
香港账户商业证年检:全面解读及注意事项 :https://www.xlkjsw.com/news/73029.html
深度解析:FDI认定为返程投资的影响与实务指导 :https://www.kjdsnews.com/a/1837980.html
温州旧货市场有玻璃柜卖吗?:https://www.vstour.cn/a/411246.html
如何用摄影作品表现“芳草鲜美,落英缤纷”的:https://www.vstour.cn/a/411247.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流