• 使用Power Designer进行一个完整的系统分析和设计


    分析设计,它几乎包括了数据库模型设计的全过程。利用Power Designer可以制作业务流

    程图、面向对象模型、概念数据模型、物理数据模型,可以生成VBJAVAPBC#等多

    种客户端开发工具的应用程序,还能为数据仓库制作结构模型,并且能对团队设计模型进

    行控制。本文通过一个书店信息管理系统讨论利用Power Designer进行数据库设计与实现

    的全过程。

    电脑应用技术 二零零六总第六十六期

    2

    基于需求的UML 对象设计

    UML 是一种标准的图形化建模语言,是面向对象分析设计的一种标准表示方法,并

    为不同领域的人们提供统一的交流标准,使得系统设计能够独立于特定的建模语言与开发

    过程。UML模拟对象的结构和行为,定义了用例图、类图、序列图、对象图、状态图、协

    作图、活动图、组件图和部署图9种图形,用于面向对象的系统建模。在Power Desinger9.5

    版本中已经提供对所有9种图的支持。使用UML面向对象模型可以清楚地反映应用程序的

    结构(包括动态的和静态的),使我们可以更好地开发和维护整个系统。

    系统需求描述:顾客通过网上查询得到自己想要的书目,如果存在,则通过Email

    出购书请求,图书管理员受到请求后向售书系统发送相关信息。系统首先更新库存,然后

    向顾客发出邮件进行确认,最后执行卖出操作,更新相关数据。

    由以上需求可以得到相关的用例图和序列图(如图1、图2所示)。

    图1 系统用例图

    图2 系统序列图

    图3 系统的类图

    2 POM 与CDM 之间的转换

    在熟悉系统的工作流程后,开始设计与系统相关的类图(如图4所示)。这里主要设计

    了四个类,其中ShowBOOK类用来完成用户接口的功能,它的主要任务是使用户能够通过

    界面与数据库交互,界面返回查询结果;DbBOOK类主要完成后台数据的处理;DbManager

    电脑应用技术 二零零六总第六十六期

    3

    类用来加载数据库驱动,通过ODBC连接数据库,执行查询条件并对JDBC使用时的错误进

    行处理,它被ShowBOOK类和DbBOOK类调用。BOOK类用来记录图书的相关信息:包括

    作者,出版日期,售价,售出日期等。

    图4 系统的概念数据模

     

    图5 系统的物理数据模型

    接下来由类图转化得到相应的CDM(如图5所示)。当然,在实际的设计过程中,我们

    也可以先得到CDM,然后转换为对应的OOM,再对OOM进行处理(如添加构造函数和成

    员函数等)并生成应用程序框架。概念数据模型把现实世界中的信息抽象成实体和联系从

    而产生实体关系图(E-R图),它反映了信息系统的整体结构,主要描述不同信息之间的概

    念关系,它独立于具体的DBMS,可以让设计人员专注于数据库的设计工作,而不考虑与

    具体实施环境相关的问题。OOMCDM的转换,主要包括类和实体的转换,类属性和实

    电脑应用技术 二零零六总第六十六期

    4

    体属性的转换,继承和关联之间的转换。

    3 CDM 与PDM 之间的转换

    PDM并不一定要从CDM生成,它可以从数据库脚本产生,可以从数据库中直接逆向

    工程产生,也可以直接在Power Designer中完成。

    物理数据模型的作用是把概念数据模型与特定的DBMS结合在一起,完成物理数据结

    构的生成。同一个CDM可以产生基于不同DBMSPDMPDM中包含了DBMS的特征,包

    括主键、外键、候选键、视图、索引、触发器、存储过程等等。在Power Designer中每一

    种它所支持的RDBMS都有一个DEF文件,每个DEF文件包含了用来生成特定RDBMS数据

    库脚本的参数,可以在Power Designer中修改,也可以用文本编辑器修改(文件本身是ASCII

    格式),使用这种方法可以使数据类型转换和数据库生成脚本的语法发生全局性的改变,

    一般情况下应该谨慎使用。

    CDM转换为PDM的过程中,主要涉及到三类转换:CDM中实体及属性转换为PDM

    中的表及表列;CDM中的联系转换为PDM中的参照完整性;CDM中、继承及递归关系的转

    换。

    本系统使用的是ORACLE数据库系统,转换后的PDM如图6所示。

    图6 OOM,CDM和PDM之间的关系

    生成ORACLE 数据库

    生成物理数据模型后,需要对其进行一定的调整才能生成数据到数据库。根据CDM

    的业务规则,我门要做的工作有:保证数据的完整性和一致性,生成视图和索引,编写相

    关的触发器和存储过程等等。在生成数据库时,可以有两种方法:一是先生成数据库脚本,

    然后在数据库管理系统中执行该脚本以生成数据;另外一种是通过ODBC连接直接在数据

    ODBC

    OOM

    CDM PDM

    System request

    Application structure

    Application source

    (java, PB, VB, C#)

    Data structures

    Business rules

    Data integrality

    View and index

    Trigger and procedure

    SQL script DBMS

    电脑应用技术 二零零六总第六十六期

    5

    库中生成数据并产生脚本。ODBCWindows环境下连接到数据库管理系统的标准接口,

    其本质是一个开放的、方便的、标准的应用程序接口。这个API提供了访问关系型和非关

    系型DBMS的接口,同时也提供了逆向工程这些DBMS的能力。由于在之前的PDM中已经

    选择了ORACLEDBMS,所以若要生成ORACLE数据库,需要预先建立ORACLEODBC

    连接。

    一般而言,在实际工作中,多采用第一种方法,即先生成SQL脚本,然后人工检查,

    确认无误后再生成数据库。

    5 OOM、CDM、PDM 之间的关系

    OOM, CDMPDM这三种模型之间是可以相互转化的,它们之间的关系如图7所示。

    我们可以根据需要从OOM开始设计,也可以从CDM或从PDM开始设计。

    Power Designer根据三种模型对象之间的对应关系和一定的转换规则,实现三种模型

    之间的转换。表1给出了它们之间的对应关系。

    表1 OOM,CDM和PDM对象之间的转换关系

    OOM objects CDM objects PDM objects

    Class Entity Table

    Class attribute Entity attribute Column

    Identifier Primary identifier Primary/foreign key

    Identifier Secondary identifier Alternative key

    Association Relationship/association Reference/table

    Generalization Inheritance Reference

    Domain Domain Domain

    Association class Association with attributes Table

    Class operations N/A Procedure and trigger

    Interface/dependency/realization N/A N/A

    小 结

    利用Power Designer进行项目开发,可以有效提高我们的开发速度,尤其是针对大中

    型信息管理系统,Power Designer拥有的完整的所有模型类型的元数据知识库将为所有建

    模者提供理想的团队开发环境。而其强大的报告生成功能,将使开发人员和用户更迅速地

    了解项目的技术细节,可以在很大程度上降低维护费用。当然,Power Designer毕竟只是

    一种工具,不可能代替开发人员完成所有的事情,只有当开发人员深刻理解UML,数据库

    原理,SQL, JAVA等基础理论和技术时,才能够让Power Designer发挥其最大优势。

    参考文献

    [1] 刘润东.UML对象设计与编程[M]. 北京:北京希望电子出版社,2001.

    [2] 白尚旺. PowerDesigner数据库建模技术[M]. 西安:西安电子科技大学出版社,2002.

    [3] Sybase Corporation. Sybase PowerDesigner Tutorial[R]. 2001.

    如果使用UML进行一个完整的系统分析和设计,他的步骤是:用例图->序列图->类图->TDD方法的敏捷开发。

    那么,对于我们常用的PD,进行一个完整的系统分析和设计应遵循什么步骤呢?先用OOM(对应UML)实现用例图序列图类图->根据类图抽象出CDM(对应ER)->具体出PDM->生成数据库。

    当然,最主要的不是流程怎样,而是根据具体的项目要灵活运用。

  • 相关阅读:
    进程和线程
    分治算法
    MySQL-IN和Exists区别
    Java-悲观锁和乐观锁
    Spring如何解析Dubbo标签
    Java平台标准版本
    java常用的框架
    状态码
    算法
    java.c++.c#.c的区别
  • 原文地址:https://www.cnblogs.com/ddlzq/p/1846783.html
Copyright © 2020-2023  润新知