1、中级软件设计师下午试题-9 及答案解析(总分:12.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:2.00)【说明】设有下列关于图书借阅系统的 ER 图。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列 SQL 语言建立了基本表:CREATE TABLE Readers(Rao CHAR(6) PRIMARY KEY,Rname CHAR(20) NOT NULL,Raddress CHAR(200),Rphone CHAR(15);CREATE TABLE Books(Brio CHAR(6) PRIMARY KEY,Rname CHA
2、R(50) NOT NULL);CREATE TABLE Administrators(Ano CHAR(6) PRIMARY KEY,Aname CHAR(20) NOT NULL);CREATE TABLE Borrows(Rno CHAR(6) NOT NULL,Bno CHAR(15) NOT NULL,Ano CHAR(6) NOT NULL,Bdate DATE,Rdate DATE,PRIMARY KEY(Rno,Bno,Ano),FOREGIN KEY(Rno) REFERENCE Readers(Rno),FOREGIN KEY(Bno) REFERENCE Book(Bno
3、)FOREGIN KEY(Ano) REFERENCE Administrators(Ano);CREATE TABLE Readers(Rao CHAR(6) PRIMARY KEY,Rname CHAR(20) NOT NULL,Raddress CHAR(200),Rphone CHAR(15);CREATE TABLE Books(Brio CHAR(6) PRIMARY KEY,Rname CHAR(50) NOT NULL);CREATE TABLE Administrators(Ano CHAR(6) PRIMARY KEY,Aname CHAR(20) NOT NULL);CR
4、EATE TABLE Borrows(Rno CHAR(6) NOT NULL,Bno CHAR(15) NOT NULL,Ano CHAR(6) NOT NULL,Bdate DATE,Rdate DATE,PRIMARY KEY(Rno,Bno,Ano),FOREGIN KEY(Rno) REFERENCE Readers(Rno),FOREGIN KEY(Bno) REFERENCE Book(Bno)FOREGIN KEY(Ano) REFERENCE Administrators(Ano);为了答题的方便,图中的实体和属性同时给出了中英文两种名字,回答问题时只需写出英文名即可。【系统
5、 E-R 图】(分数:2.00)(1).【问题 1】填写下列 SQL 程序中的(1)(6),使它们分别完成相应的功能。程序 1:查没有借阅过编号为 111111 图书的所有读者名单。(分数:1.00)_(2).【问题 2】对于说明中建立的基本表,是否允许同一读者从同一管理员处多次(两次和两次以上)借阅同一本书?为什么?(分数:1.00)_二、B试题二/B(总题数:1,分数:3.00)【说明】某医院收费系统的主要功能是收取病人门诊的各项费用。系统的收费功能分为 3 个方面:病历收费、挂号收费和根据处方单内容收取检查或药物费用。1病人初次来该医院看病,首先购买病历,记录病人基本情况。2病人看病前要
6、挂号。根据病人的病历和门诊部门(内科、外科等),系统提供相应的挂号单和处方单,并收取费用。3病人根据处方单进行进一步检查或取药前需交纳各项费用。系统首先根据病人基本情况检查处方单中病历号是否正确,记录合格的处方单,并提供收据。4所有收费都必须依据定价表中的定价来计算,且所有收费都必须写入收费记录中。医院收费系统的顶层图如图 32 所示;医院收费系统的第 0 层 D 四图如图 33 所示。其中,加工 1 的细化图如图 34 所示,加工 2 的细化图如图 3-5 所示。假定顶层图是正确的,“定价表”文件已由其他系统生成。【数据流图】(分数:3.00)(1).【问题 1】指出哪张图的哪些文件可以不必
7、画出。(分数:1.00)_(2).【问题 2】数据流图 34 中缺少 2 条数据流,请直接在图中添加。(分数:1.00)_(3).【问题 3】数据流图 3-5 中缺少 4 条数据流,请直接在图中添加。(分数:1.00)_三、B试题三/B(总题数:1,分数:3.00)【说明】某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。在每个学期的开始,学生可以获得该学
8、期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过 4 门课程,同时指定 2 门侯选课程以备主选课程未选上。每门课程最多不能超过 10 人,最少不能低于 3 人,低于 3 人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提
9、供必要的安全措施以防非法存取。【用例图】【表】表 3-1 学生课注册系统的实体类 实体类 说明Professor 学校中讲课的教师Strdent 学校中注册课程的学生Schedule 学生在新学期选择登记的课程列表CourseCatalog 学校所有课程的目录Course 课程的基本信息CourseOffering 新学期课程的开设信息,如课课教师、时间、地点等信息表 3-2 学生课程注册系统的边界类 边界类 说明LoginForm 为教师、学生和注册管理提供登录的操作RegisterCoursesForm 为学生提供选课注册的操作ViewReportForm 为学生提供成绩查询的操作Sele
10、ctTeachCoursesForm 为教师提供查看学生选课情况的操作SubmitGradesForm 为教师提供登记成绩的操作MaintainProfessorsForm 为注册管理员提供维护教师信息的操作MaintainStudentsForm 为注册管理员提供维护学生信息的操作MaintainCoursesForm 为注册管理员提供维护课程信息的操作CloseRegistrationForm 为注册管理员提供关闭注册的操作BillingSystemNotice 提供与收费系统的信息交换接口表 3-3 学生课程注册系统的控制类 控制类 说明RegisterCoursesControl 负责
11、新学期学生的选课登记ViewReportControl 负责学生成绩的查询SelectTeachCoursesControl 负责新学期课程的学生选择情况SubmitGradesControl 负责学生成绩的登记CloseRegistrationControl 负责关闭课程注册【协作图】【时序图】注释 1:学生打算注册新的课程。注释 2:一张这学期可选择的课程列表。注释 3:显示一张为学生选课用的空白登记表。(分数:3.00)(1).【问题 1】在 UML 中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中(1)(3)处表示的内容。
12、(分数:1.00)_(2).【问题 2】协作图与时序图是同构的,二者表示的都是同样的系统交互活动,只是各自的侧重点不同而已。根据题目提供的信息,指出协作图中(4)(8)处表示的内容。(分数:1.00)_(3).【问题 3】UML 采用 5 个互联的视图来描述软件系统的体系结构,即用例视图(Use-case View)、设计视图(Design View)、进程视图(Process View)、实现视图(Implementation View)和展开视图(Deployment View)。系统模型中每一个视图的内容是由一些图来描述的,UML 中包含用例图、类图、对象图、状态图、时序图、协作图、活动
13、图、组件图、分布图等 9 种图。对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。请分别指出用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图的作用。(分数:1.00)_四、B试题四/B(总题数:1,分数:3.00)【说明】某网络故障诊断系统,使用故障代理(aZent、Sm4P Trap 等)来检测各种意外情况,如大幅丢包、路由冲突、广播风暴等。网络管理员可以在安装该系统时配置安全监控程序(如故障代理程序、实时诊断程序、报警器等),也可以在系统运行时修改配置,通过网络状态采集器和故
14、障特征数据库,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个故障代理赋予一个编号(即 id)和类型,并设置管理员密码以启动和关闭系统,设置故障代理事件发生时应自动拨出的电话号码。当系统检测到一个故障代理事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。【数据流图】(分数:3.00)(1).【问题 1】数据流图 1(网络故障检测系统顶层图)中的 A 和 B 分别表示什么?(分数:1.00)_(2).【问题 2】数据流图 2(网络故障检测系统第 0 层 DFD 图)中的数据存储“配置信息”会影响图中的哪些加工?(分数:1.00)_(3).【问题
15、3】将数据流图 3(加工 4 的细化图)中的数据流补充完整,并指明加工名称、数据流的方向(输入/输出)和数据流名称。(分数:1.00)_五、B试题五/B(总题数:1,分数:1.00)1.阅读下列函数说明,将应填入U (n) /U处的字句写在答卷纸的对应栏内。【函数 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),则两者中最大的共同前缀为
16、(y,x,x,2),在两表中除去最大共同前缀后的子表分别为 A=(X,Z)和 B=(y,x,x,2)。若 A=B=空表,则 A=B:若 A=空表,而 B空表,或者两者均不为空表,且 A的首元小于 B,的首元,则 AB;否则 AB。提示:算法的基本思想为:若相等,则 j+1,之后继续比较后继元素:否则即可得山比较结果。显然,j的初值应为 0,循环的条件是 j 不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有 3 种可能出现的情况需要区分。【函数 1】int compare(SqList A,SqList B)/若 AB,则返回-1;若 A=B,则返回 o:若 AB,则返回
17、1j=0;while(jU (1) /Uelse if( A.elemj B.elemj ) return(i);elseU (2) /Uff (A.length = B.length) return (0);else fi(A.length B.length ) return(-1);else return(1);/compare/函数 1 的时间复杂度是U (3) /U【函数 2 说明】函数 exchange_L( SLink k = 1;while( k m +k;if(U (6) /U / 以指针 ha 记 a1 结点的位置L-next = p-next; / 将 b1结点链接在头结点
18、之后p-next = NULL; / 设 am的后继为空q:U (7) /U; / 令 q 指向 b1结点while(q-next)q=U (8) /U; / 查的 bn结点q-next =U (9) /U; / 将 a1 结点链接到 bn 结点之后/函数 2 的时间复杂度是U (10) /U。(分数:1.00)_中级软件设计师下午试题-9 答案解析(总分:12.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:2.00)【说明】设有下列关于图书借阅系统的 ER 图。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列 SQL 语言建立了基本表:
19、CREATE TABLE Readers(Rao CHAR(6) PRIMARY KEY,Rname CHAR(20) NOT NULL,Raddress CHAR(200),Rphone CHAR(15);CREATE TABLE Books(Brio CHAR(6) PRIMARY KEY,Rname CHAR(50) NOT NULL);CREATE TABLE Administrators(Ano CHAR(6) PRIMARY KEY,Aname CHAR(20) NOT NULL);CREATE TABLE Borrows(Rno CHAR(6) NOT NULL,Bno CHAR
20、(15) NOT NULL,Ano CHAR(6) NOT NULL,Bdate DATE,Rdate DATE,PRIMARY KEY(Rno,Bno,Ano),FOREGIN KEY(Rno) REFERENCE Readers(Rno),FOREGIN KEY(Bno) REFERENCE Book(Bno)FOREGIN KEY(Ano) REFERENCE Administrators(Ano);CREATE TABLE Readers(Rao CHAR(6) PRIMARY KEY,Rname CHAR(20) NOT NULL,Raddress CHAR(200),Rphone
21、CHAR(15);CREATE TABLE Books(Brio CHAR(6) PRIMARY KEY,Rname CHAR(50) NOT NULL);CREATE TABLE Administrators(Ano CHAR(6) PRIMARY KEY,Aname CHAR(20) NOT NULL);CREATE TABLE Borrows(Rno CHAR(6) NOT NULL,Bno CHAR(15) NOT NULL,Ano CHAR(6) NOT NULL,Bdate DATE,Rdate DATE,PRIMARY KEY(Rno,Bno,Ano),FOREGIN KEY(R
22、no) REFERENCE Readers(Rno),FOREGIN KEY(Bno) REFERENCE Book(Bno)FOREGIN KEY(Ano) REFERENCE Administrators(Ano);为了答题的方便,图中的实体和属性同时给出了中英文两种名字,回答问题时只需写出英文名即可。【系统 E-R 图】(分数:2.00)(1).【问题 1】填写下列 SQL 程序中的(1)(6),使它们分别完成相应的功能。程序 1:查没有借阅过编号为 111111 图书的所有读者名单。(分数:1.00)_正确答案:()解析:NOT IN (2)Rno (3)COUNT(DISTINCT
23、Rno) (4)Bdate=2005-01-01 (5)EXISTS (6)Borrow. Bno=Books. Bno 分析 从给定的 SQL 的语句中可以看出,子查洵中是查询所有借阅过编号为 111111 图书的所有读者。而题目要求是查询“没有借阅过编号为 111111 图书的所有读者名单”,也就是从读者Readers 关系中查询不在子查询中出现的那些读者。所以(1)空的答案是 NOT IN。 SQL 语句中是 Readers关系中的 Rno 与子查询结果进行比较,所以(2)空的答案也应该是 Rno。 题目要求查询人数, 自然需要利用统计函数 COUNT。因为 2005 年 1 月 1 日
24、同一读者可能借多本书,也就是可能在 Borrow 关系中出现多次,所以需要加上 DISTINCT 表示不计重复值。因此,(3)空的答案是 COUNT(DISTINCT Rno)。查询的条件自然是借阅时间是 2005 年 1 月 1 日,所以填空(4)的答案是 Bdate=2005-0101。 程序 3 是要查“借书证号为 123456 的读者所借过的所有图书”,也就是从 Books 关系中查询出图书信息,这些图书被借书证号为 123456 的读者借阅的记录在 Borrow 关系中存在。因此(5)空的答案是 EXISTS,表示存在。(6)空的答案是 Borrow. Bno=Books. Bno。
25、(2).【问题 2】对于说明中建立的基本表,是否允许同一读者从同一管理员处多次(两次和两次以上)借阅同一本书?为什么?(分数:1.00)_正确答案:()解析:不能。表 Borrow 中,借书证号 Rno、管理员工作证号 Ano 和图书书号 Bno 共同组成主码,因此不允许有两个在主码上完全相同的元组(行)存在,也就是不允许同一读者从同一管理员处多次借阅同一本书。分析 主码是惟一识别表中记录的属性。在一个表中,不允许有两个在主码上完全相同的元组(行)存在。表 Borrow 中,借书证号 Rno、管理员工作证号 Ano 和图书书号 Bno 共同组成主码,所以不允许由任意两行在这三个属性上的值都完全
26、相同,也就是不允许同一读者从同一管理员处多次借阅同一本书。二、B试题二/B(总题数:1,分数:3.00)【说明】某医院收费系统的主要功能是收取病人门诊的各项费用。系统的收费功能分为 3 个方面:病历收费、挂号收费和根据处方单内容收取检查或药物费用。1病人初次来该医院看病,首先购买病历,记录病人基本情况。2病人看病前要挂号。根据病人的病历和门诊部门(内科、外科等),系统提供相应的挂号单和处方单,并收取费用。3病人根据处方单进行进一步检查或取药前需交纳各项费用。系统首先根据病人基本情况检查处方单中病历号是否正确,记录合格的处方单,并提供收据。4所有收费都必须依据定价表中的定价来计算,且所有收费都必
27、须写入收费记录中。医院收费系统的顶层图如图 32 所示;医院收费系统的第 0 层 D 四图如图 33 所示。其中,加工 1 的细化图如图 34 所示,加工 2 的细化图如图 3-5 所示。假定顶层图是正确的,“定价表”文件已由其他系统生成。【数据流图】(分数:3.00)(1).【问题 1】指出哪张图的哪些文件可以不必画出。(分数:1.00)_正确答案:()解析:医院收费系统的 0 层图中“处方记录” 分析在 0 层图中有 0 层图中“处方记录”是加工 3“处方收费”的局部数据文件,所以不必画出。(2).【问题 2】数据流图 34 中缺少 2 条数据流,请直接在图中添加。(分数:1.00)_正确
28、答案:()解析:“1.1 检查病人信息”的“不合格病人信息”输出数据流。 2“1.2 计算费用”的“收据”输出数据流。 分析找出缺少的数据流的一个关键是父图与子图的平衡,即子图的输 4 入输出数据流与父图相应的加工的输入输出数据必须一致。 从 0 层图中可以看到对于加工 1“病历收费”有输入流“病人信息”,输出流“不合格病人信息”,“病历”和“收据”。而加工 1 子图中却只有“病人信息”和“病历”,所以一定缺少 2 条输出流“不合格病人信息”和“收据”。病人信息是否合格是在加工 1.1“检查病人信息”中处理,因此加工 1.1 出一条输出流“合格病人信息”外,还缺少一条输出流“不合 格病人信息”
29、。对合格的病人信息,加工 1.2 计算收费后,理应提供收据给病人,所以另一条缺少的数据流是“1.2 计算费用”的“收据”输出数据流。(3).【问题 3】数据流图 3-5 中缺少 4 条数据流,请直接在图中添加。(分数:1.00)_正确答案:()解析:从“病人基本情况”到“3.1 检查处方单”的数据流。 2从“3.2 记录处方”到“处方记录”的数据流。 3从“定价表”到“3.3 制作收据”的数据流。 4从“3.3 制作收据”到“收费记录”的数据流。 分析根据说明“系统首先根据病人基本情况检查处方单中病历号是否正确”,因此,在加工3.1“检查处方单”中,需读入病人基本情况,所以缺少从“病人基本情况
30、”到“3.1 检查处方单”的数据流。然后系统“记录合格的处方单”,所以加工 3.2“记录处方”中需讲处方的内容记录到文件“处方记录”中,因此缺少从“3.2 记录处方”到“处方记录”的数据流。加工 3.3“制作收据”中需根据文件“定价表”的各项目或药品的价格宋计算所需收取的费用,因此图中还缺少从“定价表”到“3.3 制作收据”的数据流。最后收费的记录需写入文件“收费记录”中,所以缺少的第 4 条数据流是从“3.3 制作收据”到“收费记录”的数据流。三、B试题三/B(总题数:1,分数:3.00)【说明】某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择
31、自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过 4 门课程,同时指定 2 门侯选课程以备主选课程未选上。每门课程最多不能超过 10 人,最少不能低于 3 人,低于 3 人选课的课程
32、将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。【用例图】【表】表 3-1 学生课注册系统的实体类 实体类 说明Professor 学校中讲课的教师Strdent 学校中注册课程的学生Schedule 学生在新学期选择登记的课程列表CourseCatalog 学校所有课程的目录Course 课程的基本信息CourseOffering 新学期课程的开设信息,如课课教师、时间、地点等信息表
33、 3-2 学生课程注册系统的边界类 边界类 说明LoginForm 为教师、学生和注册管理提供登录的操作RegisterCoursesForm 为学生提供选课注册的操作ViewReportForm 为学生提供成绩查询的操作SelectTeachCoursesForm 为教师提供查看学生选课情况的操作SubmitGradesForm 为教师提供登记成绩的操作MaintainProfessorsForm 为注册管理员提供维护教师信息的操作MaintainStudentsForm 为注册管理员提供维护学生信息的操作MaintainCoursesForm 为注册管理员提供维护课程信息的操作CloseR
34、egistrationForm 为注册管理员提供关闭注册的操作BillingSystemNotice 提供与收费系统的信息交换接口表 3-3 学生课程注册系统的控制类 控制类 说明RegisterCoursesControl 负责新学期学生的选课登记ViewReportControl 负责学生成绩的查询SelectTeachCoursesControl 负责新学期课程的学生选择情况SubmitGradesControl 负责学生成绩的登记CloseRegistrationControl 负责关闭课程注册【协作图】【时序图】注释 1:学生打算注册新的课程。注释 2:一张这学期可选择的课程列表。注
35、释 3:显示一张为学生选课用的空白登记表。(分数:3.00)(1).【问题 1】在 UML 中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中(1)(3)处表示的内容。(分数:1.00)_正确答案:()解析:用例的特征如下:用例总是由角色初始化:用例为角色提供值;用例具有完全性,即不管其内部是如何实现的,只有最终产生了返回角色的结果,用例的执行才能完毕。 (1)登记成绩(2)查询成绩单(3)关闭注册 分析 用例描述了它所代表的功能的各个方面,即包含了用例执行期间可能发生的各种情况。用例和角色之间具有“关联”的连接关系,表示什么角色与
36、该用例进行通信。在 UML 语言 中,用例用个椭圆图形和名称表示。 在本题中,我们通过题目说明可以识别以下用例: 1与教师有关的用例: 1)选择课程选择所教的课程,并获得学生名册。 2)登记成绩在学期结束时,提交学生的课程成绩。 2与学生有关的用例: 1)注册课程在学期开始进行选课注册,允许在一段时间内更改或删除,课程目录系统提供当前学期的所有可选课程列表。 2)查看成绩单学生可以查看以前学期的电子成绩单。 3与注册管理员有关的用例: 1)维护课程信息在系统中增加、修改和删除课程信息。 2)维护学生信息在系统中增加、修改和删除学生信息。 3)维护教师信息在系统中增加、修改和删除教师信息。 4)
37、关闭注册删除少于 3 人的课程,并由付费系统通知学生缴费。 4与安全性要求有关的用例:登录使用此系统的人员需要进行登录,以验证其身份和权限。 发现和定义对象类应以问题域和系统责任为出发点,正确地运用抽象原则,尽可能全面地发现对象的因素,并对其进行检查和整理,最终得到系统的对象类。我们可以在用例模型的基础上,通过识别实体类、边界类和控制类,从而发现和定义系统中的对象类。识别上述对象类之后,通过建立交互图,将用例的行为分布到这些对象类中。时序图表示完成某项行为的对象类和这些对象类之间传递消息的时间顺序,其中,对象生命线是一条垂直的虚线,表示对象存在的时间;控制焦点是一个细长的矩形,表示对象执行一个
38、所经历的时间段;消息是对象之间的一条水平箭头线,表示对象之间的通信。协作图包含一组对象和以消息交换为纽带的关联,用于描述系统的行为是如何由系统的成分合作实现的。(2).【问题 2】协作图与时序图是同构的,二者表示的都是同样的系统交互活动,只是各自的侧重点不同而已。根据题目提供的信息,指出协作图中(4)(8)处表示的内容。(分数:1.00)_正确答案:()解析:create Schedule (5)display blank schedule() (6)get course offerings() (7)create with offerings() (8)add schedule(Schedu
39、le)(3).【问题 3】UML 采用 5 个互联的视图来描述软件系统的体系结构,即用例视图(Use-case View)、设计视图(Design View)、进程视图(Process View)、实现视图(Implementation View)和展开视图(Deployment View)。系统模型中每一个视图的内容是由一些图来描述的,UML 中包含用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图等 9 种图。对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。请分别指出用例图、
40、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图的作用。(分数:1.00)_正确答案:()解析:用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。在用例图中,角色代表触发系统功能的用户或其他系统,用例代表具体的功能描述。 2类图描述系统的静态结构,表示系统中的类以及类与类之间的关系。 3对象图描述了一组对象以及它们之间的关系,表示类的对象实例。 4状态图表示一个状态机,强调对象行为的事件/顷序。 5时序图和协作图均表示一组对象之间的动态协作关系。其中,时序图反映对象之间发送消息的时间顺序,协作图反映收发消息的对象的结构组织。时序图和协作
41、图是同构的,即两者之间可以相互转换。 6活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。 7组件图描述组件以及它们之间的关系,表示系统的静态实现视图。 8分布图反映了系统中软件和硬件的物理架构,表示系统运行时的处理节点以及节点中组件的配置。四、B试题四/B(总题数:1,分数:3.00)【说明】某网络故障诊断系统,使用故障代理(aZent、Sm4P Trap 等)来检测各种意外情况,如大幅丢包、路由冲突、广播风暴等。网络管理员可以在安装该系统时配置安全监控程序(如故障代理程序、实时诊断程序、报警器等),也可以在系统运行时修改配置,通过网络状态采集器和故障特征数据库,并通过控制
42、面板上的键盘与系统进行信息交互。在安装过程中,系统给每个故障代理赋予一个编号(即 id)和类型,并设置管理员密码以启动和关闭系统,设置故障代理事件发生时应自动拨出的电话号码。当系统检测到一个故障代理事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。【数据流图】(分数:3.00)(1).【问题 1】数据流图 1(网络故障检测系统顶层图)中的 A 和 B 分别表示什么?(分数:1.00)_正确答案:()解析:A 代表故障代理,B 代表报警器。 分析 本题是一道分层数据流图的题目。解答此类问题最关键的一点就是要细心,把题目看清,不要丢掉任何一个条件。另外解题有一定的技巧,从一些常规的入口作为突破口,会事半功倍。现在就利用分层数据流图的数据流的平衡原则(即父图和于图(加工图)的一致性)来解题。 中,用例用个椭圆图形和名称表示。 在本题中,我们通过题目说明可以识别以下用例: 1与教师有关的用例: 1)选择课程选择所教的课程,并获得学生名册。 2)登记成绩在学期结束时,提交学生的课程成绩。 2与学生有关的用例: 1)注册课程在学期开始进行选课注册,允许在一段时间内更改或删除,课程目录系统提供当前学期的所有可选课程列表。 2)查看成绩单学生可