1 PowerDesigner简介
PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成一体,并与 .NET、WorkSpace、PowerBuilder、Java™、Eclipse 等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案。此外,它支持60多种关系数据库管理系统(RDBMS)/版本。PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件。
Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使开发时间缩短和使系统设计更优化。
power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。
------------参考百度百科
2 面向对象建模
面向对象模型 (OOM) 一个OOM包含一系列包,类,接口 , 和他们的关系。 这些对象一起形成所有的 ( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概念模型。
2.1面向对象的三种类
UML中将类分为三种:1.边界类(Boundry Class); 2.实体类(Entity Class); 3.控制类(Control Class);
类型 | 说明 | 示例 |
---|---|---|
边界类(Boundry Class) | 边界类用于描述外部参与者与系统之间的交互。如界面、人机交互接口,设备接口等。 | 用户界面 系统接口设备接口 |
实体类(Entity Class) | 实体类对应系统需求中的每个实体,相当于每个对象Object的类,属性和行为与对象自身的属性和行为息息相关,对应保存到存储媒介中,如数据库、文件等等。 | 学生类 汽车类 商品类 |
控制类(Control Class) | 控制类用于体现应用程序的执行逻辑,对应业务操作。 相当于MVC三层架构中的controller。 | 添加学生 添加商品 |
2.2 类图
2.2.1 类的基本信息
UML的类图是对象的抽象化,用于描述软件实体的构成情况,基本信息包括类名,属性,操作(方法)。
属性和方法前面的符号为对应的保护级别
+
:public-
:private#
:protected
2.2.2 创建类图
通过右键点击项目,然后添加新的面向对象模型:
选择添加类图
选择类图标,然后在屏幕中间添加:
双击类的图标进行编辑
2.2.3 类间的六种关系
关系 | 定义 | 语法 | 符号 |
继承关系Generalization | 泛化关系的一种,类和子类的关系,接口和子接口的关系 | extends | 实线上的空心三角形箭头从子类指向超类 |
实现关系 Realization | 类实现了一个接口。 一个类可以实现多个接口。 | implements | 虚线上的空心三角形箭头从类指向接口 |
依赖关系 | 一个类A使用到了另一个类B。 弱依赖,但类B的变化会影响类A | 类B作为类A的方法的参数或者局部变量 | 虚线的箭头由类B指向类A |
关联关系 | 强联系,有类A必然有类B; 单向关联,双向关联; 一对一,一对多,多对多; 两个类的关联,类和自身的关联; | 类B作为类A的成员变量 | 单项关联(实线的箭头指向关联类):
双向关联(不带箭头的实线): |
聚合关系 | 整体和部分,关联的一种特例。 生命周期可以不同。 | 同关联关系 | 空心菱形+实线箭头 |
组合关系 | 整体和部分,关联的一种特例。 各个部分具有相同的生命周期,是不可分离的。 | 同关联关系 | 实心菱形+实线箭头 |
关联的多重性:
- n: 表示n
- m..n: m到n范围内的任意数值(包含m和n)
- p..*: 从p到无从大的任意数值
- *: 0..*的缩写
- 0..1: 可选
3.用例图
3.1 用例图简介
用例图(英语:use case diagram)是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系。
3.1.1 用例图的基本信息
内容 | 说明 | 示例 |
参与者 | 用户 | 用户、普通用户、管理员等 |
用例 | 用椭圆表示的系统的一部分功能 | 登陆,查看等等 |
子系统 | 用来展示系统的一部分功能,这部分功能是紧密联系的 | 订单系统、权限管理系统 |
3.1.2 用例间的关系
关系 | 说明 | 表示 |
关联 | 参与者与用例之间的关系; 任何一方都可接收到消息。 | 无箭头实线 |
泛化 | 参与者之间或用例之间的关系 继承的关系 | 空心三角形箭头实线 |
包含 | 用例之间的关系 一个用例(基用例)包含其他用例(包含用例)具有的行为,其中包含用例中定义的行为将被插入基用例定义的行为中。 | 虚线箭头,带关键词<<include>> |
扩展 | 用例之间的关系 一个用例(扩展用例)对另一个用例(基用例)行为的增强 | 虚线箭头,带关键字<<extends>> |
3.1.3 示例:
3.2 创建用例图
选择面向对象模型,然后选择用例图
4 时序图
时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。
4.1 时序图的基本元素
元素 | 说明 | 示例 |
---|---|---|
色(Actor) | 系统角色,可以是人或者其他系统,子系统 | |
对象(Object) | 对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表。 对象一般包含以下三种命名方式: 第一种方式包含对象名和类名。 第二种方式只显示类名不显示对象名,即为一个匿名对象。 第三种方式只显示对象名不显示类名。 | |
生命线(Lifeline) | 生命线代表时序图中的对象在一段时期内的存在 | 对象下方的虚线 |
控制焦点(Activation) | 控制焦点代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{ }”中的内容。 | |
消息(Message) | 消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。 | 消息: 返回值:
|
4.2 时序图示例
4.2 创建时序图
面向对象模型,选择时序图:
5 业务流程图(BMP)
软件的流程图。
5.1 创建业务流程图
选择新建业务流程图模型: