使用PowerDesigner进行面向对象分析与UML建模

使用PowerDesigner进行面向对象分析与UML建模
作者:罗海

在开发最初,很多设计人员都难以熟练的运用工具来进行面向对象的分析与建模,甚至说不知选什么样的工具来做模型描述。

在使用工具之前,应该知道面向对象分析的客体是对象,因此我们首先要了解的是面向对象中对象的三种模型:

  • 对象模型:一种表示静态的、结构化系统的“数据性质”的模型;
  • 动态模型:用以考察对象的动态行为,动态模型表示瞬间的、行为化的系统“控制”性质,它规定了对象模型中对象的合法变化序列;
  • 功能模型:表示变化的系统的“功能”性质,指明了系统应该“做什么”,可以更直接的反映用户对目标系统的需求。

那什么是UML建模呢?

UML作为统一建模语言的缩写,可以概要的理解为一种描述模型化的语言,就像人类的自然语言那样为了表达意思的语言,不过UML比较狭隘和专一,它仅仅作为面向对象软件分析中软件设计模型化表述的用途。

UML描述了模型元素、模型结构与模型本身三大要素。

1、UML模型元素:

  • 表示模型中的某个概念(类、对象、用例、结点、组件、包、接口等等);
  • 表示模型间相互连接的关系(关联、泛化、依赖、聚集)。

2、UML模型结构:四个抽象层次(如下图)

3、UML模型:不同视角的系统建模,形成不同的视图(View),每个视图是系统完整描述中的一个抽象,代表该系统的一个特定方面,每个视图又由一组图(Diagram)构成。

为了绘制出模型,我们除了可以使用常规的草稿手工绘画外,还可以运用软件来作图,软件绘制模型的好处就是易于保存、扩展和修改。

相信大家都听过PowerDesigner这个工具吧,它的具体由来和历史就不在此赘述了。接下来我们则会简述如何利用此工具来完成面向对象分析与设计中软件模型的搭建。

打开该软件,新建并选择“Object-Oriented Model”(意思是建立面向对象的模型),在“First diagram”下拉框中我们可以看到可以选择创建的OOM图有以下几类(如下图)。

简述:

  • 类图和对象图:用来定义类和对象以及它们的属性和操作;
  • 用例图:主要用来描述系统的外部行为;
  • 顺序图:显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;
  • 组件图和部署图:描述实现系统的元素组织和系统环境元素的配置;
  • 状态图:描述类的对象所有可能的状态以及事件发生时状态的转移条件;
  • 活动图:描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动;
  • 协作图:强调对象间的动态协作关系。

对象模型

静态图包括:用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、组件图(Component Diagram)和部署图(Deployment Diagram)。

用例图:描述系统的功能。

类图:描述系统的静态结构(类之间关系:泛化、关联、依赖)。

输出Java Code:Language >General Java Code >...

对象图:类图的实例,描述系统某个时刻具体的静态结构。

自行车是车类的对象,拥有车类的属性(外加:操作|方法)等。

组件图:描述实现系统的元素组织。

部署图:描述系统环境元素的配置。

组件中创建接口、对象、类,彼此构建关系,最终组合成完整的开发框架。

动态模型

动态图包括:状态图(Statechart Diagram)、顺序图(Sequence Diagram)、协作图(Collaboration Diagram)和活动图(Activity Diagram)。

状态图:描述系统元素的状态变化。

顺序图:描述按时间顺序系统元素之间的交互。

协作图:按时空的顺序描述系统元素之间的交互和关系。

活动图:描述系统元素的活动。

功能模型

五种视图包括:用例视图、结构模型(逻辑)视图、行为模型(并发)视图、实现模型(组件)视图和部署视图。

用例视图:从用户角度表达系统功能(使用用例图+活动图)描述。

结构模型(逻辑)视图:主要使用类图和对象图描述系统静态结构,用状态图、顺序图、协作图和活动图描述对象间实现给定功能时的动态协作关系。

行为模型(并发)视图:展示系统动态行为以及其并发性,用状态图、顺序图、协作图、活动图、组件图和部署图描述。

实现模型(组件)视图:展示系统实现的结构和行为描述,用组件图描述。

部署视图:展示系统的实现环境和组件是如何在物理结构中部署的,用部署图描述。

注:

  1. 能用Powerdesigner作图就尽量用,尽量不要使用Visio;
  2. 虽然很多图之间都可以转换,但要自己判断转换后的图是否有意义;
  3. 所有的code都需要用规范的英文名称;
  4. 模型间的关系有依赖、泛化、关联、实现四种。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值