学习Uml开始
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中的关系类型有
- 依赖
- .关联
- .泛化
- .实现
2.UML建模的步骤
在UML中存在两种建模机制:静态建模机制和动态建模机制。
当我们在实际的应用中使用面向对象的设计和分析方法时,一般遵循的步骤是:
第一步,理解需求;这个步骤一般产生用例图。
第二步,根据需求建立系统的静态模型,构造系统的结构;
这个步骤产生:类图,对象图,组件图和部署图。
第三步,描述系统的行为。这里建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。
这个步骤产生:状态图,活动图,顺序图。
第一和第二步建立的模型都是静态的,我们称之为静态建模,第三步我们称之为活动建模。
=================================================================================================
以后的内容将会与下面一个需求有关来举例:
[某公司考勒系统的需求说明]
某公司是一个软件公司,员工人数100人左右,大部分员工是软件研发人员,包括项目经理,软件设计师,程序员,测试工程师,实施工程师等,除此以外还包括行政人员,财务人员,公司在软件研究及日常管理上有一套管理方法,在没有考勒系统之前,与考勒相关的管理工作如下:
1:每位员工需要上午上班时打一次卡,下午下班香打一次卡,
2:期间如果需要外出工作,从公司出发时需要打一次卡,回到公司时需要再打一次卡。
3:员工请假需要填写请假条,请假条为事假,病假,年假等多种情况,请假需要直接领导审批,甚至还需要高层领导的审批。
4:行政部每天统计考勒信息,包括打卡信息,外出信息,请假信息,每月将考勒汇总信息提交给财务部。
5:账务部根据考勒汇总信息,调整员工的薪金。
除此之外,还要考虑其它意外事件:
1:某员工想请年假,但行政部告知该员工的当年年假己经休完了,年休假的管理出现了问题,很可能会影响员工的工作积极性。
2:某员工投诉当月薪金多扣了钱,原因是考勒信息统计有误,于是财务部将责任推到行政部,行政部推诿账务部要求不明确。
3:某天出现了紧急情况,领导想找员工A处理,但员工A当天请了假,领导并不知情。
所以通过此考勒系统来提高考勒工作的效率和准确性,避免因为考勒问题影响正常工作。
以上需求来自于 【火球UML大战需求分析】,作为学习笔记记录一下。
学习Uml开始的更多相关文章
- 3 学习UML图 学习DDD的基本概念
今天在学习DDD的过程中看到了大神 圣杰的博文 个人觉得非常经典 强烈推荐 在此提供url链接: UML类图10分钟快速入门 关于聚合 的理解 :一类没有紧密相关的东西聚在一起 ,分开了也可以独立存 ...
- 学习UML图和时序图,以及IDEA种查看类之间关系
1.类之间的关系:(6种) 关系 表示 图示 解释 表明的结构和语义 泛化关系 带空心箭头的直线 A继承自B(B指代非抽象类) 继承结构 实现关系 带空心箭头的虚线 小汽车继承车(B指代抽象类) 继承 ...
- 轻松学习UML之用例图,时序图
本文主要讲解UML图中的用例图(Use Case Diagram)和时序图(Sequence Diagram)相关内容,如有不足之处,还请指正. 概述 统一建模语言(UML,UnifiedModeli ...
- 轻松学习UML之类图,状态图
本文主要讲解UML图中的类图与状态图相关内容,如有不足之处,还请指正. 概述 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言,UML因其简单.统一 ...
- 设计模式学习---UML常见关系的实现
一.UML基本构造 UML的基本构造含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图, ...
- 学习UML类图
在类图中一共包含以下几种模型元素,分别是:类(class).接口(interface)以及类之间的关系. 1.类(class) 在面向对象编程中,类是对现象世界中一组具有相同特征的物体的抽象. 2.接 ...
- 学习UML --用例图
用例图用于描述系统提供的系列功能.使用用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求.用例图对系统的实现不做任何说明,仅仅是系统功能的描述. 用例图主要在需求分析阶段使用,用于描述 ...
- 设计模式学习起点 UML类图笔记
UML类图笔记 大学开设的软件设计课程一般都会学习UML类图,大部分关于设计模式的描述都是使用的UML类图,可以说类图的表示是学习设计模式的起点.UML定义类之间的关系主要有六种:泛化关系.实现关系. ...
- UML学习入门就这一篇文章
1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...
随机推荐
- JS 弹出模态窗口解决方案
最近在项目中使用弹出模态窗口,功能要求: (1)模态窗口选择项目 (2)支持选择返回事件处理 在IE中有showModalDialog 方法,可以很好的解决该问题,但是在Chrome中和FF中就有问题 ...
- Net-SNMP是线程安全的吗
原文地址 : http://www.net-snmp.org/wiki/index.php/FAQ:General_19 Net-SNMP是线程安全的吗? 确切的说,不是.不过呢,在多线程管理的应用进 ...
- jQuery $(document).ready()和window.onload
jQuery $(document).ready()和window.onload 根据ready()方法的API说明http://api.jquery.com/ready/. 这个方法接收一个func ...
- Qt 控件随窗口缩放
在Qt的界面设计中,我们有时候希望窗口在最大化的时候,上面的控件也跟着缩放,那么我们就需要调整控件的SizePolicy属性,关于这个属性的讲解请参见我之前的博客Qt SizePolicy 属性,由于 ...
- List集合对象根据字段排序
//把需要比较的对象实现Comparable接口实现compareTo方法 public class Address implements Comparable<Address> { St ...
- SQL server 链接查询
一.链接查询 1.join on 左右链接 2.左右查询 left right 3.union 上下链接
- 使用redis的五个注意事项
http://blog.nosqlfan.com/html/3705.html 下面内容来源于Quora上的一个提问,问题是使用Redis需要避免的五个问题.而回答中超出了五个问题的范畴,描述了五个使 ...
- 演示一个导致ora-01555错误的场景
1创建一个undo表空间 2查看当前undo配置 3更该默认undo表空间 4确认更改的配置 5创建一张测试表 6模拟批量操作 7 查询2分钟前的数据 从这里可以到当查询2分钟前的数据时候,系统报出O ...
- html background 背景颜色美化 类似毛玻璃
制作高大上背景颜色 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- SpringBoot实例
7player 7号球员 -- Show Time !跳至内容 首发 左边锋 技术流 外援 教练 7号 基于SpringBoot + Mybatis实现SpringMVC Web项目[原创] 目录 [ ...