软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷43
-
请用150字以内的文字简要说明[Java代码1]、[Java代码2]这两种对传输门进行状态模拟的设计思路的区别之处。
-
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。
[说明]
传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、 StayOpen(保持打开)和Closing(正在关闭)5种状态。触发状态的转换事件有click、complete和timeout3种。事件与其相应的状态转换如图7-15所示。
下面的[C++代码1]与[C++代码2]分别用两种不同的设计思路对传输门进行状态模拟,请填补代码段中的空缺语句。
[C++代码1]
请将以上[C++代码1]与[C++代码2]程序段中的(1)~(7)空缺处的语句填写完整。
-
请用150字以内的文字简要说明[C++代码1]、[C++代码2]这两种对传输门进行状态模拟的设计思路的区别之处。
-
请仔细阅读以下关于某传输系统的技术说明、状态转换图及Java程序,根据要求回答问题1~问题2。
[说明]
传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、 StayOpen(保持打开)和Closing(正在关闭)5种状态。触发状态的转换事件有click、complete和timeout3种。事件与其相应的状态转换如图7-16所示。
下面的[Java代码1]与[Java代码2]分别用两种不同的设计思路对传输门进行状态模拟,请填补代码段中的空缺语句。
[Java代码1]
请将以上[Java代码1]与[Java代码2]程序段中,(1)~(7)空缺处的语句填写完整。
-
阅读以下说明和C函数,将(1)~(5)空缺处的字句填写完整。
[说明]
计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*120-37)”的后缀表达式形式为“46 5 120 37-*+”。
计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中。重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37-*+”的计算过程如下:
a.依次将46、5、120、37压入栈中;
b.遇到“-”,取出37、120,计算120-37=83,将其压入栈中;
c.遇到“*”,取出83、5,计算5×83=415,将其压入栈中;
d.遇到“+”,取出415、46,计算46+415=461,将其压入栈中;
e.表达式结束,则计算过程完成。
函数computing(char expr[],int*result)的功能是基于栈计算后缀形式的表达式(以串形式存入字符数组 expr)的值,并通过参数result返回该值。函数的返回值为-1/0,分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+”)、减(“-”)、乘(“*”)、除(“\”)。
函数computing中所用栈的基本操作的函数原型说明如下。
● void InitStack(STACK*s):初始化栈。
● void Push(STACK*s,int e):将一个整数压栈,栈中元素数目增1。
● void Pop(STACK*s):栈顶元素出栈,栈中元素数目减1。
● int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。
● int IsEmpty(STACKs):若s是空栈,则返回1;否则返回0。
[C函数]
-
该贪心算法的时间复杂度为(5)。
-
阅读以下算法说明和问题模型图,根据要求回答问题1、问题2。
[说明]
某大学城图书馆需要在无线阅览厅的某些位置上放置无线接入点AP(Access Poin)。假设每个无线 AP覆盖范围的半径是6米,因此必须使得每台笔记本电脑上的无线网卡到某个无线AP的直线距离不超过6米。为了简化问题,假设所有无线网卡在同一直线上,并且无线AP沿该直线放置。该问题可以建模为如图1-13所示,其中直线表示无线网卡所在的直线,实心正方形表示无线网卡。现采用贪心策略实现用尽可能少的无线AP覆盖所有的无线网卡。
实现贪心算法的流程如图1-14所示。其中,①d[i](1≤i≤N)表示第i张无线网卡到通道A端的距离,N表示无线网卡的总数,无线网卡的编号按照无线网卡到通道A端的距离从小到大进行编号:②s[k]表示第k(k≥1)个无线AP到通道A端的距离。算法结束后k的值为无线AP的总数。
请填补图1-14流程图中(1)~(4)空缺处的内容。
-
请使用[说明]中给出的词语,将销售事件序列图中的(A)~(D)空缺处的内容填写完整。
-
阅读以下某前台销售子系统的技术说明和UML图,根据要求回答问题1~问题4。
[说明]
某超市管理系统的前台销售子系统以最基本的方式处理销售业务。系统的功能需求如下:
①记录每种商品的编号、单价和现有数量;
②为顾客选购的商品计价、收费,并打印清单;
③帮助商家找出哪种商品将脱销,从而及时补充货源;
④随时按上级系统的要求报告当前的款货数量、增减商品的种类或修改商品定价;
⑤交接班时结算货款数目和商品数目。
每台收款机可以处理任何数目的销售事件,但一个销售事件只能由一台收款机处理。每个销售事件从收款机响应收款人员的指令开始,先向商品发送检索请求消息来查找将被出售的商品。如果该商品的数量少于下限,则向供货员发送缺货登记消息。每名供货员可以提供一种或多种商品,同一品牌的商品只能由一位供货员来提供。接着收款机发送计价和入账消息请求售出操作,再由销售事件发送记账消息给相应的账册,并控制流程返回收款机等待下一次销售操作。每本销售账册可以记录任何数目的销售事件,但一个销售事件只能由一本销售账册记录。
该销售子系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,图1-11是该系统类图中的一部分;系统的动态行为采用UML序列图表示,图1-12是销售事件部分的序列图。
根据题干的[说明]及图1-11、图1-12的相关信息,类商品除了售出和缺货登记操作之外,还应具有哪些主要操作? (请使用[说明]中给出的词语回答问题)
-
识别关联的多重度是面向对象建模过程中的一个重要步骤。请根据说明中给出的描述,将图1-11中 (1)~(8)空缺处的内容填写完整。
-
请将图1-11中类商品、类特价商品和类计量商品3者之间的联系补充完整。
-
郭工程师设计的“部门”关系模式中存在什么问题?请用100字以内的文字简要说明理由。为了解决这个问题可将关系模式分解,请给出分解后的关系模式(分解后的关系模式的关系名可依次取“部门_A”、“部门_B”、……)。
-
假定月工作业绩关系模式为:月工作业绩(职员代码,年月,工作时间),请将以下“查询职员代码、职员名、年月、月工资”SQL语句中(3)~(5)空缺处的内容填写完整。
SELECT (3)
FROM (4)
WHERE (5)
[附]
关系模式的标记规则如下:
关系名(属性名1,属性名2,…,属性名n)
其中:
①若该属性仅为主键属性时,则该属性名下画实下画线;
②若该属性仅为外键属性时,则该属性名下画虚下画线;
③若该属性既是主键属性,又是外键属性时,则在该属性名下画实下画线和虚下画线;
④若该属性既不是主键属性,又不是外键属性时,则在该属性名下不做标记。
-
阅读以下关于项目工作管理系统的数据库设计说明,根据要求回答问题1~问题4。
[说明]
某软件开发公司,决定结合自身工作的需求开发设计本公司的项目工作管理系统,由郭工程师承担数据库的设计工作。公司项目管理的需求分析如下。
1.组织机构。该公司有多个部门,每个部门有多个职员、多个办公室,每个办公室有一部电话。当部门变更时更换新的部门代码。职员辞职后,若再次被聘用仍使用辞职前的代码。被聘用职员担任某职务,职务用职务代码来标识。职务分为:工程师、高级工程师、经理助理、经理等。职员的工资根据等级区分,共分为S、A、B、C、D 5个等级。一个职务对应某个等级,一个等级对应多个职务。职员月工资等于职员月工作时间(小时)乘以小时工资。职员的人事变动及职位变更(升级、降级)在月初进行。
2.项目管理。项目用项目代码标识,使用过的项目代码不能重复使用。一个部门可承担多个项目,但一个项目仅由一个部门承担。一个项目有一名项目主管和多个职员;一个职员可参加多个项目。项目代码由系统自动生成,一旦项目建立,项目名、部门代码及起始年月日不能再变更。
3.项目的工作管理流程为:项目工作计划输入(初始计划)→工作业绩输入→业绩生成(每月一次)→计划修正(每月一次)。
①项目工作计划输入。项目主管使用如图1-9所示的计划输入界面,输入项目代码、职员代码、职员参加某个项目的月工作时间(计划)。图中空白区域为可输入项。
②工作业绩输入。输入职员每天参加各个项目的工作时间。如图1-10所示为工作业绩输入界面,图中空白区域为可输入项。其中,出勤时间由考勤系统管理,指定项目代码的顺序可以不同,并且一天可以输入多个项目代码,但同一个项目代码不能重复输入。
③业绩生成。月底汇总职员的当月工作业绩,生成月工作业绩表。
④计划修正。项目主管根据项目进度修改以后的工作计划。
郭工程师根据公司的项目需求将数据库关系模式设计如下:
部门(部门代码,部门名,起始年月,终止年月,办公室,办公电话);
职务(职务代码,职务名);
等级(等级代码,等级名,年月,小时工资);
职员(职员代码,职员名,部门代码,职务代码,任职时间);
项目(项目代码,项目名,部门代码,起始年月日,结束年月日,项目主管);
工作计划(项目代码,职员代码,年月,工作时间)。
请使用“关系模式标记规则”(见本题附内容,全书同),给出“部门”、“等级”、“项目”和“工作计划”关系模式的主键和外键。
-
请将以下关系模式中的(1)和(2)空缺处填入属性名称(要求使用题干说明中已有的属性名称)。
(1)郭工程师设计的关系模式不能管理职务和等级之间的关系,可以通过修改“职务”关系模式来实现。修改后的关系模式为:
职务((1))
(2)为了管理公司职员参加各项目每天的工作业绩,需设计工作业绩关系模式为:
工作业绩((2))
-
如果将数据库服务器(记为DB)作为一个外部实体,那么在绘制该网上作业提交与管理系统的数据流图时,还应有哪些外部实体和数据存储?
-
该网上作业提交与管理系统的顶层数据流图中,相关数据流的部分信息如表1-10所示。
请使用[说明]中的词汇,结合[问题2]的解答,将表1-10中的(11)~(24)空缺处的内容填写完整。
-
阅读以下某网上作业提交与管理系统的技术说明,根据要求回答问题1~问题3。
[说明]
某学校建立了一个网上作业提交与管理系统,基本功能描述如下。
(1)账号和密码。任课老师用账号和密码登录系统后,提交所有选修学生的名单。系统自动为每个选修学生创建登录系统的账号和密码。
(2)作业提交。选修学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该选修学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需完成作业,单击[提交]按钮上交作业。
(3)批阅。系统自动批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。
在系统的需求分析阶段,使用用例对系统需求建模。表1-8和表1-9分别给出了其中用例“创建选修学生账号和密码”、用例“作业申请”的概要描述。
请使用[说明]中的词汇,将表1-8和表1-9中的(1)~(10)空缺处的内容填写完整。