类图课堂问题及答案
- 格式:doc
- 大小:223.50 KB
- 文档页数:3
1、软件工程的生命周期:需求分析阶段;系统分析与设计阶段;系统实现阶段;测试阶段;维护阶段。
2、建模的目标是:(1)便于开发人员展现系统;(2)允许开发人员制定系统的结构或行为;(3)提供指导开发人员构造系统的模板;(4)记录开发人员的决策。
建模的实质是:对现实的简化;通过将问题分割成一系列可以解决的、较小的问题来解决复杂问题。
3、建模的四原则是:(1)认真选择模型;(2)每个模型可以有多种表达方式;(3)最好的模型总是能够切合实际;(4)孤立的模型是不完整的。
4、面向对象=对象+类+继承+通信。
继承是指子类可以自动拥有父类的全部属性与操作;使得父类和子类之间能够共享数据和方法。
继承简化了对现实世界的描述,定义子类时不必重复定义那些在父类中已经定义过的属性与操作。
而只需专注于自己特有的属性与操作。
有了继承机制,软件的可复用性得到提高。
多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
通常通过派生类重载基类中的同名函数来实现。
分为:编译时的多态性和运行时的多态性。
5、面向对象的程序设计语言有:基于Smalltalk的语言;基于C的语言;基于LISP的语言;基于Pascal的语言。
6、面向对象分析的基本原则:抽象原则;分类原则;聚合原则;关联原则;消息通信原则。
7、面象对象分析的层次共有:主题层;类与对象层;结构层;属性层;服务层。
在设计期间主要扩充4个组成部分:人机交互子系统部分、问题域子系统部分、任务管理子系统部分、数据管理子系统部分。
8、Rstional Rose的主界面由标题栏、菜单栏、工具栏、工作区和状态栏组成。
默认的工作区由左侧的浏览器和文档区,右侧的编辑区和下方的日志记录组成。
9、Rational Rose中有4个视图:(1)用例视图:只关注系统功能的高层形状,不关注系统的具体实现方法;(2)逻辑视图:关注系统如何实现用例中提出的功能,提供系统的详细图形,描述组件之间如何关联。
第6章用例图3. 简答题(1)试述识别用例的方法。
答:识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。
当找到参与者之后,我们就可以根据参与者来确定系统的用例,主要是看各参与者如何使用系统,需要系统提供什么样的服务。
对于这个被选出的用例模型,不仅要做到易于理解,还要做到不同的涉众对于它的理解是一致的(4)请简述为何在系统设计时要使用用例图及其对用户有什么帮助?答:用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。
借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。
第7章类图与对象图3. 简答题(3)简述使用类图和对象图的原因。
答:在面向对象分析方法中,类和对象的图形表示法是关键的建模技术之一。
它们能够有效的对业务领域和软件系统建立可视化的对象模型,使用强大的表达能力来表示出面向对象模型的主要概念。
UML中的类图和对象图显示了系统的静态结构,其中的类、对象是图形元素的基础。
(4)请简要说明类图和对象图的关系和异同。
答:在类中包含三个部分,分别是类名、类的属性和类的操作。
类的名称栏只包含类名。
类的属性栏定义了所有属性的特征。
类中列出了操作类中使用了关联连接,关联中使用名称、角色以及约束等特征定义。
类是一类的对象的抽象,类不存在多重性。
对象包含两个部分:对象的名称和对象的属性。
对象的名称栏包含“对象名:类名”。
对象的属性栏定义了属性的当前值。
对象图中不包含操作内容,因为对属于同一个类的对象,其操作是相同的。
对象使用链进行连接,链中包含名称、角色。
对象可以具有多重性。
类与类之间的主要关系有几种?它们的含义是什么?答:a.泛化关系:泛化是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
b.实现关系:用于规定规格说明与其实现之间的关系,换句话说,就是指定两个实体之间的一个合同,一个实体定义一个合同,而另一个实体保证履行该合同。
UML课后习题答案第1章UML概述1. 请指出UML的三个主要的特性。
1)UML是一种语言2)UML是用来建模的3)UML是统一的标准2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么样的作用。
1)电路图:电子产品设计、生产、维修2)园区沙盘:直观、立体化地展示园区的景观、布局3)地图:导航、指路等3. 请说明蓝图和草图的区别,并简单描述其适用的场景。
蓝图一般是指采用CASE(Computer Aided(or Assisted)Software Engineering)工具绘制的、正式的、规范的UML模型;而草图则通常是指手工绘制的、规范度较低的在纸张的UML模型。
对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中4. 说明UML适用的建模领域,以及其作用和主要的参与人员。
业务建模,用来加强对业务领域的了解,以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与。
需求模型,用来加强需求了解,便于技术决策,以需求分析人员为主,系统分析员是主力,领域专家提供指导,架构师和资深开发人员参与。
设计模型:包括高层设计模型和详细设计模型。
高层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。
详细设计模型则以资深开发人员为主,架构师提供指导。
实现模型:架构师、资深开发人员(设计人员);以资深开发人员(设计人员)为主,架构师提供总体指导。
数据库模型:架构师、数据库开发人员、资深开发人员(设计人员);以数据库开发人员为主,架构师提供指导,资深开发人员(设计人员)予以配合。
第2章UML世界的构成1. UML是由哪三个部分组成的,请分别说明它们的作用。
基本构造块:也就是建模元素,是模型的主体UML规则:也就是支配基本构造块如何放在一起的规则公共机制:运用于整个UML模型中的公共机制、扩展机制2. 请列举出三个以上UML中的事物构造块,并说明适合用来表示“系统向用户提供的功能”的构造块是什么。
4章:类图与对象图习题编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(4章:类图与对象图习题)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为4章:类图与对象图习题的全部内容。
第4章类图与对象图习题一、简答题1. 什么叫对象?答:对象的本意是指认识的指向物.在计算机软件中,对象用来表示客观事物的一个实体,它封装了一组属性和操作。
从形式上看,对象是一段具有特定语法规则的程序单元,它能够作为软件系统的一个相对独立的基本单位,在软件中承担确定的服务职能。
2. 简述实例的概念。
答:实例是类元中的一个元素。
3. 简述类元的概念。
答:类元是对聚集一组具有共同特征的实例的模型元素的通称,类、接口、用例、参与者、关联等都属于类元。
类元的名字用标识符来表示,首字母要大写.类元会包括一组实例。
4. 什么叫类?答:类是具有相同性质的一组对象的集合,这组对象具有相同的特征、约束和语义。
5. 类有哪几种类型?答:按阶段分:业务对象,PIM类,PSM类;按作用分:实体类,控制类,界面类。
6. 简述接口的概念.答:接口是一种类元,聚集了一组需要通过其他类元实现的公共的操作和属性.二、填空题1.认识的对象可以是客观中一个具体的(事物),也可以是主观中的一个抽象(观念).2.软件中的对象是一段具有特定语法规则的( 程序单元),它能够作为软件系统的一个相对独立的基本单位,在软件中承担确定的(服务职能).3.类描述具有相同性质的一组对象的(集合),类用(矩形)来表示。
4.按作用,可以把类分为(控制类)、边界类和(实体类)几种类型。
5.接口可以分为(供口)和(需口)两种类型.三、选择题1.在认识过程中,下面哪个不是对象的要素(D)A:认识的指向物 B:认识者C:认识指向物在认识者主观中的反映 D:认识的背景2.下面哪一个对对象的说法不正确(B)A:客观实体 B:事物的对立面C:认识的指向物 D:软件的一个基本单位3. 下面属性命名不正确的是(A)A *BirthDay:DateB #studentBirthDay:Date=1999—10—21C —price:float=12.01{R/W}D +studentName:String=“张敏”4.指出下面不合适的类名( B)A:材料 B:事物C:订单 D:会员5.下面不是对象图作用的是(A)A:功能逻辑建模B:初期分析工具C:描述业务场景D:模拟运行场景四、练习题1.在一个订货系统中,采购员从供货商处订货,双方需要签订订单,一个采购员可以订多个供货商的货品,一个供货商也可以给多个采购员供货。
1、简述类的定义,以及类的三要素。
答:类是对一组具有相同属性、操作、关系和语义事物的描述。
类的三要素是:类的名称、属性、操作。
2、类的属性和方法的可见性有哪些UML中如何表示答:类的属性和方法的可见性有protect(符号“#”),private(符号“-”),public(符号“+”)3、已知三个类和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请画出能够正确表示类A,B和C之间关系的UML 类图.答:?4、根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
(5、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。
(商品信息包括商品编号,商品名称,价格,生产厂商等)6、如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改|7、根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。
public class Invoice{public double amount;public Date date = new Date();¥public string customer;public string specification;public string administrator = “unspecified”;static private int number_of_invoices()=0;public invoice ();{number_of_invoices++;}public void print (){|"The number of invoices is ”+ int number_of_invoices);}}8、 下图是一个仓库管理系统的类模型局部,其中IncomeOrder 是指入库单,OrderItem 是指入库中的每一项,Product 则是产品信息。
一、填空1. 如果要把众多的事物进行归纳和分类,那么所依据的面向对象特性是抽象。
2. 面向对象中的表示层用于提供给用户使用和显示的界面。
3. UML中的元元模型层位于结构的最上层,是组成UML最基本的元素,代表要定义的所有事物。
4. 在UML2.0中用来表示类、组件、协作等模型元素内部结构的是组合结构。
5. UML中的实现关系使用一条空心三角作为箭头和虚线作为其图形表示。
1. 用例图的标准关系有扩展、泛化关系、关联关系。
2. 用例图的组成有关系、系统、参与者和用例。
3. 在UML中,用例用一个圆形来表示。
4. 泛化关系使用一条实线和一个三角箭头来边接用例。
1.类图是面向对象系统建模中最常用和最基本的图之一。
2. 泛化约束可以分为不完我约束、完全约束、解体约束和重叠约束。
3. UML规范中定义了4种基本的依赖类型,它们分别是使用依赖、抽象依赖、绑定依赖和授权依赖。
4. 组合关系用来描述整体与部分,但是部分不能离开整体而单独存在,当整体类被销毁部分类将同时被销毁。
5.组合关系和聚合关系都是一种特殊的关联关系,它们都描述了整体与部分的关系。
1.对象图描述了参与交互的各个对象在交互过程中某一时刻的状态。
2. 存在于时间和空间的具体实体是用来描述对象的。
3. 对象除了用于数据外,还可以拥有各种关系,这些关系被称为链。
4. 使用包以及类所绘制的图形就叫包图。
5. 包图的常用关系包括依赖关系和泛化关系,其中依赖关系又包括<<import>> 依赖和<<access>>依赖。
1. UML中活动图的核以元素是活动,它使用圆角矩形表示。
2. 活动图中的活动结点有3种类型,其中控制结点可以包含开始状态。
3. 在一个活动图中可以有一个开始状态。
有多个结束状态。
4. 在活动图中使用分叉与汇合来描述并行的行为。
5. 一个异常处理器包含一个异常处理执行体和一个异常类型。
1. 顺序图是一种通信集合。
类图作业
1、画一个类的继承图,它描述两类公司的顾客:外部的顾客,他们属于其它公司;内部顾
客,他们是公司内部所有部门的顾客。
2、何时适合使用组合建模?请问为何不用UML组合表示法显示一只狗是由高度、重量、
颜色和出生日期构成的?
3、画一个具有下列结构的书的章节的对象聚集图:一章由若干小节组成,每个小节有若干
个段落和图组成。
段落由一些句子组成,每个句子包括一些词语。
这里忽略标点符号,且不用深入追究组成小节的图的结构。
参考答案
一、下图表示的是针对内部和外部顾客的类继承图。
这个结构种最有意思的部分是类图
Internal Customer,它从Corporate Division和Customer中多重继承。
二、组合建模可以只对重要的组成建模,如那些基于现实事物的物理构成(椅子等)。
其他
重要的组成用一些层描述,在那些成分对象本身是由其他成分对象组合的。
这里最好不要用组合来显示一只狗是由高度、重量、颜色和出生如期组合的,因为这些是狗的属性。
如果用组合来描述属性,所得的图就不会由大量稳定的值。
三、
上图显示了书的章节的一个可能的聚集结构。
对象聚集图显示了章是节的有序的集合。
段落和句子的结构与章的结构类似。
节的结构比较复杂,以为节是有段落和图混合构成的。
这里的设计方法是创建一个称为SectionComponent的类,从它继承了Paragraph和Picture两个类,即允许每个节的组成既可以是段落,又可以是图。
上图做了个假设:节只出现在一章中。
如果节可以出现在多章中,则关联的组成一端的多重性应该为1..n。
uml习题答案UML习题答案UML(Unified Modeling Language)是一种用于软件开发的标准建模语言,它提供了一套图形化的符号和规则,用于描述和分析软件系统的结构、行为和交互。
在软件工程领域,UML已经成为了一种通用的语言,被广泛应用于需求分析、系统设计和软件开发等阶段。
在学习UML的过程中,习题是一种非常重要的练习方式。
通过解答习题,我们可以巩固对UML的理解,并且提高自己的建模能力。
下面,我将为大家提供一些常见UML习题的答案,希望对大家的学习有所帮助。
1. 请使用UML类图描述一个简单的学生信息管理系统。
答案:在这个学生信息管理系统中,我们可以使用一个类来表示学生,该类具有姓名、年龄和学号等属性。
另外,还可以使用一个类来表示学生信息管理系统本身,该类具有添加学生、删除学生和查询学生等方法。
学生类和学生信息管理系统类之间可以使用关联关系进行连接。
2. 请使用UML时序图描述一个简单的登录系统的交互过程。
答案:在这个登录系统中,用户首先输入用户名和密码,然后系统验证用户的身份。
如果验证成功,系统将返回登录成功的消息;如果验证失败,系统将返回登录失败的消息。
在时序图中,可以使用参与者表示用户和系统,使用消息箭头表示用户和系统之间的交互过程。
3. 请使用UML活动图描述一个简单的购物流程。
答案:在这个购物流程中,用户首先浏览商品,然后选择商品并加入购物车。
接下来,用户可以选择结算或继续购物。
如果用户选择结算,系统将生成订单并进行支付;如果用户选择继续购物,系统将返回到商品浏览界面。
在活动图中,可以使用活动节点表示用户的活动,使用控制流箭头表示活动之间的流程。
4. 请使用UML用例图描述一个简单的图书馆管理系统。
答案:在这个图书馆管理系统中,可以使用一个用例来表示用户借书的过程,该用例包括用户登录、搜索图书和借书等步骤。
另外,还可以使用一个用例来表示管理员管理图书的过程,该用例包括管理员登录、添加图书和删除图书等步骤。
1、简述类的定义,以及类的三要素。
答:类是对一组具有相同属性、操作、关系和语义事物的描述。
类的三要素是:类的名称、属性、操作。
2、类的属性和方法的可见性有哪些?UML中如何表示?
答:类的属性和方法的可见性有protect(符号“#”),private(符号“-”),public(符号“+”)
3、已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请画出能够正确表示类A,B和C之间关系的UML类图.
答:
4、根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
5、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。
(商品信息包括商品编号,商品名称,价格,生产厂商等)
6、如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?
7、根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。
public class Invoice
{
public double amount;
public Date date = new Date();
public string customer;
public string specification;
public string administrator = “unspecified”;
static private int number_of_invoices()=0;
public invoice();
{
number_of_invoices++;
}
public void print()
{
System.out.println("The number of invoices is ”+ int
number_of_invoices);
}
}
8、 下图是一个仓库管理系统的类模型局部,其中IncomeOrder
是指入库单,OrderItem 是指入库中的每一项,Product 则是产品信息。
请指出模型中的错误,说明原因并改正类图。
OrderItem IncomeOrder
Product
11。