浅谈UML

小编刚刚学完软工视频,有点迷迷糊糊的便进入了下一个阶段——UML视频及画图的学习,看了几集视频,似懂非懂,懵懵懂懂,于是小编便借了一本《UML基础与Rose建模案例 》,这本书编写的挺详细的,对于学习UML很有帮助,也推荐给大家借助本书学习UML哦,话不多说了,先来看看小编对UML初相识的认识吧~

首先,先问大家两个问题:

一、什么是模型?简而言之,模型是对现实的简化。

模型提供系统蓝图,包含细节设计,也包含对系统的总体设计。

模型可以是结构的、侧重于系统的组织,也可以是行为的、侧重于系统的动作。

二、那么,为什么要建模呢?建模有什么好处?

建立模型可以帮助开发者更好地了解正在开发的系统。通过建模,要实现以下4个目标:

1.便于开发人员展现系统。

2.允许开发人员指定系统的结构或行为。

3.提供指导开发人员构造系统的模板。

4.记录开发人员的决策。

通过建模,人们可以每次将注意力集中在一点,这使得问题变得容易。这就是Edsger Dijkstra提出的“分而治之”的方法:通过将问题分割成一系列可以解决的、较小问题来解决复杂问题。

建立模型的方法多种多样,两种最常用的方法是: 基于算法方法建模和面向对象建模。

好,既然建模这么重要,那么咱们就来了解一下UML建模的基本内容:

浅谈UML_第1张图片

 

UML是用来描述模型的,通过模型来描述系统的结构和静态特征,以及行为或动态特征。

UML是由视图(View)、图(Diagram)、模型元素(Model Element)和通用机制(General Mechanical)等几个部分组成。

需要注意的是:视图并不是图,它是由一个或多个图组成的对系统某个角度的抽象。是表达系统的某一方面特征的UML建模元素的子集。

  ***UML的特点是:

      (1)UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效地消除了各种建模语言之间不必要的差异,它实际上是一种通用的建模语言。

      (2)UML建模能力比其他面向对象建模方法更强。它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜。

      (3)UML是一种建模语言,而不是一个开发过程。

***UML中的视图大致可以分为如下5种:

浅谈UML_第2张图片

***他们之间的关系:“RUP 4+1”视图 (注意名称可能不同而已)

浅谈UML_第3张图片

 

那么我们就来具体了解一下UML中的这五种视图:

浅谈UML_第4张图片

 

浅谈UML_第5张图片

 浅谈UML_第6张图片

特别说明:系统的鲁棒性

浅谈UML_第7张图片

浅谈UML_第8张图片

 

***视图是由图组成的,UML提供了9种不同的图。

(1)用例图(Use Case Diagram),描述系统功能。
(2)类图(Class Diagram),描述系统的静态结构。
(3)对象图(Object Diagram),描述系统在某个时刻的静态结构。
(4)时序图(Sequence Diagram),按时间顺序描述系统元素间的交互。
(5)协作图(Collaboration Diagram),按照时间和空间顺序描述系统元素间的交互和它们之间的关系。
(6)状态图(State Diagram),描述了系统元素的状态条件和响应。
(7)活动图(Activity Diagram),描述了系统元素的活动。
(8)组件图(Component Diagram),描述了实现系统的元素的组织。
(9)配置图(Deployment Diagram),描述了环境元素的配置,并把实现系统的元素映射到配置上。

  ***UML的作用是:                

    在软件开发各个阶段,使用不同的UML图对系统进行描述:

     采用面向对象技术设计软件系统时,使用用例图来描述用户需求;使用类图、对象图、包图、构件图和部署图这5种静态图来描述系统的静态结构;使用顺序图、合作图、活动图和状态图4种图描述系统动态行为。

     (1)在需求阶段采用用例图来描述需求(角色、功能、外部交互)

     (2)分析阶段为明确解决问题的细节,采用类图来描述静态结构;采用顺序图、合作图、活动图、状态图来描述动态行为

     (3)设计阶段给出解决方案,采用类图、包对类的接口进行设计

     (4) 实现阶段,将用某面向对象语言实现

     (5) 集成与交付阶段,使用构件图、包图、部署图

     (6)测试阶段的应用:

             单元测试使用类图和类的规格说明书

             集成测试使用类图、包、构件图和合作图

            系统测试使用用例图来测试系统功能


最后,让我们了解一下最常用的UML建模工具Rational Rose中的视图:

浅谈UML_第9张图片

用例视图中的模型元素:

浅谈UML_第10张图片

逻辑视图中的模型元素:

浅谈UML_第11张图片

组件视图中的模型元素:

浅谈UML_第12张图片

配置视图中的模型元素:

浅谈UML_第13张图片

        

        这些模型元素的在我们画图时都会用到,记是永远记不住的,所以咱们以用为主,希望给大家总结出来便于大家使用和学习~~~

 

你可能感兴趣的:(#,UML)