1、重点面向对象分析与设计资料 A4排版面向对象分析与设计资料(内)1、下列关于方法学与方法的描述不正确的是( B )A、方法=模型+算法B、软件方法主要涉及指导软件设计的原理和原则,以及基于这些原理、原则的方法和技术。C、方法论是一个有理论意义的视角。D、软件开发中存在结构化、面向对象等多种方法学。2、下列关于面向对象方法学的描述不正确的是( A )A、相对其他方法学,面向对象方法学是完美的。B、面向对象方法学在软件系统构造中尽可能运用人类的自然思维方式。C、面向对象方法学是当前软件开发的主流方法学.D、面向对象方法学从现实世界中客观存在的事物(即对象)出发来构造软件系统。3、下列各项不是面向对
2、象方法学的优势的是( D )A、面向对象语言使得从客观世界到计算机的语言鸿沟变窄B、面向对象方法使从问题域到计算机间的鸿沟变窄C、易于维护和复用D、有利与代码的自动生成4、关于封装与信息隐藏的描述错误的是( B )A、封装是指将对象的全部的属性和全部的操作结合在一起,形成不可分割的独立单位,即对象。B、信息隐藏使对象能够集中而完整地描述并对应一个具体事物。C、信息隐藏是指对象在与外界的交互中,尽可能地隐藏对象的内部细节,仅保留有限的对外接口与外部进行联系。D、封装会造成一定程度上的执行效率的损失。5、关于多态的描述正确的是( A )A、多态可实现接口复用,节省大量的编码工作量.B、多态是指在聚
3、合关系中的各个类中名字相同的属性和操作具有不同的意义。C、多态的实现机制是编译时静态链接。D、函数名重载(overload) 会导致多态现象出现。6、关于“面向对象”中的对象描述正确的是( B )A、只能指代有型的事物B、可以指代软件世界中的事物C、只能指代意识中的事物D、只能指代现实世界的事物7、对象为什么会有操作?(B)A、对象的定义就是这么规定的。B、因为对象是一种结构,操作代表转换规则。C、对象与生俱来的特征。D、对象要为其他对象提供服务。8、对象的封装原则的作用描述不正确的是( C )A、将属性和操作结合在一起形成独立单位。B、避免数据和函数的过度耦合。C、将编程错误限制在对象内部。
4、D、符合人类自然的世界观。9、关于信息隐藏的作用描述不正确的是?(A )A、只对外提供接口,在接口不变的情况下将改动封装在对象内部。B、对不同的对象提供不同的接口。C、将数据和操作结合在一起。D、可将错误局限在对象内部。10、两个对象之间存在关联链,但不发送消息的例子是?( E)A、医生和病人的治疗关系B、警察和嫌疑人的侦察关系C、两个人存在亲属关系,但并不来往。D、老师和学生的教学关系E、图书馆图书借阅系统中图书和读者之间的借阅关系,只是记录两个对象存在该关系。11、实例化原则的作用不包括( C )A、可以很好的处理并发。B、符合人类自然的思维方式。C、将数据和操作合二为一D、符合现实世界中
5、一些事物的运作方式。12、不属于分类原则的作用的是(C )A、符合自然的思维方式B、代码复用的一种机制C、产生无穷实例D、实现对已有知识的复用13、实现相同的功能,使用多态比不用多态的运行效率慢的最准确的原因是( A)A、多态情况下,需要在运行时查询虚拟方法表,以便确定最终调用的方法的首地址。B、多态情况下,需要先决定对象的类型,在根据类型虚拟方法表C、多态需要在运行时产生虚拟方法表D、多态情况下,需要先先找到对象的首地址,再找到所要调用方法的首地址。14、下列对于不同的软件分析设计方法的描述,正确的是?(C )A、功能分析法可以很好的适应需求的变化。B、功能分解方法和结构化方法是相同方法的不
6、同的提法。C、功能分解法中局部的错误和修改很容易产生全局性的影响。D、结构化方法分析和设计阶段采用同一种模型。15、不是结构化方法缺点的是(B)A、数据流和加工的数量太多,引起分析文档的膨胀。B、注重研究实际的业务。C、有些事物不适合映射为数据流和加工。D、分析与设计的概念不一致,从分析到设计的过渡比较困难;16、对UML的描述正确的是(CEF)A、是一种建模方法B、是一种比高级语言还要高级的编程语言C、是一种已被OMG采纳的建模语言规范D、UML1系列已被ISO采纳的为标准E、用于建立系统的分析模型和设计模型F、是一种建模语言17、下列关于本课程采用的面向对象的分析与设计方法的描述,正确的是
7、( B )A、面向对象分析软件做什么,设计描述软件要怎么做。B、面向对象分析描述问题域与系统责任,面向对象的设计考虑与软件实现有关的问题。C、面向对象分析类图与面向对象的设计类图具有相同的类与关系D、面向对象分析与面向对象的设计遵循不同的范型。18、不属于人机交互的设计的是?(C)A、手势与体感输入B、用户图形界面C、输入输出的线程设计D、语音识别与输出19、模型的重要性体现在以下哪些方面?(ABCDE)A、便于转换为代码B、对复杂的设计问题进行验证C、便于涉及人员之间交流信息D、及时反映用户需求E、深入理解软件所涉及的业务20、Usecase出现在以下哪些阶段(ABCDE)A、需求分析B、系
8、统实现C、系统设计D、系统测试E、系统分析21、类图出现在以下哪些阶段?( BCD )A、需求分析B、系统实现C、系统分析D、系统设计22、下列关于识别类的属性的例子正确的(C )A、学生的课程成绩是该学生的一个属性B、教师的授课是该教师的一个属性C、汽车的最大时速是该汽车的一个属性D、企业员工的薪水是该员工的一个属性23、关于关联的说法正确的是( D )A、关联用于表示两个特定实例之间静态关系。B、仅当两个类之间存在关联关系时,它们的实例才可以传递消息。C、两个类之间只能存在一种关联关系。D、问题域中的事物的各种关系不一定都识别为类图中的类间的关联关系。24、流感与感冒类型之间是( C )关
9、系A、泛化B、聚合C、关联D、组合25、太阳系和地球之间是( A )关系。A、聚合B、组合C、关联D、泛化26、关于分析模式的描述不正确的是( B )A、分析模式不涉及软件的实现方案B、分析模式可以帮助我们从无到有地构造OOA模型C、分析模式是上下文有关的模型片段D、分析模型可以帮助我们重构已有的OOA模型27、下列情况适合由泛化关系来表达的是( C )A、公司人员可以根据人员的属性部门划分为若干部门,公司人员与各部门人员之间构成泛化关系B、公司人员可以分为技术人员、管理人员、行政人员等,技术人员、管理人员、行政人员之间可能相互转换,公司人员与技术人员、管理人员、行政人员构成泛化关系。C、公司
10、人员可以分为男职工和女职工,公司人员与男职工和女职工之间可构成泛化关系。D、公司人员可以按照人员类型分类,分为技术人员、管理人员、行政人员等,技术人员与人员类型可构成泛化关系。28、关于接口的描述正确的是( B )A、接口有自己单独的表示法B、接口与类之间存在实现与依赖关系C、接口仅出现在设计模型中D、接口仅能在java和C#中得到实现29、不属于识别类的方法的是( D )A、分析系统责任B、关注系统边界C、分析问题域D、分析状态30、关于OOA类图描述正确的是( B )A、OOA类图中不能有参与者形成的类B、OOA类图可以有现实世界中不存在的类C、OOA类图中必须完全记录相应的现实世界中的各
11、种关系D、OOA类图完全与现实世界中的对象一致31、下面UML2顺序图中不可能发生的消息序列是( A )A、m2,m1,m3,m4B、m4,m2,m3,m1C、m2,m3,m4,m1D、m1,m2,m3,m432、不属于UML2中的交互图的是( C )A、顺序图B、交互概览图C、协作图D、时序图33、下列关于顺序系统与并发系统的描述错误的是( B )A、并发系统中的OOA模型中要有多个主动对象,若有一个主动对象则有多个主动服务。B、并发系统中的消息只能是异步消息C、顺序系统中的消息只能是同步消息,D、顺序系统的OOA模型中只有一个主动对象,并且这个主动对象中只有一个主动服务.34、关于状态图的
12、陈述正确的是( B )A、一个状态的内部转换与自转换的意义是相同的。B、动作是在状态内或在转化时所做的操作,是原子的和即时的。C、一个对象自身的属性值变化不能作为其状态图中的事件。D、历史状态是指一个对象以前曾经所处的状态集合。35、下列行为不适合用状态图描述的是( D )A、交换机的工作行为B、空调的工作行为C、洗衣机的工作行为D、电子政务中的文件审批流程36、当一对象处于某一组合状态S内的子状态s1,在某事件的激发下要求其退出状态S,,并且再次进入状态S时,直接进入s1,此时需要用到:( C )A、延迟事件B、并发状态C、历史状态D、完成事件37、示例:根据上面的状态图, 根据上面的状态图
13、,若当前处于状态S21,相应事件E2的动作序列是(act213-act221),注意填写时只填动作,若结果是由多个动作组成的序列,动作之间用-链接,注意不要有空格。若没有动作序列不填或填无。 现假设当前处于状态S11,填写响应事件E11的动作序列是(act112 )38、接上题的情境,填写响应事件E1的动作序列(act213-act22-act31-act32-act21-act211)39、关于问题域的分析与问题域部分的设计的描述正确的是:( D )A、二者的方法学不同。B、问题域部分的设计是对问题域的分析的结果进行细化。C、两者的输入是相同的,都是对现实世界中的对象进行建模。D、两者使用相
14、同的模型。40、下列哪项不是进行问题域部分设计的理由:( B )A、复用相对稳定的业务模型。B、加深对现实世界的理解。C、使设计模型可以有一部分相对稳定。D、使设计模型从容适应技术的变化。41、下列哪项不是进行问题域部分设计的内容:( B )A、考虑线程方案B、复用以前存在的类。C、根据选定的编程语言调整模型的结构。D、为以后的版本或领域内其他的系统设计提供可复用的机会。42、下列关于面向对象的分析与设计的描述,正确的是( C )A、面向对象分析软件做什么,设计描述软件要怎么做B、面向对象分析与面向对象的设计遵循不同的范型。C、面向对象分析描述问题域与系统责任,面向对象的设计考虑与软件实现有关
15、的问题。D、面向对象分析类图与面向对象的设计类图具有相同的类与关系43、“植物大战僵尸”是一款流行的游戏,游戏中的精灵分为僵尸和植物两大类,僵尸可以运动但不能发射武器,植物不能运动但能发射武器。某同学计划在游戏开发中多重继承已有的植物类和僵尸类,形成植物僵尸类,具有植物和僵尸的所有行为,请分析是否可行:( B)A、无法判定。B、可行与否取决于僵尸和植物类是否有共同的父类,使用的编程语言,以及操作和属性之间的耦合关系等等。C、可行,这就是面向对象的神奇之处。D、不可行,僵尸和植物类是被封装在两个类中,彼此之间没有任何交互。44、下列关于人机交互设计的观点,哪个是正确的?( C )A、可以直接使用
16、需求分析的用例图,进行人机交互设计。B、人机交互设计不需关注人机交互与其他部分的关系。C、由于可视化开发环境的出现,人机交互设计可大大简化.D、窗口与子窗口必须建模为组合关系45、关于面向对象控制驱动部分的设计的描述错误的是( D )A、可以根据系统的分布方案设置控制流。B、可以设置起协调者作用的控制器。C、需要为耗时的任务建立控制流。D、OOA中的主动对象都需要作为OOD中的进程或线程。46、下列哪项不属于人机交互部分的设计?( B )A、身体姿态感应B、软件系统之间的交互C、屏幕触摸D、播放语音E、系统与外部设备的交互47、在进行控制驱动设计时,选用进程与线程的区别在于( BDE )A、控
17、制流之间无通讯时,宜选择进程。B、当控制流之间需要进行快速、大量的数据通讯时,宜选用线程。C、控制流之间有通讯时,宜选择线程。D、当无需显式的编程,借用操作系统的便利条件实现并发时,宜选用进程。E、从节约系统资源的角度,宜选择线程。48、在windows操作系统下,打开多次word程序,将产生多个( B )。A、管程B、线程C、进程D、作业49、OOD的数据管理部分不能通过下列的哪种方式实现( A )A、内存管理B、No SQLC、关系数据库D、文件管理50、.在对某系统的数据管理部分的设计中,已知该系统不需数据一致性和数据共享的支持,且需要存取大量的非结构化的数据,对存取速度要求较高。最好应
18、选用什么实现方式( D )A、以上三者都可以B、关系数据管理系统C、面向对象的数据库管理系统D、文件系统51、关于数据管理部分的设计,正确的描述是( D)A、采用关系数据库管理系统实现方式,必须保证类图与数据表之间具有一对一的映射关系。B、由于目前关系数据库技术已非常成熟,应优先选用,而尽可能不采用文件系统实现方式。C、面向对象的数据库不存在范型转化的问题,应优先考虑使用。D、根据类图中的类进行关系数据库的设计,设计出的数据表,可以在很大程度上解决2NF,3NF,4NF所要解决的问题52、关于构件图与部署图的描述正确的是( B )。A、构件只能是构成一个可执行系统必要和充分的构件,如动态连接库
19、和可执行程序。B、部署图通常包括节点、节点间的关联关系、构件以及构件和节点间的依赖关系。C、节点内可以嵌套构件,构件内部不能嵌套构件D、构件图与部署图都是在实现阶段才建立的。53、活动图与程序流程图都能表示的语义( B )。A、泳道B、控制流C、并发D、对象流54、对于文件方式与关系数据库方式的数据管理设计的描述,正确的是( D )A、文件方式的数据管理具有廉价、可以存储任何类型的对象、便于实现等优点。B、二者都必须保证外存中记录与内存中的对象一一对应。C、二者都不存在从内存对象到外存记录的映射鸿沟。D、关系数据库的的数据管理需要较多的计算机资源,处理速度较慢,不适合非结构化的数据存储。55、
20、下列情况不适合用构件描述的是( A )A、描述源代码中的类之间的依赖关系。B、描述可执行文件与动态链接库文件之间的依赖关系。C、描述源代码文件之间的依赖关系。D、对可执行文件及其执行过程中所产生的表、文件和文档建模。56、下列关于数据管理设计的描述正确的是( C )A、当采用关系数据库的方式存取持久对象时,存储持久类信息的数据表应与持久类一一对应。B、应尽可能选择关系数据库的方式存取持久对象。C、不论文件还是关系数据库的数据管理方式,都需要设计对象存储方案和数据存储接口。D、对于同一持久类,其在内存中的对象应于其在磁盘中的对象(或对象信息)一一对应。5759、某公司计划计划开发幼儿教学CAI系
21、统,用于幼儿园电子教学。具体需求如下:该系统为分布式系统,一名幼儿教师通过教师机教学,多名幼儿通过幼儿机学习。完成的功能如下:1)控制各台幼儿机的启动与关机。2)上课前,在教师机中选择本次课程所用到的课件(由另外的团队开发),通过与课件的交互设置某次课程教学的若干知识点,该知识点所对应的例题与习题。3)上课时,幼儿教师针对每个知识点在教师机中示范例题,例题解答过程显示在每个幼儿机上。之后,幼儿教师启动该知识点的若干习题,要求每个幼儿在规定时间内完成。4)幼儿在幼儿机上的解答的过程中,幼儿教师监督每个幼儿的解答过程。5)幼儿解答完毕,系统与课件交互,将每个幼儿的答题情况与得分从课件自动取出。并显
22、示在教师机上,供幼儿教师点评与讲解。57、请根据以上对该系统主要需求的描述,并结合合理的设想,梳理需求,建立该系统完整的用例图。58、请建立该系统完整的OOA类图59、在OOA类图的基础上,用顺序图描述幼儿解答习题后,在汇总各幼儿答题情况与得分场景下,各个对象的交互序列. 60、考虑如下自动洗衣机的行为,建立状态图进行描述:对洗衣机的用户有一个控制按钮可以使用。如果洗衣机门关了用户按下按钮,洗衣机就洗衣1小时,为一个完整的洗衣周期。洗衣周期中经历洗涤、漂洗、脱水三个阶段,在这三个阶段用户都可能会按下按钮,再次延长一次洗衣周期。用户都可能打开门中断洗衣,并且在关上门的时候,又需要回到原来的状态,
23、继续开始洗衣。如果当洗衣机就洗衣的任何时候用户按下按钮,洗衣机就会追加1小时洗衣时间。在洗衣机门打开的时候使用按钮无效。在洗衣机上有指示灯。在洗衣的时候,指示灯灯必须打开。在洗衣机门打开的任何时间,指示灯也必须开着。用户可以通过打开洗衣机门停止洗衣。如果用户关上门,指示灯就灭了。如果洗衣预置时间到了,洗衣机就关上马达和指示灯。同时发出警告鸣声告诉用户衣服已经洗好了。第1章 面向对象方法概论1.3 面向对象的基本原则:抽象、分类、封装、消息通信、多态性、行为分析和复杂性控制。1.5 面向对象方法的发展史及现状简介(1)雏形阶段(2)完善阶段(3)繁荣阶段第2章 什么是面向对象分析2.2 面向对象
24、分析综述 1. 概念与表示法 2. OOA模型 3. OOA过程第3章 建立需求模型-用况图3.22 识别参与者(1)人员(2)外部系统(3)设备3.3.3用况之间的关系UML 把用况之间存在的关系分为三种:包含、扩展、继承。第4章 建立基本模型-类图4.1.2 识别对象与类如下是一些识别对象与类的方法:1. 考虑系统边界2. 考虑问题域3. 考虑系统责任4. 利用名词、代词和名词短语4.1.5 认识对象的主动行为并识别主动对象 1. 主动对象(active object)是具有主动行为的对象,在设计阶段是拥有线程或进程并启动控制活动的对象。 2. 主动类(active class)是其实例为
25、主动对象的类。4.2.2 操作 1. 概念操作是类的对象被要求提供的服务的规约。操作除了要具有名称外,还可以具有可见性、参数列表或返回类型、定义操作的基本格式为: 可见性 操作名 (参数列表):返回类型 2. 表示法 3. 识别操作4.4 接口 接口(interface)声明了一组操作,用以刻画模型元素对外提供的服务或它所需要的外部服务。 接口定义了一个契约,在接口两端的类可以独立变更,但必须遵循这个契约。第5章 建立辅助模型5.1.2 顺序图中的结构化控制 Loop、opt和par为控制操作符,分别表示循环、选择和并行。5.4.1 page 96 图 5-27 简易微波炉的状态机图 第7章
26、问题域部分的设计7.3 提高性能 1. 调整对象的分析 2. 增加保存中间结果的属性或类 3. 为提高或降低系统的并发度,可能要人为地增加或减少主动类 4. 合并通信频繁的类 5. 用聚合关系描述复杂类第8章 人机交互部分的设计8.1 什么是人机交互部分 人机交互部分是OOD模型的组成部分之一。突出人如何命令系统以及系统如何向用户提交信息。设计人机交互就是要设计输入与输出,其中所包含的对象(称作界面对象)以及其间的关系构成了系统的人机交互部分的模型。第9章 控制驱动部分的设计9.2 控制流 控制流(control flow )是进程或县城的统称。1.进程进程(process)是具有一定独立功能
27、的程序的一次执行的过程。进程既是处理机的分配单位,也是其他计算机资源的分配单位。2.线程3.控制流第10章 数据管理部分的设计10.2 数据库和数据库管理系统数据库是长期存在计算机内、有组织、可共享的数据的集合。数据库管理系统是用于建立、使用和维护数据库的软件,它对数据库进行统一管理和控制,以保证数据库的完整性和安全性。第11章 构件及部署部分的设计11.1.1 概念与表示法 通常采用UML的构件图进行勾践设计。构件图是描述构件、构件的内部结构(哪些系统元素形成了那些构件)和构件之间关系的图,基于构件图,进而可对实现构件的制品建模。1. 构件2. 构件的接口3. 构件的端口4. 连接件11.2
28、 部署设计 UML不但支持对构件建模以对实现构件的制品建模,还支持用部署图对系统的网络拓扑结构建模以及对可执行制品的部署建模。11.2.1 概念与表示法节点(node)是制品可部署并执行在其上的计算资源,并能够通过通信路径互联。通常把节点看作是一个可以在其上部署可执行制品的运行环境。嵌入式系统和分布式系统等中的处理器和具有运算能力的设备,都可以用节点进行建模。进一步地,使用节点和节点间的关系可以对系统在其上运行的拓扑结构建模。第13章 OOD的评价准则13.1 耦合用耦合(coupling)来描述OOD成分之间联系的紧密程度。考虑耦合问题的目的在于:改动一部分,对其他部分的影响应尽量地小;阅读
29、一部分,需要查阅的其他部分也要尽量少。1.交互耦合OOD中的交互耦合指的是模型成分间通过消息的交互程导。OOD模型成分间的交互耦合越低越好。一般说来,一条消息中的参数不应过多,参数过多会导致相关模型成分间的强耦合(高度耦合)。此外,还要减少由一个对象发送和接收的消息的数目。如果一个对象的进出消息太多,则会引起对象间的强耦合。强耦合容易引起修改的波动效应,即对一个对象的改动可能要过多地涉及其他对象。若设计中出现了强耦合,就需要考虑重新进行设计。2.继承耦合 继承耦合是指特殊类继承一般类的属性和操作的数量程度。对继承而言,强耦合为好,强的继承耦合是OOA和OOD努力追求的目标。为了在系统中达到强的继承耦合,每个特殊类应该真正地是一般类的特殊类,即特殊类不应该拒绝或不使用一般类中的较多属性或者操作。如果设计中的继承耦合不强,就要重新组织类,调整原有的模型。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1