第10章 活动图
第10章 面向对象分析

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

光盘使用说明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复习资料(完整)

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建模实用教程(第三版)

第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层图 ⑸ 定义原始过程的逻辑说明 ⑹ 定义数据流和数据存储的数据 说明
软件设计与体系结构课后习题答案(秦航)

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