华农OOAD期末复习(个人整理结合老师发的资料)
课件的题目整理
填空
模型是对复杂事务的简化。
每对参与者/用况对应一个边界类。
一个控制类对应一个use case。
use case对应的分析类包括边界类、控制类、实体类。
用例模型包括参与者、用例、用例图、系统边界、用例描述等。
构成用况图的模型元素包括参与者、用况、用况之间的关系以及参与者与用况之间的关系。
用况交互过程描述形式有:事件流、缩进的伪代码、表格。
参与者Actor与用况Use Case之间的关系是关联关系。
用况是对参与者使用系统的一项功能时所进行的交互过程的一个描述,描述手段包括图形和文字,图形给出了用况命名,文字则描述了交互过程。
事物类的对象由客户机对象创建,
setAction消息由事务对象创建。
判断
建模就是把需要开发的系统功能进行详细的分析、研究,得出最终的方案。(×)
对象是具有明确语义边界并封装了状态和行为的实体。(√)
对象由一组属性和作用在这组属性上的一组操作构成。(√)
对象是构成系统的一个基本单位。(√)
对象的属性值通常保持不变。(×)
解析:属性值会随着外部事件、内部或外部动作的改变而改变
类是对一组具有相同属性和操作的一组对象的抽象描述。(√)
一个类的所有对象具有相同的属性值,包括对象的属性的个数、名称、数据类型、数据值都相同。(×)
解析:属性值会随着外部事件、内部或外部动作的改变而改变
一个类的所有对象的操作都相同。(√)
一个类的所有对象的属性都相同。(√)
对象图中,对象名与类名必须完整给出。(×)
对象图可以只有对象名。(√)
解析:还没有确定类,类名前面有冒号
对象图可以只有类名。(√)
解析:匿名对象
对象图只有操作栏,没有属性栏。(×)
对象图只有属性栏,没有操作栏。(√)
领域建模与识别类的原则是“宁多勿少”,因此,会有一些无用类,需要进一步做“去芜存菁”处理。(√)
类必须通过属性记录了某些有用的信息,或者通过操作提供了某些有用的功能,否则该类多余。(√)
类必须有多个属性和操作。(×)
解析:可以没有属性只有操作,也可以只有属性没有操作
没有属性仅提供操作的类可以去掉。(×)
解析:有些类没有属性,只有操作
类可以仅有属性而无操作。(√)
推迟到设计阶段考虑的类:系统安装、配置、信息备份、浏览等功能,应该在设计阶段考虑专门为他们增加一些类。(√)
与实现环境有关的类,推迟到设计阶段考虑。(√)
图形用户界面系统,推迟到设计阶段考虑。(√)
数据管理系统,推迟到设计阶段考虑。(√)
硬件和操作系统有关的类,推迟到设计阶段考虑。(√)
需求描述中,通常用几个不同的名词或名词短语描述同样的事,故要选定一个词,而将可替代的词排除。(√)
问题域中的某些事物实际上是另一种事物的附属品和一定意义上的抽象,因此,考虑类时,将这些事物进行合并。(√)
用相同的名词捕获两个不同的概念;这就需要产生一个新词。(补充对象)(√)
有主动操作的对象一定是主动对象。(√)
操作过程可采用流程图或活动图描述,活动图与流程图类似,但在流程图基础上进行了一些扩展,有更强的描述能力。(√)
GRASP原则是用来指导我们做面向对象设计时,如何更好地进行职责分配的。(√)
所谓信息专家Information Expert原则指的是,由一个信息专家负责在类之间进行职责分配。(×)
低耦合是一种评估原则,设计师可以用它对设计方案进行评价。(√)
系统模块之间的耦合会导致很多问题,最理想的情况时没有一点耦合。(×)
控制器可以分为两类,一类是外观控制器代表整个系统;另一类是会话控制器,专门为一个用例定义的一个专门控制器。(×)
解析:
1.Facade(外观)Controller:代表整个系统,一个根对象,该对象在其中运行的设备或主要子系统。
2.Use Case or Session Controller(用例控制器、会话控制器):表示发生系统事件的用例场景
选择
针对一个要开发的手机软件系统,下面哪个概念不是其参与者?(C)
A.SIM卡 B.网络 C.外壳 D.用户
下列哪种关系类别不适合用来描述用例和用例之间的关系?(D)
A.泛化关系
B.包含(include)
C.扩展(extend)
D.实现关系
下列各UML图中,不属于结构图的是:(D)
A.类图
B.包图
C.构件图
D.用况图
下列各UML图中,属于行为图的是:(BCD)
A.部署图
B.状态机图
C.活动图
D.顺序图
活动图用于(ABD)
A.对业务过程建模
B.对完成系统某功能的一组对象的活动行为建模
C.对系统结构建模
D.对算法细节建模
答案:AB
答案:AC
答案:B
答案:ABC
答案:ABCDE
答案:D
答案:AD
答案:AD
答案:C
答案:ABCD
答案:AC
答案:ABCD
答案:ACD
答案:ABCD
答案:ABCDEFG
下图中,在职研究生的属性继承所有父类非私有属性,下列说法中正确的是: