内聚种类-懂客-dongcoder.com

内聚有如下的种类,它们之间的内聚度由弱到强排列如下:

(1) 偶然内聚:一个模块内的各处理元素之间没有任何联系,只是偶然地被凑到一起。这种模块也称为巧合内聚,内聚程度最低。

(2) 逻辑内聚:这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能 。

(3) 时间内聚:把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。

(4) 过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。简单的说就是如果一个模块内的处理元素是相关的,而且必须以特定次序执行则称为过程内聚。

(5) 通信内聚:指模块内所有处理元素都在同一个数据结构上操作或所有处理功能都通过公用数据而发生关联(有时称之为信息内聚)。即指模块内各个组成部分都使用相同的数据数据或产生相同的数据结构。

(6) 顺序内聚:一个模块中各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,通常前一个处理元素的输出时后一个处理元素的输入。例如某模块完成工业产值求值的功能,前一个功能元素求总产值,后一个功能元素求平均产值,显然该模块内两部分紧密关联。顺序内聚的内聚度比较高,但缺点是不如功能内聚易于维护。

(7) 功能内聚:模块内所有元素的各个组成部分全部都为完成同一个功能而存在,共同完成一个单一的功能,模块已不可再分。即模块仅包括为完成某个功能所必须的所有成分,这些成分紧密联系、缺一不可。

功能内聚是最强的内聚,其优点是它的功能明确。判断一个模块是否功能内聚,一般从模块名称就能看出。如果模块名称只有一个动词和一个特定的目标(单数名词),一般来说就是功能内聚,如:“计算水费”、“计算产值”等模块。

功能内聚一般出现在软件结构图的较低层次上。功能内聚模块的一个重要特点是:他是一个“暗盒”,对于该模块的调用者来说,只需要知道这个模块能做什么,而不需要知道这个模块是如何做的。

总结:在模块划分是,要遵循“一个模块,一个功能”的原则,尽可能使模块达到功能内聚。高内聚,低耦合的系统有什么好处呢?事实上,短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。

高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。

来源: 内聚种类-懂客-dongcoder.com

EA——搭建基于服务器的存储库(亲测成功)

如果您购买公司版、 业务和软件工程版、 系统工程版或最终版,您可以升迁 (如 EABase.eap).eap 模板或任何现有的.eap 项目到DBMS 数据存储库。

DBMS 资料库的一个重要优点是支持有更多模型和众多同时连接的用户。

步骤

  • 安装数据库管理系统软件
  • 创建一个存储库
  • 设置ODBC 驱动程序,启用连接到存储库
  • 执行项目数据传输

安装数据库管理系统软件

我使用的是MySQL 5.7

创建一个存储库

运行 Sparx Systems 提供的脚本来创建所需的表。

执行脚本在sql_scripts可以找到

注:Mysql 5.5 直接用该脚本,而我用的5.7版本,所以按照官方推荐的,将 '0000-00-00 00:00:00' 修改成 NOW()了。

参考了提问 DATETIME类型的字段设置默认值为NOW()的方法

创建的数据库名为ea

如果有需要,修改后的脚本下载

数据填充

Initial data into a DBMS repositories可以找到

设置ODBC 驱动程序,启用连接到存储库

在客户端安装MySQL ODBC Connector驱动程序,从下面的Oracle网站下载,注意要下载5.1 32位版本,因为EA只支持5.1版本,并且不支持Win64位版本,如果安装的是64位版本,则EA连接时候会提示配置不一致错误

详细参考搭建基于CentOS+MySQL的EA服务器环境

完整性检查

打开Enterprise Architect和执行项目.eap 文件的项目完整性检查 (现有的或模板) ;这可确保数据之前上传是清洁的。

执行项目数据传输

在Enterprise Architect中,打开项目转化对话框,连接EAP 文件到存储库,并从项目EAP文件数据传输到 DBMS 存储库中。

详细参考搭建基于CentOS+MySQL的EA服务器环境

EA 没有 IDEA的连接或插件,VS和eclipse的连接都是要钱的,下次不要再去找了。