ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PowerDesigner

PowerDesigner

原创 Linux操作系统 作者:archfree 时间:2008-03-15 12:54:27 0 删除 编辑

PowerDesigner是一个功能强大而使用方便的工具集,为新一代数据库应用的建模提供了全面的支持。具体地,PowerDesigner提供:

1. 需求分析模型(Requirements Model-RQM)

2. 企业业务流程模型(Business Process Model-BPM)

3. 概念数据模型(Conceptual Data Model-CDM)

4. 物理数据模型(Physical Data Model-PDM)

5. 对象模型(Object Oriented Model-OOM)

6. 信息流动模型(Information Liquidity Model-ILM)

7. XML 模型(XML Model)

8. O/R 映射支持(如Hibernate,JDO等)

并提供了强大的模型间生成、链接和同步技术(具体地转换关系见图2),比如由CDM可以生成PDM,PDM可以生成OOM,OOM可以生成应用程序的代码,并可以从应用程序代码(如C#, Java等)生成类图(双向工程)等。并提供了冲突分析(impact analysis),有效地评价各个模型修改带来的冲击,从而得到更好的敏捷性和可预测性。这样,用户可以根据需求分析模型(RQM),从面向对象分析设计(OOM)开始,依次建立用例图,时序图及类图,由类图转化为CDM以及PDM;或者从结构化分析开始,依次产生流程分析模型(BPM), CDM,PDM并转化为类图等。为了支持企业团队的开发管理,PowerDesigner更进一步,建立了所有模型的统一共享环境,一套元数据库(metadata repository),为企业级应用的分析、设计与开发提供了一个企业建模、UML和数据建模等三种建模的集成化的工作环境。

.PowerDesigner 应用实例3.1客户订单处理子系统需求定义建立需求模型的目的是定义系统边界,使系统开发人员能够更清楚地了解系统需求,同时为计划迭代的技术内容提供基础,为估算开发系统所需成本和时间提供基 础。 PowerDesigner提供了有效的需求建模,保证更准确的项目结果,并通过建立设计和需求的关联保证更好的可追踪性。图3给出的是客户订单处理子系 统中的部分需求模型,PowerDesigner通过层次结构显示了该系统的主要功能。用户可以通过属性对话框(如图3所示),进行详细的需求描述。同 时,为了进一步分析该子系统的业务需求,结构及机制,发现企业中当前存在的问题并确定改进的可能性,可以进行业务流程分析。图4给出了该子系统的最上层的 企业业务模型表示。在PowerDesigner中,不仅支持业务过程建模,而且也提供了业务流程仿真,业务流程经过配置,可以导入Simul8中进行仿 真,帮助用户对业务过程进行量化的评价。由于该企业原来已经有若干Legacy子系统,包括CRM,ERP以及订单管理系统,因此,该企业提出基于XML的Web Service的集成,同时为了有效响应市场的变化,必须建立决策支持子系统,如库存趋势分析或客户响应分析等,提高企业资源的合理分配及其敏捷性。3.2 概念数据模型 (CDM) 建模概念数据数据模型(CDM)设计是建模过程的关键阶段,此阶段把现实世界中需要保存的信息抽象成信息世界中的实体(Entity)和关系 (Relationship),产生实体关系图(E/R Diagram)。这一阶段可以为高质量的应用提供坚实的基础。建立概念数据模型(CDM)是一项综合性的工作。通常在一个清晰的、包括全部业务过程描述 的应用需求的基础上,由具有业务领域知识的专家和数据模型专家共同合作,把这些原始数据转化成数据流程图和概念数据模型。PowerDesigner并不限制CDM的建模过程,用户可以(1)从数据项开始,"自底向上"地从最小的数据单位开始向上构造,当收集到足够的信息时 进行归纳,把数据项分组放入不同的实体中,然后归纳产生域;(2)从感兴趣的对象开始,即实体开始,然后指定它们的属性。当收集到足够信息时,进行归纳产 生域;图4的CDM就是根据上面的系统需求分析中的从实体选择出发,如在图3的需求模型以及图4业务过程模型中,可以抽取Customer, Order, Product等实体,逐渐完善各实体的属性,并建立它们之间的关系。(3)也可以"自顶向下",从域开始,使用这种方法,在收集开发数据模型前,必须有 某些业务问题所需要的预备知识,以此对数据进行标准化。PowerDesigner支持非常复杂的概念模型建模,包括中间实体(Association Entity),标识符(Identifier),检验约束(包括数据项或实体属性的取值范围及有效性规则),实体继承,复杂关系定义,如:一对多,多对 一及多对多以及反身(Reflexive)与依赖关系等(见图5)。这里需要特别指出,PowerDesigner引入了业务规则。定义了6种业务规则的类型:定义型(Definition),事实型(Fact),有效型 (Validation),公式型(Formula),需求型(Requirement)和限制型(Constraint)。这些规则能够定义实体、联系 的状态、数据一致性及业务表达式。在CDM转换成PDM的过程中,概念级定义的业务规则直接转换成物理级的业务规则。在PDM 中,实现业务规则需要使用特定的RDBMS 的代码(例如,触发器或存储过程)。上述功能大大增强了数据库系统的分析建模能力。3.3 物理数据模型(PDM)建模CDM反映了业务领域中信息之间的关系,它不依赖于物理实现。只有重要的业务信息才出现在CDM 中。PDM定义了模型的物理实现细节。例如,所选RDBMS的数据类型特征、索引定义、视图定义、存储过程定义、触发器定义等。 PowerDesigner支持CDM和PDM之间的双向工程。图6是由图5所示的CDM模型自动生成的PDM模型,CDM中的实体,实体属性,标识符, 联系,甚至继承关系等都将自动转换为PDM中的表,列,主键或外键,参照完整性等。用户可以通过属性对话框,修改PDM模型并反向生成并合并 (Merge)原来的CDM模型。PDM建模除了最基本的数据库建模(如表,列,主键/外键以及关系定义)的支持,还支持触发器(Trigger)和存储过程或函数的建立与优化,并建立它 们与业务规则的关系。用户可以针对选择的RDBMS,进行数据库的优化设计。并且经过PDM的模型校验后,设置生成属性(自12.0后,为了提高用户设置 的复用性,这些设置可以保存在模型内/外),可以生成SQL脚本,直至通过ODBC直接生成到最终的DBMS中。当然PowerDesigner还支持由 DBMS的逆向生成PDM模型,即用户可以选择DBMS中现有的表,生成它们的PDM模型。整个过程都是可以迭代进行,不断完善用户的物理数据库模型。在完成PDM建模以后,用户可以根据需求,如本书中的实例中要求基于XML的Web Service的集成,因此需要生成相应的XML模型。PowerDesigner可以根据用户的选择(如选择所需的表等)生成相应的XML模型,并提供 了进一步编辑与修改环境。图7是本书实例对应的XML模型及其属性对话框。3.4 数据仓库(Data warehouse)建模数据仓库的作用在于从企业的应用系统中获取信息并转换到一个新的数据库,通过对新库中的历史信息和面向主题的信息进行分析,为决策提供支持。以本书的客户 订单处理子系统为例,企业需要作出如下典型决策,如哪些产品最有利可图?哪些客户会为我们带来最大利益?哪些环节需要花费很高的费用?哪些市场活动运行得 最好,为什么?我们有可能会失去哪些客户等等。图8是PowerDesigner建立的本书实例相关的一个典型数据仓库,表示订单立方体(Cube)包含客户,产品,区域以及门店等维度(Dimension),在ORDER刻面(Fact)定义了不 同的评价(measures)来进行订单分析。通过这样的数据仓库,用户可以查看某个区域的某个产品的订单情况,也可查看每天的订单变化趋势等等。PowerDesigner不但是业界知名的数据库设计工具,也是数据仓库模型设计工具。支持多种数据仓库模型,包括星型模式(Star)和雪花模式 (Snowflake)。这是同行业中最优秀、最灵活的开发工具,可用来设计一个关系的或OLAP(联机分析处理)的软件仓库。PowerDesigner在数据仓库设计工具市场中占有最大份额。它能从已有的数据库进行反向工程,从运行系统中将现存的数据结构抽取出来形成数据模型,使设计变得简单。3.5 面向对象模型(OOM)建模除了数据库建模,采用标准建模语言UML,对企业应用系统从需求,分析与设计,实施等不同阶段的全面建模,也是目前的主流方式。 PowerDesigner支持UML1.3的所有模型从PowerDesigner11.0开始就全面支持UML2.0。在PowerDesigner中用户可以采用典型的面向对象分析方法,如用例驱动的软件分析与开发,即由需求模型出发,建立用例图,类图及其顺序图,进而 组件与部件图。同时,PowerDesigner是一个集成环境,各个模型之间可以快捷的模型同步与管理。特别地,本书实例是数据驱动的企业应用,因此, OOM可以有PDM来自动生成(如图9)。(特别需要指出,OOM和PDM地关系等价于模型级的O/R映射关系,可以很直接地支持现有比较流行地O/R 映射地框架,如Hibernate, JDO等,在1.8节中提到Hibernate代码生成的支持。)用户在此基础上,对OOM修改,进一步定义系统的动态行为特性,如通过顺序图,活动图 等。图10是订单处理子系统中的典型顺序图。当然用户在进行OOM建模的过程中,会加深对应用系统的理解,通常会对先前的PDM甚至CDM进行优化,可以 利用PowerDesigner的双向工程,在重新生成并合并已有模型。3.6 信息流模型(ILM)建模在企业应用的分析与开发整个过程中,会有大量的模型产生,这些模型之间都存在相应的关系。PowerDesigner创新地提出信息流模型(ILM),并 通过非常直观的映射编辑器来表达模型之间的信息流动关系,大大方便了企业级建模的管理能力。图11是订单处理子系统的典型信息流模型以及信息流动关系的定 义,这里表示的是PDM和OOM之间的一个信息映射关系。3.7 程序生成的支持在建模的基础上,PowerDesigner可以生成应用程序代码(如C#, Java等),当然也可以反向由应用程序更新相应的模型如类图(双向工程)。因此用户可以选择建模或代码优先的不同的软件开发过程。特别地,PowerDesigner由于其内置的模型映射关系(包括O/R mapping即PDM和OOM之间的映射关系),可以很直接支持目前比较流行的ORM mapping框架,如Hibernate,JDO的支持。图12是典型的Hibernate的映射文件的代码预览。不仅如此,PowerDesigner提供了UI界面生成的支持,如现在比较流行的JSF(Java Server Faces)支持,真正实现了以数据为中心应用程序的完整的建模与开发环境。3.8 团队开发的支持企业级应用的开发通常都是有一个庞大的团队来完成,而且在整个软件开发过程中的不同阶段,会产生庞大的分析与设计模型,必须提供一个理想的团队开发解决方 案,允许多个建模成员在一个相同的模型上同时工作,这个和传统的软件代码版本管理如CVS,ClearCase有相似之处,不同的是模型的管理粒度,如支 持类图甚至类及其属性的版本管理等。PowerDesigner基于RDBMS提供了所有模型的统一共享环境,一套元数据库(metadata repository),成为企业知识库,图13给出了一个典型实例,具体包括:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7338284/viewspace-207335/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-03-04

  • 博文量
    27
  • 访问量
    62522