软件设计师2014年11月下午题(附答案)
2014年下半年 软件设计师 考试试题答案解析
三总线结构的计算机总线系统由(1)组成。
(1)A.CPU总线、内存总线和IO总线 B.数据总线、地址总线和控制总线C.系统总线、内部总线和外部总线D.串行总线、并行总线和PCI总线【答案】B【解析】本题考查计算机系统基础知识。
总线上传输的信息类型分为数据、地址和控制,因此总线由数据总线、地址总线和控制总线组成。
计算机采用分级存储体系的主要目的是为了解决(2)问题。
(2)A.主存容量不足 B.存储器读写可靠性C.外设访问效率D.存储容量、成本和速度之间的矛盾【答案】D【解析】本题考查计算机系统基础知识。
计算机系统中,高速缓存一般用SRAM,内存一般用DRAM,外存一般采用磁存储器。
SRAM 的集成度低、速度快、成本高。
DRAM的集成度高,但是需要动态刷新。
磁存储器速度慢、容量大、价格便宜。
因此,不同的存储设备组成分级存储体系,来解决速度、存储容量和成本之间的矛盾。
属于CPU中算术逻辑单元的部件是(3)。
(3)A.程序计数器 B.加法器 C.指令寄存器 D.指令译码器【答案】B【解析】本题考查计算机系统基础知识。
程序计数器、指令寄存器和指令译码器都是CPU中控制单元的部件,加法器是算术逻辑运算单元的部件。
内存按字节编址从A5000H到DCFFFH的区域其存储容量为(4)。
(4)A.123KB B.180KB C.223KB D.224KB【答案】D【解析】本题考查计算机系统基础知识。
从地址A5000H到DCFFFH,存储单元数目为37FFFH (即224*1024)个,由于是字节编址,从而得到的存储容景为224KB。
以下关于RISC和CISC的叙述中,不正确的是(5)。
(5)A.RISC通常比CISC的指令系统更复杂B.RISC通常会比CISC配置更多的寄存器C.RISC编译器的子程序库通常要比CISC编译器的子程序库大得多D.RISC比CISC更加适合VLSI工艺的规整性要求【答案】A【解析】本题考查计算机系统基础知识。
2014年下半年下午 程序员 试题及答案与解析-软考考试真题-案例分析
2014年下半年下午程序员考试试题-案例分析-答案与解析试题一(共15分)阅读以下说明和流程图,填补流程图中的空缺(1)〜(5),将解答填入答题纸的对应栏内。
【说明】本流程图旨在统计一本电子书中各个关键词出现的次数。
假设已经对该书从头到尾依次分离出各个关键词{A(i)|i=1,…,n}(n>1) },其中包含了很多重复项,经下面的流程处理后,从中挑选出所有不同的关键词共m个{K(j)lj=l,…,m},而每个关键词K(j)出现的次数为K(j),j=1,…,m。
【流程图】【参考答案】(1)、1(2)、K(j)(3)、NK(j)+1->NK(j) 或NK(j)++ 或等价表示(4)、m+1->m 或m++ 或等价表示(5)、A(i)【答案解析】流程图中的第1框显然是初始化。
A (1) ->K(1)意味着将本书的第1个关键词作为选出的第1个关键词。
1->NK (1)意味着此时该关键词的个数置为1。
m是动态选出的关键词数目,此时应该为1,因此(1)处应填1。
本题的算法是对每个关键词与已选出的关键词进行逐个比较。
凡是遇到相同的,相应的计数就增加1;如果始终没有遇到相同关键词的,则作为新选出的关键词。
流程图第2框开始对i=2,n循环,就是对书中其他关键词逐个进行处理。
流程图第3 框开始j=l,m循环,就是按已选出的关键词依次进行处理。
接着就是将关键词A(I)与选出的关键词K(j)进行比较。
因此(2)处应填K(j)。
如果A(i)=K(j),则需要对计数器NK(j)增1,即执行NK(j)+1->NK(j)。
因此(3)处应填NK(j)+1->NK(j)。
执行后,需要跳出j循环,继续进行i循环,即根据书中的下一个关键词进行处理。
如果A(i)不等于NK(j),则需要继续与下个NK(j)进行比较,即继续执行j循环。
如果直到j循环结束仍没有找到匹配的关键词,则要将该A(i)作为新的已选出的关键词。
2014年上半年软件设计师考试下午真题(标准参考答案)
//归并排序#include<stdio.h>#include<stdlib.h>#define MAX 65536void merge(int arr[],int p,int q,int r)//合并[p~q]与[q+1~r]{ int *left,*right; //左右各一个临时数组int n1,n2,i,j,k;n1=q-p+1; //两个子数组长度n2=r-q;if((left=(int*)malloc((n1+1)*sizeof(int)))=NULL)//分配空间{ perror("malloc error");exit(1);}for(i=0;i<n1;i++) //左半边临时数组初始化{ left[i]=arr[p+i];}left[i]=MAX; //最后一个元素为最大值for(i=0;i<n2;i++) //右半边临时数组初始化{ right[i]=arr[q+i+1];}right[i]=MAX; //最后一个元素为最大值i=0;j=0;for(k=p;(1);k++){ if(left[i]>right[j] //递增排序{ (2); //装小数j++;}else{ arr[k]=left[i];i++;}}}void mergeSort(int arr[], int begin, int end)//排序[begin~end]{ int mid;if(3) //[begin~end]{ mid=(begin+end)/2; //分两部分mergeSort(arr,begin,mid);//两部分分别进行归并排序(4);merge(arr,begin,mid,end);//两部分合并}}#include<iostream>#include<vector>using namespace std;class Observer{ //观察者,抽象类public: virtual void update(float temp,float humidity, float cleanness)=0;//更新,纯虚函数};class Subject{ //目标,抽象类public: virtual void registerObserver(Observer *o)=0; //注册,纯虚函数virtual void removeObserver(Observer *o)=0; //删除,纯虚函数virtual void notifyObserver()=0; //通知,纯虚函数};class EnvironentData: public(1){ //子类private: vector<Observer*> observers; //多名观察者float temperature,humidity,cleanness; //温度,湿度,清洁度public: void registerObserver(Observer*o){observer.push_back(o);}//注册,重定义void removeObserver(Observer*o){/*...*/} //删除,重定义void notifyObserver(){ //通知,重定义for(vector<Observer*>::const_iterator it=observer.begin());//迭代器it!=observers.end();it++){(2);}} //更新全部观察者void measurementsChanged(){(3);} //测量有变化,必须通知void setMeasurements(float temperature, float humidity,float cleanness){//设置参数this->temperature=temperature; //设置温度this->humidity=humidity; //设置湿度this->cleaness=cleaness; //设置清洁度(4);} //设置完,说明测量有变化};class CurrentConditionsDisplay:public (5){ //子类private: float temperature,humidity,cleanness; //私有数据Subject * envData; //目标对象,环境数据public: CurrentConditionsDisplay(Subject *envData){ //构造函数,单参数this->envData=envData; //环境数据获取(6);} //加入环境数据void update(float temperature, float humidity,float cleanness){//更新,重定义this->temperature=temperature; //更新温度this->humidity=humidity; //更新湿度this->cleanness=cleanness; //更新清洁度display();} //调用显示函数void display(){/*...*/} //显示函数定义};int main(){ //主函数EnvironmentData * envData=new EnvironmentData(); //构造函数,新目标CurrentConditionsDisplay*currentDisplay=new CurrentConditionsDisplay (envData);//构造函数,新观察者envdata->setmeasurements(80,65,30.4f); //获取环境数据return 0; //返回,调用析构函数}。
2014软件水平考试(中级) 软件设计师真题及答案综合
2014软件水平考试(中级) 软件设计师真题及答案综合说明:答案和解析在试卷最后第1部分:单项选择题,共69题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]下图所示为(46)设计模式,适用于(47)。
A)一个系统要由多个产品系列中的一个来配置时B)当一个类希望由它的子类来指定它所创建的对象时C)当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时D)当一个系统应该独立于它的产品创建、构成和表示时2.[单选题]在如下所示的进程资源图中,(27);该进程资源图是(28)。
A)P1、P2、P3都是阻塞节点B)P1是阻塞节点,P2、P3是非阻塞节点C)P1、P2是阻塞节点,P3是非阻塞节点D)P1、P2是非阻塞节点,P3是阻塞节点3.[单选题]A)π1,2,7(σ2=‘信息’,∧3=5∧4=6∧7’北京’(R×S))B)π1,2,7(σ3==5∧4=6(σ2=‘信息’(R)×σ5=‘北京’(S)))C)π1,2,7(σ3==5∧4=6∧2=‘’(R×σ7=’’(S)))D)π1,2,7(σ3==5∧4=6∧7=‘北京’(σ2=‘信息’(R)×(S)))4.[单选题]DHCP客户端可以从DHCP服务器获得(69)。
A)DHCP服务器的地址和Web服务器的地址B)DNS服务器的地址和DHCP服务器的地址C)客户端地址和邮件服务器地址D)默认网关的地址和邮件服务器地址5.[单选题]Flynn分类法基于信息流特征将计算机分成4类,其中(6)只有理论意义而无实例。
A)SISDB)MISDC)SIMDD)MIMD6.[单选题]ICMP协议属于因特网中的(67)协议,ICMP协议数据单元封装在(68)中传送。
A)以太帧B)TCP段C)UDP数据报D)IP数据报7.[单选题]PPP中的安全认证协议是(66),它使用三次握手的会话过程传送密文。
A.MDSB.PA)PB)CHC)PD)NCP8.[单选题]Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modem systems is such, and the demand for short schedules so great, that it is no longer ___71___ for one person to do most engineering jobs. Systems development is a team ___72___, and the effectiveness of the team largely determines the ___73___ of the engineering.Development teams often behave much like baseball or basketball teams. Even though they may have multiple specialties, all the members work toward ___74___. However, on systems maintenance and enhancement teams, the engineers often work relatively independently, much likewrestling and track teams.A team is ___75__ just a group of people who happen to work together. Teamwork takes practice and it involves special skills. Teams require common processes; they need agreed-upon goals; and they need effective guidance and leadership. The methods for guiding and leading such teams are well known,but they are not obvious.A)activityB)jobC)processD)application9.[单选题]Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modem systems is such, and the demand for short schedules so great, that it is no longer ___71___ for one person to do most engineering jobs. Systems development is a team ___72___, and the effectiveness of the team largely determines the ___73___ of the engineering.Development teams often behave much like baseball or basketball teams. Even though they may have multiple specialties, all the members work toward ___74___. However, on systems maintenance and enhancement teams, the engineers often work relatively independently, much likewrestling and track teams.A team is ___75__ just a group of people who happen to work together. Teamwork takes practice and it involves special skills. Teams require common processes; they need agreed-upon goals; and they need effective guidance and leadership. The methods for guiding and leading such teams are well known,but they are not obvious.A)multiple objectivesB)different objectivesC)a single objectiveD)independent objectives10.[单选题]Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modem systems is such, and the demand for short schedules so great, that it is no longer ___71___ for one person to do most engineering jobs. Systems development is a team ___72___, and the effectiveness of the team largely determines the ___73___ of the engineering.Development teams often behave much like baseball or basketball teams. Even though they may have multiple specialties, all the members work toward ___74___. However, on systems maintenance and enhancement teams, the engineers often work relatively independently, much likewrestling and track teams.A team is ___75__ just a group of people who happen to work together. Teamwork takes practice and it involves special skills. Teams require common processes; they need agreed-upon goals; and they need effective guidance and leadership. The methods for guiding and leading such teams are well known,but they are not obvious.A)sizeB)qualityC)scaleD)complexity11.[单选题]UML图中,一张交互图显示一个交互,由一组对象及其之间的关系组成,包含它们之间可能传递的消息。
2014年下半年软件水平考试(中级)电子商务设计师下午(应用技术
2014年下半年软件水平考试(中级)电子商务设计师下午(应用技术)真题试卷(题后含答案及解析)题型有:1. 试题一 2. 试题二 3. 试题三 4. 试题四 5. 试题五试题一(15分)1.阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。
【需求分析结果】(1)超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的每一个元组。
每个超市只有一名经理。
(2)超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。
部门信息包括:超市名称、部门名称、部门经理和联系电话。
超市名称、部门名称唯一确定部门关系的每一个元组。
(3)员工信息包括:员工号、姓名、超市名称、部门名称、职位、联系方式和工资。
其中,职位信息包括:经理、部门经理、业务员等。
员工号唯一确定员工关系的每一个元组。
(4)商品信息包括:商品号、商品名称、型号、单价和数量。
商品号唯一确定商品关系的每一个元组。
一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。
【概念模型设计】根据需求分析阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:【关系模式设计】超市(超市名称,经理,地址,电话) 部门( (a) ,部门经理,联系电话) 员工( (b) ,姓名,联系方式,职位,工资) 商品(商品号,商品名称,型号,单价,数量) 配给( (c) ,配给时间,配给数量,业务员)【问题1】根据问题描述,补充四个联系,完善图1-1的实体联系图。
联系名可用联系1、联系2、联系3和联系4代替,联系的类型分为1:1、1:n和m:n(或1:1、1:*和*:*)。
【问题2】(1)根据实体联系图,将关系模式中的空(a)~(c)补充完整;(2)给出部门和配给关系模式的主键和外键。
2014年下半年下午 程序员 试题及答案与解析-软考考试真题-案例分析
2014年下半年下午程序员考试试题-案例分析-答案与解析试题一(共15分)阅读以下说明和流程图,填补流程图中的空缺(1)〜(5),将解答填入答题纸的对应栏内。
【说明】本流程图旨在统计一本电子书中各个关键词出现的次数。
假设已经对该书从头到尾依次分离出各个关键词{A(i)|i=1,…,n}(n>1) },其中包含了很多重复项,经下面的流程处理后,从中挑选出所有不同的关键词共m个{K(j)lj=l,…,m},而每个关键词K(j)出现的次数为K(j),j=1,…,m。
【流程图】【参考答案】(1)、1(2)、K(j)(3)、NK(j)+1->NK(j) 或NK(j)++ 或等价表示(4)、m+1->m 或m++ 或等价表示(5)、A(i)【答案解析】流程图中的第1框显然是初始化。
A (1) ->K(1)意味着将本书的第1个关键词作为选出的第1个关键词。
1->NK (1)意味着此时该关键词的个数置为1。
m是动态选出的关键词数目,此时应该为1,因此(1)处应填1。
本题的算法是对每个关键词与已选出的关键词进行逐个比较。
凡是遇到相同的,相应的计数就增加1;如果始终没有遇到相同关键词的,则作为新选出的关键词。
流程图第2框开始对i=2,n循环,就是对书中其他关键词逐个进行处理。
流程图第3 框开始j=l,m循环,就是按已选出的关键词依次进行处理。
接着就是将关键词A(I)与选出的关键词K(j)进行比较。
因此(2)处应填K(j)。
如果A(i)=K(j),则需要对计数器NK(j)增1,即执行NK(j)+1->NK(j)。
因此(3)处应填NK(j)+1->NK(j)。
执行后,需要跳出j循环,继续进行i循环,即根据书中的下一个关键词进行处理。
如果A(i)不等于NK(j),则需要继续与下个NK(j)进行比较,即继续执行j循环。
如果直到j循环结束仍没有找到匹配的关键词,则要将该A(i)作为新的已选出的关键词。
2014年上半年软件设计师考试下午真题(标准参考答案)
2014年下半年下午 软件测评师 试题及答案与解析-全国软考真题
2014年下半年下午软件测评师考试试题-案例分析-答案与解析试题一(共15分)【说明】阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【C程序】int GetMaxDay( int year, int month){int maxday=0; //1if( month>=1&&month<=12){ //2,3if(month==2){ //4if( year%4==0){ //5if(year%100==0){ //6if(year%400==0) //7maxday= 29; //8else //9maxday= 28;}else //10maxday= 29;}elsemaxday = 28; //11}else{ //12if (month==4||month==6||month==9||month==11) //13, 14,15,16maxday = 30; //17else //18maxday = 31;}}return maxday; //19}【问题1】请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。
【答案解析】试题分析】判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。
本题中程序有6个判定,所以满足判定覆盖一共需要12个逻辑条件。
【问题2】请画出上述程序的控制流图,并计算其环路复杂度V(G)。
【答案解析】【试题分析】涉及到的知识点包括根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。
控制流图的节点代表一个基本块,定向边代表控制流的方向。
其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套判断。
2014年下半年软件设计师考试真题
2014年下半年软件设计师真题上午试题目录:2014年下半年软件设计师真题上午试题2014年下半年软件设计师真题下午试题2014年下半年软件设计师真题上午试题1.属亍CPU中算术逡辑单元的部件是()。
A.程序计数器B.加法器C.指令寄存器D.指令译码器2.计算机采用分级存储体系的主要目的是为了解决()问题。
A.主存容量丌足B.存储器读写可靠性C.外设访问效率D.存储容量、成本和速度乊间的矛盾3.三总线结构的计算机总线系统由()组成。
A.CPU总线、内存总线和IO总线B.数据总线、地址总线和控制总线C.系统总线、内部总线和外部总线D.串行总线、幵行总线和PCI总线4.DHCP客户端可从DHCP服务器获得()。
A.DHCP服务器的地址和Web服务器的地址B.DNS服务器的地址和DHCP服务器的地址C.客户端地址和邮件服务器地址D.默讣网关的地址和邮件服务器地址5.ICMP协议属亍因特网中的()协议,ICMP协议数据单元封装在()中传送。
A.数据链路层B.网络层C.传输层D.会话层A.以太帧 B.TCP段 C.UDP数据报 D.IP数据报6.PPP中的妥全讣证协议是(),它使用三次插手的会话过程传送密文。
A.MD5B.PAPC.CHAPC.CHAP7.已知一个文件中出现的各字符及其对应的频率如下表所示。
若采用定长编码,则该文件()。
若采用Huffman编码,则字符序列“face”的编码应为()。
A.2B.3C.4D.5A.110001001101B.001110110011C.101000010100D.010*********8.对一待排序序列分别进行直接揑入排序和简单选择排序,若待排序序列中有两个元素的值相同,则()保证这两个元素在排序前后的相对位置丌发。
A.直接揑入排序和简单选择排序都可以B.直接揑入排序和简单选择排序都丌能C.只有直接揑入排序可以D.只有简单选择排序可以素把待排序数组划分成两个部分,前面一部分元素值小亍等亍基准元素,而后面一部分元素值大亍基准元素。
2014年上半年软件设计师下午试卷-案例分析-真题+答案
软件设计师2014年上半年下午试卷-案例分析第1题某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息。
该系统的主要功能如下:1)记录巴士ID和维修问题。
巴士到车库进行维修,系统将巴士基本信息和ID记录在巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。
2)确定所需部件。
根据维修订单确定维修所需部件,并在部件清单中进行标记。
3)完成维修。
机械师根据维修记录文件中的待维修机械问题,完成对巴士的维修,登记维修情况;将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中,并将所用部件清单发送给库存管理系统以对部件使用情况进行监控。
巴士司机可查看已维修机械问题。
4)记录维修工时。
将机械师提供的维修工时记录在人事档案中;将维修总结发送给主管进行绩效考核。
5)计算维修总成本。
计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。
现采用结构化方法对巴士维修系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
问题1.1 使用说明中的词语,给出图l-1中的实体El~E5的名称。
答案:E1:巴士司机E2:机械师E3:会计E4:主管E5: 库存管理系数【软考在线,免费在线真题,定制学习计划】问题1.2 使用说明中的词语,给出图1-2中的数据存储Dl~D4的名称。
答案:D1: 巴士列表文件D2: 维修记录文件D3:部件清单D4:人事档案问题1.3 说明图1-2中所存在的问题。
答案:缺失以下数据流:1)名称:待维修机械问题;起点:D2;终点:3完成维修。
2)名称:实际所用部件;起点:D3;终点:5计算总成本。
问题1.4 根据说明和图中术语,采用补充数据流的方式,改正图1-2中的问题。
要求给出所补充数据流的名称、起点和终点。
答案:缺失以下数据流:1)名称:待维修机械问题;起点:D2;终点:3完成维修。
2014年下半年软件设计师考试下午真题(参考答案)
● 阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】 某大型披萨加工和销售商为了有效管理生产和销售情况,欲开发一披萨信息系统, 其主要
功能如下: (1)销售。处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。销售订单
【说明】 某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构
建一个超市信息管理系统。 【需求分析结果】
更多考试真题及答案与解析,关注希赛网在线题库(/tiku/)
希赛网(),专注软考、PMP、通信考试
(3)员工信息包括:员工号、姓名、超市名称、理、业务员等。员工号唯一确定员工关系的每一个元组。
(4)商品信息包括:商品号、商品名称、型号、单价和数量。商品号唯一确定商品关系的 每一个元组。一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配 给。 【概念模型设计】
录在采购订单表中;得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标 记已完成采购的订单。
(5)运送。根据销售订单将披萨交付给客户,并记录在交付记录表中。 (6)财务管理。在披萨交付后,为客户开具费用清单,收款并出具收据;依据完成的采购 订单给供应商支付原材料费用并出具支付细节;将收款和支付记录存入收支记录表中。 (7)存储。检查库存的原材料、拔萨和未完成订单,确定所需原材料。 现采用结构化方法对披萨信息系统进行分析与设计,获得如图 1-1 所示的上下文数据流图和 图 1-2 所示的 0 层数据流图。
【问题 1】(4 分) 根据问题描述,补充四个联系,完善图 1-1 的实体联系图。联系名可用联系 1、联系
2、联系 3 和联系 4 代替,联系的类型分为 1:1、1:n 和 m:n(或 1:1、1:*和*:*)。 【问题 2】(7 分)
2014年下半年下午 软件测评师 试题及答案与解析-全国软考真题
2014年下半年下午软件测评师考试试题-案例分析-答案与解析试题一(共15分)【说明】阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【C程序】int GetMaxDay( int year, int month){int maxday=0; //1if( month>=1&&month<=12){ //2,3if(month==2){ //4if( year%4==0){ //5if(year%100==0){ //6if(year%400==0) //7maxday= 29; //8else //9maxday= 28;}else //10maxday= 29;}elsemaxday = 28; //11}else{ //12if (month==4||month==6||month==9||month==11) //13, 14,15,16maxday = 30; //17else //18maxday = 31;}}return maxday; //19}【问题1】请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。
【答案解析】试题分析】判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。
本题中程序有6个判定,所以满足判定覆盖一共需要12个逻辑条件。
【问题2】请画出上述程序的控制流图,并计算其环路复杂度V(G)。
【答案解析】【试题分析】涉及到的知识点包括根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。
控制流图的节点代表一个基本块,定向边代表控制流的方向。
其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套判断。
2014上半年软件设计师考试真题及答案-下午卷
2014上半年软件设计师考试真题及答案-下午卷试题一(共15分)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息。
该系统的主要功能如下:1)记录巴士ID和维修问题。
巴士到车库进行维修,系统将巴士基本信息和ID记录在巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。
2)确定所需部件。
根据维修订单确定维修所需部件,并在部件清单中进行标记。
3)完成维修。
机械师根据维修记录文件中的待维修机械问题,完成对巴士的维修,登记维修情况;将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中,并将所用部件清单发送给库存管理系统以对部件使用情况进行监控。
巴士司机可查看已维修机械问题。
4)记录维修工时。
将机械师提供的维修工时记录在人事档案中;将维修总结发送给主管进行绩效考核。
5)计算维修总成本。
计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。
现采用结构化方法对巴士维修系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
【问题1】使用说明中的词语,给出图1-1中的实体E1~E5的名称。
E1:巴士司机E2:机械师E3:会计E4:主管E5:库存管理系数【试题解析】本题考查的是DFD的应用,属于比较传统的题目,考查点也与往年类似。
本问题考查的是顶层DFD。
顶层DFD通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统)、外部实体以及外部实体与系统之间的输入输出数据流。
题目要求填充的正是外部实体。
从题干说明1)没有明确说明由巴士到车库后由谁提供待维修问题,图1-1中的E1,考察说明中3)中最后一句说明“巴士司机可査看已维修机械问题”可以看出,从系统到巴士司机有输出数据流“已维修机械问题”,可知E1为巴士司机。
从2)中“机械师根据维修记录文件中的待维修机械问题,完成对巴士的维修,登记维修情况”;再看说明4)中机械师提供维修工时,可以看出,从E2到系统有输入数据流“维修工时”、输出数据流“待维修机械问题”,可知E2为机械师,还将维修总结发送给主管,即系统到E4 有输出数据流“维系总结”,可知E4为主管。
2014年下半年 软件设计师 详细答案
三总线结构的计算机总线系统由(1)组成。
(1)A.CPU总线、内存总线和IO总线 B.数据总线、地址总线和控制总线C.系统总线、内部总线和外部总线D.串行总线、并行总线和PCI总线【答案】B【解析】本题考查计算机系统基础知识。
总线上传输的信息类型分为数据、地址和控制,因此总线由数据总线、地址总线和控制总线组成。
计算机采用分级存储体系的主要目的是为了解决(2)问题。
(2)A.主存容量不足 B.存储器读写可靠性C.外设访问效率D.存储容量、成本和速度之间的矛盾【答案】D【解析】本题考查计算机系统基础知识。
计算机系统中,高速缓存一般用SRAM,内存一般用DRAM,外存一般采用磁存储器。
SRAM 的集成度低、速度快、成本高。
DRAM的集成度高,但是需要动态刷新。
磁存储器速度慢、容量大、价格便宜。
因此,不同的存储设备组成分级存储体系,来解决速度、存储容量和成本之间的矛盾。
属于CPU中算术逻辑单元的部件是(3)。
(3)A.程序计数器 B.加法器 C.指令寄存器 D.指令译码器【答案】B【解析】本题考查计算机系统基础知识。
程序计数器、指令寄存器和指令译码器都是CPU中控制单元的部件,加法器是算术逻辑运算单元的部件。
内存按字节编址从A5000H到DCFFFH的区域其存储容量为(4)。
(4)A.123KB B.180KB C.223KB D.224KB【答案】D从地址A5000H到DCFFFH,存储单元数目为37FFFH (即224*1024)个,由于是字节编址,从而得到的存储容景为224KB。
以下关于RISC和CISC的叙述中,不正确的是(5)。
(5)A.RISC通常比CISC的指令系统更复杂B.RISC通常会比CISC配置更多的寄存器C.RISC编译器的子程序库通常要比CISC编译器的子程序库大得多D.RISC比CISC更加适合VLSI工艺的规整性要求【答案】A【解析】本题考查计算机系统基础知识。
计算机工作时就是取指令和执行指令。
【中级软件设计师历年真题】2014年11月真题(含解析)
2014 年下半年软件设计师考试下午真题(标准参考答案)
(5)动态规划法 (6)O(n2) 【问题 3】 b={1,2,2,3,3,4} 试题分析: 本题考察算法设计与分析技术以及算法的 C 语言实现,是比较传统的题目,要求考生细心分析题 目中所描述的内容。 (1) 根据题中说明,b 数组记录最长递增子序列的长,故应初始化 b[0]=1,这是第一问的答案。 初始 Len=0,接下来 a 中某个元素的值大于前面某个元素,则 len+1 放进 b,故第二问为 j<=i,第三 问为 a[j]<=a[i],第四问为 b[i]=len+1。 (2)算法将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题 的解。使用的是动态规划的思想。时间复杂度计算最坏情况下的运算次数,最坏情况时 i 和 j 都从 1 跑到 n,故运算 n 的平方次。算法的时间复杂度为 O(n2)。 (3)初始 b[0]=1,a[0]=3,a[1]=10 进入时 b[1]=2,a[2]=5 进入时有 3、5 的序列故 b[2]=2,a[3]=15 进入时有 3、10、15,故子序列为 3,a[4]=6 时有子序列 3、5、6,故为 3,当最后一个元素 8 进入 时有 3、5、6、8,故 b[5]=4。所以 b=[1,2,2,3,3,4]。
老师,根据“(4)某些选区可能包含多个镇;而某些较大的城市也可能包含多个选区。”这句话,我 觉得 M5 和 M6 都应该为*吧,特别是 M6,因为一个地址由大城市构成的话,那么这个地址可能会 包含多个选择,所以我觉得 M6 不应该为 1,而应该为*,请指教! 您好,同学思考的比较细致,但是还是要注意把握整个题目,C1 为居民的居住地址 Address,C2 为 选区(Riding),在题目(2)中提到,每个合法选民仅能注册一个选区。也可以转换为一个居住地址只 能在一个选区,同时考虑现实生活中选举的状况,一个人是只能投一票的,故地址跟选区的关系是 *对 1。 请问类图之间的关系,比如 M2,M3 答案是*,这个*和 0..*还有 1..*那个是等价的? 这里答案 m3 多重度 *是否等价 0…*,如果等价,这里 m3 多重度是不是应该为 1…*,一个选区 可以对应一个选民或多个选民,但不能对应 0 个选民吧。同样,m5 也应为 1…*不太明白,请老师 指导 谢谢 您好 一个选区如果只有一个选民不该称为选区了,还是*比较合适,同理一个选区对应多个地址的 是的,我的意思就是一个选区可以对应多个选民,一个选区也应对个地址,所以我觉得 m3 应是 1..*,m5 也应是 1..*,但你们的答案是*,教材里讲,* 等价于 0..*,对应 0 个到多个。就是说 m3 多 重度等价于 0..*,即一个选区可以对应 0 个到多个选民,多个是对的,但不可能对应 0 个选民吧。 所以我认为这里 M3 多重度是 1..*,即对应一个到多个选民。请老师看一下,谢谢 您好 这个地方 0 个选民确实不太合适,不过以答案为准理解下吧,某些选区选民移动变迁为 0 的可能 也是存在的。 您好老师!C1 与 C2 我有点疑问,每个合法的选民必顺通过系统对票所在区域(即选区 Riding)进 行注册,在 1‐1 类图中,Registration 所对应的 C1 处,如果 C1 为居住地 Address,这样不是和选区 Riding 失去了联系了吗,所以我认为 C1 选区 Riding,C2 是居住地 Address。 1‐1 图中 Registration 没有画到 C1 去吧? 问题三,需要添加“主要居住地”类吗? 不需要,没有添加这个类的需要 4. 参考答案: 【问题 1】 (1)b[0]=1 (2)j<=i (3)a[j]<=a[i] (4)b[i]=len+1 【问题 2】
软件设计师真题(2014-2017)
2014 年上半年软件设计师上午试题分析与解答
● 在 CPU 中, 常用来为 ALU 执行算术逻辑运算提供数据并暂存运算结果的寄存器是 (1) 。 (1) A.程序计数器 B.状态寄存器 C.通用寄存器 D.累加寄存器 试题分析 在运算器中, 累加寄存器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器, 能进行加、减、读出、移位、循环移位和求补等操作,是运算器的主要部分。 参考答案:(1)D ● 某机器字长为 n,最高位是符号位,其定点整数的最大值为(2)。 (2) A.2n-1B.2n-1-1C.2nD.2n-1 试题分析 由于最高位是符号位,因此最大的定点整数是:
表示显示器在横向(行)上具有的像素点数目; 垂直分辨率则表示显示器在纵向(列)上具有的 像素点数目。 。 参考答案:(14)B ● 以下关于结构化开发方法的叙述中,不正确的是(15)。 (15)A.将数据流映射为软件系统的模块结构 B.一般情况下,数据流类型包括变换流型和事务流型 C.不同类型的数据流有不同的映射方法 D.一个软件系统只有一种数据流类型 试题分析 结构化分析与设计方法是一种面向数据流的开发方法,它以数据流为中心构建软件的分 析模型和设计模型。结构化设计是将结构化分析的结构(数据流图)映射成软件的体系结构 (结构图)。根据信息流的特点,可将数据流图分为变换型数据流图和事务型数据流图,其对 应的映射分别称为变换分析和事务分析。 在规模较大的实际系统中,其数据流图往往是变换型和事务型的混合结构,此时可以把 变换分析是事务分析应用在同一数据流图的不同部分。 参考答案:(15)D ● 模块 A 提供某个班级某门课程的成绩给模块 B,模块 B 计算平均成绩、最高分和最 低分,将计算结果返回给模块 A,则模块 B 在软件结构图中属于(16)模块。 (16)A.传入 B.传出 C.变换 D.协调 试题分析 模块结构图中的模块类型如下: ①传人模块:从下属模块取得数据,经过某些处理,再将其结果传给上级模块。 ②传出模块:从上级模块取得数据,经过某些处理,再将其结果传给下属模块。 ③变换模块:也叫加工模块。它从上级模块取得数据,进行特定的处理,转换成其他形 式,再传回上级模块。它加工的数据流称作变换数据流。 ④协调模块:对所有下属模块进行协调和管理的模块。在系统的输入输出部分或数据加 工部分可以找到这样的模块。在一个好的模块结构图中,协调模块应在较高层出现。 参考答案:(16)C ● (17)软件成本估算模型是一种静态单变量模型,用于对整个软件系统进行估算。 (17)A.PutnamB.基本 COCOMOC.中级 COCOMOD.详细 COCOMO 试题分析 COCOMO 用 3 个不同层次的模型来反映不同程度的复杂性,它们分别为:
2014年下半年下午 软件设计师 试题及答案与解析-软考考试真题-案例分析
2014年下半年下午软件设计师考试试题-案例分析-答案试题一(共15分)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某大型披萨加工和销售商为了有效管理生产和销售情况,欲开发一披萨信息系统,其主要功能如下:(1)销售。
处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。
销售订单记录了订购者、所订购的披萨、期望的交付日期等信息。
(2)生产控制。
根据销售订单以及库存的披萨数量,制定披萨生产计划(包括生产哪些披萨、生产顺序和生产量等),并将其保存在生产计划表中。
(3)生产。
根据生产计划和配方表中的披萨配方,向库存发出原材料申领单,将制作好的披萨的信息存入库存表中,以便及时进行交付。
(4)采购。
根据所需原材料及库存量,确定采购数量,向供应商发送采购订单,并将其记录在采购订单表中;得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标记已完成采购的订单。
(5)运送。
根据销售订单将披萨交付给客户,并记录在交付记录表中。
(6)财务管理。
在披萨交付后,为客户开具费用清单,收款并出具收据;依据完成的采购订单给供应商支付原材料费用并出具支付细节;将收款和支付记录存入收支记录表中。
(7)存储。
检查库存的原材料、拔萨和未完成订单,确定所需原材料。
现采用结构化方法对披萨信息系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
【问题1】根据说明中的词语,给出图1-1中的实体E1~E2的名称。
【参考答案】E1、客户;E2、供应商【答案解析】DFD是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。
上下文DFD (顶层DFD)通常用来确定系统边界,将待开发系统看作一个大的加工(处理),然后根据系统从哪些外部实体接收数据流,以及系统将数据流发送到哪些外部实体,建模出的上下文图中只有唯一的一个加工和一些外部实体,以及这两者之间的输入输出数据流。
2014年上半年软件设计师答案参考
2014年上半年软件设计师答案参考时隔多年,再次步入考场,心情有些忐忑。
现在的考试弄的挺fancy的,不需要在涂准考证之类的,直接贴准考证条形码,人性化啊,既节省时间,又避免填涂出错。
2014年上半年软件设计师考试,难度适中,题目的歧义性比较小(除下午第三题外,在后面的答案参考中,会简单评价)。
为了增加考试的通过率,本人认真研读了2009年上半年到2013年上半年的试卷(不知道为什么,2013年下半年的试卷一直没找到,这也是为什么想把本人的答案放在网上的原因之一,希望可以给以后参加考试的朋友做个参考),在2014年上半年的试卷中,与前几年重复的考题不多,10题以内,考点也有较大不同,同时有些比较新颖的题,如知识产权等,不过脱开软件知识产权,去考查艺术品知识产权,软考用律考的题,总有点.....好了,上本人的答案,上午题题实在是记不住了,如果有记住的朋友,请在此帖中一起完善吧,答案无法保证完全正确,请包涵。
上午题答案:1-5 CBCDB,这里面有道海明码的考题,基本上记住公式就可以过6-10 ABDBB11-15 CBABD16-20 CBDBC21-25 BADCD26-30 BDBBA31-35 ACACA36-40 DACDB41-45 BBCDC46-50 CAACD51-55 CBCAD56-60 CADBD61-65 BCCBA66-70 CDACB英文是关于云计算的,难度小于四六级英语71 A 是connected,72 D是synonym,73 B是approach(答案有点吃不准), 74 B是foundation,75 C 是application。
上午题中关于设计模式部分的题比较难,居然还有facade的题,仅靠蓝本的复习资料是不够的。
下午题的答案参考。
第一题是DFD,说修车的事,题目中规中矩,拿分题1.1 E1 巴士司机 E2 机械师 E3 主管 E4 会计 E5 修车管理系统1.2 D1 订单,D2 维修记录 D3 维修清单 D4 人事档案1.3 处理3,完成维修中,没有输入数据流1.4 数据流 待维修记录,起点 D2,终点 3;数据流 维修情况,起点 E2,终点 3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的每一个元组。每个超市只有一名经理。
(2)超市设有计划部、账务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。部门信息包括:超市名称、部门名称、部门经理和联系电话。超市名称、部门名称唯一确定部门关系的每一个元组。
Light* light;
Public:
LightOffCommand(Light* light){this->light = light;}
Void execute(){(3);}
};
Class RemoteControl(//遥控器
Priavte:
Command* onCommands[7];
Command* offCommands[7];
(2)假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应修改为(d),超市关系应修改为(e)。
试题三
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某公司欲开发一个管理选民信息的软件系统。系统的基本需求描述如下;
(1)每个人(Person)可以是一个合法选民(Eligible)或者无效的选民(Ineligible)。
}
(1);
For(I= 1;I< n; i++){
For(j = 0; len = 0;(2); j++){
If((3)&& len < b[j])
Len = b[j];
}
(4);
}
Printf(“len: %d\n”, maxL(b,n) );
Printf(“\n”);
}
[问题1]
根据说明和C代码,填充C代码中空(1)~(4)。
(2)对手满足(1)的选民,需要划定其“主要居住地”,以确定他们应该在哪个选区进行投票。
为了满足上述需要,需要对图1-1所示的类图进行哪些修改?请用100字以内文字说明。
试题四
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
[说明]
计算一个整数数组a的最长递增序列长度的方法描述如下:
(3)员工信息包括:员工号、姓名、超市名称、部门名称、职位、联系方式和工资。其中,职位信息包括:经理、部门经理、业务员等。员工号唯一确定员工关系的每一个元组。
(4)商品信息包括:商品号、商品名称、型号、单价和数量。商品号唯一确定商品关系的每一个元组。一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。
LightOnCommand* kitchenLightOn = new LightOnCommand(kitchenLight);
LightOnCommand* kitchenLihgtOff = new LightOffCommand(kitchenLight);
remoteControl->setCommand(0, livingRoomLightOn, livingRoomLightOff);
b:长度为n的数组,b[i]记录以a[i](0<= i < n)为结尾元素的最长递增子序列的长度,其中0<= i < n
len:最长递增子序列的长度
i, j:循环变量
temp:临时变量
(2)C程序
#include<stdio.h>
Int maxL(int *b, int n){
IntI, temp = 0;
现采用面向对象方法对该系统进行分析与设计,得到如图3-1所示的初始类图。
[问题1]
根据说明中的描述,给出图3-1中C1~C4所对应的类名(类名使用说明中给出的英文词汇)。
[问题2]
根据说明中的描述,给出图3-1中M1~M6处的多重度。
[问题3]
现对该系统提出了以下新需求:
(1)某些人拥有多个选区投票的权利,因此需要注册多个选区;
[问题1]
根据说明中的词语,给出图1-1中实体E1~E2的名称。
[问题2]
根据说明中的词语,给出图1-2中的数据存储D1~D5的名称。
[问题3]
根据说明和图中词语,补充图1-2中缺失的数据流及其起点和终点。
试题二
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某集团公司在全国不同城市拥有多个大型城市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。
remoteControl->setCommand(1, kitchenLightOn, kitchenLightOff);
remoteConrol->onButtonWasPushed(0);
remoteControl->offButtonWasPushed(0);
remoteControl->onButtonWasPushed(1);
软件设计师2014年11月下午题(附答案)
试题一
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某大型披萨加工和销售商为了有效管理生产和销售情况,欲开发披萨信息系统,其这一切功能如下:
(1)销售。处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。销售订单记录了订购者、所订购的披萨、期望的交付日期等信息。
Public:
RemoteContorl(){/*代码省略*/}
Void setCommand(int slot, Command* onCommand, Command* offCommand){
(4)= onCommand;
(5)= offCommand;
}
Void onButtonWasPushed(int slot){(6);}
Public LightOffCommand(Light light){ this.light = light;}
[概念模型设计]
根据需求分析阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
[关系模式设计]
超市(超市名称,经理,地址,电话)
部门((a),部门经理,联系电话)
员工((b),姓名,联系方式,职位,工资)
商品(商品号,商品名称,型号,单价,数量)
配给((c),配给时间,配给数量,业务员)
[问题1]
根据问题描述,补充四个联系,完善图1-1的实体联系图。联系名可用联系1、联系2、联系3和联系4代替,联系的类型分为1:1:、1:n、和m:n(或1:1、1:*和*:*)。
[问题2]
(1)根据实体联系图,将关系模式中的空(a)~(c)补充完整;
(2)给出部门和配给关系模式的主键和外键。
[问题3]
(1)超市关系的地址可进一步分为邮编、省、市、街道,那么该属性属于简单属性还是复合属性?请用100字以内文字说明。
Void offButtonWasPushed(int slot){(7);}
};
Int main(){
RemoteControl* remoteControl = new RemoteControl();
Light* livingRoomLight = new Light(“Living Room”);
Class Light(
Public Light(String name){/*代码省略*/}
Public void on(){/*代码省略*/}//开灯
Public void off(){/*代码省略*/}//关灯
//其余代码省略
}
(1){
public void execute();
}
Class LightOnCommand implement Command{//开灯命令
(2)每个合法选民必须通过该系统对其投票所在区域(即选区,Riding)进行注册(Registration)。每个合法选民仅能注册一个选区。
(3)选民所属选区由其居住地址(Address)决定。假设每个人只有一个地址,地址可以是镇(Town)或者城市(City)。
(4)某些选区可能包含多个镇;而某些较大的城市也可能包含多个选区。
[问题2]
根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用O符号表示)。
[问题3]
已知数组a = {3, 10, 5, 15, 6, 8},根据说明和C代码,给出数组b的元素值。
试题五
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图1-1所示。
remoteControl->offButtonWasPushed(1);
/*其余代码省略*/
Return 0;
}
试题六
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
[说明]
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图6-1所示。
For(I= 0;I< n; i++){
If(b[i] > temp)
Temp = b[i];
}
}
Return temp;
}
Int main(){
Int n, a[100], b[100],I, j, len;