
UML建模实例教程下.ppt
198页UMLUML建模建模实例教程实例教程第第7 7章章 数据数据库库建模建模刘志成 编著2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习导航航本章学习导航本章学习导航 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习要点要点l PowerDisigner主要特点主要特点l PowerDisigner安装与启动安装与启动l 应用应用PowerDisigner创建概念数据模型创建概念数据模型l 应用应用PowerDisigner创建物理数据模型创建物理数据模型 建议课时:建议课时:6课时课时2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.1 PowerDesigner简介 PowerDesignerPowerDesigner概述概述lPowerDesigner是是Sybase公司的公司的CASE工具集,使用它可以方便地工具集,使用它可以方便地对软件系件系统进行分析行分析设计,它几乎包括了数据,它几乎包括了数据库模型模型设计的全的全过程。
程lPowerDesigner的的主要功能主要功能包括以下几个部分:包括以下几个部分: ((1)) DataArchitect ((2)) ProcessAnalyst ((3)) AppModeler ((4)) ODBC Administrator PowerDesigner中主要的中主要的4种模型文件种模型文件 ((1)概念数据模型()概念数据模型(CDM)) ((2)物理数据模型)物理数据模型 ((PDM)) ((3)面向对象模型)面向对象模型 ((OOM)) ((4)业务程序模型()业务程序模型(BPM)) 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务1安装安装PowerDesigner12并启动该软件,创建一个数据并启动该软件,创建一个数据模型文件模型文件 任务目标任务目标l 分组教学法分组教学法l 资料查询法资料查询法l 案例教学法案例教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.2.1 PowerDesigner的安装安装步骤安装步骤l按照安装向导顺序完成安装过程按照安装向导顺序完成安装过程。
2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.2.2 PowerDesigner的启动PowerDesignerPowerDesigner的启动的启动((1)依次单击)依次单击【【开始开始】】【【程序程序】】【【Sybase】】【【PowerDesigner 12】】【【PowerDesigner】】,即可启动,即可启动PowerDesigner122)在)在PowerDesigner12的主窗口中,依次选择的主窗口中,依次选择【【File】】【【New】】菜单,打开菜单,打开“新建文件新建文件”对话框 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.3.1 概念数据模型概述概念数据模型概念数据模型l概念数据模型也称信息模型,它以实体-联系(概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称,简称E-R)理论为基础,并对这一理论进行了扩充理论为基础,并对这一理论进行了扩充 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务2 在在PowerDesigner中创建中创建WebShop电子商城系统电子商城系统的概念数据模型的概念数据模型 。
任务目标任务目标l 分组教学法分组教学法l SDSPR教学法教学法l 案例教学法案例教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((1)创建概念数据模型文件)创建概念数据模型文件在在PowerDesigner12的主窗口中,依次选择的主窗口中,依次选择【【File】】【【New】】菜菜单,打开单,打开“新建文件新建文件”对话框,选择模型类型为对话框,选择模型类型为“Conceptual Data Model” 1.1.创建实体创建实体2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((2)创建实体)创建实体选择选择“Palette”工具栏上的图标工具栏上的图标 ,在绘制区域中单击鼠标左键,,在绘制区域中单击鼠标左键,即可创建一个实体即可创建一个实体 1.1.创建实体创建实体2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((3)修改实体属性)修改实体属性实体名称的修改既可以通过属性对话框中的实体名称的修改既可以通过属性对话框中的“General”选项卡完成,也可选项卡完成,也可以在选中指定实体后,在名称处(如:以在选中指定实体后,在名称处(如:Entity1)单击鼠标左键,进入编辑)单击鼠标左键,进入编辑状态,完成实体的名称的修改。
状态,完成实体的名称的修改 1.1.创建实体创建实体2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((4)添加实体的属性)添加实体的属性如前所述,实体是通过其属性对如前所述,实体是通过其属性对其特性进行描述的,在概念数据其特性进行描述的,在概念数据模型中,创建好实体之后,需要模型中,创建好实体之后,需要为实体创建属性为实体创建属性 1.1.创建实体创建实体2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 1.1.创建实体创建实体2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((5))重复步骤(重复步骤(2)至()至(4)分别创建会员实体()分别创建会员实体(Customers)、商品)、商品实体(实体(Goods)、商品类别实体()、商品类别实体(Types)、订单实体()、订单实体(Orders)和订)和订单详情实体(单详情实体(OrderDetails)) 1.1.创建实体创建实体2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((6)设置使用重名的数据项)设置使用重名的数据项 在在PowerDesigner12的主菜单的主菜单上依次选择上依次选择【【Tools】】【【Model Options】】【【Model Settings】】。
在在【【Data Item】】分组框中取消选择数据项的唯分组框中取消选择数据项的唯一性代码选项(一性代码选项(Unique Code)与重用选项()与重用选项(Allow Reuse) 1.1.创建实体创建实体2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 实体之间共有四种基本的联系:即一对一(实体之间共有四种基本的联系:即一对一(ONE TO ONE)联系、一)联系、一对多(对多(ONE TO MANY)联系、多对一()联系、多对一(MANY TO ONE)联系和多对)联系和多对多联系(多联系(MANY TO MANY)) 2.2.创建实体间的联系创建实体间的联系2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((1)创建实体间的联系)创建实体间的联系在绘图区域中创建两个实体后,单击在绘图区域中创建两个实体后,单击“Palette”工具栏上的工具栏上的 图标后,图标后,再单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释再单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建联系。
放鼠标左键,这样就在两个实体间创建联系 2.2.创建实体间的联系创建实体间的联系2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((2)设置实体间的)设置实体间的联系属性联系属性在两个实体间建立了在两个实体间建立了联系后,双击联系线,联系后,双击联系线,打开打开“联系属性联系属性”对对话框话框 2.2.创建实体间的联系创建实体间的联系2024/9/12U U M M L L建建 模模 实实 例例 教教 程程完成步骤 ((3)完成绘制)完成绘制WebShop电子商城实体间的联系电子商城实体间的联系2.2.创建实体间的联系创建实体间的联系2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 1((1)详细了解数据库设计的各个阶段及各阶段的主要任务详细了解数据库设计的各个阶段及各阶段的主要任务2)理解数据库建模中的实体和软件系统静态建模中的实体类之间)理解数据库建模中的实体和软件系统静态建模中的实体类之间的区别和联系的区别和联系3)比较)比较Rose和和PowerDesigner在数据库建模功能上的差异在数据库建模功能上的差异。
操作提示操作提示((1)下载并安装)下载并安装PowerDesigner 122)在)在PowerDesigner 12创建与图书管理系统数据库对应的概念数创建与图书管理系统数据库对应的概念数据模型3)参照第)参照第1章的图书管理系统的设计情况,创建该系统概念数据数据章的图书管理系统的设计情况,创建该系统概念数据数据模型中的主要实体模型中的主要实体4)参照第)参照第1章的图书管理系统的设计情况,创建该系统概念数据数据章的图书管理系统的设计情况,创建该系统概念数据数据模型实体间的联系模型实体间的联系 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务3 由由WebShop电子商城的概念数据模型生成基于电子商城的概念数据模型生成基于SQL Server 2005的物理数据模型和的物理数据模型和SQL脚本脚本 任务目标任务目标l 分组教学法分组教学法l 案例教学法案例教学法l SDSPR教学法教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.4 PowerDesigner物理数据模型完成步骤完成步骤((1)验证概念数据模型的正确性。
验证概念数据模型的正确性在在PowerDesigner菜单栏中依次选择菜单栏上的菜单栏中依次选择菜单栏上的【【Tools】】【【Check Model】】菜单以检查所创建的概念模型的正确性菜单以检查所创建的概念模型的正确性2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.4 PowerDesigner物理数据模型完成步骤完成步骤((2)生成)生成SQL Server 2005物理数据模型物理数据模型如果检查概念数据模型时没有错误存在,在如果检查概念数据模型时没有错误存在,在PowerDesigner菜单栏中依菜单栏中依次选择菜单栏上的次选择菜单栏上的【【Tools】】【【Genterate Physical Data Model】】,将,将会打开会打开“物理数据模型生成选项物理数据模型生成选项”对话框 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.4 PowerDesigner物理数据模型完成步骤完成步骤选择指定的选择指定的DMBS(这里为(这里为SQL Server 2005),并进行相关的配置,),并进行相关的配置,然后单击然后单击【【确定确定】】按钮,即可产生对应的物理数据模型按钮,即可产生对应的物理数据模型 。
2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.4 PowerDesigner物理数据模型完成步骤完成步骤((3)设置主键的自动增长)设置主键的自动增长主键的自动增长必须在物理模型下完成,在概念模型下是没有这个选项,主键的自动增长必须在物理模型下完成,在概念模型下是没有这个选项,原因是不同类型的原因是不同类型的DBMS的数据库的自增长的实现方式是不一样的如果的数据库的自增长的实现方式是不一样的如果要设置订单详情表中的要设置订单详情表中的d_ID为自动增长,可以通过以下步骤完成:为自动增长,可以通过以下步骤完成:((a)双击)双击OrderDetails表打开表属性窗口,选择表打开表属性窗口,选择Columns选项卡b)双击主键字段)双击主键字段d_ID,打开,打开“列属性列属性”对话框,选择对话框,选择“Identity”属性即可设置当前列为自动增长属性即可设置当前列为自动增长 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.4 PowerDesigner物理数据模型完成步骤完成步骤((4)生成)生成SQL文件文件许多时候,我们需要根据物理数据模型得到对应许多时候,我们需要根据物理数据模型得到对应DBMS的的SQL脚本,在脚本,在PowerDesigner12中可以实现该功能。
中可以实现该功能a)在)在PowerDesigner菜单栏中依次选择菜单栏上的菜单栏中依次选择菜单栏上的【【DataBases】】【【Grenerate DataBase】】,打开,打开“数据库生成数据库生成”对话框对话框2024/9/12U U M M L L建建 模模 实实 例例 教教 程程7.4 PowerDesigner物理数据模型完成步骤完成步骤((b)选择脚本的存放路径,并进行相关设置后,单击)选择脚本的存放路径,并进行相关设置后,单击【【确定确定】】按钮,即按钮,即可由概念数据模型生成的对应可由概念数据模型生成的对应DMBS的的SQL脚本(如)脚本(如) 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 2((1)理解由概念数据模型到物理数据模型的转换的方法和过程理解由概念数据模型到物理数据模型的转换的方法和过程2)比较由概念数据模型到物理数据模型)比较由概念数据模型到物理数据模型SQL Server 2000和和SQL Server 2005的异同 操作提示操作提示((1)在)在PowerDesigner中将图书管理系统的概念数据模型转换成中将图书管理系统的概念数据模型转换成物理数据模型(物理数据模型(SQL Server 2000)。
2)在)在PowerDesigner中,由图书管理系统的概念数据模型生成中,由图书管理系统的概念数据模型生成SQL Server 2000的的SQL脚本3)查看所生成的)查看所生成的SQL脚本4)试着在)试着在SQL Server 2000中执行生成的脚本,创建数据库和中执行生成的脚本,创建数据库和其他数据库对象其他数据库对象 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课外拓展((1)以小组方式进行讨论分析以小组方式进行讨论分析2)通过上网查询类图到数据库转换的相关资料通过上网查询类图到数据库转换的相关资料3)将数据库建模文件保存以备检查将数据库建模文件保存以备检查 操作提示操作提示((1)上网查找文献,学习由)上网查找文献,学习由UML的类图到关系数据库的转换的方法,的类图到关系数据库的转换的方法,并试着由图书管理系统的类图转换成基于并试着由图书管理系统的类图转换成基于SQL Server的数据库的数据库2)选择与你的生活和学习相关的一个业务系统(学生信息管理系统、)选择与你的生活和学习相关的一个业务系统(学生信息管理系统、进销存系统,应用进销存系统,应用PowerDesigner对建立该系统概念数据模型和物理对建立该系统概念数据模型和物理数据模型。
数据模型3)对比)对比Rational Rose和和PowerDesigner在数据库建模和在数据库建模和UML建模建模方面的优缺点方面的优缺点 操作要求操作要求UMLUML建模建模实例教程实例教程第第8 8章章 动态动态建模建模刘志成 编著2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习导航航本章学习导航本章学习导航 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习要点要点l 动态建模概述动态建模概述 l 状态图及其绘制状态图及其绘制l 活动图及其绘制活动图及其绘制l 活动图拾遗活动图拾遗 l 顺序图及其绘制顺序图及其绘制l 协作图及其绘制协作图及其绘制l 顺序图拾遗顺序图拾遗 建议课时:建议课时:10课时课时2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务1了解动态模型的基本功能和基本组成了解动态模型的基本功能和基本组成 任务目标任务目标l 分组教学法分组教学法l 资料查询法资料查询法l 案例教学法案例教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.1 动态建模概述动态建模概述动态建模概述l所有系统(包括软件系统)均可表示为两个方面:静态结构和所有系统(包括软件系统)均可表示为两个方面:静态结构和动态行为。
动态行为 lUML提供了状态图、活动图、顺序图和协作图来描述系统的结提供了状态图、活动图、顺序图和协作图来描述系统的结构和行为构和行为l状态图、活动图、顺序图和协作图则适合于描述系统中的对象状态图、活动图、顺序图和协作图则适合于描述系统中的对象在执行期间不同的时间点是如何动态交互的在执行期间不同的时间点是如何动态交互的l一组对象为了实现一些功能而进行通信称之为交互,可以通过一组对象为了实现一些功能而进行通信称之为交互,可以通过状态图、活动图、顺序图和协作图来描述系统的动态行为状态图、活动图、顺序图和协作图来描述系统的动态行为 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务2 了解状态图的基本功能和绘制方法,并绘制员工下了解状态图的基本功能和绘制方法,并绘制员工下班回家的状态图班回家的状态图 任务目标任务目标l 分组教学法分组教学法l 资料查询法资料查询法l 案例教学法案例教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.1 状态图概述状态图概述状态图概述l 状态图(状态图(Statechart Diagram)是软件系统进行面向对象分析的一)是软件系统进行面向对象分析的一种常用工具,它通过建立对象的生存周期模型(状态)来描述对象随时种常用工具,它通过建立对象的生存周期模型(状态)来描述对象随时间变化的动态行为。
间变化的动态行为 l 状态图主要用来描述对象、子系统、系统的生命周期通过状态图可状态图主要用来描述对象、子系统、系统的生命周期通过状态图可以了解到一个对象所能到达的所有状态以及对象收到的事件(收到消息、以了解到一个对象所能到达的所有状态以及对象收到的事件(收到消息、超时、错误和条件满足等)对对象状态的影响等超时、错误和条件满足等)对对象状态的影响等 l 并不是对所有的对象都创建状态图,只有当行为的改变和状态有关时并不是对所有的对象都创建状态图,只有当行为的改变和状态有关时才创建状态图才创建状态图l 与类图、对象图和用例图不同,状态图只能对单个对象建立模型,而与类图、对象图和用例图不同,状态图只能对单个对象建立模型,而类图、对象图和用例图可以对一个系统或一组类建立模型类图、对象图和用例图可以对一个系统或一组类建立模型2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成状态图组成状态图组成l状态图是由表示状态的节点和表示状态之间转换的带箭头的直线组成状态图是由表示状态的节点和表示状态之间转换的带箭头的直线组成若干个状态由一条或者多条转换箭头连接,状态的转换由事件触发。
若干个状态由一条或者多条转换箭头连接,状态的转换由事件触发 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成状态图组成状态图组成1.起点和终点.起点和终点l 起点代表状态图的一个初始状态,此状态代表状态图的起始位置起起点代表状态图的一个初始状态,此状态代表状态图的起始位置起点只能作为转换的源,而不是作为转换的目标起点在一个状态图中只点只能作为转换的源,而不是作为转换的目标起点在一个状态图中只允许有一个允许有一个 l 终点代表状态图的最后状态,此状态代表状态图的终止位置终点只终点代表状态图的最后状态,此状态代表状态图的终止位置终点只能作为转换的目标,而不是作为转换的源终点在一个状态图中可以有能作为转换的目标,而不是作为转换的源终点在一个状态图中可以有一个或多个,表示一个活动图的最后和终结状态一个或多个,表示一个活动图的最后和终结状态 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成状态图组成状态图组成2. 状态状态状态是指在对象的生命期中的一个条件或状况,在此期间对象将满足某状态是指在对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。
些条件、执行某些活动或等待某些事件 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成员工下班回家员工下班回家在在员工下班回家员工下班回家的过程中,经历的状态包括:的过程中,经历的状态包括:l 到下班时间了,收拾东西准备回家(不考虑加班);到下班时间了,收拾东西准备回家(不考虑加班);l 开始等待电梯;开始等待电梯;l 乘坐电梯到达楼下;乘坐电梯到达楼下;l (发现没带家里钥匙,上楼拿)乘坐电梯上楼;(发现没带家里钥匙,上楼拿)乘坐电梯上楼;l 去公交车站等车;去公交车站等车;l 乘公共汽车去菜场;乘公共汽车去菜场;l 买菜;买菜;l 回到家2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成状态的特征状态的特征((1)进入)进入/退出动作:对象本身的一个操作如果在电梯里是一个状态退出动作:对象本身的一个操作如果在电梯里是一个状态的话,那员工进电梯和出电梯就是状态的话,那员工进电梯和出电梯就是状态“在电梯里在电梯里”的进入的进入/退出动作退出动作2)内部转换:例如员工在去等电梯的时候发现钥匙没带,此时我们)内部转换:例如员工在去等电梯的时候发现钥匙没带,此时我们不用在不用在“等电梯等电梯”以后,而是在以后,而是在“准备回家准备回家”的状态中就去拿钥匙了。
的状态中就去拿钥匙了虽然整体的状态没有发生变化,但对于对象本身来说,前后是不一样的,虽然整体的状态没有发生变化,但对于对象本身来说,前后是不一样的,一个是有钥匙,一个是没有钥匙一个是有钥匙,一个是没有钥匙3)子状态:如果需要进一步描述员工对象在电梯里聊天、打)子状态:如果需要进一步描述员工对象在电梯里聊天、打 等状等状态时,这些状态就是该对象的态时,这些状态就是该对象的“在电梯里在电梯里”状态的子状态状态的子状态4)延迟事件:现在不立即产生的事件,该事件是在一段时间以后才)延迟事件:现在不立即产生的事件,该事件是在一段时间以后才产生的事件员工必须等待到达产生的事件员工必须等待到达17:50的时候,才能下班的时候,才能下班 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成状态图组成状态图组成一个状态一般包含三个部分,如图所示第一部分为一个状态一般包含三个部分,如图所示第一部分为状态的名称状态的名称,如空,如空闲、已付、移动、在菜场等第二部分为闲、已付、移动、在菜场等第二部分为可选的状态变量的变量名和变可选的状态变量的变量名和变量值量值。
属性(变量)指的是状态图中类的属性第三部分为属性(变量)指的是状态图中类的属性第三部分为可选的活动可选的活动表表,列出有关的事件和活动列出有关的事件和活动 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成状态图组成状态图组成3. 事件事件事件是对一个在时间和空间上占有一定位置的有意义的事情的规格说明事件是对一个在时间和空间上占有一定位置的有意义的事情的规格说明在状态机中,一个事件是一次激发的产生,激发可以触发一个状态转换在状态机中,一个事件是一次激发的产生,激发可以触发一个状态转换事件事件”指的是发生的且引起某些动作执行的事情,即事件表示在某一指的是发生的且引起某些动作执行的事情,即事件表示在某一特定的时间或空间出现的能够引发状态改变的运动变化特定的时间或空间出现的能够引发状态改变的运动变化 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.2 状态图组成状态图组成状态图组成4. 转换转换转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对象完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状象完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态。
当发生转换时,转换进入的状态为活动状态,转换离开的状态变为态当发生转换时,转换进入的状态为活动状态,转换离开的状态变为非活动状态非活动状态 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.3 绘制员工下班回家状态图绘制状态图绘制状态图((1)打开工程打开工程2)新建状态图新建状态图在视图区域中右键单击在视图区域中右键单击“Logical View”节节点,依次选择点,依次选择【【New】】【【Statechart Diagram】】,默认的状态图的名称为,默认的状态图的名称为“NewDiagram”,输入新的状态图的名称,输入新的状态图的名称(如员工下班回家)(如员工下班回家) 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.3 绘制员工下班回家状态图绘制状态图绘制状态图((3)添加状态)添加状态选择状态图绘图工具栏上的相应按钮,在绘图区域中单击鼠标左键,就选择状态图绘图工具栏上的相应按钮,在绘图区域中单击鼠标左键,就可以绘制状态可以绘制状态 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.3 绘制员工下班回家状态图绘制状态图绘制状态图((4)添加状态之间添加状态转换)添加状态之间添加状态转换单击状态图绘制工具栏上的按钮单击状态图绘制工具栏上的按钮 ,在状态之间添加转换,由此得,在状态之间添加转换,由此得到的员式下班回家的状态图及其到的员式下班回家的状态图及其状态转换状态转换 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.3 绘制员工下班回家状态图绘制状态图绘制状态图((5)设置状态转移事件)设置状态转移事件在不同的状态之间进行转换时,需要指定从一种状态转换到另一种状态在不同的状态之间进行转换时,需要指定从一种状态转换到另一种状态的事件。
右键单击表示状态转换的箭头,选择的事件右键单击表示状态转换的箭头,选择【【Open Specification】】,,如图所示打开状态转换属性设置对话框,在如图所示打开状态转换属性设置对话框,在【【General】】选项卡中输选项卡中输入入【【Event】】中的内容,即可完成状态转移事件的设置中的内容,即可完成状态转移事件的设置 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.3 绘制员工下班回家状态图绘制状态图绘制状态图((6)添加活动)添加活动在绘制状态图时,一般情况下需要指定状态的活动右键单击对应的状在绘制状态图时,一般情况下需要指定状态的活动右键单击对应的状态(如:等待电梯),选择态(如:等待电梯),选择【【Open Specification】】,如图,如图8-11所示打开状态属性设置对话框,选择打开状态属性设置对话框,选择【【Actions】】选项卡,右键单击中间空选项卡,右键单击中间空白区域,选择白区域,选择【【Insert】】菜单,完成活动的添加菜单,完成活动的添加 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.3 绘制员工下班回家状态图绘制状态图绘制状态图((6)调整大小和位置)调整大小和位置最后,遵循美观、实用最后,遵循美观、实用的原则,调整状态图的的原则,调整状态图的大小和位置,得到的员大小和位置,得到的员工下班回家的状态图。
工下班回家的状态图 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.2.3 绘制员工下班回家状态图WebShopWebShop商品状态图商品状态图2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 1((1)绘制图书管理系统的图书状态图,并对不同状态间的转换进行描)绘制图书管理系统的图书状态图,并对不同状态间的转换进行描述(参照书中的提示)述(参照书中的提示)2)绘制)绘制WebShop电子商城系统的前台购物用户帐号的状态图,并对电子商城系统的前台购物用户帐号的状态图,并对不同状态间的转换进行描述(参照书中的提示)不同状态间的转换进行描述(参照书中的提示)3)阅读如图所示的学生选课系统中的课程状态图,试着对不同状态)阅读如图所示的学生选课系统中的课程状态图,试着对不同状态间的转换进行描述(参照书中的提示)间的转换进行描述(参照书中的提示) 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 1((1))maxstudents表示选修某一门课程的最多人数表示选修某一门课程的最多人数。
2))students表示选修了某一门课程的人数表示选修了某一门课程的人数3))after this term表示学期结束表示学期结束 操作提示操作提示2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务3了解活动图的基本功能和绘制方法,并绘制了解活动图的基本功能和绘制方法,并绘制WebShop电电子商城系统中前台购物用户购买活动的活动图子商城系统中前台购物用户购买活动的活动图 任务目标任务目标l 分组教学法分组教学法l 案例教学法案例教学法l SDSPR教学法教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.1 活动图概述活动图概述活动图概述 活动图活动图((Activity Diagram)显示活动动作及其结果,着重描述操作)显示活动动作及其结果,着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动方法)实现中所完成的工作以及用例实例或对象中的活动 活动活动是某件事情正在进行的状态,既可以是现实生活中正在进行的某是某件事情正在进行的状态,既可以是现实生活中正在进行的某一项工作,也可以是软件系统某个类对象的一个操作。
一项工作,也可以是软件系统某个类对象的一个操作 活动图活动图与常用的程序与常用的程序流程图流程图相似,它们的主要区别在于程序流程图一相似,它们的主要区别在于程序流程图一般用来表示串行过程,而活动图则可以用来表示并行过程般用来表示串行过程,而活动图则可以用来表示并行过程 使用活动图使用活动图主要目的主要目的是:是:l 描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作);描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作);l 描述对象内部的工作;描述对象内部的工作;l 显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;l 显示用例的实例是如何执行动作以及如何改变对象状态;显示用例的实例是如何执行动作以及如何改变对象状态;l 说明一次商务活动中的参与者、工作流、组织和对象是如何工作的说明一次商务活动中的参与者、工作流、组织和对象是如何工作的 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.1 活动图概述典型活动图典型活动图2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.2 活动图组成活动图组成活动图组成 1.动作状态.动作状态动作状态是指执行原子的、不可中断的动作,并在此动作完成后转换到动作状态是指执行原子的、不可中断的动作,并在此动作完成后转换到另一个状态。
动作状态有如下另一个状态动作状态有如下特点特点::l动作状态是原子的,它是构造活动图的最小单位,无法分解为更小的部分;动作状态是原子的,它是构造活动图的最小单位,无法分解为更小的部分;l动作状态是不可中断的,它一旦运行就不能中断,一直运行到结束;动作状态是不可中断的,它一旦运行就不能中断,一直运行到结束;l动作状态是瞬时的行为,它所占用的处理时间极短,有时甚至可以忽略;动作状态是瞬时的行为,它所占用的处理时间极短,有时甚至可以忽略;l动作状态有入转换,入转换可以是动作流,也可以是对象流动作状态至少有一动作状态有入转换,入转换可以是动作流,也可以是对象流动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关;条出转换,这条转换以内部动作的完成为起点,与外部事件无关;l动作状态与状态图中的状态不同,它不能有入口动作和出口动作,也不能有内部动作状态与状态图中的状态不同,它不能有入口动作和出口动作,也不能有内部转移;转移;l动作状态允许多处出现在同一活动图中动作状态允许多处出现在同一活动图中 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.2 活动图组成活动图组成活动图组成 2.活动状态.活动状态活动状态用于表达状态机中的非原子的运行。
活动状态有如下活动状态用于表达状态机中的非原子的运行活动状态有如下特点特点::l活动状态可以分解成其他子活动或动作状态,由于它是一组不可中断的活动状态可以分解成其他子活动或动作状态,由于它是一组不可中断的动作或操作的组合,所以可以被中断;动作或操作的组合,所以可以被中断;l活动状态的内部活动可以用另一个活动图来表示;活动状态的内部活动可以用另一个活动图来表示;l活动状态可以有入口动作和出口动作,也可以有内部转移;活动状态可以有入口动作和出口动作,也可以有内部转移;l动作状态是活动状态的一个特例,如果某一个活动状态只包括一个动作,动作状态是活动状态的一个特例,如果某一个活动状态只包括一个动作,那么它就是一个动作状态那么它就是一个动作状态 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.2 活动图组成活动图组成活动图组成 3.动作流.动作流:动作流是指所有:动作流是指所有动作状态之间的转换动作状态之间的转换 4. 分支与合并分支与合并l 分支是软件系统流程中很常 分支是软件系统流程中很常见的一种逻辑,它一般用来表示见的一种逻辑,它一般用来表示对象所具有的条件行为。
对象所具有的条件行为 l 合并包括两个带条件的入转 合并包括两个带条件的入转换和一个出转换(即两个入口和换和一个出转换(即两个入口和一个出口),用来表示从对应的一个出口),用来表示从对应的分支开始的条件行为的结束分支开始的条件行为的结束 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.2 活动图组成活动图组成活动图组成 5. 分叉与汇合分叉与汇合 l分叉用于将动作流分分叉用于将动作流分为两个或多个并发运行为两个或多个并发运行的分支的分支 l汇合则用于将不同的汇合则用于将不同的分支汇聚一起分支汇聚一起 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.2 活动图组成活动图组成活动图组成 6.泳道.泳道 泳道的本义是用来 泳道的本义是用来分隔游泳池的,以保证分隔游泳池的,以保证不同的选手可以在指定不同的选手可以在指定的区域中进行比赛,而的区域中进行比赛,而不会互相干扰不会互相干扰 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.2 活动图组成活动图组成活动图组成 7.对象流.对象流 对象可以在活动图中显示,表示动作状态或者活动状态与对象 对象可以在活动图中显示,表示动作状态或者活动状态与对象之间的依赖关系。
之间的依赖关系 对象可以作为动作的输入或输出,或简单地表示指定动作对对 对象可以作为动作的输入或输出,或简单地表示指定动作对对象的影响象的影响 对象用矩形符号来表示,在矩形的内部有对象名或类名对象 对象用矩形符号来表示,在矩形的内部有对象名或类名对象流用带有箭头的虚线表示流用带有箭头的虚线表示对象流中的对象有如下特点:对象流中的对象有如下特点:l一个对象可以由多个动作操纵;一个对象可以由多个动作操纵;l一个动作输出的对象可以作为另一个动作输入的对象;一个动作输出的对象可以作为另一个动作输入的对象;l同一个对象可以多次出现在活动图中,每一次出现表明该对象正同一个对象可以多次出现在活动图中,每一次出现表明该对象正处于对象生存期的不同时间点处于对象生存期的不同时间点 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.2 活动图组成活动图组成活动图组成 8.组合活动.组合活动 在 在UML的活动图中,一个大的活动可以分为若干个动作或子活的活动图中,一个大的活动可以分为若干个动作或子活动,这些动作或子活动本身又可以组成一个活动图动,这些动作或子活动本身又可以组成一个活动图。
2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.3 绘制WebShop电子商城活动图完成步骤完成步骤 ((1)打开工程打开工程 ((2)新建活动图新建活动图在视图区域中右键单击在视图区域中右键单击“Logical View”节点,依次选择节点,依次选择【【New】】【【Activity Diagram】】,默认的状态图的名称为,默认的状态图的名称为“NewDiagram”,输入新的活动图的名称(如:前台购物),输入新的活动图的名称(如:前台购物) 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.3 绘制WebShop电子商城活动图完成步骤完成步骤 ((3)添加购物用户活动图的起点和终点添加购物用户活动图的起点和终点 选择活动图工具栏上的起点和终点图标,在绘图区域中单击鼠 选择活动图工具栏上的起点和终点图标,在绘图区域中单击鼠标左键,即可绘制活动图的起点和终点标左键,即可绘制活动图的起点和终点4))添加动作状态或活动状态基本操作方式同状态图添加动作状态或活动状态基本操作方式同状态图5))增加分支与合并在增加分支与合并。
在WebShop电子商城中,购物用户通过电子商城中,购物用户通过网上系统进行购物时,如果没有登录系统,则需要进行登录才能完网上系统进行购物时,如果没有登录系统,则需要进行登录才能完成商品的购买操作成商品的购买操作2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.3 绘制WebShop电子商城活动图完成步骤完成步骤 ((6)增加分叉与汇合)增加分叉与汇合购物用户进入网上系统后,在未登物用户进入网上系统后,在未登录状态下可以搜索并查看商品,录状态下可以搜索并查看商品,并查询商品的详细情况用户登并查询商品的详细情况用户登录系统后,既可以查看商品信息,录系统后,既可以查看商品信息,购买商品,也可以修改个人信息购买商品,也可以修改个人信息和查看个人信息因此,查看并和查看个人信息因此,查看并购买商品和修改购买商品和修改/查看个人信息属查看个人信息属于并行流于并行流 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.3 绘制WebShop电子商城活动图修改泳道修改泳道2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.3.3 绘制WebShop电子商城活动图图书管理员活动图图书管理员活动图2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.4 活动图拾遗活动图活动图VSVS流程图流程图 UML中的活动图用来描述系统使用的中的活动图用来描述系统使用的活动、判定点和分支活动、判定点和分支,与传统的,与传统的流程图的功能非常类似。
传统的流程图所能表示的流程图的功能非常类似传统的流程图所能表示的程序逻辑程序逻辑,大多数情,大多数情况下也可以使用活动图表示,但活动图与流程图有着本质的区别:况下也可以使用活动图表示,但活动图与流程图有着本质的区别:l流程图着重描述流程图着重描述处理过程处理过程,它的主要控制结构是顺序、分支和循环,各,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系;个处理过程之间有严格的顺序和时间关系;l活动图描述的是活动图描述的是对象活动的顺序关系对象活动的顺序关系所遵循的规则,它着重表现的是所遵循的规则,它着重表现的是系系统的行为统的行为,而非系统的处理过程;,而非系统的处理过程;l活动图能够表示活动图能够表示并发活动并发活动的情形,而流程图不能;的情形,而流程图不能;l活动图是活动图是面向对象面向对象的,而流程图是面向过程的的,而流程图是面向过程的 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.4 活动图拾遗活动图活动图VSVS状态图状态图 状态图描述了一个特定对象的 状态图描述了一个特定对象的所有可能状态所有可能状态,以及由于各种事件的发,以及由于各种事件的发生而引起的生而引起的状态之间的转移状态之间的转移;用来描述一个对象在其生命周期的行为,;用来描述一个对象在其生命周期的行为,主要主要强调外部动作强调外部动作的影响。
活动图是一种描述工作流的方式,它用来描的影响活动图是一种描述工作流的方式,它用来描述采取何种动作、做什么、何时发生以及在何处发生活动图是由状态述采取何种动作、做什么、何时发生以及在何处发生活动图是由状态图扩展而来的,主要强调对象本身状态的变化图扩展而来的,主要强调对象本身状态的变化状态图和活动图的主要区别在于:状态图和活动图的主要区别在于:l状态图描述类的对象状态图描述类的对象所有可能的状态所有可能的状态以及以及事件发生时状态的转移条件事件发生时状态的转移条件通常,状态图是对类图的补充在实用上并不需要为所有的类画状态图,通常,状态图是对类图的补充在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图;图;l 而活动图描述满足用例要求所要而活动图描述满足用例要求所要进行的活动进行的活动以及以及活动间的约束关系活动间的约束关系,,有利于识别并行活动有利于识别并行活动 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 2((1)阅读图书管理系统的系统管理员维护图书用户信息的活动图,)阅读图书管理系统的系统管理员维护图书用户信息的活动图,试着对系统管理员的维护读者活动进行描述。
试着对系统管理员的维护读者活动进行描述 ((2)绘制)绘制WebShop电子商城系统中订单处理的活动图电子商城系统中订单处理的活动图 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 2((1)通过学习小组讨论和上网查询资料形式完成通过学习小组讨论和上网查询资料形式完成2)在绘制活动图的同时,也可绘制相应的流程图,再将流程图与)在绘制活动图的同时,也可绘制相应的流程图,再将流程图与活动图进行比较活动图进行比较 操作提示操作提示2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务4了解顺序图的基本功能和绘制方法,并绘制了解顺序图的基本功能和绘制方法,并绘制WebShop电电子商城系统中购物用户查看历史订单的顺序图子商城系统中购物用户查看历史订单的顺序图 任务目标任务目标l 分组教学法分组教学法l 案例教学法案例教学法l SDSPR教学法教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.1 顺序图概述 顺序图概述顺序图概述 顺序图( 顺序图(Sequence Diagram)描述了对象之间)描述了对象之间传送消息传送消息的时间顺序,的时间顺序,它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作中引起转换的触发事件。
消息对应了一个类操作中引起转换的触发事件顺序图可供不同的用户使用,以帮助他们进一步了解系统:顺序图可供不同的用户使用,以帮助他们进一步了解系统:l用户用户帮助他们进一步了解业务细节;帮助他们进一步了解业务细节;l分析人员分析人员帮助他们进一步明确事件处理流程;帮助他们进一步明确事件处理流程;l开发人员开发人员帮助他们进一步了解需要开发的对象和对这些对象的操作;帮助他们进一步了解需要开发的对象和对这些对象的操作;l测试人员测试人员通过过程的细节开发测试案例通过过程的细节开发测试案例 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.1 顺序图概述 典型顺序图典型顺序图2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.2 顺序图组成 顺序图组成顺序图组成 1.对象.对象 顺序图中的对象的符号与对象图中的对象的符号是一样的,都是使用 顺序图中的对象的符号与对象图中的对象的符号是一样的,都是使用矩形矩形将对象名称包含起来,并且在对象名称下加下划线,如图所示在顺将对象名称包含起来,并且在对象名称下加下划线,如图所示在顺序图中将对象放置在顶部意味着在交互开始时,对象就已经存在了,如果序图中将对象放置在顶部意味着在交互开始时,对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互过程中被创建的。
对象的位置不在顶部,那么表示对象是在交互过程中被创建的 2.生命线.生命线 生命线是一条 生命线是一条垂直的虚线垂直的虚线,表示顺序图中的对象在一段时间内的存在表示顺序图中的对象在一段时间内的存在 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.2 顺序图组成 顺序图组成顺序图组成 3.消息.消息 消息是对象之间某种形式的通信,它可以激发某个操作、唤起信号或 消息是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤消导致目标对象的创建或撤消 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.2 顺序图组成 常见消息类型常见消息类型2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.2 顺序图组成 顺序图组成顺序图组成 4.激活.激活 顺序图可以描述对象的激活和钝化,激活表示该对象被占用以完成某 顺序图可以描述对象的激活和钝化,激活表示该对象被占用以完成某个任务,钝化表示对象处于空闲状态,在等待消息在个任务,钝化表示对象处于空闲状态,在等待消息在UML中,通过将对中,通过将对象的生命线拓宽为矩形,表示对象是激活的,其中的矩形称为激活条。
对象的生命线拓宽为矩形,表示对象是激活的,其中的矩形称为激活条对象就是在激活条的顶部被激活的对象在完成自己的工作后处于钝化状态,象就是在激活条的顶部被激活的对象在完成自己的工作后处于钝化状态,通常发生的当一个消息箭头离开对象生命线的时候通常发生的当一个消息箭头离开对象生命线的时候 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.3 绘制WebShop电子商城顺序图 完成步骤完成步骤 ((1)打开工程打开工程 ((2)新建顺序图新建顺序图在视图区域中右键单击在视图区域中右键单击“Logical View”节点,依次选择节点,依次选择【【New】】【【Sequence Diagram】】,默认的顺序,默认的顺序图的名称为图的名称为“NewDiagram”,输入新,输入新的顺序图的名称(如查看历史订单)的顺序图的名称(如查看历史订单) 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.3 绘制WebShop电子商城顺序图 完成步骤完成步骤 ((3)选择类,创建对象,并指定对象名选择类,创建对象,并指定对象名。
选择顺序图工具栏上的按钮 ,在绘图区域中单击鼠标左键, 选择顺序图工具栏上的按钮 ,在绘图区域中单击鼠标左键,将指定对象添加到顺序图将指定对象添加到顺序图 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.3 绘制WebShop电子商城顺序图 完成步骤完成步骤 ((4)添加对象间传递的消息添加对象间传递的消息 选择顺序图工具栏上的按钮 ,在绘图区域中两个对象生命线 选择顺序图工具栏上的按钮 ,在绘图区域中两个对象生命线之间拖动鼠标左键,完成对象之间消息的添加之间拖动鼠标左键,完成对象之间消息的添加 的2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.3 绘制WebShop电子商城顺序图 完成步骤完成步骤 设置消息属性设置消息属性2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.3 绘制WebShop电子商城顺序图 完成步骤完成步骤 如果要取消消息的编号或 如果要取消消息的编号或取消激活条显示,可以依次选取消激活条显示,可以依次选择主菜单栏下的择主菜单栏下的【【Tools】】【【Options】】,选择,选择【【Diagram】】选项卡,通过取消选择选项卡,通过取消选择【【Sequence numbering】】复选复选框和框和【【Focus of control】】复复选框完成选框完成 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.5.3 绘制WebShop电子商城顺序图 完成步骤完成步骤 ((5)完成绘制。
完成绘制 最终完成的 最终完成的WebShop电子商城前台购物用户查看当前订单的顺序电子商城前台购物用户查看当前订单的顺序图如图图如图8-40所示所示 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 3((1)阅读如图所示学生选课系统中的管理员维护课程的顺序图,)阅读如图所示学生选课系统中的管理员维护课程的顺序图,试着描述不同对象间的消息传递顺序试着描述不同对象间的消息传递顺序 ((2)绘制图书管理系统中读者借阅图书的顺序图绘制图书管理系统中读者借阅图书的顺序图 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 3((1)通过学习小组讨论和上网查询资料形式完成通过学习小组讨论和上网查询资料形式完成2)在顺序图中通常要用到控制类和边界类在顺序图中通常要用到控制类和边界类操作提示操作提示2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务5 了解协作图的基本功能和绘制方法,并绘制 了解协作图的基本功能和绘制方法,并绘制WebShop电子商城系统的协作图电子商城系统的协作图 任务目标任务目标l 分组教学法分组教学法l 案例教学法案例教学法l SDSPR教学法教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.6.1 协作图概述 协作图概述协作图概述 协作图( 协作图(Collaboration Diagram)是顺序图之外的另一种表示交)是顺序图之外的另一种表示交互的方法。
主要描述互的方法主要描述协作对象间的交互和链接协作对象间的交互和链接,强调的是对象结构相关,强调的是对象结构相关的信息顺序图和协作图都描述交互,但是顺序图强调的是时间,而协的信息顺序图和协作图都描述交互,但是顺序图强调的是时间,而协作图强调的是空间作图强调的是空间 协作图中包含 协作图中包含3个元素:个元素:对象、链接和消息对象、链接和消息 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.6.2 协作图组成协作图组成协作图组成1.对象.对象 协作图中的对象与顺序图中的对象的概念是一样的,图形表示方 协作图中的对象与顺序图中的对象的概念是一样的,图形表示方法也是一样的但是与在顺序图中不同的是,协作图中不能表示对象的法也是一样的但是与在顺序图中不同的是,协作图中不能表示对象的创建和撤消,所以对象在协作图中没有位置的限制创建和撤消,所以对象在协作图中没有位置的限制2.链接.链接 一条链接是两个对象间的连接协作图中的链接的符号和对象图 一条链接是两个对象间的连接协作图中的链接的符号和对象图中的链接符号相同,即一条连接两个类角色的实线中的链接符号相同,即一条连接两个类角色的实线。
2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.6.2 协作图组成协作图组成协作图组成3.消息.消息 协作图中的 协作图中的消息与顺序图中消息与顺序图中的消息相同但的消息相同但是为了能够在协是为了能够在协作图中表示交互作图中表示交互过程中消息的时过程中消息的时间顺序,需要给间顺序,需要给消息添加顺序号消息添加顺序号 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.6.3 绘制WebShop电子商城协作图完成步骤完成步骤((1)打开工程打开工程2)新建协作图新建协作图在视图区域中右键单击在视图区域中右键单击“Logical View”节点,依次选择节点,依次选择【【New】】【【Collaboration Diagram】】,默认的协作图的名称为,默认的协作图的名称为“NewDiagram”,输入新的顺序图的名称(如:用户注册协作图)输入新的顺序图的名称(如:用户注册协作图) 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.6.3 绘制WebShop电子商城协作图完成步骤完成步骤((3)添加对象。
添加对象 选择协作图工具栏上的按钮 ,在绘图区域中单击鼠标左键,将指 选择协作图工具栏上的按钮 ,在绘图区域中单击鼠标左键,将指定对象添加到顺序图定对象添加到顺序图4)添加消息添加消息 在协作图中可以添加对象间的消息,也可以添加反身消息;既可以添 在协作图中可以添加对象间的消息,也可以添加反身消息;既可以添加正向消息,也可以添加反向消息,消息类型见表加正向消息,也可以添加反向消息,消息类型见表8-95)添加数据流添加数据流 这里的数据流是描述一个对象向另一个对象发送消息时返回的消息 这里的数据流是描述一个对象向另一个对象发送消息时返回的消息可以添加数据流,也可以添加反向数据流,数据流类型见表可以添加数据流,也可以添加反向数据流,数据流类型见表8-9 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.6.3 绘制WebShop电子商城协作图完成步骤完成步骤((6)完成绘制完成绘制 最终完成的 最终完成的WebShop电子商城购物用户注册的协作图如图电子商城购物用户注册的协作图如图8-45所示 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.7 顺序图拾遗 顺序图顺序图VSVS协作图协作图顺序图与协作图都是交互图,其区别主要表现在:顺序图与协作图都是交互图,其区别主要表现在:l 顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;顺序图强调按时间展开的消息的传递,清晰地显示了时间次序;对简单的迭代和分支的可视化要比协作图好,常用于场景显示;可以对简单的迭代和分支的可视化要比协作图好,常用于场景显示;可以不要顺序号。
不要顺序号l 协作图强调交互中实例之间的结构关系以及所传送的消息,清晰协作图强调交互中实例之间的结构关系以及所传送的消息,清晰地显示了对象间关系;对复杂的迭代和分支的可视化以及对多并发控地显示了对象间关系;对复杂的迭代和分支的可视化以及对多并发控制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺制流的可视化要比顺序图好,常用于显示过程设计细节;有路径和顺序号 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程8.7 顺序图拾遗 顺序图与协作图互换顺序图与协作图互换((1)打开要转换的顺序图或协作图(如:用户注册协作图)打开要转换的顺序图或协作图(如:用户注册协作图)2)依次选择主菜单栏中的)依次选择主菜单栏中的【【Browse】】【【Go To Sequence Diagram】】,即可将当前的协作图转换成顺序图即可将当前的协作图转换成顺序图 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 4((1)阅读如图)阅读如图8-47所示的学生选课系统中的维护课程信息的协作所示的学生选课系统中的维护课程信息的协作图,描述维护课程过程中对象之间消息的传递,并与图图,描述维护课程过程中对象之间消息的传递,并与图8-41进行比进行比较。
较 ((2)试着将)试着将【【课堂实践课堂实践3】】中绘制的顺序图转换成协作图中绘制的顺序图转换成协作图3)绘制电子商务系统中后台订单处理的协作图绘制电子商务系统中后台订单处理的协作图 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 3((1)通过学习小组讨论和上网查询资料形式完成通过学习小组讨论和上网查询资料形式完成2)通过比较进一步理解顺序图和协作图的侧重点通过比较进一步理解顺序图和协作图的侧重点 操作提示操作提示2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课外拓展((1)小组为单位进行讨论,分析系统的实体类、边界类和控制类小组为单位进行讨论,分析系统的实体类、边界类和控制类2)根据绘制的模型图,对系统的动态形为进行描述根据绘制的模型图,对系统的动态形为进行描述3)充分理解动态建模中各图形适用的场合和侧重点充分理解动态建模中各图形适用的场合和侧重点 操作提示操作提示((1)绘制图书管理系统中图书状态图绘制图书管理系统中图书状态图2)绘制图书管理系统中读者帐号的状态图绘制图书管理系统中读者帐号的状态图。
3)绘制图书管理系统中读者借书的活动图绘制图书管理系统中读者借书的活动图4)绘制图书管理系统中系统管理员维护图书信息的活动图绘制图书管理系统中系统管理员维护图书信息的活动图5)绘制图书管理系统中系统管理员添加图书信息的顺序图绘制图书管理系统中系统管理员添加图书信息的顺序图6)绘制图书管理系统中图书管理员处理还书的顺序图绘制图书管理系统中图书管理员处理还书的顺序图7)将()将(5)和()和(6)中得到的顺序图转换为序列图中得到的顺序图转换为序列图 操作要求操作要求UMLUML建模建模实例教程实例教程第第9 9章章 物理建模物理建模刘志成 编著2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习导航航本章学习导航本章学习导航 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习要点要点l 物理建模概述物理建模概述l 组件图的功能及组成组件图的功能及组成l 绘制组件图绘制组件图l 部署图的功能及组成部署图的功能及组成l 绘制部署图绘制部署图 建议课时:建议课时:4课时课时2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务1了解物理建模的基本任务和主要内容。
了解物理建模的基本任务和主要内容 任务目标任务目标l 分组教学法分组教学法l 资料查询法资料查询法l 案例教学法案例教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.1 物理建模概述物理建模概述物理建模概述l 软件系统的物理架构详细描述系统的软件系统的物理架构详细描述系统的软件和硬件组成软件和硬件组成l 硬件结构包括不同的硬件结构包括不同的节点以及节点间如何连接节点以及节点间如何连接l 软件结构包括软件运行时,软件结构包括软件运行时,进程、程序和其它组件进程、程序和其它组件的分布l 物理架构还说明实现逻辑架构中定义的概念的代码模块的物物理架构还说明实现逻辑架构中定义的概念的代码模块的物理结构和相关性理结构和相关性 进行物理建模的进行物理建模的主要目的主要目的是解决以下问题:是解决以下问题:l 类和对象物理上分布在哪一个程序或进程中?类和对象物理上分布在哪一个程序或进程中?l 程序和进程在哪台计算机上运行?程序和进程在哪台计算机上运行?l 系统中有哪些计算机和其它的硬件设备,它们是如何连接在一起?系统中有哪些计算机和其它的硬件设备,它们是如何连接在一起?l 不同的代码文件之间有可关联?如果某一文件被改变,其它的文件是不同的代码文件之间有可关联?如果某一文件被改变,其它的文件是否需要重新否需要重新 编译?编译? 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程硬件 硬件硬件 1.处理器.处理器处理器是指执行系统中的程序的计算机。
处理器可以是任意大小和类型,处理器是指执行系统中的程序的计算机处理器可以是任意大小和类型,从嵌入式系统中的微处理器到超级计算机,从桌面计算机到便携式计算从嵌入式系统中的微处理器到超级计算机,从桌面计算机到便携式计算机,都称为处理器一般来说需要借助处理器运行系统中的软件机,都称为处理器一般来说需要借助处理器运行系统中的软件2.设备.设备设备指的是目标系统所支持的设备,如打印机、路由器、读卡机等它设备指的是目标系统所支持的设备,如打印机、路由器、读卡机等它们一般被连接到控制它们的处理器上,提供输入们一般被连接到控制它们的处理器上,提供输入/输出或网络连接功能输出或网络连接功能3.连接.连接处理器之间有连接,处理器与设备之间也有连接连接表示两个节点间处理器之间有连接,处理器与设备之间也有连接连接表示两个节点间的通信机制,可以用物理媒体(如,光纤)和软件协议(如,的通信机制,可以用物理媒体(如,光纤)和软件协议(如,TCP/IP))来描述 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.1.2 软件 软件软件 1.组件.组件 在 在UML中,组件是指中,组件是指“在一组模型元素实例的物理打包时可重用的部在一组模型元素实例的物理打包时可重用的部分分”。
意思是说,组件是系统功能的物理实现(如:源代码文件),它意思是说,组件是系统功能的物理实现(如:源代码文件),它实现类图或交互图中定义的逻辑模型元素组件可以看作是开发的不同实现类图或交互图中定义的逻辑模型元素组件可以看作是开发的不同阶段(编译时、链接时和运行时)的成果在一个工程中,经常将组件阶段(编译时、链接时和运行时)的成果在一个工程中,经常将组件的定义映射到编程语言和使用的开发工具的定义映射到编程语言和使用的开发工具2.进程和线程.进程和线程 进程表示重量控制流,而线程则代表轻量控制流它们都被用来描述 进程表示重量控制流,而线程则代表轻量控制流它们都被用来描述活动类,活动对象被分配给一个可执行的组件执行活动类,活动对象被分配给一个可执行的组件执行3.对象.对象 这里的对象没有自己的执行线程只有当其它东西发送消息给它们时 这里的对象没有自己的执行线程只有当其它东西发送消息给它们时(调用它们的操作)它们才运行它们可被指派给一个进程或线程(一(调用它们的操作)它们才运行它们可被指派给一个进程或线程(一个可执行的对象)或直接指派给一个可执行的组件个可执行的对象)或直接指派给一个可执行的组件。
2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务2了解组件图的基本功能和绘制方法,并绘制了解组件图的基本功能和绘制方法,并绘制WebShop电子商城系统的组件图电子商城系统的组件图 任务目标任务目标l 分组教学法分组教学法l 资料查询法资料查询法l 案例教学法案例教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.1 组件图概述 组件图概述组件图概述组件图(组件图(Component Diagram)描述)描述软件组件及组件之间的关系软件组件及组件之间的关系,显,显示代码的结构组件是逻辑架构中定义的概念和功能(类、对象及它们示代码的结构组件是逻辑架构中定义的概念和功能(类、对象及它们之间的关系、协作)在物理架构中的实现之间的关系、协作)在物理架构中的实现 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.2 组件图组成 组件图组成组件图组成1.组件.组件组件图中的组件是定义了良好接口的物理实现单元,是系统中可替换的组件图中的组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。
组件表示将类、接口等逻辑元素打包而成的物理模块物理部件组件表示将类、接口等逻辑元素打包而成的物理模块 ((1)名称)名称 ((2)组件的种类)组件的种类 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.2 组件图组成 组件图组成组件图组成2.接口.接口 在组件图中,组件可以通过其他组件的接口来使用其他组件中定义的操 在组件图中,组件可以通过其他组件的接口来使用其他组件中定义的操作通过使用命名接口,可以避免在系统中各个组件之间直接发生依赖关作通过使用命名接口,可以避免在系统中各个组件之间直接发生依赖关系,有利于组件的替换组件图中的接口使用一个小圆圈表示系,有利于组件的替换组件图中的接口使用一个小圆圈表示3.接口和组件的关系.接口和组件的关系 接口和组件的关系分为两种:实现关系和依赖关系接口和组件之间用 接口和组件的关系分为两种:实现关系和依赖关系接口和组件之间用实线连接表示实现关系,如图实线连接表示实现关系,如图9-4所示接口和组件之间用虚线箭头表示所示接口和组件之间用虚线箭头表示依赖关系,如图依赖关系,如图9-4所示 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.3 绘制WebShop电子商城组件图 完成步骤完成步骤((1)打开工程。
打开工程2)新建组件图新建组件图在视图区域中依次选择在视图区域中依次选择【【Component View】】【【main】】节点,进入组节点,进入组件图绘制状态也可以右键单击件图绘制状态也可以右键单击【【Component View】】,依次选择,依次选择【【New】】【【Component Digram】】,新建一个组件图,新建一个组件图 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.3 绘制WebShop电子商城组件图 完成步骤完成步骤((3)添加组件到组件图添加组件到组件图根据软件应用系统的组件分布情况,选择组件图绘图工具栏上的相应图标根据软件应用系统的组件分布情况,选择组件图绘图工具栏上的相应图标绘制组件绘制组件 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.3 绘制WebShop电子商城组件图 完成步骤完成步骤((4)设置组件属性设置组件属性组件添加到组件图以后,可以通过右键单击组件,选择组件添加到组件图以后,可以通过右键单击组件,选择【【Open Standard Specification】】菜单,打开组件属性设置对话框菜单,打开组件属性设置对话框 。
2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.3 绘制WebShop电子商城组件图 完成步骤完成步骤((5)设置类和组件的关系设置类和组件的关系组件图描述的是系统的实现,因此要指定实现组件功能的文件在下图组件图描述的是系统的实现,因此要指定实现组件功能的文件在下图8所示的对话框中选择所示的对话框中选择【【Files】】选项卡,右键单击中间空白区域,选择选项卡,右键单击中间空白区域,选择【【Insert File】】菜单项菜单项 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.3 绘制WebShop电子商城组件图 完成步骤完成步骤对于在模型中已经存在的类,也可以建立其与组件的关系对于在模型中已经存在的类,也可以建立其与组件的关系方法一方法一:: 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.3 绘制WebShop电子商城组件图 完成步骤完成步骤对于在模型中已经存在的类,也可以建立其与组件的关系对于在模型中已经存在的类,也可以建立其与组件的关系方法二方法二:: 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.2.3 绘制WebShop电子商城组件图 完成步骤完成步骤((6)绘制组件间的关系。
绘制组件间的关系 组件图用依赖关系表示各组件之间存在的关系在 组件图用依赖关系表示各组件之间存在的关系在UML中,组件图中中,组件图中依赖关系的表示方法与类图中依赖关系表示方法相同在绘制组件图时,依赖关系的表示方法与类图中依赖关系表示方法相同在绘制组件图时,根据软件系统的组成情况,绘制出组件之间的关系根据软件系统的组成情况,绘制出组件之间的关系 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 1((1)通过学习小组讨论和上网查询资料形式完成通过学习小组讨论和上网查询资料形式完成2)注意组件图和程序功能模块图之间的异同注意组件图和程序功能模块图之间的异同3)完整的)完整的WebShop电子商城系统和图书管理系统的组件图请参电子商城系统和图书管理系统的组件图请参阅本书所附资源阅本书所附资源 操作提示操作提示((1)阅读下图所示的)阅读下图所示的C++系统的组件图,试着描述该系统中各组件之间的关系系统的组件图,试着描述该系统中各组件之间的关系 ((2)绘制图书管理系统的组件图绘制图书管理系统的组件图 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务3了解部署图的基本功能和绘制方法,并绘制了解部署图的基本功能和绘制方法,并绘制WebShop电子商城系统的部署图电子商城系统的部署图 。
任务目标任务目标l 分组教学法分组教学法l 案例教学法案例教学法l SDSPR教学法教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.1 部署图概述部署图概述部署图概述部署图(部署图(Deployment Diagram)描述)描述处理器处理器、、设备设备、、软件组件软件组件在运行在运行时的架构它是系统拓扑的最终的物理描述,即描述硬件单元和运行在硬时的架构它是系统拓扑的最终的物理描述,即描述硬件单元和运行在硬件单元上的软件的结构件单元上的软件的结构 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.1 部署图概述部署图概述部署图概述UML部署图也经常被认为是一个网络图或技术架构图,它可以用来描述部署图也经常被认为是一个网络图或技术架构图,它可以用来描述一个简单组织的技术基础结构一个简单组织的技术基础结构 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.2 部署图组成部署图组成部署图组成1.节点.节点 节点是拥有某些计算资源的物理对象这些资源包括:带处理器的计 节点是拥有某些计算资源的物理对象。
这些资源包括:带处理器的计算机,外部设备如打印机、读卡机、通信设备等等算机,外部设备如打印机、读卡机、通信设备等等 ((1)名称)名称一个节点用名称区别于其他节点节点的名称是一个字符串,位于节点一个节点用名称区别于其他节点节点的名称是一个字符串,位于节点的图标的内部的图标的内部 ((2)节点的种类)节点的种类在应用部署图建模时,通常可以将节点分为处理器和设备两种类型在应用部署图建模时,通常可以将节点分为处理器和设备两种类型 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.2 部署图组成部署图组成部署图组成2.关联关系.关联关系 部署图节点间通过通信关联在一起在 部署图节点间通过通信关联在一起在UML中,这种通信关联用一条中,这种通信关联用一条直线表示,说明在节点间存在某类通信路径,节点通过这条通信路径交换直线表示,说明在节点间存在某类通信路径,节点通过这条通信路径交换对象或发送消息对象或发送消息 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.2 部署图组成部署图组成部署图组成3.组件.组件 在部署图中,可以将可执行组件的实例包含在节点实例符号中,表 在部署图中,可以将可执行组件的实例包含在节点实例符号中,表示它们处在同一个节点实例上,且在同一个节点实例上执行。
从节点类示它们处在同一个节点实例上,且在同一个节点实例上执行从节点类型可以画一条带有构造型型可以画一条带有构造型《《support》》的相关性箭头线到运行时的组件类的相关性箭头线到运行时的组件类型,说明该节点支持指定组件当一个节点类型支持一个组件类型时,型,说明该节点支持指定组件当一个节点类型支持一个组件类型时,允许在该节点类型实例上执行它所支持的组件的实例允许在该节点类型实例上执行它所支持的组件的实例 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.3 绘制WebShop电子商城部署图 完成步骤完成步骤((1)打开工程打开工程2)进入部署图绘制状态进入部署图绘制状态在视图区域中双击在视图区域中双击【【Deployment View】】节点,进入部署图绘制状态节点,进入部署图绘制状态3)添加处理器或设备到部署图添加处理器或设备到部署图根据软件应用系统的部署情况,选择部署图绘图工具栏上的相应图标绘根据软件应用系统的部署情况,选择部署图绘图工具栏上的相应图标绘制处理器或设备制处理器或设备 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.3 绘制WebShop电子商城部署图 完成步骤完成步骤((4)设置处理器或设备属性。
设置处理器或设备属性处理器添加到部署图以后,右键单击组件,选择处理器添加到部署图以后,右键单击组件,选择【【Open Specification】】菜单,打开组件属性设置对话框菜单,打开组件属性设置对话框2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.3 绘制WebShop电子商城部署图 完成步骤完成步骤 在处理器属性设置对话框中,选择 在处理器属性设置对话框中,选择【【Detail】】选项卡,可以进一步设置选项卡,可以进一步设置处理器的特性、进程、处理器计划等内容处理器的特性、进程、处理器计划等内容 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.3 绘制WebShop电子商城部署图 完成步骤完成步骤 ((5)绘制和设置处理器、)绘制和设置处理器、设备之间的关联关系设备之间的关联关系 绘制处理器、设备之间的 绘制处理器、设备之间的关联关系的方法是:选择组件关联关系的方法是:选择组件图绘图工具栏上的,从源设备图绘图工具栏上的,从源设备(或处理器)目标设备(或处(或处理器)目标设备(或处理器)拖动鼠标,完成关联关理器)拖动鼠标,完成关联关系的绘制。
关联关系绘制成功系的绘制关联关系绘制成功后,在处理器或设备中单击鼠后,在处理器或设备中单击鼠标右键,选择选择标右键,选择选择【【Open Specification】】菜单,打开关菜单,打开关联关系属性设置对话框联关系属性设置对话框 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程9.3.3 绘制WebShop电子商城部署图 完成步骤完成步骤2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 2((1)通过学习小组讨论和上网查询资料形式完成通过学习小组讨论和上网查询资料形式完成2)比较)比较UML中的部署图和软件架构图之间的区别中的部署图和软件架构图之间的区别 操作提示操作提示((1)阅读如图)阅读如图9-26所示学生选课系统部署图,试着描述各处理器所示学生选课系统部署图,试着描述各处理器和设备之间的关系和设备之间的关系2)绘制图书管理系统的部署图绘制图书管理系统的部署图 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课外拓展((1)以小组方式进行讨论分析以小组方式进行讨论分析。
2)通过上网查询类图到数据库转换的相关资料通过上网查询类图到数据库转换的相关资料3)将数据库建模文件保存以备检查将数据库建模文件保存以备检查 操作提示操作提示((1)上网查找文献,学习由)上网查找文献,学习由UML的类图到关系数据库的转换的方法,的类图到关系数据库的转换的方法,并试着由图书管理系统的类图转换成基于并试着由图书管理系统的类图转换成基于SQL Server的数据库的数据库2)选择与你的生活和学习相关的一个业务系统(学生信息管理系统、)选择与你的生活和学习相关的一个业务系统(学生信息管理系统、进销存系统,应用进销存系统,应用PowerDesigner对建立该系统概念数据模型和物理对建立该系统概念数据模型和物理数据模型数据模型3)对比)对比Rational Rose和和PowerDesigner在数据库建模和在数据库建模和UML建模建模方面的优缺点方面的优缺点 操作要求操作要求UMLUML建模建模实例教程实例教程第第1010章章 双向工程双向工程刘志成 编著2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习导航航本章学习导航本章学习导航 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习要点要点l 从模型到代码的正向工程从模型到代码的正向工程l 从代码到模型的逆向工程从代码到模型的逆向工程 建议课时:建议课时:2 课时课时2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.1 双向工程简介 双向工程简介双向工程简介l Rose的双向工程包括正向工程和逆向工程。
的双向工程包括正向工程和逆向工程l 正向工程就是从正向工程就是从UML模型到具体语言代码的过程,而逆向工模型到具体语言代码的过程,而逆向工程是在软件开发环境中由具体的语言到程是在软件开发环境中由具体的语言到UML模型的过程模型的过程l使用正向工程,一旦软件系统的设计完成后,开发者可以借助使用正向工程,一旦软件系统的设计完成后,开发者可以借助于正向工程直接由于正向工程直接由UML模型生成程序代码框架,提高开发效率模型生成程序代码框架,提高开发效率l借助于逆向工程,开发者可以通过程序源代码得到软件系统的借助于逆向工程,开发者可以通过程序源代码得到软件系统的设计模型和设计文档设计模型和设计文档 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务1使用使用Rose的正向工程将类图生成的正向工程将类图生成Java代码 任务目标任务目标l 分组教学法分组教学法l 资料查询法资料查询法l 案例教学法案例教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.2 正向工程(生成Java代码) 完成步骤完成步骤1 1l设置默认语言为设置默认语言为Java。
在主在主菜单栏中依次选择菜单栏中依次选择【【Tools】】【【Options】】菜单,选择菜单,选择【【Notation】】选项卡,选择选项卡,选择【【default】】列表框中的语言为列表框中的语言为Java 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.2 正向工程(生成Java代码) 完成步骤完成步骤2 2l设置环境变量设置环境变量ClassPath在主菜单栏中依次选择在主菜单栏中依次选择【【Tools】】【【Java/J2EE】】【【Project Specification】】菜菜单,选择单,选择【【ClassPath】】选项选项卡,通过提供的路径操作按卡,通过提供的路径操作按钮钮 创建保存创建保存Java文件的目文件的目录(如:录(如:d:\temp)) 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.2 正向工程(生成Java代码) 完成步骤完成步骤3 3l设置代码生成属性设置代码生成属性在在“正向工程项目属性正向工程项目属性“对话框中,选择对话框中,选择【【Code Generation】】选选项卡,对正向工程的属项卡,对正向工程的属性进行相关设置。
性进行相关设置 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.2 正向工程(生成Java代码) 完成步骤完成步骤4 4l进行语法检查在下图所进行语法检查在下图所示的示的【【Tools】】【【Java/J2EE】】菜单中选择菜单中选择【【Syntax Check】】进行语法检进行语法检查并根据日志中的提示进行查并根据日志中的提示进行修正也可以使用修正也可以使用【【Tools】】【【Check Model】】菜单,菜单,对整个模型进行检查,如果对整个模型进行检查,如果有错误将在日志窗口中显示,有错误将在日志窗口中显示,根据日志进行错误的修改根据日志进行错误的修改 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.2 正向工程(生成Java代码) 完成步骤完成步骤5 5l完成代码的生成指定完成代码的生成指定CLASSPATH入口路径后,单击入口路径后,单击【【OK】】按按钮,执行代码生成操作如果在代码生成过程出现问题,会打开如钮,执行代码生成操作如果在代码生成过程出现问题,会打开如下图所示的对话框,同时在下图所示的对话框,同时在Rose的日志显示区域会显示代码生成过的日志显示区域会显示代码生成过程中的信息。
程中的信息 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.2 正向工程(生成Java代码) 完成步骤完成步骤6 6l代码生成后,可以在保存代码生成后,可以在保存Java文件夹路径(这里为文件夹路径(这里为d:\temp)中查)中查看所生成的看所生成的Java文件文件 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.2 正向工程(生成Java代码) 完成步骤完成步骤7 7l编辑代码代码生成后,可以在如图编辑代码代码生成后,可以在如图10-5所示的右键菜单中选择所示的右键菜单中选择【【Edit Code】】在在Rose中查看并编辑新生成的代码这时,在中查看并编辑新生成的代码这时,在Rose工工程的左下角会有一个代码查看区域程的左下角会有一个代码查看区域 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 1((1)通过学习小组讨论和上网查询资料形式完成通过学习小组讨论和上网查询资料形式完成2)比较生成的代码与自己编写的程序代码的区别比较生成的代码与自己编写的程序代码的区别 操作提示操作提示((1)使用)使用Rose的正向工程将图书管理系统中的类图转换成的正向工程将图书管理系统中的类图转换成Java代码。
代码2)在)在Rose中查看新生成的对应的类的中查看新生成的对应的类的Java代码操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程任务2使用使用Rose的逆向工程将已有的的逆向工程将已有的Java源代码转换成源代码转换成Rose模型模型 任务目标任务目标l 分组教学法分组教学法l 案例教学法案例教学法l SDSPR教学法教学法教学方法教学方法2024/9/12U U M M L L建建 模模 实实 例例 教教 程程10.3 逆向工程 逆向工程概述逆向工程概述利用利用Rose的逆向工的逆向工程这一功能,就可以完程这一功能,就可以完成代码、类图以及数据成代码、类图以及数据库库Schema到数据模型到数据模型图的转换图的转换 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程由源文件生成Rose类图的步骤 完成步骤完成步骤选择选择Java逆向工程依次选择逆向工程依次选择【【Tools】】【【Java/J2EE】】【【Reverse Engineer】】菜单,如下图所示打开菜单,如下图所示打开Java Reverse Engineer((Java逆向工程)对话框逆向工程)对话框 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程由源文件生成Rose类图的步骤 完成步骤完成步骤选择指定文件夹下(选择指定文件夹下(CLASSPATH)的)的Java源文件,单击源文件,单击【【Reverse】】按钮,执行从代码到模型的逆向转换,在按钮,执行从代码到模型的逆向转换,在Rose工程的视图区域中可以工程的视图区域中可以查看由逆向工程所生成的类查看由逆向工程所生成的类 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程由源文件生成Rose类图的步骤 完成步骤完成步骤将转换后的类添加到类图,使用鼠标将视图区域中的转换后的类(这将转换后的类添加到类图,使用鼠标将视图区域中的转换后的类(这里为里为Book)拖放到绘图区域,即可得到对应有尽有类图)拖放到绘图区域,即可得到对应有尽有类图 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程常见问题解决办法 问题一问题一((1))Rose逆向工程的时候,属性类型逆向工程的时候,属性类型表现为:表现为:Logical View::java::lang:: 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程常见问题解决办法 问题二问题二(二)(二)Rose逆向工程的时候,错误显示为找不到类逆向工程的时候,错误显示为找不到类 依次选择依次选择【【Tools】】【【Java/J2EE】】【【Project Specification】】菜单,选择菜单,选择【【Classpath 】】选项卡,将相应的选项卡,将相应的包加入即可,并设置好项目的相关项(如包加入即可,并设置好项目的相关项(如Classpath)即可。
即可 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 2((1)通过学习小组讨论和上网查询资料形式完成通过学习小组讨论和上网查询资料形式完成2)必须保证会员类之前没有)必须保证会员类之前没有g_Producer属性和属性和queryGoods方法 操作提示操作提示((1)在)在Java语言中编写语言中编写WebShop电子商务系统中商品类的代码,电子商务系统中商品类的代码,添加一个添加一个g_Producer属性并添加一个属性并添加一个queryGoods方法2)使用)使用Rose的逆向工程,将商品类对应的的逆向工程,将商品类对应的Java类()转换成类()转换成Rose中的类图,并比较该类图在修改前后的变化中的类图,并比较该类图在修改前后的变化 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课外拓展((1)双向工程并非只有)双向工程并非只有Rational Rose 2003中提供2)如果要实施)如果要实施C#语言的双向工程,需要选择其他建模工具或开发环境语言的双向工程,需要选择其他建模工具或开发环境。
操作提示操作提示((1)完善图书管理系统中的实体类的属性和方法(指定其类型和返回)完善图书管理系统中的实体类的属性和方法(指定其类型和返回值)2)由图书管理系统中的实体类图生成对应的)由图书管理系统中的实体类图生成对应的Java代码3)使用)使用Java语言编写一个关于描述学生的类语言编写一个关于描述学生的类4)使用)使用Rose工具对程序实施逆向工程工具对程序实施逆向工程5)试着在)试着在NetBeans开发环境中,使用开发环境中,使用UML的正向工程和逆向工程的正向工程和逆向工程功能 操作要求操作要求UMLUML建模建模实例教程实例教程第第1111章章 统统一一软软件件过过程程RUPRUP刘志成 编著2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习导航航本章学习导航本章学习导航 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程本章学本章学习要点要点l RUP的基本特点;的基本特点;l 6大核心工作流程及主要活动;大核心工作流程及主要活动;l 3大支持工作流程及主要活动;大支持工作流程及主要活动;l 初始、细化、构造和移交四个迭代阶段初始、细化、构造和移交四个迭代阶段的目标、核心活动、评审标准。
的目标、核心活动、评审标准 建议课时:建议课时:6 课时课时2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.1 RUP简介 RUPRUP简介简介l Rational Unified Process(以下简称(以下简称RUP)是一套软件工程方法,)是一套软件工程方法,主要由主要由 Ivar Jacobson的的 The Objectory Approch 和和 The Rational Approch发展而来发展而来 lRUP 吸收了多种开发模型的优点,具有很好的可操作性和实用性吸收了多种开发模型的优点,具有很好的可操作性和实用性 lRUP是与是与UML结合最好的一种软件过程方法结合最好的一种软件过程方法 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.1 RUP简介 RUPRUP基本思想基本思想在在RUP中,软件开发生生命周期根据时间和中,软件开发生生命周期根据时间和RUP的核心工作流划分的核心工作流划分为二维空间为二维空间2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.1 RUP简介 静态结构静态结构- -方法描述方法描述RUP采用角色、行为、产品和工作流四个基本模型元素组织和构造采用角色、行为、产品和工作流四个基本模型元素组织和构造系统开发过程。
系统开发过程 l角色是描述某个人或一个小组的行为与职责角色是描述某个人或一个小组的行为与职责l行为是一个有明确目的的独立工作单元行为是一个有明确目的的独立工作单元 l模型是从某一个角度对系统的完全描述模型是从某一个角度对系统的完全描述 l工作流描述了一个有意义的连续的行为序列工作流描述了一个有意义的连续的行为序列 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.1 RUP简介 动态结构动态结构- -迭代式开发迭代式开发((1)初始阶段:)初始阶段:定义最终产品视图、商业模型并确定系统范围以定义最终产品视图、商业模型并确定系统范围以需求分析为主,建立系统整体结构需求分析为主,建立系统整体结构 ((2)细化阶段:)细化阶段:设计及确定系统的体系结构,制定工作计划及资源设计及确定系统的体系结构,制定工作计划及资源要求针对第一阶段需求分析结果,进行设计,编程,测试,然后要求针对第一阶段需求分析结果,进行设计,编程,测试,然后再反馈到需求分析再反馈到需求分析3)构造阶段:)构造阶段:构造产品并继续演进需求、体系结构、计划直至产构造产品并继续演进需求、体系结构、计划直至产品提交。
对第(品提交对第(1)阶段的需求进行设计,编程,测试,反馈重复)阶段的需求进行设计,编程,测试,反馈重复需求,设计,编程,测试的过程需求,设计,编程,测试的过程4)移交阶段:)移交阶段:把产品提交给用户使用综合测试,交付可运行产把产品提交给用户使用综合测试,交付可运行产品 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.1 RUP简介 动态结构动态结构- -迭代式开发迭代式开发在每个阶段结束前都通过一个里程碑评估该阶段的工作如果未能在每个阶段结束前都通过一个里程碑评估该阶段的工作如果未能通过该里程碑的评估,则决策者应该做出决定是应取消还是继续该通过该里程碑的评估,则决策者应该做出决定是应取消还是继续该阶段的工作阶段的工作 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.1 RUP简介 RUPRUP的特点的特点((1)用例驱动)用例驱动 用例模型是需求分析工作流的结果,它从用户的角度描述该系统应用例模型是需求分析工作流的结果,它从用户的角度描述该系统应该实现的功能该实现的功能 ((2)以体系结构为中心)以体系结构为中心 RUP的早期的迭代工作,特别是演化阶段的重点就是确定和校验软的早期的迭代工作,特别是演化阶段的重点就是确定和校验软件的体系结构。
件的体系结构 ((3)迭代式开发)迭代式开发 迭代式开发方法是一个不断的减除风险的过程迭代式开发方法是一个不断的减除风险的过程 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.1 RUP简介 RUPRUP模型模型lRUP中的用例模型对应本书所中的用例模型对应本书所提到的需求模型;提到的需求模型;lRUP中的分析模型和设计模型中的分析模型和设计模型包括了本书提到的静态模型和包括了本书提到的静态模型和动态模型的一部分;动态模型的一部分;lRUP中的实施模型包含了本书中的实施模型包含了本书所提到的物理模型所提到的物理模型 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2 RUP工作流程 RUPRUP工作流程工作流程((1)商业建模:)商业建模:理解待开发系统的组织结构及其商业运作,确保所理解待开发系统的组织结构及其商业运作,确保所有参与人员(涉众)对开发系统有共同的认识有参与人员(涉众)对开发系统有共同的认识 ((2)需求分析:)需求分析:定义系统功能及用户界面,使客户知道系统的功能,定义系统功能及用户界面,使客户知道系统的功能,开发人员知道系统的需求,为项目预算及计划提供基础。
开发人员知道系统的需求,为项目预算及计划提供基础 ((3)分析与设计:)分析与设计:把需求分析的结果转化为实现规格把需求分析的结果转化为实现规格 ((4)实现:)实现:定义代码的组织结构、实现代码、单元测试、系统集成定义代码的组织结构、实现代码、单元测试、系统集成 ((5)测试:)测试:校验各自子系统的交互与集成确保所有的需求被正确校验各自子系统的交互与集成确保所有的需求被正确实现并在系统发布前发现错误实现并在系统发布前发现错误 ((6)发布:)发布:打包、分发、安装软件,升级旧系统;培训用户及销售打包、分发、安装软件,升级旧系统;培训用户及销售人员,并提供技术支持制定并实施人员,并提供技术支持制定并实施beta测试 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.1 业务建模 业务建模流程业务建模流程业务建模的业务建模的目的目的在于:在于: l了解目标组织(将要在其中部署系了解目标组织(将要在其中部署系统的组织)的结构及机制统的组织)的结构及机制 l了解目标组织中当前存在的问题并了解目标组织中当前存在的问题并确定改进的可能性确定改进的可能性 l确保客户、最终用户和开发人员就确保客户、最终用户和开发人员就目标组织达成共识。
目标组织达成共识 l导出支持目标组织所需的系统需求导出支持目标组织所需的系统需求 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.1 业务建模 业务流程分析员业务流程分析员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.1 业务建模 业务设计员业务设计员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.2 需求需求流程需求流程需求工作流程的需求工作流程的目的目的是:是: l与客户和其他涉众在系统的工作内与客户和其他涉众在系统的工作内容方面达成并保持一致容方面达成并保持一致 l使系统开发人员能够更清楚地了解使系统开发人员能够更清楚地了解系统需求系统需求 l定义系统边界定义系统边界 l为计划迭代的技术内容提供基础为计划迭代的技术内容提供基础 l为估算开发系统所需成本和时间提为估算开发系统所需成本和时间提供基础 l定义系统的用户界面,重点是用户定义系统的用户界面,重点是用户的需要和目标的需要和目标 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.2 需求系统分析员系统分析员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.2 需求架构设计师架构设计师2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.2 需求用户界面设计员用户界面设计员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.3 分析设计 分析设计流程分析设计流程分析设计的分析设计的目的目的在于:在于: l将需求转换为未来系统的设计。
将需求转换为未来系统的设计 l逐步开发强壮的系统构架逐步开发强壮的系统构架 l使设计适合于实施环境,为提使设计适合于实施环境,为提高性能而进行设计高性能而进行设计 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.3 分析设计 设计员设计员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.3 分析设计 封装体设计员和数据库设计员封装体设计员和数据库设计员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.4 实施 实施流程实施流程实施的实施的目的目的包括:包括: l对照实施子系统的分层结构定对照实施子系统的分层结构定义代码结构、义代码结构、 l以构件(源文件、二进制文件、以构件(源文件、二进制文件、可执行文件以及其他文件等)可执行文件以及其他文件等)的方式实施类和对象、的方式实施类和对象、 l对已开发的构件按单元来测试,对已开发的构件按单元来测试,并且并且 l将各实施员(或团队)完成的将各实施员(或团队)完成的结果集成到可执行系统中结果集成到可执行系统中 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.4 实施 实施员实施员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.4 实施 集成员集成员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.5 测试 测试流程测试流程测试的测试的目的目的在于:在于: l核实对象之间的交互。
核实对象之间的交互 l核实软件的所有构件是否核实软件的所有构件是否正确集成正确集成 l核实所有需求是否已经正核实所有需求是否已经正确实施 l确定缺陷并确保在部署软确定缺陷并确保在部署软件之前将缺陷解决件之前将缺陷解决 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.5 测试 测试设计员测试设计员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.5 测试 测试员测试员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.6 部署部署流程部署流程部署工作流程描述了三种产部署工作流程描述了三种产品部署的模式:品部署的模式:l自定义安装自定义安装 l“市售市售” l通过通过 Internet 使用软件使用软件 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.6 部署部署经理部署经理2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.6 部署课程开发员和图形设计员课程开发员和图形设计员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.6 部署配置经理和技术文档写作员配置经理和技术文档写作员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.7 配置与变更管理 配置和变量管理流程配置和变量管理流程配置与变更请求管理(配置与变更请求管理(CM 与与 CRM)涉及:)涉及: l确定配置项确定配置项;; l限制对这些项的变更限制对这些项的变更;;l审核变更审核变更;;l定义与管理配置定义与管理配置。
2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.7 配置与变更管理 变量控制经理变量控制经理2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.8 项目管理 项目管理流程项目管理流程项目管理的项目管理的目的目的是:是: l为对软件密集型项目进行为对软件密集型项目进行管理提供框架管理提供框架 l为项目的计划、人员配备、为项目的计划、人员配备、执行和监测提供实用的准则执行和监测提供实用的准则 l为管理风险提供框架为管理风险提供框架 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.9 环境 环境流程环境流程环境工作流程侧重于为项目配置环境工作流程侧重于为项目配置流程时的必需活动它描述了为流程时的必需活动它描述了为支持项目而开发指南时所需的活支持项目而开发指南时所需的活动环境活动的目的在于为软件动环境活动的目的在于为软件开发组织提供软件开发环境(流开发组织提供软件开发环境(流程和工具),该环境将会支持开程和工具),该环境将会支持开发团队 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.2.9 环境 工具专家和系统管理员工具专家和系统管理员2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 1((1)将)将RUP和传统的瀑布模型进行比较。
和传统的瀑布模型进行比较2)注意)注意RUP和和UML之间的关系之间的关系 操作提示操作提示((1)结合)结合WebShop电子商城的开发,以电子商城的开发,以RUP为软件过程指导,请说为软件过程指导,请说明明RUP的的6个核心工作流的主要活动个核心工作流的主要活动2)结合)结合WebShop电子商城的开发,以电子商城的开发,以RUP为软件过程指导,请说为软件过程指导,请说明明RUP的的3个支持工作流的主要活动个支持工作流的主要活动3)根据软件行业程序员的岗位能力要求,说明)根据软件行业程序员的岗位能力要求,说明RUP实施工作流程和实施工作流程和测试工作流程中主要角色的职责测试工作流程中主要角色的职责 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.3.1 初始 初始阶段初始阶段初始阶段的初始阶段的主要目标主要目标包括:包括: l建立项目的软件规模和边界条件,包括运作前景、验收标准以及希建立项目的软件规模和边界条件,包括运作前景、验收标准以及希望产品中包括和不包括的内容望产品中包括和不包括的内容 l识别系统的关键用例(也就是将造成重要设计折衷操作的主要场景)识别系统的关键用例(也就是将造成重要设计折衷操作的主要场景)。
l对比一些主要场景,展示(也可能是演示)至少一个备选构架对比一些主要场景,展示(也可能是演示)至少一个备选构架 l评估整个项目的总体成本和进度(以及对即将进行的细化阶段进行评估整个项目的总体成本和进度(以及对即将进行的细化阶段进行更详细的评估)更详细的评估) l评估潜在的风险(源于各种不可预测因素评估潜在的风险(源于各种不可预测因素l准备项目的支持环境准备项目的支持环境 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.3.2 细化 细化阶段细化阶段细化阶段的细化阶段的主要目标主要目标包括:包括: l确保构架、需求和计划足够稳定,充分减少风险,从而能够有预见性地确保构架、需求和计划足够稳定,充分减少风险,从而能够有预见性地确定完成开发所需的成本和进度对大多数项目来说,通过此里程碑也就确定完成开发所需的成本和进度对大多数项目来说,通过此里程碑也就相当于从简单快速的低风险运作转移到高成本、高风险的运作,并且在组相当于从简单快速的低风险运作转移到高成本、高风险的运作,并且在组织结构方面面临许多不利因素织结构方面面临许多不利因素 l处理在构架方面具有重要意义的所有项目风险处理在构架方面具有重要意义的所有项目风险 l建立一个已确定基线的构架,它是通过处理构架方面重要的建立一个已确定基线的构架,它是通过处理构架方面重要的场景场景得到的,得到的,这些场景通常可以显示项目的最大技术风险。
这些场景通常可以显示项目的最大技术风险 l制作产品质量构件的演进式制作产品质量构件的演进式原型原型,也可能同时制作一个或多个可放弃的,也可能同时制作一个或多个可放弃的探索性原型,以减小特定风险,例如:探索性原型,以减小特定风险,例如: 设计设计/需求折衷,构件复用需求折衷,构件复用l产品可行性或向投资者、客户和最终用户进行演示产品可行性或向投资者、客户和最终用户进行演示 l证明已建立基线的构架将在适当时间、以合理的成本支持系统需求证明已建立基线的构架将在适当时间、以合理的成本支持系统需求 l建立支持环境建立支持环境 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.3.3 构造 构造阶段构造阶段构造阶段的构造阶段的主要目标主要目标包括:包括: l通过优化资源和避免不必要的报废和返工,使开发成本降到最低通过优化资源和避免不必要的报废和返工,使开发成本降到最低 l快速达到足够好的质量快速达到足够好的质量 l快速完成有用的版本(快速完成有用的版本(Alpha 版、版、Beta 版和其他测试发布版)版和其他测试发布版) l完成所有所需功能的分析、开发和测试完成所有所需功能的分析、开发和测试。
l迭代式、递增式地开发随时可以发布到用户群的完整产品这意味着描迭代式、递增式地开发随时可以发布到用户群的完整产品这意味着描述剩余的述剩余的用例用例和其他和其他需求需求,充实,充实设计设计,完成,完成实施实施,并,并测试测试软件 l确定软件、场地和用户是否已经为部署应用程序作好准备确定软件、场地和用户是否已经为部署应用程序作好准备 l开发团队的工作实现某种程度的并行开发团队的工作实现某种程度的并行 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.3.4 移交 移交阶段移交阶段移交阶段的移交阶段的主要目标主要目标是:是: l进行进行 Beta 测试,按用户的期望确认新系统测试,按用户的期望确认新系统 lBeta 测试和相对于正在替换的遗留系统的并行操作测试和相对于正在替换的遗留系统的并行操作 l转换操作数据库转换操作数据库 l培训用户和维护人员培训用户和维护人员 l市场营销、进行分发和向销售人员进行新产品介绍市场营销、进行分发和向销售人员进行新产品介绍 l与部署相关的工程,如接入、商业包装和生产、销售介绍、现场人员培训与部署相关的工程,如接入、商业包装和生产、销售介绍、现场人员培训 l调整活动,如进行调试、性能或可用性的增强调整活动,如进行调试、性能或可用性的增强 l根据产品的完整前景和验收标准,对部署基线进行的评估根据产品的完整前景和验收标准,对部署基线进行的评估 l实现用户的自我支持能力实现用户的自我支持能力 l在涉众之间达成共识,即部署基线已完成在涉众之间达成共识,即部署基线已完成 l在涉众之间达成共识,即部署基线与前景的评估标准一致在涉众之间达成共识,即部署基线与前景的评估标准一致 2024/9/12U U M M L L建建 模模 实实 例例 教教 程程11.3.5 迭代计划示例(构造阶段) 移交阶段移交阶段2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课堂实践 2((1)理解每个迭代过程中都需要)理解每个迭代过程中都需要9个工作流程的工作。
个工作流程的工作2)理解具体阶段中每个工作流程的工作量的差异理解具体阶段中每个工作流程的工作量的差异 操作提示操作提示((1)参考构造阶段的迭代计划,结合)参考构造阶段的迭代计划,结合WebShop电子商城的开发过电子商城的开发过程,讨论并制订初始阶段的迭代计划程,讨论并制订初始阶段的迭代计划2)参考构造阶段的迭代计划,结合)参考构造阶段的迭代计划,结合WebShop电子商城的开发过电子商城的开发过程,讨论并制订细化阶段的迭代计划程,讨论并制订细化阶段的迭代计划3)参考构造阶段的迭代计划,结合)参考构造阶段的迭代计划,结合WebShop电子商城的开发过电子商城的开发过程,讨论并制订移交阶段的迭代计划程,讨论并制订移交阶段的迭代计划 操作要求操作要求2024/9/12U U M M L L建建 模模 实实 例例 教教 程程课外拓展((1)参考本章构造阶段的迭代计划实例参考本章构造阶段的迭代计划实例2)在制订软件系统的迭代计划时,注意迭代过程中产生的工件和阶段)在制订软件系统的迭代计划时,注意迭代过程中产生的工件和阶段评审标准评审标准 操作提示操作提示((1)结合图书管理系统的开发,以)结合图书管理系统的开发,以RUP为软件过程指导,请说明为软件过程指导,请说明RUP的的6个核心工作流的主要活动。
个核心工作流的主要活动2)结合图书管理系统的开发,以)结合图书管理系统的开发,以RUP为软件过程指导,请说明为软件过程指导,请说明RUP的的3个支持工作流的主要活动个支持工作流的主要活动3)结合图书管理系统的开发过程,讨论并制订细化阶段的迭代计划结合图书管理系统的开发过程,讨论并制订细化阶段的迭代计划4)结合图书管理系统的开发过程,讨论并制订构造阶段的迭代计划结合图书管理系统的开发过程,讨论并制订构造阶段的迭代计划 操作要求操作要求。












