<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>sunangel</title>
    <description>精雕细刻，构筑软件，王天下</description>
    <link>http://sunangel.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>在PD中如何用物理模型导出E-R图</title>
        <author>sunangel</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://sunangel.javaeye.com">sunangel</a>&nbsp;
          链接：<a href="http://sunangel.javaeye.com/blog/182498" style="color:red;">http://sunangel.javaeye.com/blog/182498</a>&nbsp;
          发表时间: 2008年04月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          以经画好了PDM,不知道能不能导出E-R图,怎么导??<br /><br />可以转化成CDM,就是ER图在pd中的表示了.但是效果不会太好,关系是表现不出来的.如果是做设计应该先有CDM再导到PDM,反向来做我感觉意义不大
          <br/>
          <span style="color:red;">
            <a href="http://sunangel.javaeye.com/blog/182498#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 14 Apr 2008 10:28:50 +0800</pubDate>
        <link>http://sunangel.javaeye.com/blog/182498</link>
        <guid>http://sunangel.javaeye.com/blog/182498</guid>
      </item>
      <item>
        <title>PowerDesign12 温故知新</title>
        <author>sunangel</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://sunangel.javaeye.com">sunangel</a>&nbsp;
          链接：<a href="http://sunangel.javaeye.com/blog/182477" style="color:red;">http://sunangel.javaeye.com/blog/182477</a>&nbsp;
          发表时间: 2008年04月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          PowerDesigner http://www.sybase.com/powerdesigner ) 最初由Powersoft公司开发，后来为Sybase公司并购。从1989年到2003年的十几年间，PowerDesigner经历了巨大的变化，从一个单一数据库设计工具发展为一个全面的数据库设计和应用开发的建模软件。PowerDesigner面向数据分析、设计和实现，集成了UML (统—建模语言) 和数据建模的CASE工具。它不仅可以用于系统设计和开发的不同阶段 (即系统需求分析、对象分析、对象设计以及数据库设计和程序框架设计) ，绘制系统的数据流程图DFD和E-R图，以及生成物理的建表程序、存储过程与触发器框架等，也可以满足管理、系统设计、开发等相关人员的使用。<br />1wPz0[-j0      PowerDesigner包含4个模型，即业务处理模型 (BPM) 、概念数据模型 (CDM) 、物理数据模型 (PDM) 和面向对象模型 (OOM) 。这4个模型覆盖了软件开发生命周期的各个阶段，图4-1表示了各个模型的相互关系及其作用。<br />5uD$g.A`@0在软件开发周期中，首先进行的是需求分析，并完成系统的概要设计；系统分析员可以利用BPM画出业务流程图，利用OOM和CDM设计出系统的逻辑模型：然后进行系统的详细设计，利用OOM完成系统的设计模型，并利用PDM完成数据库的详细设计，最后，根据OOM生成的源代码框架进入编码阶段。冰城网Y LI\urV<br />   1. PowerDesigner的特性建模工具的重点曾经完全放在数据建模这一个方面，而随着需求的不断提高，商业流程建模和UML已经成为软件开发不可缺少的部分。从PowerDesigner的变化，可以看出它正在努力发展成为UML建模工具，但同时又不放弃自己的特长，即提供更好、更方便的数据建模能力。PowerDesigner支持UML，包括新的业务处理建模能力，改善了的基于UML的对象模型，而且可以在一个丰富的图表环境中，支持传统的和新增的建模技术。因此，对于那些需要跨平台作业和使用多种类型编码的项目，可以大大地缩短开发时间，降低复杂度。PowerDesigner还具备一个完整的版本资料库 (repository) ，用来贮存和管理所有建模和设计过程中的信息，并将最大限度地减少其中不一致的部分，从而极大地提高了开发者的效率。冰城网 TM,zlZ:Ly+MP{3S<br />市场上有很多工具提供数据建模，包括数据仓库建模、对象建模、业务流程建模以及UML建模等，但这些产品都无法与将所有的功能集于一体的PowerDesigner相媲美。在努力将商业需求和IT技术需要结合时，建模工具之间的一致性显得尤为重要。通过PowerDesigner，有可能通过一套完整的工具来集合三种建模技术——业务流程建模、数据建模和UML建模，从而使商业和IT部门能够更容易进行项目合作，帮助客户实施更多连贯的、成功的项目。<br />'rPQADhh _0PowerDesigner主要特性包括：冰城网(J5I)M"`4w1L&i(^<br />1) 业务过程建模，允许非IT专业用户用一个简单的图示模型，进行实际业务过程的设计或建模。冰城网 Rrw5S(h!~j<br />2) 数据建模，利用基于可靠方法、真正的两级 (概念上和物理上) 关系数据库建模，设计并生成数据库模型。同时还支持数据仓库建模技术。<br />m'd2xs![ Gg03) 对象建模，使用标准的UML技术 (所有UML图) 完成设计和分析，并且利用定制的生成器，自动地生成源代码，如Java、XML、Web Services、C++、PowerBuiler、Visual Basic和Microsoft .Net等。冰城网y%U(p%P!h b9Fz@<br />4) 企业版本库，PowerDesigner的企业版中加入了企业级版本库。可以查阅井共享工作组里所有成员的模型和信息。版本库可升级支持角色安全设置、版本控制、并具备搜索及报告能力。冰城网_X8u9^)A<br />2. 业务处理模型业务处理模型 (business process model，简称BPM) 主要用在需求分析阶段。这个阶段的主要任务是理清系统的功能，系统分析员在与用户充分交流后，应得出系统的逻辑模型。BPM用于从业务人员的角度对业务逻辑和规则进行详细描述，并使用流程图来表示从—个或多个起点到终点间的处理过程、流程、消息和协作协议。<br />t?8|/W0k$pRE*]'P03. 概念数据模型概念数据模型 (conceptual data model，简称CDM) ，主要用在系统开发的数据库设计阶段，是按用户的观点来对数据和信息进行建模，并具体用实体-联系图 (E-R图) 来体现。CDM静态地描述系统中的各个实体以及相关实体之间的关系，系统分析员通过E-R图来表达对系统静态特征的理解。E-R图实际上相当于对系统的初步理解所形成的一个数据字典，系统的进一步开发将以此为基础。冰城网 n:L.uxt(J!S&KJ<br />概念数据模型的主要功能包括：<br />s|3ZE#z[d%L]01) 以图形化 (E-R图) 的形式组织数据。<br />aE5P)BF4wX02) 检验数据设计的有效性和合理性。冰城网HL+o*iW5S Z/Co-O<br />3) 生成物理数据模型 (PDM) 。冰城网_Zh6Yrv_<br />4) 生成面向对象模型 (OOM) 。冰城网s5zyFu3sG+o&]<br />5) 生成可定制的模型报告。冰城网 HT4XVzn_ S6O<br />4. 物理数据模型物理数据模型 (physical data model，简称PDM) ，提供了系统初始设计所需要的基础元素，以及相关元素之间的关系。但是，在数据库的物理设计阶段，必须在此基础上进行详细的后台设计，包括数据库存储过程、触发器、视图和索引等。物理数据模型是以常用的DBMS (数据库管理系统) 理论为基础，将CDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本，利用该SQL脚本在数据库中产生现实世界信息的存储结构 (表、约束等) ，并保证数据在数据库中的完整性和—致性。冰城网Z(EiRJ~%y<br />利用概念数据模型可以自动生成物理数据模型。物理数据模型的主要功能包括：<br />Gr&k]%OJ&_wT01) 可以将数据库的物理设计结果从一种数据库移植到另一种数据库。<br />i+Y.@Ri0C*g_u02) 可以利用逆向工程把已经存在的数据库物理结构更新生成物理模型或概念模型。<br />*H EFxn s7P+V(l03) 可以生成可定制的模型报告。<br />5o `'`!I#v+R7e04) 可以转换为OOM。冰城网O_OC4nv'J kj<br />5) 完成多种数据库的详细物理设计。生成各种DBMS (如Oracle、Sybase、SQL Server和SQL Anywhere等30多种数据库) 的物理模型，并生成数据库对象 (如表、主键、外部键等) 的SQL语句脚本。冰城网!D8V,t8S+XN<br />5. 面向对象模型面向对象模型 (object-oriented model，简称OOM) 是利用UML (统一建模语言) 的图形来描述系统结构的模型，它从不同角度表现系统的工作状态。这些图形有助于用户、管理人员、系统分析员、开发人员、测试人员和其他人员之间进行信息交流。冰城网|E5| {~:|O[ww<br />面向对象模型的主要功能包括：冰城网^,Qnd o4?<br />1) 利用统一建模语言UML的用例图 (use case diagram) 、时序图 (sequence diagram) 、类图 (class diagram) 、构件图 (component diagram) 和活动图 (activity diagram) 等来建立面向对象模型OOM，从而完成系统的分析和设计。冰城网I~4s,d n6m^K<br />2) 利用类图生成不同语言的源文件 (如Java、PowerBuilder、XML等) ，或利用逆向工程将不同类型的源文件转换成相应的类图。<br />7oY$z@VLpk2\_~03) 利用逆向工程将面向对象模型 (OOM) 生成概念数据模型 (CDM) 和物理数据模型 (PDM) 。冰城网/d'x PxK!L-@8s<br />6. 模型文档编辑器PowerDesigner还提供了模型文档编辑器 (multi-model report) ，用来为所建立的模型生成详细文档，根据各种模型生成相关的RTF或HTML格式的文档，开发人员可以通过这些文档来了解各个模型中的相关信息。<br />D\-]eZ ` m_Qs4g0 实验目的1) 初步了解系统分析和建模工具PowerDesigner的基本概念和操作界面。冰城网F7F,\ R+AOU<br />2) 了解PowerDesigner的4个模型：业务处理模型 (BPM) 、概念数据模型 (CDM) 、物理数据模型 (PDM) 和面向对象模型 (OOM) 及其相互关系与作用。<br />s MOf0Rl03) 用PowerDesigner工具进行简单系统分析建模操作。<br />4}8RPm/n%nf}0工具/准备工作在开始本实验之前，请回顾教科书相关内容需要准备一台装有Sybase PowerDesigner 10.0软件系统的计算机。<br />Il'|u U"pFG*r0实验内容和步骤在本实验中，我们以一个简单的“图书信息系统”为例，来学习PowerDesigner的基本操作。<br />4OWIr{ ?}@O0在应用PowerDesigner进行系统分析和设计之前，应该充分理解项目的软件需求说明书，找出元数据和中间数据，用实体将元数据组织起来，为设计E-R图做好准备。这一步是数据库分析与设计的基本功。冰城网;a)sdnz4g%f<br />例如：在“图书信息系统”中，其基本实体至少有图书、读者、书库、单位和借还书等5个，每个实体又有多个不同的属性。冰城网3a:AoriSA:y0y7^ J<br />步骤1：启动PowerDesigner，进入PowerDesigner的操作主界面。<br />Y1@sieq~rU0步骤2：在File菜单中单击New…命令，或者单击New按钮。在Model type（模型类型）框中，可以看到：Business Process Model(BPM,业务处理模型)、Conceptual Data Model(CDM,概念数据模型)、Object-Oriented Model（OOM，面向对象模型）和Physical Model(PDM,物理数据模型)等选项。在此，我们选择CDM并单击“确定”按钮。冰城网g-P:luG~ ~(lT@<br />步骤3：进入PowerDesigner的CDM操作窗口，在窗口上方有一组工具按钮图标，其中有实体的边框、联线、字体加粗、加黑等图标，但最常用的工具图标在Palette工具栏中，包括实体、关系、放大、缩小、移动等26个图标工具。用鼠标单击某个图标，再到界面中央单击，或拖动即可。<br />-\B a:e0g$^L&C0比如，“图书管理系统”的E-R图右5个基本实体，所以单击实体图标（entity）然后在操作界面中单击5下，得到5个实体框并适当布局。冰城网r)N0l9v4k1jO m<br />此时这5个实体还是空的，其名字可以临时任意选取，并且还没有属性，接下来，要逐步对每个实体的名字及其属性进行定义。<br />wsa ?:JNb!|,`0步骤4：定义实体。用鼠标双击第一个实体框，打开实体属性定义窗口，开始定义实体“图书”。在该窗口中，有许多对实体进行描述的选项卡，用户可以根据需要，对实体的宏观特征进行定义或描述。<br />!_!U7AI)c3f P*~0e)c0此例中，对Name栏输入“图书”，在Code处输入“Book”，在Number处输入实体中实例（记录）的最大个数“10000000”它表示图书馆的最大藏书量。这个数字的作用，是便于计算并估计数据库服务器的磁盘容量。<br />5l$A7AR ~l2Hk1]0步骤5：定义属性、属性的约束和算法。单击Attributes按钮，进入定义该实体的属性界面。<br />S)^ L0j5M_0每一行定义一个属性，包括属性名称，属性代码，数据类型，使用域、是否强制（M）、是否为主键（P），以及是否显示属性等。属性名称在概念数据模型中显示，但在物理数据模型中忽略。属性定义完毕，单击“确定”按钮返回。<br />.uM Igb5J0在定义字符类型的时候，可以通过单击“…”按钮显示全部类型选项并从中选择。冰城网Ok)lGMBW<br />步骤6：同理，依次完成其他4个实体的属性定义。冰城网7p,L9V XkivM<br />步骤7：定义关系。当实体及其属性定义完成后，开始定义实体间的关系。Palette工具栏中选择Relationship图标，在相关联两个实体中的一个实体的图形符号上单击左键，拖动鼠标到另外一个实体释放，就可以在两个实体之间建立联系。<br />-@F*N;[ [n5_(E0基本关系为一对一、一对多、多对多三种。连线的开叉一端代表多，不开叉的一端代表一，带小圆圈的一端代表可选，即记录可能有也可能没有：带小十字的一端代表强制（必须有记录）。<br />7E~'A#`$]0步骤8：双击表示联系的图形符号，可打开联系属性定义窗口，其中的General选项卡内容如下：<br />&sF0f0c G"VKb0Name：此联系的名称，可以是中文信息；Code：此联系的代码，必须是英文；Comment：对联系的进一步说明，可以是中文信息，也可以为空；Entity1和Entity2：两个关联实体的名称；Detail选项卡用来填写联系的细节信息，其中：冰城网'i:xf1ch<br />One-Many：联系的类型，表示一对多的关系。其他如一对一、多对一、多对多等等。<br />u*F/gtS \/\6p0Cardinality：基数，“0，n”表示一个实体可以有0到n个联系实体。冰城网fS6RN7l<br />Dependent：依赖关系。表示实体所包含的基本信息必须依赖于另一个实体的基本信息。步骤9：系统所有的实体、属性、关系都定义完毕之后，单击“确定”按钮返回CDM主窗口。冰城网3E Ur E5T%Ml l$h<br />步骤10：可以在Tools菜单中单击Check Model命令来检查E-R图的错误。检查结果分为没有错误、错误和警告三类：<br />w5_'u"PP+lbi7^k0错误是必须要改正的，警告可以改正也可以不改正。若没有错误，则保存此E-R图，至此，“图书管理系统”的概念数据模型 CDM已经生成。<br />xH/WW0jL{(Z(S0CDM模型完成的是系统的概要设计，还需要通过PDM模型完成详细设计，并对CDM模型中的E-R图进行检验和修改。有了CDM模型之后，可以利用系统提供的自动转换功能将CDM模型转换成PDM模型，而不需要重新定义。冰城网4\9cZ as{8P<br />步骤11：选择生成PDM。在Tools菜单中单击Generate Physical Data Model命令，打开物理数据模型设置窗口。<br />5Y M@`g0Generate Physical Data Model：选中此项，表示生成新的物理数据概念模型DBMS：选择数据库类型。例如：选择Sybase AS Anywhere 9Name：物理数据模型的名称，例如，“图书信息系统物理数据模型”冰城网d6iS2jf*CG<br />Code：物理数据模型的代码，例如“tsgl_pdm”<br />~7JM yd{0在Detail选项卡中，可以进行物理数据模型的细节属性设置。<br />(F+B,U.\W&jtA{0在Selection选项卡中，可以选择概念数据模型中已定义的实体。冰城网Ulo5hxZR<br />选择完毕后，单击“确定”按钮，开始生成物理数据模型可以利用鼠标拖动实体框和关联线，对PDM图进行调整，直到图形整齐、美观为止，最后进行保存。<br />'j _},@$|N0步骤12：此外，可以通过File菜单中单击New…命令，在打开的窗口中选择Multi-Model Report选项，来生成并打印CDM或PDM的各类文档资料，还可以生成创建表，创建索引，创建触发器的程序。
          <br/>
          <span style="color:red;">
            <a href="http://sunangel.javaeye.com/blog/182477#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 14 Apr 2008 09:47:21 +0800</pubDate>
        <link>http://sunangel.javaeye.com/blog/182477</link>
        <guid>http://sunangel.javaeye.com/blog/182477</guid>
      </item>
  </channel>
</rss>