EA窍门——如何设置不同包中元素之间的关系

在画EA图的时候,D层的写好的类需要实现接口层的类,因为我已经建好包了,但是不同包之间的元素如何建立关系呢??由于之前我是用rose来画图的,这次用EA,我可以说完全陌生。在查找资料过程中发现EA超级强大。

一、解决工具


官网(了解大体流程,查看相关文档,视频)我自己安装的EA打开官网后是英文版的,后来找到了中文的官网。

网址:http://www.sparxsystems.cn/resources/


谷粉搜搜(个人比较喜欢用这个搜索引擎)


百度文库、博客

二、解决内容【关系矩阵】

1.使用关系矩阵的原因:

关系矩阵可以让你创建和浏览关系,而不用考虑它们从属于那个包或图。它可以应用到任何一种元素,但是有两个原因使得它对需求有特别的功用:

1) 用大型系统定义,需求可能被定义在不同的有独立关系的包和图里。关系矩阵可以用来设置这些关系,否则它们需要在图中来手动定义。
2) 在开发阶段进行时,需求下的每一个元素,诸如用例,类等等,需要被需求组或指定需求进行根定义。这个连接对追朔跟踪性至关重要。

2. 关系矩阵图

在上图中笔者通过关系矩阵实现了DAL包中的类“实现”IDAL的关系。如图,DAL:StudentImpl通过关系矩阵 “实现” IDAL:IStudnet。所以在设计D层类图的时候便不用添加其方法,如下图:

这样,只要画出上图这样子程度就可以生成完整代码,无需再添加方法。

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''
''  StudentImpl.vb
''  Implementation of the Class StudentImpl
''  Generated by Enterprise Architect
''  Created on:      03-5月-2015 10:40:37
''  Original author: tqq113
''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''  Modification history:
''
''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Option Explicit On
Option Strict On

Imports IDAL.IDAL

Namespace DAL
	Public Class StudentImpl
		Implements IDAL.IStudent

		'''
		''' <param name="enStudent"></param>
		Public Function CheckStudentMgr(ByVal enStudent As StudentEntity) As List(Of StudentEntity) Implements IStudent.CheckStudentMgr
			CheckStudentMgr = Nothing
		End Function

	End Class ' StudentImpl

End Namespace ' DAL

总结:

事实上,我要是理解的没错的话,应该还是可以用视图来解决。我觉得EA很强大,在网站上我也看了不少让我惊奇的东西,这个就算是抛砖引玉吧。通过这件事情我认为,当我们拿到一个新东西了之后,不要一味按照自己的理解去做,要了解它的特性等,有助于我们更加高效的使用他。

时间: 2024-10-02 01:14:18

EA窍门——如何设置不同包中元素之间的关系的相关文章

【android】巧用android:divider属性设置LinearLayout中元素之间的间隔

如上图,要想实现3个button线性排列并且使它们的大小相同.间隔相等.而且整体填充满整个linearlayout,我们一般的做法是在每两个button之间放一个固定宽度的view,然后设置button的宽度为0.layout_weight为1.这样虽能实现功能,可是总感觉不方便,特别是button多的时候. 今天介绍另一种简单.优雅的方法,就是利用android:divider属性. 1.首先新建一个固有的width/height的Drawable: spacer_medium.xml [ja

CSS系列:CSS中盒子之间的关系

1. 标准文档流 标准文档流是值在不使用其他的雨排列和定位相关的特殊CSS规则时,各种元素的排列规则. 1.1 块级元素(block level) 块级元素不会排在同一行中,总是以一个块的形式表现出来,并且跟同级的块级元素依次竖直排列,左右撑满. 1.2 行内元素(inline) 行内元素本身不占用独立的区域,只在其他元素的基础上指出一定的范围. 行内元素在DOM树中同样是一个节点,从DOM的角度来看,块级元素与行内元素没有区别,都是树上的一个节点:而从CSS的角度来看,二者区别在于块级元素拥有

Silverlight实用窍门系列:47.Silverlight中元素到元素的绑定,以及ObservableCollection和List的使用区别

问题一:在某一些情况下,我们使用MVVM模式的时候,对于某一个字段(AgeField)需要在前台的很多个控件(A.B.C.D.E)进行绑定,但是如何能够让我们后台字段名改变的时候能够非常方便的改变所有使用了这个字段的控件呢? 回答:使用Element to Element Binding,将AgeFiled绑定到A控件,然后再让B.C.D.E控件绑定A控件的使用AgeField字段的属性. 例如:字段(AgeField)的数据是年龄大小,A.B.C.D.E控件分别是Ellipse.Label.S

Python包管理工具之间的关系

转自http://www.nowamagic.net/academy/part/13/302/ 当前的包管理工具链是 easy_install/pip + distribute/setuptools + distutils, 显得较为混乱. 而将来的工具链组合非常简单:pip + distutils2. 1. distutils : Python 自带的基本安装工具,适用于非常简单的应用场景,使用: 为项目创建 setup.py 脚本. 执行 setup.py install 可进行安装. 2.

UML中的6大关系详细说明

UML中的6大关系详细说明: 1.关联关系: 含义:类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法:通常含有"知道","了解"的含义 体现:在C#中,关联关系是通过成员变量来实现的: 方向:双向或单向: 图示:实线 + 箭头:箭头指向被关联的类:2.依赖关系: 含义:是类与类之间的连接,表示一个类依赖于另外一个类的定义:依赖关系仅仅描述了类与类之间的一种使用与被使用的关系: 体现:在C#中体现为局部变量.方法/函数的参数或者是对静态方法的调用: 方向:

css如何设置文本在li元素中垂直居中显示

css如何设置文本在li元素中垂直居中显示:本章节介绍一下如何利用css将文本设置为在li元素中垂直居中效果.实现此效果非常的简单,只要利用line-height属性即可.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/&qu

使用javax.script包实现Java设置JS脚本中的变量

下面例子中,我们通过javax.script包ScriptEngine.put()方法设置JS脚本中的变量,JS把所有在线用户输出. package ajava.code.javase; import javax.script.ScriptEngineManager; import javax.script.ScriptEngine; import javax.script.ScriptException; import java.util.Date; public class AjavaAcc

黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或文件夹封装成对象 (2)方便于对“文件”与“文件夹属性信息”进行操作 (3)File对象,可以作为参数传递给流的构造函数 (二)构造方法 * 通过File的构造函数创建File对象 方式1:File f = new File("c:\\a.txt"); 方式2:File f2 = newF

24.Java中atomic包中的原子操作类总结

1. 原子操作类介绍 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的(关于synchronized可以看这篇文章).但是由于synchronized是采用的是悲观锁策略,并不是特别高效的一种解决方案.实际上,在J.U.C下的atomic包提供了一系列的操作简单,性能高效,并能保证线程安全的类去更新基本类型变量,数组元素,引用类