1、第 1 页 共 6 页 一、单选题:(本题共 15 小题,每题 2 分,共 30 分) 1. 目标系统外部的执行者 ( Actor) 不包括( D )。 A 人 B 外部设备 C 外部系统 D 数据存储 2. 多态性出现在具有( B)结构的类之间。 A 整体 -部分 B 一般 -特殊 C 实例连接 D 消息连接 3. 领域模型包含一个公司中有价值的类,以下不属于领域模型的是( D)。 A 相互关系类 B 属性类 C 角色类 D 事件管理类 4. 一个设计得好的面向对象系统具有( B)特征。 A 低内聚、低耦合 B 高内聚、 低耦合 C 高内聚、高耦合 D 低内聚、高耦合 5. 若对象 a 可以
2、给对象 b 发送消息,那么 _ B 。 A 对象 b 可以看见对象 a B 对象 a 可看见对象 b C 对象 a、 b 相互不可见 D 对象 a、 b 相互可见 6. 关于时序图(顺序图)的描述中正确的是( c )。 A 显示了各种对象的方法的执行顺序 B 能够反映对象的生命周期 C 其中横向箭头表示尾部连接的对象的方法执行后向头部连接的对象传递数据 D 可以用来描述用例图中某个用例的时序行为 7. 关于用例与类的对比中( d )是错误的。 A 都属 于模型结构元素 B 都存在继承关系 C 类描述系统的部分静态视图,用例描述系统动态的行为视图 D 类描述的是系统的内部构成,用例也可以描述系统
3、的内部构成 8. 在数据库设计的( c )阶段开始考虑具体的数据库管理系统( DBMS)的特性。 A 需求分析 B 概念设计 C 逻辑设计 D 物理设计 9. 构成对象的两个主要因素是( a )。 A 属性和服务 B 标识和内容 C 继承和多态 D 消息和封装 10. 面向对象的特点主要概括为( c )。 A 可分解性、可组合性、可分类性 B 继承性、封装性、多态性 C 抽象性、继承性、封装性、多态性 D 封装性、易维护性、可扩展性、可重用性 11. 关于面向对象的分析与设计的描述中正确的是( c )。 A 因为我们要重用类,因此在分析设计过程中不能过早地确定领域类 B 面向对象的方法是从功能
4、开始而不是从组成部分开始 C 用例规格描述是面向对象分析与设计的输入 D 通过用例分析和时序分析可以获得全部的问题领域类 12. 在下面的类图中,哪个类图中的类 Order 所生成的代码具有如下形式?( a ) Public class Order Public Customer recipient; A c l a s s D om a i n O bj e c t sO r de r C us t om e rn+ r e c i p i e n t1B c l a s s D om a i n O bj e c t sO r de r C us t om e rn+ r e c i p
5、i e n tn第 2 页 共 6 页 C c l a s s D om a i n O bj e c t sO r de r C us t om e rnr e c i p i e n t1D c l a s s D om a i n O bj e c t sO r de r C us t om e rnr e c i p i e n tn13. 计算机( Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。那么 Computer类和其他类( CPU、 RAM、 FloppyDrive、 HardDisk、 Monitor、 Keyboard、 Mouse)之间的关系
6、是:( d ) A 泛化关系( Generalization) B 实现关系( Realization) C 包含关系( Inclusion) D 聚集关系( Aggregation) 14. 在状态图中不能表示下面那些概念?( d ) A 动作( action) B 事件( event) C 转移( transition) D 类( class) 15. 下列关于面向对象方法中描述中错误的是( c )。 A 使用设计模式有助于在软件开发中应用面向对象技术 B 选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度 C UML 作为一种可视化建模语言需要与 RUP 开发过程同时使用 D 目前
7、在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法 二、判断题(每题 1 分,共 10 分。对的标“ T”,错 的标“ F”) FTFTF 6-10: TFTTT 1. 一个状态图最多只能由一个初态和一个终态。( F ) 2. 协作图中的消息必须要有消息顺序号。 ( T ) 3. 两个参与者( actor)之间可以有包含( include)关系、扩展( extend)关系或泛化( generalization) 关系,而包含关系和扩展关系是依赖( dependency)关系的版型。 ( F ) 4. 参与者( actor)和用例( use case)之间的关系是关联( associ
8、ation)关系。( T ) 5. 类 A 和类 B 之间的关系如 图 1 所示,则称类 B 中的 getName()方法是对类 A 中的 getName()方法的重载( overload)。( F ) c l a s s d i a g r a mA+ g e t N a m e ( In t e g e r ) : S t r in gB+ g e t N a m e ( In t e g e r ) : S t r in ga c t A c t i v i t y D i a g ra mP re p a re f o r s p e e c hG e s t u reD e c o
9、m p re s sS y n c h M o u t h S t re a m A u d i oC l e a n u p图 1 getName()方法之间的关系 图 2 活动图 第 3 页 共 6 页 6. 如图 2 所示,活动 Gesture 和 Stream audio 可以并发进行。( T ) 7. 一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用EA 进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。( F ) 8. 一个职责可能要许多类和方法 (method)来实现,也可能只要很 少方法来实现,这是由职责的粒度(granulari
10、ty)来决定的。( T ) 9. 用例分析中的分析类一般包含边界类、控制类和实体类,用例的参与者只能与边界类对象进行交互。( T ) 10. 在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。( T ) 三、填空题(每题 1 分,共 10 分) 1-5: ACBAB 6-10: CADAD 判断下面类之间的关系,把相应编号写在括号中( A 聚合 B 继承 C 关联 D 都不是) ( A) 1.大学 学院 ( C ) 6.公共汽车 车站 ( C) 2.学生 课程 ( A) 7.工具条 按钮 ( B ) 3.学生 大一新生 ( D) 8.汽车发动机
11、 汽车车体 ( A) 4.汽车 车门 ( A) 9.员工 公司 ( B) 5.货车 交通工具 ( D) 10.本科生 研究生 四、图形简答题 (含 6 小题,共 30分) 1. “要迭代开发、真是有道理。我决定在我们的项目组实施迭代开发,第一个迭代先做需求,第 二个迭代做分析,第三个迭代做设计” 这段话有什么问题?( 5 分) 2.分析下面的类图,画出新的类图,将原图中的多 对多关系转换为 1:*(一对多)关系。(提示:使用关联类,将学生选课的选课记录作为关联类的类名。注意:要标注关联类的属性)( 5 分) 3.对于高校社团组织管理系统,分析下图“登录方案”的缺点,并给出优化 方案( 5 分)
12、 第 4 页 共 6 页 4.在 OOD 阶段,若选择 Java 语言进行编程,则不支持多继承,针对下面的类图进行调整,给出其中的两种方案。(方案一:不使用继承;方案二:使用单继承)( 4 分) 5.按照如下的文字描述用 UML 绘制相应的模型图(含 2 小题共 5 分) ( 1)飞机有机翼、机身、驾驶舱;( 2 分) ( 2)商场里的电器。 1 台电器可以是 1 台洗衣机,也可以不是; 1 台电器可以是 1 台电视机,也可以不是; 1 台电器可以是 1 台空 调,也可以不是;( 3 分) 6. 如下图所示,其描述的是软件开发过程中类模型设计逐渐完善细化的过程,请指出图中( 1)( 2)( 3
13、)分别是什么级别的类图及这三个级别的类图包含的相关元素?( 6 分) 五、分析设计题 (共 20分) 1、小王是一个爱书之人,家里各类书籍已过千册,而平时又时常有朋友外借,因此需要一个个人图书管理系统。该系统应该能够将书籍的基本信息按计算机类、非计算机类分别建档,实现按书名、作者、类别、出版社等关键字的组合查询功能。在使用该系统录入新书籍时系统会自动按 规则生成书号,可以修改信息,但一经创建就不允许删除。该系统还应该能够对书籍的外借情况进行记录,可对外借情况列表打印。另外,还希望能够对书籍的购买金额、册数按特定时间周期进行统计。 (1)、根据上述对个人图书管理系统需求的文字描述,负责开发此系统
14、的需求分析师小李使用 UML 技术绘制了如下的用例图,请指出用例图中存在的问题并根据上述描述给出最优用例图模型。( 5 分) 第 5 页 共 6 页 (2)、根据上述文字描述书写“新增书籍信息”用例的用例规约。请按照下表的要求项目完成用例规约的书写( 8 分) “新增书籍信息”用例的用例规约表格 1.用例名称 2.简要说明 3.事件流 3.1 基本事件流 1) 2) 3) 4) 5) 6) 3.2 扩展事件流 5a) 5a1) 5a2) 4.前置条件 5.后置条件 ( 3)请使用“名词动词法”对上述文字描述进行分析,给出最终的候选类的列表( 2 分)。并经过关联分析 建模 多重性分析 再建模
15、职责分析这样的 过程后给出最终的类模型图( 5 分)。(过程忽略,只给出类模型图即可)。 第 6 页 共 6 页 四、图形简答题 (含 6 小题,共 30分) 1. ( 5 分)答案:这段话是错误的。所谓的迭代开发是指固定的或是时间定量的软件开发过程,每个迭代包含了需求、设计、实现、测试集成和进一步设计最终集成和系统测试等完整的软件工程的生命周期,所设计的系统是增量式增长的。(评分标准:指出这段话是错误的得 2 分,分析并给出正确的论述的得 3 分) 2. ( 5 分)答案: 评分标准:使用关联类,将学生选课的选课记录作为关联类的类名的得 3 分,要标注关联类的属性得2 分 )如图 1 图 1
16、 图 2 3.( 5 分)分析缺点:原登录方案的缺点是,当协会会长登录后必须出现包含申请协会活动和管理协会的用例的页面,这样的话,当协会会长登录只是想浏览网页或是做其他业务时还需要切换页面。优化方案如下图,将登录用例和其他用例分开比较合适。如图 2. 4. ( 4 分) 答案如图 3 ( 2 分)方案一: ( 2 分)方案二: 5.( 5 分) ( 1) ( 2 分) 第 7 页 共 6 页 ( 2) ( 3 分) 6.( 1)概念级别类图(领域模型)( 1 分) 相关元素( 1 分):类 的主要职责、类间关系、重要的多重性关系、部分业务规则性约束等。(此时类图中有类名、类的部分属性,但不应包
17、含类的操作) ( 2)分析级别类图(分析模型)( 1 分) 相关元素( 1 分):边界类 /控制类 /实体类、从系统实现角度整理的进一步细化了的类的职责,类间关系及业务规则。 ( 3)设计级别类图(设计模型(实现语言级)( 1 分) 相关元素( 1 分):引用对象、值对象、抽象类、接口、设计类(框架与设计模式)等。 五、分析设计题 (共 20分) (1) ( 5 分) 第 8 页 共 6 页 (2) (8 分 ) “新增书籍信息”用例的用例规约表格 1.用例 名称 新增书籍信息( UC01) (1 分 ) 2.简要说明 录入新购书籍信息,并自动存储建档 (1 分 ) 3.事件流 3.1 基本事
18、件流 (3 分 ) 1)图书管理员向系统发出“ 新增书籍信息 ”的请求; 2)系统要求图书管理员选择新增书籍是计算机类还是非计算机类; 3)图书管理员做出选择后,显示相应页面,让图书管理员输入信息,并自动根据书号生成规则生成书号; 4)图书管理员输入书籍的相关信息,包括:书名、作者、出版社、ISBN 号、开本、页数、定价、是否有 cdrom; 5)系统确认输入的书名中未有重名; 6)系统将所输入的信 息存储建档; 3.2 扩展事件流 (1 分 ) 5a)如果输入的书名有重名现象,则显示出重名的书籍,并要求图书管理员选择修改书名或是取消输入; 5a1)图书管理员若选择取消输入,则结束用例,不做存储建档工作; 5a2)图书管理员选择修改书名后,转入 5) 4.前置条件 用户进入图书管理系统 (1 分 ) 5.后置条件 完成新购书籍的存储建档 (1 分 ) (3) 第一问答案:( 2 分) 书籍 计算机类书籍 非计算机类书籍 借阅记录 借阅记录列表 书籍列表 第 9 页 共 6 页 第二问答案:( 5 分) 如下图