第10章 活动图

合集下载

第10章 面向对象分析

第10章 面向对象分析
软件工程
第10章 面向对象分析
第10章 面向对象分析
• 面向对象软件开发技术
– 面向对象分析(OOA) – 面向对象设计(OOD) – 面向对象实现(OOP)
面向对象技术是一个有全新概念 的开发模式,其特点是:
(1)方法是对软件开发过程所有阶段进 行综合考虑而得到的; (2)从生存期的一个阶段到下一个阶段 所使用的方法与技术具有高度的连 续性;
取消交易
顾客可在按下选择键前任何一个时刻,拉动退币杆取 消交易收回硬币。
自动售货系统系统
-端1 * -端2
自动售货系统::售货
*
顾客
-端2
-端1 *
自动售货系统::供货
*
供货人
-端1 * -端2
自动售货系统::取货款
*
收银员
自动售货系统系统
-端1 *
-端2
售货
*
<<extends>>
售散装饮料
顾客
• 业务中的执行者扮演什么角色?这些角色可以 看作类,如客户、操作员等。
(2)筛选对象类,确定最终对象类 我们可以用以下选择特征来确定最终的对象: 1) 保留的信息:仅当必须记住有关潜在对象的 信息,系统才能运作时,则该潜在对象在分 析阶段是有用的; 2) 需要的服务:潜在对象必须拥有一组可标识 的操作,它们可以按某种方式修改对象属性 的值; 3) 多个属性:在分析阶段,关注点应该是“较 大的”信息(仅具有单个属性的对象在设计 时可能有用,但在分析阶段,最好把它表示 为另一对象的属性);
定义服务
• 对象=属性+操作(服务) • 因为在动态模型和功能模型中更明确地描 述了每个类中应该提供哪些服务,所以在 建立了这两个模型后才能最终确定类中应 有的服务。 • 事实上,在确定类中应有的服务时,既要 考虑该类实体的常规行为,又要考虑在本 系统中特殊需要的服务。

UML建模教程

UML建模教程

UML建模教程第 1 章UML初览本章使用一个简单的例子对UML中所使用的概念和视图进行初览。

本章的目的是要将高层UML概念组织成一系列较小的视图和图表来可视化说明这些概念,说明如何用各种不同的概念来描述一个系统以及如何将各种视图组织在一起。

概括性的说明不可能面面俱到,其中省略了许多概念。

要想得到更详细的说明,可参见下一章对UML各视图的说明和本书大全部分的有关细节。

本章使用的例子是计算机管理的戏院售票系统。

这是一个精心设计的例子,目的是用少量篇幅来强调说明UML的各个组件。

这是一个经过有意简化的例子,忽略了有关细节。

除非进行大量的反复说明,否则一个实际系统的完整模型不可能用这么少的篇幅来对UML中使用的每种组件进行介绍。

1.1 UML视图UML中的各种组件和概念之间没有明显的划分界限,但为方便起见,我们用视图来划分这些概念和组件。

视图只是表达系统某一方面特征的UML建模组件的子集。

视图的划分带有一定的随意性,但我们希望这种看法仅仅是直觉上的。

在每一类视图中使用一种或两种特定的图来可视化地表示视图中的各种概念。

在最上一层,视图被划分成三个视图域:结构分类、动态行为和模型管理。

结构分类描述了系统中的结构成员及其相互关系。

类元包括类、用例、构件和节点。

类元为研究系统动态行为奠定了基础。

类元视图包括静态视图、用例视图和实现视图。

动态行为描述了系统随时间变化的行为。

行为用从静态视图中抽取的瞬间值的变化来描述。

动态行为视图包括状态机视图、活动视图和交互视图。

模型管理说明了模型的分层组织结构。

包是模型的基本组织单元。

特殊的包还包括模型和子系统。

模型管理视图跨越了其他视图并根据系统开发和配置组织这些视图。

UML还包括多种具有扩展能力的组件,这些扩展能力有限但很有用。

这些组件包括约束、构造型和标记值,它们适用于所有的视图元素。

表3–1列出了UML的视图和视图所包括的图以及与每种图有关的主要概念。

不能把这张表看成是一套死板的规则,应将其视为对UML常规使用方法的指导,因为UML允许使用混合视图。

Rational Rose 2003 Enterprise Edition光盘说明

Rational Rose 2003 Enterprise Edition光盘说明

光盘使用说明1.使用Rational Rose 2003 Enterprise Edition打开光盘中的案例文件。

选择开始-> 程序-> Rational Rose Enterprise Edition,启动Rational Rose 2003新建模型对话框如下图1所示。

图1新建模型对话框点击Cancel(取消)按钮,出现Rational Rose 2003的主界面,如下图2所示。

图2 Ratioal Rose 2003的主界面点击File(文件)->Open(打开),弹出选择文件的对话框,如图3所示。

图3 选择文件对话框在查找范围的下拉列表框中选择光盘上放置文件的文件夹路径,下面的列表中会显示出所有的后缀名为mdl的Rational Rose文件。

每一个文件包含一个案例,读者可以自行选择自己需要的文件。

我们这里选择银行系统的案例文件“银行系统.mdl”,如图4所示。

图4 选择银行系统的案例文件点击打开银行系统文件,如下图5所示。

图5 打开银行系统案例文件在图5的界面中,我们就可以查看银行系统中各种UML模型元素和视图。

案例中创建的所有的模型元素和视图都存放在User Case View、Logical View、Component View和Deployment View四个文件夹下,读者可以根据需要自行选择案例。

2.书中案例中创建的模型元素和视图所在案例文件中的位置。

第六章:用例图1. 图6-29销售员用例图位于企业进存销系统.mdl->User Case View->用例2. 图6-30仓库管理员用例图位于企业进存销系统.mdl->User Case View->用例3. 图6-31采购员用例图位于企业进存销系统.mdl->User Case View->用例4. 图6-32 会计用例图位于企业进存销系统.mdl->User Case View->用例5. 图6-33系统管理员用例图位于企业进存销系统.mdl->User Case View->Main第7章类图与对象图1. 图7-28 类和关联示意位于企业进存销系统.mdl->User Case View-> Main2. 图7-29 基本类图示例位于企业进存销系统.mdl-> Logical View -> 进存销3. 图7-30 对象图位于企业进存销系统.mdl->User Case View->示例第八章序列图1. 图8-20仓管员产品入库用例位于企业进存销系统.mdl ->User Case View->用例2. 图8-21确定序列图对象和图8-22产品入库序列图位于企业进存销系统.mdl.->User Case View->产品入库(序列图)第9章协作图1. 图9-11仓管员产品入库用例位于企业进存销系统.mdl->User Case View->用例1. 图9-12确定协作图中的对象、图9-13 在协作图中添加交互和图9-14 添加消息到协作图位于企业进存销系统.mdl->User Case View->产品入库(协作图)第10章活动图1. 图10-27 查询和修改员工信息位于企业进存销系统.mdl->User Case View->系统管理员(管理员工信息)2. 图10-28 用例流程示意位于企业进存销系统.mdl->Logical View->State/ActivityModel->修改员工3. 图10-29 创建活动图位于企业进存销系统.mdl->Logical View->State/Activity Model->修改员工信息第11章包图1. 图11-24 MVC架构包图和图11-24 MVC架构包图企业进存销系统.mdl->User Case View->包图第12章构件图和部署图1.图12-29 仓管员产品入库用例位于企业进存销系统.mdl ->User Case View->用例2.图12-30 确定用例涉及的构件和图12-31 构件的依赖关系位于企业进存销系统.mdl->Component View->Main3.图12-32部署图节点、图12-33添加部署图的连接和图12-34 添加部署图中的主程序位于企业进存销系统.mdl ->Deployment View第13章状态图1.图13-24 标识各种状态和图13-25 产品状态图位于企业进存销系统.mdl -> Logical View-> State/Activity Model->产品状态图第14章网上选课系统1. 图14-3 学生用例图和图14-4 系统管理员用例位于网上选课系统.mdl-> User CaseView-> Main2. 图14-5参与者的基本类图和图14-6 业务实体类位于网上选课系统.mdl->LogicalView-> Main3. 图14-7 学生登录系统序列图位于网上选课系统.mdl->Logical View->学生登录系统(序列图)4. 图14-8 学生登录系统协作图位于网上选课系统.mdl->Logical View->学生登录系统(协作图)5.图14-9 学生查询课程序列图位于网上选课系统.mdl->Logical View->学生查询选修课程(序列图)6. 图14-10 学生查询课程协作图位于网上选课系统.mdl->Logical View->学生查询选修课程(协作图)7. 图14-11 学生选择选修课程序列图位于网上选课系统.mdl->Logical View->学生选择课程(序列图)8. 图14-12 学生选择选修课程协作图位于网上选课系统.mdl->Logical View->学生选择课程(协作图)9. 图14-13 学生查询的个人信息序列图位于网上选课系统.mdl->Logical View->学生查询个人信息(序列图)10. 图14-14 学生查询的个人信息协作图位于网上选课系统.mdl->Logical View->学生查询个人信息(协作图)11. 图14-15 系统管理员登录选课系统序列图位于网上选课系统.mdl->Logical View->管理员登录系统(序列图)12. 图14-16 管理员登录选课系统协作图位于网上选课系统.mdl->Logical View->管理员登录系统(协作图)13. 图14-17 系统管理员添加选修课程序列图位于网上选课系统.mdl->Logical View->管理员添加课程(序列图)14. 图14-18管理员添加课程协作图位于网上选课系统.mdl->Logical View->管理员添加课程(协作图)15. 图14-19系统管理员修改课程序列图位于网上选课系统.mdl->Logical View->管理员修改课程(序列图)16. 图14-20 管理员修改课程协作图位于网上选课系统.mdl->Logical View->管理员修改课程(协作图)17. 图14-21 管理员删除课程序列图位于网上选课系统.mdl->Logical View->管理员删除课程(序列图)18. 图14-22 管理员删除课程协作图位于网上选课系统.mdl->Logical View->管理员删除课程(协作图)19. 图14-23管理员查询学生信息序列图位于网上选课系统.mdl->Logical View->管理员查询学生信息(序列图)20. 图14-24管理员查询学生信息协作图位于网上选课系统.mdl->Logical View->管理员查询学生信息(协作图)21. 图14-25管理员添加学生信息序列图位于网上选课系统.mdl->Logical View->管理员添加学生信息(序列图)22. 图14-26 管理员添加学生信息协作图位于网上选课系统.mdl->Logical View->管理员添加学生信息(协作图)23. 图14-27管理员修改学生信息序列图位于网上选课系统.mdl->Logical View->管理员修改学生信息(序列图)24. 图14-28管理员修改学生信息协作图位于网上选课系统.mdl->Logical View->管理员修改学生信息(协作图)25. 图14-29管理员删除学生信息序列图位于网上选课系统.mdl->Logical View->管理员删除学生信息(序列图)26. 图14-30管理员删除学生信息协作图位于网上选课系统.mdl->Logical View->管理员删除学生信息(协作图)27. 图14-31 课程状态图位于网上选课系统.mdl->Logical View-> State/Activity Model-> 课程状态28. 图14-32 学生查询课程活动图位于网上选课系统.mdl->Logical View-> State/Activity Model->学生查询课程29. 图14-33 学生选课活动图位于网上选课系统.mdl->Logical View-> State/Activity Model->学生选择课程30. 图14-34 系统管理员添加课程活动图位于网上选课系统.mdl->Logical View-> State/Activity Model->管理员添加课程31. 图14-35系统管理员修改课程活动图位于网上选课系统.mdl->Logical View-> State/Activity Model->管理员修改课程32. 图14-36 基本业务构件位于网上选课系统.mdl->Component View->Main33. 图14-37 系统部署图位于网上选课系统.mdl-> Deployment View第15章银行系统1.图15-3 银行职员用例图位于银行系统.mdl-> User Case View->银行职员用例2.图15-4 客户用例图位于银行系统.mdl-> User Case View->客户用例3.图15-5系统类图位于银行系统.mdl-> Logical View->类图4.图15-6 银行职员登录系统序列图位于银行系统.mdl-> Logical View->登录(序列图)5.图15-7 银行职员登录系统协作图位于银行系统.mdl-> Logical View->登录(协作图)6.图15-8 客户存款序列图位于银行系统.mdl-> Logical View->存款(序列图)7.图15-9客户存款协作图位于银行系统.mdl-> Logical View->存款(协作图)8.图15-10客户取款序列图位于银行系统.mdl-> Logical View->取款(序列图)9.图15-11 客户取款协作图位于银行系统.mdl-> Logical View->取款(协作图)10.图15-12 客户本行转账序列图位于银行系统.mdl-> Logical View->本行转账(序列图)11.图15-13 客户本行转账协作图位于银行系统.mdl-> Logical View->本行转账(协作图)12.图15-14 客户跨行转账序列图位于银行系统.mdl-> Logical View->跨行转账(序列图)13.图15-15 客户跨行转账协作图位于银行系统.mdl-> Logical View->跨行转账(协作图)14.图15-16 客户开立新账户序列图位于银行系统.mdl-> Logical View->创建新帐户(序列图)15.图15-17客户开立新账户协作图位于银行系统.mdl-> Logical View->创建新帐户(协作图)16.图15-18客户删除账户的序列图位于银行系统.mdl-> Logical View->删除账户(序列图)17.图15-19客户删除账户协作图位于银行系统.mdl-> Logical View->删除账户(协作图)18.图15-20 客户修改账户信息序列图位于银行系统.mdl-> Logical View->修改账户(序列图)19.图15-21 客户修改账户信息协作图位于银行系统.mdl-> Logical View->修改账户(协作图)20.图15-22 账户状态图位于银行系统.mdl-> Logical View->State/Activity Model->账户状态21.图15-23 银行职员登录系统活动图位于银行系统.mdl-> User Case View->登录系统->登录系统22.图15-24 客户存款活动图位于银行系统.mdl-> User Case View->登录系统->存款23.图15-25 客户取款添活动图位于银行系统.mdl-> User Case View->登录系统->取款24.图15-26 客户转账活动图位于银行系统.mdl-> User Case View->登录系统->转账25.图15-27 创建账户的活动图位于银行系统.mdl-> User Case View->登录系统->创建新帐户26.图15-28 客户修改账户活动图位于银行系统.mdl-> User Case View->登录系统->修改帐户27.图15-29 基本业务构件位于银行系统.mdl-> Component View->Main28.图15-30 系统部署图位于银行系统.mdl-> Deployment View第16章订餐管理系统1.图16-2 接待员用例图和图16-3 系统管理员用例位于订餐管理系统.mdl-> UserCase View->用例图2.图16-4 系统类图位于订餐管理系统.mdl-> Logical View->类图3.图16-5 接待员记录订餐序列图位于订餐管理系统.mdl-> Logical View->记录预订(序列图)4.图16-6 接待员记录订餐协作图位于订餐管理系统.mdl-> Logical View->记录预订(协作图)5.图16-7 接待员取消订餐序列图位于订餐管理系统.mdl-> Logical View->取消预订(序列图)6.图16-8 接待员取消订餐协作图位于订餐管理系统.mdl-> Logical View->取消预订(协作图)7.图16-9 接待员定时提醒预订序列图位于订餐管理系统.mdl-> Logical View->定时提醒(序列图)8.图16-10 接待员定时提醒预订协作图位于订餐管理系统.mdl-> Logical View->定时提醒(协作图)9.图16-11领班记录订餐客人到店序列图位于订餐管理系统.mdl-> Logical View->记录抵店(序列图)10.图16-12 领班记录订餐客人到店协作图位于订餐管理系统.mdl-> Logical View->记录抵店(协作图)11.图16-13 领班记录订餐客人离店序列图位于订餐管理系统.mdl-> Logical View->记录离店(序列图)12.图16-14 领班记录订餐客人离店协作图位于订餐管理系统.mdl-> Logical View->记录离店(协作图)13.图16-15领班注册新会员序列图位于订餐管理系统.mdl-> Logical View->注册会员(序列图)14.图16-16 领班注册新会员协作图位于订餐管理系统.mdl-> Logical View->注册会员(协作图)15.图16-17领班修改会员信息序列图位于订餐管理系统.mdl-> Logical View->修改会员(序列图)16.图16-18领班修改会员信息协作图位于订餐管理系统.mdl-> Logical View->修改会员(协作图)17.图16-19领班删除会员序列图位于订餐管理系统.mdl-> Logical View->删除会员(序列图)18.图16-20领班删除会员协作图位于订餐管理系统.mdl-> Logical View->删除会员(协作图)19.图16-21领班更换餐位序列图位于订餐管理系统.mdl-> Logical View->换桌(序列图)20.图16-22领班更换餐位协作图位于订餐管理系统.mdl-> Logical View->换桌(协作图)21.图16-23 预订类状态图位于订餐管理系统.mdl-> Logical View-> State/ActivityModel->预订类22.图16-24 接待员记录订餐活动图位于订餐管理系统.mdl-> Logical View->State/Activity Model->记录订餐23.图16-25 接待员取消订餐活动图位于订餐管理系统.mdl-> Logical View->State/Activity Model->取消订餐24.图16-26 接待员定时提醒预订活动图位于订餐管理系统.mdl-> Logical View->State/Activity Model->提醒预订25.图16-27领班记录订餐客人到店活动图位于订餐管理系统.mdl-> Logical View->State/Activity Model->记录到店26.图16-28 领班记录订餐客人离店活动图位于订餐管理系统.mdl-> Logical View->State/Activity Model->记录离店27.图16-29 领班注册会员活动图位于订餐管理系统.mdl-> Logical View->State/Activity Model->注册会员28.图16-30 领班换桌活动图位于订餐管理系统.mdl-> Logical View-> State/ActivityModel->换桌29.图16-31领班修改会员信息活动图位于订餐管理系统.mdl-> Logical View->State/Activity Model->修改会员信息30.图16-32基本业务构件位于订餐管理系统.mdl-> Component View->Main31.图16-33 系统部署图位于订餐管理系统.mdl-> Deployment View第17章网上订单处理系统1. 图17-2 客户用例图、图17-3 营销人员用例图和图17-4仓管员用例图位于网上订单处理系统.mdl-> User Case View->用例图2. 图17-5系统类图位于网上订单处理系统.mdl-> Logical View->类图3. 图17-6客户选择产品序列图位于网上订单处理系统.mdl-> Logical View->客户选择产品(序列图)4. 图17-7客户选择产品协作图位于网上订单处理系统.mdl-> Logical View->客户选择产品(协作图)5. 图17-8客户订购产品序列图位于网上订单处理系统.mdl-> Logical View->客户订购产品(序列图)6. 图17-9客户订购产品协作图位于网上订单处理系统.mdl-> Logical View->客户订购产品(协作图)7. 图17-10 客户与营销人员协商联络序列图位于网上订单处理系统.mdl-> Logical View->联络协商(序列图)8. 图17-11 客户与营销人员协商联络协作图位于网上订单处理系统.mdl-> Logical View->联络协商(协作图)9. 图17-12客户付款序列图位于网上订单处理系统.mdl-> Logical View->付款(序列图)10. 图17-13客户付款协作图位于网上订单处理系统.mdl-> Logical View->付款(协作图)11. 图17-14 营销人员修改订单状态系统序列图位于网上订单处理系统.mdl-> Logical View->修改订单状态(序列图)12. 图17-15 营销人员修改订单状态协作图位于网上订单处理系统.mdl-> Logical View->修改订单状态(协作图)13. 图17-16营销人员打印发票序列图位于网上订单处理系统.mdl-> Logical View->打印发票(序列图)14. 图17-17营销人员打印发票协作图位于网上订单处理系统.mdl-> Logical View->打印发票(协作图)15. 图17-18营销人员通知仓管员发货序列图位于网上订单处理系统.mdl-> LogicalView->通知发货(序列图)16. 图17-19营销人员通知仓管员发货协作图位于网上订单处理系统.mdl-> Logical View->通知发货(协作图)17. 图17-20 客户付款行为状态图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->付款18. 图17-21 订单对象状态图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->订单19. 图17-22 客户选择产品活动图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->客户选择产品20. 图17-23 客户订购产品活动图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->订购产品21. 图17-24客户与营销人员联络协商活动图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->联系协商22. 图17-25客户付款活动图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->客人付款23. 图17-25通知仓管员发货活动图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->通知发货24. 图17-26营销人员打印发票活动图位于网上订单处理系统.mdl-> Logical View-> State/Activity Model->打印发票25. 图17-27 基本业务构件位于网上订单处理系统.mdl-> Component View->Main26. 图17-28 系统部署图位于网上订单处理系统.mdl-> Deployment View。

UML复习资料(完整)

UML复习资料(完整)

2011UML复习题纲一、选择、判断、填空第一章UML与面向对象1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。

2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。

它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。

3、UML不是开发工具,只是建模语言。

4、OOA三种基本模型:功能模型、对象模型、动态模型。

5、软件是程序、数据和相关文档的完整集合。

6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。

7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。

8、软件方法学包含3个要素:方法、工具和过程。

9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。

10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。

11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。

封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。

12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。

13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。

14、OO开发中的三层设计:问题域类、GUI类和数据访问类。

15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。

16、UML的构成:元元模型层、元模型层、模型层、用户模型层。

17、UML的核心是由视图、图、模型元素、通用机制组成。

18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。

活动图与状态图

活动图与状态图

系统分析 在系统分析系统阶段用状 态图和活动图为对象动态模型 中的状态模型建模。 系统设计 在系统设计阶段阶段对已 经建立的对象动态模型(状态 实现 图、活动图、顺序图和协作图) 采用迭代式的方式进一步细化 测试 和完善。
部署
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
2. 状态 状态是指在对象的生命期中的一个条件或状况, 在此期间对象将满足某些条件、执行某些活动或等待 某些事件。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.1 动态建模概述
5.状态图做什么?
状态图(State Diagram)主要用来描述对象、子系统、系 统的生命周期。通过状态图可以表现系统中一个对象所具有的 各种状态和这个对象从一种状态到另一种状态的转换(迁移), 以及影响对象这些状态的事件(如收到消息、时间已到、报错、 条件为真)等。它主要描述某个对象从一个状态到另一个状态 变化迁移的控制流。
第10章 状态图与活动图
10.2.2 状态图组成
理解状态的特征: (1)进入/退出动作:对象本身的一个操作。如果在电梯里是一个 状态的话,那员工进电梯和出电梯就是状态“在电梯里”的进 入/退出动作。 (2)内部转换:例如员工在去等电梯的时候发现钥匙没带,此时 我们不用在“等电梯”以后,而是在“准备回家”的状态中就 去拿钥匙了。虽然整体的状态没有发生变化,但对于对象本身 来说,前后是不一样的,一个是有钥匙,一个是没有钥匙。 (3)子状态:如果需要进一步描述员工对象在电梯里聊天、打电 话等状态时,这些状态就是该对象的“在电梯里”状态的子状 态。 (4)延迟事件:现在不立即产生的事件,该事件是在一段时间以 后才产生的事件。员工必须等待到达17:50的时候,才能下班。

UML基础与Rose建模实用教程(第三版)

UML基础与Rose建模实用教程(第三版)

第11 章包图
1 1 .5 本章小结
习题十 一
习题十一
1. 填空题 2. 选择题 3. 简答题 4. 练习题
第12 章构件图与部署图
1 2 .1 构件图与部署 图的基本概念
1 2 .2 使用R o s e 创建 构件图与部署图
1 2 .3 本章小结
习题十 二
12.1构件图与部署图的基本概念
1. 构件 2. 构件图的基本概念 3. 部署图的基本概念
1.填空题
2. 选择题 3. 简答题 4. 练习题
第9 章状态图
9 .1 状态图的
1
基本概念
2
9 .2 状态图的 组成
3
9 .3 组成状态
4 9 .4 使用R o s e
创建状态图
5 9 .5 使用R o s e
创建状态图示 例
第9 章状态图
9 .6 本章小结
习题 九
9.1状态图的基本概念
1. 状态图的定义 2. 状态图的作用
7.5使用Rose创建序列图示例
1. 确定工作流程 2. 确定对象 3. 确定消息和条件 4. 绘制序列图总图
习 4. 练习题
第8 章协作图
8.2协作图的组成
8.1协作图的基本 概念
8.3使用Rose创建 协作图
第8 章协作图
8.5本章小结
8.4使用Rose创建 协作图示例
习题八
8.1协作图的基本概念
1. 协作图的定义 2. 协作图的作用
8.2协作图的组成
1. 对象 2. 消息 3. 链
8.3使用Rose创建协作图
1. 创建对象 2. 创建消息 3. 创建链
8.4使用Rose创建协作图示例

需求工程复习要点

需求工程复习要点

2020
第10章需求的组织——需求获取中的模型驱动方法
模型驱动方法是一类以定义 明确的模型为理论基础,依据模 型指导和组织活动开展的需求工 程方法。需求获取的常见模型驱 动方法有3种: ① 面向目标的方法。 ② 基于场景的方法。 ③ 基于用例的方法。 场景是用户为了达到某个 目标,需要和软件系统发生交 互的行为序列。 场景方法在需求工程中的 应用主要有3种:1组织需求获 取得到的信息。2帮助进行详 细的需求分析3. 结合面向目标 的方法,指导需求获取活动的 开展 用例是在系统(或者子系统 或者类)和外部对象的交互当中 所执行的行为序列的描述。 用例之间的关系主要有: 包含(Include)、扩展(Extend) 和泛化(Generalization)三种。
1212
第 5章
确定项目的前景与范围
5.4 前景与范围文档
业务需求、高 层次解决方案和系 统特性都应该被定 义到项目前景与范 围文档之中。
1313
第 6章
6.1 涉众
涉众分析与硬数据采样
6.5 硬数据
文档资料被称为硬数据 1. 定量硬数据: ① 数据收集表 ② 统计报表
所有能够影响软件系 统的实现,或者会被实现后 的软件系统所影响的个人和 团体。 1. 用户 2. 客户 3. 开发者 4. 管理者 5. 领域专家 6. 政府力量 7. 市场力量
2222
第12章 过程建模
过程建模是结构化分析方法 的典型技术。 过程建模使用的主要技术有: ⑴ 上下文图 ⑵ 数据流图 ⑶ 微规格说明 ⑷ 数据字典 电梯控制系统的DFD创建实例: ⑴ 创建上下文图 ⑵ 发现并建立DFD片段 ⑶ 根据DFD片段组合产生0层图 ⑷ 功能分解,产生N层图 ⑸ 定义原始过程的逻辑说明 ⑹ 定义数据流和数据存储的数据 说明

软件设计与体系结构课后习题答案(秦航)

软件设计与体系结构课后习题答案(秦航)
3
牡丹江师范学院--软件工程--朱有富 2015 年 6 月整理
第一章 1.什么是软件?软件的特点是什么?软件有那些分类? 计算机软件是由专业人员开发并长期维护的软件产品; 特点:
1)软件不是在传统意义上生产制造的,而是由设计开发的; 2)软件不会像硬件那样磨损和老化; 3)随着构件构造模式的发展,软件需要根据实际需求定制; 分类:计算机软件分为 7 个大类: ①系统软件②应用软件③嵌入式软件④科学和工程计 算软件⑤产品线软件⑥人工智能软件⑦Web 应用软件 2.软件设计应该包括哪些要素?软件设计在软件工程中所处的位置和重要性如何? 元素:①分析模型②数据/类设计③体系结构设计④接口设计⑤构件级设计 位置:软件需求分析->需求规格说明->软件设计->设计文档->软件编码…… 重要性: 软件设计是软件工程中形成质量的地方,设计为我们提供了质量评估的软件表示,设 计是我们能够将用户需求准确地转化为软件产品或系统的唯一方法。是所有软件工程 活动和随后的软件支持活动的基础。没有设计,就会有构造不稳定系统的风险。 3.请用自己的话说明软件体系结构。传统的建筑体系结构科学和软件体系结构有何相 似之处?有何不同之处? 软件体系结构是软件系统的基本组织,包含构件、构件之间、构件与环境之间的关系 ,以及相关的设计与演化原则等。 相似之处: 都是所构建系统的计划,都具有确保得到期望的特性,也是所构建系统的描述。 不同之处: 建筑师创建的是相对静止的静态描述而软件体系结构师创建的体系结构描述、代码在 以后将被执行多次,靠许多组件的交互来得到期望结果。
2垂直型设计是指运用面向体系结构的专用建模设计工具及其表达模型所进行的软件体系结构的设计一般来说这种专用工具针对软件体系结构的描述首先定义一种表达模型然后围绕该模型通过提供相应的设计工具来支持软件体系结构的设计

第10章活动图-修订

第10章活动图-修订

28
活动图分类
在活动图中,存在这样一些现象:一种情况 是,可能存在一些对象进入一个活动节点, 经过活动处理,修改了对象的状态;另一种 情况是,活动节点创建或删除了一些对象; 一些情况是,输出一些对象。在这些活动中, 对象与节点活动是紧密相关的,我们可以在 活动图中把相关的对象标识出来
29
活动图分类
19
分支与合并
20
分叉与汇合
分叉用于将动作流分为两个或者多个并发运行的分 支,而汇合则用于同步这些并发分支,以达到共同 完成一项事务的目的。 分叉可以用来描述并发线程,每个分叉可以有一个 输入转换和两个或多个输出转换,每个转换都可以 是独立的控制流。 汇合代表两个或多个并发控制流同步发生,当所有 的控制流都达到汇合点后,控制才能继续往下进行。 每个汇合可以有两个或多个输入转换和一个输出转 换。 分叉和汇合都使用加粗的水平线段表示。
35
活动图分类
信号:
在活动图中,有三种信号元素:发送信号,接 收信号和时间信号。
三种信号的表示法
36
活动图分类
(1)时间信号:时间信号是用来表示随着时间的 流逝而自动发出的信号,时间信号表示,当时间到 达某个特定的时刻时,就会触发时间事件,例如每 天10点时,闹钟开始响铃,10点钟发出响铃的信 号就是时间信号。 (2)发送信号:也就是发出一个异步消息,对于 发送者而言,就是发送信号;对于接收到这种消息 的目标而言,就是“接收信号’。 (3)接收信号:就是接收者收到的一个外部信号。
43
活动图分类
6 标识扩展区的活动图
在活动图中,有时需要表示一个活动需要多次 执行的情况。例如有三个活动节点“供应商送 货”,“修改订单项状态”以及分支“所有订 单项已送货完毕”都需要多次执行。由于一个 订单对应多个“送货单”,因此采用了扩展区 来表示活动节点的循环执行。

第10章---面向对象分析

第10章---面向对象分析

(2) 与问题无关的或应在实现阶段考虑的关联
• 如: “系统处理并发的访问”
(3) 瞬时事件
• 关联应该描述问题域的静态结构,而不应该是一个瞬时事 件。 • 如: “ATM读现金兑换卡”
确定关联
(4) 三元关联
三个或三个以上对象之间的关联,大多可以 分解为二元关联或用词组描述成限定的关联。
• “柜员输入针对账户的事务”可以分解成“柜员 输入事务”和“事务修改账户”这样两个二元关 联。 • “ATM与中央计算机交换关于事务的信息” , 隐含了“ATM与中央计算机通信”和“在ATM上 输入事务”这两个二元关联。
一个事务包含对账户的若干次更新, 如(取 款、存款或查询)。
3. 把“分行”与“分行计算机”合并 参见图10.6(见书238页)
第十章面向对象分析
10.1 10.2 10.3 10.4 10.5 10.6 面向对象分析的基本过程 需求陈述 建立对象模型 建立动态模型 建立功能模型 定义服务

建立动态模型
确定类与对象
(3) 笼统
如“银行”、“网络”、“系统”、“软件”、 “信息”、“访问”等
(4) 属性
如:“现金”、“支票”、“取款额”、“账单”、 “余额”、“分行代码”、“卡号”、“密码”、 “类型”等
(5) 操作
本身具有属性需独立存在的操作,应该作为类与对 象。
(6) 实现
如:“事务日志”, “通信链路”
确定类与对象
2. 筛选出正确的类与对象
筛选标准
• (1) 冗余-----两个类表达了同样的信息 • (2) 无关--仅需要把与本问题密切相关的类与 对象放进目标系统中。 • (3) 笼统 • (4) 属性--有些名词实际上描述的是其他对象 的属性。 • (5) 操作--有时可能使用一些既可作为名词, 又可作为动词的词 • (6) 实现--不应该过早地考虑怎样实现目标系 统

UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)

UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)
6. UML是一种方法论吗?并简要说明理由。
UML不是方法论。它仅仅是一种描述模型的标准语言,虽然渗透了许多方法论的基础概念,但是却没有在标准中给出完整的方法指南。
7. 请简要说明UML和面向软件开发之间的关系。
UML和面向对象软件开发之间有很强的关联关系,甚至可以说是面向对象软件开发催生了UML。但是由于在UML的标准化和发展过程,有机地吸纳了业务建模、工作流建模、数据库建模等领域的标准规范,形成了一个适用性很强的标准。
4. 请说明蓝图和草图的区别,并简单描述其适用的场景。
蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型;而草图则通常是指手工绘制的、规范度较低的在纸张的UML模型。
对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中
8. 标记值的作用是什么?它的表示法和约束的表示法有什么异同?在UML模型中如何区分它们?
标记值是用来为事物添加新特性的。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。
9. 构造型的作用是什么?如果我们采用一个自定义的图标来表示它,那么可能遇到的主要问题是什么?
UML面向对象建模基础(徐峰、陈暄)
第1章 UML概述
1. 请指出UML的三个主要的特性。
1)UML是一种语言
2)UML是用来建模的
3)UML是统一的标准
2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么样的作用。
1)电路图:电子产品设计、生产、维修

第10章 状态图讲解

第10章 状态图讲解

构成状态图的元素
外部转换
外部转换是一种改变状态的转换,也是最普通最常见的一 种转换。在UML中,它用从源状态到目标状态的带箭头的 线段表示,其他属性以文字串附加在箭头旁。
构成状态图的元素
内部转换
内部转换只有源状态,没有目标状态,不会激发入口和出 口动作,因此内部转换激发的结果不改变本来的状态。如 果一个内部转换带有动作,它也要被执行。内部转换常用 于对不改变状态的插入动作建立模型。要注意的是内部转 换的激发可能会掩盖使用相同事件的外部转换。
状态图的组成
2. 并发组成状态
在一个组成状态中,可能有两个或者多个并发的子状态机, 我们称这样的组成状态为并发组成状态。每个并发子状态 还可以进一步分解为顺序组成状态。
一个并发组成状态可能没有初始状态,终态,或者历史状 态。但是嵌套在它们里的任何顺序组成状态可包含这些伪 状态。
创建状态图
要创建状态图,首先要标识出哪些实体需要使用状态图进 一步建模。虽然我们可以为每一个类、操作、包或用例创 建状态图,但是这样做势必浪费很多的精力。一般来说, 不需要给所有的类都创建状态图,只有具有重要动态行为 的类才需要。
从另一个角度看,状态图应该用于复杂的实体,而不必用 于具有复杂行为的实体。使用活动图可能会更加适合那些 有复杂行为的实体。具有清晰、有序的状态实体最适合使 用状态图进一步建模。
实际就是工作流在此处按监护条件的取值发生 分支,在UML中判定用空心菱形表示。
状态图的概念
2. 状态图的作用
(1)状态图清晰的描述了状态之间的转换顺序,通过状 态的转换顺序也就可以清晰的看出事件的执行顺序。如果没 有状态图我们就不可避免的要使用大量的文字来描述外部事 件的合法顺序。

UML各章习题

UML各章习题

UML各章习题第1、2章面向对象与UML1.简述统一建模语言(UML)统一建模语言(UML)是一种绘制软件蓝图的标准语言。

可以用UML对密集型软件系统的制品进行可视化详述和文档化。

UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。

它融入了软件工程领域的新思想、新方法和新技术。

它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。

UML的作用是用图的形式从静态和动态方面来全面描述将要开发的系统(2分)。

2.简述面向对象分析方法(OOA)的5个基本步骤1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分)2)、识别对象的属性(1分)3)、识别对象的行为(1分)4)、识别对象所属的类(1分)5)、定义主题词(1分)3、什么是高内聚度?高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。

一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。

包括两个含义:一、不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。

二、不相关的职责不要分派给同一个类。

4、什么是对象间的可见性答:可见性(Viibility)指的是一个对象能够“看到”或者引用另一个对象的能力。

5、领域建模的步骤有哪些?答案:列出候选的概念类;画出领域模型图;加入概念类间的关联;加入概念类的属性。

6、什么是软件生命周期?软件生命周期(SDLC,SytemDevelopmentLifeCycle)是软件的产生直到报废或停止使用的生命周期,周期内包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。

这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

7、什么是软件开发生命期?软件开发生命期是指软件产品从考虑其概念开始,到该产品交付使用为止的整个时期。

UML课后题答案

UML课后题答案

UML课后题答案第6章用例图3. 简答题(1)试述识别用例的方法。

答:识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。

当找到参与者之后,我们就可以根据参与者来确定系统的用例,主要是看各参与者如何使用系统,需要系统提供什么样的服务。

对于这个被选出的用例模型,不仅要做到易于理解,还要做到不同的涉众对于它的理解是一致的(4)请简述为何在系统设计时要使用用例图及其对用户有什么帮助?答:用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。

借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。

第7章类图与对象图3. 简答题(3)简述使用类图和对象图的原因。

答:在面向对象分析方法中,类和对象的图形表示法是关键的建模技术之一。

它们能够有效的对业务领域和软件系统建立可视化的对象模型,使用强大的表达能力来表示出面向对象模型的主要概念。

UML中的类图和对象图显示了系统的静态结构,其中的类、对象是图形元素的基础。

(4)请简要说明类图和对象图的关系和异同。

答:在类中包含三个部分,分别是类名、类的属性和类的操作。

类的名称栏只包含类名。

类的属性栏定义了所有属性的特征。

类中列出了操作类中使用了关联连接,关联中使用名称、角色以及约束等特征定义。

类是一类的对象的抽象,类不存在多重性。

对象包含两个部分:对象的名称和对象的属性。

对象的名称栏包含“对象名:类名”。

对象的属性栏定义了属性的当前值。

对象图中不包含操作内容,因为对属于同一个类的对象,其操作是相同的。

对象使用链进行连接,链中包含名称、角色。

对象可以具有多重性。

类与类之间的主要关系有几种?它们的含义是什么?答:a.泛化关系:泛化是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。

第10章 活动图

第10章  活动图

10.2 活动图的组成元素
10.2.1 动作状态
动作状态是原子性的动作或操作的执行状态,它不能被外部 事件的转换中断。 ► 动作状态没有子结构、内部转换或内部活动,它不能有由事 件触发的转换。 ► 动作状态可以有转入,转入可以是对象流或者动作流。动作 状态通常有一个输出的完成转换,如果有监护条件也可以有 多个输出的完成转换。 ► 在UML中,动作状态使用平滑的圆角矩形表示,动作状态表 示的动作写在矩形内部。
第10章 活动图
学习内容
► 活动图的概念
► 活动图的组成元素 ► 绘制活动图 ► 活动图建模实例
10.1 活动图的概念
► 活动图是一种用于描述系统行为的模型视图,它可
用来描述动作和动作导致对象状态改变的结果,而 不用考虑引发状态改变的事件。 ► 活动图是模型中的完整单元,表示一个程序或工作 流,常用于计算流程和工作流程建模。 ► 活动图着重描述了用例实例或对象的活动,以及操 作实现中所完成的工作。 ► 活动图通常出现在设计的前期,即在所有实现决定 前出现,特别是在对象被指定执行所有活动前。

10.3 绘制活动图
10.3.4 创建活动状态
下面是在“借阅者借书活动图”绘制了一个“查找所需图书” 动作状态后,如何添加活动的操作步骤。 1. 双击“查找所需图书”活动状态,弹出弹出的“Activity Specification for 查找所需图书”对话框。 2. 选择“Action” 选项卡进入为活动状态添加动作的界面。 3. 在列表框空白处单击鼠标右键,在弹出的快捷菜单中选择 “Insert”(插入)命令。 4. 双击列表中出现的默认动作“Entry/”,进入 “Detail” 选项 卡界面。 5. 在“When”(何时)下拉列表框中选择了“On Entry”(进入 动作),在“Name”文本框输入动作的名称“进入动作”。 6. 单击“OK”按钮,完成设置的活动状态如下图所示。

系统分析和设计方法(复习纲要)

系统分析和设计方法(复习纲要)

系统分析和设计方法(复习纲要)目录系统分析和设计方法 (1)第一部分 (2)第1章系统分析和设计方法的环境 (2)一.基本概念 (2)二.重点内容 (2)第2章信息系统构件 (3)一.基本概念 (3)二.重点内容 (3)第3章信息系统开发 (4)一.基本概念 (4)二.重点内容 (4)第4章项目管理 (6)一.基本概念 (6)二.重点内容 (6)第二部分 (6)第5章系统分析 (6)一.基本概念 (6)二.重点内容 (7)第6章需求获取的调查研究技术 (8)一.基本概念 (8)二.重点内容 (8)第7章使用用例建模系统需求 (8)一、基本概念 (8)二、重点内容 (9)第8章数据建模和分析 (9)一.基本概念 (9)二.重点内容 (10)第9章过程建模 (10)一.基本概念 (10)二.重点内容 (11)第10章使用UML进行面向对象分析和建模 (12)一.基本概念 (12)二.重点内容 (12)第11章可行性妇女系和系统方案建议 (13)一.基本概念 (13)二.重点内容 (13)第三部分系统设计方法 (14)第一部分第1章系统分析和设计方法的环境一.基本概念1.信息系统:信息系统是人、数据、过程和信息技术之间相互作用,收集、处理、存储和提供支持企业运作的信息的集合体。

2.二.重点内容1. 七类信息系统应用:事务处理系统、管理信息系统、决策信息系统、主管信息系统、专家系统、通信和协作系统、办公自动化系统2.系统关联人员(参与者)1)系统所有者:2)系统用户:内部系统用户(如技术人员、服务人员、中间经理、高层经历)外部系统用户(顾客、供应商、合作伙伴)3)系统设计人员(如网络架构师、数据库管理员、web架构师)4)系统构造人员(应用程序员、系统程序员)5)系统分析员6)外部服务提供者7)项目经理3.系统分析员的角色系统分析员既懂业务又懂技术,他们首先研究业务问题和机遇,然后把业务和信息需求转换为对基于计算机的信息系统的规格说明,而这个信息系统则由包括程序员在内的技术专家来实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10.2 活动图的组成元素
10.2.4 分叉与结合


并发指的是在同一时间间隔内,有两个或者两个以上的活动 执行。对于一些复杂的大型系统而言,对象在运行时往往不 止存在一个控制流,而是存在两个或者多个并发运行的控制 流。为了对并发的控制流建模,在UML中引入了分叉和结合 的概念。 分叉用来表示将一个控制流分成两个或者多个并发运行的分 支,结合用来表示并行分支在此得到同步。
10.2 活动图的组成元素
10.2.7 对象流


活动图中交互的简单元素是活动和对象,控制流就是对活动 和对象之间关系的描述。详细的说控制流表示动作与其参与 者和后继动作之间以及动作和其输入和输出对象之间的关系。 而对象流就是一种特殊的控制流。 对象流是将对象流状态作为输入或输出的控制流。在活动图 中,对象流描述了动作状态或者活动状态与对象之间的关系, 表示了动作使用对象以及动作对对象的影响。下图所示的是 对象流中对象的示例。
10.3 绘制活动图
10.3.2 绘制初始和终止状态
► 下面在“借阅者借书活动图”中绘制初始状
态和终止状态,步骤如下: 1.单击“借阅者借书活动图”工具栏中初始状 态图标“ ”和终止状态图标“ ”。 2.在编辑图形区域要绘制的地方单击鼠标左键 即可,创建的初始和终止状态如下图所示。
10.3 绘制活动图
第10章 活动图
学习内容
► 活动图的概念 ► 活动图的组成元素 ► 绘制活动图
► 活动图建模实例
10.1 活动图的概念
► 活动图是一种用于描述系统行为的模型视图,它可
用来描述动作和动作导致对象状态改变的结果,而 不用考虑引发状态改变的事件。 ► 活动图是模型中的完整单元,表示一个程序或工作 流,常用于计算流程和工作流程建模。 ► 活动图着重描述了用例实例或对象的活动,以及操 作实现中所完成的工作。 ► 活动图通常出现在设计的前期,即在所有实现决定 前出现,特别是在对象被指定执行所有活动前。
10.2 活动图的组成元素
10.2.6 泳道

► ►
为了对活动的职责进行组织而在活动图中将活动状态分 为不同的组,称为“泳道”。每个泳道代表特定含义的 状态职责。在活动图中,每个活动只能明确的属于一个 泳道,泳道明确的表示了哪些活动是由哪些对象进行的。 每个泳道都有一个与其他泳道不同的名称。 每个泳道可能由一个或者多个类实施,类所执行的动作 或拥有的状态按照发生的事件顺序自上而下的排列在泳 道内。
10.2 活动图的组成元素
10.2.1 动作状态
► ► ►

动作状态是原子性的动作或操作的执行状态,它不能被外部 事件的转换中断。 动作状态没有子结构、内部转换或内部活动,它不能有由事 件触发的转换。 动作状态可以有转入,转入可以是对象流或者动作流。动作 状态通常有一个输出的完成转换,如果有监护条件也可以有 多个输出的完成转换。 在UML中,动作状态使用平滑的圆角矩形表示,动作状态表 示的动作写在矩形内部。
10.3 绘制活动图
10.3.1 创建活动图

下面我们以在“Logic View” 中创建一个“借阅者借书活动 图”为例,演示活动图的创建步骤: 1. 右键单击浏览器中的“Logic View” 图标,在弹出的快捷菜 单中选择“New”|“Activity Diagram” 命令。 2. 在“Logic View” 下会创建“State/Activity Model”(状态/动 作模型)目录,目录下是新建的默认名称为“New Diagram” 的活动图。 3. 右键单击“New Diagram”活动图,在弹出的快捷菜单中选 择“Rename” 来修改新创建的活动图名字为“借阅者借书活 动图”。 4. 双击浏览器中的创建的“借阅者借书活动图”,会出现活动 图绘制区域。
10.2 活动图的组成元素
10.2.5 分支与合并


分支在活动图中很常见,它是转换的一部分,它将转换路径分成多个 部分,每一部分都有单独的监护条件和不同的结果。当动作流遇到分 支时,会根据监护条件(布尔值)的真假来判定动作的流向。分支的 每个路径的监护条件应该是互斥的,这样可以保证只有一条路径的转 换被激发。在活动图中,离开一个活动状态的分支通常是完成转换, 它们是在状态内活动完成时隐含触发的。 合并指的是两个或者多个控制路径在此汇合的情况。合并和分支常常 成对的使用,合并表示从对应分支开始的条件行为的结束。
10.2 活动图的组成元素
10.2.2 活动状态
► ► ► ►
活动状态是非原子性的,用来表示一个具有子结构的纯粹计算执行。活 动状态可以分解成其他子活动或动作状态,可以被使转换离开状态的事 件从外部中断。 活动状态是一个程序的执行过程的状态而不是一个普通对象的状态。离 开一个活动状态的转换通常不包括事件触发器。 动作状态是一种特殊的活动状态。可以把动作状态理解为一种原子的活 动状态,即它只有一个入口动作,并且它活动时不会被转换所中断。 活动状态和动作状态的表示图标相同,都是平滑的圆角矩形。两者不同 的是活动状态可以在图标中给出入口动作和出口动作等信息。

10.3 绘制活动图
10.3.6 绘制泳道
4.单击“OK”按钮,创建好一个名为“借阅者” 的泳道。 5.根据以上的步骤,再绘制一个名为“图书管 理员”的泳道。绘制后的两个泳道如下图所 示。
10.3 绘制活动图
10.3.7 绘制分支
绘制“借阅者借书活动图”分支的步骤如下,两个活动状态 和终止状态的绘制请参考前面的内容。 1. 单击“借阅者借书活动图”工具栏中的“ ”图标。 2. 然后在绘制区域要创建分支的地方单击鼠标左键,出现表示 分支的菱形图形。 3. 单击“借阅者借书活动图”工具栏中的“ ”图标。 4. 在图形编辑区域单击“查找所需图书”动作状态,按住左键 不放,拖动鼠标箭头到表示分支的菱形图形。 5. 单击“借阅者借书活动图”工具栏中的“ ”图标,在图形 编辑区域单击表示分支的菱形图形,按住左键不放,拖动鼠 标箭头到终止状态。
10.3.3 创建动作状态
下面以在“借阅者借书活动图”中创建一个名为“查找所需 图书”的动作状态为例,说明动作状态的绘制,步骤如下所 示: 1. 点击“借阅者借书活动图”工具栏中“ ”图标。 2. 在编辑区域要绘制动作状态的地方单击鼠标左键,新创建一 个默认名称为“NewActivity”的动作状态。 3. 双击“NewActivity”动作状态,弹出的“Activity Specification for NewActivity”对话框,该对话框用于对活动 图各种元素属性的设置。 4. 在对话框中,选择 “General”(常规)选项卡,在 ““Name”(名称)文本框中输入“查找所需图书”。 5. 单击“OK”按钮即可,绘制好的动作状态如下图所示。

10.3 绘制活动图
10.3.5 绘制转换
► 下面我们在“借阅者借书活动图”中创建起始状态
和“查找所需图书”动作状态的转换。 1.单击“借阅者借书活动图”工具栏中的“ ”图标。 2.单击图形编辑区中的起始状态,按住左键不放,拖 动鼠标箭头到“查找所需图书”动作状态上,松开 鼠标左键即可。创建的转换如下图所示。
10.4 活动图建模实例
10.4.1 确定需求分析
► 对于“借阅者借书”的用例来说,参与者是借
阅者和图书管理员,借阅者通过图书管理员来 进行借书活动,涉及的用例是借书。 ► 下图所示的是借阅者借书用例图。
10.4 活动图建模实例
10.4.2 确定用例路径
► ►
在开始创建用例的活动图时,往往先建立一条明显的路 径执行工作流,然后从该路径进行扩展。 如下图所示为“借阅者借书”的工作流示意图。

10.3 绘制活动图
10.3.4 创建活动状态
下面是在“借阅者借书活动图”绘制了一个“查找所需图书” 动作状态后,如何添加活动的操作步骤。 1. 双击“查找所需图书”活动状态,弹出弹出的“Activity Specification for 查找所需图书”对话框。 2. 选择“Action” 选项卡进入为活动状态添加动作的界面。 3. 在列表框空白处单击鼠标右键,在弹出的快捷菜单中选择 “Insert”(插入)命令。 4. 双击列表中出现的默认动作“Entry/”,进入 “Detail” 选项 卡界面。 5. 在“When”(何时)下拉列表框中选择了“On Entry”(进入 动作),在“Name”文本框输入动作的名称“进入动作”。 6. 单击“OK”按钮,完成设置的活动状态如下6 绘制泳道
下面我们在“借阅者借书活动图”中创建“借阅者”、“图 书管理员”这样两个泳道,具体步骤如下所示: 1. 单击“借阅者借书活动图”工具栏中的“ ”图标。 2. 在图形编辑区域单击,就可以创建名为“NewSwimlane”的 泳道。 3. 右键单击“NewSwimlane”泳道,在弹出的快捷菜单中选择 “Open Specification” 命令,出现 “Swimlane Specification for NewSwimlane” 对话框。在“Name”文本框输入泳道的名 称“借阅者”。
10.4 活动图建模实例
10.4.3 完成活动图的创建


当弄清楚系统要处理什么样的问题,并建立了工作流路 径后,我们就可以开始正式的创建活动图。 下图所示的是完整的“借阅者借书”用例活动图。

10.3 绘制活动图
10.3.7 绘制分支
6. 单击“借阅者借书活动图”工具栏中的“ ”图标,在图形编辑区域单 击表示分支的菱形图形,按住左键不放,拖动鼠标箭头到“将图书带到 借阅处”动作状态。 7. 双击连接菱形和终止状态之间的转换,弹出 “State Transtion Specification” 对话框。 8. 单击对话框中的“General” 选项卡,进入设置转换常规属性界面。在 “Event”(事件)文本框用于输入事件的名称“找到图书”。 9. 按照7~8步骤,在连接菱形和终止状态之间转换上设置事件名称“没有 找到”。最终绘制的分支如下图所示。
相关文档
最新文档