题外话(简识UML语言)

  PS:“不积小流无以成为江河,不积跬步无以至千里”,学习也好,吃饭也罢,做任何事情都需要一步一个脚印,逐步积累过程,最后才会知识越来越丰富,吃的越饱…

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

  直奔主题,采用一种可视化的面向对象的建模语言---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):描述系统中软硬件物理体系结构。显示计算机和设备以及它们之间的连接关系,也可显示软件在硬件环境中的布局。

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

时间: 2024-08-08 22:35:25

题外话(简识UML语言)的相关文章

简识UML语言(转)

在学习过程中用到了一些框图,用于绘画框图的语言数不胜数,本篇将就学习中用的一款绘画框图的语言做个简单的介绍. 直奔主题,采用一种可视化的面向对象的建模语言---UML,UML使用一些标准的圆形元素直观的表示对象模型,使人员就像建筑工人多年使用建筑设计图一样,主要的介绍UML常见的几种框图用法. 用例图(User Case Diagram):从用户角度描述系统功能.采用一种可视化的方式来理解系统功能需求,其及内容:角色--->系统边界,即系统特定功能的用户,人形符号表示.用例--->系统的某个功

题外话:Lua脚本语言存在的意义

纯属个人见解. 大致来说:c/c++执行效率高,游戏中一些性能敏感的复杂计算需要用c/c++来实现,防止游戏卡顿和低帧率.这些复杂计算包括战斗逻辑,复杂AI,骨骼动画蒙皮骨骼点的坐标计算等等.但c++是一种比较复杂的编程语言,开发效率较低.嘛,不过这不是主要问题,对于商业手游项目只用c++开发,是致命的.这一点在后边lua具体说明. lua是脚本语言,执行效率不及c/c++,往往用来实现性能不敏感的游戏逻辑,比如窗口界面等等.另外lua语法简单,开发效率高,没有编程背景的策划花精力后也可以掌握,

题外话:谈谈malloc()和free()

对于串的顺序存储,有些需要补充说明.串值的存储空间可在程序执行过程中动态分配而得.比如在计算机中存在一个自由存储区,叫做“堆”.这个堆可由C语言的动态分配函数malloc()和free()来管理. 那么今天就来点题外话,谈谈malloc()和free()威尼斯人赌场 malloc()和free()的基本概念以及基本用法 1. 函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针.如果分配失败,则返回一个空指针(N

hihocoder 1105 : 题外话·堆

#1105 : 题外话·堆 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho有一个糖果盒子,每过一段时间小Ho都会将新买来的糖果放进去,同时他也会不断的从其中挑选出最大的糖果出来吃掉,但是寻找最大的糖果不是一件非常简单的事情,所以小Ho希望能够用计算机来他帮忙计算这个问题! 输入 每个测试点(输入文件)有且仅有一组测试数据. 在一组测试数据中: 第1行为1个整数N,表示需要处理的事件数目. 接下来的M行,每行描述一个事件,且事件类型由该行的第一个字符表示,如果

我给女朋友讲编程-题外话系列(1)--害怕过七夕,不知道买什么礼物

我女朋友在外地出差,平常能够做的就是打打电话,聊聊天. 下周六就是中国的情人节了. 说实话,也许你们觉得七夕很浪漫,但是我是有一点小恐惧,因为不知道送什么礼物给女朋友好.以前给女朋友送过一些礼物,尽管精心准备,有时难免留有遗憾. 不管怎么说,又是一次情人节,我还是需要精心准备一下,于是花时间来搜索礼物,另外也请朋友们给我出一点建议. 下面是我搜到的一些礼物,想看大图片的朋友可以单击小标题.请大家给点建议. 1, 戒指 曾经在网上买了两对情侣戒指,还刻上了双方名字首字母,满心欢喜送出去,女朋友收到

题外话-国庆期间小县城电商观察

老家在广东,工作在上海的后果就是,每年大概回两次家,国庆和春节. 县城电商观察结果是: 1,物流速度加快,电商巨头布局珠三角地区速度加快,但县城广告仍需推广. 我的家乡属于珠三角三级县城.这次回家首次体验到京东亚马逊23点前下单,次日即达的服务.且在国庆前三天,物流速度没有丝毫降低.京东县城布局已在我家乡完成,可喜可贺. 因为便携的物流,我国庆8天在京东下了四个单,都是选了自营产品,范围涵盖洗涤物品至小家电不等.爸妈及亲戚等均对京东的送货速度极为惊叹,从聊天中了解,他们基本未接触过次日达的电商物

《COM原理与应用》题外话——C++虚函数表和delete this

delete this看起来非常的奇怪,我记得在<C++ Primer>中提到过delete this,但是我已经忘了在哪了,也一直没有找到(因为没有电子版,所以一直没找到~).<C++ Primer>中提到的是在析构函数中使用delete this会造成析构函数的无限调用,最终造成栈溢出.我也在网上看了一些,很多人觉得不该使用delete this,因为会引起一些问题.但是delete this也挺有用处的,就和goto语句一样,不应该被一棍子打死(goto语句其实怪好用的:-D

BadVPN详解之--题外话:我之前自研的一个设计

说实话,这个与BadVPN无关,是我去年年初时想的一个东西,只是觉得与BadVPN类似就单列一篇文章来说,在看到BadVPN之前,我一直都想用这个思路来重构OpenVPN,无奈场面过于宏大,加之工作又再也与VPN无关,就一直搁置了,现在知道了有BadVPN这个东西,我也就再也没有必要去想这个事了,就当是个了结吧.我把我去年自研的基于OpenVPN的重构思路在本文中阐述一下,本文中我把我的这个VPN叫做ZyVPN,其实它是基于OpenVPN改的. 总览 有了前面对BadVPN和OpenVPN的介绍

back-不忘初心,方得始终。讲讲我主场3个月的经历。题外话。

终于过了这段纠结的时光,有人问,为什么要工作?可能有的人会说,为了金钱,为了生存,不得已的去工作.但是我觉得工作的意义不仅在此.如果你不热爱你的工作,你不对你的工作充满热情,你的工作不能带给你成就感.那么你一定没有找到适合你的工作. 3个月了,一直在万达驻场,说实话,很累.尤其对于我一个刚工作仅仅一年的人来说,第一次这样的经历.996可能你会觉得很恐怖,但是,我的是997,好像到现在已经连续上班一个月没休息了.不论是身体,还是工作状态都相对差了好多.也许会有一些老司机懂得一些套路,该偷懒偷懒啊.