840 likes | 1.06k Views
软件工程学实验. 马丽. 实验4. 4.1 PowerDesigner 入门 4.2 PowerDesigner 业务处理模型 4.3 PowerDesigner 概念数据模型 4.4 PowerDesigner 物理数据模型 4.5 PowerDesigner 面向对象模型. 实验4.1 软件工程的计算环境.
E N D
软件工程学实验 马丽
实验4 • 4.1 PowerDesigner入门 • 4.2 PowerDesigner业务处理模型 • 4.3 PowerDesigner概念数据模型 • 4.4 PowerDesigner物理数据模型 • 4.5 PowerDesigner面向对象模型
实验4.1 软件工程的计算环境 • PowerDesigner (sybase.com/powerdesigner) 最初由Powersoft公司开发,后为Sybase公司并购。从1989年到2003年的十几年间,PowerDesigner经历了巨大的变化,从一个单一数据库设计工具发展为一个全面的数据库设计和应用开发的建模软件
实验4.1 软件工程的计算环境 • PowerDesigner面向数据分析、设计和实现,集成了UML (统—建模语言) 和数据建模的CASE工具。它不仅可以用于系统设计和开发的不同阶段 (即系统需求分析、对象分析、对象设计以及数据库设计和程序框架设计) ,绘制系统的数据流程图DFD和E-R图,以及生成物理的建表程序、存储过程与触发器框架等,也可以满足管理、系统设计、开发等相关人员的使用
实验4.1 软件工程的计算环境 • PowerDesigner包含4个模型,覆盖了软件开发生命周期的各个阶段 • 业务处理模型 (BPM) • 概念数据模型 (CDM) • 物理数据模型 (PDM) • 面向对象模型 (OOM)
PowerDesigner模型 的相互关系和作用
实验4.1 软件工程的计算环境 • 在软件开发周期中 • 首先进行的是需求分析,并完成系统的概要设计 • 系统分析员利用BPM画出业务流程图,利用OOM和CDM设计出系统的逻辑模型 • 然后进行系统的详细设计,利用OOM完成系统的设计模型,并利用PDM完成数据库的详细设计 • 最后,根据OOM生成的源代码框架进入编码阶段
实验4.1 软件工程的计算环境 • 1. PowerDesigner的特性 • 建模工具的重点曾经完全放在数据建模这一个方面,而随着需求的不断提高,商业流程建模和UML已经成为软件开发不可缺少的部分 • 从PowerDesigner的变化,可以看出它正在努力发展成为UML建模工具,但同时又不放弃自己的特长,即提供更好、更方便的数据建模能力
实验4.1 软件工程的计算环境 • PowerDesigner支持UML,包括新的业务处理建模能力,改善了的基于UML的对象模型,而且可以在一个丰富的图表环境中,支持传统的和新增的建模技术。因此,对于那些需要跨平台作业和使用多种类型编码的项目,可以大大地缩短开发时间,降低复杂度 • PowerDesigner还具备一个完整的版本资料库 (repository) ,用来贮存和管理所有建模和设计过程中的信息,并将最大限度地减少其中不一致的部分,从而极大地提高了开发者的效率
实验4.1 软件工程的计算环境 • 市场上有很多工具提供数据建模,包括数据仓库建模、对象建模、业务流程建模以及UML建模等,但PowerDesigner将所有的功能集于一体 • PowerDesigner可通过一套完整的工具来集合三种建模技术——业务流程建模、数据建模和UML建模,从而使商业和IT部门能够更容易进行项目合作,帮助客户实施更多连贯的、成功的项目
实验4.1 软件工程的计算环境 • PowerDesigner主要特性包括: • 业务过程建模,允许非IT专业用户用一个简单的图示模型,进行实际业务过程的设计或建模 • 数据建模,利用基于可靠方法、真正的两级 (概念上和物理上) 关系数据库建模,设计并生成数据库模型。同时还支持数据仓库建模技术
实验4.1 软件工程的计算环境 • 对象建模,使用标准的UML技术 (所有UML图) 完成设计和分析,并且利用定制的生成器,自动地生成源代码,如Java、XML、Web Services、C++、PowerBuiler、Visual Basic和Microsoft .Net等 • 企业版本库,PowerDesigner的企业版中加入了企业级版本库。可以查阅井共享工作组里所有成员的模型和信息。版本库可升级支持角色安全设置、版本控制、并具备搜索及报告能力
实验4.1 软件工程的计算环境 • 2. 业务处理模型 • 业务处理模型 (BPM) 主要用在需求分析阶段。这个阶段的主要任务是理清系统的功能,系统分析员在与用户充分交流后,应得出系统的逻辑模型。BPM用于从业务人员的角度对业务逻辑和规则进行详细描述,并使用流程图来表示从—个或多个起点到终点间的处理过程、流程、消息和协作协议
实验4.1 软件工程的计算环境 • 3. 概念数据模型 • 概念数据模型 (CDM) 主要用在系统开发的数据库设计阶段,是按用户的观点来对数据和信息进行建模,并具体用实体-联系图 (E-R图) 来体现。CDM静态地描述系统中的各个实体以及相关实体之间的关系,系统分析员通过E-R图来表达对系统静态特征的理解。E-R图实际上相当于对系统的初步理解所形成的一个数据字典,系统的进一步开发将以此为基础
实验4.1 软件工程的计算环境 • 概念数据模型的主要功能包括: • 以图形化 (E-R图) 的形式组织数据 • 检验数据设计的有效性和合理性 • 生成物理数据模型 (PDM) • 生成面向对象模型 (OOM) • 生成可定制的模型报告
实验4.1 软件工程的计算环境 • 4. 物理数据模型 • 物理数据模型 (PDM) 提供了系统初始设计所需要的基础元素,以及相关元素之间的关系。但是,在数据库的物理设计阶段,必须在此基础上进行详细的后台设计,包括数据库存储过程、触发器、视图和索引等 • 物理数据模型以常用的DBMS理论为基础,将CDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本,利用该SQL脚本在数据库中产生现实世界信息的存储结构 (表、约束等) ,并保证数据在数据库中的完整性和—致性
实验4.1 软件工程的计算环境 • 物理数据模型的主要功能包括: • 将数据库物理设计结果从一种数据库移植到另一种数据库 • 利用逆向工程把已经存在的数据库物理结构更新生成物理模型或概念模型 • 生成可定制的模型报告 • 转换为OOM • 完成多种数据库详细物理设计,生成各种DBMS物理模型,生成数据库对象 (如表、主键、外部键等) SQL语句脚本
实验4.1 软件工程的计算环境 • 5. 面向对象模型 • 面向对象模型 (OOM) 是利用UML (统一建模语言) 的图形来描述系统结构的模型,它从不同角度表现系统的工作状态。这些图形有助于用户、管理人员、系统分析员、开发人员、测试人员和其他人员之间进行信息交流
实验4.1 软件工程的计算环境 • 面向对象模型的主要功能包括: • 利用UML的用例图、时序图、类图、构件图和活动图等来建立面向对象模型OOM,从而完成系统的分析和设计 • 利用类图生成不同语言的源文件 (如Java、PowerBuilder、XML等) ,或利用逆向工程将不同类型的源文件转换成相应的类图 • 利用逆向工程将面向对象模型 (OOM) 生成概念数据模型 (CDM) 和物理数据模型 (PDM)
实验4.1 软件工程的计算环境 • 6. 模型文档编辑器 • PowerDesigner还提供了模型文档编辑器 (multi-model report) ,用来为所建立的模型生成详细文档,根据各种模型生成相关的RTF或HTML格式的文档,开发人员可以通过这些文档来了解各个模型中的相关信息
实验4.2 PowerDesigner业务处理模型 • 在软件工程的需求分析阶段,系统分析员在与用户充分交流后,应得出系统的逻辑模型。 • PowerDesigner的业务处理模型 (BPM) 以业务需求为出发点,用图形方式描述系统的任务和业务流程,是对业务逻辑和规则进行详细描述的概念模型
实验4.2 PowerDesigner业务处理模型 • BPM使用图形符号来表示业务逻辑中从一个或多个起点到终点间的处理过程、流程、消息、协作及其相互关系。通过BPM可以描述系统的行为和需求,使用图形表示对象的概念组织结构,然后生成所需要的文档 • 作为一个概念层次的模块,BPM适用于应用系统的系统分析阶段,用来完成系统需求分析和逻辑设计
实验4.2 PowerDesigner业务处理模型 • BPM用系统提供的各种对象来描述系统需求,这些对象介绍如表4-1所示
BPM的对象 对象 说明 Package 将元素组合为组 Process 处理过程 Flow / Resource Flow 连接过程、起点、终点的流程 / 连接资源的流程 Start 流程中的起点 End 流程中的终点 Decision 当流程中存在多个路径时的选项 Synchronization 允许多个并发动作的流程同步 Resource 资源 Oraganizaion Unit 组织单元:过程的执行者或资源的所有者 Message Format 定义过程间数据的交互 Composite Process 分解为详细过程的复合过程
实验4.2 PowerDesigner业务处理模型 • 在需求分析过程中,BPM只表达业务人员对软件的功能要求和软件的功能过程,而不考虑其具体实现,软件人员通过BPM理解业务流程并对其进行必要的改进
实验4.3 PowerDesigner概念数据模型 • 在软件工程实践中,数据库设计通常都是从概念结构设计开始的。在这个层次上,不需要考虑实际物理实现细节,而只需要考虑实体和实体之间的联系 • PowerDesigner的概念数据模型 (CDM) 用于完成数据库的逻辑结构设计 (概要设计) ,而与任何数据库平台 (例如Oracle或SQL Server) 的具体数据存储结构和工具 (例如PowerBuilder) 无关
实验4.3 PowerDesigner概念数据模型 • CDM表达的是数据库的整体逻辑结构,它是系统分析人员、应用程序设计人员、维护人员和用户之间相互理解的共同语言。CDM所包含的对象通常并没有在物理数据库中实现。它仅仅给出了商业或业务活动中所需要的数据的形式化表示
实验4.3 PowerDesigner概念数据模型 • 通过建立CDM可以完成以下工作: • 数据图形化、形象化 • 数据表设计的合法性校验 • 转化为PDM (物理数据模型) • 生成OOM (面向对象模型) 的类图
实验4.3 PowerDesigner概念数据模型 • 通常,CDM采用实体-联系图 (E-R图) 来表示。例如,学生选课实例的E-R图
实验4.3 PowerDesigner概念数据模型 • CDM实例中设计了两个实体: • Student:学生。属性包括:student_id (学号) ,student_ name (姓名) ,student_sex (性别) ,student_birthday (出生日期) • Class:课程。属性包括:class_id (课程号) ,class_name (课程名)
实验4.3 PowerDesigner概念数据模型 • Student和Class建立了名为选课 (Study) 的多对多联系: • 一个学生可以选择多门课程,每一门课程都可以由多名学生选修 • 每一个学生都必须选课,每一门课程都必须有学生选修
实验4.3 PowerDesigner概念数据模型 • 通过CDM,可以简单、形象、清晰地表达事物本身及事物之间的相互关系。在CDM设计过程中,要涉及到一些基本概念,主要包括实体、属性、联系、域和业务规则等
实验4.3 PowerDesigner概念数据模型 • 1. 实体及属性 • 实体是现实世界中可区别于其他对象的“物体”,它可能是有形或无形的,具体或抽象的,有生命或无生命的。例如,公司中的每个员工是一个实体,商店中的每个产品也是一个实体 • 每个实体有一组特征,称为实体属性,用来描述实体状态和特征。例如,某个员工:姓名、性别、员工号、出生日期等,这一组具体指标表示了该员工实体各项属性
实验4.3 PowerDesigner概念数据模型 • 实体集 (entity set) 是相同类型及相同性质实体的集合。例如,社保中心所有客户的集合可定义为实体集“客户”,“客户”实体集中的每个实体具有社保号、户名、密码等性质 • 实体型 (entity type) 是实体集中每个实体所具有的共同性质的集合,例如,“员工”实体型为;员工编号、部门、姓名、性别、年龄等。实体是实体型的—个实例,在含义明确的情况下,实体、实体型通常互换使用
实验4.3 PowerDesigner概念数据模型 • 2. 联系 • 实体可以通过联系 (relationship) 相互关联。按照实体之间的数量对应关系,通常可将联系分为:一对一联系 (one to one) 、一对多联系 (one to many) 、多对多联系 (many to many) 、递归联系 (recursive relationship) 以及依赖关系 (identify Relationship,也称标识关系) 等
实验4.3 PowerDesigner概念数据模型 • 3. 域 • 域 (domain) 是某个或某些属性的取值范围,域在定义之后,可以被多个实体的属性共享使用。域的定义在模型设计中具有重要意义,它使得不同实体中的属性标准化更加容易 • 例如,定义Address域,使它的数据类型为VarChar(40) ,在模型设计中,记载“地址”的属性可能包含在多个实体中,使用了Address域的所有“地址”属性,一旦修改Address的定义,使用该域的所有“地址”的定义也会随之改变
实验4.3 PowerDesigner概念数据模型 • 4. 业务规则 • 业务规则反映了信息系统所描述对象的特殊的数据完整性约束。一个业务规则可以是一个行业标准,—个客户需求或者一本软件开发规范手册。当实体中包含的信息发生变化时,系统都会检查这些信息是否违反了特定的业务规则 • 在创建业务规则之前,必须首先明确数据之间存在的约束关系。业务规则可以在建立CDM时初步定义,在生成PDM或OOM的过程中,被直接传递到PDM或OOM中
实验4.3 PowerDesigner概念数据模型 • 5. CDM中对象的检查 • CDM中检查的对象包括:Package (包) 、Entity (实体) 、Data Item (数据项) 、Relationship (联系) 、Domain (域) 、Entity Attribute (实体属性) 、Entity Identifier (实体标识符) 、Associaton (关联) 、Inheritance (继承) 和File Object (文件对象) 等。对检查模型时发现的错误,可以在结果列表窗口中查看出现的错误或警告及其原因,还可以采用手工或自动更正的方法对问题进行修改
实验4.3 PowerDesigner概念数据模型 • 6. CDM的数据类型、长度和精度 • 长度和精度并不适用于CDM的所有数据类型。而且,有些数据类型的长度还可以指定最大或固定长度的字符数。表4-4列出了可以使用的数据类型及其长度与精度
实验4.4 PowerDesigner物理数据模型 • 在设计好数据库的逻辑结构之后,就需要完成其物理设计。物理数据模型 (PDM) 就是以DBMS理论为基础,根据CDM建立的现实世界模型生成相应的DBMS的SQL语言脚本。利用该SQL脚本在数据库中产生现实世界信息的存储结构 (例如表、约束等) ,并保证数据在数据库中的完整性和一致性
实验4.4 PowerDesigner物理数据模型 • PDM以PowerDesigner为各种数据库提供的数据定义文件 (扩展名为 .xdb) 作为语法模板来生成SQL语言脚本 • 由PDM生成SQL脚本,再通过SQL脚本在数据库中建立相应的数据存储结构,称为正向工程 • 反之,如果通过数据库中已经存在的数据存储结构来导出对应的PDM,则称为逆向工程
实验4.4 PowerDesigner物理数据模型 • PDM中涉及到一些基本概念,包括:表、列、视图、主键、候选键、外部键;存储过程、触发器;索引、完整性检查约束等内容
实验4.4 PowerDesigner物理数据模型 • 1. 表、列、视图、主键、候选键、外部键 • 表 (table) :是数据库中用来保存信息的一种数据结构。在PDM中,建立表的过程,就是产生建表的SQL语句的过程。PDM的表可以由CDM的实体转换生成 • 列 (column) :是组成表的基本单元,一个表由多个列组成,每个列都有一个数据类型。CDM的实体属性通过模型内部生成,可以转换成PDM表的列