不论做什么资料,如:解决方案、产品规划、需求分析、软件设计等,都需要用逻辑图来帮助作者说明自己的意图。通常资料内容包含的要素越多、逻辑越复杂,意图表达的难度就越大,此时仅用文字,表格来描述就显得力不从心了,怎么办呢?用图形表达,俗话说“一图胜千言”。为什么“一图”能够做到胜“千言”呢?
在这里的“一图”指的就是“逻辑图”,那什么是逻辑图呢?它的构成是什么、绘制的方法又是什么呢?

逻辑图,是用图标符号、说明文字以及连接线等,形象化地表达复数要素之间的相互作用关系。在这个“如何绘制逻辑图”的系列中,准备用9篇博文来说明逻辑图的构成原理、使用方法和使用场景,第一篇先介绍一下逻辑图的基本概念。

1. 逻辑图的基本构成

由于研究对象的种类成千上万,不同对象的表达内容非常繁多,所以产生了多种多样的逻辑图表达形式。在表达某个逻辑对象时,你可以借用他人成熟的图形形式、也可以自创一种图形形式,但在画完图形后如何判断图形表达的是否合理、能够正确地向他人传递自己的意图呢?这就需要建立一套方法来帮助判断图形的正确与否,首先要找出不同的逻辑图形的画图规律、原理、标准等。

为了找到不同种类图形的共性,可以通过对比几个图形来分析它们的异同,如图1-(a)所示,所选的图形完全没有任何业务背景、它们之间也无任何关联。图1(a)中有4个图形a1~a4,它们从外形上看似乎没有什么共同点,如果对a1~a4的4个图形进行拆分,将拆分后获得的图形元素进行分类,可以获得三组不同的元素,分别详见图1(b)、图1©和图1(d),这三组不同元素的含义如下,

图1(b):表达构成图形的“要素”
从a1~a4的各图中都有共同的图标:A、B、C 3个方块,这3个方块表达了不同图形中的主体,称之为“要素”;

图1(c):表达上述要素之间的“逻辑”
在去掉a1~a4各个图形中的要素后,剩下了“线条、位置、背景框”等内容,它们表达了各个要素之间的关联关系,称之为“逻辑”;

图(d):表达要素与逻辑构成的“模型”
在去除了a1~a4各个图形中表达要素和逻辑的内容之后,只剩下了要素和逻辑的“投影”(用虚线表示),投影表达了要素与逻辑构成的不同“形状”,称之为“模型”;

2. 逻辑图的三元素

从前面4种与业务无关的图形中抽提出来了三种共同元素,可以得出这样的结论:只要是逻辑类图形都是由这三类元素构成的,把它们称为构成逻辑图形的“三元素”。

1)要素:用于表达图形中的主体内容(图标符号+文字);
2)逻辑:用于表达图形中要素之间的关联关系(线、位置、包含);
3)模型:用于表达由要素和逻辑构成的有规律性结构的“形态”;

3. 逻辑图原理总结

表达各类要素之间的逻辑关系,都可以采用符合三元素规则的图形来表达,利用三元素组合的规则不但可以绘制正确的逻辑图,也可以检查判断他人绘制的逻辑图是否正确。

理解了逻辑图的构成原理,再回到本篇开始的问题上,为什么说逻辑图可以做到“一图值千言”呢?。对比一下用文字表达和图形表达的区别就清楚了。

1) 用文字表达
作者在表达时只能沿着一个维度一句一句地写,而读者也要顺着文字一句一句地读取,并在大脑中从这些文字中抽提出要素、构建出要素之间的逻辑关系。由于作者和读者的能力水平不同,读者从文字中可能读出完全不同的“要素、逻辑”,并搭建出错误的图形来。内容越复杂、要素越多,表达就越困难,得出的不同结论也会越多。

2)用图形表达
作者可以将多维度的对象用要素、逻辑、模型一次表达出来,观者不需要在大脑中进行抽提和组织,一次就可以看到全貌,读者只要按照图形中的逻辑表达顺序去理解就可以了。不同的观者只有一个结论(当然表达和理解也会有一定的误差,但远小于文字表达)。

3)两种表达的区别
□图形表达:作者同时可以“画出”逻辑和要素,观者可以直接“看见”逻辑,所以意图传递的效率高、准确、失真少。
□文字表达:作者的文字表达能力与读者的和阅读水平极大地影响者意图的传递效率、准确性。用语言表达也是同理。
(当然,在诸如文学作品中也存在着只能用文字而无法用图形表达的逻辑,这种现象不在讨论之列)

绘制逻辑图工具很多、模型和图标的样式也不尽相同,但不论使用什么模型、图标或是绘图工具,完成的逻辑图基本上都要遵循上述三元素的要求,掌握了绘制逻辑图的三元素,不但可以绘制正确的逻辑图,而且还可以对他人的逻辑图进行检查和评估。

逻辑图中的要素有哪些特性?逻辑有哪些表现形式?如何选择最佳的模型?
在下一篇中,将具体介绍要素、逻辑及模型的特性和表达方式,欢迎观看。

详细的内容说明,请参见《大话软件工程—需求分析与软件设计》一书。

如何绘制逻辑图 — 1. 逻辑图构成的三元素相关推荐

  1. 银行卡三元素实名认证

    银行卡三元素实名认证  银行卡实名认证,通过HTTP请求,发送持卡人姓名.银行卡号.身份证号码参数,返回信息是否一致,以及银行卡相关信息.http://www.haoservice.com/docs/ ...

  2. html5输入三元素_HTML5输入元素的状态

    html5输入三元素 Recently I was working on a project where we required date and numeric fields. Being a pu ...

  3. Help:立体图绘制以及根据X,Y,Z三坐标值,在图上描点

    BS结构项目有个需求,需要绘制如下的立体图: 之后,还需要在上图,根据x,y,z描点 请教大家,可有什么好办法,什么控件实现 先谢了 转载于:https://www.cnblogs.com/Bryan ...

  4. python如何绘制条形图_python Matplotlib 系列教程(三)——绘制直方图和条形图

    在本章节我们将学习如何绘制条形图和直方图 条形图与直方图的区别: 首先,条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的: 直方图是用面积表示各组频数的多少,矩形的高度表示每一组 ...

  5. mysql三线表导出_R|tableone 快速绘制文章“表一”-基线特征三线表

    生物医学或其他研究论文中的"表一"多为基线特征的描述性统计.使用R单独进行统计,汇总,然后结果复制到excel表中,耗时耗力且易错! tableone包"应运而生&quo ...

  6. 在Vue3项目中使用 Echarts 绘制股票图表的分享(三):绘制成交量图

    效果展示 分析: 根据需要实现的效果图,我们可以进行分析,这是一个由柱状图且柱子有红绿两种颜色制作而成的成交量图. 绘制柱状图 在开始写代码之前,我们依然可以去参考一下官方的一些示例,并进行分析.Ec ...

  7. 在线流程图绘制网站draw.io支持的三种存储介质

    分别是Google drive,微软的OneDrive和本地磁盘. 如果我点击Google Drive,会弹出授权页面: 需要使用Google账号登录一次进行授权: 之后点击Open Existing ...

  8. 绘制图形与3D增强技巧(三)----三角形图元TRANGLE

    1. glBegin(GL_TRANGLES); ........ glend(); 2.多边形的环绕方向:逆时针和顺时针的正反面 GLFront(GL_CCW)和GLFront(GL_CW); 3. ...

  9. IBM x230笔记本 电路图 逻辑图 运行逻辑图 X230 11232-1_final_r4.pdf 电路板图

    以前给朋友修本时找到的,在这里备份一下,也提供给有需要的朋友一用. 城通网盘下载地址 线路图pdf X230 11232-1_final_r4.pdf: https://545c.com/file/2 ...

最新文章

  1. shared_ptr 的使用及注意事项
  2. zemax设计35mm镜头_1650万像素的手机镜头设计
  3. java学习笔记—标准连接池的实现(27)
  4. JavaScript 小技巧之数组合并
  5. 基于Matlab的人脸识别设计(PCA)
  6. ActiveMQ笔记(一)
  7. 网络音乐是时候该聊聊“大数据”了
  8. openresty ngx_lua请求响应
  9. 批量下载xx艺术照片的简单爬虫
  10. css案例1——一级菜单、二级菜单、三级菜单、四级菜单
  11. Cookie加密10
  12. 火车硬座车厢座位分布表
  13. 擦地机器人排行榜_扫地机器人十大排行榜
  14. php 生成微信小程序码(可携带参数) 永久有效,数量暂无限制
  15. 2014年12月23日 平常心
  16. 国内的服务机器人还缺点啥?
  17. Unity标准开发实例——Shuriken粒子系统06
  18. CS224n学习笔记-1
  19. centos7安装killall命令
  20. cpu核数和逻辑个数的区别_CPU逻辑核心数和物理核心数是什么意思?

热门文章

  1. 2018年下半年《软件评测师》下午试卷及答案
  2. Python递归通用接口响应深层提取
  3. Fiddler在PC/台式对Android进行抓包
  4. Django REST FRAMEWORK swagger(一)框架详解
  5. Visual C++ 基础数据类型的转换
  6. ASP.NET MVC4中用 BundleCollection
  7. 原型对象prototype和原型属性[[Prototype]]
  8. tool vmmap 配置符号文件 symbolic file
  9. HDU1071_数学几何
  10. PureMVC在Unity游戏开发中的应用