




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章类图 主要内容 类的可视化表示 属性 操作 职责和约束 类的发现 2 1类的可视化表示 在UML中一个长方形表示一个类的图标 按照UML的约定 类名的首字母大写 放在矩形的偏上部 如果类名是由两个单词组成 那么将这两个单词合并 第二个单词首字母大写 如果WashingMachine 洗衣机 类是Househould 家用电器 包的 部分 那么这个类的名字为 Household WashingMachine 包名在左 类名在右 中间用双冒号隔开 这种类型的类名叫路径名 pathname 如下图所示 2 2属性 属性是类的一个特性 它描述了类的对象 也就是类的实例 所具有的一系列特性值 一个类可以具有零个到多个属性 按照UML的约定 单字属性名小写 如果属性名包含了多个字 这些字要合并 并且除了第一个字外其余字首字母要大写 属性名列表放在类名之下 并且和类名之间用分隔线隔开 如下图所示 类的属性在该类的每个对象中都有具体值 下图是一个例子 注意 对象名首字母小写 后面跟一个冒号 冒号后面是该对象所属的类名 并且整个名字要带下划线 名字myWasher WashingMachine是一个命名实例 也可以有诸如 WashingMachine这样的匿名实例 UML还允许指明属性的附加信息 在类的图标里 你可以指定每个属性值的类型 可能的类型包括字符串 string 浮点数 floating point 整数 integer 和布尔 bool 型 以及其他的枚举类型 要指明类型 则在属性值后面加上类型名 中间用冒号隔开 还可以为属性指定一个缺省值 下图说明了属性的各种表示方式 枚举类型 enumeratedtype 是由一系列被命名的值所定义的一种数据类型 例如Boolean类型就是个枚举类型 因为它只有两种可能的值 true 和 false 可以自己定义所需使用的枚举类型 例如状态类型 它由 固体 液体 和 气体 状态值组成 操作名列表放在属性名列表之下 两者之间用分隔线隔开 如下图所示 2 3操作 操作 operation 是类能够做的事情 或者别的类能对这个类做的事情 和属性名的表示类似 单字操作名小写 如果操作名包含了多个字 这些字要合并 并且除了第一个字外其余字首字母要大写 就像给属性指定附加信息一样 你也可以为操作指定附加信息 在操作名后面的括号中可以说明操作所需要的参数和参数的类型 有一种操作叫函数 function 它在完成操作后要返回一个返回值 可以指明函数的返回值及返回值的类型 全部的操作信息 操作名 作为参数的对象和返回值 被称为操作的型构 signature 2 4属性 操作和可视化表达 当同时表示多个类的时候 通常没必要总是显示这些类的所有属性和操作 这样做会使图形表示比较混乱 相反 可以只给出类名 而将属性或者操作区 或者两者全部 空着 有时 只显示类的一部分属性和操作很有用 为了说明你只表示出部分操作和属性 可以在列表的后面加上3个小点 这个符号叫省略符 ellipsis 这种省略了一个或多个属性或者操作的表示法叫做类的省略表示法 下图说明了类的省略表示法 如果属性或者操作列表太长 可以用构造型类组织属性或操作列表 构造型用双尖括号 guillements 括住的关键字来表示 构造型是UML提供的扩展机制 它允许你创建新的模型元素以解决具体问题 2 5职责和约束 类图标中还可以指明另一种类的信息 在操作列表框下面的区域 你可以用来说明类的职责 职责 responsibility 描述了类做什么 也就是类的属性和操作能完成什么任务 例如 一台洗衣机的职责是将脏衣服作为输入 输出洗干净的衣服 在图标中 职责在操作区域下面的区域中说明 更形式化的方式是使用约束 constraint 它是一个用花括号括起来的自由格式的文本 括号中的文本指定了该类所要满足的一个或者多个规则 例如 假设你想指定WashingMachine类的洗衣机容量只能是16 18或者20磅 也就是说对WashingMachine类的capacity属性施加约束 你可以在WashingMachine类图标的旁边写个约束 如图所示 UML提供了另一种方式 也是非常形式化的一种表达方式 表示施加约束 以便模型元素的语义定义更加明确 它实际上也是一个完整的语言 被称为对象约束语言 ObjectConstraintLanguage OCL OCL是UML的一个高级的但是很有用的工具 有自己的规则 术语和操作符 2 6附加注释 除了属性 操作 职责和约束之外 还可以以对类附加注释的形式给类添加更多的信息 下图中的注释说明了serialNumber 序列号 属性引用了政府标准 根据这个注释就可以参考相关标准以查阅如何生成WashingMachine类对象的serialNumber属性值 2 7类应该做什么和如何识别它们 类代表的是领域知识中的词汇和术语 同客户交谈 分析他们的领域知识 设计用来解决领域中的问题的计算机系统 同时也就是在学习这些领域词汇 并用UML中的类建立这些领域词汇的类模型 在与客户的交谈中 要注意客户用来描述业务实体的名词术语 这些名词可作为领域模型中的类 还要注意你听到的动词 因为这些动词可能会构成这些类中的操作 当得到一组类的核心列表后 应当向客户询问在业务过程中每个类的作用 他们的回答将告诉你这些类的职责 假设你是一个系统分析员 要建立篮球比赛模型 现在你正在会见一名教练员来了解比赛规则情况 谈话的过程可能如下 分析员 教练 请大致介绍一下篮球比赛 教练员 比赛的目标是要把篮球投入蓝框并且要尽量比对手得更多的分 每个篮球队由5名队员组成 两名后卫 两名前锋和一名中锋 每个队要将球推进到篮框附近 目的是将篮球投中篮框 分析员 如何将球推进 教练员 通过运球和传球 但是某一方篮球队必须在规定的进攻时间内投篮 分析员 规定的进攻时间 教练员 是的 在某一方获得控球权后 必须在规定的进攻时间内投篮 美国职业篮球比赛是24秒 国际篮球比赛是30秒 美国大学篮球比赛是35秒 分析员 如何计算篮球比赛得分 教练员 三分线之内每投中一次篮得两分 三分线之外投中一次得三分 一次罚球得 分 顺便说一下 罚球是对方犯规后判罚的投球 如果某一个队员犯规 则比赛暂停 由被侵犯的队员在罚球线处罚球 分析员 再详细说明一下每个篮球队员在比赛中的情况好吗 教练员 后卫队员通常主要是运球和传球 他们 般都比前锋队员矮 前锋队员通常又比中锋矮 所有的队员必须都要能运球 传球 投球 抢篮板球 大部分抢篮板球和中距离投篮都由前锋队员完成 而中锋通常离篮框最近 一般由他来篮下进攻 分析员 场地大小如何 另外 每场比赛时间是多少 教练员 国际比赛场地为28米长 15米宽 蓝框离地面3 05米高 在美国职业篮球比赛中 一场比赛为48分钟 分为4节 每节12分钟 在美国大学和国际比赛中 一场比赛40分钟 分为上下两个20分钟的半场 有专门的比赛时钟记录比赛还剩下多少时间 我们现在停止说明这些对话 来看看谈话的内容 下面是你在对话中发现的名词 篮球 Ball 篮框 Basket 篮球队 Team 队员 Player 后卫队员 Guard 前锋队员 Forward 中锋 Center 投球 Shot 进攻时间时钟 ShotClock 三分线 three pointline 罚球 freethrow 犯规 Foul 罚球线 free throwline 球场 Court 比赛时钟 GameClock 还有 些动词 投篮 shoot 推进 advance 运球 dribble 传球 Pass 犯规 Foul 抢篮板球 rebound 你还可得到上述名词的一些附加信息 例如每个位置的队员的相对高度 篮球场大小 进攻时间以及比赛时间 最后 根据常识可以为这些类建立一些属性和操作 例如 通常球类都有体积 vo1ume 和直径 diameter 等属性 使用这些信息 你可以建立一个如下图所示的图 它说明了领域中的类 并提供了 些属性 操作和约束 这个图也可以表示职责 2 8小结 UML的类图标是由一个矩形表示的 类名字 属性 操作和职责都在区域中有各自的方框 可以使用构造型来组织属性和操作名列表 可以使用类的省略表示法 只表示出类的一部分属性和操作 这样可以使类图比较清晰 可以在类图标中指定属性的类型和初始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年四室两卫长租公寓管理合同四年品质居住环境承诺
- 2025年医药中间体定制生产与品质控制服务合同
- 2025年公立医院食堂食材供应与加工服务合同
- 2024年无菌物品效期及质量管理考核试题及答案
- 2025年上海市养老护理员职业资格技师考试试题试卷(含答案)
- 2024年设备监理师之设备监理合同真题附答案
- 2024年护士执业资格考试题库模拟:护理教育与培训护理教育学前沿案例分析试题(含答案)
- 基于matlab的电气专业毕业论文
- 感恩父母演讲稿1-多篇
- 材料学专业毕业论文
- 2025年基孔肯雅热和登革热防控知识考试试题及参考答案
- 2025-2026学年第一学期安全主题教育
- 管道设计培训课件
- 2025-2026学年新交际英语(2024)小学英语一年级上册教学计划及进度表
- 2025年发展对象考试题库附含答案
- 2025年内蒙古中考数学真题(含答案解析)
- 2025年兵团基层两委正职定向考录公务员试题(附答案)
- 2025年新专长针灸考试题及答案
- 2025至2030年中国铍铜棒线材行业市场深度分析及投资策略研究报告
- 高三生物一轮复习课件微专题5电子传递链化学渗透假说及逆境胁迫
- DBJ50-T-306-2024 建设工程档案编制验收标准
评论
0/150
提交评论