201305系分下午真题
第 1 题
某软件公司拟为物流企业开发一套库存管理系统,该系统的部分需求陈述如下:
(1)库存管理系统主要包括货物入库管理、货物出库管理、仓库管理、统计报表和系统管理等功能;
(2)库存管理系统的用户包括仓库管理员、仓库经理和系统管理员,用户必须在注册后才能使用系统功能;用户可以选择使用邮件注册或电话注册。
(3)仓库管理员在进行出入库操作前必须先登录;仓库经理可以通过系统查看统计报表,如果前一个月的报表未生成,则系统自动生成统计报表,否则直接显示。
(4)系统管理员可以在系统中设置仓库温度范围,当仓库内温度超过最高值或者低于最低值时,系统自动调用温控管理操作,连接温度调节系统进行制冷或加热。
(5)仓库管理功能要求每个月1日零点对前一个月货物入库和出库记录进行数据汇总操作。项目组决定构造用例模型以描述系统需求。
【问题1】(6分)
用例建模的首要任务是识别系统中的参与者。请根据题目中所描述的需求,识别出系统中有哪些参与者?
【问题2】(7分)
【问题1】
用例模型的参与者:仓库管理员、仓库经理、系统管理员、时间、温度、温度调节系统。
【问题2】
用例建模的主要工作是书写用例规约(use case specification),而不是画图。用例模板为一个给定项目的所有人员定义了用例规约的结果,其内容至少包括用例名、参与者、目标、前置条件、事件流(基本事件流和扩展事件流)和后置条件等,其他的还可以包括非功能需求和用例优先级等。
【问题3】
(1)用例之间的关系包括:包含关系、扩展关系、泛化关系。
(2)“出入库操作”与“登录”属于包含关系;
“查看统计报表”与“生成统计报表”属于扩展关系;
“用户注册”与“电话注册”、“邮件注册”与“电话注册”属于典型的泛化关系。
用例模型的参与者:仓库管理员、仓库经理、系统管理员、时间、温度、温度调节系统。
图11-11 包含关系的例子
图11-12 扩展关系的例子
图11-13 泛化关系的例子
某高校计算机学院实验中心有5个机房,200个机位,主要承担学生计算机软件相关课程的上机实践任务。实验中心每年工作时间约为200天,每天平均工作时间为8小时。2013年初,实验中心决定对机房进行升级改造,其中UPS电源等设备不需要重新购置,改造后每个机位机器的基本配置要求如表2-1。实验中心现公开征集硬件改造方案。
表2-1 实验中心机器配置要求
表2-2 A公司的改造方案
表2-3 B公司的改造方案
【问题1】(7分)
桌面云方案的核心是虚拟化技术,请用200字以内的文字说明什么是虚拟化技术,并从应用角度列举3种虚拟化技术。
【问题2】(18分)
请以A公司方案中的机器性能为基准,从应用模式、投入成本、运维成本、安全性、能源消耗等5个方面对两种方案进行详细比较(其中投入成本与能源消耗要求量化比较),说明为什么专家采纳了B公司的改造方案。
答案与解析
- 试题难度:较难
- 知识点:案例分析>新技术的应用
- 试题答案:
【问题1】
虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术应用非常广泛,常见的包括:
1、使用VMware软件,在Windows平台下安装linux操作系统。
2、存储的虚拟化,在云存储中,就应用到了存储的虚拟化。
3、服务器虚拟化,目前多家公司推出了虚拟化服务器,这种服务器可以用一台硬件设备,虚拟出多台服务器对外提供服务。
【问题2】
应用模式:A公司方案是一种分散式的计算模式,这种模式每个节点都相对独立,每个节点都要求一定的运算能力,当节点运算能力不足时,便需要整体升级。而B公司方案是一种虚拟化的方案,他将服务器的运算能力按需求分配给各个节点使用,当运算能力不足时,可通过增加服务器的方式,方便的升级。
投入成本:
A公司方案的投入成本为:(3100+900)×200+1000×10=810000元。
B公司方案的投入成本为:30000×14+(500+900)×200+1000×11+10000×2=731000元。
所以B公司的方案投入成本较小。
运维成本:B公司方案维护成本比A公司方案低,因为A公司方案中,需要维护的计算机有200台之多,而B公司方案只需要维护14台服务器。
安全性:B公司方案安全性比A公司方案高,因为A公司方案中,200台主机都带存储,都是独立的系统,其中任何一台机器出现安全问题都可以影响到其他机器。而B公司方案中,只要维护好14台服务器即可,此时出安全问题的可能性会低很多。
能源消耗:
A公司方案的能源消耗为:((230W+25W)×200+30W×10)×8×200=82080000瓦时=82080千瓦时。
B公司方案的能源消耗为:(800W×14+(23W+25W)×200+30W×11)×8×200=33808000瓦时=33808千瓦时。
B公司的方案能源消耗远远低于A公司方案。 - 试题解析:
本题考查虚拟化技术,这种技术在系统分析师考试中进行考查,仍会归类于新技术,在应对这类试题时,考生首先需要避免恐惧心态。不要认为这个技术自己不是很熟悉,就认为很难以回答,其实对新技术的考查,试题往往会给出更多,更全面的信息,从而让试题解答变得更容易,本题便是如此,完全不懂虚拟化技术的考生也可答对一半的问题。
虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术应用非常广泛,常见的包括:
1、使用VMware软件,在Windows平台下安装linux操作系统。
2、存储的虚拟化,在云存储中,就应用到了存储的虚拟化。
3、服务器虚拟化,目前多家公司推出了虚拟化服务器,这种服务器可以用一台硬件设备,虚拟出多台服务器对外提供服务。
接下来需要分析的是两个公司的方案优劣,题目已给出了需要比较的几个方面。
应用模式:A公司方案是一种分散式的计算模式,这种模式每个节点都相对独立,每个节点都要求一定的运算能力,当节点运算能力不足时,便需要整体升级。而B公司方案是一种虚拟化的方案,他将服务器的运算能力按需求分配给各个节点使用,当运算能力不足时,可通过增加服务器的方式,方便的升级。
投入成本:
A公司方案的投入成本为:(3100+900)×200+1000×10=810000元。
B公司方案的投入成本为:30000×14+(500+900)×200+1000×11+10000×2=731000元。
所以B公司的方案投入成本较小。
运维成本:B公司方案维护成本比A公司方案低,因为A公司方案中,需要维护的计算机有200台之多,而B公司方案只需要维护14台服务器。
安全性:B公司方案安全性比A公司方案高,因为A公司方案中,200台主机都带存储,都是独立的系统,其中任何一台机器出现安全问题都可以影响到其他机器。而B公司方案中,只要维护好14台服务器即可,此时出安全问题的可能性会低很多。
能源消耗:
A公司方案的能源消耗为:((230W+25W)×200+30W×10)×8×200=82080000瓦时=82080千瓦时。
B公司方案的能源消耗为:(800W×14+(23W+25W)×200+30W×11)×8×200=33808000瓦时=33808千瓦时。
B公司的方案能源消耗远远低于A公司方案。
第 3 题
阅读有关嵌入式系统新架构风格方面的描述,在答题纸上回答问题1至问题3。
在传统的嵌入式系统中,由于应用背景的不同,架构风格存在着差异。某公司长期从事各类嵌入式电子产品的研发工作,为了扩展业务,拟承担安全关键嵌入式产品的研制,为了统一本公司嵌入式产品的架构,以兼顾安全关键系统和非安全关键系统,公司领导层提出了采用国外近年新的跨领域嵌入式系统架构,新架构主要有6个特点:
(1)面向构件化
(2)开放式
(3)支持多种安全级别
(4)服务的层次化
(5)确定性核心
(6)内部组合的标准化
图3-1给出了跨领域嵌入式系统架构,图中CS表示领域无关的核心服务、OS表示领域无关的选择性服务、DSC表示领域相关的中心服务、DSO表示领域相关的选择性服务。该架构通常称为“腰”型架构,将嵌入式系统分为核心服务层、域服务层和应用服务层三个层次,实现了应用间相对无关性设计,架构的腰部为与领域无关的核心服务。
图3-1 跨领域嵌入式系统架构
【问题1】(8分)
请用200字以内文字说明图3-1“腰”型架构的特点。
【问题2】(10分)
针对图3-1的“腰”部的核心层,表3-1中给出了10种服务,请判断这些服务中哪些属于核心服务(Core Services),哪些属于选择性服务(Optional Service),将结果填到表3-1中。
**答案与解析** - 试题难度:较难 - 知识点:案例分析>嵌入式方向 - 试题答案:
【问题1】
耦合程度低、复用程度高、面向构件化、开放式、支持多种安全级别、服务的层次化、确定性核心、内部组合的标准化等特点。
【问题2】
表3-1 10种服务类归属CS/OS两类服务
核心服务层:(1)(2) 域服务层:(3) 应用服务层:(4)
- 试题解析:
本题考查嵌入式系统新架构风格。
题目所涉及到的架构既然是一种新架构,那么必然大部分考生是未接触与使用过该架构的,所以在解题时,更多的是考查基本功与分析问题的能力。
【问题1】要求说明新架构的特点。从架构的示意图可知,架构是分层次的,所以它具备分层架构的一些特点,如:层与层之间进行了解耦,所以降低了耦合程度;上层可复用下层的功能。同时题目已明示,该架构有:面向构件化、开放式、支持多种安全级别、服务的层次化、确定性核心、内部组合的标准化等特点。
【问题2】要求分析给出的服务归属于哪种服务类型,这需要一定的经验,但同时也有技巧性。如,在题目给出的服务中,即有“基本***服务”也有“高级**服务”,这种情况,“基本***服务”必然是属于核心服务,而“高级**服务”属于选项服务。因为核心服务就有不可少的,最基本的服务的理念,而选择服务是可有可无的。依据该原则,已可解决半数问题。另外的服务类型则需要根据考生的经验进行判断。
【问题3】是把给出的软件产品进行分类,题目给出的分类有:核心服务层、域服务层和应用服务层。核心服务层对应着域无关的核心服务与选择服务,所以(1)(2)都属于这个层次,而(3)对应的是DSC层(配图中已标识),所以归属于域服务层,应用软件属于典型的应用服务层。
然后进一步划分,(1)属于CS,(2)属于OS,其中(4)应用软件是并不属于CS、OS、DSC、DSO这个范围,而是他们之上,所以无需填入。
第 4 题
阅读以下关于数据库分析与设计的叙述,在答题纸上回答问题1至问题4。
某集团公司在各省均设有分公司,现欲建立全国统一的销售管理信息系统,以便总公司及时掌握各分公司的销售情况。公司成立专门的项目组进行该系统的研发工作,其中张工负责其中的数据库设计工作。
张工和需求分析小组紧密合作,在设计出数据流图和数据字典的基础上,给出了数据库关系模式和相应的索引设计。同时考虑到未规范化关系模式可能引起的各类数据错误,对关系模式进行了全面的规范化处理,使所有关系模式均达到了3NF或BCNF。
在项目实施过程中,应用开发小组认为该设计方案未考虑应用功能的实际需求。如果严格按照设计方案实施,会对应用系统中整体性能产生较大影响。主要的原因在于进行数据查询时,会产生大量的多表连接操作,影响性能。而设计方案中的索引设计,并不能完全满足数据查询的性能要求。
应用开发小组还认为,该设计方案未考虑到信息系统中核心销售数据处理的特点:各分公司在使用该信息系统时只能操作自己分公司的销售数据,无权操作其他分公司的销售数据;只有总公司有权利操作所有销售数据,以便进行统计分析。
应用开发小组要求,在数据库设计方案中,必须针对实际应用功能的实现来考虑关系模式的规范化,必要时需要采用逆规范化或解除规范化的方法来保证性能要求。
【问题1】(8分)
【问题1】(8分)
本题是一个数据库设计方面的考题,考查的知识点包括规范化理论和反规范化理论(逆规范化)。
增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。例如:以规范化设计的理念,学生成绩表中不需要字段“姓名”,因为“姓名”字段可以通过学号查询到,但在反规范化设计中,会将“姓名”字段加入到表中。这样查询一个学生的成绩时,不需要与学生表进行连接操作,便可得到对应的“姓名”。
阅读以下关于软件维护的叙述,在答题纸上回答问题1至问题4。
某企业两年前自主研发的消防集中控制软件系统在市场上取得了较好的业绩,目前已成功应用到国内外众多企业用户的消防管理控制系统中。该软件系统通过不同型号消防控制器连接各种消防器件,实现集中式消防告警信息显示与控制。日前该软件系统的系统维护主管组织召开会议,对近期收集到的该软件系统的如下维护申请进行了讨论:
(1)将系统目前的专用报表功能改成通用报表生成功能,以适应未来用户可能提出的报表格式变化需求;
(2)在界面语言中增加德文支持,以满足新增的两个德国企业用户的使用要求;
(3)修正系统在与控制器通信时由于硬件网络故障导致的与控制器之间的连接失效,而控制器后续无法重新连接的问题;
(4)完成因某已支持型号消防控制器通信协议改变而导致的相应软件修改;
(5)增加与某新型号消防控制器的互连通信功能,以支持在后续推广过程中与该型号消防控制器进行互连;
(6)修正用户报告的由于系统从Win7平台迁移到最新发布的Win8平台而导致的部分显示功能失效的问题;
(7)修正用户报告的系统自动切换消防平面图形时部分器件位置显示错误的问题;
(8)改进系统历史消防告警记录的检索算法,以提高系统在处理大量消防报警记录时的效率;
(9)将系统目前针对某一特定数据库管理系统的数据库访问方式改成基于数据源的通用数据库访问方式,以适应用户可能提出的使用其他数据库管理系统的需求。
【问题1】(6分)
【问题2】(9分)
**答案与解析** - 试题难度:较难 - 知识点:案例分析>系统运行和维护 - 试题答案:
【问题1】(6分)
在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下四种:
(1)改正性维护。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就称为改正性维护。
(2)适应性维护。在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就称为适应性维护。
(3)完善性维护。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为完善性维护。
(4)预防性维护。这是指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护可定义为“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。
【问题2】的维护申请分类可参看上述维护定义进行分类。
【问题3】中的申请流程,主要区分原则是:有错误,需要修正的维护类型,其维护操作是必然的,只是依据严重性来分析是立即修改,还是添加到队列中,等待修改,所以(d)应填(1)。适应性维护类型往往是在环境发生变化时,带来的一些小毛病,这样的维护也是必须进行的,但没有严重的正确性维护那么迫切,直接进队列即可,所以(a)应填(2)。而完善性维护与预防性维护并不见得都必须进行,而需要进行评估与分类,并有可能淘汰一些维护申请,所以(b)(c)填:(3)(4)。
【问题4】是一个现实生活中常见的问题,对于过时的,无文档的模块,最佳方案是重新开发。重新开发带来的好处的多方面的:省时,省力,为以后的维护打下良好的基础。