小编刚刚学完软工视频,有点迷迷糊糊的便进入了下一个阶段——UML视频及画图的学习,看了几集视频,似懂非懂,懵懵懂懂,于是小编便借了一本《UML基础与Rose建模案例 》,这本书编写的挺详细的,对于学习UML很有帮助,也推荐给大家借助本书学习UML哦,话不多说了,先来看看小编对UML初相识的认识吧~
首先,先问大家两个问题:
一、什么是模型?简而言之,模型是对现实的简化。
模型提供系统蓝图,包含细节设计,也包含对系统的总体设计。
模型可以是结构的、侧重于系统的组织,也可以是行为的、侧重于系统的动作。
二、那么,为什么要建模呢?建模有什么好处?
建立模型可以帮助开发者更好地了解正在开发的系统。通过建模,要实现以下4个目标:
1.便于开发人员展现系统。
2.允许开发人员指定系统的结构或行为。
3.提供指导开发人员构造系统的模板。
4.记录开发人员的决策。
通过建模,人们可以每次将注意力集中在一点,这使得问题变得容易。这就是Edsger Dijkstra提出的“分而治之”的方法:通过将问题分割成一系列可以解决的、较小问题来解决复杂问题。
建立模型的方法多种多样,两种最常用的方法是: 基于算法方法建模和面向对象建模。
好,既然建模这么重要,那么咱们就来了解一下UML建模的基本内容:
UML是用来描述模型的,通过模型来描述系统的结构和静态特征,以及行为或动态特征。
UML是由视图(View)、图(Diagram)、模型元素(Model Element)和通用机制(General Mechanical)等几个部分组成。
需要注意的是:视图并不是图,它是由一个或多个图组成的对系统某个角度的抽象。是表达系统的某一方面特征的UML建模元素的子集。
***UML的特点是:
(1)UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效地消除了各种建模语言之间不必要的差异,它实际上是一种通用的建模语言。
(2)UML建模能力比其他面向对象建模方法更强。它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜。
(3)UML是一种建模语言,而不是一个开发过程。
***UML中的视图大致可以分为如下5种:
***他们之间的关系:“RUP 4+1”视图 (注意名称可能不同而已)
那么我们就来具体了解一下UML中的这五种视图:
特别说明:系统的鲁棒性
***视图是由图组成的,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中的视图:
用例视图中的模型元素:
逻辑视图中的模型元素:
组件视图中的模型元素:
配置视图中的模型元素:
这些模型元素的在我们画图时都会用到,记是永远记不住的,所以咱们以用为主,希望给大家总结出来便于大家使用和学习~~~