Um的全称是 Unified Modeling Language, 统一建模语言,uml可以帮助我们做软件需求和软件设计的工作,

1.1UML的定义

UML是一种通用的可视化建模语言,是一种标准化的用图形方式来建模(建立模型)的语言,是面向对象分析和设计的一种表示。它用于对软件进行描述、可视化处理、构造和建立软件系统的文档。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具。UML能够描述系统的静态结构和动态行为:静态结构定义了系统中重要对象的属性和操作,以及这些对象之间的相互关系;动态行为定义了对象的时间特性和对象为完成目标任务而相互进行通信的机制。UML不是一种程序设计语言,但我们可以用代码生成器将UML模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为UML模型。

它包括两个方面的概念:语义和表示法。

(1)语义 是用自然语言描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。

(2)表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,这决定了UML是一种可视化(图形化)的建模语言。

Uml图大概可以分为两类:结构型的图和行为型的图

UML图

说明

结构型的图

(Structure diagram)

类图(Class Diagram)

必用来分析业务概念

对象图 (Object diagram)

很少使用

组件图(Component Diagram)

用来分析IT基础架构,软件架构等方面的需求

部署图(Deployment Diagram)

包图(Package Diagram)

很少使用

行为型的图

Behavior Diagram

活动图(Activity Diagram)

必会使用至少其中一种图来分析业务流程,大部分情况至少会使用到其中两种图

状态机图(State Machine Diagram)

顺序图(Sequence Diagram)

通信图(Communication Diagram)

用例图(Use Case Diagram)

必会用,表达软件绝大部分析需求

时序图(Timeing Diagram)

UML中的关系类型有

  1. 依赖       
  2. .关联      
  3. .泛化      
  4. .实现      

2.UML建模的步骤

在UML中存在两种建模机制:静态建模机制和动态建模机制。

当我们在实际的应用中使用面向对象的设计和分析方法时,一般遵循的步骤是:

第一步,理解需求;这个步骤一般产生用例图。

第二步,根据需求建立系统的静态模型,构造系统的结构;

这个步骤产生:类图,对象图,组件图和部署图。

第三步,描述系统的行为。这里建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。

这个步骤产生:状态图,活动图,顺序图。

第一和第二步建立的模型都是静态的,我们称之为静态建模,第三步我们称之为活动建模。

=================================================================================================

以后的内容将会与下面一个需求有关来举例:

[某公司考勒系统的需求说明]
某公司是一个软件公司,员工人数100人左右,大部分员工是软件研发人员,包括项目经理,软件设计师,程序员,测试工程师,实施工程师等,除此以外还包括行政人员,财务人员,公司在软件研究及日常管理上有一套管理方法,在没有考勒系统之前,与考勒相关的管理工作如下:
1:每位员工需要上午上班时打一次卡,下午下班香打一次卡,
2:期间如果需要外出工作,从公司出发时需要打一次卡,回到公司时需要再打一次卡。
3:员工请假需要填写请假条,请假条为事假,病假,年假等多种情况,请假需要直接领导审批,甚至还需要高层领导的审批。
4:行政部每天统计考勒信息,包括打卡信息,外出信息,请假信息,每月将考勒汇总信息提交给财务部。
5:账务部根据考勒汇总信息,调整员工的薪金。

除此之外,还要考虑其它意外事件:
1:某员工想请年假,但行政部告知该员工的当年年假己经休完了,年休假的管理出现了问题,很可能会影响员工的工作积极性。
2:某员工投诉当月薪金多扣了钱,原因是考勒信息统计有误,于是财务部将责任推到行政部,行政部推诿账务部要求不明确。
3:某天出现了紧急情况,领导想找员工A处理,但员工A当天请了假,领导并不知情。

所以通过此考勒系统来提高考勒工作的效率和准确性,避免因为考勒问题影响正常工作。

以上需求来自于 【火球UML大战需求分析】,作为学习笔记记录一下。

学习Uml开始的更多相关文章

  1. 3 学习UML图 学习DDD的基本概念

    今天在学习DDD的过程中看到了大神 圣杰的博文 个人觉得非常经典 强烈推荐  在此提供url链接: UML类图10分钟快速入门 关于聚合 的理解 :一类没有紧密相关的东西聚在一起 ,分开了也可以独立存 ...

  2. 学习UML图和时序图,以及IDEA种查看类之间关系

    1.类之间的关系:(6种) 关系 表示 图示 解释 表明的结构和语义 泛化关系 带空心箭头的直线 A继承自B(B指代非抽象类) 继承结构 实现关系 带空心箭头的虚线 小汽车继承车(B指代抽象类) 继承 ...

  3. 轻松学习UML之用例图,时序图

    本文主要讲解UML图中的用例图(Use Case Diagram)和时序图(Sequence Diagram)相关内容,如有不足之处,还请指正. 概述 统一建模语言(UML,UnifiedModeli ...

  4. 轻松学习UML之类图,状态图

    本文主要讲解UML图中的类图与状态图相关内容,如有不足之处,还请指正. 概述 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言,UML因其简单.统一 ...

  5. 设计模式学习---UML常见关系的实现

    一.UML基本构造 UML的基本构造含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图, ...

  6. 学习UML类图

    在类图中一共包含以下几种模型元素,分别是:类(class).接口(interface)以及类之间的关系. 1.类(class) 在面向对象编程中,类是对现象世界中一组具有相同特征的物体的抽象. 2.接 ...

  7. 学习UML --用例图

    用例图用于描述系统提供的系列功能.使用用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求.用例图对系统的实现不做任何说明,仅仅是系统功能的描述. 用例图主要在需求分析阶段使用,用于描述 ...

  8. 设计模式学习起点 UML类图笔记

    UML类图笔记 大学开设的软件设计课程一般都会学习UML类图,大部分关于设计模式的描述都是使用的UML类图,可以说类图的表示是学习设计模式的起点.UML定义类之间的关系主要有六种:泛化关系.实现关系. ...

  9. UML学习入门就这一篇文章

    1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...

随机推荐

  1. javascrit2.0完全参考手册(第二版) 第2章第2节 语言特性

    脚本执行顺序     js代码是按照它们在html中出现的顺序一行一行被解释的.这表明把函数定义和变量声明放到<head>中会很好.这保证了函数的代码和事件相关的处理程序不会立即执行. 大 ...

  2. hdu1241 dfs

    链接改天再补 杭电又崩了... 题意:求“@”组成了多少个联通区域,每个点的8个方向都认为是相连的 思路:对每一个点进行搜索 当Map == @ && vis == 0 时 可进入搜索 ...

  3. 使用 GCC 调试程序

    系统 Ubuntu 调试示例: #include <stdio.h> int func(int n) { ,i; ;i<n;i++) { sum+=i; } return sum; ...

  4. vim 基础命令

    第一部份:一般指令模式可用的按鈕說明,游標移動.複製貼上.搜尋取代等 移動游標的方法 h 或 向左方向鍵(←)                           游標向左移動一個字元 j 或 向下方 ...

  5. 已知一个日期和天数, 求多少天后的日期(是那个超时代码的AC版)

    #include <stdio.h> #include <string.h> ; int judge_year(int x) { == || x % == && ...

  6. 学Python后到底能干什么?

    Python是一种什么语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Jav ...

  7. BizTalk开发系列(十六) XML命名空间

    BizTalk开发过程中如果有对XML进行开发操作,比如在自定义代码里操作XML消息或者在Mapping的时候使用Xpath对XML进行操 作.则有机会遇到XML命名空间的问题.常见的是使用Xpath ...

  8. VS 调试

    Vs 单步调试 在vs中的单步调试: 调试重要的几个键: F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点. F5调试状态运行程序,程序执行到有断点的地方会停下来. F10单步执行程序. ...

  9. 常用SQLPLUS工具命令

    有两个   EMPNO ENAME          SAL的列标题 满   14行   为一个标题行 列行重叠了 虽然上述是修改了 linesize 的值,但是仍然没有改变 登录框的宽度,下面是修改 ...

  10. js中的回调函数的理解和使用方法

    js中的回调函数的理解和使用方法 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为 ...