PowerDesigner UML 建模简介(第一部分)

PowerDesigner UML 建模简介
David Dichmann,PowerDesigner 产品经理,Sybase, Inc.

由于引入了 UML,PowerDesigner 8.0 支持使用例图、序列图和类图的面向对象分析与设计(OOAD)。在即将发布的 9.0 版中,PowerDesigner 加强了对 UML 的支持,提供了活动图表和组件图表、改进了分析方法并增强了与开发过程的集成。

PowerDesigner 能够帮助您构建适应现代 IT 发展的传统商务和电子商务系统,使用 Java 等面向对象的语言以及 XML 等新技术,以物理或虚拟的方式与我们的数据库技术合并。我们的目标是根据您的需求,提供随时随地访问信息、控制业务流程的能力,并通过计算机和最新技术赋予企业在当今任何市场上先拔头筹的竞争优势。

我们的分析方法和设计技术将会是多种多样的,从业务流程建模,到 UML 面向对象分析和设计,以及传统的关系建模等。本文将帮助您深入了解 UML 这项强大的技术,它可以帮助您的企业创建出高效的传统商务和电子商务系统。
面向对象的分析
在您准备为企业作出系统和软件投资前,必须首先了解企业的实际需求,明确所部署的技术将如何帮助您的企业获取更大的成功。

您可以使用 UML,借助用例图、序列图和活动图来进行分析。这些图表将帮助您规划系统的范围、动态性能、以及表现方式等。不必考虑实施细节,您希望获得的只是按照您的需求而表现的系统性能。
用例图(The Use Case Diagram)
UML 用例图提供了一个系统环境的建模方式。它能够帮助您确定系统/应用程序的外部和内部元素以及系统范围。作为图形建模模式,它在您需要与所收集的系统需求进行对话时也将有所帮助,对于研制成品的开发团队来说,更是有着举足轻重的重要性。对于企业的所有者,或第一次接触该软件产品的用户也有很大的帮助作用。用例图能够以可视化的方式,表达系统如何满足所收集的业务规则,以及特定的用户需求等信息。

在项目后期,也能够用到 UML 用例图。您可以通过用例图中定义的需求来协助测试项目的相关功能。您不仅可以验证系统性能是否无错误(无崩溃或明显的非逻辑响应),还可以验证系统运行时是否按照要求,执行了指定命令。这样,您可以测试系统是否完全满足了要求,以确信成品可以投入生产——也就是说,它已完全满足了用户的需求。

只有确保满足了合理、实用的各项需求,才能确保 IT 项目的更大成功。

图 1 – 公司客户下订单的用例图
序列图(The Sequence Diagram)
您可以使用 UML 序列图细化需求并对设计元素进行链接。序列图允许高层和低层对象间的交互文档。该交互在角色(与用例图中的角色相同)和类实例(运行于计算机内存中的技术对象和细节对象)之间显示。

通过序列图,您可以按照系统特定方案中事件(消息)的精确顺序来描述随时间变化的系统行为。使用序列图进行用例分析并引导设计:您可以决定将对用例图所定义的管理任务负责的系统对象类型,并决定哪种对象将管理系统内外的“会话”或通信。由于消息已从序列图中抽出,您可以描述类和接口(我们最后要编译和部署的代码元素)所需的某些关键操作(方法)。

 

图 2 – 贷款应用程序的序列图
活动图(The Activity Diagram)
UML 活动图设计用于帮助您了解系统中对象的动态变化。用于描述某一特定类或一组类如何协同工作。与序列图有所不同,活动图不是一系列与时间相关的通信,而是从一个任务到另一任务的控制转移,同时指定谁(哪个对象)对发生的任务负责。 

UML 活动图也是业务流程的技术视图。可对业务工作流进行分析或在“业务流程建模”工作后可获得活动图。 

活动图还可帮助构造系统内元素的详细动态视图(EJB 如何互操作等)。

图 3 – 活动图 – 处理订单
通过分析推动设计
通过分析模型可捕获独立于实施细节之外的系统意向和预期行为,与使用的语言、部署的应用程序服务器或使用的体系结构都没有关系。但是,设计阶段开始后,一切都发生了变化。您必须进入生产环境的细节并将软件构建至特定的体系结构。设计是对系统的实施。

如果设计是由分析得到的,您可以更加确信所编写的系统行为的正确性,确认所开发的成果将是一个按需求构建的系统。您将获得高度成功——让用户得到所需要的系统。您还可以直接利用分析得出的信息而无需在设计过程中重新生成,从而缩减开发时间,由于不必“重新复制”任何工作,因此减少了人为错误。

通过分析,我们可获得什么呢?通过用例图可以发现对象并促进类和接口的创建。一个或更多类和接口可以实现一个角色,您可以在角色定义中直接创建类和接口。您还可以将角色链接到现有的类和接口,显示如何使用一条代码来满足所分析的多个元素。

通过序列图可以发现方法并促进类操作的创建。如果您需要向类发送消息,您可以调用该类的方法。序列图中的消息可以用来自动创建操作或链接到现有操作。您可以通过链接跟踪方法的功能,包括将哪些作为输入内容和必须返回哪些内容等等。
设计所包含的内容
您已经知道要构建的内容,现在您需要表述如何构建。您需要确定业务逻辑所在的位置:可以置于应用程序服务器的 EJB 等组件中,也可以置于使用 VB 或 PowerBuilder 等语言、作为客户端应用程序一部分的类或组件中,或者做为触发器和过程内置于关系数据库中。您需要根据需求做出一些选择,包括扩展性、安全、性能和可访问性等方面。

UML 类图和组件图将用于定义详细的技术系统静态结构。 
类图 (The Class Diagram)
UML 类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构。既然类图用来模拟开发中所维护的实际代码,显然它是 Java 或 PowerBuilder 等对象语言的概括性表述。您还可以使用 UML 类图来概括 XML 中的复杂结构,令其更易于开发和理解。

可以从 UML 类图上生成代码。还可以在开发过程中编辑该代码以完善、测试和部署最终运行的应用程序。由于 PowerDesigner 在对象语言和 UML 类图之间具有 1:1 的映射功能,您还可以实施反向工程代码,读取源文件并创建新的类图。您可以更深入地理解现有系统并简化集成和维护工作。

 

图 4 – 订单输入系统的类图
组件图(The Component Diagram)
UML 组件图将被用于在更大的黑匣视图(Black Box View)中描述高级对象的定义和相关性。它仍然是一个设计模型,并且是代码的直接概括。例如,一个 EJB 的组件标识直接链接到实施所必需的一系列类和接口,并将生成所需代码来推动最终 bean 的开发。

图 5 – 订单输入系统的组件图

组件图比组件体系结构的代码层视图更容易理解和管理。还可以通过编写组件接口的文档来实现代码的共享和反复使用,用户无需(或很少)了解组件的实施细节即可在其他项目和系统中使用这些代码。

图 6 – 客户实体 bean 的 EJB 模型:
循环叠代工程
世界不是一成不变的,您的 IT 项目也如此。在您了解需求,通过分析进行了设计,并构建了系统的某些元素后,必然还会遇到新的变化,如要更新定义,又或者现有用例图中存在某些需要改正的错误,代码在 IDE 和文本编辑器中被编辑以及数据库被DBA 优化等。必须管理和掌握所有需要更改的细节,以确保所构建的系统能够与业务需求保持一致。

往返工程的一个方案是当代码在开发过程中被更改时,需要在类图中反映出来。具体细节如下:
创建类图并将业务逻辑元素添加到模型中生成文件系统的应用程序代码在 IDE 或文本编辑器中编辑代码编辑设计,此时忽略在生成的代码中所发生的更改对编辑内容实施反向工程,直到与现有类图一致将设计过程中完成的工作与开发时编辑的内容同步(合并)生成新代码,该代码是设计代码和开发人员更改代码的总和
当对类图进行了修改以反映新的设计内容时,应该使用同步/合并技术防止丢失开发人员的工作成果,同时允许设计人员接受或拒绝开发过程中所做的更改。这样,PowerDesigner 令 IT 能够完全控制体系结构,这正是制胜的关键。

PowerDesigner 的功能并不是仅限于此!现在设计模型已被更新,您可以将这些更改链接到分析中。有可能您在分析中发现了新的需求,可以将这一更改反映到设计中并编写代码。使用 PowerDesigner 中领先的 Compare/Merge 技术(在 September Blueprint 中讨论过),您可以在开发周期的所有模型和阶段中获得真正的往返同步。
结论
所有现代 IT 项目必须能够以更快的速度实施,具有更高的可靠性,并能够切实推动企业发展。通过在工作中 OOAD 部分使用新的 UML 技术进行分析和设计,您可以控制体系结构并深入理解软件。

PowerDesigner 利用比较/合并技术的能力,以及集成的 UML 建模技术令您能够迅速地对变化做出反应。无论何处发生更改都会被快速地合并到任意一层,包括分析、设计和运行时。系统模型和系统之间经常互相镜像对比和备份,以获得准确且可预测的开发成果。这些优势将转化为更快的开发速度,以及对商务流程、市场条件和技术革新中变化的快速反应。赋予 IT 部门得天独厚的能力,以保持公司的竞争优势!

时间: 2024-09-23 20:57:50

PowerDesigner UML 建模简介(第一部分)的相关文章

PowerDesigner UML 建模简介(第二部分)

PowerDesigner UML 简介(第二部分)作者:Sybase, Inc. PowerDesigner 产品经理 David Dichmann 在 BluePrint #4(访问 http://www.sybase.com/blueprint 以获取以往问题的电子版)中,我们探讨了 5 种 UML 图表:用例图.序列图.活动图.类图和组件图,它们可以帮助您掌握系统的需求,设计其物理结构和预期功能,并转换为代码.我们还可以使用另外 4 个 UML图来进一步精简前 5 个图中包含的定义,或者

【转】三大UML建模工具Visio、Rational Rose、PowerDesign的区别

UML建模工具相信大家有所了解,那么你对UML建模工具Visio .Rational Rose.PowerDesign之间的区别和联系是否了解,这里就像大家简单介绍一下.   ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE 一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能.ROSE主要是在开发过程中的各种语义.模块.对象以及流程,状态等描述 比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加

三大UML建模工具Visio、Rational Rose、PowerDesign的区别比较_相关技巧

ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能.ROSE主要是在开发过程中的各种语义.模块.对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握UML的开发人员,也就是说对客户了解系统的功能和流程等并不一定很有效),对系统的代码框架生成有很好的支持.但对数据库的开发管理和数据库端的迭代不是

POWERDESIGNER 10.0 简介

   POWERDESIGNER 10.0 简介  PowerDesigner 是唯一结合了下列几种标准建模技术的建模工具套件:使用 UML 的应用程序建模.业务流程建模和传统数据库建模技术,从而为您提供了高度集成.基于知识库.可自定义.图形化.直观并易于使用的工具集.产品说明作为功能强大的全部集成的建模和设计解决方案,PowerDesigner 可使企业快速.高效并一致地构建自己的信息系统.PowerDesigner 提供大量角色功能,从而区分企业内部不同职责.PowerDesigner 使用

NetBeans UML建模模块

利用NetBeans UML建模功能,设计者和开发者可以分别专注于各自的工作,即设计者专注于应用程序的设计,而开发者专注于编写代码.首先,设计者和分析人员将使用标准的建模语言 UML 来设计应用程序,然后开发者通过UML模型来编写源代码.当然,UML建模功能具有两种工作方式(正向工程和逆向工程),您不仅可以通过UML模型来生成源代码,还可以通过对源代码执行的更改来更新模型. 注意:NetBeans 的更新中心为您提供了 UML模块.您需要了解有关如何在 NetBeans IDE 中添加模块的信息

UML建模之数据建模(Data Model Diagram)

一.数据建模简介 数据建模不仅可以对象的属性建模(比如E-R图),也可以对数据的行为建模(比如触发器Trigger. 存储过程Stored Procedure).在进行数据库设计时,设计到如下几个概念: 模式 Schema.主键 Primary.外键 Foreign key.关系 Relationship.约束 constraint.索引 Index.触发器 Trigger.存储过程 Stored Procedure.视图 View. 二.数据建模元素 1.表(Table) 表是关系数据库最基本

Umple 1.14.0.605发布 纯UML建模工具

Umple 1.14.0.605该版本现在官方的http://www.aliyun.com/zixun/aggregation/13428.html">Eclipse插件使用XText语法高亮和上下文帮助.请注意,在此版本中由Umple生成的代码并没有改变(605保持不变),因此,相同的代码将生成的命令行编译器1.12.1.605. Umple可用作纯UML建模工具,也可以用来根据Java.PHP和Ruby源码来生成UML模型图等. 下载地址:http://code.google.com/

敏捷建模简介

An Introduction to Agile Modeling 敏捷建模简介 Agile Modeling (AM) is a practice-based methodology for effective modeling and documentation of software-based systems.   Simply put, Agile Modeling (AM) is a collection of values, principles, and practices fo

UMLet v11.2发布 开放源代码轻量级UML建模工具

UMLet是一个开放源代码轻量级UML建模工具.UMLet能够让你快速建模,并且能够导出各种格式SVG, JPG, PDF and LaTeX-friendly EPS. UMLet is a UML tool aimed at providing a fast way of creating UML diagrams. UML elements are modified using text input instead of pop-up dialogs. Elements can be mo