利用 PowerDesinger 快速建立面向对象应用模型 吴思远...

30
1 利利 PowerDesinger 利利利利利利利利利利利利 吴吴吴 吴吴吴吴吴吴吴吴吴吴吴吴吴吴吴吴 [email protected]

description

利用 PowerDesinger 快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 [email protected]. 了解现代信息系统变得日益复杂 回顾传统的 C/S 实现和3层以及分布计算的不同 学会通过设计技术来管理这些复杂的信息系统 掌握如何使用 PowerDesigner 和 UML 来控制这些复杂的信息系统. 主要内容. 现代信息系统的发展体系 采用 PowerDesinger 实现 UML 建模. 主题. 企业级的信息系统从早些时候的 C/S 系统中变成当前的混合型系统 今日的商业系统需要支持多种多样的客户端 - PowerPoint PPT Presentation

Transcript of 利用 PowerDesinger 快速建立面向对象应用模型 吴思远...

Page 1: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

1

利用 PowerDesinger 快速建立面向对象应用模型

吴思远重庆邮电学院计算机科学与技术学院

[email protected]

Page 2: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

2

主要内容

• 了解现代信息系统变得日益复杂• 回顾传统的 C/S 实现和 3 层以及分布计

算的不同• 学会通过设计技术来管理这些复杂的信

息系统• 掌握如何使用 PowerDesigner 和 UML

来控制这些复杂的信息系统

Page 3: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

3

主题

• 现代信息系统的发展体系• 采用 PowerDesinger 实现 UML 建模

Page 4: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

4

现代信息系统的发展体系

• 企业级的信息系统从早些时候的 C/S 系统中变成当前的混合型系统

• 今日的商业系统需要支持多种多样的客户端• 在这样的环境中,传统的“快速开发”应用通常

变得不可能• UML 提供了语义定义来实现这些应用• PowerDesigner 提供了开发工具来实现这些应用

Page 5: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

5

分布式应用的开发

Components

Browser or C/S

Components

Client/ServerApplication

Browser

ProductionData

ProductionData

ProductionData

ProductionData

ProductionData

Enterprise JavaBeans, COM, CORBA, PB NVOs

Templates,Scripts

PageServer

HTML Pages

FileSystem

Very Thin

Thin

Rich

Web Server

Components

TransactionServer

ClientClient Middle TierMiddle Tier DataData

Page 6: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

6

PowerDesinger 发展史

1989

(v1)

1990

(v2)French

CDM only

1991

v3English

CDM & PDM

1992

v4Enterprise

Edition

1994

v5Modules

ProcessAnalyst

1996

v6Maturity release

Warehouse

1999

v7New Generation

First UML

2000

v8Enhanced UML

Analysis

2001

Neptune

Page 7: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

7

PowerDesigner 适用范围

• PowerDesigner 是功能非常强大的工具,它可以被不同的用户用于不同的应用背景– 商业分析师– 数据库管理者– 系统软件工程师

• 以上哪个是你的角色 , 在系统开发过程中你的定位 , 并且那些技术需求来驱动你使用 PowerDesigner

Page 8: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

企业建模的生命周期

Object-Oriented Model(OOM)

Conceptual Data Model (CDM)

Physical Data Model(PDM)

Database Management

System (DBMS)

Database SQL Script

ODBC

Forward Engineering

Reverse Engineering

- Application Structure- Business Logic

- Data Structures- Business Rules

- Schema Definition- Denormalization- Optimization (Indexing)- Database Creation

Java Source

PowerBuilder Source

- Java Code (Source, Bytecode, JAR)- PowerBuilder Code

Page 9: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

9

设计工具PowerDesigner

数据模型 对象模型

对象设计

开发

对象分析

Repository

数据仓库建模

商业处理模式

商业分析

E/R modelingSQL round-trip

engineering

UML: Use caseSequence,

ClassJava/PB/XML

round-tripC++, C#, VB...

PowerDesigner 8.0

PowerDesigner Neptune

Simplified Activity diagram

ComponentEJB, O/R mapping

Activity

企业信息仓储

Page 10: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

10

统一对象建模语言 (UML)

• 过多的建模方法阻碍了即将到来的对象技术• 由 OMG 组织采纳作为业界标准。• UML 基于不同的面向对象建模方法发展而来

– Rumbaugh et al. OMT– Booch methodology– Jacobson's methodologies

• PowerDesigner 面向对象建模使用 UML 类视图符号

Page 11: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

11

组件视图

逻辑视图

展开视图用户视图

并发视图

UML 视图

Page 12: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

12

UML 开发阶段

先启 精化 构建 产品化

Page 13: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

阶段:先启

• 目标– 为建立新系统或者扩展现有系统提供商业用例

• 需要产品– 项目核心业务需求 (Use Cases)– 评估风险

• 可选产品– 概念原型– 初始化模式

Page 14: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

14

PowerDesigner 使用用例图

Page 15: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

15

用例

• 用例结构– 用例名– 简要说明– 前置条件– 事件流 – 交叉事件流 – 后置条件– 例外

Page 16: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

用例模型的好处

• 用例模型– 在系统开发前期提供完整的用例– 保证团队之间能够相互理解用例所指的含义

• 用例用于标识– 谁在系统中进行交互,并且它在该系统干什么– 系统将拥有什么样的接口

• 用例用于检验– 所有的需求将被捕获– 开发人员可以理解这些需求

Page 17: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

阶段:精化• 目标

– 分析问题范围– 建立基础的框架– 解释项目中存在的最严重风险情况– 生成全面的方案来说明整个项目如何实现

Page 18: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

18

PowerDesigner 使用类图

Page 19: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

实体类– 实体类是用于对必须存储的信息和相关行为建模

的类。– ( 持久类 )

• 实体对象反映一个真实的现象状况。• 执行系统内部任务时也可能要使用实体对象• 其属性和关系的值通常由主角指定• 实体对象是独立于环境(主角)的。

Invoice<<entity>>

Customer<<entity>>

Product<<entity>>

Order<<entity>>

Page 20: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

控制类

– 控制类用于对一个或几个用例所特有的控制行为进行建模。

– 控制类• 可以创建、初始化、和消亡控制对象• 确定控制对象中的控制逻辑(事件顺序)和实行• 控制并行发布来实施约束类• 在绝大时候是执行控制对象

<<control>>OrderEntryManager

Page 21: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

边界类

– 边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。

– 典型的边界类• 窗口 ( 用户接口 )

• 通讯协议 ( 系统接口 )

• 打印机接口• 传感器

OrderWindow<<boundary>>

Page 22: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

阶段:构建

• 目标• 阐明剩余的需求,并基于已建立基线的构架完成系

统开发。

• 产品– 完成有用的版本– 动作原型说明– 品质保证– 系统和用户文档– 产品化计划– 下一个产品评估标准

Page 23: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

23

PowerDesigner 在构建阶段

• PowerDesigner 支持许多面向对象的语言和技术,包括 :– PowerBuilder– Java– C++, C#– CORBA– Visual BASIC 6– XML

• 在构建阶段 , PowerDesigner 可以在多种语言生成类定义 , 而且也可以将已有系统代码逆向生成 .

Page 24: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

24

PowerDesigner 使用序列图

Page 25: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

阶段:产品化

• 目标– 将产品转变为最终用户可以使用软件– 处理产品化工作的发布情况

• 产品– 制作产品发布版 – 可接受的质量级别保证– 完成最终的系统和用户文档– 项目性能的最终分析

Page 26: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

26

PowerDesigner 使用部署图

Page 27: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

27

关系数据库中存储持久对象

• 映射对象到关系数据库中• 至少有三种不同的方式来实现:

– 将类的属性映射到表的列中– 将 java 类映射到表的列中– 使用 DataWindow/Datastore 技术

Page 28: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

28

Sybase DataWindow /Datastore 技术

• 使用 Sybase’s DataWindow 技术为对象 /关系无缝地提供平滑

• 在实际开发中非常有用,特别是 PowerBuilder/PowerJ 开发者 .

• 实现方式 :– 将单个 DataStore/DataWindow 类变量替换类属性– 建立操作符来操作类库– 建立针对于数据库表的 DataWindow 对象– 使用专用 DataWindow/DataStore 类的方法去访问关系性数据

Page 29: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

29

从哪里开始 ?

• 如果你从项目新的设计开始 , 你可以从面向对象的模型中开始,或许是概念数据模型

• 如果你从数据库的逆向工程开始 , 你从物理数据模型逆向成面向对象模型或概念数据模型

• 如果你从 PowerBuilder 或者 Java 应用逆向出来 , 你从面向对象模型开始

Page 30: 利用  PowerDesinger  快速建立面向对象应用模型 吴思远 重庆邮电学院计算机科学与技术学院 Wusy@cqupt

30

问题