1、系统分析及系统分析及其在其在PowerDesignerPowerDesigner中的实现中的实现第一讲第一讲 第一部分 需求分析设计原理需求分析原理需求分析原理1、概念需求分析是发现、求精、建模、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。分析员对用户提出的初步要求应该反复求精多次细化,才能充分理解用户的需求,得出对目标系统的完整、准确和具体的要求。软件需求是用户对目标系统在功能、行为、性能等方面的期望。需求分析实际上是对系统的理解与表达的过程理解:即理解用户的需求,对问
2、题、环境的理解,分析与综合,建立模型。系统要做什么表达:产生规格说明等相关的文档当前系统目标系统物理模型逻辑模型逻辑模型物理模型模型化抽象化具体化实例化怎么做做什么当前系统目标系统需求定义4需求分析需求分析2、步骤5需求分析需求分析3、建模(1)计算机学科的发展计算学科是研究通过在计算机上建立模型并模拟物理过程来进行科学调查和研究的学科.计算机科学(CS)计算机科学 (CS)计算机工程(CE)软件工程(SE)信息系统(IS)计算学科(computing discipline)6需求分析需求分析3、建模(2)计算机科学与技术学科的方法论学科的3个形态理论抽象(模型化)设计重复出现的概念绑定(bi
3、nding)概念与形式模型一致性和完备性抽象层次重用典型的学科方法:数学方法系统科学方法 计算中抽象的本质和使用。在处理复杂事务、构造系统、隐藏细节和获取重复模式方面使用抽象,通过具有不同层次的细节和指标的抽象,能够表达一个实体和系统7需求分析需求分析3、建模(3)抽象(模型化)源于实验科学,主要要素为数据采集方法和假设的形式说明,模型的构造与预测实验分析结果分析.在为可能的算法数据结构和系统结构等构造模型时使用此过程.抽象的结果是概念符号模型模型: 现实世界某些重要方面的表示。有时我们使用术语“抽象”来表示模型,因为我们从现实世界中抽象出对我们特别有用的东西。模型是对对象系统的形式化的特征抽
4、象,概括性或近似地表示;构造模型的过程是一个抽象、分析的过程。对象系统模型系统抽象(映射)模型应用模型构造的过程8需求分析需求分析逻辑模型逻辑模型(本质模型、概念模型本质模型、概念模型)物理模型物理模型(实施模型、技术模型实施模型、技术模型)现行系统现行系统描述重要的业务功能,描述重要的业务功能,无论系统是如何实施的。无论系统是如何实施的。描述现实系统是如何在描述现实系统是如何在物理上实现的。物理上实现的。目标系统目标系统描述新系统的主要业务描述新系统的主要业务功能和用户新的需求,功能和用户新的需求,无论系统应如何实施。无论系统应如何实施。描述新系统是如何实施描述新系统是如何实施的(包括技术)
5、。的(包括技术)。3、建模(3)逻辑模型和物理模型9需求分析需求分析4、方法结构化分析方法面向对象分析方法面向问题域分析方法面向服务分析方法10需求分析需求分析5、结构化分析方法面向数据流进行需求分析的方法结构化分析方法适合于数据处理类型软件的需求分析具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止结构化分析方法使用工具: 数据流图 数据词典 结构化英语 判定表 判定树5、结构化分析方法(1)数据流图数据流图中的主要图形元素数据加工 (数据变换)数据源点或终点 (外部实体)数据流数据存储文件11需求分析
6、需求分析5、结构化分析方法(1)数据流图示例:描述银行取款过程的数据流图12需求分析需求分析5、结构化分析方法(1)数据流图数据流与数据加工之间的关系13需求分析需求分析5、结构化分析方法(1)数据流图数据流图的层次结构:为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统14需求分析需求分析5、结构化分析方法(1)数据流图示例:商店业务处理系统0层15需求分析需求分析5、结构化分析方法(1)数据流图示例:商店业务处理系统1层16需求分析需求分析5、结构化分析方法(1)数据流图示例:商
7、店业务处理系统2层销售细化17需求分析需求分析5、结构化分析方法(1)数据流图示例:商店业务处理系统2层采购细化18需求分析需求分析5、结构化分析方法(2)数据字典数据词典与数据流图配合,能清楚地表达数据处理的要求词条描述 对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有: 名字,别名或编号,分类,描述,定义,位置,其它,等数据流词条描述数据流名说明:简要介绍作用即它产生的原因和结果数据流来源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量数据元素描述数据元素名类型:数字(离散值,连续值),文字(编码类型) 长度取值范围相关的数据元素及数据结构19需求
8、分析需求分析5、结构化分析方法(2)数据字典数据文件词条描述数据文件名简述:存放的是什么数据输入数据输出数据数据文件组成:数据结构存储方式:顺序,直接,关键码存取频率加工逻辑描述加工名加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流输出数据流加工逻辑:简述加工程序,加工顺序20需求分析需求分析5、结构化分析方法(2)数据字典源点及汇(终)点词条描述名称:外部实体名简要描述:什么外部实体有关数据流数目示例 符 号 含 义 举 例 被定义为 与 x = ab.,. 或 .|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8(.) 可选
9、 x = (a)“.” 基本数据元素 x = “a” . 连结符 x = 1.921需求分析需求分析5、结构化分析方法(2)数据字典示例存折格式存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999” 帐号“00000001”.“99999999”开户日年月日性质“1”.“6” 注:“1”表示普通户,“5”表示工资户等印密“0” 注:印密在存折上不显示存取行日期(摘要)支出存入余额操作复核22需求分析需求分析5、结构化分析方法(2)数据字典基本加工逻辑说明对数据流图的每一个基本加工,必须有一个基本加工逻辑说明基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输
10、出数据流的加工规则加工逻辑说明必须描述实现加工的策略而不是实现加工的细节加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的用于写加工逻辑说明的工具结构化英语判定表判定树5、结构化分析方法(3)结构化英语结构化英语的词汇表由 英语命令动词 数据词典中定义的名字 有限的自定义词 逻辑关系词 IF_THEN_ELSE、CASE_OF 、 WHILE_DO、REPEAT_UNTIL等组成是一种介于自然语言和形式化语言之间的语言语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示23需求分析需求分析5、结构化分析方法(3)结构化英语其基本控制结构有三种:简单陈述句结构:避免复合语
11、句;重复结构:while_do 或repeat_until 结构。判定结构:if_then_else 或 case_of 结构;示例:商店业务处理系统中“检查发货单”if 发货单金额超过$500 then if 欠款超过了60天 then 在偿还欠款前不予批准 else (欠款未超期) 发批准书,发货单 else (发货单金额未超过$500) if 欠款超过60天 then 发批准书,发货单及赊欠报告 else (欠款未超期) 发批准书,发货单 24需求分析需求分析5、结构化分析方法(4)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适示例:商店业务处理系统中“检
12、查发货单”25需求分析需求分析5、结构化分析方法(5)判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。示例:检查发货单金额$500金额$500 欠款60天不发出批准书 欠款60天发出批准书、发货单 欠款60天发出批准书、发货单及赊欠报告 欠款60天发出批准书、发货单26需求分析需求分析6、面向对象的分析方法(1)特点从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位;事物的静态特征(即可以用一些数据来表达的特征)用对象的属性来表示,事物的动态特征(即事物的行为)用对象的操作来表示;对象的属性与操作结合为一体,成为一个独立
13、的实体,对外屏蔽其内部细节(称为封装);对事物进行分类,把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例;通过在不同程度上运用抽象原则(忽略事物之间的一些差异),可以得到较一般的类和较特殊的类。特殊类继承一般类的属性和操作,面向对象方法支持这种继承关系的描述与实现,从而简化系统的构造过程及其文档;复杂对象可以用简单的对象作为其构成部分(称为聚合);对象之间通过消息进行通信,以实现对象之间的动态联系;通过关联表达对象之间的静态关系。(2)优点与人们习惯的思维方法一致可使软件系统结构更加稳定软件具有更好的可复用性软件更加便于维护与扩充27需求分析需求分析6
14、、面向对象的分析方法(3)基本概念对象 是指问题域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用,它是由数据(属性)及其上的操作(也称为服务、方法或行为)组成的封装体。 可以从以下4个方面来认识对象: (1) 从动态的观点看,对象的操作就是对象的行为。 (2)从存储角度看,对象是私有存储,其中有数据也有操作。其他对象的方法不能直接操纵该对象的私有数据,只有对象私有的方法才可操纵它。 (3)从实现机制看,对象是一个自动机,其中私有数据表示了对象的状态,该状态只能由私有的方法改变它。 (4)在面向对象的程序设计中,对象是系统中的基本运行实体。28需求分析需求分析6、面向对象的
15、分析方法(3)基本概念类是指具有相同属性和操作的对象的集合,它代表一种抽象,作为具有类似特性与共同行为的对象的模板,可用来产生对象。例如:汽车具有运输功能,它是由车轮、发动机、车身等部分组成,这个描述适合所有的汽车。 (3)基本概念实例类是建立对象时使用的“样板”,按照这个样板所建立起来的一个个具体的对象,就是类的实例。29需求分析需求分析6、面向对象的分析方法(3)基本概念封装封装是指把对象的外部特征与内部实现细节分开,使得一个对象的外部特征对其它对象来说是可访问的,而它的内部细节对其它对象是隐蔽的。对象具有封装性的条件如下:(1)有一个清楚的边界,所有私有数据和操作的代码都被封装在这个边界
16、内,从外面看不见更不能访问;(2)有确定的接口,这些接口描述这个对象和其他的对象之间相互的作用;(3)受保护的内部实现,这个实现给出了由软件对象提供的功能的细节,实现细节能在定义这个对象的类的外面访问。30需求分析需求分析6、面向对象的分析方法(3)基本概念继承继承是子类自动地共享基类中定义的数据和方法的机制。 继承刻画了一般性和特殊性 继承也体现了类的层次关系31需求分析需求分析6、面向对象的分析方法(3)基本概念多态性 是指在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。 多态性的作用在于它允许我们开发灵活的系统,我们只要指定什么应该发生,而不是它应该
17、怎样发生,以便获得一个易修改、易变更的系统。 (3)基本概念消息消息是面向对象系统中实现对象间的通信和请求任务的操作。(3)基本概念关联 泛化关系:主要表现继承机制; 聚合关系:对象间的由分解或组成所构成的关系; 关联关系表示两个类之间除泛化、聚合以外的,存在某种语义上的联系。32需求分析需求分析6、面向对象的分析方法(4)方法建立用例模型建立对象模型建立动态模型建立功能模型(5)用例模型基本概念用例图:显示谁将是相关的用户、用户希望系统提供什么服务及用户需要为系统提供的服务参与者(Actor)用例(Use Case)关联关系(Association)包含关系(Include)扩展关系(Ext
18、end)泛化关系(Generalization)用例脚本:描述一个具体用例的执行流程。简要说明前提条件事件流(主事件流、其他事件流、错误流 )事后条件33需求分析需求分析6、面向对象的分析方法(5)用例模型基本概念执行者:执行者是指与系统交的人或其他系统,它代表外部实体。系统外部的一个实体。参与用例的执行过程。通过向系统输入或请求系统输入某些事件来触发系统的执行。由参与用例时所担当的角色来表示。每个参与者可以参与一个或多个用例。参与者的分类:系统用户;与所建造的系统交互的其他系统参与者的关系:使用泛化关系来描述多个参与者之间的公共行为。 用例:是可以被执行者感受到的、系统的一个完整的功能。在U
19、ML中把用例定义成系统完成的一系列动作序列,动作的结果能够被特定的执行者察觉到。用例代表某些用户可见的功能,实现一个具体的用户目标;用例总是被执行者启动,并向执行者提供可识别的值;用例可大可小,但它必须是完整的;用例在以后开发过程中,可以进行独立的功能检测。在不揭示系统内部构造的前提下定义连贯的行为。不是需求或功能的规格说明,但是也展示和体现其所描述的过程中的需求情况。识别用例最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的。34需求分析需求分析6、面向对象的分析方法(5)用例模型基本概念关系 :描述参与者和用例间的关系关联关系:表示参与者和用例之间进行通信,不同的参与者可
20、以访问相同的用例。包含关系:客户用例可以简单地包含提供者用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。 35需求分析需求分析6、面向对象的分析方法(5)用例模型基本概念关系 :描述参与者和用例间的关系拓展关系:扩展用例被定义为基础用例的增量扩展;基础用例提供扩展点以添加新的行为;扩展用例提供插入片段以插入到基础用例的扩展点上;泛化关系:父用例也可以被特别列举为一个或多个子用例;父用例也可以被特别列举为一个或多个子用例;子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变继承的行为;36需求分析需求分析6、面向对象的分析方法(5)用例模型基本概念关系 :描述参与者和用例间的关
21、系示例37需求分析需求分析6、面向对象的分析方法(5)用例模型基本概念关系 :描述参与者和用例间的关系示例38需求分析需求分析6、面向对象的分析方法(5)用例模型建模过程找出系统的参与者和用例详细描述每个用例构造用户界面模型构造用例图从几方面识别系统的执行者,包括需要从系统中得到服务的人、设备、其他软件系统等;分析系统的业务边界或系统执行者对于系统的基本业务需求,可以将其作为系统的基本用例;分析基本用例,将基本用例中具有一定独立性的功能,特别是具有公共行为特征的功能分解出来,将其作为新的用例供基本用例使用;分析基本用例功能以外的其他功能,将其作为新的用例供基本用例进行功能扩展;分析并建立执行者
22、与用例之间的通信关系39需求分析需求分析6、面向对象的分析方法(5)用例模型示例图书馆管理系统的用例图 首先分析系统所涉及的问题领域和系统运行的主要任务分析使用该系统主要功能部分的是哪些人。谁将需要该系统的支持以完成其工作。系统的管理者与维护者。图书馆管理系统的参与者:读者(借阅者)图书馆管理员图书馆管理系统维护者借阅者请求服务的用例登录系统查询自己的借阅信息查询书籍信息预定书籍借阅书籍归还书籍40需求分析需求分析6、面向对象的分析方法(5)用例模型示例图书馆管理系统的用例图 图书馆管理员请求服务的用例处理书籍借阅处理书籍归还删除预定信息系统管理员请求服务的用例查询借阅者信息查询书籍信息增加书
23、目删除或更新书目增加书籍删除书籍添加借阅者帐户删除或更新借阅者帐户 41需求分析需求分析41崔洪刚6、面向对象的分析方法(5)用例模型示例图书馆管理系统的用例图 借阅者请求服务的用例图42需求分析需求分析42崔洪刚6、面向对象的分析方法(5)用例模型示例图书馆管理系统的用例图 图书馆管理员处理借书、还书的用例图43需求分析需求分析43崔洪刚广东工业大学计算机学院 现代服务技术研究中心(STC)6、面向对象的分析方法(5)用例模型示例图书馆管理系统的用例图 系统管理员进行系统维护的用例图44需求分析需求分析6、面向对象的分析方法(6)对象模型工作步骤 确定对象类和关联进一步划分出若干主题给类和关
24、联增添属性利用适当的继承关系进一步合并和组织类确定类中的服务(等到建立了动态模型和功能模型之后)(6)对象模型确定类&对象类&对象是在问题域中客观存在的,系统分析员的主要任务,就是通过分析找出这些类-&-对象。首先,找出所有候选的类-&-对象;然后,从候选的类-&-对象中筛选掉不正确的或不必要的。45 第 二部分外部设计的PowerDesigner实现PowerDesigner的历史由中国人王晓昀完成编制1989 -在法国发布第一个商用版本AMC*Designor (版本2.0) 1992 -在美国发布第一个商用版本S-Designor 1995 -S-Designor改名为PowerDesi
25、gner 1997 -发布PowerDesigner 6.0 2001 12月-发布PowerDesigner 9.5 的最初版本, 并发布升级及维护版本直到2003年 2004 12月-发布版本PowerDesigner 10.0 2005 -发布PowerDesigner 11.0 2007 7月-发布PowerDesigner 12。最新版 15PowerDesignerRoseVisioERWin出身 面向对象设计 数据库设计 实用性 语言支持 PowerDesigner与其他工具的比较PowerDesigner解决方案PowerDesigner是一个“一站式”的企业级建模及设计解决方
26、案,它能帮助企业快速高效地进行企业应用系统构建及再工程(Re-engineer)。 IT专业人员可以利用它来有效开发各种解决方案,从定义业务需求到分析和设计,以至集成所有现代 RDBMS 和Java、.NET、PowerBuilder和 Web Services的开发等。PowerDesigner是结合了下列几种标准建模技术的一款独具特色的建模工具集:业务流程建模、通过 UML 进行的应用程序建模以及市场占有率第一的数据建模,这些建模技术都是由功能强大的元数据管理解决方案提供支持的.PowerDesigner能做什么?初识PowerDesigerRQMRQM内容内容什么是RQM?如何创建RQM
27、定义需求文档定义用户和组定义术语库 需求模型转换PowerDesigner数据模型-需求模型RQM什么是什么是RQMRQM?建立需求模型的目的是定义系统边界,使系统开发人员能够更清楚地了解系统需求,同时为计划迭代的技术内容提供基础,为估算开发系统所需成本和时间提供基础。PowerDesigner提供了有效的需求建模,保证更准确的项目结果,并通过建立设计和需求的关联保证更好的可追踪性。PowerDesigner通过层次结构显示了该系统的主要功能。用户可以通过属性对话框,进行详细的需求描述。为了进一步分析该子系统的业务需求,结构及机制,发现企业中当前存在的问题并确定改进的可能性,可以进行业务流程分
28、析。 PowerDesigner数据模型-需求模型RQM创建创建RQMRQMPowerDesigner数据模型-需求模型RQM用户和组用户和组用户是在需求模型中至少有一个需求所关系的人员用户是在需求模型中至少有一个需求所关系的人员组是有一系列的具有相同特性的人组成的组织组是有一系列的具有相同特性的人组成的组织词汇库词汇库词汇库可以清晰地定义单词,避免在需求模型中发生误解,同样,需要给出该单词的详细解释。PowerDesigner数据模型-需求模型RQM需求文档视图需求文档视图RDVRDV创建RQV定义RQV跟踪矩阵视图跟踪矩阵视图TMVTMV创建TMV定义TMV用户分配矩阵视图用户分配矩阵视图
29、UAMVUAMV创建UAMV定义UAMVPowerDesigner数据模型-需求模型RQM需求模型转换需求模型转换从Word中创建RQM从RQM转换成Word文档PowerDesigner数据模型-需求模型RQM业务处理模型:从业务人员的角度对业务逻辑和规则进行详细描述,使用流程图表示从一个或多个起点到终点间的处理过程、流程、消息和协作协议。BPMBPM简介简介系统分析业务处理模型(BPM)系统设计概念模型(CDM)面向对象模型(OOM)数据库实现物理数据模型(PDM)从业务人员的角度对业务逻辑和规则进行详细描述 使用流程图表示起点到终点间的处理过程、流程、消息和协作协议 BPMBPM简介简介
30、 处理层次流图(Process hierarchy diagram)、业务处理流图(Business process diagram)、处理服务流图(Process service diagram)。处理层次流图:以层次化的方式来识别系统的功能。业务处理流图业务处理流图:用于分析一个/组流程的具体实现机制。处理服务流图:以业务服务的方式来表述业务流程图。PowerDesigner BPMPowerDesigner BPM包括包括3 3种流图:种流图:BPMBPM对象对象对象说明Package用于将元素组合为组Process处理过程Flow连接过程、起点、终点的流程连接资源的流程Start流程中
31、的起点End流程中的终点Decision当流程中存在多个路径时的选项Synchronization允许多个并发动作的流程同步Resource资源Organization unit过程的执行者或资源的所有者Message format定义过程间数据的交互Composite Process分解为详细过程的复合过程BPM示例BPMBPM简介简介 处理语言可以分为分析语言、服务编排语言和协作语言三大类。分析语言包括分析(Analysis)、BPMN 1.0、数据流图(Data Flow Diagram)这3类处理语言;服务编排语言包括面向服务架构(Service Oriented Architectu
32、re)、BPEL4WS 1.1或WS-BPEL 2.0、Sybase工作区业务处理1.5这3类处理语言;协作语言包括ebXML 1.01和1.04。 不同的处理语言可能会使用不同的图形对象(如Analysis使用组织单元泳道图 、Data Flow Diagram使用组织单元),但它们都是为了表达相同的目的(描述业务逻辑、规则、流程)。BPMBPM常规属性列表常规属性列表属性名说明长度Name模型名称254字符Code模型代码254字符Comment模型注释Filename模型文件位置。Version模型版本号254字符Default diagram 打开模型时默认打开的流图Author作者创
33、建包创建业务规则创建起点 创建处理过程创建组织单元/组织单元泳道图 创建流程 定义消息格式 创建资源创建资源流程 创建终点 创建创建BPMBPM对象对象 65包是用于将元素构成组的机制,它包含模型对象。创建包选择“模型”包“,弹出包列表窗口单击空行或单击新增工具栏按钮,在新增包的行首会出现一个箭头,给出包名或代码的初始值,将包名和代码设置为需要的值,单击“确定”按钮保存。包的属性选择“ 模型”包,弹出包列表窗口后选择所需要修改属性的包,单击属性工具栏按钮,打开属性定义窗口修改属性。创建包创建包业务规则业务活动中必须遵循的或按照业务需求必须构建的特定条件。每当信息实体中包含的信息发生变化的时候,
34、系统都会检查这些信息是否违反特定的业务规则。业务规则业务规则例:在电子订单处理流程图中创建了两个业务规则Rule1,类型为定义,“客户是通过名称和地址识别的人”。Rule2,类型为校验,“一个客户的订单总价不能大于其信用值”应用于“客户提交订单”和“确认信用值”。创建业务规则选择“模型”业务规则“。单击空行或单击新增工具栏中的增加按钮,在业务规则列表中将新增一行,修改NAME和CODE,单击”应用“按钮保存。双击属性工具栏按钮,定义各属性单击确定返回。应用业务规划在流程图中选择需要应用业务规则的对象,双击后打开对象属性窗口,选择规则属性页。单击增加对象按钮打开选择业务规则窗口。选择需要应用的业
35、务规则,点击“确定”按钮返回对象属性窗口。创建和应用业务规则创建和应用业务规则 定义业务处理流程图选择“查看”“图表”“新建图表”,打开新建流程图属性窗口在“名称”中输入流程图名称后单击“确定”,将在工作区中新增一个图表节点。建立建立BPMBPM定义起点起点是BPD所表达的整个处理过程的起点,表示的是处理过程和处理过程外部的入口。创建起点 从工具栏中选择起点,在BPM工作区中单击鼠标,在单击处会增加起点图标。 在工具栏中选择光标,双击起点图标后打开起点属性窗口 在起点属性窗口的常规选项中输入起点的名称、代码、注释等属性 单击“确定”按钮保存所做的修改。修改起点属性从BPM工作区中双击起点图标,
36、打开起点属性窗口根据需要修改起点的属性单击“确定”按钮保存所做的修改。显示BPM中起点的名称选择“工具”“显示参数”菜单项,打开显示参数窗口在左侧“种类”目录树中选择“对象查看”start&end,打开显示参数窗口,选择Show name选项。单击“确定”返回流程图,就会发现在起点的下方会显示起点的名称定义处理过程处理过程可以认为是为了达到某个目标而执行的动作,每个处理过程都至少有一个输入流和一个输出流。创建处理过程 从工具栏中选择处理工具,在BPM工作区中单击鼠标,所单击位置会增加一个处理过程的图标,新增处理过程的默认名称为“process_x,其中x为处理过程序号。 右击鼠标,取消选择处理
37、过程工作 双击处理过程图标打开处理过程属性窗口,设置其属性。 修改完毕后单击“确定”按钮保存所做修改。处理过程的属性版型 是用户定义的值,这些值来源于原有的对象。用版型可以扩展对象的语义而无需改变对象的结构。组织单位 组织单位表示某个组织与某个过程相关。它可以代表一个系统、一个服务器、一个组织或一个用户等。复合处理过程 选择“复合体”表示此处理过程是复合处理过程,表示一个分解过程的子过程图在过程内被创建。动作动作定义处理过程执行动作的种类、类型以及周期。动作类型:人工、自动、未定义编辑器:动作执行的详细信息。超时:非0值表示动作执行时限,当动作实际执行时间大于此值时表示超时异常。持续时间:执行
38、此动作的周期定义组织单元组织单元是指为处理过程负责的组织,可以是公司、系统、服务、组织、用户或者角色,也可以认为是使用更高级处理过程的业务伙伴。创建组织单元 从工具栏中选择组织单元工具图标 在流程图中单击鼠标,单击位置会增加一个组织单元的图标,新增组织单元的默认名称为“organizationunit_x”,其中x为组织单元序号。 右击鼠标,取消选择组织单元工具,双击组织单元图标打开属性窗口,设置其属性。定义流程流程表示存在或可以存在数据交互的两个对象间的交互关系创建流程 在工具栏中选择流程工具 在流程中起始处理过程内单击鼠标并拖动鼠标至第二个处理过程。两个处理过程会增加一个流程的图标,新流程
39、的默认名称为flow_x 右击鼠标,取消选择流程工具,双击流程图标打开属性窗口,设置其属性。流程的属性数据流的传输方式 此属性主要用于文档的编制,提供了数据流传输方式信息。流程类型 正常流程 超时流程 技术错误流程 业务错误流程 消息格式流程条件定义消息格式消息格式定义了流程间的两个对象所要交互数据的数据格式。消息格式可以是XML文档、XML模式或者调用存储过程的参数创建消息格式 在流程图中双击流程图标,打开流程属性窗口 单击消息格式下拉列表旁的创建工具,确定提交对象创建,打开属性窗口 输入选择消息格式属性 单击“确定”按钮保存修改。定义资源资源类似数据存储,可以是数据、文档、组件等处理过程。
40、创建资源 在工具栏中选择资源工具,在流程图中单击鼠标,在单击处会增加资源图标。 在工具栏中选择光标或在流程图中右击鼠标后取消选择资源工具,双击图标打开属性窗口。 输入资源的名称和代码 单击“确定”按钮保存所做修改。定义资源流程处理过程通过资源流程访问资源。在流程图中使用带有箭头的虚线表示流程资源的访问方式为create、update、delete创建资源流程 在工具栏中选择流程工具 在流程图中起始处理过程内单击鼠标并拖动鼠标至资源。两者间会增加一个资源流程的图标。定义终点终点是业务流程图中处理过程的终止点创建终点 在工具栏中选择终点工具,在流程图中单击鼠标,在单击处会增加终点图标。 右击鼠标取
41、消选择,双击图标,打开终点属性窗口。 输入终点的名称和代码 单击“确定”按钮保存。什么是什么是CDMCDM?CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。 一个概念模型经常包括在物理数据库中仍然不实现的数据对象。 它给运行计划或业务活动的数据一个正式表现方式。CDM是分析阶段用以理清数据之间的关联性,以实体-关系图表示一个实体具有的属性,以及与其它实体的1对1、1对多或多对多关系 PowerDesigner数据模型-概念数据模型CDM创建创建CDMCDMPowerDesigner数据模型-概念数据模型CDM定义实体定义实体实体是带有描述特性的可以辨别的对象。在概念数据模型
42、中,只有业务问题需要的对象才被定义为实体,一个实体可能是有形的或无形的、具体的或抽象的、有生命的或无生命的。PowerDesigner数据模型-概念数据模型CDM定义属性定义属性实体属性是附加到实体上的数据项PowerDesigner数据模型-概念数据模型CDM定义域定义域一个域定义你能适用于多个数据项目的标准数据结构。 当你修正一个域时,你将更新全部与域关联的数据项目。 当你作任何变化的时候 , 这导致数据一致化特性比较容易。可以创建一些自己常用的域,来应用到数据对象上,就不会导致相同的用途,但是数据类型和长度不一致PowerDesigner数据模型-概念数据模型CDM定义关联定义关联联系是
43、指两个实体之间或实体内部的连接或关系。完成实体定义以后,应该在它们之间建立联系。实体的联系通常是依据业务规则确定的PowerDesigner数据模型-概念数据模型CDM定义联合定义联合联合是为了解决多对多联系而产生的一个人工实体可以为联合实体定义属性。PowerDesigner数据模型-概念数据模型CDM定义继承定义继承继承连接用来定义一种父类(父实体)与子类(子实体)之间的特殊联系。子实体与它的父实体共享一些属性,有一个或多个属性不被父实体或其它子实体所共享。父实体也能有一个或多个联系不与子实体共享。互斥继承PowerDesigner数据模型-概念数据模型CDM检查模型检查模型业务规则检查业
44、务规则检查域检查域检查数据项检查数据项检查实体检查实体检查实体属性检查实体属性检查实体标识符检查实体标识符检查关系检查关系检查联合检查联合检查继承检查继承检查PowerDesigner数据模型-概念数据模型CDMPDMPDM内容内容什么是PDM?创建PDM定义表、视图和存储过程定义列定义索引、关键字(PK、FK、AK)定义引用定义约束定义用户和组检查模型PowerDesigner数据模型-物理数据模型PDM什么是什么是PDMPDM?CDM反映了业务领域中信息之间的关系,它不依赖于物理实现。只有重要的业务信息才出现在CDM 中。PDM定义了模型的物理实现细节。例如,所选RDBMS的数据类型特征、
45、索引定义、视图定义、存储过程定义、触发器定义等。分析阶段的CDM转换成PDM后,便将抽象的实体、属性与关系,对应到实际数据库的数据表、字段、主键、外部索引键等内容。PowerDesigner数据模型-物理数据模型PDM创建创建PDMPDMPowerDesigner数据模型-物理数据模型PDM定义表、视图定义表、视图表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。视图是一个或多个表中的数据的简化描述,用户可以将视图看成一个存储查询或一个虚拟表查询仅仅存储在oracle数据字典中,实际的数据没有存放在任何其它地方,所以建立视图不用消耗其他的空间。要在实际系统中分析视图的数量以及
46、使用视图的频率PowerDesigner数据模型-物理数据模型PDM存储过程存储过程存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译可提高数据库执行速度。当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。存储过程可以重复使用,可减少数据库开发人员的工作量安全性高,可设定只有某此用户才具有对指定存储过程的使用权注意:在分布式系统中要少用存储过程PowerDesigner数据模型-物理数据模型PDM定义索引、关键字定义索引、关键字索引是一个与表有关的数据结构,它是通过索引列进行逻辑排序的。索引能够调整模型的可用性,改进系统的性能,消除查找
47、到记录之前在表中的多次扫描。索引的存在减慢了数据的修改(插入、修改、删除)速度。候选关键字是由一个或多个列组成的,它们的每组值与一条并且只有一条表中的记录相对应。候选关键字具有充当主键的资格,只是没有被选做主键。它为数据访问提供了方便,调整了数据的可用性。PowerDesigner数据模型-物理数据模型PDM定义引用定义引用引用是在父表和字表间建立一种关系。引用定义引用一致完整性约束在列之间,可以是主键、外键或者是替代主键引用最常见的是在主键上PowerDesigner数据模型-物理数据模型PDM定义约束定义约束PowerDesigner支持下列约束:限制(Restrict)。不允许进行修改或
48、删除操作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。PowerDesigner数据模型-物理数据模型PDM检查模型检查模型业务规则检查业务规则检查域检查域检查用户组检查用户组检查表、列、检查表、列、检查数据类型检查数据类型检查关键字检查关键字检查视图检查视图检查索引检查索引检查PowerDesigner数据模型-物理数据模型PDM模型的比较模型的比较选择选择Tools-Compare ModelTools-Compare Model比较选项比较选项两个模型比较两个模型比较模型跟数据库比较模型跟数据库比较模型的合并模型的合并选择Tools-Merge ModelPowerDesigner数据模型-模型比较/合并模型转换模型转换CDM-PDMPDM-CDMPowerDesigner数据模型-模型转换 下回分解PDPD对象模型设计对象模型设计