UML笔记

1.1

UML的分类:

·结构型的图:

类图(Class Diagram)

对象图(Object Diagram)

构件图(Component Diagram)

部署图(Deployment Diagram)

包图(Package Diagram)

·行为型的图

活动图(Activity Diagram)

状态机图(State Machine Diagram)

顺序图(Sequence Diagram)

通信图(Communication Diagram)

用例图(Use Case Diagram)

时序图(Timing Diagram)

        结构型的图描述的是某种结构,这种结构在某段时间内应该是稳定的,“静态”的;而行为型的图描述的是某种行为,是“动态”的。

        分析系统需求时,我们会面对很多业务概念,它们之间会有某些关系,这些内容可以看成是“静态”的,我们可以利用UML的结构型的图来设计。同时,我们也需要考虑软件如何和用户交互,类、构件、模块之间如何联系等“动态”内容,我们可以利用行为型的图来设计。

        在我们软件设计时,我们需要考虑需要哪些类,哪些构件,系统最后怎样部署等,这些内容可以看成是“静态”的,我们可以利用UML的图来设计。同时,我们也需要考虑软件如何和用户交互,类、构件、模块之间如何联系等“动态”内容,我们可以利用行为型的图来设计。

        当然,所谓的“静态”和“动态”不是绝对的。

1.2 结构型的UML

类图


某模具系统类图

图中一个一个的矩形就是类,这些类之间有各种线条连接,这些链条表示类之间的关系。类图是分析业务概念的首选,类图可能是使用率最高的UML图。


person类图

该Person类有以下属性(Attribute):Name(姓名),Sex(性别),Depatrment(部门)等,有以下操作(Operation):Work(工作)等。类有属性和操作,但用类图分析业务模型时,往往不需要使用操作。

对象图


Person类的对象图

        对象图和类图的样子很相似,对象是类的实例化,“person:Person”表示对象person是类Person的实例。对象图往往只在需要描述复杂算法时才会使用,画出来的对象图往往不会只有一个对象,该图只画了一个对象,其目的是尽量简化以便使读者的理解什么是对象图。

构件图

一辆汽车由轮子、发动机等物理部件组成,一个软件往往也是由很多“物理部件”组成的,构件图就是用来描述软件内部物理组成的一种图。


某权限构件设计图

上图中矩形表示一个构件,构件可以再包含构件。

软件需求分析工作中,需要用到构件图的情况不是很多,以下情况除外:

1.待开发的系统需要与第三方的系统、原有系统、某些老系统等交互,这时可用构件图描述交互要求。

2.客户对软件设计有某些特殊要求,这时可用构件图来描述要求。

构件图有时不会单独使用,还会和部署图一起结合使用。

部署图

部署图是用来描述系统如何部署、本系统与其他系统是怎样的关系的一种图,如下图:


某24小时便利店的管理系统部署图

        图中一个一个立体的矩形是部署的“节点”,一个节点表示一个物理设备,节点之间的线条表示节点间的物理连接关系。

        大部分客户都会具备一定的IT基础环境(如具备局域网、一些服务器、某些软件平台等),软件系统需要基于当前的IT基础环境来规划,这时我们可以使用部署图来做这个规划。

        分析系统的需求,不能忽略系统架构、部署、IT架构等方面的要求,我们要基于客户当前的IT基础环境,做一个最符合客户利益的规划。

包图

包图的主要用途是“打包”类图。用类图描述业务概念时,很多时候会因为业务类太多,而导致类图非常庞大,不利于阅读,这时可以将某些类放入“包”中,通过包图来组织业务概念图。

下图是包图的一个示例:


包图

图中好像文件夹样子的就是一个“包”,包之间的线条表示包之间的关系。

你可能感兴趣的:(UML笔记)