原文:http://www.docin.com/p-287534167.html
附录1 EA工具简介
EA是一套UML的开发工具,对于EA而言,每个UML的项目,EA都会使用一个项目文件来保存,其文件扩展名为“EAP”。EA的项目文件,是一个Access数据文件,在EAP中,除了保存了所有的UML图形外,另外也保存了所有的UML元素,一级权限控制所需要的User相关信息。
1. EA操作界面简介
EA的开发环境如图附录1-1所示:
图附录1-1:EA的开发环境
在上图的开发环境中,EA可以分为四大区块:
l 功能菜单区
所有EA的功能,都可以通过功能菜单区中所列出来的功能菜单来达成;
l 工具区
在EA的工具区中提供了所有UML2.0的所有UML元素。工具区与你所增的UML图形是息息相关的,举例来说,当新增加了一张UML的类图后,工具区将会出现在类图的工具列上,让你可以轻易地使用类图中能使用的所有UML元素。
l 工作区
工作区是绘制UML图形的主要区域。在EA中并不限制同一个工作区可以放置多少UML图形。可以看到在工作区最下方有一个个的标签(Tab),因此,你可以在同一个工作区内放置多个UML图形,每个图形会有一个标签。然而,在处理时,一次只能够处理一个标签(Tab)。
l 项目属性区
在EA右方的区块中,是属于项目中各个UML元素属性的区域。通常,在这个区域中会有7个不通的窗口。
Ø 第一个窗口为“项目浏览窗口”(Project Browser)。在这个窗口中,最主要是呈现你所打开的这个EA项目中,所有UML元素的摆放位置。
Ø 第二个窗口为“资源视图”(Resource View)。在这个窗口中,主要是呈现你可以使用的EA资源。
Ø 第三个窗口时备注(Notes),这个备注窗口中记录了所有UML元素中的备注记录。
Ø 第四个窗口时“属性”(Properties)窗口,这个窗口也是针对单一UML元素的属性设置的窗口。
Ø 第五个窗口时“模型视图”窗口,在这个窗口中,可以自行定义自己的模型视图。
Ø 第六个窗口时针对于突刺那个缩放的“移动及缩放”(Pan&Zoom)窗口,这个窗口可以让操作人员快速地操作图形。
Ø 第七个窗口时一个“在线求助”(On-line Help)的窗口,可以通过这个窗口快速找到你所需要的任何EA的在线说明文件。
2. 新增一个EA项目
新增一个EA项目可以利用两种不同的方式。
第一种方式是从功能菜单区中选择File->New Project,如图附录1-2所示:
图附录1-2:从功能菜单区新增一个项目
第二种方式是从Start Page中选择“Create a New Project…”,如图附录1-3所示:
图附录1-3:从工作区新增一个项目
这两种方式都会要求用户新增一个EA空白项目文件:
图附录1-4:“New Project”对话框
当空白项目文件名输入完毕后,按下【保存】按钮,EA会提示用户可以选择已建立好的“模型模板”(Model Template)。
图附录1-5:选择已建立好的模型模板
接着,请按【OK】按钮,此时,EA会新增加一个空白的项目,就可以在这个项目上开始进行软件设计了。
3. 在EA中绘制活动图
(1) 选择Project->Add Diagram
图附录1-6 选择新增一张Diagram
(2)接着,在New Diagram对话框中选择新增一张Activity Diagram。
图附录1-7 选择新增一张Activity Diagram
(3)绘制分区
一般来说,一个企业内部的活动会有不同的角色的人参与其中,因此,在绘制业务流程时,需要将这些不同角色的人都绘制在内。在活动图中,不同角色的人,就是用UML2.0的分区来标示的。以医院住出院流程的活动图中,有几个不同的角色:病人、医生、护理站人员及医护人员,可以将这几种角色放到工作区中。如图所示添加病人分区。
图附录1-8 建立第一个病人分区
可依次类推添加医生、护理站人员及医护人员。
(4)绘制活动及其他细节
在绘制完分区之后,结着就是要把适当的活动分配给适当的角色。
图附录1-9医院住出院系统活动图
4. 在EA中绘制用例图
(1) 选择Project->Add Diagram,在弹出的New Diagram对话框中选择Use Case。
图附录1-10 新增一张“医院出院系统”用例图
(2) 绘制系统边界。
接着,拓拽一个“Boundary”到工作区,并命名为“医院住出院系统”
图附录1-11 在工作区中建立一个系统的边界
(3) 建立用例图形
绘制执行者和用例,并用Association连接执行者和用例,得到最终的用例图。
图附录1-12 医院住出院系统用例图
5. 在EA中绘制类图
(1) 选择Project->Add Diagram,在弹出的New Diagram对话框中选择Class。
图附录1-13 新增一张“医院住出院系统”的Class Diagram
(2) 绘制“住院事件”类
添加一个“住院事件”类,将其stereotype设置为“Transaction”,将alias设置为“住院事件”。
图附录1-14 绘制一个“住院事件”类
(3) 同(2),新增医生类
(4) 建立“住院事件”与医生类的关联关系
图附录1-15 设置“医生”类在该Association中所扮演的角色
图附录1-16设置“住院事件”类在Association中的“多重性”及“访问权限”
(5) 同上,新增“SickBed”(别名为病床)、“Nurse”(护士)、“Symptom”(病症)及“MedicalTreatment”(医疗处理)4个类,并建立其与“住院事件”的关联。
(6) 建立基本属性。在“住院事件”类中增加一个属性(Attribute),命名为“hosptialInDate”,别名为“住院日期”,数据类型为“DateTime”,访问权限为“Private”。
图附录1-17 建立“住院事件”的基本属性
(7) 修改“病床”类的类型,并加入“操作”(Operation)。
如附录1-18所示,在工作区中双击鼠标,弹出“Class”对话框,并把复选框“abstract”的复选框勾选。
图附录1-18 将“病床”类设为抽象类
接着,在“病床”类按鼠标右键,选择“Operation”,新增一个操作。
图附录1-19 建立“计算费用”操作
(8) 建立“病床”的特化类
图附录1-20 建立病床的一个“医保病床”特化类
(9) 依次添加其他新类,并为已有类添加属性和操作,得到最终的类图。
图附录1-21 医院住出院系统领域模型
6. 在EA中绘制序列图
(1) 选择Project->Add Diagram,在弹出的New Diagram对话框中选择Sequence。
图附录1-22 新增一张Sequence Diagram
(2)将“登记出院记录”用例的主执行者“医护人员”拖拽至工作区,并选择“as Instance of Element(Object)”(在图中新增一个医护人员的对象);将“RecordHospitalOutBpo”类拖拽至序列图中,并选择“as Instance of Element(Object)”;然后,单击“:医护人员”对象选择“Quick Link”连线到“:RecordHospital OutBpo”对象,单击两个对象的Message,并在“Message Properties”对话框中选择“Operations”按钮,以建立“RecordHospitalBpo”操作“applyHospitalOut(XML)”。
图附录1-23 绘制序列图
7. 在EA中绘制通信图
(1) 选择Project->Add Diagram,在弹出的New Diagram对话框中选择Communication。
图附录1-24 新增一张Communication Diagram
(2)将“登记出院记录”用例的主执行者“医护人员”拖拽至工作区,并选择“as Instance of Element(Object)”(在图中新增一个医护人员的对象);将“RecordHospitalOutBpo”类拖拽至序列图中,并选择“as Instance of Element(Object)”;然后,单击“:医护人员”对象选择“Quick Link”连线到“:RecordHospital OutBpo”对象;单击link,并利用鼠标右键选择 “Add message from 医护人员 to : RecordHospitalBpo”的选项;双击Message,在“Message Properties”对框框中的“Message”字段,选择“applyHospitalOut(XML)”操作。
图附录1-25 在“医护人员”和“RecordHospitalOutBpo”之间建立 Message,
(3)重复步骤(2)直到完成下图的通信图。
图附录1-26 “登记住院记录”的通信图
8. 在EA中绘制对象图
(1) 选择Project->Add Diagram,在弹出的New Diagram对话框中选择Object。
图附录1-27 新增一张对象图
(2) 将“住院事件”及“病人”拖拽至工作区,并利用“Quick Link”建立两者间的“链接”关系,在“:住院事件上”双击鼠标,并为住院事件命名为“佐佐木先生住院事件”,病人则命名为“佐佐木先生”;再分别拖拽两个“医生”对象,并分别命名为“财前五郎”及“柳原医生”,并建立其与“佐佐木先生住院事件”的“链接”关系;再拖拽一个“护士”对象,命名为“龟山君子”,并同样建立链接关系。最终得到如下对象图。
图附录1-28 医院住出院系统的对象图
9. 在EA中绘制状态机图
(1)选择Project->Add Diagram,在弹出的New Diagram对话框中选择State Machine。
图附录1-29 在病床类下新增一张状态机图
(3) 接下来,请先拖拽一个“Initial”到状态工作区,再利用“Quick Link”建立一个链接到State的“Transition”,并将该State命名为“status:Empty”;双击链接,在“Transition Properties”对话框中,选择Constraints标签,在Trigger区块中的Name键入“预定”,Type选择“Call”,Specification则键入“register”。
图附录1-30 病床状态机图
10. 在EA中绘制时间图
(1) 选择Project->Add Diagram,在弹出的New Diagram对话框中选择Timing。
图附录1-31 新增一张时间图
(2) 把“病床”类拖拽至工作区中,在“Drop As Timeline”对话框中选择“State Timeline”以新增一个“:病床”对象的“生命线”。
图附录1-32 新增一个“:病床”对象的生命线
(3) 在“Configure Timeline”对话框中,选择“States”标签,并新增两个“状态”,分别命名为“status:Registered”及“status:Empty”;选择“Transitions”标签,定义两个Transition,第一个Transition设置“Transition Time”为0,“TransitionTo”选择为“status:Registered”,第二个Transition设置“Transition Time”为30,“Transition To”选择为“status:Empty”;最后,请敲击画面中的“时间轴”刻度,并在“SetTimelineRange”对话框中设置“EndTime”为40,“Time Units”为“分钟”。最后,得到如下的时间图:
图附录1-33 病床状态时间图
11. 绘制包图
(1)选择Project->Add Diagram,在弹出的New Diagram对话框中选择Package。
图附录1-34 新增一张包图
(2)拖拽boundary、control、entity到工作区中,并利用“QuickLink”建立三者间的关系
图附录1-35 建立3个包间的“依赖”关系
12. 绘制交互概述图
(1)选择Project->Add Diagram,在弹出的New Diagram对话框中选择Interaction Overview。
图附录1-36 新增一张“交互概述图”
(2) 接着,请拖拽一个“Activity Initial”到工作区中,并命名为“登记出院记录”,再把项目区中的“正常流”的序列图、替代流程1a、替代流程4a、替代流程a拖拽至工作区,最后增加两个Final;拖拽一个“Decision”到工作区中,分别连接“Decision”于替代流程1a、替代流程4a、替代流程a,并在连接的控制流上分别设置“Guard Constraint”:没有“患者出院申请记录”、收费管理系统没有回应、在任何时间点发生错误;最后,建立其余的Quick Link,得到如下的交互概述图。
图附录1-37 “登记出院记录”的交互概述图
13. 绘制组合结构图
(1)选择Project->Add Diagram,在弹出的New Diagram对话框中选择Composite Structure。
图附录1-38 新增一张“医院住出院系统架构图”的组合结构图
(2)接下来,请拖拽4个“Part”到工作区中,并分别命名为“医院住出院系统”、“门诊系统”、“药品管制系统”及收费管理系统。
图附录1-39 建立4个“部件”
(3) 请拖拽3个“端口”到“医院住出院系统”中。
图附录1-40 在医院住出院系统中新增3个“端口”
(4) 拖拽“Expose Interface”到“仁医院住出院系统”中,并在“Exposed Interface”对话框中选择“Provided”。利用“Quick Link”连接Provided Interface与“门诊系统”之间的“Assembly”关系
图附录1-41 在“医院住出院系统”建立一个“提供接口”
图附录1-42 建立“门诊系统”与“提供接口”的“组件装配”关系
(5) 拖拽“Expose Interface”到“医院住出院系统”,并且选择“Required”,另拖拽“Expose Interface”到“药品管理系统”,定义为“Provided”,用“Quick Link”连接两个接口,并指定为“组件装配”关系。
(6) 重复步骤(5)直到完成下图所示的架构图。
图附录1-43 信任医院住出院系统组合结构图
12.绘制组件图
(1)选择Project->Add Diagram,在弹出的New Diagram对话框中选择Component。
图附录1-44 新增一张组件图
(2) 接着,拖拽3个“Component”到工作区,并分别命名为“Control”、“Boundary”及“Entity”。最后,利用“QuickLink”建立三者之间的Dependency关系,得到如下的组件图。
图附录1-45 医院住出院系统的组件图
14. 绘制部署图
(1)选择Project->Add Diagram,在弹出的New Diagram对话框中选择Deployment。
图附录1-46 新增一张部署图
(2)将“Node”拖拽至工作区中,并命名为“Server”,stereotype选择“pc server”。接着,请单击“Require”标签,并在“Requirement”键入“Component安装”。最后单击“Constraints”标签,新增4个Constraint,分别为“OS: Windows Server 2003”、“Web Server: IIS”、“Database Server: SQL Server 2008”、“Application Runtime: .NETFramework 3.0”。
图附录1-47 建立一个节点并为其命名
图附录1-48 建立节点的Responsibility
图附录1-49 建立节点的Constraints
(3)到“项目浏览器”中,把“Entity”、“Controller”、“Boundary”拖拽到工作区中,并建立“Server”与这3个组件件的“Dependency”关系,得到如下的部署图:
图附录1-50 医院出住院系统部署图
15小结
本章节先对EA工具的操作界面进行了简单介绍,然后介绍了在EA中如何新增一个项目,最后以医院出住院系统为例,分别介绍了在EA中如何绘制活动图、用例图、类图、序列图、通信图、对象图、状态机图、时间图、包图、交互概述图、组合结构图、组件图和部署图。
参考目录
1. UML与Enterprise Architect7.5团队开发实用手册.电子工业出版社.2010.3