中级软件设计师下半年下午试题和答案Word格式文档下载.docx
《中级软件设计师下半年下午试题和答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《中级软件设计师下半年下午试题和答案Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
(7)作业抽检。
依照教务人员标识抽取批改后的作业样本,给出抽检意见,然后形成抽检报告给讲师。
现采用结构化方式对在线作业批改系统进行分析与设计,取得如图1-1所示的上下文数
据流图和囹1-2所示的0层数据流图。
【问题1】
(3分)
利用说明中的词语,给出图1-1中的实体E1~E3的名称。
【问题2】
(4分)
利用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】
(6分)
依照说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】
(2分)
假设发送给学生和讲师的通知是通过第三方Email系统进行的,那么需要对图1-1和图1-2
进行哪些修改?
用100字之内文字加以说明。
试题二(共15分)
阅读以下说明,回答下列问题1至问题3,将解答填入答题纸的对应栏内。
某企业拟构建一个高效、低本钱、符合企业实际进展需要的办公自动化系统。
工程师小李要紧承担该系统的公告治理和消息治理模块的研发工作。
公告治理模块的要紧功能包括添加、修改、删除和查看公告。
消息治理模块的要紧功能是消息群发。
小李依照前期调研和需求分析进行了概念模型设计,具体情形分述如下:
【需求分析结果】
(1)该企业设有研发部、财务部、销售部等多个部门,每一个部门只有一名部门领导,有多名员工,每名员工只属于一个部门,部门信息包括:
部门号、名称、部门领导和,其中部门号唯一确信部门关系的每一个元组。
(2)员工信息包括:
员工号、姓名、职位、和密码。
员工号唯一确信员工关系的每一个元组;
职位要紧有领导、部门领导、治理员等,不同职位具有不同的权限。
一名员工只对应一个职位,但一个职位可对应多名员工。
(3)消息信息包括:
编号、内容、消息类型、接收人、接收时刻、发送时刻和发送人。
其中(编号,接收入)唯一标识消息关系中的每一个元组。
一条消息能够发送给多个接收人,一个接收人能够接收多条消息。
(4)公告信息包括:
编号、题目、名称、内容、发布部门、发布时刻。
其中编号唯一
确信公告关系的每二个元组。
一份公告对应一个发布部门,但一个部门能够发布多份公告;
一份公告能够被多名员工阅读,一名员工能够阅读多份公告。
【概念模型设计】
依照需求分析时期搜集的信息,设计的实体联系图(不完整)如图2-1所示:
【逻辑结构设计】
依照概念模型设计时期完成的实体联系图,得出如下关系模式(不完整):
部门((a),部门领导,)
员工(员工号,姓名,职位号,部门号,,密码)职位(职位号,名称,权限)
消息((b),消息类型,接收时刻,发送时刻,发送人)公告((c),名称,内容,发布部门,发布时刻)
阅读公告((d),阅读时刻)
(5分)
依照问题描述,补充四个联系,完善图2-1所示的实体联系图。
联系名可用联系1、联系2、联系3和联系4代替,联系的类型分为1:
1、1:
n和m:
n(或1:
*和*:
*)。
【词题2】
(8分)
(1)依如实体联系图,将关系模式中的空(a)~(d)补充完整。
(2)给出“消息”和“阅读公告”关系模式的主键与外键。
(2分)、
消息和公告关系中都有“编号”属性,请问它是属于命名冲突吗?
用100字之内文字说明缘故。
试题三(共15分)
阅读以下说明和图,回答下列问题1至问题3,将解答填入答题纸的对应栏内。
【说明】一
某出版社拟开发一个在线销售各类学术出版物的网上商店(ACShop),其要紧的功能需求描述如下:
(1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。
(2)ACShop的客户分为两种:
未注册客户和注册客户。
(3)未注册客户能够阅读或检索出版物,将出版物添加到购物车中。
未注册客户进行注册操作以后,成为ACShop注册客户。
(4)注册客户登录以后,可将待购买的出版物添加到购物车中,并进行结账操作。
结账操作的具体流程描述如下:
①从预先填写的地址列表被选择一个作为本次交易的收货地址。
若是没有地址信息,那么能够添加新地址。
②选择付款方式。
ACShop支持信用卡付款和银行转账两种方式。
注册客户能够从预先填写的信用卡或银行账号被选择一个付款。
假设没有付款方式信息,那么能够添加新付款方式。
③确认提交购物车中待购买的出版物后,ACShop会自动生成与之相对应的定单。
(5)治理员负责保护在线销售的出版物目录,包括添加新出版物或更新在售出版物信息等操作。
现采用面向对象方式分析并设计该网上商店ACShop,取得如图3-1所示的用例图和图3-2所示的类图。
听说明中描述,给出图3-1中
(1)~(4)所对应的用例名。
依照说明中的描述,别离说明用例“添加新地址”和“添加新付款方式”会在何种情形下由图3-1中的用例(3)和(4)扩展而来?
(7分)
依照说明中的描述,给出图3-2中
(1)~(7)所对应的类名。
试题四(共15分)
阅读以下说明和C代码,回答下列问题1至问题3,将解答写在答题纸的对应栏内。
计算两个字符串x和y的最长公共子串(LongestCommonSubstring)。
假设字符串x和字符串y的长度别离为m和n,用数组c的元素c[i][j]记录x中前i
个字符和y中前j个字符的最长公共子串的长度。
c[i][j]知足最优子结构,其递归概念为:
计算所有c[i][j](0≤i≤m,0≤j≤n)的值,值最大的c[i][j]即为字符串x和y的最长公共子串的长度。
依照该长度即i和j,+确信一个最长公共子串。
【C代码】
(1)常量和变量说明
x,y:
长度别离为m和n的字符串
c[i][j]:
记录x中前i个字符和y中前j个字符的最长公共子串的长度
max:
x和y的最长公共子串的长度
maxi,maXj:
别离表示x和y的某个最长公共子串的最后一个字符在x和y中的位置(序号)
(2)C程序
#include<
>
#include<
intc[50][50];
intmaxi;
intmaxj;
intlcs(char*x,intm,char*y,intn){
inti,j;
intmax=0;
maxi=0;
maxj=0;
for(i=0;
i<
=m;
i++)c[i][0]=0;
for(i=1;
=n;
i++)c[i][0]=0;
for(i=1;
=m;
i++){
for(j=1;
j<
j++){
If(
(1)){
c[il[j]=c[i-l][j-i]+1;
if(max<
c[il[j]{
(2):
maxi=i;
maxj=j;
}
else(3);
retummax;
voidprintLCS(intmax,char*x){inti=0;
if(max=0)retum;
For((4);
i<
maxi;
i++)
voidmain(){
Char*x="
ABCADAB"
;
Char*y="
BDCABA"
intmax=o;
intm=strlen(x);
intn=strlen(y);
Max=lcs(x,m,y,n)
printLCS(max,x)
依照以上说明和C代码,填充C代码中的空
(1)~(4).
依照题干说明和以上C代码,算法采用了(5)设计谋略。
分析时刻复杂度为(6)(用0符号表示)。
依照题干说明和以上C代码,输入字符串x="
ABCADAB’,'
y="
那么输出为(7)。
从以下的2道试题(试题五至试题六)中任选1道解答。
请在答题纸上的指定位置处将所选择试题的题号框涂黑。
假设多涂或未涂题号框,那么对题号最小的一道试题进行评分。
试题五(共15分)
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各类促销活动,如打折、返利(例如,满300返100)等等。
现采用策略(Strategy)模式实现
该要求,取得如图5-1所示的类图。
【C++代码】#include<
iostream>
Usingnamespacestd;
enumTYPE{NORMAL,CASH_DISCOUNT,CASH_RETURN};
classCashSuper{public:
(1)
};
classCashNormal:
publicCashSuper{//正常收费子类
public:
doubleacceptCash(doublemoney){retummoney;
}
classCashDiscount:
publicCashSuper{
private:
doublemoneyDiscount;
//折扣率
CashDiscount(doublediscount){moneyDiscount=discount;
doubleacceptCash(doublemoney){retummoney*moneyDiscount;
classCashRetum:
publicCashSuper{//满额返利
doublemoneyCondition;
//满额数额
doublemoneyReturn;
//返利数额
CashRetnm(double;
motieyCondition,doublemoneyReturn){this=>
moneyCondition-moneyCondition;
this=>
moneyRetumF;
moneyRetum;
}
doubleacceptCash(doublemon