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

  直奔主题,采用一种可视化的面向对象的建模语言---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

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

  1. 题外话(简识UML语言)

    PS:“不积小流无以成为江河,不积跬步无以至千里”,学习也好,吃饭也罢,做任何事情都需要一步一个脚印,逐步积累过程,最后才会知识越来越丰富,吃的越饱… 在学习过程中用到了一些框图,用于绘画框图的语言数 ...

  2. UML语言中五大视图和九种图形纵览

    UML语言纵览 视图 UML语言中的视图大致分为如下5种: 1.用例视图.用例视图强调从系统的外部参与者(主要是用户)的角度看到的或需要的系统功能. 2.逻辑视图.逻辑视图从系统的静态结构和动态行为角 ...

  3. 利用UML语言建模--以图书馆管理系统为例

    一.基本信息 标题:利用UML语言建模--以图书馆管理系统为例 时间:2016 出版源:内蒙古科技与经济 领域分类:UML:RFID:图书馆:模型: 二.研究背景 问题定义:建立图书馆管理系统 难点: ...

  4. 简谈Java语言的继承

    Java语言的继承 这里简谈Java语言的三大特性之二——继承. Java语言的三大特性是循序渐进的.是有顺序性的,应该按照封装-->继承-->多态这样的顺序依次学习 继承的定义 百度百科 ...

  5. 简谈Java语言的封装

    简谈Java语言的封装 封装的定义 封装将复杂模块或系统的逻辑实现细节隐藏,让使用者只需要关心这个模块或系统怎么使用,而不用关心这个模块或系统是怎么实现的. 在面向对象的的编程中,我们一般通过接口来描 ...

  6. MySQL数据库简识

    MySQL:关系型数据库      (由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品)         开源 免费 不要钱 ...

  7. 大道至简的C语言内存管理

    C语言内存的开辟和释放需要程序员自己来实现. 而C语言的内存开辟和释放只在stdlib.h里面提供了四个函数,这么简洁的设计就足以完成一切工作. C++里面各种类型的指针漫天飞舞,显得啰嗦冗余. ca ...

  8. (一)golang--初识go语言

    学习来源:https://www.bilibili.com/video/av35928275/?p=1  尚硅谷的(我学spring.springmvc和mybatis就是他们的课) 使用1.9.2的 ...

  9. maven简识

    https://www.cnblogs.com/whgk/p/7112560.html 一:命令行管理maven项目: 创建maven[java]项目: D:\maven\demo>mvn ar ...

随机推荐

  1. Javascript 原型和原型链

    先来了解一下Javascript中的原型:”原型也是一个对象,原型可以用来实现继承...“ 对于 原型,构造函数,以及实例之间的关系:“每个(构造)函数都有一个原型属性,原型对象都包含一个指向构造函数 ...

  2. Windows 10 : 使用BCDboot恢复双系统启动

    电脑装上win10以后,立马把原来系统的启动信息删了.结果有个软件需要反激活,但是Win10已经没有Boot.ini这样的启动配置文件. 花了好多时间查找,发现这篇文章.实际操作倒是很简单.执行以下命 ...

  3. 简析TCP的三次握手与四次挥手

    TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续.它只是一个超级麻烦的协议,而它又是互联网的基础,也 ...

  4. Struts2知识总结

    整篇参考:http://blog.csdn.net/zq9017197/article/details/5958627 要搞清楚以下几点: 1.Struts2是什么?它的运行原理是什么? 2.Stru ...

  5. PHP学习(前言)

    PHP学习(前言) 都说做IT技术的都该写写博客,以前没写过,现在开始写写吧.不是给别人看,就当是自己的学习笔记了. 大三结束了,该找工作了,对web前端感兴趣,想从事前端工作,自然要会一门后台语言了 ...

  6. Angular form

    参考 http://blog.xebia.com/2013/10/15/angularjs-validating-radio-buttons/ http://stackoverflow.com/que ...

  7. ViewPager不能高度自适应?height=wrap_content 无效解决办法

    ViewPager用的很多,主要用啦展示广告条.可是高度却不能自适应内容,总是会占满全屏,即使设置android:height="wrap_content"也是没有用的.. 解决办 ...

  8. Html 小插件6 百度新闻插件

    新闻免费代码"http://news.baidu.com/newscode.html ,便可在输入希望订阅的关键词后,根据相关选项的设置,百度便非常快的在当前页面的文本编辑框内生成相关代码. ...

  9. //Build/ 2014 开发者大会Azure重点整理

     寓教于乐,轻松掌握 Windows Apps和 Cloud //Build/ 2014开发者大会第二天重点整理 (上) //Build/ 2014开发者大会第二天的主题演讲主要包含两部分:Mic ...

  10. Codeforces 711E ZS and The Birthday Paradox(乘法逆元)

    [题目链接] http://codeforces.com/problemset/problem/711/E [题目大意] 假设一年有2^n天,问k个小朋友中有两个小朋友生日相同的概率. 假设该概率约分 ...