1、中级软件设计师下午试题-94 及答案解析(总分:255.00,做题时间:90 分钟)一、试题一(总题数:1,分数:60.00)说明某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件。该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销 4 个方面。(1)购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。(2)读者借书时需填写借书单。借书单内容包括读者号和所借图
2、书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过 10 本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。(3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。(4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。系统的信息查询功能主要包括读者信息查询和图书信息查询。其中,读者信息查询可得到读者的基本信息及读者借阅
3、图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。该图书管理系统的顶层数据流图,如图 2-21 所示;该图书管理系统的第 0 层 DFD 图,如图 2-22 所示;其中加工 2 的细化图,如图 2-23 所示。(分数:60.00)_二、试题二(总题数:1,分数:60.00)说明某市人才交流中心为促进当地人力资源的合理配置,加强当地企业与人才的沟通,拟建立人才信息交流网。需求分析结果1每个前来登记的个人需填写人才入库登记表,如表 2-17 所示,并出示相关证件,经工作人员审核后录入个人信息。表 2-17 人才入库登记表个人编号:_ 登记日期:_年_月_日姓名 性别 出生日期籍贯 身份证
4、号毕业院校 专业 学历证书名称 1. 编号照片2.移动电话 家庭电话 电子邮件职位名称 最低薪水 备注1.求职意向及薪水2.个人简历及特长2每个前来登记的企业需填写企业信息登记表,如表 2-18 所示,并出示相关证明及复印件,经工作人员核实后录入企业信息。 3个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生成。个人和企业的基本信息由计算机长期存储,以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息。 4个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布。 概念模型设计 根据需求阶段收集的信息,设计人才、岗位和企业的实
5、体联系图如图 2-24 所示(不完整)。 表 2-18 企业信息登记表企业编号:_ 登记日期:_年_月_日企业名称 地址 企业网址联系人 联系电话 电子邮件职位 专业 学历 薪水 备注岗位需求企业简介(分数:60.00)_三、试题三(总题数:1,分数:45.00)说明门禁系统是楼宇安防系统的重要组成部分,也是大厦智能化管理的体现。其工作过程是,如果在入口处的读卡器上刷卡,锁控器(LockController)接收读卡器(FingerReader)的读卡信息并进一步识别,如果为有效卡,则触发控制电控锁(Lock)的继电器,让持卡人通过。锁控器还会将这些读卡及进出事件存储起来,并将相关事件记录传送
6、给上位机。每个锁控器管理 14 个门,每 58 个锁控器接入 1 条 RS-485 总线,并转换成 RS-232 方式与管理主机的串行口。对锁控器进行相关设置后,允许它脱机独立对门禁点进行控制,管理主机或通信线路故障都不会影响它的正常运行。在普通场合通常会设置 1 个出门按钮,允许已进入的人员按动此按钮以打开电控锁;而对于一些重要场合通常会在门的内外安装两个读卡器,进出门时都需按预设方式进行刷卡。门禁系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。在管理主机上可以设置每把锁的安全级别及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状
7、态时,才能将锁打开。用户的感应卡信息、开锁权限及锁的安全级别都保存在管理主机的数据库中。表 2-19 给出了门禁系统主要组成部件的作用。表 2-19 感应门禁系统主要组成部件及其作用表部件名称 主要作用(功能)读卡感应器(FingerReader) 通过射频感应原理,识别感应卡内置加密卡号锁控器(LockController) 存储感应卡权限和刷卡记录,向管理软件上传读卡器送来 的信号,并负责和上位机通讯和其他数据存储器协调电控锁(Lock) 电动执行机构主机管理软件(Win-Pak Software)通过计算机对所有单元进行中央管理和监控,进行相应的时钟、授权、统计管理工作RS-485/23
8、2 信号转换器 对所有数据存储器进行联网和远距离通信门禁电源 提供系统工作时所需的电源能量感应卡 存储用户的不可复制和解密的 ID 号开门按钮 出门时可以设置为按此按钮出门(可选部件)软件开发公司 A 承担了该门禁控制系统的开发任务,其开发小组采用根据问题领域的模型建立系统结构的面向对象方法完成该系统的设计,系统中的类及类之间的关系用 UML 类图表示。1. 问题 1如图 2-25 所示是门禁控制系统的一个不完整类图,根据题干说明中给出的术语,请给出类 Lock 的主要属性。(分数:45.00)_四、试题四(总题数:1,分数:45.00)说明快速排序是一种典型的分治算法。采用快速排序对数组 A
9、pr排序的 3 个步骤如下。1分解:选择一个枢轴(pivot)元素划分数组。将数组 Apr划分为两个子数组(可能为空)Apq-1和 Aq+1r,使得 Aq大于等于 Apq-1中的每个元素,小于 Aq+1r中的每个元素。q 的值在划分过程中计算。2递归求解:通过递归的调用快速排序,对子数组 Apq-1和 Aq+1r分别排序。3合并:快速排序在原地排序,故无需合并操作。1. 问题 1下面是快速排序的伪代码,请将空缺处(1)(3)的内容填写完整。伪代码中的主要变量说明如下。A:待排序数组p,r:数组元素下标,从 p 到 rq:划分的位置x:枢轴元素i:整型变量,用于描述数组下标。下标小于或等于 i
10、的元素的值,小于或等于枢轴元素的值j:循环控制变量,表示数组元素下标(分数:45.00)_五、试题五(总题数:1,分数:15.00)1.说明散列文件的存储单位称为桶(BUCKET)。假如一个桶能存放 m 个记录,当桶中已有 m 个同义词(散列函数值相同)的记录时,存放第 m+1 个同义词会发生“溢出”。此时需要将第 m+1 个同义词存放到另一个称为“溢出桶”的桶中。相对地,称存放前 m 个同义词的桶为“基桶”。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。例如,设散列函数为 Hash(Key)=Key mod7,记录的
11、关键字序列为 15,14,21,87,96,293,35,24, 149,19,63,16,103,77,5,153,145,356,51,68,705,453,建立的散列文件内容如图 2-27 所示。为简化起见,散列文件的存储单位以内存单元表示。函数 InsertToHashTable(int NewElemKey)的功能是:若新元素 NewElemKey 正确插入散列文件中,则返回值 0;否则返回值-1。采用的散列函数为 Hash(NewElemKey)=NewElemKey%P,其中 P 设定基桶的数目。函数中使用的预定义符号如下。(分数:15.00)_六、试题六(总题数:1,分数:15
12、.00)2.说明在一公文处理系统中,开发者定义了一个公文类 OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件中内容或状态发生变化时,关注此 OfficeDoc 类对象的相应的 DocExplorer 对象都要更新其自身的状态。一个 OfficeDoc 对象能够关联一组 DocExplorer 对象。当 OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的 DocExplorer 对象都将得到通知,这种应用被称为 Observer(观察者)模式。以下代码采用 C+语言实现,能够正确编译通过。C+代码(分数:15.00)_七、试题七(总题数:1,分数:15.0
13、0)3.说明在一公文处理系统中,开发者定义了一个公文类 OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此 OfficeDoc 类对象的相应的 DocExplorer 对象都要更新其自身的状态。一个 OfficeDoc 对象能够关联一组 DocExplorer 对象。当 OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的 DocExplorer 对象都将得到通知,这种应用被称为 Observer(观察者)模式。以下代码采用 Java 语言实现,能够正确编译通过。Java 代码(分数:15.00)_中级软件设计师下午试题-94
14、答案解析(总分:255.00,做题时间:90 分钟)一、试题一(总题数:1,分数:60.00)说明某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件。该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销 4 个方面。(1)购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。(2)读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者
15、号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过 10 本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。(3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。(4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。系统的信息查询功能主要包括读者信息查询和图书信息查询。其中,读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图
16、书基本信息和图书的借出情况。该图书管理系统的顶层数据流图,如图 2-21 所示;该图书管理系统的第 0 层 DFD 图,如图 2-22 所示;其中加工 2 的细化图,如图 2-23 所示。(分数:60.00)_正确答案:(问题 1这是一道要求读者掌握逻辑数据流图和物理数据流图区别点的简答题。本题所涉及的知识点如下。数据流图是系统分析阶段用于描述系统逻辑模型的图形描述工具,解决信息系统“做什么”的问题。它可分为逻辑数据流图和物理数据流图。逻辑数据流图强调参与者所做的事情,可以帮助设计者决定需要哪些系统资源、为了运行系统用户必须执行的活动、在系统安装之后如何保护和控制这些系统等内容。逻辑数据流图说
17、明应该具有哪些加工和数据存储,而不关心这些加工和数据存储是如何实现的。物理数据流图关注的是系统中的物理实体,以及一些具体的文档、报告和其他输入/输出数据。它通常用做系统构造和实现的技术性蓝图。在物理数据流图中需要说明加工和数据存储是如何实现的。)解析:_正确答案:(问题 2这是一道要求读者掌握 DFD 父图与子图的平衡原则和输入/输出平衡原则的综合分析题。本题的解答思路如下。根据 DFD 父图与子图的平衡原则和输入/输出平衡原则,通过比对图 2-21 和图 2-22 中所有输入数据流和输出数据流可知,如图 2-22 所示中与加工“1 处理管理请求”相关的两条输入数据流和两条输出数据流都是正确的
18、。其中,如图 2-21 所示中数据流“非法请求信息”在如图 2-22 所示中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流。由题干给出的关键信息“对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件”可知,加工“3 登记读者信息”将有一条“读者情况”数据流输出到数据存储“读者文件”,即加工 3 是用来登记读者信息,应该将登记的读者信息写入读者文件,因此,在如图2-22 所示中这一“写入”的箭头方向画反了。这条改正后数据流的起点是“3 登记读者信息”,终点是“读者文件”,数据流名称是“读者情况”。其中,该数据流名称应综合考虑题干中关键信息
19、“系统自动生成读者号,并与读者基本信息一起写入读者文件”,并从如图 2-22 所示中数据流“读者信息”、“读者情况”中得到启发。由题干给出的关键信息“系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效”和“系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况”,并结合加工 2 的细化图(见图 2-23)中加工“2.1 读者信息查询”与数据存储“读者文件”之间数据流的箭头方向可知,加工“2 处理查询请求”应该从数据存储“读者文件”中读出读者的信息,因此在如图 2-22 所示中这一“查询”的箭头画反了。这条改正后的数据流的起点是“读者
20、文件”,终点是“2 处理查询请求”,数据流名称是“读者情况”。其中,该数据流名称可从图 2-22 所示中加工“2 处理查询请求”的输出数据流“读者情况”中得到启发。)解析:_正确答案:(问题 3这也是一道要求读者从题干说明信息中识别数据流,以及掌握局部数据存储的隐蔽性原则的综合分析题。本题的解答思路如下。根据 DFD 父图与子图的平衡原则和输入/输出平衡原则,通过比对图 2-22 和图 2-23 中所有输入/输出数据流可知,如图 2-22 所示中数据流“查询请求信息”在如图 2-23 所示中包含了“查询读者请求信息”和“查询图书请求信息”两条子数据流;如图 2-22 所示中数据流“非法查询请求
21、信息”在如图 2-23 所示中包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流。由题干给出的说明信息可知,读者基本信息存储在读者文件中,而读者借阅图书的信息存储在借书文件中。再由题干给出的关键信息“读者信息查询可以得到读者的基本信息及读者借阅图书的情况”,并结合问题 2的分析过程可知,在如图 2-23 所示中加工“2.1 读者信息查询”应从数据存储“借书文件”中获取该读者借阅图书的情况。因此在如图 2-23 所示中补充的一条数据流起点是“借书文件”,终点是“2.1读者信息查询”,数据流名称是“读者借阅图书情况”。同理,由题干给出的说明信息可知,读者借阅图书的信息存储在借书文
22、件中,而图书的基本信息存储在图书目录文件中。再由题干给出的关键信息“图书信息查询可以得到图书基本信息和图书的借出情况”可知,在如图 2-23 所示中加工“2.2 图书信息查询”应从数据存储“图书目录文件”中获取所查询图书的基本信息,从数据存储“借书文件”中获取所查询图书的借出情况。因此在如图 2-23 所示中补充的一条数据流起点是“图书目录文件”,终点是“2.2 图书信息查询”,数据流名称是“图书基本信息”;另一条数据流起点是“借书文件”,终点是“2.2 图书信息查询”,数据流名称是“图书借出情况”。)解析:_正确答案:(问题 4这是一道要求读者根据具体应用环境编写数据字典条目的综合分析题。本
23、题的解答思路如下。由题干给出的关键信息“入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期”,并结合试题中给出的数据字典条目示例“读者情况=读者号+姓名+所在单位+借书情况”的编写风格,可得到“入库单”的数据字典条目如下。入库单=分类目录号+书名+作者+价格+数量+购书日期同理,由题干给出的关键信息“借书单内容包括读者号和所借图书分类目录号”和“假设每位读者能同时借阅的书不超过 10 本”可知,每位读者一次可借阅多本图书(即 1:n 的关系),每次借阅时需向系统提交“读者号”和“所借图书分类目录号”,因此可得到“借书单”的数据字典条目如下。借书单=读者号+所借图书分类目录号同理,由
24、题干给出的关键信息“读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录”,并结合常识“每位读者一次可归还多本图书(即 1:n 的关系)”等信息,可得到“借书单”的数据字典条目如下。还书单=读者号+所还图书分类目录号由题干给出的关键信息“该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销 4个方面”,以及题干中关于“入库单”、“借书单”、“还书单”和“注销单”的描述信息可知,每一项管理工作都需要填写相应的单据。结合试题中给出的示例“查询请求信息=查询读者请求信息|查询图书请求信息,可得到“管理工作请求单”的数据字典条目如下。管理工作请求
25、单=入库单|借书单|还书单|注销单由问题 2、问题 3的分析过程可知,如图 2-21 所示中数据流“非法请求信息”在如图 2-22 所示中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流,而数据流“非法查询请求信息”在如图 2-23 所示中又包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流,因此“非法请求信息”的数据字典条目如下。非法请求信息=非法管理工作请求单|非法查询请求信息或非法请求信息=非法管理工作请求单|非法查询读者请求信息|非法查询图书请求信息)解析:二、试题二(总题数:1,分数:60.00)说明某市人才交流中心为促进当地人力资源的合理配置,加强当
26、地企业与人才的沟通,拟建立人才信息交流网。需求分析结果1每个前来登记的个人需填写人才入库登记表,如表 2-17 所示,并出示相关证件,经工作人员审核后录入个人信息。表 2-17 人才入库登记表个人编号:_ 登记日期:_年_月_日姓名 性别 出生日 期籍贯 身份证号毕业院校 专业 学历1.证书名称2. 编号移动电话 家庭电话 电子邮 件照片职位名称 最低薪水 备注1.求职意向 及薪水2.个人简历及特长2每个前来登记的企业需填写企业信息登记表,如表 2-18 所示,并出示相关证明及复印件,经工作人员核实后录入企业信息。 3个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生成
27、。个人和企业的基本信息由计算机长期存储,以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息。 4个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布。 概念模型设计 根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图如图 2-24 所示(不完整)。 表2-18 企业信息登记表企业编号:_ 登记日期:_年_月_日企业名称 地址 企业网址联系人 联系电话 电子邮件职位 专业 学历 薪水 备注岗位需求企业简介(分数:60.00)_正确答案:(问题 1这是一道要求读者掌握数据库概念模型设计的综合分析题。本题的解答思路如下。根据题干中给出的关键信息
28、“根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图”可知,应建立人才、岗位和企业 3 个实体之间的联系。可见,(1)空缺处还缺少了一个“岗位”实体。题干在“逻辑结构设计”中已给出了“人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,证书编号,联系电话,电子邮件,个人简历及特长)”、“企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介)”、“求职意向( (2) )”和“岗位需求( (3) )”4 个关系模式,结合常识可知,人才与岗位之间是“求职意向”联系,企业与岗位之间是“岗位需求”联系。同理,结合常识可知,“人才”、“岗位”实体
29、之间是多对多(m:n)的联系。从试题中给出的人才入库登记表(表 2-17)中,扣除“逻辑结构设计”关系模式“人才”的相关属性后,可得到剩余的属性有“登记日期”、“职位名称”和“最低薪水”。因此与联系“求职意向”相关的属性有“登记日期”和“最低薪水”。由常识可知,“企业”与“岗位”实体之间也是多对多(m:n)的联系。从试题中给出的企业信息登记表(表 2-18)中,扣除“逻辑结构设计”关系模式“企业”的相关属性后,可得到剩余的属性有“登记日期”、“职位(名称)”、“专业”、“学历”、“薪水”和“备注”。因此,与联系“岗位需求”相关的属性有“登记日期”、“专业”、“学历”、“薪水”和“备注”。结合以
30、上分析结果,整理可得完整的人才、岗位和企业的实体联系图如图 2-28 所示。)解析:_正确答案:(问题 2这是一道要求读者掌握数据库逻辑结构设计的综合分析题。本题的解答思路如下。逻辑结构设计是建立在概念结构设计的基础上的,按照 E-R 图向关系模式的转换方法,将实体和联系分别转换为关系模式。本题中已给出了实体对应的关系模式,其中“岗位”实体没有属性,应归并到联系中。结合问题 1的分析结果可知,求职意向的关系模式如下。求职意向(个人编号,岗位名称,最低薪水,登记日期)同理,结合问题 1的分析结果可知,岗位需求的关系模式如下。岗位需求(企业编号,岗位名称,专业,学历,薪水,备注,登记日期)本试题还
31、要求对“人才”关系模式进行模式分解,以达到实体分离的优化目的(即规范化)。分解后“人才”新关系模式可以减少“证书编号”这一属性,而“证书”新增关系模式的属性有“证书名称”和“证书编号”。这两个新的关系模式如下。人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,联系电话,电子邮件,个人简历及特长)证书(证书名称,证书编号)解析:_正确答案:(问题 3这是一道要求读者根据题目给定的关系模式,以及属性间的函数依赖关系和关系模式的语义,并结合 E-R图向关系模式的转换方法来确定各关系模式主键和外键的综合分析题。本试题的解答思路如下。(1)由题干中给出的关键信息“一个人可能
32、持有多个证书”可知,在证书关系模式中,证书名称可以决定证书关系模式中的全属性,因此证书关系模式的主键如下。证书(证书名称,证书编号)(2)由题干中给出的关键信息“个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生成以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息”可知,个人编号可以决定人才关系模式中的全属性。同时考虑到“证书名称”是证书关系模式的主键,因此“证书名称”应为人才关系模式的外键。最后可得人才关系模式的主键、外键如下。人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,联系电话,电子邮件,个人简历及特长)(
33、3)同理,由于企业编号可以决定企业关系模式中的全属性,因此企业关系模式的主键如下。企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介)(4)由问题 1的分析结果可知,“人才”与“岗位”实体之间是多对多(m:n)的联系,个人编号多值决定岗位,如果仅用“个人编号”作为求职意向关系模式的主键,则无法唯一区分求职意向关系中的每一个元组(记录)。如果用“个人编号”、“岗位名称”作为主键,则可以唯一区分求职意向关系中的每一个元组。同时考虑到“个人编号”是人才关系模式的主键,因此“个人编号”也是求职意向关系模式的外键。最后可得,求职意向关系模式的主键、外键如下。求职意向( ,最低
34、薪水,登记日期)(5)同理,“企业”与“岗位”实体之间是多对多(m:n)的联系,企业编号多值决定岗位,需要用“企业编号”、“岗位名称”作为主键,才可唯一区分岗位需求关系中的每一个元组。同时考虑到“企业编号”是企业关系模式的主键,则“企业编号”也是岗位需求关系模式的外键。最后可得,岗位需求关系模式的主键、外键如下。岗位需求( )解析:_正确答案:(问题 4这是一道要求读者针对新应用进行数据表扩充的综合分析题。本题的解答思路如下。如果允许企业通过互联网修改本企业的基本信息,则应建立企业的登录信息表。该表中包含用户名和密码,用来记录企业的用户名和密码。接着将对本企业的基本信息的修改权限赋予相关的用户
35、名。企业工作人员可以通过输入用户名和密码,经过服务器将其与登录信息表中记录的该企业的用户名和密码进行验证后,合法用户才有权限修改企业的信息。)解析:三、试题三(总题数:1,分数:45.00)说明门禁系统是楼宇安防系统的重要组成部分,也是大厦智能化管理的体现。其工作过程是,如果在入口处的读卡器上刷卡,锁控器(LockController)接收读卡器(FingerReader)的读卡信息并进一步识别,如果为有效卡,则触发控制电控锁(Lock)的继电器,让持卡人通过。锁控器还会将这些读卡及进出事件存储起来,并将相关事件记录传送给上位机。每个锁控器管理 14 个门,每 58 个锁控器接入 1 条 RS
36、-485 总线,并转换成 RS-232 方式与管理主机的串行口。对锁控器进行相关设置后,允许它脱机独立对门禁点进行控制,管理主机或通信线路故障都不会影响它的正常运行。在普通场合通常会设置 1 个出门按钮,允许已进入的人员按动此按钮以打开电控锁;而对于一些重要场合通常会在门的内外安装两个读卡器,进出门时都需按预设方式进行刷卡。门禁系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。在管理主机上可以设置每把锁的安全级别及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。用户的感应卡信息、开锁权限及锁的安全级别都保存在管理主
37、机的数据库中。表 2-19 给出了门禁系统主要组成部件的作用。表2-19 感应门禁系统主要组成部件及其作用表部件名称主要作用(功能)读卡感应器(FingerReader)通过射频感应原理,识别感应卡内置加密卡号锁控器(LockControl存储感应卡权限和刷卡ler)记录,向管理软件上传读卡器送来的信号,并负责和上位机通讯和其他数据存储器协调电控锁(Lock)电动执行机构主机管理软件(Win-Pak Software)通过计算机对所有单元进行中央管理和监控,进行相应的时钟、授权、统计管理工作RS-485/232对所有数据存信号转换器储器进行联网和远距离通信门禁电源提供系统工作时所需的电源能量感
38、应卡存储用户的不可复制和解密的ID号开门按钮出门时可以设置为按此按钮出门(可选部件)软件开发公司 A 承担了该门禁控制系统的开发任务,其开发小组采用根据问题领域的模型建立系统结构的面向对象方法完成该系统的设计,系统中的类及类之间的关系用 UML 类图表示。1. 问题 1如图 2-25 所示是门禁控制系统的一个不完整类图,根据题干说明中给出的术语,请给出类 Lock 的主要属性。(分数:45.00)_正确答案:(问题 1这是一道要求读者掌握如何从问题域中抽象出类的属性的综合分析题。本题的解答思路如下。首先要仔细理解题目中的信息,从这些信息牛获知该感应门禁系统主要部件有锁控器 (LockContr
39、oller)、读卡感应器(FingerReader)、电控锁(Lock)和主机管理软件(Win-Pak Software)。将关键信息转化成如图2-29 所示的系统体系结构。)解析:_正确答案:(问题 2这是一道要求读者掌握 UML 建模中序列图知识点的分析题。本题的解答思路如下。系统的动态行为常采用 UML 序列图表示,它展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。要注意它强调的是时间和顺序。图 2-26 所表达的序列图有两个特征:一是它有对象生命线;二是它有控制焦点。对象生命线是一条垂直的虚线,表示一个对象的生命跨度。控制焦点是一个瘦高的矩形,表示一个对象执行一个动作
40、所经历的时间段。矩形的顶部表示动作的开始,底部表示动作的结束。在序列图顶部水平方向画出的是参与交换的对象。看懂序列图之后,接着根据问题要点,查找题目中与用户开锁相关的信息。对这些关键信息进行归纳整理的结果如下:用户开锁时,只需将感应卡靠近读卡器。读卡器获取信息后将发送一个中断事件给锁控器,锁控器从读卡器读取用户卡的 ID 号并将该 ID 号信息发送到管理主机,管理主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开;否则系统报警。通过以上分析,可以得出用户开锁的激发事件是:用户感应卡靠近读卡器。由于序列图是按照时间顺序组织对象之间交互活动,因此需要将这些活动按照时间顺序进行排序,并记录下参与每个活动的对象。根据以上分析结果结合图 2-26 已给出的信息,可以得出用户开锁涉及的活动事件如表 2-20 所示。表2-20 用户开锁活动过程表顺序 活动事件 活动对象 顺序 活动事件 活动对象 发送“中断事件” 读卡器锁控 器 读取锁的安全级别 管理主机锁 读取用户卡的 ID号 锁控器读卡 器 判断用户是否能够 开锁 管理主机管理主 机 请求开锁 锁控器管理 主机 通知能够开锁 管理主机锁控器 读取锁的当前状 态 管理主机锁 将锁打开 锁控器锁 读取用户的开锁 权限 管理主机用 户)解析:_