一、[材料型]问答题
案例一
某工厂制造企业为了开发软件智能检测以有效提升检测效率,节约人力资源,该系统的主要功能是:
(1)基础信息管理。管理员对检测标准和检测规则等基础信息设置。
(2)检测模型部署。管理员对常用机器学习方法建立的检测模型分布。
(3)图像采集。实时将检测多样的产品待检测建分存储,包括产品结构,生产时间,图像信号和产品图像。
(4)缺陷检测。根据检测模型和检测质量标准对图像采集所收到的产品检测信息中所有图像进行检测或所有图像检测合格。若一个产品出现一张图像检测不合格,就表示该产品不合格,对不合格产品,其检测结果包括,产品型号和不合格类型。
(5)质量检测。根据监控规则对产品质量进行监控将检测情况展示给检测业务员,若满足条件。向检测业务员发送质量检测,检测是质量发起远程控制部分,检测设备发送控制指令进行处理。
(6)模型监控。在系统中部署的模型、产品的检测信息结合基础信息进行监测分析,将模型运行情况发给监控人员。
现采用结构化方法对智能检测系统,进行分析与设计,获得如图1-1的上下文数据流图和图1-2的数据流图。
1、【问1】使用说明中的语句对图1-1中的实体E1~E4的名称
参考答案:
E1:检测设备E2:管理员E3:检测业务员E4:监控人员
案例一
某工厂制造企业为了开发软件智能检测以有效提升检测效率,节约人力资源,该系统的主要功能是:
(1)基础信息管理。管理员对检测标准和检测规则等基础信息设置。
(2)检测模型部署。管理员对常用机器学习方法建立的检测模型分布。
(3)图像采集。实时将检测多样的产品待检测建分存储,包括产品结构,生产时间,图像信号和产品图像。
(4)缺陷检测。根据检测模型和检测质量标准对图像采集所收到的产品检测信息中所有图像进行检测或所有图像检测合格。若一个产品出现一张图像检测不合格,就表示该产品不合格,对不合格产品,其检测结果包括,产品型号和不合格类型。
(5)质量检测。根据监控规则对产品质量进行监控将检测情况展示给检测业务员,若满足条件。向检测业务员发送质量检测,检测是质量发起远程控制部分,检测设备发送控制指令进行处理。
(6)模型监控。在系统中部署的模型、产品的检测信息结合基础信息进行监测分析,将模型运行情况发给监控人员。
现采用结构化方法对智能检测系统,进行分析与设计,获得如图1-1的上下文数据流图和图1-2的数据流图。
2、【问2】使用说明中的语句对图1-2中的数据存储D1~D3的名称
参考答案:
D1∶模型文件;D2∶产品检测信息文件;D3∶基础信息文件
案例一
某工厂制造企业为了开发软件智能检测以有效提升检测效率,节约人力资源,该系统的主要功能是:
(1)基础信息管理。管理员对检测标准和检测规则等基础信息设置。
(2)检测模型部署。管理员对常用机器学习方法建立的检测模型分布。
(3)图像采集。实时将检测多样的产品待检测建分存储,包括产品结构,生产时间,图像信号和产品图像。
(4)缺陷检测。根据检测模型和检测质量标准对图像采集所收到的产品检测信息中所有图像进行检测或所有图像检测合格。若一个产品出现一张图像检测不合格,就表示该产品不合格,对不合格产品,其检测结果包括,产品型号和不合格类型。
(5)质量检测。根据监控规则对产品质量进行监控将检测情况展示给检测业务员,若满足条件。向检测业务员发送质量检测,检测是质量发起远程控制部分,检测设备发送控制指令进行处理。
(6)模型监控。在系统中部署的模型、产品的检测信息结合基础信息进行监测分析,将模型运行情况发给监控人员。
现采用结构化方法对智能检测系统,进行分析与设计,获得如图1-1的上下文数据流图和图1-2的数据流图。
3、【问3】根据注明和图中术语,补齐图1-2中缺失的数据及起点和终点。
参考答案:
数据流:基础信息 起点D3 终点P6
数据流:远程控制命令 起点E3 终点P5
数据流:监控规则 起点D3 终点P5
数据流:待测信息 起点P2 终点P3
数据流:检测信息 起点D2 终点P5
案例一
某工厂制造企业为了开发软件智能检测以有效提升检测效率,节约人力资源,该系统的主要功能是:
(1)基础信息管理。管理员对检测标准和检测规则等基础信息设置。
(2)检测模型部署。管理员对常用机器学习方法建立的检测模型分布。
(3)图像采集。实时将检测多样的产品待检测建分存储,包括产品结构,生产时间,图像信号和产品图像。
(4)缺陷检测。根据检测模型和检测质量标准对图像采集所收到的产品检测信息中所有图像进行检测或所有图像检测合格。若一个产品出现一张图像检测不合格,就表示该产品不合格,对不合格产品,其检测结果包括,产品型号和不合格类型。
(5)质量检测。根据监控规则对产品质量进行监控将检测情况展示给检测业务员,若满足条件。向检测业务员发送质量检测,检测是质量发起远程控制部分,检测设备发送控制指令进行处理。
(6)模型监控。在系统中部署的模型、产品的检测信息结合基础信息进行监测分析,将模型运行情况发给监控人员。
现采用结构化方法对智能检测系统,进行分析与设计,获得如图1-1的上下文数据流图和图1-2的数据流图。
4、【问4】根据说明,采用结构化语言对缺陷检测的加工逻辑进行描述。
参考答案:
根据说明,采用结构化语言对缺陷检测的加工逻辑进行描述。
WHILE(接收图像)
DO{
检测所收到的所有图像;
IF(出现一张图像检测不合格)
THEN{,返回产品不合格;
不合格产品检测结果=产品星号+不合格类型;
}
ENDIF
}ENDDO
案例二
【注明】
M集团拥有多个分公司,为了方便集团公司对各个分公司职员进行有效管理,集团公司决定构建一个信息平台以满足公司各项业务管理需求
【需求分析】
1,分公司关系模式需要记录的信息包括公司编号、名称、经理号、可联系地址和电话。分公司编号唯一标记分公司关系模式中的没一个元组,每个分公司各有一名经理,负责分公司的管理工作,每个分公司设立仅为本分公司服务的多个业务部,业务部包括:研发部、财务部、采购部、交易部等
2,业务部关系模式需要记录的信息包括业务部的编号、名称、地址、电话和分公司编号、业务编号唯一标记分公司关系模式中的每一个元素,每个业务部各有一名主管负责业务部的管理工作,每个业务部有多名职员,每个职员只能来源与一个业务部
3,职员关系模式需要记录的信息包括职员号、姓名、所属业务部编号、岗位、电话、家庭成员姓名和成员关系。其中职员、 职员关系、岗位包括:经理、主管、研发员、业务员等。
【关系模式】
分公司(分公司编号、名称、 (a) 、联系地址)
业务部(业务部门编号、名称、(b)、电话)
职员(职员号、姓名、岗位、(c)、电话、家庭成员姓名、关系)
【概念模拟设计】

5、【问题一】根据问题描述,补充4个联系,完善图2-1的实体联系图,联系名可用联系1、-2、-3和-4代替,联系的类型为1:1、1:n和m:n(或1:1、1:*和*:*)
参考答案:【问题一】
案例二
【注明】
M集团拥有多个分公司,为了方便集团公司对各个分公司职员进行有效管理,集团公司决定构建一个信息平台以满足公司各项业务管理需求
【需求分析】
1,分公司关系模式需要记录的信息包括公司编号、名称、经理号、可联系地址和电话。分公司编号唯一标记分公司关系模式中的没一个元组,每个分公司各有一名经理,负责分公司的管理工作,每个分公司设立仅为本分公司服务的多个业务部,业务部包括:研发部、财务部、采购部、交易部等
2,业务部关系模式需要记录的信息包括业务部的编号、名称、地址、电话和分公司编号、业务编号唯一标记分公司关系模式中的每一个元素,每个业务部各有一名主管负责业务部的管理工作,每个业务部有多名职员,每个职员只能来源与一个业务部
3,职员关系模式需要记录的信息包括职员号、姓名、所属业务部编号、岗位、电话、家庭成员姓名和成员关系。其中职员、 职员关系、岗位包括:经理、主管、研发员、业务员等。
【关系模式】
分公司(分公司编号、名称、 (a) 、联系地址)
业务部(业务部门编号、名称、(b)、电话)
职员(职员号、姓名、岗位、(c)、电话、家庭成员姓名、关系)
【概念模拟设计】

6、【问题二】根据题意将以上关系模式中的空(a)~(c)的属性补充完整,并填入对应位置。
参考答案:
【问题二】
a、经理号、电话
b、地址、分公司编号
c、所属业务部编号
案例二
【注明】
M集团拥有多个分公司,为了方便集团公司对各个分公司职员进行有效管理,集团公司决定构建一个信息平台以满足公司各项业务管理需求
【需求分析】
1,分公司关系模式需要记录的信息包括公司编号、名称、经理号、可联系地址和电话。分公司编号唯一标记分公司关系模式中的没一个元组,每个分公司各有一名经理,负责分公司的管理工作,每个分公司设立仅为本分公司服务的多个业务部,业务部包括:研发部、财务部、采购部、交易部等
2,业务部关系模式需要记录的信息包括业务部的编号、名称、地址、电话和分公司编号、业务编号唯一标记分公司关系模式中的每一个元素,每个业务部各有一名主管负责业务部的管理工作,每个业务部有多名职员,每个职员只能来源与一个业务部
3,职员关系模式需要记录的信息包括职员号、姓名、所属业务部编号、岗位、电话、家庭成员姓名和成员关系。其中职员、 职员关系、岗位包括:经理、主管、研发员、业务员等。
【关系模式】
分公司(分公司编号、名称、 (a) 、联系地址)
业务部(业务部门编号、名称、(b)、电话)
职员(职员号、姓名、岗位、(c)、电话、家庭成员姓名、关系)
【概念模拟设计】

7、【问题三】(1)分析分公司关系模式的主建和外键
(2)分析业务部关系模式的主建和外键
参考答案:
【问题三】
(1)主键:分公司编号;外键:经理号
(2)主键:业务部的编号;外键:分公司编号
案例二
【注明】
M集团拥有多个分公司,为了方便集团公司对各个分公司职员进行有效管理,集团公司决定构建一个信息平台以满足公司各项业务管理需求
【需求分析】
1,分公司关系模式需要记录的信息包括公司编号、名称、经理号、可联系地址和电话。分公司编号唯一标记分公司关系模式中的没一个元组,每个分公司各有一名经理,负责分公司的管理工作,每个分公司设立仅为本分公司服务的多个业务部,业务部包括:研发部、财务部、采购部、交易部等
2,业务部关系模式需要记录的信息包括业务部的编号、名称、地址、电话和分公司编号、业务编号唯一标记分公司关系模式中的每一个元素,每个业务部各有一名主管负责业务部的管理工作,每个业务部有多名职员,每个职员只能来源与一个业务部
3,职员关系模式需要记录的信息包括职员号、姓名、所属业务部编号、岗位、电话、家庭成员姓名和成员关系。其中职员、 职员关系、岗位包括:经理、主管、研发员、业务员等。
【关系模式】
分公司(分公司编号、名称、 (a) 、联系地址)
业务部(业务部门编号、名称、(b)、电话)
职员(职员号、姓名、岗位、(c)、电话、家庭成员姓名、关系)
【概念模拟设计】

8、【问题四】在职员关系模式中,假设每个职员有多名家属成员,那么职员关系模式存在什么问题?应如何解决?
参考答案:
【问题四】
存在问题:存在冗余、修改操作的不一致,以及插入异常和删除异常。
解决方案:将原关系模式分解为:
职员(职员号、姓名、岗位、所属业务部编号、电话)
职员家属(职员号、家庭成员姓名、关系)
案例三:
阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
在线会议审稿系统(Online Reviewing System,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:
1.用户(User)在初始使用系统时,必须在系统中注册(register)成为作者(Author)或审稿人(Reviewer)。
2.作者登录(login)后提交稿件(submit paper)和浏览稿件审阅结果(browse review results)。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要(enter title and abstract)、选择稿件所属主题类型(select subject group )、选择稿件所在位置 (存储位置)(select paper location)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中(upload paper ),系统发送通知(send notification )。
3.审稿人登录后可设置兴趣领域(set preferences )、审阅稿件给出意见(enter review )以及罗列录用和(或)拒绝的稿件(List accepted/rejected papers)。
4.会议委员会主席(PCChair)是一个特殊审稿人,可以浏览提交的稿件(browse submitted papers)、给审稿人分配稿件(assign paper to reviewer )、罗列录用和(或)拒绝的稿件以及关闭审稿过程(close reviewing process)。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。
系统采用面向对象方法开发,使用UML进行建模。
系统的部分用例图和提交稿件的活动图分别见下图。
9、【问题1】(4分)
根据[说明]中的描述,使用参与者列表的英文名称,给出ORS用例图中A1~A4所对应的参与者。
参考答案:
A1:User、 A2:Author、A3:Reviewer、A4:PCChair。
案例三:
阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
在线会议审稿系统(Online Reviewing System,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:
1.用户(User)在初始使用系统时,必须在系统中注册(register)成为作者(Author)或审稿人(Reviewer)。
2.作者登录(login)后提交稿件(submit paper)和浏览稿件审阅结果(browse review results)。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要(enter title and abstract)、选择稿件所属主题类型(select subject group )、选择稿件所在位置 (存储位置)(select paper location)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中(upload paper ),系统发送通知(send notification )。
3.审稿人登录后可设置兴趣领域(set preferences )、审阅稿件给出意见(enter review )以及罗列录用和(或)拒绝的稿件(List accepted/rejected papers)。
4.会议委员会主席(PCChair)是一个特殊审稿人,可以浏览提交的稿件(browse submitted papers)、给审稿人分配稿件(assign paper to reviewer )、罗列录用和(或)拒绝的稿件以及关闭审稿过程(close reviewing process)。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。
系统采用面向对象方法开发,使用UML进行建模。
系统的部分用例图和提交稿件的活动图分别见下图。
10、【问题2】(3分)
根据[说明]中的描述,使用用例名称列表中的英文名称,给出ORS用例图中U1一 U3所对应的用例。
参考答案:
U1:list accepted/rejiected papers
U2:browse submitted papers
U3:assign paper to reviewer(U2、U3可互换)。
案例三:
阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
在线会议审稿系统(Online Reviewing System,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:
1.用户(User)在初始使用系统时,必须在系统中注册(register)成为作者(Author)或审稿人(Reviewer)。
2.作者登录(login)后提交稿件(submit paper)和浏览稿件审阅结果(browse review results)。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要(enter title and abstract)、选择稿件所属主题类型(select subject group )、选择稿件所在位置 (存储位置)(select paper location)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中(upload paper ),系统发送通知(send notification )。
3.审稿人登录后可设置兴趣领域(set preferences )、审阅稿件给出意见(enter review )以及罗列录用和(或)拒绝的稿件(List accepted/rejected papers)。
4.会议委员会主席(PCChair)是一个特殊审稿人,可以浏览提交的稿件(browse submitted papers)、给审稿人分配稿件(assign paper to reviewer )、罗列录用和(或)拒绝的稿件以及关闭审稿过程(close reviewing process)。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。
系统采用面向对象方法开发,使用UML进行建模。
系统的部分用例图和提交稿件的活动图分别见下图。
11、【问题3】(4分)
根据[说明]中的描述,给出ORS用例图中 (1) 和 (2) 所对应的关系。
参考答案:
(1)<<extend>>
(2)<<include>>。
案例四:
【说明】
希尔排序算法又称最小增量排序算法,其基本思想是:
步骤1:构造一个步长序列delta、deltak、deltak,其中delta1=n/2,后面的每个delta是前一个的1/2,deltak=1;
步骤2:根据步长序列、进行k趟排序;
步骤3:对第i趟排序,根据对应的步长delta;将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。


12、【问题1】根据说明和c代码,填充c代码中的空(1)~(4)。
参考答案:问题1:(1)k=k/2(2)k>1(3)data[k]<data[k-dk](4)data[j+dk]=t
案例四:
【说明】
希尔排序算法又称最小增量排序算法,其基本思想是:
步骤1:构造一个步长序列delta、deltak、deltak,其中delta1=n/2,后面的每个delta是前一个的1/2,deltak=1;
步骤2:根据步长序列、进行k趟排序;
步骤3:对第i趟排序,根据对应的步长delta;将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。


13、【问题2】根据说明和c代码,该算法的时间复杂度(5)O(n²)(小于、等于或大于)。该算法是否稳定(6)(是或否)。
参考答案:问题2:(5)小于、(6)否
案例四:
【说明】
希尔排序算法又称最小增量排序算法,其基本思想是:
步骤1:构造一个步长序列delta、deltak、deltak,其中delta1=n/2,后面的每个delta是前一个的1/2,deltak=1;
步骤2:根据步长序列、进行k趟排序;
步骤3:对第i趟排序,根据对应的步长delta;将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。


14、【问题3】对数组(15、9、7、8、20、-1、4)用希尔排序方法进行排序,经过di一趟排序后得到的数组为(7)。
参考答案:问题3:(7)4,9,-1,8,20,7,15
二、问答题
试题五:阅读下列说明和(java++代码),将应填入(n)处的字句写在答题纸对应栏内。
[说明]在线支付是电子商务的一个重要环节,不同的电子商务平台提供不同的支付接口,现在需要给不同的商务平台的支付接口,使得客户在不同平台是购物时,不需要关系具体的支付接口。拟采用中介在(Mediator)设计模式来实现该需求,所设计的类图如图五—1所示。
class concrete service Mediator: public webserviceMediator{// concrete Mediator*
Private:
Webservice * amazon ;
Webservice * ebay ;
Public:
Concreteservicemediator():amazon (NULL),ebay(NULL){ }
Void SetAmazon(Webbsewice*anazon){this->amazon=amazon;}
Void SetEbay(webservice*ebay){
this->ebay=ebay;
}
Void buy(double money,webservice->service){
If (sevice=amazon) amazon->search(money);
Else ebay->search(money);
}
}
class Amazon: public Webservice{
Public:
Void setmediator(webservicemediator*meditor){
This->mediator=mediator;
}
Void buyservice (double money){
Cout <<”Amazon receive”<<money<<endl;
}
} ;
Class Ebay:public Webservice{
Public:
Void setMediator(webserriceMediator*mediator){
this->mediator=mediator;
}
Void buyservice (double money){
(5) ;
}
Void search(double money) {
Cout<<”Ebay receive;”<<money<<endl;
}
} ;
15、试题五:阅读下列说明和Java代码,应填入 (n) 处。
【说明】
某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表所示:
为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图所示:
其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、 CottonDuck和RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类FlyBehavior与 QuackBehavior为抽象类,分别用于表示抽象的飞行行为与发声行为:类FlyNoWay与 FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与 QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。
【C++代码】
#include<iostream>
using namespace std;
class FlyBehavior{
public:virtual void fly()=0;
};
class QuackBehavior{
public:virtual void quack() = 0;
};
class FlyWithWings:public FlyBehavior{
public:void fly(){ cout<< “使用翅膀飞行 ! ” <<endl; }
};
class FlyNoWay:public FlyBehavior{
public:void fly(){ cout<< “不能飞行!”<<endl;}
};
class Quack:public QuackBehavior{
public:void quack(){ cout<<“发出\‘嘎嘎\’声 !”<<endl; }
};
class Squeak:public QuackBehavior{
public:void quack(){cout<<“发出空气与橡皮摩擦声!”<<endl; }
};
class QuackNoWay:public QuackBehavior{
public:void quack (){ cout<<“不能发声 !”<<endl; }
};
class Duck{
protected:
FlyBehavior* (1) ;
QuackBehavior* (2) ;
public:
void fly(){ (3) ; }
void quack(){ (4) ;);
virtual void display()=0;
};
class RubberDuck:public Duck{
public:
RubberDuck(){
flyBehavior=new (5) ;
quackBehavior=new Squeak();
}
void display(){/*此处省略显示橡皮鸭的代码*/ }
};
//其他代码省略
参考答案:
(1) fiyBehavior
(2) quackBehavior
(3) flyBehavior->fly()
(4) quackBehavior->quack()
(5) FlyNoWay()
16、试题六:阅读下列说明和Java代码,应填入 (n) 处。
【说明】
某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示:
为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图所示:
其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、 CottonDuck 和 RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior与 QuackBehavior分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。
【Java代码】
interface FlyBehavior{
public void fly();
};
interface QuackBehavior{
public void quack();
};
class FlyWithWings implements FlyBehavior{
public void fly(){System.out.println(“使用翅膀飞行!”);}
};
class FlyNoWay implements FlyBehavior{
public void fly(){System.out.println(“不能飞行!”);}
};
class Quack implements QuackBehavior{
public void quack(){System.out.println(“发出\‘嘎嘎\’声!”); }
};
class Squeak implements QuackBehavior{
public void quack(){System.out.println(“发出空气与橡皮摩擦声 !”);
}
};
class QuackNoWay implements QuackBehavior{
public void quack(){System.out.println(“不能发声!”);}
};
abstract class Duck{
protected FlyBehavior (1) ;
protected QuackBehavior (2) ;
public void fly(){ (3) ; }
public void quack() { (4) ;};
public abstract void display();
};
class RubberDuck extends Duck{
public RubberDuck(){
flyBehavior=new (5) ;
quackBehavior=new Squeak() ;
}
public void display(){/*此处省略显示橡皮鸭的代码*/ }
};
//其他代码省略
参考答案:
(1) flyBehavior
(2) quackBehavior
(3) flyBehavior.fly()
(4) quackBehavior.quack()
(5)FlyNoWay()
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!