1、中级软件设计师下午试题-75 及答案解析(总分:270.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:60.00)B试题 1试题 4 是必答题/B阅读以下关于住宅安全系统的技术说明,根据要求回答问题 1问题 4。说明基于某嵌入式系统的住宅安全系统可使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警和水灾等。房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个 ID 编号和类型,并设置房主
2、密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。住宅安全系统的顶层数据流图如图 6-13 所示,图 6-14 是住宅安全系统的第 0 层数据流图,图 6-15 是对住宅安全系统的第 0 层数据流图中加工 4 的细化图。(分数:60.00)(1).问题 1 需求分析是一个包括创建和维持系统需求文档所必需的一切活动的过程。一个通用的需求分析过程模型如图 6-16 所示,请从以下供选择的答案中选择合适的内容填写到图 6-16 中相应的位置中。 供选择的答案 A用户需求和功能需求 B
3、需求描述 C需求导出和分析 D需求有效性验证(分数:15.00)_(2).问题 2请将住宅安全系统的顶层数据流图(见图 6-13)中(A)(D)空缺处,以及第 0 层数据流图(见图 6-14)中(E)空缺处的内容填写完整。(分数:15.00)_(3).问题 3将图 6-15 所示的加工 4 的细化数据流图中的数据流补充完整,请按以下答题格式示例的要求回答问题。答题格式示例数据流的起点(数据流名称)数据流名称终点或数据流的起点(数据流名称)(分数:15.00)_(4).问题 4修改在住宅安全系统第 0 层数据流图(见图 6-14)中的数据存储“配置信息”,将会影响第 0 层数据流图中的哪些加工?
4、(分数:15.00)_二、B试题二/B(总题数:1,分数:45.00)阅读下列某网上订书管理系统的说明和 E-R 图,根据要求回答问题 1问题 3。说明某网上订书系统的 E-R 图(已消除了不必要的冗余)如图 6-17 所示(图中没有标出主码)。图中实体的说明如表 6-10 所示,相关属性说明如表 6-11 所示。(分数:45.00)(1).问题 1根据图 6-17 所示的 E-R 图中给出的词汇,按照“关系模式名(属性,属性,)”的格式,将此 E-R 图转换为 4 个关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。(分数:15.00)_(2).问题 2创建 C
5、ustomers 表时,cid 使用 INTEGER 数据类型,cname 使用 CHAR(80)数据类型,address 使用 CHAR(200)数据类型,cardnum 使用 CHAR(16)数据类型并且要求此列值唯一。请在下列用于创建表 Customers 的 SQL 语句空缺处填入正确的内容。(分数:15.00)_(3).问题 3以下的 SQL 语句是书店用于查询“所有订购了 bid 为123-456图书的用户订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。(分数:15.00)_三、B试题三/B(总题数:1,分数:60.00)阅读以下说明和图,根据要求回答问题 1问题 4。
6、说明某电子商务公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,该公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category)不同,促销的方式和内容也会有所不同。注册商家可发布促销信息。商家首先要在自己所销售商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销 (Promot
7、ion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。系统采用面向对象方法开发,系统中的类及类之间的关系用 UML 类图表示,如图 6-18 所示是该系统类图中的一部分;系统的动态行为采用 UML 序列图表示,如图 6-19 所示是发布促销的序列图。(分数:60.00)(1).问题 1识别关联的多重度是面向对象建模过程中的一个重要步骤。请根据说明中给出的描述,将如图 6-
8、18 所示中(1)(6)空缺处的内容填写完整。(分数:15.00)_(2).问题 2请从表 6-12 中选择相应的方法名,填写到图 6-19 所示中(7)(10)空缺处的对应位置中。 B表 6-12 可选消息列表/BB功能描述/B B方法名/B向促销订单中添加所选的商品 buyCommodities向促销中添加要促销的商品 addCommodities查找某个促销的所有促销订单信息列表 getPromotionOrders生成商品信息 createCommodity查找某个分类中某商家的所有商品信息列表 getCommodities生成促销信息 createPromotion生成促销订单信息
9、createPOrder查找某个分类的所有促销信息列表 getCategoryPromotion查找某商家所销售的所有分类列表 getCategories查找某个促销所涉及的所有商品信息列表 getPromofionCommodities(分数:15.00)_(3).问题 3该电子商务公司还对外开放一项出租图书和唱碟的业务。由于业务需求,该公司委托软件开发公司 A 开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息和用户租借信息等。A 公司决定采用面向对象的分析和设计方法开发此系统。某类图书或唱碟被借阅时应记录的信息如表 6-13 所示,如图6-20 所示描述了系统定义的两个
10、类 Book 和 CD,分别表示图书和唱碟的信息。 B表 6-13 图书/唱碟借阅情况记录表/BB图书/唱碟 名称:_/BB借出时间/B B归还时间/B B用户/B经过进一步分析,设计人员新定义一个类 Items_on_ loan,以表示类 Book 和CD 的共有属性和方法(要注意,不同名称的属性和方法表示不同的含义,如 CD中的 composer 与 Book 中的 author 无任何关系)。同时为了记录每种图书或唱碟的历史记录,引入类 CirculationHistory,类中存储的信息是如图 1-1 所示中所表示的内容。请采用 UML 表示法将类 Book、类 CD、类 Items_
11、on_loan 和类Circulation History 之间的关系表示出来。(分数:15.00)_(4).问题 4 现需了解十大最畅销(借出次数最多)图书或唱碟。为此引入类 TemPopulate 以存储所有十大畅销图书或 CD 的名称及其被借出的次数。利用顺序图描述某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互,通常在系统一次运行过程中,应有U (11) /U个 TenPopulate 实例对象最合适,一个 TenPopulate 类实例对象最多需要和U (12) /U个 Items_on_loan 实例对象交互。供选择的答案 (11) A1 B2 C10 Dn(图书和唱
12、碟种类数) (12) A2 B10 C20 Dn(图书和唱碟种类数)(分数:15.00)_四、B试题四/B(总题数:1,分数:60.00)阅读以下某旅馆客房管理系统的算法说明和程序流程图,根据要求回答问题 1问题 4。算法说明某旅馆共有 N 间客房。每间客房的房间号、房间等级、床位数及占用状态分别存放在数组ROOM、RANK、NBED 和 STATUS 中。房间等级值为 1、2 或 3。房间的状态值为 0(空闲)或 1(占用)。客房是以房间(不是床位)为单位出租的。程序流程图(见图 6-21)所反映的算法是,根据几个散客的要求预订一间空房。程序的输入为:人数 M,房间等级要求 R(R=0 表示
13、任意等级都可以)。程序的输出为:所有可供选择的房间号。(分数:60.00)(1).问题 1在程序流程图(见图 6-21)中,若要某个房间 I 被选中,则需要满足什么条件?(分数:15.00)_(2).问题 2假设该旅馆当前各个房间的情况如表 6-14 所示。 B表 6-14 某旅馆房间的情况表/BB序号i/BBROOM/BBRANK/BBNBED/BBSTATUS/B1 1101 2 6 02 1102 3 6 13 1201 1 2 04 1202 3 3 05 1301 1 2 16 1302 2 3 0当输入 M=3,R=0 时,该算法的输出是U (1) /U。当输入 M=2,R=1 时
14、,该算法的输出是U (2) /U。(分数:15.00)_(3).问题 3如果等级为 r 的房间每人每天的住宿费为 RATE(r),其中 RATE 为数组,则为使该算法在输出每个候选的房间号 RM(J)后,再输出这批散客每天所需的总住宿费DAYRENT(J),在程序流程图(见图 6-21)中“ROOM(I)RM(J)”(b 所指向的方框中)之后应增加的处理语句是U (3) /U。(分数:15.00)_(4).问题 4如果限制该算法最多输出 K 个可供选择的房间号,则在程序流程图(见图 6-21)中“IN”(a 所指向的判断框中)应修改为U (4) /U。(分数:15.00)_五、B试题五/B(总
15、题数:1,分数:15.00)1.说明 函数 int Toplogical(LinkedWDigraphG)的功能是对图 G 中的顶点进行拓扑排序,并返回关键路径的长度。其中,图 G 表示一个具有 n 个顶点的 AOE-网,图中顶点从 1n 依次编号,图 G 的存储结构采用邻接表表示,其数据类型定义如下。 例如,某 AOE-网如图 6-22 所示,其邻接表存储结构如图 6-23 所示。 函数 (分数:15.00)_六、B试题六/B(总题数:1,分数:15.00)2.说明 使用 MFC 的 CSocket 类在两个或者多个应用程序之间建立通信。服务器应用程序先创建一个特殊的 Socket,用于监听
16、客户应用程序的连接请求,然后再创建新的 Socket 来完成连接。从客户和服务器两端读取该连接,直到一个需要处理的报文到来为止。以下 C+程序将封装这些功能,这样所有应用程序需要完成的只是创建一个 Socket 连接,然后处理到来的报文。这将包括一个新的服务器 Socket 类、新客户端 Socket 类和新的报文队列类。 创建新的服务器 Socket 类程序的框架如下。第 1 个函数 ListenEx()用于通知 Socket 开始监听客户应用程序。第 2 个函数 OnAccept()在接收到连接请求时被调用。在其中创建新的 Socket,并立刻设置它开始从客户应用程序读取报文,这些是通过调
17、用第 3 个函数 RecvThread()来完成的,该函数位于它自己的线程中。 C+程序 ListenEX()函数 (分数:15.00)_七、B试题七/B(总题数:1,分数:15.00)3.说明 用创建 Thread 类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”,如果没有参数输入,显示“请输入一个命令行参数”。 Java 程序 (分数:15.00)_中级软件设计师下午试题-75 答案解析(总分:270.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:60.00)B试题 1试题 4 是必答题/B阅读以下关于住宅安全系统的技术
18、说明,根据要求回答问题 1问题 4。说明基于某嵌入式系统的住宅安全系统可使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警和水灾等。房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个 ID 编号和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。住宅安全系统的顶层数据流图
19、如图 6-13 所示,图 6-14 是住宅安全系统的第 0 层数据流图,图 6-15 是对住宅安全系统的第 0 层数据流图中加工 4 的细化图。(分数:60.00)(1).问题 1 需求分析是一个包括创建和维持系统需求文档所必需的一切活动的过程。一个通用的需求分析过程模型如图 6-16 所示,请从以下供选择的答案中选择合适的内容填写到图 6-16 中相应的位置中。 供选择的答案 A用户需求和功能需求 B需求描述 C需求导出和分析 D需求有效性验证(分数:15.00)_正确答案:()解析:问题 1这是一道要求读者掌握需求分析过程模型的理解识记题。本题所涉及的知识点如下。需求分析是一个包括创建和维
20、持系统需求文档所必需的一切活动的过程。它通常包括 5 个通用的活动:系统可行性研究、需求导出和分析、需求描述和文档编写、需求有效性验证及需求管理。每个通用的活动的相关说明见表 6-15。 B表 6-15 需求分析过程各活动说明表/BB活动名称/B B说明/B可行性研究 指明现有软硬件技术能否实现用户对新系统的要求,从业务角度来决定 系统开发是否划算及在预算范围内能否完成开发任务需求导出和分析通过对现有系统分析、与潜在用户和购买者讨论、进行任务分析等导出系统需求的过程,也可能需要开发一个或多个不同的系统模型和原型,来帮助分析员了解所要描述的系统需求有效性验证检查需求的可实现性、一致性和完备性,以
21、发现需求文档中可能存在的错误并给予改正需求描述把在分析活动中收集到的信息以文档的形式确定下来,包括两类需求:用户需求,即从客户和最终用户角度对系统需求的抽象描述;系统需求,即对系统要提供的功能的详尽描述需求有效性验证检查需求的可实现性、一致性和完备性,以发现需求文档中可能存在的错误并给予改正需求管理 用于获取、组织和记录系统需求并使客户和项目团队在系统变更需求上 达成并保持一致本试题完整的需求分析过程模型如图 6-24 所示,图中说明了这些活动之间的关系,也说明了在需求分析过程的每个阶段将产生哪些文档。(2).问题 2请将住宅安全系统的顶层数据流图(见图 6-13)中(A)(D)空缺处,以及第
22、 0 层数据流图(见图 6-14)中(E)空缺处的内容填写完整。(分数:15.00)_正确答案:()解析:问题 2 这是一道要求读者掌握分层数据流图中数据流的平衡原则的综合分析题。本题的解答思路如下。 为了表达复杂问题的处理过程,用一个数据流图往往不够。一般是按问题的层次结构进行逐步分解,并以分层的数据流图来反映这种结构关系。通常根据层次关系,将数据流图分为顶层数据流图、中间层数据流图和底层数据流图。把整个软件系统看成是一个大的加工,然后根据系统从哪些外部实体接收数据流,以及系统发送数据流到哪些外部实体,就可以画出系统的输入偷出图,即顶层数据流图。 中间层数据流图是将父层数据流图中的某个加工进
23、行细化,而它的某些加工还可以进一步细化,这样就形成了一层层的子加工。除顶层图外,其余分层数据流图从 0 开始编号,例如,0 层图的加工号可以是“1,2,3,”,其子图号可能是“1.1,1.2,1.3,”,再下一层的子图可能是“1.1.1,1.1.2,1.1.3,”,依次类推。 本题的图 6-13 并不是完整的顶层数据流图,解答时需通过题干的说明信息及第 0 层数据流图来分析顶层图并解答问题。 题干中提及的关键信息“房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等)”,在顶层数据流图(图 6-13)中这 3 个名词并没有完整地出现,仅出现了“报警器”一词。在图 6-13 中“电
24、视机”实际上起题干中关键信息“显示器”的作用。结合图 6-13 中“传感器状态”这一输出数据流信息可判断出,(D)空缺处应填入“传感器”这一外部实体。 由于子层数据流图是其父数据流图中某一部分内部的细节图(或加工图),因此子层数据流图的输入/输出数据流应该保持一致,即在上一级数据流图中有几条数据流,其子图也一定有同样的数据流,而且它们的输送方向是一致的。 在住宅安全系统第 0 层数据流图(见图 6-14)中,加工 5(信息及状态显示)的输出数据流为“TV 信号”,其中“TV”是日常生活中电视机的英文缩写。在图 6-13 顶层数据流图中有一外部实体“录像机、电视机”,因此可推理出图 6-13 中
25、(B)空缺处的数据流就是“TV信号”。 根据数据流的方向可知,在图 6-13 顶层数据流图中(C)空缺处的数据流属于输出数据流。在第 0 层数据流图(见图 6-14)中,共有“TV 信号”、“电话拨号”、“告警类型”和“显示信息”4 个输出数据流。在图 6-13 顶层数据流图中现已存在“TV 信号”、“电话拨号”和“显示信息”3 个输出数据流,因此可推理出图 6-13 中流向“报警器”外部实体的数据流是“告警类型”,即(C)空缺处填写的数据流应是“告警类型”。 根据数据流的方向可知,在图 6-14 所示的第 0 层数据流图中(E)空缺处的数据流属于输入数据流,且与“传感器监控”这一加工处理相关
26、。在图 6-13 顶层数据流图中,外部实体“传感器”流入“住宅安全系统”的输入数据流是“传感器状态”,由此可推理出图 6-13 中(E)空缺处的数据流就是“传感器状态”。 同理,根据数据流的方向可知,在图 6-13 所示的顶层数据流图中(A)空缺处的数据流属于输入数据流。在第 0 层数据流图(见图 6-14)中流入“住宅安全系统”加工的输入数据流共有 4 个,分别是“用户配置请求”、“开始/停止”、“用户密码”和“传感器状态”。在图 6-13 所示的顶层数据流图中现已存在“开始/停止”、“用户密码”和“传感器状态”3 个输出数据流,因此可推理出图 6-13 中由“控制面板”外部实体流出的数据流
27、是“用户配置请求”,即(A)空缺处填写的数据流应是“用户配置请求”。 将以上分析结果归纳整理,完整的住宅安全系统顶层数据流图如图 6-25 所示。 (3).问题 3将图 6-15 所示的加工 4 的细化数据流图中的数据流补充完整,请按以下答题格式示例的要求回答问题。答题格式示例数据流的起点(数据流名称)数据流名称终点或数据流的起点(数据流名称)(分数:15.00)_正确答案:()解析:问题 3 本试题的解答思路也是根据数据流图的数据流平衡原则进行分析的,详细的解答步骤如下。 由于子图是其父图中某一部分内部的细节图(加工图),所以子图的输入/输出数据流应该保持一致。其含义是:在上一级中有几条数据
28、流,其子图也一定有同样的数据流,而且它们的输送方向是一致的。 在第 0 层数据流图(见图 6-14)中,“4 传感器监控”加工模块有 1 条输入数据流“传感器状态”和 3 条输出数据流“电话拨号”、“传感器数据”和“告警类型”。 在图 6-15 所示的加工 4 的细化数据流图中,只有输出数据流“告警类型”,因此,该加工图缺少了“传感器状态”、“电话拨号”和“传感器数据”这 3 条数据流。 由于加工 4 的细化数据流图(见图 6-15)的内部结构、数据流向已清晰地给出,因此只需将“传感器状态”、“电话拨号”和“传感器数据”这 3 条数据流进行对号入座。 根据常识可知,“电话拨号”是加工处理“4.
29、5 拨号”的输出数据流;“传感器状态”是“4.4 读传感器”处理的输入数据流。 “传感器数据”应该是经“4.1 格式显示”处理过的数据流,所以作为“4.1 格式显示”的输出数据流。其中,“格式显示”处理是指将准备输出显示的传感器数据处理成第 0 层数据流图(见图 6-14)中“5 信息与状态显示”能够接受的传感器数据格式。 按照试题中答题格式示例的要求,将以上分析结果整理如下: 4.5 拨号(电话拨号) (传感器状态)4.4 读传感器 4.1 格式显示(传感器数据) 另外,将以上分析结果归纳整理,完整的加工 4 的细化数据流图如图 6-26 所示。 (4).问题 4修改在住宅安全系统第 0 层
30、数据流图(见图 6-14)中的数据存储“配置信息”,将会影响第 0 层数据流图中的哪些加工?(分数:15.00)_正确答案:()解析:问题 4 这是一道要求读者掌握数据流图(DFD 图)中数据存储作用的综合分析题。本题的解答思路如下。 在数据流图(DFD 图)中,数据存储是指逻辑上要求存储的数据,它不考虑具体数据的存储介质和技术手段。 在图 6-15 所示的加工 4 的细化数据流图中,“4.2 评估设置”这一加工处理用到了配置信息文件,由此可知,在第 0 层数据流图(见图 6-14)中“4 传感器监控”加工将用到配置信息文件,即“4 传感器监控”加工处理与数据存储“配置信息”有关联。 由题干关
31、键信息“房主可以在系统运行时修改配置”可知,此处的“修改配置”结果将存储到“配置信息”这一数据存储中。在第。层数据流图(见图 6-14)中,“3 密码处理”是用于检验密码的,但是它只有一个输出数据流“检验 ID 信息”到“信息及状态显示”加工处理,并没有反馈回来的数据流,所以“检验 ID 信息”是已经验证通过的用户的信息,用户输入密码应是在“3 密码处理”这个环节中进行验证的。如果密码验证是在“5 信息及状态显示”中进行的,那么从“5 信息及状态显示”应有一条不合法的用户数据流反馈到“密码处理”。可见,“密码处理”要用到数据存储“配置信息”中的用户名和密码。 由以上分析可知,在第 0 层数据流
32、图(见图 6-14)中,由于输出到加工处理“5 信息及状态显示”的数据流是用来“检验 ID 信息”的,因此,“5 信息及状态显示”加工处理也将与“配置信息”这一数据存储相关联。二、B试题二/B(总题数:1,分数:45.00)阅读下列某网上订书管理系统的说明和 E-R 图,根据要求回答问题 1问题 3。说明某网上订书系统的 E-R 图(已消除了不必要的冗余)如图 6-17 所示(图中没有标出主码)。图中实体的说明如表 6-10 所示,相关属性说明如表 6-11 所示。(分数:45.00)(1).问题 1根据图 6-17 所示的 E-R 图中给出的词汇,按照“关系模式名(属性,属性,)”的格式,将
33、此 E-R 图转换为 4 个关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。(分数:15.00)_正确答案:()解析:问题 1 题干已经指明转换为 4 个关系模式,根据 E-R 图和说明可以先得出 Books、Customers 和orders 三个关系模式。由于一个客户可以填写多张购书单,而一张购书单仅仅属于一个客户,因此PlaceOrder 不需要单独成为一个关系模式,而购书单和书之间是多对多的关系,所以 OrderList 需要单独一个关系模式。图 6-17 所示的 E-R 图转换为 4 个关系模式及其主键、外键如下。 1Customers(cid,cna
34、me,adderss,cardnum) 主键为:cid 2Orders(ordemum,orderdate,cid) 主键为:ordemum;外键为:cid 3Books(bid,title,author,qty_in_stock,year_publicshed,price) 主键为:bid 4Orderlist(bid,ordernum,qty,ship_date) 主键为:(bid,ordemum),外键为 bid、ordernum(2).问题 2创建 Customers 表时,cid 使用 INTEGER 数据类型,cname 使用 CHAR(80)数据类型,address 使用 CHA
35、R(200)数据类型,cardnum 使用 CHAR(16)数据类型并且要求此列值唯一。请在下列用于创建表 Customers 的 SQL 语句空缺处填入正确的内容。(分数:15.00)_正确答案:()解析:问题 2 依题意分析,对于关系模式 Customers 的主键为 cid,而 cardnum 列值唯一,因此(1)、(2)空缺处应分别在空缺处填入 Primary Key cid 和 UNIQUE cardnum。(3).问题 3以下的 SQL 语句是书店用于查询“所有订购了 bid 为123-456图书的用户订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。(分数:15.00)
36、_正确答案:()解析:问题 3 依题意分析,最内层的 SQL 语句查找订购了 123-456 的客户 cid,ordernum 只出现在Orderlist 和 order 中,因此(5)空缺处应填写 C.ordernum,(4)空缺处应该填写 C。因为要求寻找这些用户还订购哪些其他书籍,所以(3)空缺处应填写 in。三、B试题三/B(总题数:1,分数:60.00)阅读以下说明和图,根据要求回答问题 1问题 4。说明某电子商务公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,该公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商
37、品的分类(Category)不同,促销的方式和内容也会有所不同。注册商家可发布促销信息。商家首先要在自己所销售商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销 (Promotion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统,
38、确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。系统采用面向对象方法开发,系统中的类及类之间的关系用 UML 类图表示,如图 6-18 所示是该系统类图中的一部分;系统的动态行为采用 UML 序列图表示,如图 6-19 所示是发布促销的序列图。(分数:60.00)(1).问题 1识别关联的多重度是面向对象建模过程中的一个重要步骤。请根据说明中给出的描述,将如图 6-18 所示中(1)(6)空缺处的内容填写完整。(分数:15.00)_正确答案:()解析:问题 1 这是一道要求读者在充分理解需求的基础上,补充 UML 类图中的类间关系的多样性描述的综合
39、分析题。本题的解答思路如下。 (1)关联表示了对象间的结构关系,它暗示两个类在概念上位于相同的级别。在 UML 类图中,符号“(2).问题 2请从表 6-12 中选择相应的方法名,填写到图 6-19 所示中(7)(10)空缺处的对应位置中。 B表 6-12 可选消息列表/BB功能描述/B B方法名/B向促销订单中添加所选的商品 buyCommodities向促销中添加要促销的商品 addCommodities查找某个促销的所有促销订单信息列表 getPromotionOrders生成商品信息 createCommodity查找某个分类中某商家的所有商品信息列表 getCommodities生成
40、促销信息 createPromotion生成促销订单信息 createPOrder查找某个分类的所有促销信息列表 getCategoryPromotion查找某商家所销售的所有分类列表 getCategories查找某个促销所涉及的所有商品信息列表 getPromofionCommodities(分数:15.00)_正确答案:()解析:问题 2 这是一道要求读者用 UML 序列图对系统的行为进行分析和建模的综合分析题。本题的解答思路如下。 序列图描述对象间的消息交互,刻画系统的行为。根据题目的描述:商家(Businessman)在发布促销信息时,要先浏览自己所销售商品的分类及分类中的具体商品信息;商家通过(7)空缺处所填入的 getCategories 消息将浏览请求提交给类 CatagoryManager 实例,再由类 Catagor