简识UML语言(转)

  在学习过程中用到了一些框图,用于绘画框图的语言数不胜数,本篇将就学习中用的一款绘画框图的语言做个简单的介绍。

  直奔主题,采用一种可视化的面向对象的建模语言---UML,UML使用一些标准的圆形元素直观的表示对象模型,使人员就像建筑工人多年使用建筑设计图一样,主要的介绍UML常见的几种框图用法。

  用例图(User Case Diagram):从用户角度描述系统功能.采用一种可视化的方式来理解系统功能需求,其及内容:角色--->系统边界,即系统特定功能的用户,人形符号表示。用例--->系统的某个功能,椭圆符号表示。角色和用例关系--->使用关系,实线的箭头符号表示。用例间关系--->可能存在关系包含或是扩展,包含关系指一个用例包含另一个用例功能,而扩展关系指一个用例继承了另一个用例功能。

 

  类框图(Class Diagram):描述对象模型中类与类之间的关系。其及内容:类--->类框图中的主要元素,矩形表示。上层表示类名,中层表示属性,下层则是行为也就说所谓的方法。抽象类的类名用斜体字表示,方法也类同。类之间关系--->包括关联、依赖、聚集、泛化和实现这5种关系。

 

  Panel类:画出用户指定的形状。

  ShapeFactory类:根据指定形状创建相应的Shape对象。

  Shape类:绘制形状,其是一个抽象类。

  Circle类:绘制一个圆形。

  Line类:画一条直线。

  Rectangle类:画一个长方形。

  它们之间的关系:Panel和ShapeFactory类依赖关系,前者会调用后者的getShape方法;Panel类和Shape类之间也是依赖关系,前者会调用后者的draw方法;ShapeFactory类和Shape类也是依赖关系,ShapeFactory类会构建Shape对象;具体的几个形状类和Shape类之间是泛化关系,Shape类是它们几个类的父类。

  时序图(Sequence Diagram):描述对象间的交互,显示对象之间的动态协作关系,消息发送的时间顺序并显示交互。其有两个维度:水平维度--->显示对象之间发送消息的过程;垂直维度--->显示发送消息顺序。

 

  1.用户选择特定的形状类型。

  2.画板从形状工厂中获取形状对象。

  3.形状工厂创建一个形状对象。

  4.画板调用形状对象绘画方法绘制形状。

  协作图(Cooperation Diagram):描述对象间的交互,能直观显示对象间协作关系,与时序图合称为交互图。

 

  状态转换图(State Transition Diagram):描述对象所有可能的状态以及导致状态转换的转换条件。其包括一下基本元素:

  初始点--->用实心圆表示;

  状态间的转换--->箭头表示;

  状态--->圆角矩形表示;

  终止点--->内部包含实心圆的圆表示。

 

  组件图(Component Diagram):描述系统中各个软件组件之间的依赖关系或是组件源代码的组织机构。

 

  部署图(Deployment Diagram):描述系统中软硬件物理体系结构。显示计算机和设备以及它们之间的连接关系,也可显示软件在硬件环境中的布局。

 

  开始看的时候也许有很多的专有名词不知是其何意,看书不只是看书,有时候需要懂得暂时的放弃,只需要记住以及怎么用,当你回首时在琢磨琢磨也许就顿然大悟…

 

http://www.cnblogs.com/JustOnly/p/4021136.html

时间: 2024-07-30 12:29:32

简识UML语言(转)的相关文章

UML面向对象分析与建模-【2】UML语言基础

  一.UML的主要内容 UML主要文件包括UML概要.UML语义.UML表示法指南和对象约束语言规约. 二.UML的主要特点 UML主要特点包括统一标准.面向对象.可视化及表示能力强大.独立于过程和容易使用掌握.UML不是一个独立的软件工程方法,而是面向对象软件工程方法中的一个部分.UML贯穿软件系统开发的需求分析.系统分析.系统设计.系统实现和测试五个阶段. 三.UML建模中9种图的特点 1.       用例图 用例图描述系统外部的活动者(角色)与系统提供的用例之间的某种联系.它着重从系统

C++虚函数及虚函数表简析_C 语言

C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数.这种技术可以让父类的指针有"多种形态",这是一种泛型技术.所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法.比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议. 关于虚函数的使用方法,我在这里不做过多的阐述.大家可以看看相关的C++的书籍.在这篇文章中,我只想从虚函数的实现机制上面为大家 一个

基于UML柔性开发模型之Java设计

一. 面向对象技术与UML语言 与传统的结构化软件开发技术不同,面向对象技术提出了对象的封装.继承.多态性.对象的覆盖等方法,而传统的程序表示方法(如:框图.NS图等),无法对面向对象这些新的特性加以描述表达.因此,面向对象技术的表达.面向对象技术的方法论也是面形对象技术必不可少的研究内容之一. 面向对象方法论从1986年Booch率先提出后,至今已有50种以上的方法论出现,常见的有Rumbaugh的对象模型技术OMT.Booch以及Yourdon的面向对象分析与设计(OOA/OOD).Jaco

百度新首页上线 引领极简与智能化搜索潮流

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 百度极简首页 新浪科技讯 7月31日凌晨消息 今天早上百度上线极简首页,令网友耳目一新.此前的百度首页自2007年开始使用,7年来为亿万网友熟悉.今天百度首页"变脸",从新首页可以看出,百度正在实践极简风格与智能化搜索之路. 作为百度面向用户的核心入口,百度此次首页改版万众瞩目.从整体结构看,页面中央仅保留了百度logo与

通过这九本开源好书学习 C 语言

书是非常私人的东西,编程类书籍也不例外.我们都是通过阅读书籍来帮助掌握某种语言的基本知识.随后又通过阅读书籍来全面探索这门语言的灵活性.我仔细考察了一些我最喜爱的 C 语言书籍,并从其中选出了对我意义最大的九本. C 语言是一种通用的.面向过程的高级编程语言.也是最具流行度和影响力的编程语言之一.该语言在设计时就被设计为可以通过编译器进行编译,以此来对内存进行底层操作.高效地执行机器指令以及在运行时仅需要最小的支持.很多很多编程语言都得益于 C 语言, C 语言就像是编程界的通用语言一样. C

开发漫谈:Go语言究竟能否超越Java?

根据近年来TIOBE最受欢迎语言排行榜,我们很容易会发现一个现象:Java语言长盛不衰,多次连续获得最受欢迎语言排行榜第一名,对于很多程序员而言,这似乎已经成为一个习惯,Java也顺理成章的成为很多编程人员学习的首选.但是,如今看来,这种定式或将会发生变化. 为什么这么说呢?从2016年10月的最受欢迎语言排行榜来看,尽管Java仍然位居第一名,但是Go语言以1.67%的速度成为TOP20中增长速度最快的语言,相比而言,Java和C语言则是分别下降了0.74%和6.35%.按照这个发展速度,Go

百度上线极简首页

"百度首页变了!"今天早上百度上线极简首页,令亿万网友耳目一新.此前的百度首页自2007年开始使用,7年来为亿万网友熟悉.今天百度首页"变脸",从新首页可以看出,百度正在实践极简风格与智能化搜索之路. 作为百度面向用户的核心入口,百度此次首页改版万众瞩目.从整体结构看,页面中央仅保留了百度logo与搜索框,网友可以通过首页右上角访问新闻.hao123.地图.视频.贴吧和知道.音乐.百度等垂直搜索产品.从视觉风格看,调整过比例的搜索框以及定制的"百度蓝&qu

[体感游戏]关于体感游戏的一些思考(七) --- “我是泰山,你是简?”

"Johnny-Cab" / Total Recall(1990) 人猿泰山(1932) 来自IMDb: 在这个电影的任何时候"我是泰山,你是简"都没有被说出来.当简和泰山相遇的时候,是简发起了语言交流.她不断地指着自己告诉泰山她的名字,一直到泰山开始重复它.然后她指向泰山,指出自己想知道是不是有什么词可以表示他是谁,就像"简"这个词用来表示她自己一样,直到最后,泰山理解了,并说,"泰山" 看起来人类的沟通结合了文字和手势 -

90分钟实现一门编程语言(极简解释器教程)_C#教程

本文介绍了如何使用 C# 实现一个简化 Scheme--iScheme 及其解释器. 如果你对下面的内容感兴趣: 实现基本的词法分析,语法分析并生成抽象语法树. 实现嵌套作用域和函数调用. 解释器的基本原理. 以及一些 C# 编程技巧. 那么请继续阅读. 如果你对以下内容感兴趣: 高级的词法/语法分析技术. 类型推导/分析. 目标代码优化. 本文则过于初级,你可以跳过本文,但欢迎指出本文的错误 :-) 代码样例 public static int Add(int a, int b) { retu