1、2015年上半年软件水平考试(高级)系统分析师下午(论文)真题试卷及答案与解析 1 论项目风险管理及其应用 2 论项目风险管理及其应用 3 论软件系统测试及其应用 4 论软件系统测试及其应用 5 论软件系统的容灾与恢复 6 论软件系统的容灾与恢复 7 论非关系型数据库技术及应用 8 论非关系型数据库技术及应用 2015年上半年软件水平考试(高级)系统分析师下午(论文)真题试卷答案与解析 1 【正确答案】 一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要 任务和开展的主要工作。 二、风险管理的基本过程包括风险管理计划编制、风险识别、风险定性分析、风险定量分析、风险应对计划编制和
2、风险监控。 1风险管理计划编制 风险管理计划描述的是如何安排与实施项目风险管理,它是项目开发计划的从属计划。风险管理计划主要包括角色与职责、预算、风险类别、风险概率和影响的定义、汇报格式、风险跟踪等内容。 2风险识别 风险识别包括确定风险的来源、风险产生的条件、描述风险特征和确定哪些风险事件有可能影响整个项目。风险识别应当在项目的生命周期自始至终定期进行。风险识别可分为三步进行:收 集资料、估计项目风险形式、根据直接或间接的症状将潜在的风险识别出来。 3风险定性分析 (1)风险可能性与影响分析。风险影响分析包括对时间、成本、范围等各方面的影响。对于同一个风险,由于不同角色和参与者会有不同的看法
3、,因此一般采用会议的方式进行风险可能性与影响的分析。 (2)确定风险优先级。 (3)确定风险类型。 4风险定量分析 风险定量分析是在不确定的情况下进行决策的一种量化方法,该过程主要采用灵敏度分析、期望货币价值分析、决策树分析、蒙特卡洛模拟等技术。 5风险应对计划编制 风险应对计划中,包括应对 每一个风险的措施、风险的责任人等内容。 风险应对策略分为两种类型:预防策略和响应策略。 6风险监控 风险监控是指跟踪已识别的风险,监测残余风险和识别新风险,保证风险计划的执行,并评价这些计划对减轻风险的有效性。在风险监控的过程中,如果发生了没有识别出来的风险事件,则无法按照风险应对计划来处理。此时需要一种
4、新的措施来应对,这种措施称为权变措施。 三、考生必须结合自身参与项目的实际状况,给出风险管理的过程,并对该管理过程的实际实施效果进行分析。 2 【正确答案】 一、简要叙述所参与管理和开发的软件项目,并 明确指出在其中承担的主要任务和开展的主要工作。 二、风险管理的基本过程包括风险管理计划编制、风险识别、风险定性分析、风险定量分析、风险应对计划编制和风险监控。 1风险管理计划编制 风险管理计划描述的是如何安排与实施项目风险管理,它是项目开发计划的从属计划。风险管理计划主要包括角色与职责、预算、风险类别、风险概率和影响的定义、汇报格式、风险跟踪等内容。 2风险识别 风险识别包括确定风险的来源、风险
5、产生的条件、描述风险特征和确定哪些风险事件有可能影响整个项目。风险识别应当在项目的生命周期自始至终定期进行。风 险识别可分为三步进行:收集资料、估计项目风险形式、根据直接或间接的症状将潜在的风险识别出来。 3风险定性分析 (1)风险可能性与影响分析。风险影响分析包括对时间、成本、范围等各方面的影响。对于同一个风险,由于不同角色和参与者会有不同的看法,因此一般采用会议的方式进行风险可能性与影响的分析。 (2)确定风险优先级。 (3)确定风险类型。 4风险定量分析 风险定量分析是在不确定的情况下进行决策的一种量化方法,该过程主要采用灵敏度分析、期望货币价值分析、决策树分析、蒙特卡洛模拟等技术。 5
6、风险应对计划编制 风险应对计划中,包括应对每一个风险的措施、风险的责任人等内容。 风险应对策略分为两种类型:预防策略和响应策略。 6风险监控 风险监控是指跟踪已识别的风险,监测残余风险和识别新风险,保证风险计划的执行,并评价这些计划对减轻风险的有效性。在风险监控的过程中,如果发生了没有识别出来的风险事件,则无法按照风险应对计划来处理。此时需要一种新的措施来应对,这种措施称为权变措施。 三、考生必须结合自身参与项目的实际状况,给出风险管理的过程,并对该管理过程的实际实施效果进行分析。 3 【正确答案】 一、简要叙述所参与 管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 二
7、、功能测试主要的方法为黑盒测试。黑盒测试又称为基于规格说明的测试,它是指那些使用基于规格说明方法和准则的测试活动,根据程序需求和产品规格说明来发现错误。黑盒测试将软件看作是不透明的黑盒子,完全不考虑程序的内部结构和内部特性,只检查软件功能是否按照软件需求说明书的要求正常使用,软件是否能适当地接收输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息的完整性等。 黑盒测试根据软件需求说明书所规定的功能来设计测试用例,一般包括功能分 解、等价类划分、边界值分析、判定表、因果图、状态图、随机测试、错误推测和正交实验法等。 测试自动化是一个通过编程完成测试的过程,一旦测试实现自动化,大量的测试用
8、例就可以迅速执行。自动化测试通常需要构建存放程序软件包和测试软件包的文件服务器、存储测试用例和测试结果的数据库服务器、执行测试的运行环境、控制服务器、 Web服务器和客户端程序。自动化测试的主要实现方法包括代码的静态与动态分析、测试过程的捕获与回放、测试脚本技术、虚拟用户技术和测试管理技术等。 自动化测试工具的选择需要考虑以下几点: 1测试工具应该具 有相应的容错处理系统,可以自动处理一些异常状况; 2能够提供类似软件集成开发环境中的调试功能,支持脚本的运行、设置断点、得到变量返回结果等,可以更有效地对测试脚本的执行进行跟踪、检查并迅速定位问题; 3测试脚本的开发需要支持团队的开发环境,即测试
9、工具对脚本代码能够很好地控制和管理。 三、考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的系统测试,说明测试的具体实施过程、使用的方法和工具,并对实际应用效果进行分析。 4 【正确答案】 一、简要叙述所参与管理和开发的软件项目,并明确指 出在其中承担的主要任务和开展的主要工作。 二、功能测试主要的方法为黑盒测试。黑盒测试又称为基于规格说明的测试,它是指那些使用基于规格说明方法和准则的测试活动,根据程序需求和产品规格说明来发现错误。黑盒测试将软件看作是不透明的黑盒子,完全不考虑程序的内部结构和内部特性,只检查软件功能是否按照软件需求说明书的要求正常使用,软件是否能适当地接收
10、输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息的完整性等。 黑盒测试根据软件需求说明书所规定的功能来设计测试用例,一般包括功能分解、等价类划分、边界值分析、判 定表、因果图、状态图、随机测试、错误推测和正交实验法等。 测试自动化是一个通过编程完成测试的过程,一旦测试实现自动化,大量的测试用例就可以迅速执行。自动化测试通常需要构建存放程序软件包和测试软件包的文件服务器、存储测试用例和测试结果的数据库服务器、执行测试的运行环境、控制服务器、 Web服务器和客户端程序。自动化测试的主要实现方法包括代码的静态与动态分析、测试过程的捕获与回放、测试脚本技术、虚拟用户技术和测试管理技术等。
11、自动化测试工具的选择需要考虑以下几点: 1测试工具应该具有相应的容错处理系统,可以自动 处理一些异常状况; 2能够提供类似软件集成开发环境中的调试功能,支持脚本的运行、设置断点、得到变量返回结果等,可以更有效地对测试脚本的执行进行跟踪、检查并迅速定位问题; 3测试脚本的开发需要支持团队的开发环境,即测试工具对脚本代码能够很好地控制和管理。 三、考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的系统测试,说明测试的具体实施过程、使用的方法和工具,并对实际应用效果进行分析。 5 【正确答案】 一、简要叙述所参与管理和开发的安全攸关软件项目,并明确指出在其中承担的主要任务 和开展
12、的主要工作。 二、灾难恢复是指为了将信息系统从灾难造成的故障或瘫痪状态恢复到可正常运行状态,并将其支持的业务功能从灾难造成的不正常状态恢复到可接受状态而设计的活动和流程。灾难恢复措施在整个备份制度中占有相当重要的地位。因为它关系到系统在经历灾难后能否迅速恢复。 1灾难恢复的技术指标 灾难恢复的指标主要与容灾系统的数据恢复能力有关。灾难恢复的两个关键概念是恢复点目标 (Recovery Point Objective, RPO)和恢复时间目标 (Recovery Time Objective, RTO)。 RPO是指灾难发生后,容灾系统能将数据恢复到灾难发生前时间点的数据,它是衡量企业在灾难发生
13、后会丢失多少数据的指标; RTO则是指灾难发生后,从系统宕机导致业务停顿时刻开始,到系统恢复至可以支持业务部门运作,业务恢复运营之时,此两点之间的时间。 RPO可简单描述为企业能容忍的最大数据丢失量, RTO可简单描述为企业能容忍的恢复时间。 理想状态下,希望 RTO=0, RPO=0,即灾难发生对企业生产毫无影响,既不会导致生产停顿,也不会导 致生产数据丢失。但显然这不现实,企业要做的是尽量减少灾难造成的损失。企业在构建容灾备份系统时,首先要找到对企业自身而言比较适合的 RTO目标,即在该目标定义下,用于灾难备份的投入应不大于对应的业务损失。 2灾难恢复等级 在信息系统灾难恢复规范 (GB/
14、T 20988一 2007)中,将灾难恢复划分为 6个等级。 第 1级为基本支持,第 2级为备用场地支持,第 3级为电子传输和部分设备支持,第 4级为电子传输及完整设备支持,第 5级为实时数据传输及完整设备支持,第 6级为数据零丢失和远程集群支持。同时,该规范对灾难恢复能力 等级评定原则和灾难备份中心的等级等也作了规范要求。 3容灾系统的分类 容灾系统的归类要由其最终达到的效果来决定,从其对系统的保护程度来分,可以将容灾系统分为数据容灾和应用容灾,它们的高可用性级别逐渐提高。 数据容灾的关注点在于数据,即灾难发生后可以确保用户原有的数据不会丢失或遭到破坏。 应用容灾是在数据容灾的基础上,再将执
15、行应用处理能力复制一份,也就是说,在备份站点同样构建一套应用系统。应用容灾系统能提供不间断的应用服务,让用户应用的服务请求能够透明地继续运行,而感受不到灾难的发生,保证信息系统提供的服务 完整、可靠和安全。 三、考生需结合自身参与项目的实际状况,论述该项目如何实施软件灾难恢复规划。 答案需要涵盖灾难恢复需求的确定、灾难恢复策略的制定、灾难恢复策略的实现和灾难恢复预案的制定和管理等内容,并需要说明具体实施过程及实际效果。 6 【正确答案】 一、简要叙述所参与管理和开发的安全攸关软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、灾难恢复是指为了将信息系统从灾难造成的故障或瘫痪状态恢复
16、到可正常运行状态,并将其支持的业务功能从灾难造成的不正常状态恢复到可接受状态而设计的活动和流程。 灾难恢复措施在整个备份制度中占有相当重要的地位。因为它关系到系统在经历灾难后能否迅速恢复。 1灾难恢复的技术指标 灾难恢复的指标主要与容灾系统的数据恢复能力有关。灾难恢复的两个关键概念是恢复点目标 (Recovery Point Objective, RPO)和恢复时间目标 (Recovery Time Objective, RTO)。 RPO是指灾难发生后,容灾系统能将数据恢复到灾难发生前时间点的数据,它是衡量企业在灾难发生后会丢失多少数据的指标; RTO则是指灾难发生后,从系统宕机导致业务停顿
17、时刻开始,到系统恢 复至可以支持业务部门运作,业务恢复运营之时,此两点之间的时间。 RPO可简单描述为企业能容忍的最大数据丢失量, RTO可简单描述为企业能容忍的恢复时间。 理想状态下,希望 RTO=0, RPO=0,即灾难发生对企业生产毫无影响,既不会导致生产停顿,也不会导致生产数据丢失。但显然这不现实,企业要做的是尽量减少灾难造成的损失。企业在构建容灾备份系统时,首先要找到对企业自身而言比较适合的 RTO目标,即在该目标定义下,用于灾难备份的投入应不大于对应的业务损失。 2灾难恢复等级 在信息系统灾难恢复规范 (GB/T 20988一 2007)中,将灾难恢复划分为 6个等级。 第 1级为
18、基本支持,第 2级为备用场地支持,第 3级为电子传输和部分设备支持,第 4级为电子传输及完整设备支持,第 5级为实时数据传输及完整设备支持,第 6级为数据零丢失和远程集群支持。同时,该规范对灾难恢复能力等级评定原则和灾难备份中心的等级等也作了规范要求。 3容灾系统的分类 容灾系统的归类要由其最终达到的效果来决定,从其对系统的保护程度来分,可以将容灾系统分为数据容灾和应用容灾,它们的高可用性级别逐渐提高。 数据容灾的关注点在于数据,即灾难发生后可以确保用户原有的 数据不会丢失或遭到破坏。 应用容灾是在数据容灾的基础上,再将执行应用处理能力复制一份,也就是说,在备份站点同样构建一套应用系统。应用容
19、灾系统能提供不间断的应用服务,让用户应用的服务请求能够透明地继续运行,而感受不到灾难的发生,保证信息系统提供的服务完整、可靠和安全。 三、考生需结合自身参与项目的实际状况,论述该项目如何实施软件灾难恢复规划。 答案需要涵盖灾难恢复需求的确定、灾难恢复策略的制定、灾难恢复策略的实现和灾难恢复预案的制定和管理等内容,并需要说明具体实施过程及实际效果。 7 【正确答案】 一、简 要描述所参与的使用了非关系型数据库的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、详细论述非关系型数据库的四种不同实现方式,并说明每种方式的技术特点和相关数据库产品。 (1)键值 (Key一 Val
20、ue)存储数据库。这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。 Kev/value模型对于 IT系统来说的优势在于简单、易部署。但是如果 DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。数据库产品包括: Tokyo Cabinet/Tyrant, Redis,Voldemort, Oracle BDB。 (2)列存储数据库。这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。数据库产品包括: Cassandra, HBase, Riak。 (3)文档型数据库。文档型
21、数据库的灵感来自于 Lotus Notes办公软件,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如 JSON。文档型数据库可以看作是键值数据库的升级版,允许中间嵌套键值。 而且文档型数据库比键值数据库的查询效率更高。数据库产品包括:CouchDB, MongoDb, SequoiaDB。 (4)图形 (Graph)数据库。图形结构的数据库同其他行列以及刚性结构的 SQL数据库不同,它使用灵活的图形模型,并且能够扩展到多个服务器上。 NoSQL数据库没有标准的查询语言 (SQL),因此进行数据库查询需要制定数据模型。许多 NoSQL数据库都有
22、REST式的数据接口或者查询 API。数据库产品包括: Ne04J,InfoGrid, Infinite Graph。 三、针对考生本人所参与的项目中使用的 非关系型数据库,说明使用方法和具体实施效果。 8 【正确答案】 一、简要描述所参与的使用了非关系型数据库的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、详细论述非关系型数据库的四种不同实现方式,并说明每种方式的技术特点和相关数据库产品。 (1)键值 (Key一 Value)存储数据库。这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。 Kev/value模型对于 IT系统来说的优
23、势在于简单、易部署。但是如果 DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。数据库产品包括: Tokyo Cabinet/Tyrant, Redis,Voldemort, Oracle BDB。 (2)列存储数据库。这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。数据库产品包括: Cassandra, HBase, Riak。 (3)文档型数据库。文档型数据库的灵感来自于 Lotus Notes办公软件,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,
24、比如 JSON。文档型数据库可以看作是键值数据库的升级版,允许中间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。数据库产品包括:CouchDB, MongoDb, SequoiaDB。 (4)图形 (Graph)数据库。图形结构的数据库同其他行列以及刚性结构的 SQL数据库不同,它使用灵活的图形模型,并且能够扩展到多个服务器上。 NoSQL数据库没有标准的查询语言 (SQL),因此进行数据库查询需要制定数据模型。许多 NoSQL数据库都有 REST式的数据接口或者查询 API。数据库产品包括: Ne04J,InfoGrid, Infinite Graph。 三、针对考生本人所参与的项目中使用的非关系型数据库,说明使用方法和具体实施效果。