第6章 类图和对象图
- 格式:ppt
- 大小:348.50 KB
- 文档页数:37
统一建模语言UML基础专题之类图和对象图类图表示不同的实体(人、事物和数据)如何彼此相关,显示了系统的静态结构。
类图可用于表示逻辑类,逻辑类通常就是业务人员所谈及的事物种类,比如摇滚乐队、CD、广播剧,或者贷款、住房抵押、汽车信贷及利率的抽象描述。
类图还可用于表示实现类,实现类就是程序员要编写的类。
实现类图与逻辑类图可能会用来描述一些相同的类。
然而,实现类图与逻辑类图不会使用相同的描述属性。
类图是一个分为三个部分的矩形。
最上面的部分显示类的名称,中间部分显示类的属性,最下面的部分显示类的操作(或者说“方法”)。
实际上,最常用、最简单的类图就是一个在里面显示了类名的长方形,因为在UML中,大多数类只要有一个能够清楚表达的命名就可以了。
在类名部分还可以显示类的构造类型。
类的构造型显示在一对双角括符号“«»”之间,经常放在类的名称上面。
常见的构造类型包括实现类(直接显示类名)、接口(在类名上面显示«interface»),以及工具类(在类名上面显示«utility»)。
如果类名用斜体表示,或者在类名下面标上{abstract},就表示这个类是一个抽象类。
在属性和方法的前面有一个字符用来表示属性或方法的作用域,它们的意义如下:—“-”表示属性或方法是私有的(private);—“#”表示属性或方法是保护的(protected);—“+”表示属性或方法是公用的(public)。
紧接在属性或方法的参数名称的冒号(:)号之后,显示了属性的类型或方法的参数的类型。
方法的返回值类型显示在方法后面的冒号之后。
下图显示了一个类Person的类图,它对应的类的C#源代码如下:Person+name: string+sex: char-age: int+Work(in type: string): void+Person(in name: string, in sex: char, in age: int): void +Speak(): void+Eat(): void类图示意类图示意class Person{public string name;public char sex;private int age;public Person(string name, char sex, int age){}public void Eat(){}public void Speak(){}public void Work(string type){}}对象图用来表示类的实例化对象。
UML课后题答案第6章用例图3. 简答题(1)试述识别用例的方法。
答:识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。
当找到参与者之后,我们就可以根据参与者来确定系统的用例,主要是看各参与者如何使用系统,需要系统提供什么样的服务。
对于这个被选出的用例模型,不仅要做到易于理解,还要做到不同的涉众对于它的理解是一致的(4)请简述为何在系统设计时要使用用例图及其对用户有什么帮助?答:用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。
借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。
第7章类图与对象图3. 简答题(3)简述使用类图和对象图的原因。
答:在面向对象分析方法中,类和对象的图形表示法是关键的建模技术之一。
它们能够有效的对业务领域和软件系统建立可视化的对象模型,使用强大的表达能力来表示出面向对象模型的主要概念。
UML中的类图和对象图显示了系统的静态结构,其中的类、对象是图形元素的基础。
(4)请简要说明类图和对象图的关系和异同。
答:在类中包含三个部分,分别是类名、类的属性和类的操作。
类的名称栏只包含类名。
类的属性栏定义了所有属性的特征。
类中列出了操作类中使用了关联连接,关联中使用名称、角色以及约束等特征定义。
类是一类的对象的抽象,类不存在多重性。
对象包含两个部分:对象的名称和对象的属性。
对象的名称栏包含“对象名:类名”。
对象的属性栏定义了属性的当前值。
对象图中不包含操作内容,因为对属于同一个类的对象,其操作是相同的。
对象使用链进行连接,链中包含名称、角色。
对象可以具有多重性。
类与类之间的主要关系有几种?它们的含义是什么?答:a.泛化关系:泛化是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。