面向对象程序分析与设计期末总复习
第一章 面向对象建模基础
选择题
1. 面向对象程序设计将描述事物的__________与对数据的操作封装在一起,作为一个相互依存、不可分割的整体来处理。
A、 信息
B、 数据隐藏
C、 数据抽象
D、 数据
2. ________是一种整体-部分关系,这种关系的语义为“有一个”关系。
A、 继承
B、 聚合
C、 依赖
D、 数据
3. 两个类之间存在着关联关系。而关联关系之间也存在一定的数量关系。每一个教师可以讲授多门课程,至少讲授一门课程。而一门课程也可以被多个教师讲授,至少被1个教师讲授。教师与课程之间的带量级的关联关系表示为________.
A、 教师1..*————————1..*课程
B、 教师1…*————————1课程
C、 教师1————————1…*课程
D、 教师0…*————————0…*课程
填空题
4. 建模就是采用____、____、____的方式,将系统的构成及其构成间的关系呈现给人们的一种技术方法。
答案: 表格化; 图形化; 公式化;
5. 车和轮胎是____关系,轮胎离开车仍然可以存在。
答案: 聚合;
判断题
6. 封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。
答案: 正确
简答题
7. 简述面向对象建模的过程
答案:
发现对象、对象的类化、类的特征化、类的结构化
发现对象(Find Objects)。这是面向对象建模的起点,可以从问题域中发现对象,也可以从实现域中发现对象。当然,发现对象是对客观事物或主观事物进行抽象的过程,只抽象出当前开发软件系统所需要的对象和对象的信息。
对象的类化(Classification of Object)。有了对象之后,将对象分类,这是降低复杂性,提高复用的方法。也是为了更好地认识问题、解决问题。
类的特征化(Characterization of Class)。即确定类的属性和方法。对象的属性大部分成为类的属性,而职责成为类的方法。
类的结构化(To establish Relationships between Classes)。类的结构化就是确定类之间的关系。UML提供了类之间关系的表示。
第二章 愿景
选择题
1.《斗罗大陆:魂师对决》是海南智虎网络科技有限公司开发的游戏,目标组织就是海南智虎网络科技有限公司,这属于目标组织的哪种情况? ( )
A、 第一种
B、 第二种
C、 第三种
D、 第四种
2. 研发部要添加一名 Java程序员,由人力资源部负责出面招人, 请问针对这名Java程序员,老大是()
A、 人力资源部经理
B、 研发部经理
C、 公司总经理
D、 Java程序员
填空题
3. 根据愿景的形式化定义,愿景可以用一句话来概括:在_______(老大)看来,软件系统应该给组织业务带来的________。
答案: 目标组织代表;改进;
4. 老大代表了目标组织,是最有“地位”的_______,是最优先照顾其利益的那个人。
答案: 涉众;
5. 在确定老大的时候,有几个要点需要注意:要点一:________。要点二:老大是买方。要点三 :老大不一定清楚系统好坏的度量指标。
答案: 老大是系统改进业务流程的那个组织的负责人;
判断题
6. 老大不是涉众。 ( )
答案: 错误
7. 老大是一个具体的人。 ( )
答案: 正确
8. 涉众是受系统影响的人或系统。 ( )
答案: 错误
简答题
9. 目标组织有几种情况?
答案:(建议加上例子)
目标组织的第一种情况是:目标组织是软件系统的所有者和消费者,软件系统为目标组织的业务服务,软件系统的使用者是目标组织或者是目标组织的客户。
目标组织的第二种情况是:目标组织是软件系统的消费者和使用者,但不是软件系统的所有者,软件系统为目标组织的业务服务。
目标组织的第三种情况是目标组织是软件系统的所有者和消费者,软件系统既为目标组织自身的业务服务
目标组织的第四种情况是,软件工程师既是音乐软件的生产者、所有者和使用者,同时也是音乐软件的目标组织、消费者和服务提供者。他开发的音乐软件是为自己个人使用和享受服务的,但同时也可以被其他音乐爱好者使用。因此,这款音乐软件可以被看作是一种面向个人用户的业务服务,也可以被看作是一种面向音乐爱好者的服务产品。
10. 如何确定组织的老大?
答案:
要点一 :老大是系统改进业务流程的那个组织的负责人。
判断老大最重要的一点是其所负责的组织的业务流程被软件系统改进,这是老大引进软件系统的目的。
要点二:老大是买方。
一般来说,目标组织是软件的购买者,而老大是最终签字同意购买软件的那个人。这里的“买”是广义的“买” ,不仅是付出金钱,也可以是付出声誉、官职、时间等。
要点三 :老大不一定清楚系统好坏的度量指标。
第三章 业务用例
选择题
1. 针对以下研究对象,财务人员最有可能是业务参与者的是() 。
A、 某省注册会计师考试委员会
B、 某市国税局
C、 公司人力资源
D、 公司财务部
2. 以医院为研究对象,以下是正确的业务用例的是()。
A、 患者→看病
B、 医生→诊治
C、 患者→挂号
D、 收费人员→收费
填空题
3. 业务流程的改进有三种:、、____。
答案:物理流变信息流;改善信息流转;封装领域逻辑
答案: 用半自动化的业务流程替代纯手工的业务流程;用半自动化和自动化的业务流程替代半自动化的业务流程;用全自动化的业务流程替代半自动化和自动化的业务流程;
4. 业务有三种类型,分别是:核心业务、和。
答案: 支持型业务;管理型业务;
判断题
5. 业务实体是组织中的非人脑系统,例如银行的点钞机。 ( )
答案: 正确
6. 业务参与者在组织之内。 ( )
答案: 错误
7. 业务参与者在系统之外。 ( )
答案: 错误
8. 消息代表责任分配而不是数据流动。 ( )
答案: 正确
第四章 需求
填空题
1. 系统用例规约的前置条件是用例开始前,系统需要满足的____。前置条件必须是系统能____到的。
答案: 约束;检测;
2. 用例的步骤和约束是____博弈的结果.
答案: 涉众利益;
3. 系统用例规约的后置条件是用例结束后,系统需要满足的____。后置条件必须是系统能____到的。
答案: 约束;检测;
第五章 分析
选择题
1. 在四色原型中,PPT类用______表示。
A、 灰色
B、 黑色
C、 淡绿色
D、 淡黄色
2. 状态机可归纳为4个要素,即现态、条件、动作、次态。这样的归纳,主要是出于对状态机的内在因果关系的考虑。()和()是因,()和()是果。
A、 现态,动作,条件,次态
B、 现态,次态,条件,动作
C、 条件,动作,现态,次态
D、 现态,条件,动作,次态
3. 四色法建模中, MI代表了()。
A、 角色
B、 PPT
C、 时刻-时段
D、 分类描述
4. 在四色原型中,MI类用()表示。
A、 灰色
B、 黑色
C、 淡红色
D、 淡黄色
填空题
5. 四色原型模式包括:、、、。
答案: MI原型;Role原型;PPT原型;Description原型;
6. FURPS+需求模型中F是____,U是____,R是____,P是____,S是____,+是____。
答案: Function;Usability;Reliability;Performance;Supportability;辅助的和次要的因素;
7. 类的命名应遵循以下几条原则:、、、。
答案: 应恰好符合这个类所包含的全部对象;应该反映每个对象个体而不是整个群体;使用规范的名词而不是俚语;使用英文描述;
8. BCE模式包含三个部分:、、____。
答案: 边界;控制;实体;
判断题
9. 事物从一个状态到另外一个状态的转化通常是即时的。 ( )
答案: 正确
解答题
10. 请简述四色原型模式
答案:
MI archetype,moment-interval,时标性对象,粉红颜色
Role archetype,角色原型,淡黄颜色
PPT archetype,party、place或thing的缩写,淡绿色,Party表示有自己正常的状态并且能够自主控制自己的一些行为。Place or thing表示不会说话没有行为的东西。
Description,灰色
11. 类的命名的原则是什么?
答案:
1)适合该类及其特殊类的全部对象实例
2)反映个体而不是群体
3)使用名词,或带有定语的名词 ,避免无意义的符号
4)考虑使用适当种类的语言文字对类命名。
12. 什么是BCE模式?
答案:
BCE是边界(Boundary)、控制(Control)、实体(Entity)的首字母,该模式是将软件系统中的类分成边界类、控制类和实体类。边界类用来隔离系统内外,通常负责接收并响应系统内外的信息。所以,参与者对象只能跟边界对象互动,不能直接发送消息给控制对象或实体对象。控制类用来控制用例执行期间的复杂运算或者业务逻辑(business logic)。实体类对应领域概念的类,主要用来保存问题领域中的重要信息,封装了跟数据结构和数据存储有关的变化。
第六章 系统架构设计
选择题
1. 方法的算法设计属于
A、 架构设计
B、 数据库设计
C、 界面设计
D、 类设计
2. 在.NET的多层架构中, ( )是为UI层提供一个一致对外的接口,使得对于BLL的使用更加容易。
A、 外观层
B、 实体层
C、 数据访问层
D、 业务逻辑层
填空题
3. 软件系统设计包括:和。
答案: 软件架构设计;软件详细设计;
4. RUP的“4+1 视图模型”包括:、、、、____。
答案: 用例视图;逻辑视图;实施视图;进程视图;配置视图;
5. MVC指的是____、、。
答案: Model;View;Controller;
6. MVP 模式将 Controller 改名为 ____,同时改变了通信方向。
答案: Presenter;
7. MVVM 模式将 Presenter 改名为 ____,基本上与 MVP 模式完全一致。
答案: ViewModel;
简答题
8. 请简述软件系统设计
答案:
软件系统设计(Software System Design)包括软件架构设计(Software Architecture Design)和软件详细设计(Software Detail Design)。
软件架构设计是对软件系统内的元素,及元素间关系的一种主观映射的产物。因此,不同的系统有不同的软件架构。
软件架构设计是软件开发中的一个关键环节,是软件系统质量的重要保证。因为软件系统所承担的交易的商业价值极高,这对于客户的商业经营和管理来说极为重要,因此,软件系统必须非常可靠和安全。 并且,软件系统必须能够在用户的使用率、数量增加很快的情况下,保持合理的性能。同样,软件系统应该能够根据客户群的不同和市场需求的变化进行调整,对现有系统进行功能和性能的扩展。除此之外,一个好的软件架构必须使软件系统易于维护和易于使用。
软件详细设计说明一个软件系统各个层次中的每个程序(每个模块或子程序),为程序员编码提供依据。也对软件系统所依赖于运行的硬件,包括操作系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求进行说明和设计。软件详细设计也详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。
9. 试简述RUP的“4+1 视图模型”。
答案:
在 RUP(Rational Unified Process )中,该视图集称为“4+1 视图模型”。
用例视图:包括用例和场景,这些用例和场景包括在架构方面具有重要意义的行为、类或技术风险。它是用例模型的子集。用例视图是“4+1 视图模型”中的“1”,并且居于中心位置,说明软件架构是以需求为中心的,其它四个视图都是以用例视图为基础的。
逻辑视图:包括最重要的设计类、从这些设计类到包和子系统的组织形式,以及从这些包和子系统到层的组织形式。它还包括一些用例实现。它是设计模型的子集。前面系统设计简介中的架构设计就属于逻辑视图,它是系统分析师和系统设计师的主要工作之一。通过逻辑视图,可以设计出具体的类。
实施视图:包括实施模型及其从模块到包和层的组织形式的概览。同时还描述了将逻辑视图中的包和类向实施视图中的包和模块分配的情况。它是实施模型的子集。程序员可以根据逻辑视图在集成开发环境(Intergrated Development Enviorenment,IDE)中创建项目,项目的结构包括包和类都与逻辑视图一致。
进程视图:包括所涉及任务(进程和线程)的描述,它们的交互和配置,以及将设计对象和类向任务的分配情况。只有在系统具有很高程度的并行时,才需要该视图。在 Rational Unified Process 中,它是设计模型的子集。系统集成人员在创建任务时更多地是考虑性能、可伸缩性、吞吐量等非功能性需求。
配置视图:包括对最典型的平台配置的各种物理节点的描述以及将任务(来自进程视图)向物理节点分配的情况。只有在分布式系统中才需要该视图。它是部署模型的一个子集。构架视图记录在软件构架文档中。