软题库 学习课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷年份2023年上半年
试题题型【分析简答题】
试题内容

试题三(15分)
阅读下列说明和图回答问题1至问题3,将解答填入答题纸的对应框内。
【说明】
某高校图书馆购买了若千学术资源的镜像数据库(MinorDB)资源,现要求开发一套数字图书馆(Digitallibrary)系统,面向校内用户(User)提供学术资源(Resoure)的浏览检索和下载服务系统的主要要求描述如下:
(1)系统中存储了每个镜像数据库的基本信息,包括:数据库名称,访问地址,数据库属性以及数据库简介等信息,用户进入某个镜像数据降后,可以浏览检索以及下载其中的学术资源。
(2)学术资源包括会议论文(ConferencePaper)、期刑论文(JoumalArtide)以及学位(Thesis)等:系统中存储了每个学术资源的题名、作者、发表时间、来源(哪个镜像数据库)、被引次数、下载次数等信息。对于会议论文,还需记录会议名称,召开时间以及召开地点;同一次会议的论文被收录在会议集(Proceeding)中。对于期刊论文,还需记录期刊名称,出版月份期号以及主办单位;同一期号的论文被收录在一本期刊(Edition)中。对于学位论文,记录了学位类别(博士硕士): 毕业学校,专业及指导教师。会议集包含发表在该会议(在某个特定时间段,特定地点召开)上的所有文章。期刊的每一期在特定时间发行,其中包含若千篇文章。
(3)系统用户(User)包括在校学生(Student),教师(Teacher以及其他在职人员(Staf)。用户使用学校的统一身份认证登录系统后,使用系统提供的各项服务。
(4)系统提供多种资源检索的方式,主要包括:按照资源的题名检索(SearchbvTite),按照作者名称检票(SearchByAathor),按照来源检索(SearchBy Source)等。
(5)用户可以下载资源,系统记录每个资源被下载的次数现采用面向对象分析与设计方法开发该系统,得到如图1所示的用例图以及图2所示的初始类图

图1 用例图

图2 类图
问题1(8分):根据说明中的描述,给发图2中的C1-C8所对应向类名
问题2(4分):根据说明中的描述,给出图2的类C1一C4的关键属性
问题3(3分):在该系统的开发过程中遇到了新的要求:用户能够在系统中对其所关注的数字资源注册他引通知,若该资源的他引次数发生变化,系候可以及时通知该用户,为了实现这个新的要求,可以在图2所系的类图中增加哪种设计模式?用150字以内文字解释选择该模式的原因。

查看答案

相关试题

1题: 试题一
阅读下列说明和图回答问题1至问题4,将解答填入答题纸的对应框内。
【说明】
随着农业领域科学种植的发展,需要对农业基地及农事进行的信息化管理,为租户和农户等人员提供种植相关服务.现欲开发农事管理服务平台.其主要功能是:
(1)人员管理平台管理员管理租户:租户管理农户并为其分配负责的地块,租户和农户以人员类型区分
(2)基地管理户填写基地名称、地域等描述信息在显示的地图上绘制地块
(3)种植管理租户设定作物及其从种植到采收的整个农事过程包括农事活动及其实施计划.农户根据相应农事过程提醒进行农事活动并记录。系统会在设定时间向农户进行农事提醒,对逾期未实施活动向租户发出逾期告警
(4)投入品管理租户统一维护化肥杀虫剂等投入品信息农户在农事活动中设定投入品的实际消耗
(5)信息服务:用户按查询条件发起农事信息请求对相关地块农事活动实施情况(如与农事过程比对)等农事信息进行第选、对比和统计等处理.并将响应信息进行展示.系统也给其他第三方软件提供APP接口,通过接口访问的方式提供账号密码和查询条件发起农事信息请求返回特定格式的农事信息,无查询条件时默返回账号下所有信息多查询条件时返回满足全部条件的信息。
现采用结构化方法对农事管理服务平台进行分析与设计,获得如图所示的上下文数据流图和图2所示的0层数据流图

图1:数据流图

图2:0层数据流图
问题1:使用说明中的词语,给出图1中的突体E1一E4的名称
问题2:使用说明中的词活,给出图2中数据存储D1-D4的名称
问题3:根据说明和图中术语补充2中缺失的数据流及其起点和终点
问题4:根据说明.给出”农事信息请求"数据流的组成
答案解析与讨论:www.cnitpm.com/st/571033299.html

2题: 试题二(15分)
阅读下列说明和图回答问题1至问题3,将解答填入答题纸的对应框内。
【说明】
某新能源汽车公司为了提升效率。需开发一个汽车零件采购系统请完成系统的数据库设计
[概念结构设计]
(1)记录供应商的信息包括供应商的名称地地和一个电
(2)记录零件的信息包括零件的编码名称知价格
(3)纪录车型信息,包括车型的编号名称和规格
(4)记录零件采购信息某个车型的某种零件可以从多家供应商采购,某种零件也可以被多个车型采用,某家供应商也可以供应多种零件,还包括采购数量和采购日期
[逻辑结构设计]
根据概念结构设计阶段完成的实体联系图,得出如下关系模式(不完整)
供应商(名称,地址,电话)
零件(编码各称,价格)
车型(编号,各称,规格)
采购(车型编号,供应商名称,(a),(b),采购日期)

问题1(5分):根据描进补充图1的实体联系图(不增加新的实体)
问题2(3分):补充逻结构设计结果中的(a),(b)两处空缺并标注主键和外键完整性约束
问题3(7分):该汽车公司现新增如下需求:记录车型在全国门店的销售情况,门店信息包括门店的编号地址和电话,销售包括销售数量和销售日期等。
对原有设计进行以下修改以实现该需求:
(1)在图1中体现门店信息及其车型销售情况、并标明新增的实体和联系及其心要属性
(2)给出新增加的关系模式并标注主键和外键完整性约束答案解析与讨论:www.cnitpm.com/st/57104759.html

4题: 暂无题目,持续更新中...答案解析与讨论:www.cnitpm.com/st/5710611252.html

5题: 试题五
阅读下列说明和Java代码,将应填入 (n)处的字写在答题纸的对应栏内
【说明】
在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound.upper bound]:[lower bound...upper bound];[lower bound-upper bound]等现采用策略(strategy)模式实现该要求,得到如图5-1所示的类图。

图5-1类图
[Java代码]
import Java.util
enum TYPE { COMMA, DOTS,LINE }
interface PrintStrategy {
Public(1);
}
class Interval {
private double lowerBound:
private double upperBound:
public Interval(double pLower, double pUpper){
lowerBound = pLower;
upperBound = pUpper:
}
public void printInterval(PrintStrategy ps){
(2);
}
public double getLower(){
return lowerBound;
}
public double getUpper(){
return upperBound;
}
}
class PrintIntervalLine implements PrintStrategy {
public void doPrint(Interval val){
Svstem.out.println("["+ val.getLower()+"-"+val.getUppei
0+"]");
}
}
class PrintIntervalDots implements PrintStrategy {
public void doPrint(Interval val){
System.out.println("["+ val.getLower()+".."+ val.getUppe
r()+"]");
}
}
class PrintIntervalComma implements PrintStrategy {
public void doPrint(Interval val){
System.out.println("["+val.getLower()+","+ val.getUpper
0+"]");
}
}
ublic class Client {
public static PrintStrategy getStrategy(TYPE type){
PrintStrategy st = null;
switch(type){
case COMMA:
(3)
break;
case DOTS:
(4);
break;
case LINE:
(5);
break;
}
return st;
}
public static void main(String[] args){
Interval interval = new Interval(1.7,2.1);
interval printInterval(getStrategy(TYPE.COMMA));
interval printInterval(getStrategy(TYPE.DOTS));
interval printInterval(getStrategy(TYPE.LINE));
}
}
答案解析与讨论:www.cnitpm.com/st/5710722070.html

6题: 试题六
阅读下列说明和C++代码,将应填入 (n)处的字句写在对应栏内
【说明】
在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound.upper bound]:[lower bound...upper bound]:[lower bound-upper bound] 等现采用策略(strategy)模式实现该要求,得到如图6-1所示的类图。

图6-1类图
【C++代码】
#include
using namespace std
class Print strategy{
Public:
(1);
}
class Interval{
Private:
double lower Bound;
double upper Bound;
Public:
Interval(double P lower,double P_upper){
lower Bound=P lower;
upper Bound=P_upper;
}
void Print Interval(Print strategy"prt){
(2);
}
double get lower (){
return lower Bound}
double get upper{
return upper Bound}
}
class Print Intervals Comma:Public Prints Strategy{
public:
void do Print(Interval *val){
cout《"["《val→get Lower()《“···”《val(→getupper()《]”《
endl;}
};
class Print Intervals Dots:Public Print Strategy{
Public:
void do Print (Interval*val){
cout《"["《val→get Lower]《“…”《val→get upper()《“]”《
endl:}
};
class Print Intervals Line:Public Print Strategy{
Public:
Void do Print (Interval*val){
cout《"["《val→get Lower()《“…”《val-get upper()《“]”《

endl;}
enum TYPE{ COMMA.DOTs.LINE}
Print strategy* get strategy (int type){
Print strategy*st;
switch (type){
case COMMA:
(3);
break;
case Dots:
(4);
break:
case LINE
(5);
break;
}
return st;
}
int main(){
Interval a(1.7,2.1);
a.Print Interval(get strategy(COMMA);
a.Print Interval(get strategy(DoTs);
a.Print Interval(get strategy(LINE);}
}return 0;
答案解析与讨论:www.cnitpm.com/st/571119145.html