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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

中级软件设计师下半年下午试题.docx

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

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

3、1-1和图1-2进行哪些修改,请用200字以内的文字加以说明。试题二【说明】某宾馆为了有效地管理客房资源,满足不同客户需求,拟构建一套宾馆信息管理系统,以方便宾馆管理及客房预订等业务活动。【需求分析结果】 该系统的部分功能及初步需求分析的结果如下:(1)宾馆有多个部门,部门信息包括部门号、部门名称、电话、经理。每个部门可以有多名员工,每名员工只属于一个部门;每个部门只有一名经理,负责管理本部门。(2)员工信息包括员工号、姓名、岗位、电话、工资,其中,员工号唯一标识员工关系中的一个元组,岗位有经理、业务员。(3)客房信息包括客房号(如1301、1302等)、客房类型、收费标准、入住状态(已入住未

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

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

6、的类型为1:1、1:n和m:n (或1:1,和1:*和*:*)。 问题:2.2 (8分)(1)根据题意,将关系模式中的空(a)(d)补充完整,并填入答题纸对应的位置上。(2)给出“预订申请”和“安排”关系模式的主键和外键。 问题:2.3 (3分)【关系模式设计】中的“客房”关系模式是否存在规范性问题,请用100字以内文字解释你的观点(若存在问题,应说明如何修改“客房”关系模式)。试题三【说明】某种出售罐装饮料的自动售货机( Vending Machine)的工作过程描述如下:(1)顾客选择所需购买的饮料及数量。(2)顾客从投币口向自动售货机中投入硬币(该自动售货机只接收硬币)。硬币器收集投入的

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

8、投入足够的硬币;3自动售货机检查饮料储存仓中所选购的饮料是否足够; 4自动售货机推出饮料;5自动售货机返回找零。各选事件流: 2a若投入的硬币不足,则给出提示并退回到1;3a若所选购的饮料数量不足,则给出提示并退回到1 。根据用例“购买饮料”得到自动售货机的4个状态:“空闲”状态、“准备服务”状态、“可购买”状态以及“饮料出售”状态,对应的状态图如图3-2所示。所设计的类图如图3-3所示。问题:3.1 (6分)根据说明中的描述,使用说明中的术语,给出图3-2中的S1S4所对应的状态名。 问题:3.2 (4分)根据说明中的描述,使用说明中的术语,给出图3-2中的E1E4所对应的事件名 问题:3.

9、3 (5分)根据说明中的描述,使用说明中的术语,给出图3-3中C1C5所对应的类名。试题四阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回-1 。KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:1在串t和串s中,分别设比较的起始下标i=j=0。2如果串t和串s都还有字符,则循环执行下列操作:(1)如果j=-l或者ti=sj,则将i和j分别加1,继续比较t和s的下一个字符;(2)否则,将j向右滑动到nextj的位置,即j =

10、nextj。3如果s中所有字符均已比较完毕,则返回匹配的起始位置(从1开始);否则返回-1其中,next数组根据子串s求解。求解next数组的代码已由get_next函数给出。【C代码】(1)常量和变量说明t,s:长度为悯铂Is的字符串next:next数组,长度为Is(2)C程序#include #include #include /*求next的值*/void get_next( int *next, char *s, int Is) int i=0,j=-1;next0=-1;/*初始化next0*/while(i ls)/*还有字符*/if(j=-1l lsi=sj)/*匹配*/j+;

11、i+;if( si=sj)nexti = nextj;elseNexti = j;elsej = nextj;int kmp( int *next, char *t ,char *s, int lt, int Is )Int i= 0,j =0 ;while (i = ls)return (4) ;elsereturn -1; 问题:4.1 (8分)根据题干说明,填充C代码中的空(1)(4). 问题:4.2 (2分)根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。 问题:4.3 (5分)根据C代码,字符串“BBABBCAC”的nex

12、t数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC”,则函数Kmp的返回值是(7)。试题五阅读下列说明和C+-代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】某发票(Invoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰( Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。问题:5.1 【C+代码】#include using namespace std;class Invoicepublic:(1) coutThis is the content of th

13、e invoice!endl;class Decorator : public Invoice Invoice *ticket;public:Decorator(lnvoice *t) ticket = t; void printInvoice()if(ticket != NULL)(2);class HeadDecorator : public Decoratorpublic:HeadDecorator(lnvoice*t): Decorator(t) void printInvoice() cout This is the header of the invoice! endl;(3) ;

14、class FootDecorator : public Decoratorpublic:FootDecorator(Invoice *t): Decorator(t) void printlnvoice()(4) ;cout This is the footnote of the invoice! endl;int main(void) Invoice t;FootDecorator f(&t);HeadDecorator h(&f);h.printInvoice();cout”-”endl;FootDecorator a(NULL) ; HeadDecorator b( (5) );b.p

15、rintInvoice();return 0;程序的输出结果为:This is the header of the invoice!This is the content of the invoice!This is the footnote of the invoice!-This is the header of the invoice!This is the footnote of the invoice!试题六阅读下列说明和java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】某发票(Invoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰

16、(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。图6-1 类图问题:6.1 【java代码】class invoicepublic void printInvoice() System.out.println ( This is the content of the invoice!);class Decorator extends Invoice protected Invoice ticket;public Decorator(lnvoice t)ticket = t;public void printInvoice()if(ticket != null)(1) ;

17、 class HeadDecorator extends Decoratorpublic HeadDecorator(lnvoice t)super(t);public void printInvoice ()Systent.out.println( This is the header of the invoice! );(2) ;class FootDecorator extends Decorator public FootDecorator(Invoice t)super(t);public void printlnvoice()( 3) ;Systent.out.println( T

18、his is the footnote of the invoice! );Class test public static void main(String args)Invoice t =new Invioce();Invoice ticket;ticket= (4) ;ticket.printInvoice();Systent.out.println(“-“);ticket= (5) ;ticket.printInvoice();程序的输出结果为:This is the header of the invoice!This is the content of the invoice!Th

19、is is the footnote of the invoice!-This is the header of the invoice!This is the footnote of the invoice!中级软件设计师2016下半年下午试题答案试题一问题1.1、E1:客户服务助理 E2:客户 E3:经纪人解析:本题要求识别El一E3具体为哪个外部实体,通读试题说明,可以了解到适合充当外部实体的包括:客户、客户服务助理、经记人。具体的对应关系,可以通过将顶层图与题目说明进行匹配得知。如:从图中可看出El会向交易平台发出数据流开户信息;而从试题说明根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中账户信息存入账户记录中可以看出EI对应是客户服务助理。E2、E3同理可得。问题1.2、D1:客户记录 D2:账户记录 D3:交易记录解析:问题1.3、解析: 问题1.4、解析:试题二问题2.1、问题2.2、问题2.3、试题三试题3.1、问题3.2、问题3.3、试题四问题4.1、问题4.2、问题4.3、试题五试题六

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

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