首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
序列图有两个不同于协作图的特征,它们是()。
查看本题答案
包含此试题的试卷
中级软件设计师《单选集》真题及答案
点击查看
你可能感兴趣的试题
在UML的动态建模机制中描述了对象之间动态的交互关系还描述了交互的对象之间的静态链接关系即同时反映系
协作图(Collaboration Diagram)
状态图(State Diagram)
活动图(Activity Diagram)
序列图(Sequence Diagram)
描述了一组交互对象间的动态协作关系它表示完成某项行为的对象和这 些对象之间传递消息的时间顺序
对象图
协作图
状态图
序列图
UML中的给出了系统内从一个活动到另一个活动的流程它强调对象间的控制流程
协作图
序列图
对象图
活动图
在使用UML建模时若需要描述跨越多个用例的单个对象行为使为是最为合适的
协作图
序列图
活动图
状态图
UML提供了5种对系统动态方面建模的图其中49对系统行为组织和建模50之间是同构的 50处填
状态图和活动图
用例图和活动图
序列图和协作图
活动图和协作图
UML图一共有九种描述系统在某个时刻的静态结构的是______
用例图
对象图
序列图
协作图
UML提供了5种对系统动态方面建模的图其中49对系统行为组织和建模50之间是同构的
状态图和活动图
用例图和活动图
序列图和协作图
活动图和协作图
UML图一共有9种描述系统在某个时刻的静态结构的是
用例图
对象图
序列图
协作图
在UML中对象行为是通过交互来实现的是对象间完成某一目的而进行的一系列消息交换消息序列可用两种图来表
协作图
序列图
活动图
状态图
在UML提供的图中用于按时间顺序描述对象间的交互
网络图
状态图
协作图
序列图
UML中静态视图描述事物的静态结构主要包括1交互视图描述了执行系统功能的各个角色之间相互传递消息的顺
活动图、状态图
序列图、状态图
活动图、协作图
序列图、协作图
顺序图与协作图都是交互图它们有何不同所描述的主要系统特征是什么
在使用UML建模时若需要描述跨越多个用例的单个对象的行为使用______是最为合适的
协作图
序列图
活动图
活动图
UML提供了5种对系统动态方面建模的图其中对系统行为组织和建模对系统功能建模它强调对象之间的控
状态图和活动图
用例图和活动图
序列图和协作图
活动图和协作图
UML中的给出了系统内从一个活动到另一个活动的流程它强调对象间的控制流程
协作图
序列图
对象图
活动图
在使用UML建模时若需要描述跨越多个用例的单个对象行为用最合适
协作图
序列图
活动图
状态图
在使用UML建模时可以使用来反映若干个对象之间的动态合作关系它除显示信息交换外还显示对象以及它们之间
协作图
序列图
活动图
状态图
在使用UML建模时若需要描述跨越多个用例的单个对象的行为使用是最为合适的
协作图
序列图
活动图
状态图
热门试题
更多
【说明】1流程图描述某大型商店商品销售的数据处理流程2商店设有若干柜台同一种商品可能在几个柜台上销售各柜台每天提供一组日销售数据其格式如下日期柜台号商品代码销售数量商品代码销售数量3数据处理系统每日产生一份反映各柜台当日销售金额和商店日销售金额的日销售金额报告必要时还产生一份商品请购报告给出那些低于最低库存量的商品代码商品名称最低库存量和实际库存量处理过程中产生存档的日销售文件和临时工作文件日销售量文件和旧销售金额文件4系统中所用到的数据均来自数据文件5流程图中的商品库存文件的记录已按关键字商品代码排序1.【问题1】①指出商品库存文件的记录中必须包括哪些数据项②分别指出在日销售文件日销售量文件和日销售金额文件的记录中至少应包括哪些数据项同时不产生数据冗余③错误清单可能指出哪些错误
[说明]任何一种程序都是为了解决问题而撰写的解决问题时需要实现一些特定的运算法则在策略Strategy模式下可以更换实现算法的部分而不留痕迹切换整个算法简化改为采用其他方法来解决同样问题以下是一个剪刀石头布游戏猜拳时的策略有2种方法第一种是猜赢后继续出同样的招式WinningStrategy第二种是从上一次出的招式中以概率分配方式求出下一个招式的几率ProbStrategy程序中定义了Hand类表示猜拳时的手势类内部以0石头1剪刀2布来表示Hand类的实例只会产生3个以下是C++语言实现能够正确编译通过[C++代码]classHandprivate:inthandvalue;staticHand*hand0;staticHand*hand1;staticHand*hand2;1;Handinthandvaluethis->handvalue=handvalue;public:2Hand*getHandinthandvalue/*省略具体实现*/;Hand*Hand::hand0=newHand0;Hand*Hand::hand1=newHand1;Hand*Hand::hand2=newHand2;classStrategypublic:3Hand*nextHand=0;;classWinningStrategy:publicStrategyprivate:boolwon;Hand*prevHand;public:winningStrategywon=false;Hand*nextHandif!wonprevHand=Hand::getHandrand%3;returnprevHand;;classprobstrategy:publicStrategypublic:Hand*nextHandinthandvalue=0;/*省略具体实现*/returnHand::getHandhandvalue;;classPlayerprivate:stringname;Strategy*strategy;public:Playerstringname4strategythis->name=name;this->strategy=strategy;Hand*nextHand//向战略请示手势return5;;
[说明]快速排序是一种典型的分治算法采用快速排序对数组A[p..r]排序的3个步骤如下1.分解选择一个枢轴pivot元素划分数组将数组A[p..r]划分为两个子数组可能为空A[p..q-1]和A[q+1..r]使得A[q]大于等于A[p..q-1]中的每个元素小于A[q+1..r]中的每个元素q的值在划分过程中计算2.递归求解通过递归的调用快速排序对子数组A[p..q-1]和A[q+1..r]分别排序3.合并快速排序在原地排序故无需合并操作1.[问题1]下面是快速排序的伪代码请将空缺处1~3的内容填写完整伪代码中的主要变量说明如下A待排序数组pr数组元素下标从p到rq划分的位置x枢轴元素i整型变量用于描述数组下标下标小于或等于i的元素的值小于或等于枢轴元素的值j循环控制变量表示数组元素下标
【说明】背包问题的基本描述是有一个背包能盛放的物品总重量为S设有N件物品其重量分别为w1w2wn希望从N件物品中选择若干件物品所选物品的重量之和恰能放入该背包即所选物品的重量之和等于S如下程序均能求得背包问题的一组解其中程序4.1是背包问题的递归解法而程序4.2是背包问题的非递归解法【程序4.1】#include<stdio.h>#defineN7#defineS15intw[N+1]=01434527intknapintsintnifs==0return1ifs<0||s>0&&n<1return0if1|printf%4dw[n]return1return2mainifknapSNprintfOK!/nelseprintfNO!/n【程序4.2】#include<stdio.h>#defineN7#defineS15typedefstructintsintnintjobKNAPTPintw[N+1]=01434527intknapintsintnmainifknapSNprintfOK!/nelseprintfNO!/nintknapintsintnKNAPTPstack[100]xinttopkrepx.s=sx.n=nx.job=0top=|Stack[top]=xk=0while3x=Stack[top]rep=1while!k&&repifx.s==0k=1/*已求得一组解*/elseifx.s<0||x.n<=0rep=0elsex.s=4x.job=15=xif!krep=1whiletop>=1&&repx=stack[top--]ifx.job==1x.s+=W[x.n+1]x.job=2Stack[++top]=x6ifk/*输出一组解*/whiletop>=1x=staCk[top--]ifx.job==1printf%d/tw[x.n+1]returnk
[说明]任何一种程序都是为了解决问题而撰写的解决问题时需要实现一些特定的运算法则在策略Strategy模式下可以更换实现算法的部分而不留痕迹切换整个算法简化改为采用其他方法来解决同样问题以下是一个剪刀石头布游戏猜拳时的策略有2种方法第一种是猜赢后继续出同样的招式WinningStrategy第二种是从上一次出的招式种以概率分配方式求出下一个招式的几率ProbStrategy程序中定义了Hand类表示猜拳时的手势类内部以0石头1剪刀2布来表示Hand类的实例只会产生3个以下是C语言实现省略了不相关属性及方法方法实现体亦有所省略能够正确编译通过[C代码]typedef1*funl;enumHandValueHANDVALUE_GUU=0HANDVALUE_CHO=1HANDVALUE_PAA=2;//手势可取值依次为石头剪刀布//其大小顺序是循环相克的即石头赢剪刀剪刀赢布布赢石头boolwon;structHand*WSprevHand;structHand//手势enumHandValuehandvalue;hand[3]=HANDVALUE_GUUHANDVALUE_CHOHANDVALUE_PAA;intfightstructHand*h1structHand*h2//比较h1和h2h1代表的手势较大时返回1h1较小时返回-1相等时返回0//ifh1->handvalue==h2->handvaluereturn0;elseifh1->handvalue+1%2==h2>handvaluereturn1;elsereturn-1;structHand*getHandinthandvalue//依据手势代表的值取得手势若handvalue不合法返回NULLswitchhandvaluecase0:return&hand[0];break;case1:return&hand[1];bteak;case2;return&hand[2];break;return3;structStrategy//策略funlnextHand;//下一个手势;structHand*WSnextHandif!wonPSprevHand=getHandrand%3;returnPSprevHand;structPlayercharname[20];4strategy;//策略intwincount;intlosecount;intgamecount;;voidmainStrategyWS;WS.nextHand=WSnextHand;WSpreVHand=NULL;structPlayerWSplayer;5WSplayer.nameww;WSplayer.wincount=0;WSplayer.losecount=0;WSplayer.gamecount=0;WSplayer.strategy=&WS;
[说明]任何一种程序都是为了解决问题而撰写的解决问题时需要实现一些特定的运算法则在策略Strategy模式下可以更换实现算法的部分而不留痕迹切换整个算法简化改为采用其他方法来解决同样问题以下是一个剪刀石头布游戏猜拳时的策略有2种方法第一种是猜赢后继续出同样的招式WinningStrategy第二种是从上一次出的招式种以概率分配方式求出下一个招式的几率ProbStrategy程序中定义了Hand类表示猜拳时的手势类内部以0石头1剪刀2布来表示Hand类的实例只会产生3个以下是Java语言实现省略了不相关属性及方法方法实现体亦有所省略能够正确编译通过[Java代码]//Hand.jav__件publicclassHandpublicstaticfinalintHANDVALUE_GUU=0;//石头publicstaticfinalintHANDVALUE_CHO=1;//剪刀publicstaticfinalintHANDVALUE_PAA=2;//布publicstaticfinalHand[]hand=newHandHANDVALUE_GUUnewHandHANDVALUE_CHOnewHandHANDVALUE_PAA;privateinthandvalue;1Handinthandvaluethis.handvalue=handvalue;public2HandgetHandinthandvalue//从值取得对象实例returnhand[handvalue];//Strategy.jav__件publicinterfaceStrategypublic3HandnextHand;//ProbStrategy.jav__件importjava.util.Random;publicclassProbStrategyimplementsStrategypublicHandnextHandinthandvalue=0;/*省略具体实现*/returnHand.getHandhandvalue;//WinningStrategy.jav__件importjava.util.Random;publicclassWinningStrategyimplementsStrategy/*省略了不相关属性*/publicHandnextHandif!wonprevHand=Hand.getHandrandom.nextInt3;returnprevHand;//Player.jav__件publicclassPlayerprivateStringname;privateStrategystrategy;publicPlayerStringname4strategythis.name=name;this.strategy=strategy;publicHandnextHand//向战略请示手势return5;
[说明]研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图[数据流图11-1][数据流图11-2][数据流图11-3]1.[问题1]数据流图11-2中有3条数据流请根据说明中的术语给出这三条数据流名称并指出起点和终点
[说明]某市人才交流中心为促进当地人力资源的合理配置加强当地企业与人才的沟通拟建立人才信息交流网[需求分析结果]1.每个前来登记的个人需填写人才入库登记表如表2-17所示并出示相关证件经工作人员审核后录入个人信息表2-17人才入库登记表个人编号_______登记日期___年___月___日姓名性别出生日期照片籍贯身份证号毕业院校专业学历证书名称1.编号2.移动电话家庭电话电子邮件求职意向及薪水职位名称最低薪水备注1.2.个人简历及特长2.每个前来登记的企业需填写企业信息登记表如表2-18所示并出示相关证明及复印件经工作人员核实后录入企业信息3.个人和企业的基本信息只需在第一次登记时填写个人编号和企业编号由系统自动生成个人和企业的基本信息由计算机长期存储以后个人只需提供个人编号和求职意向信息企业只需提供企业编号和岗位需求信息4.个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布[概念模型设计]根据需求阶段收集的信息设计人才岗位和企业的实体联系图如图2-24所示不完整表2-18企业信息登记表企业编号_______登记日期__年__月__日企业名称地址企业网址联系人联系电话电子邮件岗位需求职位专业学历薪水备注企业简介[逻辑结构设计]1.将概念模型设计的实体联系图转换为以下关系模式人才个人编号姓名性别出生日期身份证号毕业院校专业学历证书名称证书编号联系电话电子邮件个人简历及特长企业企业编号企业名称联系人联系电话地址企业网址电子邮件企业简介求职意向2岗位需求32.由于一个人可能持有多个证书因此对人才关系模式进行优化得到如下两个新的关系模式人才4证书5根据上述的设计过程回答以下问题1.[问题1]在1空缺处填入所需的实体联系及其属性完成概念模型设计
[说明]在进行文法分析的时候通常需要检测一个单词是否在我们的单词列表里为了提高查找和定位的速度通常都要画出与单词列表所对应的单词查找树程序构造一棵二叉排序树每个节点存储一个单词按字典序列较小的在左子树较大的在右子树函数中使用的预定义符号如下typedefstructTreeNode/*二叉排序树节点*/char*word;structTreeNode*left*right;BNODE;[函数]intgetWordFILE*fptchar*word/*从文件fpt中读取单词到word中到达文件结束时返回0*/charc;c=fgetcfpt;ifc==EOFreturn0;/*跳过单词间的非字母字符*/while!tolowerc>=’a’&&tolowerc=’a’&&tolowerc0ptr->right:ptr->left;ptr=BNODE*mallocsizeofptr;ptr->left=ptr->right=NULL;ptr->word=char*mallocstrlenword+1;strcpyptr->wordword;ifp==NULL4;elseifcompres>0p->right=ptr;elsep->left=ptr;intmainFILE*fpt;charword[40];BNODE*root=NULL;iffpt=fopentext.inr==NULLprintf不能打开文件text.in!/n;return1;whilegetWordfptword==1BTree5;fclosefpt;return0;
[说明]门禁系统是楼宇安防系统的重要组成部分也是大厦智能化管理的体现其工作过程是如果在入口处的读卡器上刷卡锁控器LockController接收读卡器FingerReader的读卡信息并进一步识别如果为有效卡则触发控制电控锁Lock的继电器让持卡人通过锁控器还会将这些读卡及进出事件存储起来并将相关事件记录传送给上位机每个锁控器管理1~4个门每5~8个锁控器接入1条RS-485总线并转换成RS-232方式与管理主机的串行口对锁控器进行相关设置后允许它脱机独立对门禁点进行控制管理主机或通信线路故障都不会影响它的正常运行在普通场合通常会设置1个出门按钮允许已进入的人员按动此按钮以打开电控锁而对于一些重要场合通常会在门的内外安装两个读卡器进出门时都需按预设方式进行刷卡门禁系统中的每个电控锁都有一个唯一的编号锁的状态有两种已锁住和未锁住在管理主机上可以设置每把锁的安全级别及用户的开锁权限只有当用户的开锁权限大于或等于锁的安全级别并且锁处于已锁住状态时才能将锁打开用户的感应卡信息开锁权限及锁的安全级别都保存在管理主机的数据库中表2-19给出了门禁系统主要组成部件的作用表2-19感应门禁系统主要组成部件及其作用表部件名称主要作用功能读卡感应器FingerReader通过射频感应原理识别感应卡内置加密卡号锁控器LockController存储感应卡权限和刷卡记录向管理软件上传读卡器送来的信号并负责和上位机通讯和其他数据存储器协调电控锁Lock电动执行机构主机管理软件Win-PakSoftware通过计算机对所有单元进行中央管理和监控进行相应的时钟授权统计管理工作RS-485/232信号转换器对所有数据存储器进行联网和远距离通信门禁电源提供系统工作时所需的电源能量感应卡存储用户的不可复制和解密的ID号开门按钮出门时可以设置为按此按钮出门可选部件软件开发公司A承担了该门禁控制系统的开发任务其开发小组采用根据问题领域的模型建立系统结构的面向对象方法完成该系统的设计系统中的类及类之间的关系用UML类图表示1.[问题1]如图2-25所示是门禁控制系统的一个不完整类图根据题干说明中给出的术语请给出类Lock的主要属性
【说明】1流程图描述某大型商店商品销售的数据处理流程2商店设有若干柜台同一种商品可能在几个柜台上销售各柜台每天提供一组日销售数据其格式如下日期柜台号商品代码销售数量商品代码销售数量3数据处理系统每日产生一份反映各柜台当日销售金额和商店日销售金额的日销售金额报告必要时还产生一份商品请购报告给出那些低于最低库存量的商品代码商品名称最低库存量和实际库存量处理过程中产生存档的日销售文件和临时工作文件日销售量文件和旧销售金额文件4系统中所用到的数据均来自数据文件5流程图中的商品库存文件的记录已按关键字商品代码排序1.【问题1】①指出商品库存文件的记录中必须包括哪些数据项②分别指出在日销售文件日销售量文件和日销售金额文件的记录中至少应包括哪些数据项同时不产生数据冗余③错误清单可能指出哪些错误
[说明]某图书管理系统的主要功能是图书管理和信息查询对于初次借书的读者系统自动生成读者号并与读者基本信息姓名单位和地址等一起写入读者文件该系统的图书管理功能主要分为购入新书读者借书读者还书及图书注销4个方面1购入新书时需要为该书编制入库单入库单内容包括图书分类目录号书名作者价格数量和购书日期将这些信息写入图书目录文件并修改文件中的库存总量表示到目前为止购入此种图书的数量2读者借书时需填写借书单借书单内容包括读者号和所借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书若有效则进一步检查该读者已借图书是否超过最大限制数假设每位读者能同时借阅的书不超过10本若已达到最大限制数则拒绝借书否则允许借书同时将图书分类目录号读者号和借阅日期等信息写入借书文件中3读者还书时需填写还书单系统根据读者号和图书分类目录号从借书文件中读出与该图书相关的借阅记录标明还书日期再写回到借书文件中若图书逾期则处以相应的罚款4注销图书时需填写注销单并修改图书目录文件中的库存总量系统的信息查询功能主要包括读者信息查询和图书信息查询其中读者信息查询可得到读者的基本信息及读者借阅图书的情况图书信息查询可得到图书基本信息和图书的借出情况该图书管理系统的顶层数据流图如图2-21所示该图书管理系统的第0层DFD图如图2-22所示其中加工2的细化图如图2-23所示1.[问题1]请用100字以内的文字简要说明逻辑数据流图LogicalDataFlowDiagram和物理数据流图PhysicalDataFlowDiagram之间的主要差别
[说明]快速排序是一种典型的分治算法采用快速排序对数组A[p..r]排序的3个步骤如下1.分解选择一个枢轴pivot元素划分数组将数组A[p..r]划分为两个子数组可能为空A[p..q-1]和A[q+1..r]使得A[q]大于等于A[p..q-1]中的每个元素小于A[q+1..r]中的每个元素q的值在划分过程中计算2.递归求解通过递归的调用快速排序对子数组A[p..q-1]和A[q+1..r]分别排序3.合并快速排序在原地排序故无需合并操作1.[问题1]下面是快速排序的伪代码请将空缺处1~3的内容填写完整伪代码中的主要变量说明如下A待排序数组pr数组元素下标从p到rq划分的位置x枢轴元素i整型变量用于描述数组下标下标小于或等于i的元素的值小于或等于枢轴元素的值j循环控制变量表示数组元素下标
[说明]一个新的音像商店准备向比较广泛的人群出租录像带和光碟该商店的管理决定在计算机系统的支持下来运作音像商店在货架上存放着题材广泛的当前流行的电影库由于同一个电影片名可能有于不同的导演而有不同的版本因此电影用电影代码区分而不用电影片名同一个版本有多份拷贝因此音像制品用一个唯一的编号标识某个特定的电影可以存放在录像带或光碟上录像带和光碟的租金不同录像带要么是Beta格式要么是VHS格式光碟为DVD格式容量比较大一张光碟可以存储同一电影片名的不同版本每个电影都有特定的租用期用天表示并带有在租用期内的租金音像商店必须能够立即回答关于某个电影的库存和有多少供租用的带子或光碟音像商店的店员负责定购音像联系客户音像上架并对客户的询问给出答复该系统采用面向对象方法开发系统中的类以及类之间的关系用UML类图表示图1-1是该系统的用例图图1-2是该系统的类图的一部分[图1-1][图1-2]1.根据题意给出电影类的主要属性
[说明]在进行文法分析的时候通常需要检测一个单词是否在我们的单词列表里为了提高查找和定位的速度通常都要画出与单词列表所对应的单词查找树程序构造一棵二叉排序树每个节点存储一个单词按字典序列较小的在左子树较大的在右子树函数中使用的预定义符号如下typedefstructTreeNode/*二叉排序树节点*/char*word;structTreeNode*left*right;BNODE;[函数]intgetWordFILE*fptchar*word/*从文件fpt中读取单词到word中到达文件结束时返回0*/charc;c=fgetcfpt;ifc==EOFreturn0;/*跳过单词间的非字母字符*/while!tolowerc>=’a’&&tolowerc=’a’&&tolowerc0ptr->right:ptr->left;ptr=BNODE*mallocsizeofptr;ptr->left=ptr->right=NULL;ptr->word=char*mallocstrlenword+1;strcpyptr->wordword;ifp==NULL4;elseifcompres>0p->right=ptr;elsep->left=ptr;intmainFILE*fpt;charword[40];BNODE*root=NULL;iffpt=fopentext.inr==NULLprintf不能打开文件text.in!/n;return1;whilegetWordfptword==1BTree5;fclosefpt;return0;
[说明]在进行文法分析的时候通常需要检测一个单词是否在我们的单词列表里为了提高查找和定位的速度通常都要画出与单词列表所对应的单词查找树程序构造一棵二叉排序树每个节点存储一个单词按字典序列较小的在左子树较大的在右子树函数中使用的预定义符号如下typedefstructTreeNode/*二叉排序树节点*/char*word;structTreeNode*left*right;BNODE;[函数]intgetWordFILE*fptchar*word/*从文件fpt中读取单词到word中到达文件结束时返回0*/charc;c=fgetcfpt;ifc==EOFreturn0;/*跳过单词间的非字母字符*/while!tolowerc>=’a’&&tolowerc=’a’&&tolowerc0ptr->right:ptr->left;ptr=BNODE*mallocsizeofptr;ptr->left=ptr->right=NULL;ptr->word=char*mallocstrlenword+1;strcpyptr->wordword;ifp==NULL4;elseifcompres>0p->right=ptr;elsep->left=ptr;intmainFILE*fpt;charword[40];BNODE*root=NULL;iffpt=fopentext.inr==NULLprintf不能打开文件text.in!/n;return1;whilegetWordfptword==1BTree5;fclosefpt;return0;
[说明]在一公文处理系统中开发者定义了一个公文类OfficeDoc其中定义了公文具有的属性和处理公文的相应方法当公文件中内容或状态发生变化时关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态一个OfficeDoc对象能够关联一组DocExplorer对象当OfficeDoc对象的内容或状态发生变化时所有与之相关联的DocExplorer对象都将得到通知这种应用被称为Observer观察者模式以下代码采用C++语言实现能够正确编译通过[C++代码]
【说明】某教学管理系统的用户是教学管理人员教师和学生系统主要提供学生选课管理和学生成绩管理两方面的功能1学生选修课管理主要功能是管理新学期开始时学生对选修的课程进行选课注册工作新学期开始后的前两周为学生试听选课注册时间允许校内各院系学生跨专业跨年级选修课程学生可以在校园网的任何一个终端进行选课①新学期选修课程表生成各学院教学管理人员在新学期开始前将准备开设的选修课程名称课程代码总课时上课时间学分任课教师和上课教室录入系统供学生选课使用新学期开学两周后系统自动将实际选课学生少于10人的课程停开并删除该课程教学管理人员打印学生选课注册名单和开课通知书送交有关部门和任课教师②学生选课注册新学期开学前两周为学生试听选课注册时间并允许改变或取消注册申请学生调用待选课程表系统显示课程名课程代码任课教师上课时间总课时上课教室学分和本课程已选修人数学生所选几门课程在上课时间上不能冲突若一门课程实际选课学生已达到40人时停止选课当学生退出系统时系统提示该学生所选的几门课程任课教师上课时间教室学分和学分总计③选修课程查询选修课程表信息查询用户是教师学生和教学管理人员系统显示课程名课程代码任课教师上课时间总课时上课教室学分和本课程已选修人数查询关键词可为学院名称专业授课教师等学生选课情况查询教师和教学管理人员可以查看学生的选课情况查询关键词可以为学生姓名学号课程名称课程代码授课教师等学生只能查自己所选课程内容不允许查其他同学选课情况教师简历查询用户是学生教师和教学管理人员查询关键词可为教师姓名性别职称年龄等单关键词或组合关键词④信息统计与报表生成各学院教学管理人员对学生选课注册信息进行统计按课程专业等打印汇总报表⑤把学生选课注册信息传送到财务管理系统计算学生应交纳的费用2学生成绩管理①学生考试成绩录入各学院教学管理人员将学生考试成绩录入系统录入学生成绩时系统自动检查财务系统传来的选课交费信息核对该学生是否已经交纳本门课程的费用没有交纳费用者不给成绩②成绩查询教师和教学管理人员可查询学生各门课程的成绩查询关键词可为学生姓名学号课程名课程代码等学生只能查自己各门课程的成绩不允许查其他同学成绩③成绩汇总与报表生成教学管理人员对学生考试成绩信息进行统计按学生课程专业等打印汇总报表向学校教务管理系统发送汇总信息表格等不反馈信息现在已建立教学管理最高层用例图如下1.【问题1】完成学生成绩管理子系统用例图
[说明]为了有效记录交通事故情况欲设计一个交通事故记录系统一辆汽车有一个唯一的车牌号车主购买汽车时需要提供相关信息包括身份证姓名年龄性别地址等一个车主可以拥有多辆汽车而一辆汽车只有一个车主驾驶员不一定是车主因此记录交通事故时要记录驾驶员身份证号同时记录事故发生时刻图2-1描绘了人汽车交通事故三个实体类型及实体间联系的一个E-R图[图2-1]对应的关系模式为·人身份证号姓名性别年龄地址·汽车车牌号型号·事故车牌号身份证号时刻损失描述·拥有身份证号车牌号1.指出每种关系模式的主键
[说明]某图书管理系统的主要功能是图书管理和信息查询对于初次借书的读者系统自动生成读者号并与读者基本信息姓名单位和地址等一起写入读者文件该系统的图书管理功能主要分为购入新书读者借书读者还书及图书注销4个方面1购入新书时需要为该书编制入库单入库单内容包括图书分类目录号书名作者价格数量和购书日期将这些信息写入图书目录文件并修改文件中的库存总量表示到目前为止购入此种图书的数量2读者借书时需填写借书单借书单内容包括读者号和所借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书若有效则进一步检查该读者已借图书是否超过最大限制数假设每位读者能同时借阅的书不超过10本若已达到最大限制数则拒绝借书否则允许借书同时将图书分类目录号读者号和借阅日期等信息写入借书文件中3读者还书时需填写还书单系统根据读者号和图书分类目录号从借书文件中读出与该图书相关的借阅记录标明还书日期再写回到借书文件中若图书逾期则处以相应的罚款4注销图书时需填写注销单并修改图书目录文件中的库存总量系统的信息查询功能主要包括读者信息查询和图书信息查询其中读者信息查询可得到读者的基本信息及读者借阅图书的情况图书信息查询可得到图书基本信息和图书的借出情况该图书管理系统的顶层数据流图如图2-21所示该图书管理系统的第0层DFD图如图2-22所示其中加工2的细化图如图2-23所示1.[问题1]请用100字以内的文字简要说明逻辑数据流图LogicalDataFlowDiagram和物理数据流图PhysicalDataFlowDiagram之间的主要差别
【说明】有如下关系数据库SSNOSNSTATUSCITYPPNOPNCOLORSWEIGHTJJNOJNCITYSPJSNOPNOJNOQTY其中S为供应单位P为零件J为工程项目SPJ为工程订购零件的订单其语义为某供应单位供应某种零件给某个工程请用SQL完成下列操作1.【问题1】求为工程J1提供红色零件的供应商代号
[说明]任何一种程序都是为了解决问题而撰写的解决问题时需要实现一些特定的运算法则在策略Strategy模式下可以更换实现算法的部分而不留痕迹切换整个算法简化改为采用其他方法来解决同样问题以下是一个剪刀石头布游戏猜拳时的策略有2种方法第一种是猜赢后继续出同样的招式WinningStrategy第二种是从上一次出的招式种以概率分配方式求出下一个招式的几率ProbStrategy程序中定义了Hand类表示猜拳时的手势类内部以0石头1剪刀2布来表示Hand类的实例只会产生3个以下是C语言实现省略了不相关属性及方法方法实现体亦有所省略能够正确编译通过[C代码]typedef1*funl;enumHandValueHANDVALUE_GUU=0HANDVALUE_CHO=1HANDVALUE_PAA=2;//手势可取值依次为石头剪刀布//其大小顺序是循环相克的即石头赢剪刀剪刀赢布布赢石头boolwon;structHand*WSprevHand;structHand//手势enumHandValuehandvalue;hand[3]=HANDVALUE_GUUHANDVALUE_CHOHANDVALUE_PAA;intfightstructHand*h1structHand*h2//比较h1和h2h1代表的手势较大时返回1h1较小时返回-1相等时返回0//ifh1->handvalue==h2->handvaluereturn0;elseifh1->handvalue+1%2==h2>handvaluereturn1;elsereturn-1;structHand*getHandinthandvalue//依据手势代表的值取得手势若handvalue不合法返回NULLswitchhandvaluecase0:return&hand[0];break;case1:return&hand[1];bteak;case2;return&hand[2];break;return3;structStrategy//策略funlnextHand;//下一个手势;structHand*WSnextHandif!wonPSprevHand=getHandrand%3;returnPSprevHand;structPlayercharname[20];4strategy;//策略intwincount;intlosecount;intgamecount;;voidmainStrategyWS;WS.nextHand=WSnextHand;WSpreVHand=NULL;structPlayerWSplayer;5WSplayer.nameww;WSplayer.wincount=0;WSplayer.losecount=0;WSplayer.gamecount=0;WSplayer.strategy=&WS;
【说明】下面是一个Applet程序其功能是建立2个文本区域一个为编辑区一个为只读区建立2个按钮一个实现将编辑区中被鼠标选定的文本内容拷贝到只读区中一个实现将只读区的全部文本内容清空程序运行结果如图3所示importjava.awt.*importjava.applet.*/*<appletcode=ex3_6.classwidth=800height=400></applet>*/publicclassex3_6extendsAppletprivateButtonokBtnclearBtnprivateStringstrMessageprivateTextAreatArea1tArea2publicvoidinitstrMessage=Hello!Welcometothetest!/n+Wishyougoodluck!tArea1=newTextArea10251tArea2=newTextArea10252OkBtnnewButtonCopydearBtn=3addtArea1addtArea2addokBtnaddclearBtnpublicbooleanactionEventeObjectoife.target==okBtntArea2setText4elseife.target==clearBtn5returntrueex3_6.htm|<HTML><HEAD><TITLE>ex3_6</TITLE></HEAD><BODY><appletcode=ex3_6.classWidth=800height=400></applet></BODY></HTML>
[说明]某市人才交流中心为促进当地人力资源的合理配置加强当地企业与人才的沟通拟建立人才信息交流网[需求分析结果]1.每个前来登记的个人需填写人才入库登记表如表2-17所示并出示相关证件经工作人员审核后录入个人信息表2-17人才入库登记表个人编号_______登记日期___年___月___日姓名性别出生日期照片籍贯身份证号毕业院校专业学历证书名称1.编号2.移动电话家庭电话电子邮件求职意向及薪水职位名称最低薪水备注1.2.个人简历及特长2.每个前来登记的企业需填写企业信息登记表如表2-18所示并出示相关证明及复印件经工作人员核实后录入企业信息3.个人和企业的基本信息只需在第一次登记时填写个人编号和企业编号由系统自动生成个人和企业的基本信息由计算机长期存储以后个人只需提供个人编号和求职意向信息企业只需提供企业编号和岗位需求信息4.个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布[概念模型设计]根据需求阶段收集的信息设计人才岗位和企业的实体联系图如图2-24所示不完整表2-18企业信息登记表企业编号_______登记日期__年__月__日企业名称地址企业网址联系人联系电话电子邮件岗位需求职位专业学历薪水备注企业简介[逻辑结构设计]1.将概念模型设计的实体联系图转换为以下关系模式人才个人编号姓名性别出生日期身份证号毕业院校专业学历证书名称证书编号联系电话电子邮件个人简历及特长企业企业编号企业名称联系人联系电话地址企业网址电子邮件企业简介求职意向2岗位需求32.由于一个人可能持有多个证书因此对人才关系模式进行优化得到如下两个新的关系模式人才4证书5根据上述的设计过程回答以下问题1.[问题1]在1空缺处填入所需的实体联系及其属性完成概念模型设计
[说明]任何一种程序都是为了解决问题而撰写的解决问题时需要实现一些特定的运算法则在策略Strategy模式下可以更换实现算法的部分而不留痕迹切换整个算法简化改为采用其他方法来解决同样问题以下是一个剪刀石头布游戏猜拳时的策略有2种方法第一种是猜赢后继续出同样的招式WinningStrategy第二种是从上一次出的招式种以概率分配方式求出下一个招式的几率ProbStrategy程序中定义了Hand类表示猜拳时的手势类内部以0石头1剪刀2布来表示Hand类的实例只会产生3个以下是Java语言实现省略了不相关属性及方法方法实现体亦有所省略能够正确编译通过[Java代码]//Hand.jav__件publicclassHandpublicstaticfinalintHANDVALUE_GUU=0;//石头publicstaticfinalintHANDVALUE_CHO=1;//剪刀publicstaticfinalintHANDVALUE_PAA=2;//布publicstaticfinalHand[]hand=newHandHANDVALUE_GUUnewHandHANDVALUE_CHOnewHandHANDVALUE_PAA;privateinthandvalue;1Handinthandvaluethis.handvalue=handvalue;public2HandgetHandinthandvalue//从值取得对象实例returnhand[handvalue];//Strategy.jav__件publicinterfaceStrategypublic3HandnextHand;//ProbStrategy.jav__件importjava.util.Random;publicclassProbStrategyimplementsStrategypublicHandnextHandinthandvalue=0;/*省略具体实现*/returnHand.getHandhandvalue;//WinningStrategy.jav__件importjava.util.Random;publicclassWinningStrategyimplementsStrategy/*省略了不相关属性*/publicHandnextHandif!wonprevHand=Hand.getHandrandom.nextInt3;returnprevHand;//Player.jav__件publicclassPlayerprivateStringname;privateStrategystrategy;publicPlayerStringname4strategythis.name=name;this.strategy=strategy;publicHandnextHand//向战略请示手势return5;
[说明]任何一种程序都是为了解决问题而撰写的解决问题时需要实现一些特定的运算法则在策略Strategy模式下可以更换实现算法的部分而不留痕迹切换整个算法简化改为采用其他方法来解决同样问题以下是一个剪刀石头布游戏猜拳时的策略有2种方法第一种是猜赢后继续出同样的招式WinningStrategy第二种是从上一次出的招式中以概率分配方式求出下一个招式的几率ProbStrategy程序中定义了Hand类表示猜拳时的手势类内部以0石头1剪刀2布来表示Hand类的实例只会产生3个以下是C++语言实现能够正确编译通过[C++代码]classHandprivate:inthandvalue;staticHand*hand0;staticHand*hand1;staticHand*hand2;1;Handinthandvaluethis->handvalue=handvalue;public:2Hand*getHandinthandvalue/*省略具体实现*/;Hand*Hand::hand0=newHand0;Hand*Hand::hand1=newHand1;Hand*Hand::hand2=newHand2;classStrategypublic:3Hand*nextHand=0;;classWinningStrategy:publicStrategyprivate:boolwon;Hand*prevHand;public:winningStrategywon=false;Hand*nextHandif!wonprevHand=Hand::getHandrand%3;returnprevHand;;classprobstrategy:publicStrategypublic:Hand*nextHandinthandvalue=0;/*省略具体实现*/returnHand::getHandhandvalue;;classPlayerprivate:stringname;Strategy*strategy;public:Playerstringname4strategythis->name=name;this->strategy=strategy;Hand*nextHand//向战略请示手势return5;;
[说明]一个新的音像商店准备向比较广泛的人群出租录像带和光碟该商店的管理决定在计算机系统的支持下来运作音像商店在货架上存放着题材广泛的当前流行的电影库由于同一个电影片名可能有于不同的导演而有不同的版本因此电影用电影代码区分而不用电影片名同一个版本有多份拷贝因此音像制品用一个唯一的编号标识某个特定的电影可以存放在录像带或光碟上录像带和光碟的租金不同录像带要么是Beta格式要么是VHS格式光碟为DVD格式容量比较大一张光碟可以存储同一电影片名的不同版本每个电影都有特定的租用期用天表示并带有在租用期内的租金音像商店必须能够立即回答关于某个电影的库存和有多少供租用的带子或光碟音像商店的店员负责定购音像联系客户音像上架并对客户的询问给出答复该系统采用面向对象方法开发系统中的类以及类之间的关系用UML类图表示图1-1是该系统的用例图图1-2是该系统的类图的一部分[图1-1][图1-2]1.根据题意给出电影类的主要属性
【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表链表的每一项由类Node描述而链表由类List描述类List的成员函数有以下几个①createList创建从小到大的有序链表②multiplyListListL1ListL2将链表L1和链表L2合并③print打印链表#include<iostream.h>classList;classNodefriendclassList;public:Nodeintdata1;private:intdata;Node*next;;classListpublic:Listlist=NULL;voidmultiplyListListL1ListL2;voidcreateList;voidprint;private:Node*list;;voidList::createListNode*p*u*pm;intdata;list=NULL;while1cout<<输入链表的一项:小于零结束链表<<end1;cin>>data;ifdata<0break;//小于零结束输入p=list;whilep!=NULL&&data>p->data//查找插入点pre=p;p=p->next;u=2:ifp==listlist=u;elsepre->next=u;3:voidList::multiplyListListL1ListL2Node*pL1*pL2*pL*u;list=NULL;pL1=L1.list;pL2=L2.1ist;whilepL1!=NULL&&pL2!=NULLifpL1->data<pL2->datau=newNodepL1->data;pL1=pL1->next;elseu=newNodepL2->data;pL2=pL2->next;iflist==NULLlist=4;elsepL->next=u;pL=u;pL1=pL1!=NULLpL1:pL2;whilepL1!=NULLu=5;pL1=pL1->next;iflist==NULLlist=pL=u;elsepL->next=u;pL=u;voidList::printNode*p;p=list;whilep!=NULLcout<<p->data<</t;p=p->next;cout<<end1;voidmainListL1L2L;cout<<创建第一个链表/n;L1.createList;cout<<创建第二个链表/n;L2.createList;L1.print;L2.print;L.multiplyListL1L2;L.print;
【说明】某教学管理系统的用户是教学管理人员教师和学生系统主要提供学生选课管理和学生成绩管理两方面的功能1学生选修课管理主要功能是管理新学期开始时学生对选修的课程进行选课注册工作新学期开始后的前两周为学生试听选课注册时间允许校内各院系学生跨专业跨年级选修课程学生可以在校园网的任何一个终端进行选课①新学期选修课程表生成各学院教学管理人员在新学期开始前将准备开设的选修课程名称课程代码总课时上课时间学分任课教师和上课教室录入系统供学生选课使用新学期开学两周后系统自动将实际选课学生少于10人的课程停开并删除该课程教学管理人员打印学生选课注册名单和开课通知书送交有关部门和任课教师②学生选课注册新学期开学前两周为学生试听选课注册时间并允许改变或取消注册申请学生调用待选课程表系统显示课程名课程代码任课教师上课时间总课时上课教室学分和本课程已选修人数学生所选几门课程在上课时间上不能冲突若一门课程实际选课学生已达到40人时停止选课当学生退出系统时系统提示该学生所选的几门课程任课教师上课时间教室学分和学分总计③选修课程查询选修课程表信息查询用户是教师学生和教学管理人员系统显示课程名课程代码任课教师上课时间总课时上课教室学分和本课程已选修人数查询关键词可为学院名称专业授课教师等学生选课情况查询教师和教学管理人员可以查看学生的选课情况查询关键词可以为学生姓名学号课程名称课程代码授课教师等学生只能查自己所选课程内容不允许查其他同学选课情况教师简历查询用户是学生教师和教学管理人员查询关键词可为教师姓名性别职称年龄等单关键词或组合关键词④信息统计与报表生成各学院教学管理人员对学生选课注册信息进行统计按课程专业等打印汇总报表⑤把学生选课注册信息传送到财务管理系统计算学生应交纳的费用2学生成绩管理①学生考试成绩录入各学院教学管理人员将学生考试成绩录入系统录入学生成绩时系统自动检查财务系统传来的选课交费信息核对该学生是否已经交纳本门课程的费用没有交纳费用者不给成绩②成绩查询教师和教学管理人员可查询学生各门课程的成绩查询关键词可为学生姓名学号课程名课程代码等学生只能查自己各门课程的成绩不允许查其他同学成绩③成绩汇总与报表生成教学管理人员对学生考试成绩信息进行统计按学生课程专业等打印汇总报表向学校教务管理系统发送汇总信息表格等不反馈信息现在已建立教学管理最高层用例图如下1.【问题1】完成学生成绩管理子系统用例图
[说明]任何一种程序都是为了解决问题而撰写的解决问题时需要实现一些特定的运算法则在策略Strategy模式下可以更换实现算法的部分而不留痕迹切换整个算法简化改为采用其他方法来解决同样问题以下是一个剪刀石头布游戏猜拳时的策略有2种方法第一种是猜赢后继续出同样的招式WinningStrategy第二种是从上一次出的招式种以概率分配方式求出下一个招式的几率ProbStrategy程序中定义了Hand类表示猜拳时的手势类内部以0石头1剪刀2布来表示Hand类的实例只会产生3个以下是Java语言实现省略了不相关属性及方法方法实现体亦有所省略能够正确编译通过[Java代码]//Hand.jav__件publicclassHandpublicstaticfinalintHANDVALUE_GUU=0;//石头publicstaticfinalintHANDVALUE_CHO=1;//剪刀publicstaticfinalintHANDVALUE_PAA=2;//布publicstaticfinalHand[]hand=newHandHANDVALUE_GUUnewHandHANDVALUE_CHOnewHandHANDVALUE_PAA;privateinthandvalue;1Handinthandvaluethis.handvalue=handvalue;public2HandgetHandinthandvalue//从值取得对象实例returnhand[handvalue];//Strategy.jav__件publicinterfaceStrategypublic3HandnextHand;//ProbStrategy.jav__件importjava.util.Random;publicclassProbStrategyimplementsStrategypublicHandnextHandinthandvalue=0;/*省略具体实现*/returnHand.getHandhandvalue;//WinningStrategy.jav__件importjava.util.Random;publicclassWinningStrategyimplementsStrategy/*省略了不相关属性*/publicHandnextHandif!wonprevHand=Hand.getHandrandom.nextInt3;returnprevHand;//Player.jav__件publicclassPlayerprivateStringname;privateStrategystrategy;publicPlayerStringname4strategythis.name=name;this.strategy=strategy;publicHandnextHand//向战略请示手势return5;
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术