完整版面向对象分析与设计练习题含答案文档格式.docx
- 文档编号:18072884
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:31
- 大小:54.77KB
完整版面向对象分析与设计练习题含答案文档格式.docx
《完整版面向对象分析与设计练习题含答案文档格式.docx》由会员分享,可在线阅读,更多相关《完整版面向对象分析与设计练习题含答案文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
A.对象图*B.协作图C.状态图*D.序列图
9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A.组件图(用来反映代码的物理结构)
B.协作图(显示对象和他们之间的关系)
C.状态图(对所描述实物的补充说明,他显示了类的所有对象可能具有的状态)
)显示系统中软件和硬件的物理架构(配置图D.
10.使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
A.业务UseCase模型设计(一种描述系统功能需求的方法。
表示用户使用系统的一种情况)
B.逻辑数据模型设计
C.物理数据模型设计
D.物理实现设计
二、填空题(每空1分,共20分)
1.面向对象开发方法一改过去传统的以____功能分析和供能分解_为基础的____面向过程_____的结构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列_对象_的集合,其___面向对象的设计__又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的__概念___,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题_描述空间_与_解空间__在结构上尽可能一致。
因此,采用面向对象方法可以更有效地开发大型软件系统。
面向对象方法的___封装___、_继承__、_多态___等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服_____软件危机__。
因此,它已成为成熟的广为采用的软件开发方法。
2.对象是客观实体的抽象表示,是由____数据_________和______对数据的操作______两部分组成。
而_类___是对具有相同属性和行为的一组对象的抽象描述。
因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的__实例____。
通过___继承__关系又可形成一种类层次结构。
3.UML中用于描述系统的静态建模的视图称为静态视图,包括___用例图___、
____类图____、___对象图______、__组件图________和_____配置图_____。
三、写出下列程序的输出结果。
(满分10分)
#include<
iostream.h>
string.h>
classPerson
{
public:
Person(char*s)
name=newchar[strlen(s)+1];
strcpy(name,s);
}
virtualvoidprint()
{cout<
<
”Mynameis”<
name<
endl;
protected:
char*name;
};
classStudent:
publicPerson
{public:
Student(char*s,floatg):
Person(s){avg=g;
voidprint(char*s)
{cout<
s<
”Mynameis“<
”andmygradeis”<
avg<
private:
floatavg;
classprofessor:
Professor(char*s,intn):
Person(s){publs=n;
voidprint()
”andIhave”<
publs
”publication.”<
intpubls;
voidmain(void)
{Person*p;
Personx(“Zhang”);
Studenty(“Wang”,4,2);
Professorz(“Liu”,5);
p=&
x;
p->
print();
y;
z;
四.简答题(每小题5分,共20分)
1.简述面向对象软件开发方法的优点。
(1)把软件系统看成是各种对象的集合,这更接近人的思维
(2)软件需求的变动往往是功能的变动,而功能的执行者一对象一般不会有太大
的变化。
这使得按照对象设计出来的系统结构比较稳定
(3)对象包括属性和方法。
对象把属性和方法的具体实现方式一起封装起来,这使得方法与之相关的属性不再分离,提高每个子系统的相对独立性,从而提高软件的可维护性。
(4)支持封装,继承,多态,和抽象,提高了软件的可重用性,维护性和可扩展性
2.简述面向对象技术的三大机制。
封装、继承、多态
模型的层次结构。
OOA简述3.
(1)对象-类层:
划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。
(2)属性层:
定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。
标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。
(3)服务层:
表示对象的服务或行为,即是要定义类上的操作。
(4)结构层:
标识现实世界中对象之间的关系。
当一个对象是另一个对象的一部分时,用整体-部分关系表示;
当一个类属于另一个类时,用类之间继承关系表示。
(5)主题层:
可将相关类或对象划分为一个主题。
4.简述OOD模型的总体结构,并画图表示。
(1)问题论域部分,在OOA模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对象。
(2)人机交互部分:
设计用户界面模型,该用户界面模型中的类和对象提供实现人机交互操作的接口函数。
用户界面设计包括菜单设计、窗口设计、输入/输出界面设计等等。
(3)任务管理部分:
建立一些类,用以负责处理操作系统级的并发问题、中断、调度以及其它与特定平台有关的问题。
(4)数据管理部分:
提供数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。
数据管理设计包括:
—数据存放设计:
数据存放设计选择数据存放的方式(文件存放、关系数据库表格存放或面向对象的数据库存放)。
—设计相应的操作。
为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述。
问人任数据机题务管论交管理域理互部部部部分分分分类边界class&
objectlayer实例边界)(类及对象层实例连接attributelayer)(类及对象层属性消息servicelayer)(服务层服务structlayer(结构层)
subjectlayer主题)主题层(模型的总体结构1.5OOD图
五.试用UML对教学管理系统及相关的数据库系统进行分析和设计。
学生选课系统一般包括
(1)选课管理功能;
(2)成绩管理功能。
试完成下列工作:
(1)建立系统静态结构模型—画出系统用例图和类图;
(10分)
查询课程信查询学生成绩老师老师选课注册查询课程成绩学生学生
管理老师信息
学生成绩管理管理学生信息管理课程信息管理员管理员成绩统计管理开设课程)成绩管理的用例图(b)选课管理的用例图a(
教师课程学生编号编号0..*1..*1..*0..*课程名姓名姓名描述地址地址学时开设课程选修课程电话电话课程名加入课程()学生名授课日期课程名授课时间学期地点增加记录()指定老师()选课统计()学生满否()(a)选课对象类图
开设课程学生成绩登记学生名课程名学期授课日期课程名授课时间成绩地点加入成绩()指定老师()打印()学生满否()(b)成绩管理对象类图成绩统计学期课程名成绩按课程统计()按学生统计()打印()
(2)建立系统动态结构模型—画出系统序列图和协作图;
(3)建立关系数据库逻辑模型。
学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注).
教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注)
课程(课程号、课程名、描述、学分、学时、性质、备注)
开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)
----------------------------------------------------------------------------------------------------------------------
面向对象分析与设计试题C卷
每小题1分,共20分)
1.面向对象技术的最重要的基本特征是(D)。
A.抽象性B.封装性C.多态性D.继承性
2.面向对象程序设计将描述事物的数据与(C)封装在一起,作为一个相互依存、不可分割的整体来处理。
3.关于面向对象方法的优点,下列不正确的叙述是(C)。
4.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是(D)。
A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念
5.下列不属于类的成员函数的是(C)。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数
6.继承机制的作用是(C)。
A.信息隐藏B.数据封装C.派生新类D.数据抽象
7.类模板经过实例化而生成具体(D)
A.对象B.模板函数
C.函数模板D.类
8.类的析构函数是在(C)调用的。
A.类创建时B.创建对象时
C.删除对象时D.不自动调用
9.在公有继承的情况下,基类成员在派生类中的访问权限(B)
A.受限制B.保持不变C.受保护D.不受保护
10.C++语言通过(B)来建立类族。
A.类的嵌套B.类的继承C.虚函数D.抽象类
11.在UML中,有3种基本构造块,分别是(A)
A.事物、关系和图B.注释、关系和图
注释、关系和结构D.事物、关系和结构C.
**12.在UML中,有四种关系,下面哪个不是(B)
A.依赖关系B.继承关系C.泛化关系D.实现关系
13.下面哪个不是UML中的静态视图(A)
静态视图(用例图类图对象图组件图配置图)
动态视图(序列图协作图状态图活动视图)
A.状态图B.用例图C.对象图D.类图
14.在用例之间,会有三种不同的关系,下列哪个不是他们之间可能的关系(D)
A.包含(include)B.扩展(extend)
C.泛化(generalization)D.关联(connect)
15.下列关于活动图的说法错误的是(D)
A.一张活动图从本质上说是一个流程图,显示从活动到活动的控制流
B.活动图用于对业务过程中顺序和并发的工作流程进行建模。
C.活动图的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流。
D.活动图是UML中用于对系统的静态方面建模的五种图中的一种
16.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。
用例之间是具有相关性的。
在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。
那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是(B)关系
A.扩展(extend)B.包含(include)
C.分类(classification)D.聚集(aggregation)
17.UML中类的有三种,下面哪个不是其中之一(B)
A.实体类B.抽象类C.控制类D.边界类
18.阅读图例,判断下列哪个说法是错误的。
(C)
A.读者可以使用系统的还书用例
B.每次执行还书用例都要执行图书查询用例
C.每次执行还书用例都要执行交纳罚金用例
D.执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例
19.关于协作图的描述,下列哪个不正确(B)
A.协作图作为一种交互图,强调的是参加交互的对象的组织;
协作图是顺序图的一种特例B.
C.协作图中有消息流的顺序号;
D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;
20.在UML中,(D)把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。
A.组合活动B.同步条C.活动D.泳道
1.对象是客观实体的抽象表示,是由___数据___和___对数据的操作___两部分组成。
而_____(类)______是对具有相同属性和行为的一组对象的抽象描述。
因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的___实例________。
通过___继承________关系又可形成一种类层次结构。
在类层次结构的不同类中,可用相同的函数名实现功能不同的函数,面向对象技术的这种特性叫做______多态_____。
2.UML从不同的视角为系统架构建模,可产生九种视图:
______用例图__________、____类图_____________、____对象图_____________、
_______组件图_________、_____配置图___________、____序列图_____________、
________协作图________、___状态图______________、_____活动图____________。
3.____________序列图____是用来反映若干个对象之间动态协作关系的一种交互图。
它主要反映对象之间已发送消息的先后次序和对象之间的交互过程。
________________是用来描述实现某些服务所涉及的对象及其相互之间的关系(包括消息通信)的动态视图。
建模者可以选择_______协作图_______________________来反映对象之间的协作关系;
如果需要强调时间和序列,最好选择____序列图____________;
如果需要强调上下文相关,最好选择____________协作图____。
protected:
char*name;
四.简答题(每小题4分,共20分)
1.简述统一建模语言UML的优点。
UML是一种统一的建模语言。
它综合了面向对象领域中多种优秀方法的特点和长处而提出的,消除了过去多种面向对象建模语言在概念上的差异、语义上的混淆和符号表达上的不同,成为了国际统一的建模语言。
(2)UML是一种标准的面向对象建模语言。
它支持面向对象技术的概念,提供了一套标准的模型元素,能简洁明了表达面向对象建模的的各种概念,适合于各种系统的面向对象建模。
因此在软件业界获得了广泛的应用。
(3)UML是一种可视化建模语言,,即UML采用图形方式来描述待开发的软件系统,可以把复杂问题简单化和直观化,帮助软件设计人员理解和认识系统,抓住问题的本质,忽略非本质因素,促进问题的解决。
简述面向对象技术的三大机制。
2.
A封装性
B继承性
C多态性
3.简述面向对象分析的基本步骤。
1分析问题域,明确用户需求
2确定对象和类
3确定系统各部分的分类和组成结构
4找出并建立每个对象及其相互之间的联系。
5进一步协调和优化模型中各个组成部分(包括类/对象)的性能和相互关系,精炼侯选的类/对象,使系统成为由不同部分组成的最小集合。
6分析和设计模型中每个组成部分(包括类/对象)的功能实现细节,检查分析模型的一致性和完整性。
OOD体系结构的各个部分内容:
(1)问题论域部分,在OOA模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对象。
5.应用UML进行系统分析和设计所需建立视图有那几种?
五.试用UML对图书管理系统及相关的数据库系统进行分析和设计。
图书管理系统应实现
(1)借书;
(2)还书;
(3)图书资料和借阅信息查询;
(4)系统维护。
(2)建立系统动态结构模型—画出序列例图和协作图;
(2)建立关系数据库逻辑模型。
---------------------------------------------------------------------------------------------------------------------
面向对象分析与设计试题D卷
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 面向 对象 分析 设计 练习题 答案