一起答

软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷7

  • 卷面总分:75分
  • 浏览次数:0
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:24次
  • 作答时间:150分钟
试卷简介
部分试题预览
  1. 阅读下列函数说明,将应填入(n)处的字句写在答卷纸的对应栏内。

     【函数1说明】

     函数compare(SqList A,SqList B)的功能是:设A=(al,…,am)和B=(b1,…,bn)均为顺序表,“比较”两个顺序表A和B的大小。设A'和B'分别为A和B中除去最大共同前缀后的子表(例如,A=(y,X,X,Z,X,Z),B=(y,x,x,z,y,x,x,2),则两者中最大的共同前缀为(y,x,x,2),在两表中除去最大共同前缀后的子表分别为A'=(X,Z)和B'=(y,x,x,2))。若A'=B'=空表,则 A=B:若A'=空表,而B'≠空表,或者两者均不为空表,且A'的首元小于B,的首元,则A<B;否则A>B。

     提示:算法的基本思想为:若相等,则j+1,之后继续比较后继元素:否则即可得山比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。

     【函数1】

     int compare(SqList A,SqList B)

     {

     //若A<B,则返回-1;若A=B,则返回o:若A>B,则返回1

     j=0;

     while(j<(1)&&j<B.1ength)

             if( A.elem[j] < B.elem[j] ) return(-1);

             else if( A.elem[j] > B.elem[j] ) return(i);

             else (2) 

            ff (A.length == B.length) return (0);

            else fi(A.length < B.length ) return(-1);

            else return(1);

           }//compare

         //函数1的时间复杂度是 (3) 

      【函数2说明】

      函数 exchange_L( SLink &L, int m )的功能是:用尽可能少的辅助空间将单链表中前 m个结点和后 n 个结点的互换。即将单链表(a1,a2,...,am,b1,b2,...,bn) 改变成 (b1,b2,...,bn,a1,a2,…,am)。

      【函数2】

         void exchange_L( SLink &L, int m )

         {

            if((4)&& L->next)     // 链表不空且 m!=0

          {

             p = L->next; k = 1;

             while( k< m && p )        // 查找am所在结点

           {

               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)。

  2. 将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称、数据流的方向(输入/输出)和数据流名称。

  3. 【说明】

     某网络故障诊断系统,使用故障代理(aZent、Sm4P Trap等)来检测各种意外情况,如大幅丢包、路由冲突、广播风暴等。网络管理员可以在安装该系统时配置安全监控程序(如故障代理程序、实时诊断程序、报警器等),也可以在系统运行时修改配置,通过网络状态采集器和故障特征数据库,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个故障代理赋予一个编号(即id)和类型,并设置管理员密码以启动和关闭系统,设置故障代理事件发生时应自动拨出的电话号码。当系统检测到一个故障代理事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。

     【数据流图】

    数据流图1(网络故障检测系统顶层图)中的A和B分别表示什么?

  4. UML采用5个互联的视图来描述软件系统的体系结构,即用例视图(Use-case View)、设计视图(Design View)、进程视图(Process View)、实现视图(Implementation View)和展开视图(Deployment View)。系统模型中每一个视图的内容是由一些图来描述的,UML中包含用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图等9种图。对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。请分别指出用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图的作用。

  5. 数据流图2(网络故障检测系统第0层DFD图)中的数据存储“配置信息”会影响图中的哪些加工?

  6. 协作图与时序图是同构的,二者表示的都是同样的系统交互活动,只是各自的侧重点不同而已。根据题目提供的信息,指出协作图中(4)~(8)处表示的内容。

  7. 【说明】

     某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。

     在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。

     新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。

     在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。

     【用例图】

    【时序图】

    注释1:学生打算注册新的课程。

    注释2:一张这学期可选择的课程列表。

    注释3:显示一张为学生选课用的空白登记表。

    在UML中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中(1)~(3)处表示的内容。

  8. 数据流图3—4中缺少2条数据流,请直接在图中添加。

  9. 数据流图3-5中缺少4条数据流,请直接在图中添加。

  10. 对于说明中建立的基本表,是否允许同一读者从同一管理员处多次(两次和两次以上)借阅同一本书?为什么?