版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象分析与设计试题A卷(2012.12)一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号写在答题纸上。每小题1分,共20分)
1.下列_____不属于构造函数的特征。A.构造函数的名称与它所属的类名相同B.一个类只能有一个构造函数C.用类创建对象时,构造函数被调用来初始化该对象。D.构造函数不能被定义成虚函数2.类模板是为一组数据属性相似但某些数据类型不同的_____抽象定义的一种抽象化类。A.实例B.消息C.对象D.类3.下列_____不是对象的特征。A.对象具有一个状态B.对象之间以消息传递的方式进行通信。C.对象具有唯一的标识名D.一个对象的成员不可以是一个对象。4._____就是请求某个对象执行它所包含的某项处理操作的指令信息。A.对象流B.动作流C.输入/输出流D.消息5.根据_____原则,在重载函数或者用子类实现父类中的虚函数时,应该基本维持函数原来所期望的功能。A.单一功能B.封闭/开放C.最小惊讶D.封装6.在基于UML的面向对象系统开发过程中,用例实现分析需要画出_____来描述用户需求。A.用例图
B.状态图和活动图C.序列图和协作图
D.类图和对象图7.______是类的所有对象共享的成员。A.公有成员B.受保护性成员C.静态成员D.私有成员8.用类创建对象时,由编译器自动调用______来实现。A.内联函数B.友员函数C.构造函数D.析构函数9.通过公有继承派生子类时,子类可吸收基类部分成员,但不吸收______。A.公有成员B.受保护性成员C.静态成员D.析构函数10.当类的继承方式为保护继承时,基类的公有成员被继承以后将作为派生类的______成员。A.私有B.公有C.保护D.友元11.虚函数是一个在某基类中用______声明的,并在一个或多个派生类中被重新定义的成员函数。A.staticB.inlineC.privateD.virtual12.使用fstream类对象调用fstream类提供的成员函数open打开一个文件并以二进制模式进行数据输入时,在open函数中打开该文件的模式参数应该包括______。A.ios::binaryB.ios::out|ios::binaryC.ios::in|ios::binaryD.ios::in13.fstream类中用于将字符串存到文件中的函数是______。A.close()B.is_open()C.read(str,n)D.write(str,n)14.______是从用户使用系统的角度描述系统功能的图形表达方法。A.序例图B.协作图C.活动图D.用例图15.______是表达系统内部组织结构和功能结构的图示。A.状态图B.配置图C.类图D.用例图16.类图的实例是______,它可表示系统在某个特定时刻的具体状态。A.对象B.实例C.类模板D.对象图17.______由一系列的动作状态构成,动作的状态控制可以从一个状态转向另一个与之相邻的状态。A.状态图B.用例图C.活动图D.协作图18.______既可以表示系统硬件架构又可以表示系统软件架构。A.类图B.对象图C.组件图D.配置图19.______需要对每个用例进行动态建模,随着动态建模的深入,会发现前面建立的类存在缺陷或不够完整,需要对分析中得到的类图进行不断的修正和调整。A.需求分析B.用例实现分析C.用例实现设计D.系统实现20.对于类之间“多对多”的关联,可将其转化为一个______,实现两个“一对多”的联系。A.数据表B.索引表C.线性表D.关联表二、填空题(每空1分,共20分)1.为了超越程序复杂性障碍,克服(1),人们提出了面向对象软件开发方法。面向对象开发方法一改过去传统的以功能分析和功能分解为基础的面向(2)的结构化分析与设计方法,面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列(3)的集合,其面向对象的(4)又将分析的结果映射到某种面向对象(5)工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的(6),从而使面向(7)的软件开发能比较自然地模拟客观世界的活动,使问题(8)与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、(9)等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。因此,它已成为成熟的广为采用的软件开发方法。特别是20世纪末(10)的形成和广泛使用,使面向对象软件开发方法成为了软件开发的主流技术。2.在基于UML的系统分析阶段,用(11)和(12)描述了用例模型所描述的系统功能,得到的模型是一种(13)模型,离系统的编程实现还有较远的距离。因此,在系统设计阶段,就应该根据靠近问题域的(14)模型,转化得到靠近解域的物理模型;在转化的过程中,对分析阶段的模型进行(15),并用类似于编程实现的语言来描述物理模型。这个设计模型能够比较容易地被转化成(16)。这就是系统设计的目的。另外,在此阶段还要进行(17)设计,即对每个用例进行动态建模,包括建立(18)、(19)等,描述如何通过类图中的对象协作实现用例中的功能。由于一开始对系统的认识是很不够的,前面建立的类往往随着动态建模的深入,会发现存在缺陷或不够完整,需要对(20)阶段得到的类图进行不断的修正和调整。三、试编程在下列类层次结构中实现运行时多态。(共20分)四.简答题(每小题5分,共20分)1.什么是UML?它有哪些优点?2.什么是面向对象编程的继承性机制?3.基于UML的面向对象系统开发方法包括哪几步?用例实现分析的主要任务是什么?4.基于UML的关系数据库设计的逻辑数据模型设计阶段的主要任务是什么?五.试用UML对自行车出租系统及相关的数据库进行分析和设计。自行车出租系统应当实现如下基本功能:(1)允许管理员添加、修改、查询和删除自行车记录。自行车记录包括如下信息:自行车牌号、自行车牌名、日租金、目前是否可租、自行车细节说明。(2)允许顾客查询自行车店铺的所有自行车信息,至少两种查询方式:(a)按自行车牌号查询;(b)按自行车牌名查询;(3)允许管理员办理出租手续。管理员只要输入自行车编号和顾客编号,系统就会根据系统当前时间记录下这笔业务,并把相应的自行车记录标记为不可租。(4)允许管理员办理归还手续。店员只要输入自行车牌号,系统就会把相应的自行车记录标记为可租,并计算出自行车租金。请完成下列工作:(1)画出系统用例图;(5分)(2)画出分析类图;(5分)(3)画出“管理员查询借车信息”的序列图;(5分)(4)将类图转换成关系数据库逻辑模型。(5分)面向对象分析与设计试题参考答案
一、单项选择题(每小题1分,共20分)
1.B2.D3.D4.D5.C
6.D7.C8.C9.D10.C
11.D12.C13.D14.D15.C
16.D17.C18.D19.C20.D二、填空题(每空1分,共20分)
1.(1)软件危机(2)过程(3)对象(4)设计(5)实现(6)概念(7)对象(8)问题描述(9)多态(10)UML2.(11)类图(12)对象图(13)逻辑(14)逻辑(15)扩展和细化(16)程序代码(或编码系统)(17)用例实现(18)序列图(19)协作图(20)分析三、编程序(共20分)#include<iostream.h>usingnamespacestd;classEmployee {public: charname[10]; charsex[10]; charaddress[50];virtualvoidread(); vitualvoidshow();};classSalesperson:publicEmployee{public:charlevel[10]; voidread();voidshow();};classTechnician:publicEmployee{public:chartitle[10]; voidread();voidshow();};voidEmployee::read() //输入学生信息{ cout<<"姓名:"<<endl; cin>>name; cout<<"性别:"<<endl; cin>>sex; cout<<"住址:"<<endl; cin>>Address;}voidEmployee::show() //输出学生信息{ cout<<"姓名:"<<name<<endl; cout<<"性别:"<<sex<<endl; cout<<"住址:"<<adress<<endl;}voidSalesperson::read() {Employee::read();cout<<"级别:"<<endl;cin>>level;}voidSalesperson::show() {Salesperson::show();cout<<"级别:"<<level<<endl;}voidTechnician::read() {Employee::read();cout<<"职称:"<<endl;cin>>title;}voidTechnician::show() {Employee::show();cout<<"职称:"<<title<<endl;}voidmain(){SalespersonA;TechnicianB;A.read();A.show();B.read();B.show();}四.简答题1.为什么面向对象方法能成为软件开发的主流技术?答:UML(UnifyModelingLanguage)是国际统一的、标准的建模语言,能够描绘面向对象软件系统的组织结构和功能结构,是一种通用的的面向对象建模语言。它具有如下优点:(1)UML是一种统一的建模语言。它综合了面向对象领域中多种优秀方法的特点和长处而提出的,消除了过去多种面向对象建模语言在概念上的差异、语义上的混淆和符号表达上的不同,成为了国际统一的建模语言。(2)UML是一种标准的面向对象建模语言。它支持面向对象技术的概念,提供了一套标准的模型元素,能简洁明了表达面向对象建模的的各种概念,适合于各种系统的面向对象建模。因此在软件业界获得了广泛的应用。(3)UML是一种可视化建模语言,,即UML采用图形方式来描述待开发的软件系统,可以把复杂问题简单化和直观化,帮助软件设计人员理解和认识系统,抓住问题的本质,忽略非本质因素,促进问题的解决。2.什么是面向对象编程的继承机制?答:可以利用已有的类来派生新的子类,使得在派生子类中可以共享父类中的属性和操作方法,并在这个基础上增添新的属性和操作方法来扩充系统的功能,这就是继承机制。3.基于UML的面向对象系统开发方法包括哪几步?用例实现分析的主要任务是什么?答:基于UML的面向对象系统开发方法也可以分为如下步骤:(1)系统需求分析—用用户能懂的语言—用例描述用户需求;(2)系统分析—用开发人员的语言描述用户需求,获得类图和对象图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 37002-2026网络安全技术电子邮件系统安全技术规范
- 广东韶关市2026年上半年全国英语等级考试(PETS)一级B全真模拟试题及答案解析
- 2026年造价员考试市政工程计量与计价实务综合练习题及答案
- 2026年上半年全国英语等级考试(PETS)一级B全真模拟试题及答案解析(苏州)
- 汽车驾驶员(技师)模拟考试题库含答案
- 2026二级健康管理师《理论知识》试题A卷附答案
- 铸造企业驾驶员运行操作安全操作规程
- 安全生产月知识竞赛题库及答案
- 新版冶金(有色)生产安全作业(煤气作业)特种作业人员考试题库(含答案)
- 巡视条例试题库及答案
- 2025-2030跑酷培训行业市场发展分析及前景趋势与投融资发展机会研究报告
- 光伏发电站施工作业指导手册与工程实践案例分析
- 企业内部控制制度检查表模板
- 设备振动基础知识培训课件
- 风电场运维风险防控策略2025
- 2025年新版《医疗器械经营质量管理规范》培训试题(附答案)
- 四升五数学40天(暑假作业人教版)
- TCFPA0032021模块化消防救援方舱
- 2025年国投招聘笔试参考题库附带答案详解
- 呼吸科常见吸入剂临床应用指南
- QGDW10384-2023输电线路钢管塔加工技术规程
评论
0/150
提交评论