学习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中的关系类型有

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

2.UML建模的步骤

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

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

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

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

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

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

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

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

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

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

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

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

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

以上需求来自于 【火球UML大战需求分析】这本书中。

时间: 2024-10-25 09:21:56

学习Uml开始的相关文章

UML 学习——UML概述(一)

1.什么是UML? 面对日益复杂的软件需求的挑战,面向过程的开发已经不能再满足,面向对象的开发模式应运而生,随即出现了如 java ,c++等面向对象编程的语言.对于软件的开发也有了新的思维--面向对象建模.在此理论以及实践的基础上,UML诞生了,其作用就是将使用面向对象模型开发软件的思维方法,以及过程以图像的形式展示出来,让软件开发团队更直观的了解软件项目,提高开发效率. 2.什么是UML建模? 对于UML的建模从以下两个个方面了解 2.1 面向对象方法 面向对象的三大特征:继承,封装,多态.

学习UML实现、泛化、依赖、关联、聚合、组合

类之间的关系种类:Realization(实现), Generalization(泛化),Dependency(依赖).Association(关联).Aggregation(聚合).Composition(合成或组合). 其中,Aggregation(聚合).Composition(合成)属于Association(关联),是特殊的Association关联关系. 实现(Realization): 指的是一个类实现接口(可以是多个)的功能:实现是类与接口之间最常见的关系:C 中没有直接的接口而

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

一.UML基本构造 UML的基本构造含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图,组件图,部署图,状态图,活动图,序列图,协作图 事物是对模型中最具代表性的成分的抽象:关系把事物结合在一起:图聚集了相关的事物. 二.UML中关系 UML 中关系描述的是:类与类, 类与接口, 接口与接口之间的关系.UML中的关系主要包括: 泛化(generalization) 

轻松学习UML之类图

本文主要讲解UML图中的类图相关内容,如有不足之处,还请指正. 概述 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言,UML因其简单.统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准.类图(Class Diagram)显示了一组类.接口.协作以及他们之间的关系,描述的是一种静态关系.在快速应用程序开发(RAD,Rap Application Development)中,逻辑视图是软件设计阶段的产物. 工具

软考笔记第十六天之UML深入学习

UML标准定义:统一建模语言(Unified Modeling Language)是描述.构造和文档化系统制品的可视化语言. UML是一个庞大的图形化表示法体系. 应用UML的三种方式: 草图,蓝图,编程语言 学习UML的要素: 表示法-图形 过程-(UML与过程无关,但最好用于RUP) 工具-(比如:Rantinal Rose) UP: 软件开发过程(software development process)描述了构造.部署以及维护软件的方式.统一过程(The Unified Developm

Thinking in UML 学习笔记(一)——建立对象模型

一.面向对象的本质 面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们能够抽象出我们能够处理的范围来提成抽象级别,这样就能够构建更大.更复杂的系统. 现实世界和对象世界之间存在着一道沟壑,这道沟壑的名字叫抽象,抽象是面向对象的精髓所在.同一时候也是面向对象的困难所在.要跨越这道沟壑,我们须要解决下面问题: 1.一种把现实世界映射到对象世界的方法. 2.一种从对象世界描写叙述现实世界的方法. 3.一种验证对象世界行为是否正确反映了现实世界的方法. UML正是解决这一问题的分析设计方法.

浅谈UML学习笔记之用例图

最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下. 一.概念 用例图是由参与者.用例以及它们之间的关系构成的用于描述系统功能的动态视图. 用例是系统中的一个功能单元,描述一个系统做什么(what)的信息,并不是怎么(how)做.用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例. 二.组成 用例图组成的概念,我们通过一张图学习: 我们重点讲解用例组成中用例之间

系统分析与设计学习笔记(一)

为什么要学习这门课程? "拥有一把锤子未必能成为建筑师". 这门课程学习的是面向对象分析和设计的核心技能的重要工具.对于使用面向对象技术和语言来,创建设计良好.健壮且可维护的软件来说,这门课程所授予的技能是基本要求.对于创建对象     系统来说,了解面向对象语言例如JAVA或者C++是必要的,但不是首先要做的.了解"对象思想"才是关键所在. 学习的内容:UML与对象思想 UML只是图形表示法,并不能代表OOA/D,也不是方法. 学习"对象思想"

UML大战需求分析——阅读笔记03

读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图主要用于建立对象类或对象的动态行为模型,描述系统中某一个对象所经历的各个状态.引起状态或活动转移的事件,以及因状态或活动转移而伴随的动作.但在以前的学习过程中,我们并没有学到过"伪状态",后经查阅知:伪状态是指在一个状态机中具有状态的形式,同时具有特殊行为的顶点.它是一个瞬时状态,用于构造