因为工作需要,这两天在尝试着给手里壹些模块画时序图(Sequence Diagrams),壹般画这种图的时候,我们第壹反应会想到安装 IBM 的 Rational Rose,但是我不想为了画这种图就去安装壹個那麽庞大的企业级应用软件,不说使用的时候需要价格极其高昂的 License,就算使用盗版,也需要自己去网上到处找安装包,而公司的 WiFi 网络实在是太牵强,看看新闻查查 Google 还凑合,如果去用来下载几百兆的软件,那就等着吧,不过我手头的事情还得做,于是就想看看网上有没有在线画这种时序图的工具,搜了下,结果还真有,那就是 Web Sequence Diagrams 。
Web Sequence Diagrams 就是专门为画时序图而准备的,它的特点就是使用简单的编码来控制时序图的各個细节,非常轻便,非常简单,很容易上手。进入首页之后,默认的是壹個横向分成两栏的页面,左侧是文本编辑器,右侧是生成的时序预览图,左侧有壹竖栏是各种时序图组件,点击之后可以在编辑器里自动为你生成样例代码,修改修改就可以用了,并且右上角还有壹個下拉列表可以选择生成的时序图的样式,默认为 napkin,使用这种风格生成的时序图,其线条会不规则的扭来扭去,实际上就是手绘的草图,除此之外,还有:
1、Plain UML:白底黑字的标准时序图(推荐);
2、Rose:IBM Rational Rose 风格的时序图,橘黄色偏红的颜色(推荐);
3、qsd:文档报告中经常会用到的黑白时序图,各种组件四四方方的;
4、VS2010:微软 Visual Studio 风格的标准时序图,淡蓝色(推荐);
5、mscgen:把各個组件上的方框去掉了,只留下了文字的简化版时序图;
6、patent:线条加粗加黑的时序图(推荐);
7、napkin:线条不规则的扭来扭去,实际上就是生成了壹個手绘的时序图;
此处还有其它几种风格,我没有尝试,写的是Colorful,估计生成的时序图颜色会比较绚丽。其中我比较喜欢的几种网络就是 Plain UML,Rose 和 VS2010 这三种风格,因为生成的图片是最符合规范的。按照页面提供的编码方式,我也尝试着为手里的壹個功能模块画了個简单的时序图,其代码也非常有特点,使用正号(+)、负号(-)和左箭头(->)来表示每個流程的执行顺序。具体如下:
title XXX业务的时序图
View->+IService: 发送请求
IService->+ServiceImpl: 服务层处理
ServiceImpl->+Logic:逻辑层处理
Logic->+Dao:持久层处理
Dao->+xxx-sqlMap.xml: 调用指定的SQL语句1
note right of xxx-sqlMap.xml: 与数据库交互1
xxx-sqlMap.xml->-Dao:与数据库交互完毕返回1
Dao->+xxx-sqlMap.xml: 调用指定的SQL语句2
note right of xxx-sqlMap.xml: 与数据库交互2
xxx-sqlMap.xml->-Dao:与数据库交互完毕返回2
Dao->-Logic:持久层交互完毕返回
Logic->-ServiceImpl: 逻辑层交互完毕返回
ServiceImpl->IService: 服务层交互完毕返回
IService->-View: 请求处理完毕,返回页面
因为我個人比较偏爱 IBM Rational Rose 风格,所以也单独生成了该风格的图片。
对了,点击右上角的超链接[Link to this image]可以把生成的图片下载下来,页面会先弹出壹個提示框,询问是否成为付费用户,不用理会,直接点击提示框中的超链接[Open in new tab]就可以在新的选项卡中看到生成好的时序图了。
这個服务对于我这种偶尔需要画画时序图的人而言,真是太方便了,完全不用安装盗版的 IBM Rational Rose,而且还完美的实现了我想要的功能。当然,如果你觉得这個服务对你很有意义,并且愿意长期使用的话,那麽付费支付下也是非常推荐的,因为付费帐户会有更多的功能特性可以使用。另外,强烈建议在 Google Chrome 浏览器下使用该服务,页面刷新时会相比 Firefox 流畅,至于微软的 IE 浏览器,只能呵呵了。
详细图解与命令记录我用dbimport还原 与dbexport 备份informix数据库,已经成功运行。
配置思路本实验中,s5130交换机上联为DMZ_S5120和NW_S5500交换机NW侧的二层聚合接口为BAG13 要使去往NW的VLAN10与VLAN20的数据流量均能通过二层聚合接口13,须配置二层聚合接口的链路类型为Trunk端口,并允许VLAN10和VLAN20的报文通过。DMZ侧的二层聚合接口为BAG26 要使去往DMZ的VLAN110与VLAN120的数据流量均...
说明这个教程是使用极路由3路由器自带的锐捷认证,简单配置就能使用,但是会遇到偶尔断线,每天必须手动重连的问题,因此在这个教程完成有网络后,建议参考文章最底下的重要说明,有计算机一定动手能力可继续刷稳定固件使用。破解路由器购买先贴个gee3破解路由器闲鱼购买淘口令(亲测非推广):3复制本段内容€GNDQcis6Iga€到闲鱼或手机淘宝或掂击炼接 https://m.tb.cn/h.4s31Xxb 至浏.览览.器【快来捡漏【校园路由器 锐捷认证 极路由3 千兆5g双频1200m穿墙】】40块+邮
从csv文件读取字典数据。使用DictReader可以像操作字典那样获取数据,把表的第一行(一般是标头)作为key。csv文件内容:name,area俄罗斯,1707加拿大,997中国,960美国,936python代码:import csvfilename = 'd:/0tixiao/country.csv'with open(filename) as ...
js提取数组中某一属性形成新数组
目录为:Assets/Scripts/ConfigReader/目录下 ReadNpcConfig.cs对应配置文件: Assets/Resources/Config/NpcCfg.xml 这个配置文件很大,部分如下:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><NPCCfg xmlns:xsi="http://www.w3.
-------------------------------------- 1a. Setup the Org_id------------------------------------exec dbms_application_info.set_client_info('204'); -------------------------------------- 1
做过显示性能优化的同学应该常常听到别人说显示性能优化的目标就是达到 60 fps, 但是至于为什么是 60 fps 而不是 55 fps 或者 65 fps 就众说纷纭了,例如知乎上的这个问题为什么安卓不把系统显示帧数提高?
对于数组的处理,开发者不断的在创造更好的方式,而在ES2015(ES6) 新增了一种基本运算符——展开运算符.使用三个点 … 表示,它的作用是在调用函数、数组构造时将数组表达式或字符串在语法层面进行展开;构建字面量的对象时以键值对的形式进行展开。这里小千给大家介绍一下它的基本用法:构建字面量语法的数组通常情况下构建字面量结构的数组我们会使用如 push splice unshift concat 等函数将现有数组作为新数组的一部分。展开运算符可以更简单快速的完成这项工作。链接数组在拥有展开运
一、主动发送 1. 加入sip_h_前缀 这样FreeSWITCH就能自动加上后面的扩展头。 2. 示例 &lt;action application="set" data="sip_h_X-Product-ID=123456"/&gt;这样后续的SIP呼叫消息会带上自定义头:X-Product-ID:1234563. 注意:这个头的封装创建是FreeSWITCH来完成的。...
事实上,在C的世界里面没有特别好的日志函数库(就像Java里面的的log4j,或者C++的log4cxx)。C程序员都喜欢用自己的轮子。printf就是个挺好的轮子,但没办法通过配置改变日志的格式或者输出文件。syslog是个系统级别的轮子,不过速度慢,而且功能比较单调。尝试了几种C/C++ log库,简单记录如下:log4j的衍生品日志是应用...
给粉丝发福利啦,扫码选择岗位投递:校招:社招: