MOOC北京大学软件工程-第七周-面向对象分析(0-1)
一、面向对象分析概述
OOA的最终目的是产生一个只能直接反映问题域的OOA模型 ×
OOA过程中建立模型规约可以集中进行,也可以分散在各个活动中 √
面向对象分析方法与结构化分析方法的区别之一是(一个以问题域的成分为为几点来构造一个模块,而另一个不是)
二、识别类
与实现条件有关的对象是OOA阶段需要重点关注的对象 ×
如果一个交互是由系统外的参与者发起的,第一个处理该交互的对象是主动对象 √
在对象分类过程中,对于属性及操作相似的类需要考虑能够抽象出一个一般类或部分类 √
以下说法错误的是(轿车和货车都是车,所以可以直接以一个类“车”代替两个类)
三、识别属性和操作
OOA过程中,为了提高操作的执行速度,可以考虑增加一些属性来保持操作的阶段性执行结果 ×
一个类的属性必须适合这个类和它的全部特殊类的所有对象,同时,一个类中的操作也应适合这个类及其所有特殊类的每一个对象实例 √
在OOA过程中,不需要考虑任何主动对象和主动操作 ×
以下哪项不属于类范围的操作(创建类的某个对象)
四、识别对象之间的关系
在面向对象分析阶段,对于继承关系的简化以下说法正确的是(以上说法均正确)
关联关系可用动词或动宾结构来命名,关联的命名不可缺省 ×
两个对象之间的关联关系只能有一个 ×
在初步建立类之间的关系时,可以暂时使用关联。在最终的类图中,若能用其他关系明确地指明类之间关系的含义,就不要使用关联 ×
依赖关系是一种使用关系,如果被使用的类发生变化,那么另一个类的操作也会受到影响 √
五、面向对象设计概述
需求是不断变化的,为了加强可维护性在设计上需要适应不可预见的变化。以下术语的易变性最低的是(类)
与结构化的分析和设计类似,面向对象的分析和设计之间也存在一定的鸿沟 ×
从OOA到OOD的过程以下描述最恰当的是(调整和增补)
OOD模型的4个部分均采用与OOA一致的概念、表示法、活动及策略 ×
六、问题域部分的概念
所有的实现因素都能通过一些在OOD中新定义的独立组成部分而实行有效的隔离 ×
以下实现条件对OOD模型问题域部分影响最大的是(编程语言)
在OOA中未完成的细节定义需要在OOD完成,所以OOD的主要任务是对OOA的细化 ×
七、如何进行问题域部分的设计
OOA强调如实地反映问题域,OOD考虑实现问题,当所用语言不支持多继承和多态,此时需要按编程语言调整多继承和多态 √
相同的操作名在同一个类中可以被定义多次,按参数的个数、种类或次序等的不同对它们进行区分,这种现象在面向对象方法中被称为(重载)
以下属于进行问题域部分的设计需要考虑的方面有(提高性能、考虑复用、编程语言、永久存储)