2023年软件设计师05月下午题附答案.docx
《2023年软件设计师05月下午题附答案.docx》由会员分享,可在线阅读,更多相关《2023年软件设计师05月下午题附答案.docx(18页珍藏版)》请在咨信网上搜索。
软件设计师2023年05月下午题(附答案) 试题一 阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的相应栏内。 [说明] 某会议中心提供举办会议的场地设施和各种设备,供公司与各类组织机构租用。场地涉及一个大型报告厅、一个小型报告厅以及诸多会议室。这些报告厅和会议定室可提供的设备有投影仪、白板、视频播放/回放设备、计算机等。为加强管理,该中心欲开发一会议预订系统,系统的重要功能如下。 (1) 检查可用性。客户提交预订请求后,检查预订表,鉴定所申请的场地是否在申请日内可用;假如不可用,返回不可用信息。 (2) 临时预订。会议管理员收到客户预定请求的告知之后,提交确认。系统生成新临时预订存入预订表,并对新客户创建一条客户信息记录加以保存。根据客户记录给客户临时预订确认信息和支付定金规定。 (3) 分派设施与设备。根据临时预订或变更预定的设备和设施需求,分派所需设备(均能满足用户规定)和设施,更新相应的表和预订表。 (4) 确认预订。管理员收到客户支付定金的告知后,检查确认,更新预订表,根据客户记录给客户发送确认信息。 (5) 变更预订。客户还可以在支付余款前提交变更预订请求,对变更的预订请求检查可用性,假如可用,分派设施和设备;假如不可用,返回不可用信息。管理员确认变更后,根据客户记录给客户发送确认信息。 (6) 规定付款。管理员从预订表中查询距预订的会议时间两周内的预定,根据客户记录满足条件的客户发送支付余款规定。 (7) 支付余款。管理员收到客户余款支付的告知后,检查确认,更新预订表中的已支付余款信息。 现采用结构化方法对会议预定系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图(不完整)。 [问题1] 使用说明中的词语,给出图1-1中的实体E1~E2的名称。 [问题2] 使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。 [问题3] 根据说明和图中术语,补充图1-2之中缺失的数据流及其起点和终点。 [问题4] 假如发送给客户的确认信息是通过Email系统向客户信息中的电子邮件地址进行发送的,那么需要对图1-1和1-2进行哪些修改?用150以内文字加以说明。 试题二 阅读下列说明,回答问题1至问题3,将解答填入答题纸的相应栏内。 [说明] 某销售公司当前的销售业务为商场实体店销售。现该公司拟开展网络销售业务,需要开发一个信息化管理系统。请根据公司现有业务及需求完毕该系统的数据库设计。 [需求描述] (1) 记录公司所有员工的信息。员工信息涉及工号、身份证号、姓名、性别、出生日期和电话,并只登记一部电话。 (2) 记录所有商品的信息。商品信息涉及商品名称、生产厂家、销售价格和商品介绍。系统内部用商品条码唯一区别每种商品。 (3) 记录所有顾客的信息。顾客信息涉及顾客姓名、身份证号、登录名、登录密码和电话号码。一位顾客只能提供一个电话号码。系统生成唯一的顾客编号。 (4) 顾客登录系统之后,在网上商场购买商品。顾客可将选购的商品置入虚拟的购物车,购物车可长期存放顾客选购的所有商品。顾客可在购物车内选择商品、修改商品数量后生成网购订单。订单生成后,由顾客选择系统提供的备选第三方支付平台进行电子支付,支付成功后,系统需要记录唯一的支付凭证编号,然后由商城根据订单进行线下配送。 (5) 所有的配送商品均由仓库统一出库。为方便顾客,允许每位顾客在系统中提供多组收货地址、收货人及联系电话。一份订单所含的多个商品也许由多名分检员根据商品所在仓库信息从仓库中进行分拣操作,分拣后的商品交由配送员根据配送单上的收货地址进行配送。 (6) 新设计的系统规定记录实体店的每笔销售自己,涉及营业员、顾客、所售商品及其数量。 [概念模型设计] 根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。 [逻辑结构设计] 根据概念模型设计阶段完毕的实体联系图,得出如下关系模式(不完整): 员工(工号,身份证号,姓名,性别,出生日期,电话) 商品(商品条码,商品名称,生产厂家,销售价格,商品介绍, (a) ) 顾客(顾客编号,姓名,身份证号,登录名,登录密码,电话) 收货地址(收货ID,顾客编号,收货地址,收货人,联系电话) 购物车(顾客编号,商品条码,商品数量) 订单(订单ID,顾客编号,商品条码,商品数量, (b) ) 分检(分拣ID,分拣员工号 , (c) ,分拣时间) 配送(配送ID,分拣ID,配送员工号,收货ID,配送时间,签收时间,签收快照) 销售(销售ID,营业员工号,顾客编号,商品条码,商品数量) [问题1] 补充图2-1中的“配送”联系所关联的对象联系类型。 [问题2] 补充逻辑结构设计中的(a)、(b)和(c)三处空缺。 [问题3] 对于实体店销售,若要增长送货上门服务,由营业员在系统中下订单,与网购的订单进行后续的统一管理。请根据该需求,对图2-1进行补充,并修改订单关系模式。 试题三 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的相应栏内。 [说明] 某软件公司欲设计实现一个虚拟仿真系统。系统中的虚拟世界用于模拟现实世界中的不同环境(由用户设立并创建),用户通过操作仿真系统中的1~2个机器人来探索虚拟世界。 该系统的重要功能描述如下: (1) 机器探索虚拟世界(RunRobots)。用户使用编辑器(Editor)编写文献以设立要模拟的环境,将文献导入系统(LoadFile)从而在仿真系统中建立虚拟世界(SetupWorld)。机器人在虚拟世界中的行为也在文献中进行定义,建立机器人的探索行为程序(SetupProgram)。机器人在虚拟世界中探索时(RunProgram),有2种运营模式: 1) 自动控制(Run):事先编好机器人的动作序列(指令(Instruction)),执行指令,使机器人可以连续动作。若干条指令构成机器人的指令集(InstructionSet)。 2) 单步控制(Step):自动控制方式的一种特殊形式,只执行指定指令中的一个动作。 (2) 手动控制机器人(ManipulateRobots)。选定1个机器人后(SelectRobot),可以采用手动方式控制它。手动控制有4种方式。 1) Move:机器人朝着正前方移动一个交叉点。 2) Left:机器人原地沿逆时针旋转90度。 3) Read:机器人读取其所在位置的字符,并将这个字符的值赋给b1;假如这个位置没有字符,则不改变b1的当前值。 4) Write:将b1中的字符写入机器人当前所在的位置,假如这个位置上已有字符,该字符的值会被b1的值替代。假如这时b1没有值,即在执行Write动作之前没有执行过任何Read动作,那么需要提醒用户相应的错误信息(ShowErrors)。 手动控制与单步控制的区别在于,单步控制时执行的是指令中的动作,只有一种控制方式,即执行下一动作;而手动控制时有4种动作。 现采用面向对象方法设计并实现该仿真系统,得到如图3-1所示的用例图和图3-2所示的初始类图。图3-2中的类”Interpreter”和”Parser”用于解析描述虚拟世界的文献以及机器人行为文献中的指令集。 [问题1] 根据说明中的描述,给出图3-1中U1~U6所相应的用例名。 [问题2] 图3-1中用例U1~U6分别与哪个(哪些)用例之间有关系,是何种关系? [问题3] 根据说明中的描述,给出图3-2中C1~C5所相应的类名。 试题四 阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的相应栏内。 [说明] 在一块电路板的上下两端分别有n个接线柱。根据电路设计,用(I,π(i) )表达将上端接线柱i与下端接线柱π(i)相连,称其为该电路板上的第i条连线。如图4-1所示的π(i)排列为{8, 7, 4, 2, 5, 1, 9, 3, 10, 6}。对于任何1 <= I < j <= n,第i条连线和第j条连线相交的充要条件是π(i) >π(j)。 在制作电路板时,规定将这n条连线分布到若干绝缘层上,在同一层上的连接不相交。现在要拟定将哪些连线安排在一层上,使得该层上有尽也许多的连线,即拟定连接集Nets = { (I, π(i) ), 1 <= I <= n}的最大不相交子集。 [分析问题] 记N[I, j] = {t|(t, π(i)) €Nets, t <= I, π(t) ,= j}。N(I,j)是最大不相交子集为MNS(I,j),size(I,j) = |MNS(I, j)|。 经分析,该问题具有最优子结构性质。对规模为n的电路布线问题,可以构造如下递归式: (1) 当i=1时,size1,j=0j<π(1)1其它情况 (2) 当i>1时,sizei,j=size(i-1, j)j<π(i)max{sizei-1,j, sizei-1, πi-1+1}其它情况 [C代码] 下面是算法的C语言实现。 (1) 变量说明 Size[i][j]:上下端分别有i个和j个接线柱的电路板的第一层最大不相交连接数 Pi[i]:π(i),下标从1开始 (2) C程序 #include “stdlib.h” #include <stdio.h> #define N 10 /*问题规模*/ Int m = 0; /*记录最大连接集合中的接线柱*/ Void maxNum(int pi[], int size[N+1][N+1], int n) { /*求最大不相交连接数*/ Int I, j; For(j = 0; j < pi[1]; j++) size[1][j] = 0; /*当j<π(1)时*/ For(j = pi[i]; j <= n; j++) (1) ; /*当j>=π(1)时*/ For(i = 2; i < n; i++){ For(j =0; j <pi[1]; j++) (2) ; /*当j < pi[i]时*/ For(j = pi[i]; j <= n; j++){ /*当j >= c[i]时,考虑两种情况*/ Size[i][j] = size[i-1][j] >= size[i-1][pi[i]-1] + 1 ? size[i-1][j] : size[i-1][pi[i]-1]+1; } } /*最大连接数*/ Size[n][n] = size[n-1][n] >= size[n-1][pi[n]-1] + 1? Size[n-1][n] : size[n-1]pi[n]-1]+1; } /*构造最大不相交连接集合,net[i]表达最大不相交子集中第i条连线的上端接线柱的序号*/ Void constructSet(int pi[], int size[N+1][N+1], int n, int net[n]){ Int I, j = n; M = 0; For(I = n; I >1; i--) {/*从后往前*/ If(size[i][j] != size[i-1][j]) {/*(I, pi[i])是最大不相交子集的一条连接*/ (3) ; /*将i记录到数组net中,连接线数自增1*/ J = pi[i] – 1; /*更新扩展连线柱区间*、 } } If(j >= pi[1]) net[m++] = 1; /*当i=1时*/ } [问题1] 根据以上说明和C代码,填充C代码中的空(1)~(3)。 [问题2] 根据题干说明和以上C代码,算法采用了 (4) 算法设计策略。 函数maxNum和constructSet的时间复杂度分别为 (5) 和 (6) (用O表达)。 [问题3] 若连接排列为{8, 7, 4, 2, 5, 1, 9, 3, 10, 6},即如图4-1所示,则最大不相交连接数为 (7) ,包含的连线为 (8) (用(I, π(i) )的形式给出)。 试题五 阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的相应栏内。 [说明] 某软件系统中,已设计并实现了用于显示地址信息和类Address(如图5-1所示),现规定提供基于Dutch语言的地址信息显示接口。为了实现该规定并考虑到以后也许还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该规定,得到如图5-1所示类图。 [C++代码] #include<iostream> Using namespace std; Class Address{ Public: Void street(){/*实现代码省略*/} Void zip(){/*实现代码省略*/} Void city(){/*实现代码省略*/} //其他成员省略 }; Class DutchAddress{ Public: Virtual void straat() = 0; Virtual void postcode() = 0; Virtual void plaats() = 0; //其他成员省略 }; Class DutchAddressAdapter: public DutchAddress{ Private: (1) ; Public: DutchAddressAdapter(Address* addr){ address = addr; } Void straat(){ (2) ; } Void postcode(){ (3) ; } Void plaat(){ (4) ; } //其它成员省略 }; Void testDutch(DutchAddress * addr){ Addr->straat(); Addr->postcode(); Addr->plaats(); } Int main(){ Address * addr = new Address(); (5) ; Cout << “\n The DutchAddress\n” << endl; testDutch(addrAdapter); return 0; } 试题六 阅读下列说明和Java代码,将应填入(n)处字句写在答题纸的相应栏内。 [说明] 某软件系统中,已设计并实现了用于显示地址信息的类Address(如图6-1所示),面规定提供基于Dutch语言的地址信息显示接口。为了实现该规定并考虑到以后也许还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该规定,得到如图6-1所示类图。 [Java代码] Import java.util.*; Class Address{ Public void street(){//实现代码省略} Public void zip(){//实现代码省略} Public void city(){//实现代码省略} //其它成员省略 } Class DutchAddress{ Public void straat(){//实现代码省略} Public void postcode(){//实现代码省略} Public void plaats(){//实现代码省略} //其他成员省略 } Class DucthAddressAdapter extends DutchAddress{ Private (1) ; Public DutchAddressAdapter(address addr){ Addrss = addr; } Public void straat()[ (2q) ; } Public void postcode(){ (3r) ; } Public void plaats() { (4r) ; } //其他成员省略 } Class Test{ Public static void main(String [] args){ Address addr = new Address(); (5t) ; System.out.println(“\n The DutchAddress\n”); testDutch(addrAdapter); } Static void testDutch(DutchAddress addr){ Addr.straat(); Addr.postcode(); Addr.plaats(); } } Answer: 试题一 [问题1] E1:客户 E2:管理员 [问题2] D1:预订表 D2:客户信息登记表 D3:设备表 D4:设施表 [问题3] 数据流 起点 终点 预订确认信息 4确认预订 E1 客户信息 E1 2临时预定 客户记录 D2 4确认预订 客户记录 D2 5变更预订 预订信息 D1 6规定付款 客户记录 D2 6规定付款 [问题4] 增长外部实体“第三方Email系统”,将临时预订/预订/变更确认信息终点均修改至“第三方Email系统”。 试题二 [问题1] [问题2] (a) 仓库ID (b) 支付凭证编号 (c) 订单ID,商品条码 [问题3] 在营业员和订单之间增长一个“送货上门”的联系,在订单关系中增长“营业员工号”属性作为外键。 试题三 [问题1] U1:run U2:step U3:write U4:move U5:left U6:read [问题2] U1:Run program 泛化关系 U2:Run program 泛化关系 U3:SelectRobot extend U4:SelectRobot extend U5:SelectRobot extend U6:SelectRobot extend [问题3] C1:文献 C2:机器人在虚拟世界的行为 C3:instruction C4:InstructionSet C5:仿真系统 试题四 [问题1] (1) Size[1][j] = 1 (2) Size[i][j] = size[i-1][j] (3) Net[m++] = i [问题2] (4) 动态规划法 (5) O(n^2) (6) O(n) [问题3] (7) 4 (8) (9,π(9) ) (7,π(7) ) (5,π(5) ) (3,π(3) ) 试题五 (1) Address * address (2) address->street() (3) address->zip() (4) address->city() (5) DutchAddressAdapter * addrAdapter = new DutchAddressAdapter(addr) 试题六 (1) Address address (2) address.street() (3) address.zip() (4) address.city() (5) DutchAddressAdapter addrAdapter = new DuchAddressAdapter(addr)- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 软件 设计师 05 下午 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文