ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:122.48KB ,
资源ID:6763077      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6763077.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件考试下午真题试题及参考答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件考试下午真题试题及参考答案.docx

1、软件考试下午真题试题及参考答案2016年下半年软件设计师考试下午真题(参考答案) 试题部分 1. 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如下: (1)开户。根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,账户信息(余额等)存入账户记录中; (2)存款。客户可以向其账户中存款,根据存款金额修改账户余额; (3)取款。客户可以从其账户中取款,根据取款金额修改账户余额; (4)证券交易。客户和经纪人均可以进行证券交易(客户通过在线方式,经纪人通过电话),将交易信息存入

2、交易记录中; (5)检查交易。平台从交易记录中读取交易信息,将交易明细返回给客户。 现采用结构化方法对该证券交易平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。 分)(3】【问题1 的名称。中的实体E1-E3使用说明中的词语,给出图1-1 分)(3【问题2】 D1-D3的名称。使用说明中的词语,给出图1-2中的数据存储 4分)3】(【问题 中缺失的数据流及其起点和终点。1-2根据说明和图中的术语,补充图 分)】(5【问题4功能需将交易实际的证券交易通常是在证券交易中心完成的,因此,该平台的“证券交易”进行哪些修改,请用1-21-1和图信息传递给证券交易中心。

3、针对这个功能需求,需要对图 200字以内的文字加以说明。 2. ,将解答填入答题纸的对应栏内。至问题阅读下列说明,回答问题13 【说明】以方拟构建一套宾馆信息管理系统,某宾馆为了有效地管理客房资源,满足不同客户需求, 便宾馆管理及客房预订等业务活动。 【需求分析结果】 该系统的部分功能及初步需求分析的结果如下:)宾馆有多个部门,部门信息包括部门号、部门名称、电话、经理。每个部门可以有多(1 名员工,每名员工只属于一个部门;每个部门只有一名经理,负责管理本部门。)员工信息包括员工号、姓名、岗位、电话、工资,其中,员工号唯一标识员工关系中2(的一个元组,岗位有经理、业务员。 (3)客房信息包括客房

4、号(如1301、1302等)、客房类型、收费标准、入住状态(已入住未入住),其中客房号唯一标识客房关系中的一个元组,不同客房类型具有不同的收费标准。 (4)客户信息包括客户号、单位名称、联系人、联系电话、联系地址,其中客户号唯一标识客户关系中的一个元组。 (5)客户预订客房时,需要填写预订申请。预订申请信息包括申请号、客户号、入住时间、入住天数、客房类型、客房数量,其中,一个申请号唯一标识预订申请中的一个元组;一位客户可以有多个预订申请,但一个预订申请对应唯一的一位客户。 (6)当客户入住时,业务员根据客户的预订申请负责安排入住客房事宜。安排信息包括客房号、姓名、性别、身份证号、入住时间、天数

5、、电话,其中客房号、身份证号和入住时间唯一标识一次安排。一名业务员可以安排多个预订申请,一个预订申请只由一名业务员安排,而且可安排多间同类型的客房。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图如图2-1所示。 【关系模式设计】 部门(部门号,部门名称,经理,电话) ),姓名,岗位,电话,工资)a 员工(员工号,( ,联系人,联系电话,联系地址) b )客户( 客房(客房号,客房类型,收费标准,入住状态) ,入住时间,天数,客房类型,客房数量) c)预订申请( ,天数,电话,业务员)c)安排(申请号,客房号,姓名,性别,( 分)(4【问题1】、联系2根据问题描述,补充四个联系,完

6、善图2-1,的实体联系图。联系名可用联系1 。和*:*)和m:n (或1:1,和1:*1:n4联系3和联系代替,联系的类型为1:1、 8(分)【问题2】 )补充完整,并填入答题纸对应的位置上。d)根据题意,将关系模式中的空(a)(1( )给出“预订申请”和“安排”关系模式的主键和外键。(2 3分)3【问题】(字以内文字解释你100【关系模式设计】中的“客房”关系模式是否存在规范性问题,请用 。的观点(若存在问题,应说明如何修改“客房”关系模式) 3. 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某种出售罐装饮料的自动售货机( Vending Machine)的工作

7、过程描述如下: (1)顾客选择所需购买的饮料及数量。 (2)顾客从投币口向自动售货机中投入硬币(该自动售货机只接收硬币)。硬币器收集投入的硬币并计算其对应的价值。如果所投入的硬币足够购买所需数量的这种饮料且饮料数量足够,则推出饮料,计算找零,顾客取走饮料和找回的硬币;如果投入的硬币不够或者所选购的饮料数量不足,则提示用户继续投入硬币或重新选择饮料及数量。 (3)一次购买结束之后,将硬币器中的硬币移走(清空硬币器),等待下一次交易。自动售货机还设有一个退币按钮,用于退还顾客所投入的硬币。已经成功购买饮料的钱是不会被退回的。 其所示的用例图,得到如图3-1现采用面向对象方法分析和设计该自动售货机的

8、软件系统, 中,用例“购买饮料”的用例规约描述如下。 参与者:顾客。 主要事件流: 1 顾客选择需要购买的饮料和数量,投入硬币; 2自动售货机检查顾客是否投入足够的硬币; 3自动售货机检查饮料储存仓中所选购的饮料是否足够; 自动售货机推出饮料; 4 自动售货机返回找零。 5 各选事件流: 1; 2a若投入的硬币不足,则给出提示并退回到 1 若所选购的饮料数量不足,则给出提示并退回到。 3a“准备服务”状态、“空闲”状态、4根据用例“购买饮料”得到自动售货机的个状态: 3-2所示。“可购买”状态以及“饮料出售”状态,对应的状态图如图 所示。3-3所设计的类图如图 6分)【问题1】( S4所对应的

9、状态名。根据说明中的描述,使用说明中的术语,给出图3-2中的S1 4分)【问题2】( 所对应的事件名E1根据说明中的描述,使用说明中的术语,给出图3-2中的E4 分)【问题3】(5 所对应的类名。3-3中C1C5根据说明中的描述,使用说明中的术语,给出图 4. ,将解答写在答题纸的对应栏内。代码,回答问题1至问题3阅读下列说明和C 【说明】如果匹的过程,其中s称为模式。t和子串s,在主串t中寻找子串s模式匹配是指给定主串 中的位置,否则返回-1 。s配成功,返回在t 数组对匹配过程进行了优化。KMP算法的伪代码描述如下: KMP算法用next i=j=0。1在串t和串s中,分别设比较的起始下标

10、 都还有字符,则循环执行下列操作:2 如果串t和串s t和s的下一个字符;jj=-l或者ti=sj,则将i和分别加1,继续比较1()如果 的位置,即j =nextj。(2)否则,将j向右滑动到nextj 否则返回开始);-1(从如果 3s中所有字符均已比较完毕,则返回匹配的起始位置1 get_next函数给出。求解。求解其中,next数组根据子串snext数组的代码已由数组,长度为next:next 的字符串Is:长度为悯铂s,t )常量和变量说明1(代码】C【*/void 的值/*求nextC程序#include #include #include Is(2)next0*/ while(i

11、初始化,j=-1; next0=-1;/*get_next( int *next, char *s, int Is) int i=0= si=sj) nexti 匹配*/ j+; i+; if( ls)/*还有字符*/ if(j=-1l lsi=sj)/*nextj; else Nexti = j; else j = nextj; int kmp( int *next, char *t ,char *s, int lt, int ) i 2) ) if( j=-1 | (Is ) Int i= 0,j =0 ; while (i = ls)return 4+ ; j + ; else (3-1

12、; 【问题1】(8分) 根据题干说明,填充C代码中的空(1)(4).【问题2】(2分)根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。【问题3】(5分)根据C代码,字符串“BBABBCAC”的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC”,则函数Kmp的返回值是(7)。 5. 阅读下列说明和C+-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(

13、 Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。 【C+代码】 #include using namespace std; class Invoice public: (1) coutThis is the content of the invoice!endl; ; class Decorator : public Invoice Invoice *ticket; public: Decorator(lnvoice *t) ticket = t; voidprintInvoice() if(ticket != NULL) (2); ; classHeadDecorat

14、or : public Decorator public: HeadDecorator(lnvoice*t): Decorator(t) voidprintInvoice() cout This is the header of the invoice! endl; (3); ; classFootDecorator : public Decorator public: FootDecorator(Invoice *t): Decorator(t) voidprintlnvoice() (4); cout This is the footnote of the invoice! endl; ;

15、 int main(void) Invoice t; FootDecoratorf(&t); HeadDecoratorh(&f); h.printInvoice(); cout”-”类型-收费标准,存在传递函数依赖,所以冗余,添加异常,修改异常,删除异常均存在。 试题分析: 2016-11-17 fusional 不需要写应该填部门号吧,应为部门号才是主键,写客户关系模式时,写员工关系模式时,不同的客房类型具有不同应为客户可以单独存在,还有最后最后一问,申请号和客房号吧, 的收费标准,存在着数据曾与,及修改不一致的问题2016-11-18 MegumiIsh 答案已经做了修改2016-11-

16、20 fusional 你们的答案是客户我写的是客户号和申请号和业务员号,老师,我写预定申请关系模式时,因为预定申请需要客户申请,外键是客户号和业务员号。号和申请号。我主键写的是申请号, 业务员处理。我记得哪年的真题和这个一样的,不知道我的想法对不?2016-11-25 flycity 预定的环节没有强调需要记录业务员信息,所以不需要写业务员号。在现实的设计中,根据需要,可写业务员号,而在考试中,一般没有强调需要这个信息,我 们就不写。2016-11-29 fusional 老师,那不是这个我得不到分了哦?2016-12-02 flycity 评分时,看到合理答案但非标准答案,会组织阅卷这个得

17、看评分时严格程度了,一般来说, 老师进行研讨,研讨之后若大家觉得这种解决方案也可行,会把这种答法纳入给分的范畴。 3. 参考答案: :可购买。S3:饮料出售,S4S1问题1:空闲,S2:准备服务, E4:返回找零。E3:饮料数量不足,E2:硬币数量足够,:推出饮料,E1问题2: C5:硬币,:饮料。C3C1:自动售货机,C2:硬币器,:饮料储存仓,C43问题 试题分析:在状态是对状态转换的图形化表达。从题目的说明部分可知,系统中的状态图,本题问题1转换过程中,涉及到的状态一共有四种:空闲、准备服务、可购买、饮料出售。从状态图涉分别为:空闲、准备服务、饮料出售、可购买。关于状态转换的分析S1S4

18、及的转换可知如下: (1)清空硬币器后,自动售货机等待下一次交易,进入空闲状态。此时可任意的进行饮料选择数量,一旦顾客投入硬币,自动售货机便进入准备服务状态。 (2)当自动售货机进行准备服务状态时,开始计算硬币价值,如果硬币不够则提示顾客继续投入硬币。如果硬币足够,则进入可购买状态。 (3)进行可购买状态后,自动售货机判断饮料数量。如果数量不够,则返回准备服务状态提示用户重新选择饮料。如果数量足够,则推出饮料进入饮料出售状态。 (4)进行饮料出售状态后,自动售货机计算找零,并返回进入空闲状态等待下一次交易。 本题问题2主要是分析四种状态中的跳转事件。根据状态图和试题主要事件流的描述可以推出事件

19、E1是饮料数量不足,事件E2是硬币数量足够,事件E3是推出饮料,事件E4是返回找零。 本题问题3根据主要事件流的描述,可以推断出C1C5的类名分别对应自动售货机、硬币器、饮料储存仓、硬币、饮料。 4. 参考答案: 问题1: (1):jls; (2):ti=sj; (3):get_next(next, s, ls); j=nextj; (4):i+1-ls; 问题2: 问题3:(6):-1,-1,1,-1,-1,2,0,0,(7)6。 试题分析: 本题问题1根据KMP算法的伪代码描述进行推导。 根据伪代码中第2步可以推导(1)是判断字符串s是否还有字符,即jls。i表示字符串t的下标,j表示字符串s的下标。 根据伪代码第2.1步可以推导(2)是判断字符串t和字符串s当前位置的字符是否相同,即ti=sj。 根据伪代码第2.2步可以推导(3)是当第2.1步判断条件不满足时,改变j所指向的字符位置。即调用函数get_next(next, s, ls),且j=nextj。 根据伪代码第3步可以推导(4)是返回匹配的起始位置。由于当前i所指向字符串中匹配子串的最后一个字符的位置,且已知子串的长度为ls。(4)的代码为i+1-ls。 本题问题2是计算KMP算法的复杂度。 本题问题

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1