PowerDesigner教程
发布时间:2018-07-02 02:29:35
发布时间:2018-07-02 02:29:35
目录
一、PowerDesigner概述(系统分析与建模) 1
二、项目和框架矩阵 4
三、企业架构模型 9
四、业务处理模型 16
五、概念数据模型(CDM生成LDM,PDM和OOM) 20
六、物理数据模型(PDM逆向工程) 30
七、面向对象模型(用例图,序列图,类图) 39
PowerDesigner概述
PowerDesigner是Sybase公司推出的一个集成了企业架构,UML(统一建模语言)和数据库的CASE(计算机辅助软件工程)工具。它不仅可以用于系统设计和开发的不同阶段(即业务分析,概念模型设计,物理模型设计以及面向对象开发阶段),而且可以满足管理,系统设计,开发等相关人员的使用。它是业界第一个同时提供业务分析,数据库设计和应用开发的建模软件。
PowerDesigner15包含项目(Project),知识库(Repository),插件(Addins&Plug-in)以及9个模型(企业架构模型-EAM,需求模型-RQM,信息流模型-ILM,业务处理模型-BPM,概念数据模型-PDM,面向对象模型-OOM,XML模型-XSM)。9个模块覆盖了软件开发生命周期的各个阶段。PowerDesigner15还提供了模型文档编辑器,用于为各个模块建立模型生成详细文档,让相关人员对整个系统有一个清晰的认识。
下面简要介绍几个核心模块及模型文档编辑器的功能:
∙ 业务处理模型
业务处理模型(BPM),主要在需求分析阶段使用,是从业务人员的角度对业务逻辑和规则进行详细描述,并使用流程图表示从一个活多个起点到终点间的处理过程,流程,消息和协作协议。需求分析阶段的主要任务是理清系统的功能,所以系统分析员与用户交流后,应得出系统的逻辑模型,BPM就是为达到这个目的而设计的。
∙ 概念数据模型
概念数据模型(CDM),主要在系统开发的数据库设计阶段使用,是按用户的观点来对数据和信息进行建模,利用实体关系图(E-R图)来实现。它描述系统中的各个实体以及实体之间的关系,是系统特性的静态描述。
学生与系关系的E-R图
概念数据模型的主要功能有:
以图形化(E-R图)的形式组织数据
检验数据设计的有效性和合理性
生成逻辑数据模型
生成物理数据模型
生成面向对象的数据模型
生成可定制的模型报告
∙ 物理数据模型
物理数据模型(PDM),提供了系统初始设计所需的基础元素,以及相关元素之间的关系,但在数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据存储过程,触发器,视图和索引等。
物理数据模型的主要功能:
可以将数据库的物理设计结果从一种数据库迁移到另一种数据库。
可以利用逆向工程把已经存在的数据库物理结构重新生成物理模型或概念模型。
可以生成可定制的模型报告。
可以转换为OOM.
完成多种数据库的详细物理设计。生成各种DBMS(Oracle,Sybase,Mysql等三十多种数据库)的物理模型,并生成数据库对象(如表,主键,视图等)。
∙ 面向对象模型
面向对象模型(OOM),是利用UML(统一建模语言)的图形来描述系统结构的模型,它从不同角度表现系统的工作状态。
面向对象模型的主要功能:
利用统一建模语言UML的用例图(UseCaseDiagram),时序图(SequenceDiagram),类图(ClassDiagram),构件图(ComponentDiagram)和活动图(ActivityDiagram)来建立面向对象模型OOM,从而完成系统的分析和设计。
利用类图生成不同语言的源文件(如Java,XML等),或利用逆向工程将不同类型的源文件转换成相应的类图。
利用逆向工程将面向对象模型OOM生成概念数据模型CDM和物理数据模型PDM
∙ 模型文档编辑器
模型文档编辑器,将各种模型生成相关的RTF或HTML格式的文档,通过这些文档可以了解各个模型中的相关信息。
∙ 安装PowerDesigner15
去官网http://www.mypowerdesigner.com/,下载最新版本Powerdesiger。双击运行SybasePowerDesigner.exe,点击Next进入区域选择界面,选择PeoplesRepublicofChina(PRC),选择同意后点击Next,再一路点Next即可。
PowerDesigner15主要包括:
BPM(业务处理模型)
CDM(概念数据模型)
EAM(企业架构模型)
ILM(信息流模型)
LDM(逻辑数据模型)
OOM(面向对象模型)
PDM(物理数据模型)
Project(工程项目)
RequirementsModel(项目需求模型)
XMLModel(XML模型)
注意:不同的PowerDesigner产品,包含的模块是有区别的。
项目和框架矩阵
项目是PowerDesigner15的新概念,通过项目系统分析/设计人员可以对模型以及各类文档进行分组。项目也可以包含框架矩阵,以表格的形式体现各个模型之间的关系。
项目和框架矩阵解决了如何对模型进行统一管理的问题。
1.创建框架矩阵(FEAF-联邦企业架构框架)
打开PowerDesigner,选择File->NewProject,打开如图1-1所示。
图1-1
在Projecttype中单击Frameworks->FEAFProject节点,输入项目名并选择存放位置,单击OK后打开FEAF项目工作区,如图1-2所示。
图1-2
2.定义BusinessObjects(业务对象列表)
单击Planner'sView行,What列ListofBusinessObjects(业务对象列表)网格的图标,打开ListofBusinessObjects窗口。单击NewDocument按钮,打开SelectanObject窗口,单击NewModel节点,如图1-3所示。
图1-3
单击“确定”按钮,打开ListofEntities(实体列表)窗口,如图1-4所示。
单击AddaRow(增加行),在列表中增加一个实体,名称为“图书馆”,代码为LIBRARY。单击OK返回ListofBusinssObjects窗口,将Status进度栏拖至10%的位置,表示业务对象设计进度已经达到10%,将审查的CDM名称改为CDM_BO,如图1-5所示。此时,在项目框架矩阵中业务对象列表网格右上角会同步显示模型设计进度。单击窗口关闭按钮返回FEAF项目工作区。
图1-4
图1-5
3.定义SemanticModel
单击Ower'sView行,What列SemanticModel(语义模型)网格的图标,打开SemanticModel窗口,再单击NewDocument按钮,在下拉菜单中选择GeneratefromListofBO选项,打开SelectanObject窗口,单击ListofBusinessObjects->CDM_BO节点,如图1-6所示。
图1-6
单击确定按钮,返回到CDMGenerationOptions窗口,在名称中输入"CDM_Semantic",单击“确定”按钮,打开CDM设计窗口。展开左侧Browser窗口,注意在BusinessObjects中定义的实体已经自动同步到SemanticCDM中,选中"图书馆"实体,按下鼠标左键将"图书馆"实体拖入CDM图中,如图1-7所示。
图1-7
4.网格中的其他模型,大家自己试着创建。
企业架构模型(EnterpriseArchitectureModel,EAM)是PowerDesigner15新增的功能,它能够以图形的方式展现企业架构,从而取代文字描述;以偏向非技术性的表达方式,从不同层面表达不同的图示结果。
企业架构模型从业务层,应用层和技术层对企业的体系架构进行全方面的描述,包括业务流程,业务功能,系统,人员等单元的结果及行为,以确保各单元能够符合企业的战略发展方向。PowerDesigner企业架构模型包括7种企业架构流程图,这7种企业架构流程图可以划分为以下3个层面。
1.业务层
∙ 组织结构图:通过树状图的形式来表现组织结构。
∙ 业务通信图:用于分析和表现业务元素之间的关系,流程,连接。
∙ 进程图:用于表示和人员,组织机构无关的业务架构,描述业务功能以及对进程进行分类。
∙ 城市规划图:用于提供组织架构的总图。
2.应用层
∙ 应用架构图:展示应用架构的高级视图,可用于识别应用,组建,数据库,服务及其之间的关系。
∙ 面向服务图:用于展示应用及SOA架构业务服务之间的关系。
3.技术层
技术基础架构图:企业架构模型的目标是给用户展示组织的总图,为用户提供将功能,进程,系统细化的方法。企业架构模型包含导入/导出其他PowerDesigner模块的功能。
4.7种企业架构流程图如下:
组织结构图:
(1)选择File->NewModel命令,弹出图1-1所示的窗口,在左侧模型类型中选择企业架构模型,在右侧输入模型名称,并选择起始图类型-组织结构图,单击“确定”按钮即可创建出新的组织结构图。
图1-1
(2)单击组织单元工具栏按钮,在图中空白位置单击即可创建组织单元对象(图标为),双击图标弹出如图1-2所示的属性窗口。
图1-2
(3)在属性窗口中输入组织单元的基本属性,如名称输入"公司",代码输入"Company"后单击“确定”按钮,在图中将显示出此组织单元的名称。接着按照上面的方式,继续增加"人事部",“财务部”,“研发中心”等部门。
(4)单击层次链接工具栏按钮,在“公司”图标上按下鼠标左键,在拖动鼠标到“人事部”图标上释鼠标左键,在图中将会把“公司”和“人事部”链接起来。此时再双击“公司”图标并查看“下级组织”标签,在“下级组织”列表中会列出“人事部”。接着按照上面的方式,链接“公司”和“财务部”,“研发中心”,完成后的图如1-3所示。
图1-3
业务通信图:如图1-4所示。
图1-4
进程图:如图1-5所示。
图1-5
城市规划图:如图1-6所示。
图1-6
应用架构图:如图1-7所示。
图1-7
面向服务图:如图1-8所示。
图1-8
技术基础架构图:如图1-9所示。
图1-9
业务处理模型
业务处理模型(BusinessProcessModel,BPM)以业务需求作为出发点,用图形的方式描述系统的任务和业务流程,注重的是处理过程中数据流程。业务处理模型是从业务人员的角度对业务逻辑和规则进行详细描述的概念模型,并使用流程图表示从一个或多个起点到终点间的处理过程,流程,消息和协作协议。使用于应用系统的系统分析阶段,完成系统需求分析和逻辑设计。BPM与PowerDesigner其他模块之间的关系如图4-1所示。
图4-1
PowerDesignerBPM包括3种流图:
∙ 处理层次流图(Processhierarchydiagram):以层次化的方式识别系统的功能。
∙ 业务处理流图(Businessprocessdiagram):用于分析一个/组流程的具体实现机制。
∙ 处理服务流图(Processservicediagram):以业务服务的方式来表述业务流程图。
这里介绍业务处理流图:
(1)选择File->NewModel命令,弹出如图4-2所示窗口。
图4-2
(2)在NewModel窗口中选择要建立的模型类型-BusinessProcessModel(业务处理模型),在General选择卡中选择所需要使用的处理语言。处理语言可分为:分析语言,服务编排语言和协作语言三大类。
(3)单击“确定”按钮,打开默认BPM工作窗口。其右下角状态栏中会显示出所使用的处理语言。
(4)选择View-Diagram-NewDiagram命令可以打新的BPD业务流程图。
(5)定义起点。起点(Start)是BPD所表达的整个处理过程的起点,表示的是处理过程和处理过程外部的入口。
(5.1)从BPD创建起点
在工具栏中单击“起点”图标,在BPM工作区中单击鼠标,在单击处会增加起点图标如图4-3所示,在给起点设置属性即可。
图4-3
(5.2)从起点列表创建起点
选择Model-Starts命令,打开“起点列表”窗口。新增一列即可创建一个新的起点,再给起点设置属性。Tools-DisplayPreferences-Category-Content-Start&End节点,打开Start&End的显示参数窗口,选中Name复选框,即可在图标下方显示起点名称。
(6)定义处理过程。处理过程可以认为是为了达到某个目标而执行的动作,如按照指定需求设计软件。每个处理过程都至少有一个输入流和输入出流。
在工具栏中单击“处理过程”图标,即可在工作区创建一个处理过程并设置处理过程的属性。
(7)定义组织单元。组织单元是指为处理过程负责的组织,可以使公司,系统,服务,组织,用户或者角色,也可以认为是使用更高级处理过程的业务伙伴。
在工具栏中单击“组织单元泳道图”图标或“组织单元”图标。即可创建组织单元并设置属性。
(8)定义流程。流程表示存在或可能存在数据交互的两个对象间的交互关系。用箭头的表示流程。
在工具栏中单击“流程/资源流程”图标。即可创建流程并设置属性。
(9)定义消息格式。消息格式定义了流程间的两个对象所要交互数据的数据格式。如果没有数据交互,可以不用定义任何消息格式。
选择Model-MessageFormates命令,打开消息格式列表。单击空行或单击新增工具栏按钮,新增消息格式并设置属性。
(10)定义资源。资源类似数据存储,可以是数据,文档,数据库,组件等处理过程,可以用于特殊事务。
在工具栏中单击“资源”图标,再在流程图中单击鼠标,在单击处将增加资源图标并设置属性。
(11)定义终点。终点是业务处理图中处理过程的终止点。
在工具栏中单击“终点”图标,再在流程图中单击鼠标,单击处将增加终点图标并设置属性。
注:Delete删除时,模型不再在工作区存在,但文件任然存在工作区中,DetachFromWorkspace是从将从模型和对象都从工作区删除。
(12)效果图如图4-4所示。
图4-4
概念数据模型
概念数据模型(ConceptualDataModel,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之间相互理解的共同语言,并不针对具体的数据库平台(如Oracle或SQLServer)和工具(PowerBuilder)。CDM所包含的对象通常并没有在物理数据库中实现。
CDM可以完成以下工作:
∙ 数据图形化,形象化
∙ 数据表设计的合法校验
∙ 转化为PDM(PhysicalDataModel,物理数据模型)
∙ 生成OOM(Object-OritentedMOdel,面向对象模型)的类图
通常CDM采用实体-联系图(Entity-RelationGraph,E-R图)来表示("实体"和“联系”的概念)。目前,E-R图示CDM最流行的一种表达方式。
1.基本概念和约定
1.1实体与属性
实体是现实世界中可区别于其他对象的“物体”,它可能是有形或无形的,具体或抽象的,有生命或无生命的。
每个实体有一组特征,称为实体的属性,用来描述实体的状态和特征。如:某个员工,姓名:吊丝,性别:男,这些指标表示了吊丝这个实体的各项属性。
实体与属性之间的关系如图5-1所示。
图5-1
1.2联系
实体可以通过联系(Relationship)相互关联。按照实体之间的数量对应关系,通常可以将联系分为:一对一联系(OnetoOne),一对多联系(OnetoMany),多对多联系(ManytoMany),递归联系(RecursiveRelationship)以及标识关系(IdentifyRelationship)等。
多对多联系递归联系
1.3域
域(Domain)是某个或某些属性的取值范围,定义域后可以被多个实体的属性共享使用,域的定义在模型设计中具有重要意义,使得不同实体中的属性标准化更加容易。
1.4业务规则
业务规则反映了信息系统所描述对象的特殊的数据完整约束。一个业务规则可以是一个行业标准,一个客户需求或一本软件开发规范手册。当实体中包含的信息发生变化时,
系统都会检查这些信息是否违反了特定的业务规则。因此在创建业务规则之前,必须首先明确数据之间存在的约束关系。
2.建立概念模型
2.1确定业务问题
在BPM中已经明确了业务流程问题,在此基础上从中提炼出需要存储的信息。其中包括与业务有关的实体,实体间的关系,特殊的业务规则等。这些问题将成为建立CDM的基础。
2.2建立概念模型
(1)选择File-NewModel命令,弹出如图5-2所示的窗口。选择ConceptualDataModel(概念模型)。
图5-2
(2)单击“确定”按钮,打开如图5-3所示的CDM工作区。在工作区包括左侧的浏览器窗口,右侧的设计窗口,下侧的输出窗口和浮动的工具窗口(Palette),可以利用工具窗口中的图标在设计窗口中设计E-R图。
图5-3
(3)建立实体及实体间的联系。
3.CDM生成LDM
LDM是PowerDesigner15的新增模型,用于完成信息系统的逻辑设计。虽然LDM任然独立于DBMS的,但却可以进行外部键,索引,视图等对象的设计工作。
CDM生成LDM的具体方法如下:
(1)打开CDM模型,选择Tools-GenerateLogicalDataModel命令,打开如图5-4所示的LDMGenerationOptions(生成LDM的选项设置)窗口。
图5-4
(2)选择Detail选项卡,进行其他选项的设置。
(3)选择Selection选项卡,可以选择CDM,实体,如图5-5所示。
图5-5
(4)单击“确定”按钮,开始生成LDM。如图5-7所示。
图5-7
注:LDM的主要内容是介于CDM与PDM之间。
4.CDM生成PDM
CDM完成的是信息系统的概要设计,但在数据库的物理设计阶段必须在此基础上进行详细的后台设计,只有将CDM转换成PDM才能完成该阶段的设计工作。在CDM生成PDM之前必须要选择一种DBMS作为目标数据库,CDM中定义的实体属性的数据类型将转换为目标数据库对的数据类型。
CDM生成PDM时,其中的对象要转换成PDM中的对象,即物理数据库中的对象。
CDM生成PDM的具体过程如下:
(1)打开CDM模型,选择Tools-GeneratePhysicalDataModel命令,打开如图5-8所示的窗口。在General选项中选择生成PDM的方式及参数。选中GeneratenewPhysicalDataModel单选按钮表示生成新的PDM,DBMS表示目标数据库管理系统(及版本),Name表示目标PDM的名称,Code表示目标PDM的代码。选中UpdateexistingPhysicalDataModel单选按钮则表示与已经存在的PDM合并生成新的PDM。
图5-8
(2)选择Detail选项卡,进行详细选择设置。
(3)选择Selection选项卡,选择要转换为PDM表的实体,如图5-9所示。
图5-9
(4)单击"确定"按钮,开始生成PDM。如果在Detail选项卡中选中Checkmodel复选框,则在ResultList窗口中将显示在处理过程中出现的警告,错误和提示信息。
(5)根据提示对出现的警告和错误进行修改。
(6)生成PDM如图5-10所示。如果PDM中显示的信息过多,难以阅读,可以通过更改Tools-DisplayPreferences命令设置以减小信息的信息。
图5-10
5.CDM生成OOM
当从CDM生成OOM时,PowerDesigner将CDM中的对象和数据类型转换成UML语言支持的OOM对象和数据类型。
CDM生成OOM的的具体步骤如下:
(1)打开CDM模型,选择Tools-GenerateObject-OrientedModel命令,打开如图5-11所示窗口。
图5-11
(2)选择Detail选项卡,进行其他选项的设置。
(3)选择Selection选项卡,可以选择CDM,包和实体。
(4)单击“确定”按钮,开始生成OOM。效果如5-12所示。
图5-12
6.小结
以上通过CDM生成LDM,PDM和OOM模型,只是将系统的概要设计转化成相关的内容,为系统的详细审计生成了框架,此后还需要再LDM,PDM和OOM中进一步设计,例如:在PDM中添加存储过程,触发器,在OOM中设计用例图等。
物理数据模型PDM
物理数据模型(PhysicalDataModel,PDM):在数据库的逻辑结构设计好之后,就需要完成其物理设计,PDM就是为实现这一目的而设计的。
物理数据模型是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本。利用该SQL脚本在数据库中产生现实世界信息的存储结构(表,约束等),并保证数据在数据库中的完整性和一致性。
1.基本概念
1.1表,列,视图,主键,候选键,外部键
1.2存储过程和触发器
1.3默认与规则
当用户没有为某一个列赋值是,数据库服务器为该列自动插入的值即为默认。规则就是在数据库的管理中指定的允许或不允许那些值插入某些列。默认和规则共同帮助系统维护数据的完整性。默认和规则能够与列和用户定义的数据联系在一起。
1.4完整性检查约束(唯一性和主键约束,参照完整性约束,检查约束等)
完整性是指数据库中数据的正确性和一致性。通过对数据库插入,删除和修改数据值进行限制和约束来实现数据的完整性,数据库提供两种保持数据完整性的方法:一是在定义时定义完整性约束,二是定义规则,约束,索引和触发器。
1.5索引(组合索引,唯一索引,聚簇索引和非聚簇索引)
2.创建PDM
2.1建立PDM
建立PDM有4种方法:
∙ 使用设计环境直接建立PDM
∙ 从现存数据或数据库SQL脚本逆向工程建立PDM
∙ 从CDM采用内部模型生成方法建立PDM
∙ 从面向对象模型中类图采用模型的内部生成方法建立PDM
这里使用第一种方法。
(1)选择File-NewModel命令,在打开的窗口左侧选择PhysicalDataModel选项,如图6.1所示。
图6-1
(2)在右侧输入模型名称,从DBMS下拉列表框中选择一个目标DBMS。
(3)选择ExtendedModelDefinitions选项卡,如果利用PowerBuilder来开发应用程序,当PowerBuilder连接数据库时将表和列的扩展属性保存到其Catalog表中,选中PowerBuilder复选框,生成PDM可以从Catalog表中获取表和列的扩展属性。如图6-2所示。
图6-2
(4)单击“确定”按钮,打开新建的PDM设计窗口,如图7-3所示。工作区包括左侧浏览器窗口,右侧的设计窗口,下侧的输出窗口和浮动的工具窗口,可以利用工具窗口中的图标在设计窗口中设计PDM
(5)利用工具栏中的Table图标创建表,利用Reference图标创建参照关系,利用View图标创建视图,Proceduce图标创建存储过程。其他工具与CDM中的工具栏使用方法一样。
(6)创建表,列,序列,参照及参照完整性,域,索引,视图,存储过程等。效果如图6-3所示(只创建了表和列)。
图6-3
3.PDM逆向工程
PowerDesigner的逆向工程包括从处理语言(ProcessLanguage)逆向生成业务处理模型,从对象语言(Objectlanguage)逆向生成面向对象模型,从数据库后数据库脚本逆向生成物理数据模型从XML定义(XMLDifinition)逆向生成XML模型。这里介绍PDM逆向工程,从现有DBMS的用户数据库或现有数据库SQL脚本中生成PDM的过程,即实现由现有数据库的物理结构导出其物理设计的过程。
(1)选择File-ReverseEngineer-Database命令,打开NewPhysicalDataModel窗口,输入模型名称并选择DBMS,单击“确定”按钮,如下图所示。
(2)打开DatabaseReverseEngineeringOptions窗口,选择Options选项卡,如下图所示。
(3)选择Selection选项卡,选择逆向工程的方式,Usingscriptfiles(SQL脚本)或者Usingadatasource(ODBC中定义的数据源)。
(4)如果选中Usingscriptfiles单选按钮,在下图所示窗口中单击AddFiles图标,打开选择SQL文件窗口,选择一个或多个SQL文件即可。
(5)如果选中Usingadatasource单选按钮,单击DatabaseReverseEngineeringOptions窗口右下角的ConnecttoaDataSource图标,打开ConnecttoaDataSource窗口,在该窗口中选择一个ODBC数据源或选择单击Configure进入ConnectionProfilreDefinition窗口配置数据源并输入用户名和密码,单击Connect按钮,如下图所示。
(6)选择TargetModels选项卡,单击AddModels图标选择已存在的PDM文件,则将逆向工程的结果与之合并为一个PDM。如果不选择PDM文件,则重新生成一个新的PDM。
(7)单击DatabaseReverseEngineeringOptions窗口中的“确定”按钮,打开如图如下图所示窗口,选择要逆向工程的数据库中的全部或部分对象。效果如下图所示。
注:在连接数据时,如果遇到com.mysql.jdbc.Driverclasnotfind错误时,请查看环境变量中是否配置了数据库连接jar的路径。如下图所示。
小结:PMD逆向工程可以保证现有物理数据库与PDM同步,同时也为系统设计人员分析,改进现有数据库提供了方便,这也是PowerDesigner的精彩之处。
面向对象模型
面向对象模型是利用UML(统一建模语言)的图形来描述系统结构的模型,它从不同角度实现系统的工作状态。这些图形有助于用户、管理人员、系统分析人员、开发人员、测试人员和其他人员之间进行信息交流。这里主要介绍用例图,序列图和类图。
1.面向对象模型OOM
面向对象模型是利用UML的图形描述系统结构的模型,可以利用PowerDesigner的面向对象模型进行创建。PowerDesigner支持UML的下列图形:
∙ 用例图(UserCaseDiagram):通常用来定义系统的高层次草图,它从用户角度描述了应用的系统功能,指出了各个功能的外部操作者。
∙ 序列图(SequenceDiagram):描述系统如何实际完成在UserCase图中定义的功能。可以画出对象(类的实例)之间交互时产生的时序关系。
∙ 类图(ClassDiagram):描述类与类之间的静态关系。其中包括一系列的包,类,接口和它们之间的关系。类图是定义其他图的基础。
2.创建面向对象模型
(1)选择File-NewModel命令或者单击工具栏中的NewModel图标,弹出NewModel窗口。
(2)在左侧是Model Type栏中选择Object-OrientedModel(面向对象模型)选项,在右侧输入模型名称,语言,如下图所示。
(3)单击“确定”按钮,进入OOM设计工作区。在该工作区中可以定义OOM的属性和操作,也可以设计各种UML的图形。
(4)选择Model-ModelProperties命令,显示如下图所示OOM的ModelProperties窗口。
(5)定义完毕后单击“确定”按钮。然后选择File-SaveAs命令,以PubInfoSys.OOM这个名称将所定义的模型存盘。
(6)设置模型的选择。选择Tools-ModelOptions命令,打开ModelOptions(模型选项)窗口。如下图所示。
(7)单击SetAsDefault按钮,设置为默认选项,然后单击OK按钮。
3.设计用例图
3.1用例图用于系统需求分析阶段,进行系统需求和功能设计,它包含执行者和用例两个要素。执行者指用户在系统中的角色,用例是用户与计算机的一次交互。用例图主要用来描述每个用例将有哪些执行者进行参与。
∙ 定义用例:用例是外部可见的一个系统功能单元,这些功能由系统单元提供,通过一系列单元与一个或多个参与者之间交换的消息表达。
∙ 定义角色:角色描述了与系统相互作用的一组用户,最明显的角色是系统中的人,但也可能是系统本身。
∙ 定义关联:用例除了与其参与者发生关联外,还可以参与系统中的多个关系,允许定义的关联有关联,扩展,用例泛化,包括。
3.2定义用例图
定义用例图如下:
(1)单击“用例”图标定义4个用例,如下图所示。
(2)选中第一个用例双击,打开UseCaseProperties(用例属性)窗口,将Name属性修改为“查找”,将Code属性修改为Search,如下图所示。
(3)利用同样的方法,修改其他3个用例属性如下图所示。
(4)单击“执行者”图标定义3个执行者,如下图所示。
(5)选中第一个执行者并双击,打开ActorProperties窗口,将Name属性修改为“顾客”,将Code属性修改为Buyer,如下图所示。
(6)利用同样的方法,修改其他两个执行者的属性。
(7)定义执行者和用例之间的关系。单击“关系”图标,再单击执行者“顾客”并拖动鼠标至用例“查找”,释放鼠标,这时在执行者和用例之间建立了关系。双击该关系,打开AssociationProperties窗口,将Name属性修改为“查询商品”,将Code属性修改为SearchProduct。
(8)按照步骤(7)的方法,在其他执行者和用例之间建立关系。
(9)定义完成后的用例图如下图所示。
4设计序列图
4.1序列图(SequenceDiagram)是用来描述系统如何实现完成在UseCase图中定义的功能。可以画出对象之间的交互时产生的时序关系。它一方面描述了一次交互,交互中涉及类图中的类,另一方面细化了用例的描述。
序列图有角色(Actor),对象(Object),消息(Message)和激活期(Activation)几个要素如下图所示。
消息类型有:
∙ Message:消息
∙ SlefMessage递归消息
∙ CallMessage带有激活期的消息
∙ SelfCallMessage带有激活期的递归消息
∙ ReturnMessage返回消息
∙ SelfReturnMessage递归返回消息
4.2创建序列图
(1)选择File-NewModel命令,打开NewModel窗口。在窗口左侧的Modetype栏选择Object-OrientedModel选项,在右侧的Firstdiagram下拉列表框中选择SequenceDiagram选项,在Objectlanguage下拉框中选择Java选项,如下图所示。
(2)选择完毕后单击“确定”按钮,进入PowerDesigner设计工作区。
(3)单击Palette工具栏的Object图标,在右边空白工作区单击鼠标,出现对象符号如下图所示。
(4)在设计区空白区域右击,鼠标指针变为箭头形状,双击对象符号,弹出ActorProperties窗口,在Name文本框中输入"呼叫方",在Code文本框中输入“Caller”,然后单击“确定”按钮。
(5)重复步骤(3)(4),添加其他两个对象,Name分别为“交换机”和“被叫方”,Code分别为Exchange和Receiver。
(6)单击Palette工具栏中的Message图标,在“呼叫方”对象下方的虚线处单击,拖动鼠标至“交换机”对象下方的虚线释放鼠标,即可增加一个消息。
(7)在设计区空白区域右击,鼠标指针变成箭头形状,双击对象符号,弹出“消息属性”窗口,在Name文本框中输入“拿起话筒”,在Code文本框中输入“LiftReciever”,然后单击“确定”按钮。
(8)重复(6)(7),添加其他消息。
(9)最终的序列图如下图所示。
(10)选择File-Save命令,保存新建的面向对象模型
5设计类图
类图是用一种抽象的方法来描述对象及对象之间的关系,并不能描述对象的所有细节。
5.1创建Class(类)
(1)选择File-NewModel命令,打开NewModel窗口。在窗口左侧的Modetype栏选择Object-OrientedModel选项,在右侧的Firstdiagram下拉列表框中选择ClassDiagram选项,在Objectlanguage下拉框中选择Java选项,如下图所示。
(2)在类图工作区中单击Palette工具栏中的Class图标,创建一个类,双击类图的图形符号,打开ClassProperties窗口。
(3)选择Detail选项卡,可以定义类的更多属性。
(4)选择Attributes选项卡,可以为类增加属性。单击AddaRow图标,增加属性,也可以单击AddAttributes图标打开Selection窗口列表模型中其他类的属性,选择需要的属性,然后单击“OK”按钮即可。
(5)选择Operations选项卡,单击AddOperation图标,打开Selection窗口,从中可以选择该模型中其他类包含的操作。选择完毕后,单击OK按钮,所选的操作即可增加到当前类上。
(6)选择InnerClassifies选项卡,可以为该类定义内部类。内部类是PowerDesigner的一个分类器,在UML中分类器是一个包含有属性和操作等的模型元素。定义完毕后可以通过Preview选项卡观察当前类或接口所包含的内部类代码,如下图所示。
(7)除了以上属性外,还可以定义Associations,Identifies等属性。属性定义完毕后创建的内容如下图所示。
5.2创建联系
在类图中,联系有关联,依赖,泛化和实现联系。
6.生成Java的源代码
如下图所示类图,生成Java源代码。
(1)在类图中选择Language-GenerateJavaCode命令,打开Generation窗口,显示模型中包含的类。
(2)在Selection选项卡的Classes选项卡中选择类,在Directory栏中输入Java源代码的目标路径。
(3)在Options选项卡中定义Java生成选项。
(4)在Tasks选项卡中定义Java生成任务选项,如下图所示。
(5)单击“确定”按钮,开始生成Java源文件,生成完成显示GeneratedFiles窗口。
(6)选择一个源文件,单击Edit按钮,将在文本编辑器中显示该文件的内容。如下图所示。
7.根据Java代码生成类图
(1)选择File-ReverseEngineer-ObjectLanguage弹出如下图所示。
(2)在Objectlanguage栏选择Java,单击确定进入如下界面,如下图所示。
(3)点击Add,添加Java文件,再单击确定即可生成相应的Java类图(在Reverseengineer栏中还可以选择Java字节码文件或文件目录),如下图所示。