软件工程 工具之二—— PowerDesigner v12(四)
第十章 面向对象模型(二)
4、设计协作图
1)OOM中的协作图非常有用,它说明了角色、对象之间的通信连接,以及它们之间的消息发送。
协作图可以用来说明一个操作的执行,一个用例的执行,或仅仅是系统中某一环节的接口。它设计了对象之间交互的一个实例。
2)协作图与时序图传达的信息是相同的,它们之间的主要区别是协作图机制在活动着的对象上,它表现的是相互协作的对象之间的消息传递,而时序图则侧重于在某种特定的情形下对象之间传递消息的时序性。
协作图中的对象与对象图、时序图中的对象相同。
协作图中的角色的定义、特性与用例图、时序图中的角色完全一致,并且角色还可以在协作图、用例图和时序图中共享。
3)协作图转换为时序图
有两种方法:
(1)在同一个包中创建一个与已存在的协作图同一级别的时序图,右键单击时序图图形窗口的空白处,从弹出菜单中选择diagram->Show Symbols,从打开的窗口选择协作图对象。
(2)在协作图中选择菜单Tools->Execute Commands->Edit/Run scripts,在打开的窗口,单击open,再次打开一个窗口,选择/POWERDESIGNER12/VBScript文件夹的CollaborationToSequence.vbs文件,执行它。
5、设计状态图
1)状态图描述了一个特定的对象在其生命周期内所有可能的状态,以及由于各种事件发生而引起的状态之间的转移。
子状态图描述了一个状态的分解情况,它详细描述了父状态的复合行为。
系统对子状态图中的每个元素都要进行完整性检查。
子状态图中不允许创建包。
2)状态图转变为符合状态
用于描述处于复杂状态的相互联系。
3)定义起始状态:符号是一个实心圆点。
4)定义状态的动作:在状态属性中设置。
预先定义的动作事件有:entry、do、exit。
动作既可以与状态State关联,也可以与转移Transition关联。
(1)在状态State上创建动作
(2)在转移Transition上创建动作:即在属性Trigger Action中,键入动作的名称。
5)定义转移Transition
6)定义事件
预先定义的动作事件有:entry、do、exit。
7)定义连接点
连接点Junction Point可用来合并和分离几个转移的路径。
连接点的图形符号是一个空心的圆圈。
8)定义结束状态:状态的终节点,用一个圆圈中间一个实心圆点来表示。
一个状态图允许有多个结束状态,可用来分别表示不同情况的分支节点。
6、设计活动图
1)活动图Activity Diagram 主要用于系统分析,它描述系统的行为,显示系统中动作之间的转移。
活动图一般从开始节点开始,经过若干动作后,最后到达结束节点。
活动图是简化的状态图,重点说明了活动间经过的操作和过程。
活动Activity只有一个动作Action,活动的转移有一个相应的触发事件。
活动图可用来描述用例、包和类的行为,它把活动描述成正在执行的操作,活动代表了一个完整的动作,即它代表了一个类或用例内部的行为。
2)活动图可在模型或包中创建,也可在复合活动中创建子活动图。
在模型或包中创建的多个活动图之间是相互独立的。
活动图可以转换成复合活动。
3)子活动图描述一个复合活动的分解,并详细描述父活动的合成情况。
子活动图中不允许创建包。
4)活动图中的起点和终点与状态图中的起始状态和结束状态的定义、特性完全相同。
5)定义活动Activity和定义复合活动:复合活动选中(Composite)
6)定义对象状态Object State
7)对象状态的对象属性
8)定义判断
判断Decision是一种特殊的活动,可用于表示流程中的判断后各种可能的不同的活动分支。
8.1)定义条件分支
可连接多个转移。
8.2)定义归并
用归并可表示几个转移分支进入同一条路径的情况。
9)定义同步
同步表示两个或多个病发活动之间的同步。
同步用一条水平的粗实线裱糊四,且可以旋转成水平或垂直方向。
同步分:
(1)分叉同步:一个源活动被几个目标活动取代的过程。
(2)汇合同步:几个源活动被一个目标活动取代的过程。
10)定义组织单元
组织单元Organization Unit可以代表一个公司、系统、组织、用户或角色等。
转载于:https://www.cnblogs.com/yangjin-55/archive/2006/11/10/2787096.html
软件工程 工具之二—— PowerDesigner v12(四)相关推荐
- 软件工程 工具之二—— PowerDesigner v12(二)
<PowerDesigner软件工程技术>笔记(一) 1.UML2.0规范定义了5类9种图形和3种模型管理图 (1)功能模型:从用户的角度描述系统的功能,通常在描述需求时使用,在系统分析过 ...
- 软件工程 工具之二—— PowerDesigner v12(六)
第十章 面向对象模型 8.定义部署图 1)部署图(Deployment Diagram)可用来描述系统硬件的物理拓扑结构,以及在此结构上运行的软件. 部署图可以显示节点的拓扑结构.通信路径.节点上运 ...
- 软件工程知识点总结——第三、四部分
考试题型:选择题(20),名词解释(12),简答题(30),综合题(38) 注:以下资料来自各种渠道进行筛选整理的!!! 目录 福州大学软件工程2022年考后回忆 名词解释(喵的,我们这次要写英文全称 ...
- UML建模工具Rose与PowerDesigner,两款建模工具的对比
原文:http://developer.51cto.com/art/201006/207888.htm 作为世界最著名的两大CASE工具,UML建模工具Rose和PowerDesigner的名声可谓如 ...
- 有没有二维码制作工具?二维码制作其实很简单
有没有二维码制作工具?二维码现如今作为我们日常获取信息的常见工具,对我们自身还是他人都是十分重要的,那么问题来了,二维码怎么制作呢?我们个人可以完成吗?答案当然是肯定的,我们自己借助一些好用的工具就可 ...
- 群辉服务器更新系统教程,男人的生产力工具 篇二百四十六:新手玩转群晖NAS:一步一步教你更新群晖DSM系统...
男人的生产力工具 篇二百四十六:新手玩转群晖NAS:一步一步教你更新群晖DSM系统 2020-08-05 10:46:03 18点赞 175收藏 59评论 新手与新知男人的生产力工具 篇二百三十九:新 ...
- 17届智能车竞赛技术报告 | 乐师逐飞二队 - 基础四轮组
学 校:乐山师范学院 队伍名称:乐师逐飞二队 参赛队员:唐冰奇 罗文祝 唐玉琴 带队教师:杨济豪 李富钢 简 介: 本文以第十七届全国大学生智能车竞赛为背景,以大赛组委会指 ...
- Java 线程 - 基础及工具类 (二)
Java 并发系列文章 Java 线程 - 并发理论基础(一) Java 线程 - 基础及工具类 (二) Java 线程 - 并发设计模式 (三) Java 线程(二) 通用的线程生命周期 Java ...
- 抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)
安装好Charles之后,还只能捕获电脑的接口请求 想要抓取移动设备的APP还需要设置代理.安装证书. 文章目录 一.抓包原理 二.手机设置网络代理 1. 查看电脑的IP地址(local IP add ...
最新文章
- 【实用快捷键】设置WebStorm中Show in Explorer(在资源管理器中打开)快捷键Alt+Shift+R(类似VSCode)
- 【公测中】阿里云发布国内首个大数据双活容灾服务,满足高要求大数据灾备场景...
- BS-XX-042 基于SSM实现人事管理系统
- R显卡VR性能如何?AMD发布 VRMark Cyan Room 测试结果
- slplunk原始数据和索引数据大小比较
- 这个五月,我拿到了腾讯暑期offer
- numpy 排序, 查询功能
- 生成唯一id号解决方法
- php如何根据ip查找地址,根据IP地址查找IP所在地
- “vueuse“ 中文索引与用例
- Atitit 在线支付系统功能设计原理与解决方案 与目录
- GetTickCount函数
- spring-boot-devtools 快速重启的秘密!
- scratch字母点头问好 电子学会图形化编程scratch等级考试一级真题和答案2020-9
- 递归中的引用传递和常引用传递
- char*与string的区别
- torch.chunk()
- HDU-安卓程序开发之简单存储/内部存储/外部存储 捉虫
- JavaScript中逻辑运算符(、||、!)的优先级和运算顺序
- 消息 ByteBuf 详解
热门文章
- openwrt dhcp不分配_【装维技巧】DHCP工作原理详解(上)
- https nginx phpstudy_让phpStudy2018 Nginx 支持WordPress自定义链接
- mina android 服务器,MINA框架----------android客户端与服务器端
- 004_FastDFS分布式添加多个tracker
- php图片等比例压缩,php实现图片上传并等比例压缩
- matlab考试湖北理工学院,电子信息工程导论课程教学大纲-电气与电子信息工程学院-湖北.DOC...
- 深入分析 Java I/O 的工作机制
- matlab的多项式拟合,函数求导,画函数曲线
- php 清除数据表中所有数据库,清除一个数据库里所有表的数据
- gamma分布python代码_Python sympy.stats.NormalGamma()用法及代码示例