[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷52及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷52及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷52及答案与解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 52及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读以下说明和图,回答问题 1至问题 4,将解答填入对应栏内。 【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下; 1每门课程都有 3到 6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的千时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2学生的平时成绩和考试成绩均由每门课程的 主讲教师上传给成绩管理系统。 3在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文
2、件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的:如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩足有效的,否则无效。 4对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。 5若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。 6在生成成绩列表
3、之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。 7根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单 ,并通知每个选课学生。 现采用结构化方法对这个系统进行分析与设计,得到如图 1-1所示的顶层数据流图和图 1-2所示的 0层数据流图。 1 使用说明中的词语,给山图 l-1中的外部实体 E1 E4的名称。 2 使用说明中的词语,给出图 1-2中的数据存储 D1 D5的名称。3 数据流图 1-2缺少了三条数据流,根据
4、说明及数据流图 1-1提供的信息,分别指出这三条数据流的起点和终点。 4 数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形 化工具。简要说明程序流程图的适用场合与作用。 5 阅读下列说明和图,回答问题 l至问题 3,将解答填入答题纸的对应栏内。【说明】某银行计划开发一个自动存提款机模拟系统 (ATM System)。系统通过读卡器(: ardReader)读取 ATM卡;系统与客户 (Customer)的交互由客户控制台(CustomerConsole)实现;银行操作员 ()perator)可控制系统的启动 (System S
5、tartup)和停止 (SystemShutdown);系统通过网络和银行系统 (Bank)实现通信。当读卡器判断用 户已将 ATM卡插入后,创建会话 (Session)。会话开始后,读卡器进行读卡,并要求客户输入个人验证码 (PIN)。系统将卡号和个人验证码信息送到银行系统进行验证。验证通过后,客户可从菜单选择如下事务 (Transaction): 1从 ATM卡账户取款 (withdraw); 2向 ATM卡账户存款 (Deposit); 3进行转账 (Transfer);4查询 (Inquire)ATM卡账户信息。一次会话可以包含多个事务,每个事务处理也会将卡号和个人验证码信息送到银行系
6、统进行验证。若个人验证码错误,则转个人验证码错误 处理 (Invalid PIN Process)。每个事务完成后,客户可选择继续上述事务或退卡。选择退卡时,系统弹出 ATM卡,会话结束。系统采用面向对象方法开发,使用 uML进行建模。系统的顶层用例图如图 53所示,一次会话的序列图(不考虑验证 )如图 54所示。消息名称参见表 54。 5 根据【说明】中的描述,给出图 53中 A1和 A2所对应的参与者, u1至u3所对应的用例,以及该图中空 (1) 所对应的关系。 (ul至 u3的可选用例包括:Session、 Trans-action、 Inserl Card、 Invalid PIN
7、Process和 Transfer) 6 根据【说明】中的描述,使用表 53中的英文名称,给出图 54中 6 9对应的消息。 7 解释图 53中用例 u3和用例 Withdraw、 Deposit等四个用例之间的关系及其内涵。8 阅读下列说明及图 13-8和图 13-9,回答问题,将解答填入对应栏内。【说明】 某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统功能如下。 (1)浏览客户信息:任何使用 Internet的网络用户都可以浏览电话公司所有的客户信息 (包括姓 名、住址、电话号码等 )。 (2)登录:电话公司授予每个客户一个帐号。拥有授权帐号的客户,可以使用系统提供的页面设置
8、个人密码,并使用该帐号和密码向系统注册。 (3)修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。 (4)删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。系统采用面向对象方法进行开发,在开发过程中认定出的类见表 13-3。8 在需求分析阶段,采用 UML的用例图 (use case diagram)描述系统功能需求,如图 13-8所 示。请指出图中的 A、 B、 C和 D分别是哪个用例 ? 9 请指出图 13-9中 (1) (4)处的重复度分别为多少 ? 10 类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间
9、的相互关系建模。在面向对象建模中提供了 4种关系:依赖 (dependency)、概括(generalization )、关联 (association)和聚集 (aggregation)。请分别说明这 4种关系的含义,并说明关联和聚集之间的主要区别。 10 阅读下列说明和图,回答问题 1至问题 3,将解答填入对应栏内。 说明 某汽车数字仪表系统将完成下述功能: (1)通过模一数转换,实现传感器和微处理器的接口。 (2)在发光二极管面板上显示数据。 (3)指示速度 (mph)、行驶里程、油耗(mpg)等。 (4)指示加速或减速。 以下是经分析得到的数据流图,有些地方有待填充,假定顶层数据流图是
10、正确的。图 1-1是顶层数据流图,图 1-2是第 0层数据流图,图 1-3是第 1层数据流图,其中 A是加工 1的细化图, B是加工 2的细化图。图中, sps表示转速 sps的瞬时变化值,若 sps 0则汽车加速, sps 0则减速, sps=0 则匀速。假定题 中提供的顶层图是正确的,请回答下列问题。 图 1-1 图 1-2 图 1-3 11 第 0层数据流图 (图 1-2)中有一条缺失的数据流,请指出该数据流的起点和终点。 加工 1的细化图 (图 1-3中的 A)中有一条缺失的数据流,请指出该数据流的起点和终点。 12 加工 2的细化图 (图 1-3中的 B)中有一条错误的数据流,请指出
11、该数据流的起点或终点 (若可以,指出两者 )。 13 小说明是用来描述加工的。小说明的描述方法有哪些 ?请分别用这些描述方法描述加工 1.2。 二、选答题(共 3道大题,每 道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 14 阅读以下说明和 Java 码,将应填入 (n)处的字名写在的对应栏内。 说明 编写一个学生类 Student,要求: (1) 学生类 Student 属性有: id: long 型,代表学号 name: String类对象,代表姓名 age: int 型,代表年龄 sex: boolen 型,代表性别 (其
12、中: true 表示男, false 表示女 ) phone: String 类对象,代表联系电话 (2) 学生类 Student 的方法有: Student (long i, String n, int a, boolean s, String p) :有参构造函数,形参表中的参数分别初始化学号、姓名、 年龄、性别和联系电话。 int getAge ():获取年龄作为方法的返回值。 boolean getSex ():获取性别作为方法的返回值。 String getPhone ():获取联系电话作为方法的返回值。 public String to String ():以姓名:性别:学号:联系
13、电话的形式作为方法的返 import java. applet. Applet; import java. awt.* ; public class Student extends Applet long id; String name, phone; int age; boolean sex; Student(long i, String n, int a, boolean s, String p) id=i; name = n; age = a; sex= s; phone = p; public void paint( Graphics g) Student x= new Student
14、 (5000,“ xiaoliu“ , 89, true, “ 8989898“ ); (1); (2) g. drawstring( x. getPhone( ), 140,140); int getAge( ) return age; boolean getsex ( ) return sex; String getPhone( ) return phone; String ToString( ) (3) 14 阅读下列函数说明和 C代码, 说明 所谓货郎担问题,是指给定一个无向图,并已知各边的权,在这样的图中,要找一个闭合回路,使回路经过图中的每一个点,而且回路各边的权之和最小。 应用贪
15、婪法求解该问题,程序先计算由各点构成的所有边的长度 (作为边的权值 ),按长度大小对各边进行排序后,按贪婪准则从排序后的各边中选择组成回路的边,贪婪准则使得边的选择按各边长度从小到大选择。 函数中使用的预定义符号如下: #define M 100 typedef struct/*x 为两端点 p1、 p2之间的距离, p1、 p2所组成边的长度 */ float x; int p1, p2; tdr; typedef struct/*p1、 p2为和端点相联系的两个端点, n为端点的度 */ int n, p1, p2; tr; typedef struct/*给出两点坐标 */ float
16、x, y; tpd; typedef int tlM; int n=10; 函数 float distance(tpd a, tpd b); /*计算端点 a、 b之间的距离 */ void sortArr(tdr aM, int m); /*将已经计算好的距离关系表按距离大小从小到大排序形成排序表, m为边的条数 */ int isCircuit(tr rM, int i, int j); /*判断边 (i, j)选入端点关系表 rM后,是否形成回路,若形成回路返回 0*/ void selected(tr rM, int i, int j); /*边 (i, j)选入端点关系表 r*/ v
17、oid course(tr r M, tl lM); /*从端点关系表 r中得出回路轨迹表 */ void exchange(tdr aM, int m, int b); /*调整表排序表, b表示是否可调,即是否有长度相同的边存在 */ void travling(tpd pd M, int n, float dist, tl locusM) /*dist记录总路程 */ tdr drM; /*距离关系表 */ tr rM; /*端点关系表 */ int i, j, k, h, m; /*h表示选入端点关系表中的边数 */ int b; /*标识是否有长度相等的边 */ k=0; /*计算距
18、离关系表中各边的长度 */ for(i=1; i n; i+) for(j=i+1; J =n; j+) k+; drk x=(1); drk pl=i; drk p2=j; m=k; sortArr(dr, m); /*按距离大小从小到大排序形成排序表 */ do b=1; dist=0; k=h=0: do k+; i=drk p1; j=drk p2; if(r(i n =1)(rj n =1)/*度数不能大于 2*/ if (2) /*若边 (i, j)加入 r后形成回路,则不能加入 */ (3); h+; dist+=drk x; else if (4) /*最后一边选入 r成回路,
19、则该边必须加入且得到解 */ selected(r, i, j); h+: dist+=drk x; while(k !=n) (h !=n); if(h=n)/*最后一边选入构成回路,完成输出结果 */ course(r, locus); else(/*找不到解,调整 dr,交换表中边长相同的边在表中的顺序,并将 b置 0*/ (5); while(!b); 15 (1) 16 (2) 17 (3) 18 (4) 19 (5) 19 阅读以下函数说明和 Java代码, 说明 现要编写一个画矩形的程序,目前有两个画图程序: DP1和 DP2, DP1用函数 draw_a_line(x1, y1
20、, x2, y2)画一条直线,DP2则用 drawline(x1, x2, y1, y2)画一条直线。当实例化矩形时 ,确定使用 DPI还是 DP2。 为了适应变化,包括 “不同类型的形状 ”和 “不同类型的画图程序 ”,将抽象部分与实现部分分离,使它们可以独立地变化。这里, “抽象部分 ”对应 “形状 ”, “实现部分 ”对应 “画图 ”,与一般的接口 (抽象方法 )与具体实现不同。这种应用称为 Bridge(桥接 )模式。图 7-1显示了各个类间的关系。 图 7-1 这样,系统始终只处理 3个对象: Shape对象、 Drawing对象、 DP1或 DP2对象。以下是 JAvA语言实现,能
21、够正确编译通过。 Java代码 /DP1 Java文件 public class DPI static public void draw_a_line(double x1, double y1, double x2, double y2) /省略具体实现 /DP2 java文件 public class DP2 static public void drawline(double x1, double y1, double x2, double y2) /省略具体实现 /Drawing java文件 (1) public class Drawing abstract public void d
22、rawLine(double x1, double y1, double x2, double y2); /V1Drawing java文件 public class V1Drawing extends Drawing public void drawLine(double x1, double y1, double x2, double y2) DP1 draw_a_line(x1,y1, x2, y2); /V2Drawing java文件 public class V2Drawing extends Drawing public void drawLine(double x1, doub
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 52 答案 解析 DOC
