UML面向对象建模chapter3类图对象图汇总

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

一、对象类与对象
UML 中的对象类图 (Class Diagram) 与对象图 (Object Diagram)表达了对象模型的静态结构,能够有效地建立专 业领域的计算机系统对象模型。
类名 类名 属性:类型 操作
类与对象的描述
对象名
对象名:类名 属性 操作
类图(Class diagram)由系统中使用的类以及它们之间的关 系组成,分为长式和短式。 类及类型名均用英文大写字母开头,属性及操作名为小写字 母开头。常见类型有:Char,Boolean,Double,Float, Integer, Object,Short,String等。类图是构建其它图的基础。 对象是对象类的实例(instance),用对象图来描述。对象图 亦分长式和短式。
(1)属性(attribute)
属性用来描述类的特征,表示需要处理的数据。 属性定义: visibility attribute-name : type = initial-value {property-string} 其中:可见性(visibility)表示该属性对类外的元素是否可访问 。 分为:
2. 系统实体识别法
不关心系统的运作流程及实体之间的通信状态, 而只考虑系统中的人员、组织、地点、表格、报告等 实体,经过分析将他们识别为类(或对象)。 被标识的实体有:
系统需要存储、分析、处理的信息实体;
系统内部需要处理的设备;
与系统交互的外部系统;
系统相关人员;
系统的组织实体。
例1 有一个购物超市,顾客可在货架上自由挑选商品,由收款 机收款,收款机读取商品上的条型码标签,并计算商品价格。 收款机应保留所有交易的记录,以备帐务复查及汇总使用。
定义类—标识属性 属性表示类的稳定特征,即为了完成客户规定 的目标所必须保存的类的信息,一般可以从问 题陈述中提取出或通过对类的理解而辨识出属 性。 分析员可以再次研究问题陈述,选择那些应属 于该对象的内容,同时对每个对象回答下列问 题:“在当前的问题范围内,什么数据项(复 合的和/或基本的)完整地定义了该对象?”
其中:可见性同上。 参数表:参数名:类型,… Parameter-name :type =default-value 返回类型:操作返回的结果类型。
类图的阅读
先看清有哪些 类,然后看看 类之间存在的 关系,并结合 多重性来理解 类图的结构特 点以及各个属 性和方法的含 义
类图的抽象层次
概念类
用指定语言对系统进行描述;
从系统描述中标识名词、名词短语、名词性代词;
识别确定(取、舍)类。
为了发现对象和类,开发人员要在系统需求和系 统分析的文档中查找名词和名词短语,包括:可感知 的事物、角色、事件、互相作用、人员、场所、组织 、设备和地点等。
根据下述原则进一步确定类: ①去掉冗余类:如两个类表述 同一信息,应保留最具有描述 识别问题域中的实体,实体的描述通常用名词、 能力的类。 ② 去掉不相干的类:删除与 名词短语、名词性代词的形式出现。 问题无关或关系不大的类。 ③ 删除模糊的类或性质独立 用指定语言对系统进行描述; 性不强的类:有些初始类边界 定义不确切,或范围太广,应 从系统描述中标识名词、名词短语、名词性代词 该删除。 ; ⑤ 所描述的操作不适宜作为 识别确定(取、舍)类。对象类,并被其自身所操纵, 所描述的只是实现过程中的暂 时的对象,应删去。
描述应有领域中的 概念,仅包含类名, 不考虑细节;
分析不针对具体语 言,包含一些类的细 节特性; 针对具体的语言, 考虑类的实现细节;
分析类

设计类

类图的绘制步骤
分析问题域,确定需求 寻找类,确定类的含义和职责 定义类的属性和操作 确定类之间的关系 精化类和类间的关系 绘制类图
public(+) 公有的,即模型中的任何类都可以访问该属性。 private(-) 私有的,表示不能被别的类访问。 protected(#) 受保护的,表示该属性只能被该类及其子类访 问。 如果可见性未申明,表示其可见性不确定。
类图的描述
(2) 操作
对数据的具体处理方法的描述则放在操作部分,操作说明了 该类能做些什么工作。操作通常称为函数,它是类的一个组成部 分,只能作用于该类的对象上。 操作定义: visibility operating-name(parameter-list): return-type {property- string} 可见性 操作名(参数表);返回类型{约束特性}
ቤተ መጻሕፍቲ ባይዱ
类的识别
是面向对象方法的一个难点,但又是建模的关键 。常用的方法有:
1. 名词识别法 2. 系统实体识别法 3. 从用例中识别类 4. 利用分解与抽象技术 关键是要定义类的“属性”及“操作”。
1. 名词识别法
描述过程应与领域专 家共同合作完成,并 遵循问题域中的概念 和命名。
识别问题域中的实体,实体的描述通常用名词、名 词短语、名词性代词的形式出现。
类图与对象图
《UML面向对象建模基础》
任何建模语言都以静态建模机制为基础 ,标 准建模语言UML也不例外。所谓静态建模是指对 象之间通过属性互相联系,而这些关系不随时 间而转移。 类和对象的建模,是UML建模的基础。我们 认为,熟练掌握基本概念、区分不同抽象层次以 及在实践中灵活运用,是三条最值得注意的建模 基本原则。
通过分析问题的陈述,确定以下几类实体:
⑴ 信息实体:交易记录、商品、税务信息、销售记录、 货存记录。 ⑵ 设备:收款机、条型码扫描器。 ⑶ 交互系统:信用卡付款系统。 ⑷ 人员职责:收款员、顾客、会计、经理。 ⑸ 系统的组织实体:本例不考虑。
以上列出的实体,都可以直接识别为类。
3. 从用例中识别类
根据用例的描述来识别类;如用例的描述中出 现哪些实体?用例执行过程中产生并存储哪些信息 ? 与用例关联的角色向用例输入什么信息 ? 用例又 向该角色输出哪些信息?
在确定类时,常使用两类技术: ⑴ 分解技术 将整体类和组合类分解。可控制 单个类的规模。 ⑵ 抽象技术 根据一些类的相似性建立抽象类 ,并建立抽象类与这些类之间的继承关系。 抽象类实现了系统内部的重用,很好地控制了 复杂性,并为所有子类定义了一个公共的界面,使 设计局部化,提高系统的可修改性和可维护性。
相关文档
最新文档