学生高级软件工程复习题

更新时间:2023-05-06 22:21:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学生高级软件工程复习题 Revised by BLUE on the afternoon of December 12,2020.

一、选择题:(共10小题,每题1分,共10分)

1.使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是【 B 】。

A)继承 B)多态性 C)约束 D)接口

2.类图应该画在Rose的哪种【 B 】视图中。

A)Use Case View B)Logic View

C)Component View D)Deployment View

3.在UML中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一【 D 】

A)0 … 1 B)0 … * C)1 … * D)* … *

4.关于下面的类图中所表示的关联关系,下列四个选项中说法错误的是:【 D 】

A. 一个学生可以选1到多门课程

B. 一个老师可以教0到多门课程

C. 一门课程只能由一位老师上课

D. 一门课程可以被0到多个学生选课

5.和包相比,子系统具有更丰富的语义,它能够通过接口对外提供行为;下面四个选项中,哪个是包和子系统都具有的特点:【】

A. 一种分组机制

B. 对外提供行为

C. 完全封装实现细节

D. 容易被替换

6.“交通工具”类与“汽车”类之间的关系属于【】。

A)关联关系 B)实现关系 C)依赖关系 D)泛化关系

7.下图中的空心箭头连线表示【】关系

A)泛化 B)包含 C)扩展 D)实现

8.关于通信图的描述,下列哪个不正确【】

A)通信图作为一种交互图,强调的是参加交互的对象的组织;

B)在ROSE工具中,通信图可在顺序图的基础上按“F5”键自动生成;

C)通信图中有消息流的顺序号;

D)通信图是顺序图的一种

9.计算机由中央处理器、内存、软盘、硬盘、显示器、键盘鼠标等组成。

那么Computer类和其他类(CPU、RAM、FloppyDisk、Monitor、Keyboard、mouse)之间的关系是【】。

A)泛化关系B)实现关系C)包含关系D)聚集关系

10.“一个研究生在软件学院做助教(teaching assistant),同时还在校园餐厅打工做收银员(cashier)。也就是说,这个研究生有3种角色:学生、助教、收银员,但在同一时刻只能有一种角色。”

根据上面的陈述,下面哪个设计是最合理的【】

A B

C D

11.下列对系统边界的描述中,不正确的是【】。

A.系统边界是指系统与系统之间的界限。

B.用例图中的系统边界用来表示正在建模系统的边界。

C.边界内表示系统的组成部分,边界外表示系统外部。

D.可以使用Rose绘制用例图中的系统边界。

12.下列关于类方法的声明,不正确的是【】。

A.方法定义了类所许可的行动。

B.从一个类所创建的所有对象可以使用同一组属性和方法。

C.每个方法应该有一个参数。

D.如果在同一个类中定义了类似的操作,则它们的行为应该是类似的。

13.下列说法不正确的是【】。

A)用例和参与者之间的对应关系又叫做通信关联,它表示参与者使用了系统中的哪些用例B)参与者只能是人,不能是子系统、时间等

C)特殊需求指的是一个用例的非功能性需求和设计约束

D)在扩展关系中,基础用例提供了一个或者多个插入点,扩展用例为这些插入点提供了需要插入的行为

14.下列对用例的泛化关系描述不正确的是【】。

A)用例的泛化关系中,所有的子用例都有相似的目的和结构。注意它们是整体上的相似B)用例的泛化关系中,基础用例在目的上可以完全不同,但是它们都有一段相似的行为,它们的相似是部分的相似不是整体的相似

C)用例的泛化关系类似于面向对象中的继承,它把多个子用例中的共性抽象成一个父用例。子用例在继承父用例的基础上可以进行修改

D)用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系

15.构架分析一个很重要的原则是避免包之间的循环依赖,下面四个选项中哪个构架示意图中不存在循环依赖:【】

(A) (B) (C) (D)

16.在某系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;②一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“客户”类的实例,存在【】“订单”类的实例;对应每个“客户”类的实例,存在0个或多个“客户”类的实例。

A)0个B)1个C)1个或多个D)0个或多个

17.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是【】关系。

A)包含(include)B)扩展(extend)

C)分类(classification)D)聚集(aggregation)

18.下列关于接口关系的说法不正确的是【】

A)接口是一种特殊的类

B)所有接口都是有构件型<>的类

C)一个类可以通过实现接口从而支持接口所指定的行为

D)在程序运行的时候,其他对象不仅需要依赖于此接口,还需要知道该类对接口实现的其他信息

19.用例从用户角度描述系统的行为。用例之间可以存在一定的关系。假设在“图书馆管理系统”用例模型中,所有用户使用系统之前必须通过“身份验证”,“身份验证”可以有“密码验证”和“智能卡验证”两种方式,则“身份验证”与“密码验证”和“智能卡验证”之间是

【】关系。

A)关联B)包含C)扩展D)泛化

20.下列关于使用用例的目的,不正确的是【】。

A)确定系统应具备哪些功能

B)为系统的功能提供清晰一致的描述,方便开发人员传递系统的需求

C)为系统验证工作打下基础

D)减少程序员的编码工作量,提高开发效率

21.当使用用例模型对一个工资系统进行建模时,下列哪个选项可以被认定为该系统的角色(Actor):【】

A. 接收工资单的银行

B. 工资系统源代码程序

C. 工资单

D. 工资数据库

22.关于分析和设计区别,下列哪个说法是错误的:【】

A. 分析侧重于问题域,设计侧重于解域

B. 一般情况下,设计模型比分析模型复杂得多

C. 分析解决做什么的问题,设计则解决怎么做的问题

D. 分析模型主要侧重功能需求,而设计模型则要充分考虑各种非功能需求

E. 一般情况下,分析模型不考虑系统结构,而设计模型则对系统结构进行全面设计

23.关于系统架构,下列哪个说法是错误的:【】

A. 软件架构包含着一套关于软件系统组织的重要结论(decision)

B. 软件架构决策是最基础的决策,它的改变会带来巨大的影响

C. 架构为设计提供了一个框架

D. 架构是静态的,而不是动态的

24.关于软件模块分层和分区的注意事项,下列说法中,哪个是错误的:【】

A. 分层时高层模块仅对当前层和紧邻着的下层建立依赖关系,同时尽量避免越层依赖

B. 分层时较高层关注用户需求,受需求影响;而较低层关注实施平台,受环境影响

C. 分层的目标是减低耦合度,并且减轻维护工作量,因此层数越多越好

D. 分区要最大化包内的耦合和内聚,而最小化包之间的耦合

25.在分析阶段,建立了类A到类B的单向关联;在用例设计过程中,出于其它原因将类A封装到子系统S1中,而将类B封装到子系统S2中,此时子系统S1和S2之间:【】

A. 没有任何关系

B. 建立从子系统S1到S2的依赖关系

C. 建立从子系统S1到S2的关联关系

D. 建立从子系统S1到S2的接口之间的依赖关系

E. 建立从子系统S1到S2的接口之间的关联关系

26.关于类的状态建模,下列说法中哪项是正确的:【】

A. 对于所有的设计类都需要进行状态建模

B. 状态建模描述了一个类的对象的发展历史

C. 对于复杂的类,应该利用多个状态图进行状态建模

D. 某一时刻,一个类的对象可以处于多个不同的状态

E. 状态建模过程只会影响类的操作,而不会涉及类的属性

27.已知类A需要类B提供的服务;下列所描述的四种情况中,哪种情况不会把类A和类B之间的关系定义成依赖关系:【】

A. 类A中存在两个操作都需要访问类B的同一个对象

B. 类A的某个操作内部创建了类B的对象,而其它操作均与类B无关

C. 类A的某个操作其参数是类B的对象,而其它操作均与类B无关

D. 类B是一个全局变量

28.Statopia是一家大型公司,由于公司业务的扩大,准备对公司已有的软件系统进行升级,因此委托ObjectR公司进行升级。Statopia公司所使用的系统是很久以前开发的,且不是用OO方法开发的,该系统非常复杂,而且系统使用多线程来处理公司中并发的业务请求。由于原系统开发出来后经过多次修改,最初的系统开发文档已经过时。ObjectR公司建议在对系统升级前和Statopia公司的高层管理人员开一次讨论会,进一步了解业务,以便能更好地了解目前所使用的软件系统。在这次讨论会中,下面几个图中哪个图是最有用的【】A)状态图 B)部署图 C)活动图 D)顺序图

29. 每个HouseKeeper都有一个Manager负责,有的Manager可能负责多个HouseKeeper,有的Manger可能一个HouseKeeper都没有,下面哪幅图适合描述类HouseKeeper和类Manger的关系【】

A.

B.

C.

D.

30. 已知三个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是【】。

A. B

A

C

11

1 1..*

B.

B

A

C

11

1 1..*

C. D.

31.(多选题)UML提供了一系列的图支持面向对象的分析与设计,其中(1)为系统的静态结构视图;(2)对系统的参与者和行为进行组织和建模是非常重要的;(3)和(4)都是描述系统动态视图的交互图,其中(3)描述了以时间顺序组织的对象之间的交互活动,(4)强调收发消息的对象的组织结构。那么,符合(1)-(4)顺序的答案为【】:

A)状态机图B)用例图 C)顺序图

D)部署图E)通信图 F)类图

32. (多选题)在“成绩管理系统”中,“查询成绩”和“网上查询成绩”用例之间的关系、“输入成绩”和“登录系统”用例之间的关系分别为【】;

A)扩展 B)关联C)泛化 D)包含

33. (多选题)在下面的类图中,与卡车有关联的类有:【】

A. 人

B. 轿车

C. 卡车

D. 拖车

34.(多选题)下面是用例间主要关系的有【】

A)扩展B)实现C)泛化D)依赖

E) 包含

35. (多选题)已知某接口A,存在类B实现了该接口所定义的所有操作;对于这两个类之间存在的关系,下列选项中哪些是正确的(为了简化,图中省略了相关的属性和操作):

【】

A. B. C.

D.

36. (多选题)如下图所示,下面哪些陈述是正确的【】

(A) 汽车总是有相同的车身

(B) 一些汽车有备用轮胎

(C) 汽车有一个引擎,引擎在汽车之间不共享

(D) 所有的汽车都有四或五个轮胎

(E) 汽车必须有至少一个司机

(F) 乘客不可能是司机

37. (多选题)“持久性”分析机制其对应的设计机制(具体方法)可能是。提示:不考虑详细实现策略:【】

(A) RDBMS (B) ODBC (C) OODBMS (D) Object Store (E) JDO

38. (多选题)请根据下述描述,不正确的是【】

A)UML2中一共有九种图:它们是用例图、类图、对象图、顺序图、通信图、状态机图、活动图、构件图、部署图

B)用例图是从程序员角度来描述系统的功能

C)类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构

D)活动图和状态机图用来描述系统的动态行为

E)通信图的一个用途是表示一个类操作的实现

39. (多选题)多重继承在概念上是比较直接,也是真实世界的体现;然而在实际使用时却要非常谨慎,这主要是因为多重继承存在很多潜在问题,具体表现为:【】

A. 由于继承多个父类,子类经常存在命名冲突

B. 多重继承增加了系统的复杂程度

C. 有些编程语言不支持多重继承的实现

D. UML语言不支持多重继承的建模

40. (多选题)已知在某用例实现的分析阶段顺序图中存在A、B两个类;而在设计阶段,已经将这两个类打包在子系统S中,此时如何表示其它类与这两个类的交互:【】

A. 直接在序列图中描绘与A、B两个类的交互过程

B. 在序列图中使用子系统S,原来与A、B的交互转化为与S的交互

C. 为子系统S设计接口I,原来与A、B的交互转化为与I的交互

D. 为子系统S设计代理类P,原来与A、B的交互转化为与P的交互

41. (多选题)持久性框架主要解决的核心问题是:【】

A. 将数据封装成对象

B. 将对象间的关系转化成数据表之间的关系

C. 将对象拆分成数据

D. 提高数据库访问效率

42. (多选题)下列选项中,那些是“用例描述”应该包含的内容:【】

A. 概述

B. 基本事件流

C. 可选事件流

D. 对象模型

E. 前置条件

43. (多选题)在下图所示的分层构架中,框架层可以直接使用哪些层次提供的服务:

【】

A. 应用程序层

B. 框架层

C. 基础设施层

D. 复用层

44.在分析阶段,职责分配是至关重要的;现已知实体类A、B都有数据a,则对于操作数据a的职责op应该如何设计:【】

A. 将职责交给类A,对其它需要执行该职责的类增加关系

B. 将职责交给类B,对其它需要执行该职责的类增加关系

C. 将职责放在控制类中,对其它需要执行该职责的类增加关系

D. 将职责放在边界类中,对其它需要执行该职责的类增加关系

E. 创建一个新类,将职责放在这个新类中,对其它需要执行该职责的类增加关系

45.在UML提供的图中,(1)【】用于描述系统与外部系统及用户之间的交互;(2)【】用于按时间顺序描述对象间的交互。

(1)A、用例图 B、类图 C、对象图 D、部署图

(2)A、网络图 B、状态图 C、协作图 D、序列图

二、简答题:(共10小题,每题3分,共30分)

1.在实际业务中,设计元素主要体现在哪几个方面

2.关联中的组合和聚合之间的区别是什么

3.请阐述统一软件过程RUP的核心思想

4.阐述面向对象的基本设计原则包含哪5个原则

5.类的关系主要分为依赖关系、关联关系、聚合关系、组合关系、泛化关系、实现关系(类与接口的关系),请根据“高内聚、低耦合”的设计原则,回答哪一种关系的“耦合度”最低哪一种关系的“耦合度”最高

6.请根据下图,来描述界面对象之间的关联的语义联系

7.看图回答下面问题

类“申请”和类“支付明细”之间是什么关系并用文字性语言描述该类图表达意思。

8.在下面的顺序图图示中标出哪些符号或文字是对象、消息、自反消息、生命线、控制焦点(或激活条)并给出图中的消息名称

9.用例模型分析,根据下图,完成以下6个分析工作

1)上图中的参与者有【】

(a) 1 (b) 2 (c) 3 (d) 4

2)上图中的用例有【】

(a) 1 (b) 2 (c) 3 (d) 4

3)2和3之间是什么关系5和6呢【】

(a) 扩展,包含(b) 包含,扩展

4)5缺少了3仍然是个完整的用例【】

(a) 是的(b) 不是

5)4能够参与2吗1能够参与5吗【】

(a) 可以,不可以 (b) 不可以,可以

6)参与者1和参与者4之间具有什么关系【】

(a)扩展 (b)实现 (c)泛化 (d)依赖 (e)关联

10.面向对象设计的核心思想是什么,并对其进行说明。

11. 某电话公司决定开发一个管理所有客户信息的交互式的网络系统,系统功能需求描述如下:

(1)浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。

(2)登录:电话公司授予每个客户一个账号。拥有授权账号的客户,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。

(3)修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。

(4)删除客户信息:只有公司管理人员才能够删除不再接受公司服务的客户的信息。

在需求分析阶段,采用用例图描述系统功能需求(请注意参与者之间的泛化关系的应用),如下图所示,请指出图中的A,B,C和D分别是哪个用例

客户管理系统用例图

12.在考虑部署环境时,如果需要将某个包的内容部署到多个不同的节点,如何对包进行部署

13.根据给定的设计类类图,请阐述该类图所反映的业务领域知识。

14.下图为用例文档中的事件流描述-用例交互四部曲示意图,请从需求和分析两个阶段根据下图回答问题:

1)需求阶段的用例文档是从用户角度看待用户问题,侧重描述交互的1(动作)、4(响应)步的

事件流,请解释为什么

2)分析阶段和设计阶段则需要从系统角度看待用户问题,重点关注交互的2(验证)、3(处理)

步的事件流,请解释为什么

15. 在子系统设计策略中主要遵循的是面向接口的编程思想——采用大量的接口来解耦子系统与外部的耦合。请问,采取这种策略对设计子系统有何优势

16.UML中类的关系包括关联、聚合、泛化、实现、依赖等几种类型,请将合适的关系填写在下列描述的【】中。

1)在学校中,一个导师可以指导多个研究生,一个研究生可以由多个导师指导,那么导师和研究生之间是【】关系。

2)交通工具与卡车之间是【】关系。

3)公司与部门之间是【】关系。

4)罚款与读者的类型之间是【】关系。

5)参数类及其实例类之间是【】关系。

17.如图所示,请回答:①命名对象aPaymentController:PaymentController必须实现哪些方法②命名对象aReservation:Reservation为什么没有画在顺序图的顶部③参与者有哪几个④该顺序图中有没有“自反消息”

18.顺序图,根据下图,完成以下3个分析工作:

1)指出下图中的参与者【】

A① B② C③ D④

2)哪些是对象【】

A① B②③④ C ④ D⑤⑥⑦⑧⑨⑩

3)Server类调用了CreditService类中的什么操作【】

A⑦ B⑧ C ⑦⑧ D⑧⑨

19.请根据下图回答问题

1)此图反映了参与者之间的什么关系

2)图中的“安全主管”、“经理”和“保安”三个参与者分别可执行的用例有哪些用例

20.一般情况下,每个参与者与用例之间可以定义一个边界类,每个用例可以定义一个控制类,那么,请根据下图需要定义几个边界类和几个控制类并给出具体的边界类和控制类的名称和符号

三、综合设计题:(共60分)

1.下述用例图在分析阶段出现了“四轮马车”的现象,为避免“四轮马车”问题,请给出改进后的用例图

2.用例关系主要有:扩展、包含、泛化三种关系,请根据下述文字描述,画出用例图,并标明用例之间的扩展和包含关系(5分)

业务描述:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。(参与者有司机,用例有旅行、为汽车加油、吃饭)

答:

3.根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。

4.类图语义描述:人由头部、躯干、四肢、内脏等部分组成。它们的生命周期一致,当人出生时,头部、躯干、四肢、内脏同时诞生,当人死亡时,各组成部分同时死去。请根据语义描述的内容适用组合关系画出类图(不用标重数)。

5.鸟是一种动物,大雁、鸭子、企鹅各是一种鸟类,动物需要氧气和水,每个鸟有2支翅膀,雁群由大雁构成,找出上述描述中的实体类,分析其中类与类之间的关系后,画出相应类图。

6. 在下述类图中,是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并手工绘制正确的类图。

7.下图设计是否符合面向对象设计原则应如何改进

8.请问下面包图设计中存在哪些问题给出改进后的包图设计。

9.画出自动车锁系统中,实现“锁车”用例的顺序图,涉及的类对象有车主、车钥匙、汽车。

10.某旅店为了需要开发一个房间的预订系统;通过该系统,服务员可以为旅客预订房间,也可为已经预订房间的旅客取消预订的房间,其用例图如下:

其中“预订房间”用例的用例规约(描述)如下:

用例名称:预订房间

参与者:服务员、旅客(发起人)

描述:服务员利用本用例为客户完成房间预订业务

基本事件流:

1)用例起始于旅客现场需要预定房间

2)服务员按照旅客的要求查询相关的房间信息

3)系统显示所有可预定的房间列表

4)旅客选定所需的房间以及预订的时间和天数

5)系统计算所需的总费用和预付订金金额

6)旅客现场用现金支付所需的订金

7)服务员采集相关的预订信息

8)系统记录预订信息,并显示预订成功的信息,并打印收据

备选事件流:

4)a. 旅客没有选择到满意的房间,则本次预定业务终止

6)a. 旅客金额不足于支付定金,则本次预定业务终止

其它:1). 预定信息包括旅客的基本信息(姓名、地址、联系电话、有效证件号)和本次预订情况(房间号、预订天数、预订时间、预订金额);

2). 房间费用的计算与房间类型、旅客身份、预订时间、预订天数、支付方式等相

关,目前还不太明确。

根据上面的用例图和“预订房间”的用例规约完成①—③题

①在该系统中,实体类有(多选):ACD

A. 旅客

B. 服务员

C. 房间

D. 支付方式

②“预订房间”用例第5步需要计算房间费用,此过程比较复杂(参看用例规约“其它”部分第2条);因此在用例分析阶段,这项职责应该由谁来履行(多选):

A. 预订房间控制类

B. 房间实体类

C. 新增一个计算房间费用的控制类

D. 新增一个存储房间费用的实体类

③预订信息实体类不应该包含的属性有:A

A. 旅客电话

B. 预订天数

C. 预订时间

D. 预订金额

16.下面模型为“学生选课系统”的部署视图:

根据这个模型,完成①—④题

①该系统有多少个处理器节点:C

A. 1

B. 2

C. 4

D. 3

E. 无法确定

②部署图中的“连接”有(多选):BC

A. Desktop PC

B. JDBC

C. Campus LAN

D. Billing System

③具有DBMS功能,且能够完成“持久性”设计机制的处理器节点有:(多选)BD

A. Desktop PC

B. Course Catalog

C. Registration Server

D. Billing System

④根据业务需要,Desktop PC需要新增一台打印机,请在图中增加一台“打印机”设备节点符号

17. 数据库设计时需要将对象模型转换为数据模型,请根据关联关系的映射规则将下列给出的类图中的“订单项”类映射为数据库基表“订单项”,并画出映射后的“订单项”基表定义图,并标明此基表的“主键(PK)和外键(FK)”。提示:关联关系的映射规则为两个持久性对象间的关联关系表现为所关联对象的外键。

18.现有如下图所示的咖啡机的抽象类,请根据给定的抽象类设计一个“MarkⅣ”型号的具体咖啡机的类图。提示:可根据教材中讲解的依赖倒置原则来实现,注意抽象类图中采用的是《abstract》抽象类,而不是《interface》。答案可直接在下图中添加。

19、请根据下图进行关联类的设计,画出改进后的设计类类图。提示:面向对象的编程语言不支持关联类的实现,设计时需要根据业务规则将关联类直接定义为普通的类,从而将一个多对多的关系转变为两个一对多的关系

20.数据库设计中,数据模型不支持直接方式的泛化(继承)关系建模。请将下图的对象模型转换为数据模型,画出表、表与表之间的关系示意图。注意泛化关系的映射,可采用“超类子类都映射成表,超类主键作为所有子类的主键”的方法。

21.某图书管理系统的需求要求如下。

每个学生在系统中必须先开设一个借书账户,然后才可以进行借还书。学生在进行借书或还书时,需要通过图书管理员进行操作。借书时要记录借书人姓名、账户、图书条形码、借书日期(借书记录)。还书时要记录借书人姓名、账户、图书条形码、还书日期(还书记录)。如果是借书,则系统要判断该账户可借数目是否超出。若是,则不允许借书。如果是还书,则系统要判断该图书借阅时间是否超过预定期限。若是,则追加罚款(罚款记录)。

根据基本功能要求,分别回答下列问题。

(1)分析图书管理系统中的实体类,画出反映实体类之间关系的类图,并标明关系的多重性。(2)、根据还书业务活动的描述,画出还书业务的活动图。

(3)根据给定的“借书”顺序图,分析“账户实体类”和“借书信息实体类”具有的初步职责(操作),请分别列出这两个实体类有哪些“操作”

案例分析,回答问题(参考依赖倒置原则)

PizzaBase饭馆想把顾客预定比萨的过程自动化。每张桌子都配备一个触摸式屏幕,顾客可以用它浏览所供应的比萨,并点菜。

该饭馆供应两种基本类型的比萨:自助类只有西红柿酱,顾客可以选择任意数量的配料,每种配料的价格都是固定的。预制类有几个小类,每个小类都有固定的配料。每种比萨都可以预定酥脆型和松软型,有三种规格:6英寸、9英寸和12英寸。

顾客还可以预定饮料,例如提供两种基本类型的饮料:可乐类和柠檬类,每种饮料都有大杯和小杯两种规格。

顾客确认了预定的食物后,就显示总价。之后,屏幕显示食物的准备和烹饪进度。在顾客吃完后,可以以方便的方式付费。提示:顾客进PizzaBase饭馆的目的是为了吃比萨。

1)在PizzaBase案例分析中,下列哪些选项是业务用例(可多选)【】

(A) 饭馆准备食物 (B)顾客结账 (C)顾客选择比萨

(D)顾客在屏幕上选择饮料 (E)顾客向服务员进行咨询

2)在PizzaBase案例分析中,在分析阶段的属性列表是哪一个【】

(A) 可乐、比萨类型、价格、规格、柠檬、付费方式

(B) 比萨类型、价格、品种、规格、进度、口味

(C) 口味、品种、付费方式、总价、显示、肉类、西红柿

(D) 进度、品种、口味、价格、触摸式屏幕、规格、饮料

3)如图所示,根据面向对象的依赖倒置原则,从PizzaBase饭馆的角度判断哪个图是PizzaBase饭馆中比萨的最佳模型【】

(A) 图1 (B) 图2 (C) 图3

4)在PizzaBase案例分析中,请根据上题的选择结果,判断分析类最有可能是哪一个列表【】

(A) Payment, Order, Drink, Topping, Pizza, Restaurant, Base, Sauce

(B) PizzaBase, Cola, Restaurant, Lemonade, Do-it-yourself, Prefab, Table, Order

(C) Restaurant, Pizza, Topping, Display, Payment, Order, Touch

(D) Customer, Table, Pizza, Topping, Drink, Restaurant, Order

23.画出求职招聘网需求的总用例图,提示:求职者和招聘者都是“用户”参与者,每个用户使用系统的前置条件是“登录系统”、所有用户共性用例都具有“修改密码”的功能,注意使用参与者之间的泛化关系,再分别考虑每个参与者应该完成的工作职责。其中求职者可以完成“发布求职意向”、“投递简历”、“更新个人信息”、“搜索招聘信息”、“修改密码”;招聘者可以完成“发布招聘信息”、“浏览所获简历”、“回复求职者”、“搜索应聘信息”、“修改密码”;管理员可以“管理求职用户”、“管理招聘用户”、“修改密码”。

软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分为群主和群普通成员、群管理员,请用类的继承关系描述QQ用户群。

25.现拟建立一个网上售书系统。客户对网站的描述如下,要求网站必须具备以下的功能。

顾客可注册个人信息和申请个人账号。

顾客可浏览书籍信息(包括作者,出版社,目录,摘要,价格,库存情况等),可按作者和书名分别进行搜索。

顾客可把书籍加入购物车,也可删除购物车中书籍。

购物车物品确认后顾客可提交购物信息,进行在线支付(暂时只提供银行卡支付一种手段),并可在订单物品被发出之前取消或再编辑订单。

顾客可查看历史交易记录。

网站设有管理员和工作人员。其中网站管理员负责管理客户信息,网站的维护,以及网站信息的更新和管理。工作人员负责处理客户订单,并通知发货单位(可能是网站仓库,也可能是其他供应商)发送货物。

销售货品都需进行记录,管理员可查询所有记录。

客户可选择打印电子收据。

1)试找出系统中的类,确定各个类的属性和类与类之间的关系,并画出类图。

2)根据上述业务描述捕获系统的需求,根据每个参与者所完成的行为设计用例模型,并画出用例图。注意用例关系(扩展、包含、泛化)的利用

26. 网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。“远程网络教学系统”的功能需求如下:

学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。

教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。

系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。

根据上述功能需求完成下列工作:

1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。

2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。

27.如下图所示的设计图,员工根据工种可以分为全职(FullTime)和兼职(PartTime)两种,根据工作项目可以分为软件员工和硬件员工。在初始设计中,整个类图层次结构缺乏灵活性,如果需要增加一个新的工作项目,则在全职员工和兼职员工下都要增加子类,提高了工作量。1)如何修改原始设计以便更轻松的增加工作项目或者新的工种2)画出改进后的类图。

28.阅读下面关于“网上选课系统”的陈述:

1、某网上选课系统的需求概述如下:

(1)系统采用B/S模式;

(2)该系统供学期开课前学生网上选课之用;

(3)课程的管理,如“添加课程”、“删除课程”等都由系统管理员来负责;

(4)学生可使用该系统完成“选择课程”等功能;

(5)任课教师可以使用该系统查看选课的学生。

2、现有关于该系统模型的部分内容:

(1)系统中的参与者(Actor)有4类:管理员(Administrator)、学生(Student)、教师(Teacher)及数据库(Database)

(2)为该系统设计的类(class)共有8个:

系统管理员类(Administrator),对现实世界系统管理员的抽象;

学生类(Student),对现实世界中与该系统相关的学生的抽象;

教师类(Teacher),对现实世界中与该系统相关的教师的抽象;

People类,前3个类的父类

数据库类(Database),提供和数据库相关的功能,对数据库中的相关数据进行操作;

课程类(Course),对现实世界中与该系统相关课程的抽象;

界面对象类(FormObject),用于生成系统的界面对象

控制对象类(ControlObject),负责系统的业务逻辑功能,如判断用户是否合法、添加的课程是否合理等;

3、根据以上的陈述完成以下题目:

1)、分析该系统应该存在哪些用例

2)、画出网上选课系统的用例图。

3)、下面是“添加课程”用例的事件流,利用活动图为其建模,提示:活动图的“泳道”分别为“用户界面、业务逻辑、数据库”。

(1) 管理员选择进入管理界面,用例开始。

(2) 系统提示输入管理员密码。

(3) 管理员输入密码。

(4) 系统验证密码。

A1:密码错误

(5) 进入管理界面,系统显示目前所建立的全部课程信息。

(6) 管理员选择添加课程。

(7) 系统提示输入新课程信息。

(8) 管理员输入信息。

(9) 系统验证是否和已有课程冲突。

A2:有冲突

(10) 系统添加新课程,提示课程添加成功。

(11) 系统重新进入管理主界面,显示所有课程。

(12) 用例结束。

A1:密码错误

(1) 系统提示再次输入。

(2) 用户确认。

(3) 三次错误,拒绝再次访问。

(4) 否则进入添加课程事件流第5步。

A2:有冲突

(1) 系统提示冲突,显示冲突课程信息。

(2) 用户重新输入。

(3) 继续验证直到无冲突。

(4) 进入添加课程事件流第10步。

4)、画出网上选课系统的类图。

5)、画出网上选课系统的“添加课程”用例的顺序图。

本文来源:https://www.bwwdw.com/article/chhe.html

Top