关闭

关闭

关闭

封号提示

内容

首页 PowerDesigner基础入门.doc

PowerDesigner基础入门.doc

PowerDesigner基础入门.doc

上传者: huoying0403 2010-12-18 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《PowerDesigner基础入门doc》,可适用于IT/计算机领域,主题内容包含PowerDesigner基础入门PowerDesigner基础入门PowerDesignerUML建模简介引言   PowerDesigner支持符等。

PowerDesigner基础入门PowerDesigner基础入门PowerDesignerUML建模简介引言   PowerDesigner支持UML的所有图包括用例图、序列图和类图、活动图表和组件图表等并全面支持UML。改进了面向对象分析与设计(OOAD)分析方法并增强了与开发过程的集成。PowerDesigner能够帮助您构建适应现代IT发展的传统商务和电子商务系统使用Java等面向对象的语言以及XML等新技术以物理或虚拟的方式与我们的数据库技术合并。我们的目标是根据您的需求提供随时随地访问信息、控制业务流程的能力并通过计算机和最新技术赋予企业在当今任何市场上先拔头筹的竞争优势。我们的分析方法和设计技术将会是多种多样的从业务流程建模到UML面向对象分析和设计以及传统的关系建模等。本文将帮助您深入了解UML这项强大的技术它可以帮助您的企业创建出高效的传统商务和电子商务系统。面向对象的分析在您准备为企业作出系统和软件投资前必须首先了解企业的实际需求明确所部署的技术将如何帮助您的企业获取更大的成功。您可以使用UML借助用例图、序列图和活动图来进行分析。这些图表将帮助您规划系统的范围、动态性能、以及表现方式等。不必考虑实施细节您希望获得的只是按照您的需求而表现的系统性能用例图(TheUseCaseDiagram)UML用例图提供了一个系统环境的建模方式。它能够帮助您确定系统应用程序的外部和内部元素以及系统范围。作为图形建模模式它在您需要与所收集的系统需求进行对话时也将有所帮助对于研制成品的开发团队来说更是有着举足轻重的重要性。对于企业的所有者或第一次接触该软件产品的用户也有很大的帮助作用。用例图能够以可视化的方式表达系统如何满足所收集的业务规则以及特定的用户需求等信息。在项目后期也能够用到UML用例图。您可以通过用例图中定义的需求来协助测试项目的相关功能。您不仅可以验证系统性能是否无错误(无崩溃或明显的非逻辑响应)还可以验证系统运行时是否按照要求执行了指定命令。这样您可以测试系统是否完全满足了要求以确信成品可以投入生产也就是说它已完全满足了用户的需求。只有确保满足了合理、实用的各项需求才能确保IT项目的更大成功。序列图(TheSequenceDiagram)您可以使用UML序列图细化需求并对设计元素进行链接。序列图允许高层和低层对象间的交互文档。该交互在角色(与用例图中的角色相同)和类实例(运行于计算机内存中的技术对象和细节对象)之间显示。通过序列图您可以按照系统特定方案中事件(消息)的精确顺序来描述随时间变化的系统行为。使用序列图进行用例分析并引导设计:您可以决定将对用例图所定义的管理任务负责的系统对象类型并决定哪种对象将管理系统内外的“会话”或通信。由于消息已从序列图中抽出您可以描述类和接口(我们最后要编译和部署的代码元素)所需的某些关键操作(方法)。活动图(TheActivityDiagram)UML活动图设计用于帮助您了解系统中对象的动态变化。用于描述某一特定类或一组类如何协同工作。与序列图有所不同活动图不是一系列与时间相关的通信而是从一个任务到另一任务的控制转移同时指定谁(哪个对象)对发生的任务负责。UML活动图也是业务流程的技术视图。可对业务工作流进行分析或在“业务流程建模”工作后可获得活动图。活动图还可帮助构造系统内元素的详细动态视图(EJB如何互操作等)。通过分析推动设计通过分析模型可捕获独立于实施细节之外的系统意向和预期行为与使用的语言、部署的应用程序服务器或使用的体系结构都没有关系。但是设计阶段开始后一切都发生了变化。您必须进入生产环境的细节并将软件构建至特定的体系结构。设计是对系统的实施。如果设计是由分析得到的您可以更加确信所编写的系统行为的正确性确认所开发的成果将是一个按需求构建的系统。您将获得高度成功让用户得到所需要的系统。您还可以直接利用分析得出的信息而无需在设计过程中重新生成从而缩减开发时间由于不必“重新复制”任何工作因此减少了人为错误。通过分析我们可获得什么呢?通过用例图可以发现对象并促进类和接口的创建。一个或更多类和接口可以实现一个角色您可以在角色定义中直接创建类和接口。您还可以将角色链接到现有的类和接口显示如何使用一条代码来满足所分析的多个元素。通过序列图可以发现方法并促进类操作的创建。如果您需要向类发送消息您可以调用该类的方法。序列图中的消息可以用来自动创建操作或链接到现有操作。您可以通过链接跟踪方法的功能包括将哪些作为输入内容和必须返回哪些内容等等。设计所包含的内容您已经知道要构建的内容现在您需要表述如何构建。您需要确定业务逻辑所在的位置:可以置于应用程序服务器的EJB等组件中也可以置于使用VB或PowerBuilder等语言、作为客户端应用程序一部分的类或组件中或者做为触发器和过程内置于关系数据库中。您需要根据需求做出一些选择包括扩展性、安全、性能和可访问性等方面。UML类图和组件图将用于定义详细的技术系统静态结构。类图(TheClassDiagram)UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构。既然类图用来模拟开发中所维护的实际代码显然它是Java或PowerBuilder等对象语言的概括性表述。您还可以使用UML类图来概括XML中的复杂结构令其更易于开发和理解。可以从UML类图上生成代码。还可以在开发过程中编辑该代码以完善、测试和部署最终运行的应用程序。由于PowerDesigner在对象语言和UML类图之间具有:的映射功能您还可以实施反向工程代码读取源文件并创建新的类图。您可以更深入地理解现有系统并简化集成和维护工作。组件图(TheComponentDiagram)UML组件图将被用于在更大的黑匣视图(BlackBoxView)中描述高级对象的定义和相关性。它仍然是一个设计模型,并且是代码的直接概括。例如一个EJB的组件标识直接链接到实施所必需的一系列类和接口并将生成所需代码来推动最终bean的开发。组件图比组件体系结构的代码层视图更容易理解和管理。还可以通过编写组件接口的文档来实现代码的共享和反复使用用户无需(或很少)了解组件的实施细节即可在其他项目和系统中使用这些代码。右击CustomerEntityBeanCMP选择CreateUpdateClassDiagram,生成如下classdiagram:循环叠代工程世界不是一成不变的您的IT项目也如此。在您了解需求通过分析进行了设计并构建了系统的某些元素后必然还会遇到新的变化如要更新定义又或者现有用例图中存在某些需要改正的错误代码在IDE和文本编辑器中被编辑以及数据库被DBA优化等。必须管理和掌握所有需要更改的细节以确保所构建的系统能够与业务需求保持一致。往返工程的一个方案是当代码在开发过程中被更改时需要在类图中反映出来。具体细节如下:创建类图并将业务逻辑元素添加到模型中生成文件系统的应用程序代码在IDE或文本编辑器中编辑代码编辑设计此时忽略在生成的代码中所发生的更改对编辑内容实施反向工程直到与现有类图一致将设计过程中完成的工作与开发时编辑的内容同步(合并)生成新代码该代码是设计代码和开发人员更改代码的总和当对类图进行了修改以反映新的设计内容时应该使用同步合并技术防止丢失开发人员的工作成果同时允许设计人员接受或拒绝开发过程中所做的更改。这样PowerDesigner令IT能够完全控制体系结构这正是制胜的关键。PowerDesigner的功能并不是仅限于此!现在设计模型已被更新您可以将这些更改链接到分析中。有可能您在分析中发现了新的需求可以将这一更改反映到设计中并编写代码。使用PowerDesigner中领先的CompareMerge技术(在SeptemberBlueprint中讨论过)您可以在开发周期的所有模型和阶段中获得真正的往返同步。对象图(ObjectDiagram)与类图一样对象图也是一个UML静态结构图它定义了系统在给定时刻具有的物理元素而没有具体考虑系统的动态活动。它与代码一一对应但与类图不同我们现在讨论的是具体的分类器而不是分类器定义。将对象图描述为类实例图可能最为合适。对象图的主要用途是进行分析。类图中无法表示的类之间存在不确定的约束。我们将使用对象图来记录这些约束。而且在我们查看所管理的具体类实例示例以阐明这些元素之间的交互作用关系时对象图还允许我们定义具体的“Whatif”场景。以下内容适用于OO建模的初学者:分类器是抽象的对象结构定义。分类器可以告诉我们所管理的是什么类型的数据(属性成员表示数据元素)以及该分类器具有什么能力(操作方法表示对象的行为)。实例是具体的分类器示例。假定定义一个名为Customer的类该类具有Name属性。类Customer的实例“JaneDoe”是姓名恰为“JaneDoe”的客户。实例通常具有比分类器更丰富的含义这是因为分类器表示某种级别的概述。收集某个分类器的若干个实例或示例可能有助于您理解其用途并更好地使用它。因此对象图是类图的具体形式表示类实例样本并且显示了键值和关系。例如CustomerBean类具有以下客户实例:该客户的ID为姓名为“JohnDoe”。该客户实例与三个订单实例(三份订单)相关订单编号分别为、和。协作图(CollaborationDiagram)   协作图和序列图非常相似。实际上序列图和协作图可以有效地交替使用并可以简便的相互转换。其区别在于用户阅读和理解的方式不同。序列图具有很好的层次性并且围绕时间构造。协作图则主要是围绕对象结构构造。通过在图中对消息进行编号可以表示消息的顺序。采用这种方式时即使图的结构不是基于时间的也将保持定时关系。协作图借助于系统中元素或对象之间的交互作用表示系统的动态方面即在一段时间内的表现方式。它通过表示系统的静态结构来对类图和对象图进行补充但不是借助于基于结构的关系而是在系统对象之间传递交互作用“消息”。构造协作图时还可以在概念级测试静态模型。在类图中定义了类实例这些类实例之间的交互作用定义了一个具体的使用方案以及将在这些元素之间发生的内部通讯。我们还可以使用其他角色来表示系统的外部作用者和内部使用者如用例图。例如我们可以建立一个订单输入系统以供客户和销售代表使用。客户通过创建新订单与该系统交互作用。订单对象与销售对象之间进行对话该对话由链接消息表示在此情况下只有两个消息:一个是来自Orders类的订单请求一个是来自Sales类的订单确认。对一个链接上的消息数量没有限制。我们在此讨论的对话以一个订单请求开始然后是对该订单的确认。适用性   协作图对于设计人员尤其重要因为它阐明了对象的作用。您可以在序列图之前构造协作图(如果您计划构造这两个图)但通常是在完成类图之后构造协作图以说明从类中导出的对象之间的交互作用。可以使用一个或多个协作图来实现一个用例或者将复杂行为分割成多个逻辑子行为。状态图(StatechartDiagram)   状态图(也称为状态机)描述了特定类或组件在其整个生命周期中不断变化时的行为。该图显示是什么触发了从一种状态向另一种状态的转换以及在该类上调用哪些操作以提供该状态的行为或触发这种转换。例如订单在被创建时处于初始状态。在客户确认订单正确后订单将进入确认状态。在发货以后订单需要从确认状态进入发货状态。因此每当一个类在其生命周期的不同阶段具有不同的可用选项(不同的有效行为)时您都可以使用状态图来将这些规则和条件建模。生命周期中的每个阶段都是该对象的一种状态而每个改变状态的触发器都代表从一种状态到另一种状态的转换。可以根据需要从某个状态转换到任意多个其它状态也可以从其它多个状态进入某个状态。子状态图   若要保持状态图简单和易读您可能发现所定义的一个或多个状态实际上涉及到更为复杂的行为以至于它本身就可以定义为一个状态图。此时与向主图中添加大量复杂细节的做法相比更好的做法是将这个单独的状态分解为多个子状态进而组成一个辅助图以定义父状态的更为复杂的内部行为。部署图(DeploymentDiagram)   部署图可以帮助我们确定所有代码元素在服务器、工作站和数据库中的存放位置。有的节点需要依赖硬件或软件框来运行部分业务逻辑。这些节点交互作用以演示我们开发的多个计算机和系统是如何交互作用和集成的。节点中包含将部署到数据库、应用程序或Web服务器中的组件实例。部署图用于将组件实际部署到服务器中。通过定义希望组件运行的位置我们可以快捷的映射、部署和管理分布在客户端应用程序和应用程序服务器端组件之间的业务逻辑或数据库端服务器逻辑。以下是要管理的物理体系结构的:模型。例如假定我们已决定实现两个EnterpriseJavaBeans并且在应用程序服务器上运行它们。下图显示了单个节点以及该节点内的两个组件(每个EJB一个组件)。我们可以看出EmployeeBean依赖于同一应用程序服务器内的CustomerBean。结论   在我们借助用例图、序列图、活动图、类图和组件图完成基本UML建模时我们将需要其它一些工具来定义有关系统中某些特定元素的详细信息。我们可能希望在对象图中使用精确的示例来表示对象的结构或者借助于状态图来更多地了解在其内部具有多个复杂状态的类的行为。我们需要使用协作图从结构角度而不是从时间角度来考察系统组件之间的交互作用。最后还需要使用部署图来显示所有系统组件在运行环境中的物理硬件或服务器中所处的位置从而更详尽的了解分布式体系结构的使用方式。UML为我们提供了更加实用的图表以便完成对业务逻辑的技术分析、设计、开发、或部署。将这种图表与传统的数据建模方法和新的业务流程建模方法相结合我们可以在从高级需求到技术和数据需求以及物理实现的各个方面来全面了解推动软件开发的所有因素SybasePowerDesigner是一个“一站式”的企业级建模及设计解决方案它能帮助企业快速高效地进行企业应用系统构建及再工程(Reengineer)。IT专业人员可以利用它来有效开发各种解决方案从定义业务需求到分析和设计以至集成所有现代RDBMS和Java、NET、PowerBuilder和WebServices的开发等。PowerDesigner是结合了下列几种标准建模技术的一款独具特色的建模工具集:业务流程建模、通过UML进行的应用程序建模以及市场占有率第一的数据建模这些建模技术都是由功能强大的元数据管理解决方案提供支持的POWERDESIGNER通用特性需求管理:PowerDesigner可以把需求定义转化成任意数量的分析及设计模型并记录需求及所有分析及设计模型的改动历史保持对它们的跟踪。MicrosoftWord导入导出功能使业务用户能轻易处理流程工作。  文档生成:PowerDesigner提供了Wizard向导协助建立多模型的RTF和HTML格式的文档报表。项目团队中非建模成员同样可以了解模型信息增强整个团队的沟通。  影响度分析:PowerDesigner模型之间采用了独特的链接与同步技术进行全面集成支持企业级或项目级的全面影响度分析。从业务过程模型、UML面向对象模型到数据模型都支持该技术大大提高了整个组织的应变能力。  数据映射:PowerDesigner提供了拖放方式的可视化映射工具方便、快速及准确地记录数据依赖关系。在任何数据和数据模型、数据与UML面向对象模型以及数据与XML模型之间建立支持影响度分析的完整的映射定义、生成持久化代码以及数据仓库ETL文件。  开放性支持:PowerDesigner支持所有主流开发平台:支持超过种(版本)关系数据库管理系统包括最新的Oracle、IBM、Microsoft、Sybase、NCRTeradata、MySQL等支持各种主流应用程序开发平台如JavaJEE、MicrosoftNET(C#和VBNET)、WebServices和PowerBuilder支持所有主流应用服务器和流程执行语言如ebXML和BPELWS等。  可自定义:PowerDesigner支持从用户界面到建模行为以及代码生成的客户化定制。支持用于模型驱动开发的自定义转换包括:对UML配置文件的高级支持、可自定义菜单和工具栏、通过脚本语言实现自动模型转化、通过COMAPI和DDL实现访问功能以及通过模板和脚本代码生成器生成代码。  企业知识库:PowerDesigner的企业知识库是存储在关系数据库中的完全集成的设计时知识库具有高度的可扩展性便于远程用户使用。该知识库提供以下功能:基于角色的模型和子模型访问控制版本控制和配置管理、模型与版本的变更报告以及全面的知识库搜索功能。PowerDesigner的知识库还可以存储和管理任何文档包括MicrosoftOffice和Project文件、图像和其他类型的文档。powerdesigner初学者必看PowerDesigner的模块组成PowerDesigner作为图形化的数据库模型设计工具软件其集成特性灵活采取模块化设计共由以下六个模块组成:、ProcessAnalyst:用于系统的需求分析可用于设计和构造数据流图(DFD)和数据字典。它支持多种处理建模方法用户可以选择适合自己应用环境的建模方法来描述系统的数据及对数据的处理。、DataArchitect:用于对概念层和物理层的交互式数据库设计和构造。使用DataArchitect可以很方便地设计数据库的概念模型并对该DBMS自动生成物理模型。该模块还提供高质量的文档生成能力和逆向工程能力可从现有的数据库中得到其物理模型和概念模型并生成相应文档。、AppModeler:应用建模工具用于物理建模和应用对象及数据组件的生成。、MetaWorks:用于团队开发、信息共享和模型管理。、WarehouseArchitect:用于数据仓库和数据集的建模和实现。、Viewer:用于以只读的、图形化方式访问整个企业的模型信息。在本课程的学习中只需要掌握ProcessAnalyst模块和DataArchitect模块的应用对其余模块只做简单的了解。PowerDesigner的模型和对象特性PowerDesigner的模型共有四种:、PAM:由ProcessAnalyst模块生成的处理分析模型。、CDM:由DataArchitect模块生成的概念模型。、PDM:由DataArchitect模块生成的物理模型。、WAM:由WarehouseArchitect模块生成的数据仓库模型。PowerDesigner是将一个大型应用程序分成若干项目每个项目可以包括模型每个模型还可以包括若干个子模型。PowerDesigner的对象特征PowerDesigner中的对象包括项目、模型、子模型以及它们的各自属性。PowerDesigner通过对这些属性的设置来描述其对象的特征这些属性称之为对象的特性。一般情况下对象的所有特性中只有名称和代码需要用户设置。ProcessAnalyst概述ProcessAnalyst是在数据库系统设计的需求分析阶段中用于设计信息系统处理分析模型PAM的模块。PAM的主要组成部分是数据流图(描述信息系统中所用到的基本数据及其处理分析过程)需求分析的目标:、对要处理的对象进行详细的调查了解用户对数据库的信息要求、处理要求和安全性完整性要求。、收集支持系统目标的数据并处理。、对新系统各种方案和设想进行研究、分析和比较选择优化的处理模型。在设计新系统的处理模型主要包括:数据流图、数据字典和处理逻辑表达工具等。本课程要求熟练使用PowerDesigner设计数据流图。数据流图是系统处理模型的主要组成部分它只在模型上精确描述系统中数据和处理的关系并详细描述系统的功能、输入、输出、数据存储等。而数据字典则是对数据的详细描述是各类数据属性的清单。结构化系统分析和设计技术(SADT):结构化系统分析和设计技术是构造数据流图的理论基础它是一种功能和数据的分析、分解的技术。SADT的中心问题是:将功能逐层分解为多个子功能并在分解的同时进行相应的数据分析和分解。系统功能的分解及其分解细化程度取决于对系统功能的理解因此对系统功能的理解程度不同可以导致功能分解的结果不同。要注意在功能分解的同时伴随相应数据的分析和分解。数据流程图的设计采取自上而下的方法首先将整个系统作为一个功能绘制顶层图然后逐级细化分解为多层次的数据流图。顶层图可以采取固定的模式:过程数据类分析法:过程和数据类关系:生成(Creat)、使用(Use)和无关系。ProcessAnalyst中过程与数据关系:创建(Creat)、插入(Insert)、更新(Update)、删除(Delete)和无关系。UC矩阵:建立一表第一横栏为过程名第一竖栏为数据类名内部是过程与数据类关系。CIUD矩阵:如同UC矩阵。可用于描述过程与数据项的关系也可用于描述过程与数据存储的关系。要确定过程与过程之间的关系应先确定过程与数据类之间的关系。ProcessAnlyst的基本功能通过建立处理分析模型PAM帮助系统分析人员收集数据、编写数据字典并绘制数据流图。具体还包含以下几个方面:()建立功能模型(OMT)和数据流图()建立层次型的处理模型()定制和打印模型文档()从概念数据模型(CDM)中引入数据项()应用OLE技术链接和嵌入其他应用中的对象。处理分析模型(PAM)简介PAM是对系统进行功能分析的处理分析模型。它定义了各系统元素(包括数据和处理过程)的静态组成以简洁的符号表示系统各元素之间的动态联系并描述系统对数据的转换和处理功能。可以采用PAM建立树状的层次结构模型。()​ PAM的对象()​ 数据项:对信息的最基本的描述元素()​ 外部实体:从系统中接受数据或者把数据传送到系统的对象()​ 处理过程:数据的转换处理()​ 数据流:在处理过程、外部实体和数据存储间传送数据的流()​ 数据存储:模型中存储的要处理的数据()​ DataArchitect概述   DataArchitect是一种数据库设计工具主要用于进行概念数据模型(CDM)和物理数据模型(PDM)的设计及其相互转换与维护。其中概念数据模型就是ER图(实体关系图)将现实的应用抽象为实体与实体之间的联系。CDM的具体对象包括域(Domain)、数据项(DataItem)、实体(Entity)、实体属性、和继承链(inheritancelink)等。而物理数据模型则针对某中DBMS定义物理层次上的各类数据对象(包括表、域、列、参照、码、索引、视图、扩展属性和检查参数等)。()​ DataArchitect的功能()​ 用ER图为信息系统建模(CDM)。在物理层次上建模:基于某一DBMS生成相应的物理数据模型(PDM)。()​ 对物理数据模型维护:定制PDM以满足物理上和性能上的要求。()​ 为目标DBMS生成一个数据库创建脚本。()​ 生成完整性触发器。()​ 定制和打印模型报告生成CDM和PDM的设计文档。()​ 从现有数据库和应用进行逆向工程对CDM和PDM进行维护。()​ 为PDM的对象定义扩展属性。()​ DataArchitect的概念数据模型CDMCDM的基本概念CDM:信息系统的概念设计工具即实体联系图(ER图)CDM就是以其自身方式来描述ER图。此时不考虑物理实现的细节只表示数据库的整体逻辑结构独立于任何软件和数据存储结构。如下列职员和项目两实体的ER图:()CDM的定义、通过设置模型特性定义对CDM的某些特定要求打开ModelOptions对话框设置CDM选项:)Enforce:不允许属性值偏离某些域(包括Datatype、check、rules))Defaultdatatype:域和属性的缺省数据类型)Dataitemunique:设置数据项是否有唯一码)Allowreuse:设置是否允许数据项作为多个实体的属性)Defaultaddoption:当作为实体属性加入数据项时指明是重用还是复制该数据项)Relationuniquecode:设置联系是否有唯一码)Confirmdelete:删除整个数据对象还是只删除其符号、通过设置模型特性定义CDM的说明信息打开Modelproperties对话框设置CDM说明信息:包括项目名和项目代码、模型名和模型代码、标签、设计人、版本号、创建时间、修改时间等。对模型的信息说明可增强模型的可读性。()CDM的建立建立CDM的过程就是对信息系统进行概念层次上的抽象和表达的过程用CDM的各种对象来描述信息系统内部的实体之间的关系。建立CDM的步骤:)为CDM定义域(Domain):包括设置所建域的域名、数据类型、长度、精度和扩展选项等。)定义数据项:指定数据项名、代码、选择域(或指定数据类型、长度、精度)等。)定义实体:打开ListofEntities对话框建立相关实体)定义实体属性:包括设置实体名称、代码、规则等并为所建立的实体引入相关的数据项。)定义联系:在相关实体之间建立联系同时设置所建联系的属性(包括联系名、设置一对多、多对多等可选联系等)。)建立子模型:首先应确定所建CDM应划分成几个子模型再对各子模型加入相应的各个实体。)定义继承:使用继承连接建立实体间继承关系并设置继承属性(包括继承名称、代码、设置继承方向等)。)定义检查参数并检查所建立的CDM。()从PDM生成CDM从PDM生成CDM是逆向工程的一种因此需要根据物理层次上的改动对概念层次上的模型进行相应的修改。PDM和CDM中的对象之间的对应关系如下表:PDM中的对象CDM中的对象表(Table) 实体(Entity) 表中的列(Tablecolumn)实体属性(Entityattribute)主码或外码(PrimaryorForeignkey)标识符 参照(Reference)一对多联系 连接表(Jointable)多对多联系DataArchitect的物理数据模型PDM()​ PDM的基本概念PDM考虑了数据库的物理实现包括软件和数据存储结构。PDM的对象:表(Table)、表中的列(Tablecolumn)、主码和外码(PrimaryForeignkey)、参照(Reference)、索引(Index)、视图(View)等。PDM的功能:用图形的形式表示数据的物理组织生成数据库的创建和修改脚本定义完整性触发器和约束生成扩展属性从已存在的数据库进行逆向工程()PDM的定义、通过设置模型特性定义对CDM的某些特定要求打开ModelOptions对话框设置PDM选项:)Enforce:不允许属性值偏离某些域(包括Datatype、check、rules、Mandatory、Extended))Defaultdatatype:域和列的缺省数据类型)Uniquecode:设置是否参照唯一码)AutomigrateFK:设置是否自动移除外码)Confirmdelete:删除整个数据字典中相关联的数据对象还是只删除其符号、通过设置模型特性定义PDM的说明信息打开Modelproperties对话框设置PDM说明信息。()PDM的建立)建立表(Table):包括设置所建域的域名、数据类型、长度、精度和扩展选项等。)定义域:指定数据项名、代码、选择域(或指定数据类型、长度、精度)等。)定义列:打开ListofEntities对话框建立相关实体)定义参照:包括设置实体名称、代码、规则等并为所建立的实体引入相关的数据项。)定义码:在相关实体之间建立联系同时设置所建联系的属性(包括联系名、设置一对多、多对多等可选联系等)。)定义索引:首先应确定所建CDM应划分成几个子模型再对各子模型加入相应的各个实体。)定义视图:使用继承连接建立实体间继承关系并设置继承属性(包括继承名称、代码、设置继承方向等)。)定义扩展属性:)定义触发器:)PDM的检查建立PAM模型的基本步骤()建立一个新的PAM模型框架。()输入所建模型特性并为模型设置选项。打开“ProcessModelProperties”对话框设置PAM模型特性(包括项目名称、代码、作者、日期、版本号和相关辅助说明等)。()对根处理模型建立相关对象:建立并定义处理过程:使用Process工具建立新的处理过程编辑所建处理过程的名称、代码等特性。建立并定义外部实体:使用Externentity工具建立新的外部实体并设置相关特性。在对象之间建立数据流:使用Flow工具联系相关的对象设置数据流特性。()分解根处理模型:对处理过程进行分解:使用Decomposition工具选择相关处理过程出现处理的子处理窗口在子处理窗口中建立新的对象重新定义数据流。按需要建立相关的控制流:使用Flow工具在相关对象间建立数据流编辑特性将数据流类型改为控制流。按需要继续对处理过程进行分解重复上述两步。()建立数据项和域建立数据项:打开数据项列表加入项目相关的数据项并设置数据项的类型、长度、精度等(或直接加入数据项所属域)。建立域:打开域列表加入项目相关的域并设置域的类型、长度、精度等。为数据项设置检查参数:对相关数据项规定数据有效范围、单位等。()为数据流加入数据项直模型顶层开始为数据流加入相应的数据项:返回根处理为相应的数据流选择相关的数据项。做下一层分解在子处理窗口中为数据流加入相关数据项。()排序数据项建立数据存储:使用Datastore工具建立数据存储设置数据存储特性(包括名称、代码等)。建立对象创建流:使用Dataflow工具在处理过程与数据存储间创建数据流并设置数据流特性将其数据流类型设置为"ObjectCreation"。将数据项存储到数据存储中:打开"ModelOptions"对话框在"Datastores"中选择"Autofill"(使数据流中的数据项自动存储到数据存储中)为对象创建流加入相关数据项。把数据存储与模型其它部分连接起来:使用"Flow"工具在数据存储与其它相关对象间建立数据流并为所建的数据流加入相关的数据项。将最底层的处理过程通过其特性设置为最底层(选中"Lowestlevel")。检查模型:使用功能键F执行检查。()调整显示增加标题框:在根处理模型中选择Edit>AddTitle加入标题框设置标题属性。改变窗口颜色:选择Window>WindowColor改变颜色。排列符号。调整数据流显示。显示相关文本:可以通过选择File>DisplayPreference打开显示参数设置对话框选中contents以显示数据项。PowerDesigner教程:概念数据模型目标:本小节主要介绍PowerDesigner中概念数据模型CDM的基本概念。一、概念数据模型概述   数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:)能够比较真实地模拟现实世界)容易为人所理解)便于计算机实现   概念数据模型也称信息模型它以实体-联系(EntityRelationShip,简称ER)理论为基础并对这一理论进行了扩充。它从用户的观点出发对信息进行建模主要用于数据库的概念级设计。    通常人们先将现实世界抽象为概念世界然后再将概念世界转为机器世界。换句话说就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统这种模型就是我们所说的CDM然后再将CDM转换为计算机上某个DBMS所支持的数据模型这样的模型就是物理数据模型,即PDM。   CDM是一组严格定义的模型元素的集合这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等其中包括了数据结构、数据操作和完整性约束三部分。)数据结构表达为实体和属性)数据操作表达为实体中的记录的插入、删除、修改、查询等操作)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等)二、实体、属性及标识符的定义   实体(Entity)也称为实例对应现实世界中可区别于其他对象的“事件”或“事物”。例如学校中的每个学生医院中的每个手术。   每个实体都有用来描述实体特征的一组性质称之为属性一个实体由若干个属性来描述。如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。实体集(EntitySet)是具体相同类型及相同性质实体的集合。例如学校所有学生的集合可定义为“学生”实体集“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。实体类型(EntityType)是实体集中每个实体所具有的共同性质的集合例如“患者”实体类型为:患者{门诊号姓名性别年龄身份证号}。实体是实体类型的一个实例在含义明确的情况下实体、实体类型通常互换使用。实体类型中的每个实体包含唯一标识它的一个或一组属性这些属性称为实体类型的标识符(Identifier)如“学号”是学生实体类型的标识符“姓名”、“出生日期”、“信址”共同组成“公民”实体类型的标识符。有些实体类型可以有几组属性充当标识符选定其中一组属性作为实体类型的主标识符其他的作为次标识符。 三、实体、属性及标识符的表达  本小节主要介绍PowerDesigner概念数据模型以及实体、属性创建。一、新建概念数据模型  )选择File>New,弹出如图所示对话框选择CDM模型(即概念数据模型)建立模型。)完成概念数据模型的创建。以下图示对当前的工作空间进行简单介绍。(以后再更详细说明))选择新增的CDM模型右击在弹出的菜单中选择“Properties”属性项弹出如图所示对话框。在“General”标签里可以输入所建模型的名称、代码、描述、创建者、版本以及默认的图表等等信息。在“Notes”标签里可以输入相关描述及说明信息。当然再有更多的标签可以点击"More>>"按钮这里就不再进行详细解释。二、创建新实体)在CDM的图形窗口中单击工具选项版上的Entity工具再单击图形窗口的空白处在单击的位置就出现一个实体符号。点击Pointer工具或右击鼠标释放Entitiy工具。如图所示)双击刚创建的实体符号打开下列图标窗口在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。三、添加实体属性)在上述窗口的“Attribute”选项标签上可以添加属性如下图所示。注意:  数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中DataItem的Uniquecode和Allowreuse选项有关。P列表示该属性是否为主标识符D列表示该属性是否在图形窗口中显示M列表示该属性是否为强制的即该列是否为空值。如果一个实体属性为强制的那么这个属性在每条记录中都必须被赋值不能为空。)在上图所示窗口中点击插入属性按钮弹出属性对话框如下图所示。注意:这里涉及到域的概念即一种标准的数据结构它可应用至数据项或实体的属性上。在以下的教程中将另立章节详细说明。目标:本小节主要介绍属性的标准检查约束、如何定义属性的附加检查。一、定义属性的标准检查约束标准检查约束是一组确保属性有效的表达式。在实体属性的特性窗口打开如图所示的检查选项卡。在这个选项卡可以定义属性的标准检查约束窗口中每项的参数的含义如下参数说明Minimum属性可接受的最小数Maximum 属性可接受的最大数Default属性不赋值时系统提供的默认值Unit单位如公里、吨、元Format属性的数据显示格式Lowercase属性的赋值全部变为小写字母Uppercase属性的赋值全部变为大写字母Cannotmodify该属性一旦赋值不能再修改ListOfValues属性赋值列表除列表中的值不能有其他的值Label属性列表值的标签二、定义属性的附加检查当Standardchecks或Rules不能满足检查的要求时可以在AdditionalChecks选项卡的Server子页上通过SQL语句中使用MINMAX、LISTVAL、RULES、UPPER、LOWER几个变量来定义Standard和Rule,如图所示MINMAX、LISTVAL、UPPER、LOWER在StandardCheck中定义的Minimum和Maximum、Listvalues、uppervalues、lowervaluesRULES在Rules特性窗口Expression选项卡中定义的有效性规则表达式目标:本小节主要介绍如何定义实体的主、次标识符。一、标识符   标识符是实体中一个或多个属性的集合可用来唯一标识实体中的一个实例。要强调的是CDM中的标识符等价于PDM中的主键或候选键。每个实体都必须至少有一个标识符。如果实体只有一个标识符则它为实体的主标识符。如果实体有多个标识符则其中一个被指定为主标识符其余的标识符就是次标识符了。二、如果定义主、次标识符)选择某个实体双击弹出实体的属性对话框。在Identifiers选项卡上可以进行实体标识符的定义。如下图所示)选择第一行“主标识符”点击属性按钮或双击第一行“主标识符”弹出属性对话框如图所示)选择"Attributes"选项卡再点击“AddAttributes”工具弹出如图所示窗口选择某个属性作为标识符就行了。待续。目标:本小节主要介绍数据项、新增数据项、数据项的唯一性代码选项和重用选项等。一、数据项   数据项(DataItem)是信息存储的最小单位它可以附加在实体上作为实体的属性。注意:模型中允许存在没有附加至任何实体上的数据项。二、新建数据项)使用“Model”>DataItems菜单在打开的窗口中显示已有的数据项的列表点击“AddaRow”按钮创建一个新数据项如图所示)当然您可以继续设置具体数据项的Code、DataType、Length等等信息。这里就不再详细说明了。三、数据项的唯一性代码选项和重用选项使用Tools>ModelOptions>ModelSettings。在DataItem组框中定义数据项的唯一性代码选项(UniqueCode)与重用选项(AllowReuse)。注意:如果选择UniqueCode复选框每个数据项在同一个命名空间有唯一的代码而选择Allowreuse一个数据项可以充当多个实体的属性。四、在实体中添加数据项)双击一个实体符号打开该实体的属性窗口。)单击Attributes选项卡打开如下图所示窗口注意:AddaDataItem与ReuseaDataItem的区别在于AddaDataItem情况下选择一个已经存在的数据项系统会自动复制所选择的数据项。如果您设置了UniqueCode选项那系统在复制过程中新数据项的Code会自动生成一个唯一的号码否则与所选择的数据项完全一致。ReuseaDataItem情况下只引用不新增就是引用那些已经存在的数据项作为新实体的数据项。目标:本小节主要介绍联系的定义及使用。 一、 联系   联系(Relationship)是指实体集这间或实体集内部实例之间的连接。 实体之间可以通过联系来相互关联。与实体和实体集对应联系也可以分为联系和联系集联系集是实体集之间的联系联系是实体之间的联系联系是具有方向性的。联系和联系集在含义明确的情况之下均可称为联系。 按照实体类型中实例之间的数量对应关系通常可将联系分为类即一对一(ONE TOONE)联系、一对多(ONETOMANY)联系、多对一(MANYTOONE)联系和多对多联系(MANYTOMANY)。 二、 建立联系在CDM工具选项板中除了公共的工具外还包括如下图所示的其它对象产生工具。 在图形窗口中创建两个实体后单击“实体间建立联系”工具单击一个实体在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键这样就在两个实体间创建了联系右键单击图形窗口释放Relationship工具。如下图所示三、 四种基本的联系即一对一(ONE TOONE)联系、一对多(ONETOMANY)联系、多对一(MANYTOONE)联系和多对多联系(MANYTOMANY)。如图所示四、 其他几类特殊联系除了种基本的联系之外实体集与实体集之间还存在标定联系(IdentifyRelationship)、非标定联系(NonIdentifyRelationShip)和递归联系(RecursiveRelationship)。标定联系:每个实体类型都有自己的标识符如果两个实体集之间发生联系其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时这种联系则称为标定联系也叫依赖联系。反之称为非标定联系也叫非依赖联系。 注意:在非标定联系中一个实体集中的部分实例依赖于另一个实例集中的实例在这种依赖联系中每个实体必须至少有一个标识符。而在标定联系中一个实体集中的全部实例完全依赖于另个实体集中的实例在这种依赖联系中一个实体必须至少有一个标识符而另一个实体却可以没有自己的标识符。没有标识符的实体用它所依赖的实体的标识符作为自己的标识符。换句话来理解在标定联系中一个实体(选课)依赖一个实体(学生)那么(学生)实体必须至少有一个标识符而(选课)实体可以没有自己的标识符没有标标识符的实体可以用实体(学生)的标识符作为自己的标识符。 递归联系:递归联系是实体集内部实例之间的一种联系通常形象地称为自反联系。同一实体类型中不同实体集之间的联系也称为递归联系。例如:在“职工”实体集中存在很多的职工这些职工之间必须存在一种领导与被领导的关系。又如“学生”实体信中的实体包含“班长”子实体集与“普通学生”子实体集这两个子实体集之间的联系就是一种递归联系。创建递归联系时只需要单击“实体间建立联系”工具从实体的一部分拖至该实体的别一个部分即可。如图五、 定义联系的特性在两个实体间建立了联系后双击联系线打开联系特性窗口如图所示。 六、 定义联系的角色名   在联系的两个方向上各自包含有一个分组框其中的参数只对这个方向起作用RoleName为角色名描述该方向联系的作用一般用一个动词或动宾组表。如:“学生to课目 ”组框中应该填写“拥有”而在“课目To学生”组框中填写“属于”。(在此只是举例说明可能有些用词不太合理)。七、 定义联系的强制性   Mandatory表洋这个方向联系的强制关系。选中这个复选框则在联系线上产生一个联系线垂直的竖线。不选择这个复选框则表示联系这个方向上是可选的在联系线上产生一个小圆圈。八、 有关联系的基数联系具有方向性每个方向上都有一个基数。举例“系”与“学生”两个实体之间的联系是一对多联系换句话说“学生”和“系”之间的联系是多对一联系。而且一个学生必须属于一个系并且只能属于一个系不能属于零个系所以从“学生”实体至“系”实体的基数为“,”从联系的另一方向考虑一个系可以拥有多个学生也可以没有任何学生即零个学生所以该方向联系的基数就为“,n”,如图所示待续。PowerDesigner开发技巧与使用powerdesigner设计经验本文档不讲述如何使用PowerDesigner而是讲述如何将PowerDesigner的特点结合数据库设计的方法更好的设计一个数据库系统。采用PowerDesigner设计数据库PowerDesigner作为数据库建模和设计的CASE工具之一在数据库系统开发中发挥着重要作用。运用PowerDesigner进行数据库设计不但给人直观地理解模型而且充分运用数据库的技术优化数据库的设计。PowerDesigner支持Sybase、Oracle、Informix、SQLServer等多种数据库系统在应用系统做数据库迁移时不必维护多个数据库脚本。对于采用结构化分析(SA)ER图、数据流图直至最后的数据库物理图都是系统设计时不可缺少的一个部分当数据库物理图完成后应该产生系统的数据字典。运用PowerDesigner完全能够完成这一设计流程。对于采用面向对象的分析(OOA)由于数据库采用的是RDBMS因此存在对象和关系数据库之间的映射也需要进行数据库设计。两种数据库模型PowerDesigner可以设计两种数据库模型图:数据库逻辑图(即ER图或概念模型)和数据库物理图(物理模型)并且这两种数据库图是互逆的。数据库逻辑图是对现实世界的一种抽象体现实体之间的关系可以有对、对多、多对多等关系。特别说一点在扩充ER图中有概括这种关系体现类型之间的一种子集联系它定义了超类和子类。在PowerDesigner设计的ER图中不具备这种关系但在ERWin设计的模型中支持这种关系因此在用ERWin图设计的模型转化为PowerDesigner的模型时注意这种关系。数据库物理图中是逻辑模型的物理实现体现了表间的参照关系。在物理模型中不可能存在多对多的关系。在逻辑图向物理图转换时多对多的关系变成两个对多的关系。逻辑模型和物理模型有着紧密的联系也有本质的区别。逻辑模型的设计遵循数据库设计理论的第三范式(在一般的数据库应用达到第三范式即可)逻辑模型要求具有应用系统所表达的所有信息并消除数据冗余。物理模型是在逻辑模型的基础上为了优化应用系统的性能而采用增加冗余创建索引等数据库技术它主要用非规范化的一些理论。在考虑设计的任何非规范化之前

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/134
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部