2008年软件设计师模拟试题(1)下午试卷.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:9 大小:30KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

2008年软件设计师模拟试题(1)下午试卷.doc

2008年软件设计师模拟试题(1)下午试卷.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2007111●试题一阅读下列说明以及图示(如图1所示),回答问题1~3。【说明】某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。【用例图】图1学生课程注册系统的用例图【协作图】图2创建课程登记表的协作图【时序图】注释1:学生打算注册新的课程。注释2:一张这学期可选择的课程列表。注释3:显示一张为学生选课用的空白登记表。图3创建课程登记表的时序图【问题1】在UML中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中(1)~(3)处表示的内容。【问题2】协作图与时序图是同构的,二者表示的都是同样的系统交互活动,只是各自的侧重点不同而已。根据题目提供的信息,指出协作图中(4)~(8)处表示的内容。【问题3】UML采用5个互联的视图来描述软件系统的体系结构,即用例视图(Use-caseView)、设计视图(DesignView)、进程视图(ProcessView)、实现视图(ImplementationView)和展开视图(DeploymentView)。系统模型中每一个视图的内容是由一些图来描述的,UML中包含用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图等9种图。对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。请分别指出用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图的作用。●试题二阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】算法2-1是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示:文件提示信息(1+2)abc)缺少对应左括号:第2行,第4列((def)gx)缺少对应左括号:第3行,第10列(((h)ij)(k(1ml)缺少对应右括号:第5行,第4列;第4行,第1列在算法2-1中,stack为一整数栈。算法中各函数的说明见表4。【算法2-1】将栈stack置空,置EOF为falsech0)if(判断条件1)push((5));push((6));push((7));elseif(判断条件2and判断条件3)pop();pop();pop();else显示错误信息(缺少对应左括号或右括号);显示行号row;显示列号col;endifendifchB.elem[j])return(1);else(2);if(A.length==B.length)return(0);elseif(A.lengthnext)//链表不空且m!=0{P=L->next;k=1;while(k{P=(5);++k;}if((6)&&p->next)//n!=0时才需要修改指针{ha=L->next;//以指针ha记a1结点的位置L->next=p->next;//将b1结点链接在头结点之后p->next=NULL;//设am的后继为空q=(7);//令q指向b1结点while(q->next)q=(8);//查找bn结点q->next=(9);//将a1结点链接到bn结点之后}}}//函数2的时间复杂度是(10)。