201505系分论文真题

第 1 题

论项目风险管理及其应用
项目风险是一种不确定的事件或条件,一旦发生,会对项目目标产生某种负面(或正面)的影响。项目风险管理是项目管理人员通过风险识别、风险估计和评价,并以此为基础合理地使用多种管理方法、技术和手段,对项目活动设计的风险实施有效的控制,采取主动行动,创建条件,可靠地实现项目的总体目标。

请围绕“项目风险管理及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.论述在信息系统项目中,风险管理的基本过程。
3.针对你参与的实际项目中的风险,阐述该项目的风险管理过程,并具体说明其实施效果

**答案与解析** - 试题难度:较难 - 知识点:论文写作>项目管理 - 试题答案:


- 试题解析:

本题是一个项目管理方向的考题,要求考生对项目管理中的风险管理过程以及方法工具有一定了解。文章第一部分是标准问题,进行详实的项目简介即可。
文章第二部分要求写风险管理的基本过程,风险管理包括以下管理过程:
(1)制订风险管理计划:定义如何实施项目风险管理活动。
(2)风险识别:判断哪些风险会影响项目并记录其特征。
(3)风险定性分析:评估并综合分析风险的发生概率和影响,对风险进行优先排序,从而为后续分析或行动提供基础。
(4)风险定量分析:就已识别风险对项目整体目标的影响进行定量分析。
(5)编制风险应对计划:针对项目目标,制定提高机会、降低威胁的方案和措施。
(6)风险监控:在整个项目中,实施风险应对计划、跟踪已识别风险、监测残余风险、识别新风险和评估风险过程有效性。
考生可选取部分过程进行论述,在论述时,需要说明作者在这个阶段所做的工作,一般要结合这个阶段解决问题时的基本工具和方法进行,常见工具方法包括:
制订风险管理计划:规划会议和分析。
风险识别:文档审查、信息收集技术(头脑风暴法、德尔菲技术、访谈、根本原因识别、SWOT分析)、核对表分析、假设分析、图解技术。
风险定性分析:风险概率和影响评估、概率影响矩阵、风险数据质量评估、风险分类、风险紧迫性评估。
风险定量分析:数据收集和表现技术、定量风险分析和建模技术。
编制风险应对计划:消极风险或威胁的应对策略、积极风险或机会的应对策略、应急应对策略。
风险监控:风险再评估、风险审计、偏差和趋势分析、技术绩效测量、储备分析、状态审查会。

### 第 2 题

论软件系统测试及其应用
软件系统测试是将已经确认的软件与计算机硬件、外设、网络等其他设施结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,进而完善软件。系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等,其中,最重要的是功能测试和性能测试。功能测试主要采用黑盒测试方法。

请围绕“软件系统测试及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述软件系统测试中功能测试的主要方法,自动化测试的主要内容和如何选择适合的自动化测试工具。
3.结合你具体参与管理和开发的实际项目,说明你是如何采用软件系统测试方法进行系统测试的,说明具体实施过程以及应用效果。

答案与解析

  • 试题难度:较难
  • 知识点:论文写作>系统维护和系统测试
  • 试题答案:


  • 试题解析:

    本题属于软件工程方向的考题。文章第一部分是标准问题,进行详实的项目简介即可。
    文章第二部分与第三部分内容可以结合起来论述,需要理论结合实践。在此主要说明需要用到的理论知识。其实题目中所说的“软件系统测试中功能测试”就是平时所说的黑盒测试与白盒测试。
    白盒测试的方法包括一系列的逻辑覆盖,主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。
    (1)语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。
    (2)判定覆盖。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。
    (3)条件覆盖。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。
    (4)条件/判定覆盖。同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。
    (5)条件组合覆盖。条件组合覆盖是指选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述5种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少遍历一次。
    (6)修正的条件/判定覆盖。修正的条件/判定覆盖需要足够的测试用例来确定各个条件能够影响到包含的判定结果。首先,每个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and和or)连接的布尔条件,每个条件对于判定的结果值是独立的。
    (7)路径覆盖。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。
    常见的黑盒测试包括:
    (1)等价类划分。在设计测试用例时,等价类划分是用得最多的一种黑盒测试方法。所谓等价类就是某个输入域的集合,对于一个等价类中的输入值来说,它们揭示程序错误的作用是等效的。也就是说,如果等价类中的一个输入数据能检测出一个错误,那么等价类中的其他输入数据也能检测出同一个错误;反之,如果等价类中的一个输入数据不能检测出某个错误,那么等价类中的其他输入数据也不能检测出这一错误(除非这个等价类的某个子集还属于另一个等价类)。
    (2)边界值分析。经验表明,软件在处理边界情况时最容易出错。设计一些测试用例,使软件恰好运行在边界附近,暴露出软件错误的可能性会更大一些。通常,每一个等价类的边界,都应该着重测试,选取的测试数据应该恰好等于、稍小于或稍大于边界值。例如,对于条件“10<x<30”的测试,可以选取x的值为9、10、30和31作为测试数据。
    在实际测试工作中,将等价类划分法和边界值分析法结合使用,能更有效地发现软件中的错误。
    (3)错误推测。使用等价类划分和边界值分析技术,有助于设计出具有代表性的、容易暴露软件错误的测试方案。但是,不同类型的软件通常有一些特殊的容易出错的地方。错误推测法主要依靠测试人员的经验和直觉,从各种可能的测试用例中选出一些最可能引起程序出错的用例。
    虽然手工测试可以找到软件的很多缺陷,但这是一个艰苦和耗时的过程,而且可能无法有效地发现某些类型的缺陷。测试自动化是一个通过编程完成测试的过程,一旦测试实现了自动化,大量的测试用例就可以迅速得到执行。
    自动化测试通常需要构建存放程序软件包和测试软件包的文件服务器、存储测试用例和测试结果的数据库服务器、执行测试的运行环境、控制服务器、Web服务器和客户端程序。自动化测试的主要实现方法包括代码的静态与动态分析、测试过程的捕获与回放、测试脚本技术、虚拟用户技术和测试管理技术等。
    自动化测试工具的关键特性之一是具有良好的脚本开发环境。测试工具首先应该具有相对应的容错处理系统,可以自动处理一些异常状况;其次要能够提供类似软件集成开发环境中的调试功能,支持脚本的运行、设置断点、得到变量返回结果等,可以更有效地对测试脚本的执行进行跟踪、检查并迅速定位问题;最后,测试脚本的开发通常也需要一个团队的开发环境,即测试工具对脚本代码能很好地进行控制与管理。
    目前,测试工具主要有单元测试工具、负载和性能测试工具、GUI功能测试工具和基于Web应用的测试工具等。
    (1)单元测试工具。单元测试工具主要包括C/C++测试工具(例如,Panorama C++和C++ Test等)、Java开源测试框架JUnit、内存资源泄漏检查工具(例如,Numega的BounceChecker和Rational的Purify等)、代码覆盖率检查工具(例如,Numega的TrueCoverage、Rational的PureCoverage和TeleLogic的LogiScope等)、代码性能检查工具(例如,LogiScope的Macabe等)和软件纠错工具(例如,Rational Purl等)。
    (2)负载和性能测试工具。负载和性能测试工具是软件测试中作用最大的工具,可以完成一些难以用手工实现的测试,常用工具包括Mercury Interactive的LoadRunner和Compuware的QALoad,以及IBM Rational的SQA Load、Performance和Visual Quality。
    (3)GUI功能测试工具。GUI功能测试工具主要用于回归测试,主要工具包括Mercury Interactive的WinRunner和Compuware的QARun,以及IBM Rational的SQA Robot和Microsoft的Visual Test Suite等。
    (4)基于Web应用的测试工具。基于Web应用的测试工具主要进行链接检查、HTML检查、Web功能和安全性等方面的测试。主要的测试工具包括MI公司的Astra系列和RSW公司的E-TestSuite,以及WorkBench、Web Application Stress(WAS)Tool和Link Sleuth等。
    其他的测试工具还包括缺陷跟踪工具、综合测试管理工具、嵌入式测试工具、数据库测试工具等。面对如此众多的测试工具,在选择时应进行综合考虑,例如,考察测试工具是否支持脚本语言,是否具有良好的脚本开发环境;脚本语言是否支持外部函数库,以及函数的可复用;测试工具对程序界面中对象的识别能力,对分布式测试的网络支持,以及是否支持数据驱动测试等方面。

第 3 题

论软件系统的容灾与恢复
随着计算机应用的日益普及和不断深入,软件系统的规模和复杂性急剧增大,软件已经成为系统中的核心部件。在航空航天、武器装备、医疗设备、交通、核能、金融等安全攸关的应用领域,软件系统失效将导致灾难性的后果。因此,当软件系统的一个完整应用环境因灾难性事件遭到破坏时,为了迅速恢复系统的数据和环境,需要采用灾难备份和恢复技术,确保软件系统能够快速从灾难造成的故障或瘫痪状态恢复到正常运行状态,并将其支持的业务功能从灾难造成的不正常状态恢复到可接受状态。

请围绕“软件系统的容灾与恢复”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目及在其中所担任的主要工作。
2.详细论述容灾系统灾难恢复的主要技术,涵盖灾难恢复的技术指标、灾难恢复等级划分、容灾系统的分类等方面。
3.结合你具体参与管理和开发的实际项目,说明该项目中是如何实施灾难恢复的,实际效果如何。

**答案与解析** - 试题难度:较难 - 知识点:论文写作>系统维护和系统测试 - 试题答案:


- 试题解析:

本题属于系统安全方向的考题。文章第一部分是标准问题,进行详实的项目简介即可。第二部分的知识内容完全来自《系统分析师教程》。
灾难恢复是指为了将信息系统从灾难造成的故障或瘫痪状态恢复到可正常运行状态,并将其支持的业务功能从灾难造成的不正常状态恢复到可接受状态,而设计的活动和流程。灾难恢复措施在整个备份制度中占有相当重要的地位。因为它关系到系统在经历灾难后能否迅速恢复。
1.灾难恢复的技术指标
发生灾难时,对于恢复工作所需的时间有一个清楚的认识是至关重要的,同样,了解现在的数据在恢复之后是什么样子的也同等重要。并非所有应用和数据都需要相同级别的可用性,灾难恢复的指标主要与容灾系统的数据恢复能力有关。
灾难恢复的两个关键概念是恢复点目标(Recovery Point Objective,RPO)和恢复时间目标(Recovery Time Objective,RTO)。RPO是指灾难发生后,容灾系统能将数据恢复到灾难发生前时间点的数据,它是衡量企业在灾难发生后会丢失多少数据的指标;RTO则是指灾难发生后,从系统宕机导致业务停顿之刻开始,到系统恢复至可以支持业务部门运作,业务恢复运营之时,此两点之间的时间。RPO可简单描述为企业能容忍的最大数据丢失量,RTO可简单描述为企业能容忍的恢复时间。
理想状态下,希望RTO=0,RPO=0,即灾难发生对企业生产毫无影响,既不会导致生产停顿,也不会导致生产数据丢失。但显然这不现实,企业要做的是尽量减少灾难造成的损失。企业在构建容灾备份系统时,首先要找到对企业自身而言比较适合的RTO 目标,即在该目标定义下,用于灾难备份的投入应不大于对应的业务损失。
2.灾难恢复等级
在《信息系统灾难恢复规范》(GB/T 20988-2007)中,将灾难恢复划分为六个等级。第1级为基本支持,第2级为备用场地支持,第3级为电子传输和部分设备支持,第4级为电子传输及完整设备支持,第5级为实时数据传输及完整设备支持,第6级为数据零丢失和远程集群支持。同时,该规范对灾难恢复能力等级评定原则和灾难备份中心的等级等也作了规范要求。
3.容灾技术的分类
容灾系统的实现可以采用不同的技术,例如,既可以采用硬件进行远程数据复制,也可以采用软件实现远程的实时数据复制,并且实现远程监控和切换。容灾系统的归类要由其最终达到的效果来决定,从其对系统的保护程度来分,可以将容灾系统分为数据容灾和应用容灾,它们的高可用性级别逐渐提高。
数据容灾的关注点在于数据,即灾难发生后可以确保用户原有的数据不会丢失或遭到破坏。数据容灾较为基础,其中较低级别的数据容灾方案仅需利用磁带库和管理软件就能实现数据异地备份,达到容灾的功效;而较高级的数据容灾方案则是依靠数据复制工具,例如卷复制软件,或者存储系统的硬件控制器,实现数据的远程复制。数据容灾是保障数据可用的最后底线,当数据丢失时能够保证应用系统可以重新得到所有数据。从这种意义上说,数据备份属于数据容灾的范畴。这种方案花费较低,构建简单,但灾难恢复时间较长,仍然存在风险,尽管用户原有数据没有丢失,但是应用会被中断,用户业务也被迫停止。
对于业务应用繁多,并且系统需要保持7×24小时连续运行的企业来说,显然需要高级别的应用容灾来满足需求。应用容灾是在数据容灾的基础上,再将执行应用处理能力复制一份,也就是说,在备份站点同样构建一套应用系统。应用容灾系统能提供不间断的应用服务,让用户应用的服务请求能够透明地继续运行,而感受不到灾难的发生,保证信息系统提供的服务完整、可靠和安全。一般来说,应用容灾系统需要通过更多软件来实现,它可以使企业的多种应用在灾难发生时进行快速切换,确保业务的连续性。

### 第 4 题

论非关系型数据库技术及应用
非关系型数据库(NoSQL数据库)在数据模型、可靠性、一致性等诸多数据库核心机制方面与关系型数据库有着显著的不同。非关系型数据库技术包括:(1)使用可扩展的松耦合类型数据模式未对数据进行逻辑建模;(2)为遵循CAP定理的跨多节点数据分布模型而设计,支持水平伸缩;(3)拥有在磁盘和(或)内存中的数据持久化能力; (4)支持多种非SQL接口来进行数据访问。非关系型数据库都具有非常高的读写性能,尤其在大数据量下,依然表现优秀,数据之间的弱关联关系使得数据库的结构简单,实现了更细粒度的缓存机制,具有更好的性能表现。

请就“非关系型数据库技术及应用”力论题,依次从以下三个方面进行论述。
1.简要叙述你参与的使用了非关系型数据库的软件系统开发项目以及你所承担的主要工作。
2.详细论述非关系型数据库有哪几类不同实现方式,每种方式有何技术特点和代表性数据库产品。
3.根据你所参与的项目中使用的非关系型数据库,具体阐述使用方法和实施效果。

答案与解析

  • 试题难度:较难
  • 知识点:论文写作>数据库工程
  • 试题答案:


  • 试题解析:

    本题属于数据库方向的考题。文章第一部分是标准问题,进行详实的项目简介即可。第二部分的知识内容已超出教程内容。NoSQL技术曾在案例分析题中考查过,本次的考查,要求考生对NoSQL的基本概念,特点,与关系数据库相比的优势,以及相关的数据库产品有所了解,下面将介绍这些方面的内容。
    NoSQL的主要优势:
    (1)避免不必要的复杂性
    (2)高吞吐量
    (3)高水平扩展能力和低端硬件集群
    (4)避免了昂贵的对象-关系映射
    NoSQL的缺点:
    (1)数据模型和查询语言没有经过数学验证
    (2)不支持ACID特性
    (3)功能简单
    (4)没有统一的查询模型
    NoSQL数据库的四大分类:
    1、键值(Key-Value)存储数据库
    这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.
    2、列存储数据库。
    这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak。
    HBase:HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
    3、文档型数据库
    文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB, MongoDb。国内也有文档型数据库SequoiaDB,已经开源。
    Mongo DB:Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。
    Sequoia DB:SequoiaDB是一款分布式非关系型文档数据库,可以被用来存取海量非关系型的数据,其底层主要基于分布式,高可用,高性能与动态数据类型设计SequoiaDB可以独立作为一款高性能可扩展的NoSQL数据库使用,也可与当前主流分布式计算框架Hadoop紧密集成。
    4、图形(Graph)数据库
    图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。如:Neo4J, InfoGrid, Infinite Graph。

results matching ""

    No results matching ""