您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
   
 
     
   
 订阅
  捐助
在EA中构建动态图表模型
 
作者:张贵显 (火龙果软件工程)
945 次浏览     评价:  
 2020-8-4 
 

EA中支持很多中图表模型,如柱状图、饼图等,这些图表可以跟踪项目的进度,通过用例状态了解完成情况。图表数据可以从特定的包中选择,也可以自定义SQL 查询数据。

动态图表是EA15.2 的新特性,它是一种特殊的图表模型,它的类型,内容,外观等用户都可以通过脚本自己定义。

为什么需要动态图表

工程师可以用UML对软件分析设计建模,用Sys ML对系统分析设计建模,除此之外,工程师还需要很多图形的形式,数据分析方面就很需要统计图标支持。EA 对以上模型都能够支持:

动态图表富有表现力而且非常灵活,除了日常跟踪之外,可以使复杂的统计数字简单化、通俗化、形象化,使人一目了然,便于理解和比较。

 

如下是一个动态图表的示例,它通过EA自带的JS图标库定义了一个三维曲面线框图。

 

EA里面的动态图表都有什么

动态图表可以根据需要自定义图表类型,常见类型包括:

名称 说明
柱状图Column (2D,3D)
以长方形的长度为变量的统计图表。
折线图Line(2D,3D)
折线图可以显示随时间而变化的连续数据,适用于显示在相等时间间隔下数据的变化趋势
饼图Pie (2D,3D)
饼图常用于统计学模型。有2D与3D饼状图,2D饼状图为圆形。
极坐标图Polar
极坐标图也称奈奎斯特(Nyquist)图,它是在复平面上用一 条曲线表示w由0到无穷大时的频率特性。
圆环图Doughnut(2D,3D)
像饼图一样,圆环图显示各个部分与整体之间的关系,但是它可以包含多个数据系列 。
条形图Bar(2D,3D)
是用宽度相同的条形的高度或长短来表示数据的取值多少的图形。
箱线图BoxPlot
是一种用作显示一组数据分散情况的统计图。
漏斗图Funnel
斗图是一般以单个研究的效应量为横坐标,样本含量为纵坐标做的散点图。
股价图 Stock
经常用来显示股价的波动。工作表的列或行中的数据可以特定顺序排列在股价图中。
面积图Area(2D,3D)
强调数量随时间而变化的程度,也可用于引起人们对总值趋势的注意。
混合图表 等
在一个图表上左右显示不同类型图表。

 

单个图表上可以放一个多个Dynamic Chart元素,可以显示多种不同的图表类型。如下是一些动态图表的示例:

上图中显示的动态图表有:

  • 左上图显示的箱线图的动态图表,显示了欧洲,大洋洲,亚洲每月的网站访问量。图中定义了每个地区访问的最大值、最小值、中位数、及上下四分位数。
  • 右上图显示的是一个三维曲面图。
  • 左下图显示的是一个面积图,柱状图和曲线图的综合图。
  • 右下图显示的是一个3D柱状图。

 

生成图表的脚本:

我们一般用JavaScript来生成动态图表。EA自带了一个JavaScript图表库,可用于描述图表的类型、数据和样式。该库通过DynamicChart元素调用,通过脚本填充的图表。每当打开或刷新动态图表时,会刷新动态图表数据。E A包含源代码编辑器,用户可以查看、编辑源代码。

如下是生成动态图标的脚本:

动态图表的脚本有两种实现方法:

1. JavaScript脚本

2. JSON定义数据源,这是当前首选的数据源格式。

 

如何创建动态图表

下面我们来看看如何创建动态图表:

1、首先创建图:在建模向导菜单中选择 Extended中Dashboard图,然后在工具箱中 选择Artifacts 下Dynamic Chart 元素。

 

2、然后“DynamicChart”,使用快捷键Alt + 7或右键单击 “ Edit Chart Script”菜单选项编辑代码,以显示“ 代码编辑器”窗口。可自定义显示图表的类型,图表的样式,以及图表的数据源。

 

3、编辑完成后保持代码返回仪表盘图 右键单击刷新,即可显示添加的动态图表。

 

动态图表示例

下面我们以建立三维曲面线框图来看一下动态图表的创建。如下是该实例的动态图表效果:

本图表示例提供两种创建方法-JavaScript编码方法和JSON数据源方法。接下来我们分别了解一下这两种方法。

 

JavaScript编码方法:

用JavaScript编写的,并且必须包含ConstructChart方法的实现。然后将调用此方法,并将元素的GUID作为参数传递给它。代码说明如下:

 

JSON数据源方法

这种方法和JS编码方法类似,也需要构建ConstructChart函数。ConstructChart函数采用一个参数,这个参数是选定动态视图元素的GUID标识。然后,调用内置函数EA自带JS图表库中ConstructChartFromJSON方法,将GUID作为第一个参数,并将JSON结构作为第二个参数,如下例所示:

 

 

更多信息:

下载 pdf版:《在EA中构建动态图表模型》

本文使用的建模工具为EA,可以下载试用版

http://tool.uml.com.cn/ToolsEA/download.asp

 

 

后记

希望您读了此文后有所受益。

如果您有经验乐于分享,欢迎投稿给我们。

如果您对我们的培训、咨询和工具感兴趣:

  • 课程:基于UML和EA进行分析设计
  • 课程:MBSE(基于模型的系统工程)  
  • 课程:基于模型的需求管理)方法与实践
  • 课程:基于SysML和EA进行系统设计与建模  
  • 课程:企业架构建模
  • 课程:系统架构建模方法与案例
  • 课程:领域驱动的建模与设计
  • 课程:基于模型的设计
  • 课程:业务建模与业务分析
  • 建模工具:EA
  • 基于模型的需求管理工具:iSpace
  • 咨询方案:MBSE(基于模型的系统工程)
  • 咨询方案:基于UML的模型驱动的开发
  • 欢迎联系我们: 俎涛 Zutao@uml.net.cn

       
    945 次浏览     评价: 订阅 捐助
     
    相关文章

    UML概览
    UML图解:用例图(Use case diagram )
    UML图解:活动图(activity diagram )
    UML图解:类图(class diagram )
     
    相关文档

    UML统一建模语言参考手册
    网上商城UML图
    UML建模示例:JPetStor
    UML序列图编写规范
     
    相关课程

    UML与面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于UML和EA进行系统分析设计
    最新课程计划
     
    最新文章
    iPerson的过程观:要 过程 or 结果
    “以人为本”的工程哲学
    企业架构、TOGAF与ArchiMate概览
    UML 图解:顺序图( sequence diagram )
    UML 图解:对象图( class diagram )
    最新课程
    基于UML和EA进行系统分析设计
    UML+EA+面向对象分析设计
    基于SysML和EA进行系统设计与建模
    UML + 嵌入式系统分析设计
    领域驱动的建模与设计
    更多...   
    成功案例
    某电信运营供应商 应用UML进行面向对象分析
    烽火通信 UML进行面向对象的分析设计
    西门子 UML与嵌入式软件分析设计
    航天科工某子公司 从系统到软件的分析、设计
    深圳某汽车企业 模型驱动的分析设计
    更多...