中级软件设计师2008下半年下午试题试题一阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。【说明】某营销企业拟开发一个销售管理系统,其主要功能描述如下:1.接受客户订单,检查库存货物是否满足订单要求。如果满足,进行供货处理:修改库存记录文件,给库房开具备货单并且保留客户订单至订单记录文件;否则进行缺货处理:将缺货订单录入缺货记录文件。2.根据缺货记录文件进行缺货统计,将缺货通知单发给采购部门。3.根据采购部门提供的进货通知单进行进货处理:修改库存记录文件,并从缺货记录文件中取出缺货订单进行供货处理。4.根据保留的客户订单进行销售统计,打印统计报表给经理。现采用结构化方法对销售管理系统进行分析与设计,获得如下图所示的顶层数据流图和0层数据流图。1.【问题1】使用说明中的词语,给出上述顶层数据流图中的外部实体E1~E4的名称。这道题您没有回答答案:E1:客户E2:采购部门E3:库房E4:经理2.【问题2】使用说明中的词语,给出上述0层数据流图中的数据存储D1~D3的名称。这道题您没有回答答案:D1:缺货记录文件D2:库存记录文件D3:订单记录文件3.【问题3】上述0层数据流图中缺少了4条数据流,根据说明及顶层数据流图提供的信息,分别指出这4条数据流的起点和终点。起点终点这道题您没有回答答案:起点终点库存记录文件或D2处理订单进货处理供货处理订单记录文件或D3销售统计缺货记录文件或D1进货处理注:数据流之间没有顺序关系试题一[分析]本题考查DFD的应用,属于比较传统的题目,需要细心分析题目中所描述的内容。数据流图(DataFlowDiagram,DFD)是一种便于用户理解、分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。[问题1]考查顶层DFD。顶层DFD通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统)、外部实体以及外部实体与系统之间的输入输出数据流。题目要求根据描述确定图中的外部实体。分析题干中描述并结合已给出的顶层数据流图,可知该销售管理系统中有客户、采购部门、库房、经理。题干中提供的关键信息如下:接受客户订单;给库房开具备货单;将缺货通知单发给采购部门;打印统计报表给经理。[问题2]考查0层DFD,要求确定0层数据流图中的数据存储,题目中提到的数据存储有订单记录文件、库存记录文件和缺货记录文件。在题中给出的0层DFD中,与数据存储D1相关的数据流有两条,来自“处理订单”;到达“缺货统计”,分析“1.接受客户订单,检查库存货物是否满足订单要求。如果满足,进行供货处理:修改库存记录文件,给库房开具备货单并且保留客户订单至订单记录文件;否则进行缺货处理:将缺货订单录入缺货记录文件。”,确定D1应是“缺货记录文件”。分析0层数据流图,到达D2的数据流分别来自“供货处理”和“进货处理”,由“3.根据采购部门提供的进货通知单进行进货处理:修改库存记录文件,并从缺货记录文件中取出缺货订单进行供货处理。”,确定D2为“库存记录文件”。由描述“…给库房开具备货单并且保留客户订单至订单记录文件”,确定D3为“订单记录文件”。[问题3]考查缺失的数据流。比较顶层和0层数据流图可知,顶层数据流图中的数据流已全部体现在0层数据流图中。图中缺失数据流最明显的地方是“销售统计”加工只有流出的数据流而没有流入的数据流,由“…给库房开具备货单并且保留客户订单至订单记录文件,…根据保留的客户订单进行销售统计”可知,应存在一条从D3(订单记录文件)至销售统计的数据流。由“接受客户订单,检查库存货物是否满足订单要求”可知,处理订单时需要来自库存记录文件的数据流。当发生缺货情况时,除了“根据缺货记录文件进行缺货统计,将缺货通知单发给采购部门”,采购部门还需根据缺货记录文件进行进货处理。一旦进货成功,就可进行供货处理。试题二阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。【说明】某宾馆拟开发一个宾馆客房预订子系统,主要是针对客房的预订和入住等情况进行管理。【需求分析结果】1.员工信息主要包括:员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息。岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改)员工表中本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。2.部门信息主要包括:部门号、部门名称、部门负责人、电话等信息。一个员工只能属于一个部门,一个部门只有一位负责人。3.客房信息包括:客房号、类型、价格、状态等信息。其中类型是指单人间、三人间、普通标准间、豪华标准间等;状态是指空闲、入住和维修。4.客户信息包括:身份证号、姓名、性别、单位和联系电话。5.客房预定情况包括:客房号、预定日期、预定入住日期、预定入住天数、身份证号等信息。一条预定信息必须且仅对应一位客户,但一位客户可以有多条预定信息。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如下图所示。【逻辑结构设计】逻辑结构设计阶段设计的部分关系模式(不完整)如下:员工((4),姓名,出生年月,性别,岗位,住址,联系电话,密码)权限(岗位,操作权限)部门(部门号,部门名称,部门负责人,电话)客房((5),类型,价格,状态,入住日期,入住时间,员工号)客户((6),姓名,性别,单位,联系电话)更改权限(员工号,(7),密码,更改日期,更改时间,管理员号)预定情况((8),预定日期,预定入住日期,预定入住天数)4.【问题1】根据问题描述,填写上图中(1)~(3)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用1:1,1:n或1:*,m:n或*:*表示。这道题您没有回答答案:(1)n,或m,或,(2)n,或m,或:(3)n,或m,或。5.【问题2】补充上图中的联系并指明其联系类型。这道题您没有回答答案:需要增加员工和权限之间m:1的联系。或者6.【问题3】根据需求分析结果和上图,将逻辑结构设计阶段生成的关系模式中的空(4)~(8)补充完整。(注:一个空可能需要填多个属性)这道题您没有回答答案:[问题3](4)员工号,部门号(5)客房号(6)身份证号(7)岗位(8)客房号,身份证号7.【问题4】若去掉权限表,并将权限表中的操作权限属性放在员工表中(仍保持管理和服务岗位的操作权限规定),则与原有设计相比有什么优缺点(请从数据库设计的角度进行说明)。这道题您没有回答答案:若将权限表中的操作权限属性放在员工表中,则相同岗位的操作权限在员工表中重复存储,存在数据冗余。试题二[分析]本题考查数据库系统中实体联系模型(E-R模型)的设计和关系模式的设计。两个实体型之间的联系可以分为三类:一对一联系(1:1)、一对多联系(1:n)和多对多联系(m:n)。本题中员工和部门之间的所属联系类型为m:1,因为题中一个员工只能属于一个部门,一个部门可以有多名员工。所以空(1)应填m。本题中客户和客房之间的预定联系类型为m:n,因为题中一位客户可以预订多间客房,而客房在不同的时间段可以被多个客户预订。所以空(2)、空(3)应分别填m和n。根据题意,岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改)员工表中本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。所以,需要增加管理员和权限之间m:1的联系。或者表示为主键也称为主码,是关系中的一个或一组属性,其值能唯一标识一个元组。根据题意,该宾馆客房预订子系统中,逻辑结构设计阶段设计的部分不完整关系模式空(4)~(8)应补充的内容分析如下。空(4)应增加一个主键“员工号”和一个外键“部门号”。因为“员工号”能唯一标识员工关系中的每一个元组;又因为一个员工只能属于一个部门,一个部门可以有多名员工,员工和部门之间的所属联系类型为m:1,所以需要将1端的码并入多端,即将“部门号”加入员工关系模式中。空(5)应增加一个主键“客房号”,用来唯一标识客房关系中的每一个元组。空(6)应增加一个主键“身份证号”,用来唯一标识客户关系中的每一个元组。空(7)应填岗位,因为不同的岗位具有不同的权限,所以需要增加岗位属性。空(8)应增加“客房号”和“身份证号”。因为对于预定情况是客户与客房之间多对多的联系,所以应该将两端的码作为联系的主键。若去掉权限表,那么需要将权限表中的操作权限属性放在员工表中,则相同岗位的操作权限在员工表中重复存储,存在数据冗余。试题三阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。【说明】在线会议审稿系统(OnlineReviewingSystem,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:1.用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。2.作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。3.审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。4.会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。系统采用面向对象方法开发,使用UMi进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见以下各表。参与者列表名称说明名称说明User用户Author作者Reviewer审稿人PCChair委员会主席用例名称列表名称说明名称说明login登录系统register注册submitpaper提交稿件browsereviewresults浏览稿件审阅结果closereviewingprocss关闭审稿过程assignpapertoreviewer分配稿件给审稿人setpreferences设定兴趣领域enterreview审阅稿件给出意见listaccepted/rejectedpapers罗列录用或/和拒绝的稿件browsesubmittedpapers浏览提交的稿件活动名称列表名称说明名称说明selectpaperlocation选择稿件位置uploadpaper上传稿件selectsubject选择主题sendnotification发送通知group类型entertitleandabstract输入标题和摘要系统的部分用例图和提交稿件的活动图分别见下图。8.【问题1】根据[说明]中的描述,使用参与者列表的英文名称,给出ORS用例图中A1~A4所对应的参与者。这道题您没有回答答案:A1:UserA2:AuthorA3:ReviewerA4:PCChair9.【问题2】根据[说明]中的描述,使用用例名称列表中的英文名称,给出ORS用例图中U1一U3所对应的用例。这道题您没有回答答案:U1:listaccepted/rejectedpapersU2:browsesubmittedpapersU3:assignpapertoreviewer注:U2和U3的答案可互换10.【问题3】根据[说明]中的描述,给出ORS用例图中(1)和(2)所对应的关系。这道题您没有回答答案:(1):<<extend>>(2):<<include>>11.【问题4】根据[说明]中的描述,使用用例名称列表和活动名称列表中的英文名称,给出提交稿件过程的活动图中Actionl~Action4对应的活动。这道题您没有回答答案:Action1:entertitleandabstractAction2:selectsubjectgroupAction3:selectpaperlocationAction4