第一套
第1题(论文题):论系统需求分析方法
系统需求分析是开发人员经过调研和分析,准确理解用户和项目的功能、性能、可靠性等要求,将用户非形式的诉求表述转化为完整的需求定义,从而确定系统必须做什么的过程。系统需求分析具体可分为功能性需求、非功能性需求与设计约束等三个方面。
请围绕“系统需求分析方法”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述系统需求分析的主要方法。
3.结合你具体参与管理和开发的实际软件项目,说明是如何使用系统需求分析方法进行系统需求分析的,说明具体实施过程以及应用效果。
参考解析:
论系统需求分析方法
本题要求论述系统需求分析方法。
首先值得注意的一点是:需求分析方法有广义与狭义之分。广义的需求分析包括了:获取、分析、定义验证的全过程。而狭义的需求分析仅特指结构化需求分析(SA)方法、面向对象分析(OOA)方法和面向问题域的分析(Problem Domain Oriented Analysis, PDOA)方法。
本题题干提到“系统需求分析是开发人员经过调研和分析,准确理解用户和项目的功能、性能、可靠性等要求,将用户非形式的诉求表述转化为完整的需求定义……”。这充分说明,本题的需求分析是广义的。所以部分希赛学员所担心的,文章中出现需求获取的论点是否会被判偏题的问题,答案是明确的,这种情况不会判偏题。但全篇文章都不涉及到结构化需求分析与面向对象需求分析,则文章的论点选择存在重大失误,有不合格的风险。因为广义的需求分析中:SA与OOA依然是整个工作的重心。
关于SA与OOA的详细描述,请参看《系统分析师教程》清华版。
第2题(论文题):论企业应用集成
在企业信息化建设过程中,由于缺乏统一规划和总体布局,使企业信息系统形成多个信息孤岛,信息数据难以共享。企业应用集成(Enterprise Application Integration, EAI)可在表示集成、数据集成、控制集成和业务流程集成等多个层次上,将不同企业信息系统连接起来,消除信息孤岛,实现系统无缝集成。
请围绕“企业应用集成”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的企业应用集成项目及你在其中所承担的主要工作。
2.详细论述实现各层次的企业应用集成所使用的主要技术。
3.结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成技术的具体实现方式及过程,并详细分析其实现效果。
所属知识点: 论文写作>应用系统集成;
参考解析:
在组织本文内容时需要注意各种集成所代表的含义,然后选择一种集成(或多种)表明其在系统中如何应用的。
1.表示集成
表示集成也称为界面集成,这是比较原始和最浅层次的集成,但又是常用的集成。这种方法把用户界面作为公共的集成点,把原有零散的系统界面集中在一个新的界面中。
表示集成是黑盒集成,无需了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。表示集成通常应用于以下几种情况:
(1)在现有的基于终端的应用系统上配置基于PC的用户界面。
(2)为用户提供一个看上去统一,但是由多个系统组成的应用系统。
(3)当只有可能在显示界面上实现集成时。
表示集成的实现是很简单的,也是很不彻底的,只是做了一层“外装修”,而额外多出来的集成界面也将可能成为系统的性能瓶颈。
2.数据集成
为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成。
有很多不同的中间件工具可以用于数据集成。例如,批量文件传输,即以特定的或是预定的方式在原有系统和新开发的应用系统之间进行文件传输;用于访问不同类型数据库系统的ODBC标准接口;向分布式数据库提供连接的数据库访问中间件技术等。
通常在以下情况下,将会使用数据集成:
(1)需要对多种信息源产生的数据进行综合分析和决策。
(2)要处理一些多个应用程序需要访问的公用信息库。
(3)当需要从某数据源获得数据来更新另一个数据源时,特别是它们之间的数据格式不相同时。
相对而言,数据集成比表示集成要更加灵活。但是,当业务逻辑经常发生变化时,数据集成就会面临困难。
3.控制集成
控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。控制集成的集成点存于程序代码中,集成处可能只需简单使用公开的API就可以访问,当然也可能需要添加附加的代码来实现。控制集成是黑盒集成。
实现控制集成时,可以借助于远程过程调用或远程方法调用、面向消息的中间件、分布式对象技术和事务处理监控器来实现。控制集成与表示集成、数据集成相比,灵活性更高。表示集成和数据集成适用的环境下,都适用于控制集成。但是,由于控制集成是在业务逻辑层进行的,其复杂度更高一些。而且,很多系统的业务逻辑部分并没有提供API,这样,集成难度就会更大。
4.业务流程集成
业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度。
业务流程集成不仅要提供底层应用支撑系统之间的互连,同时要实现存在于企业内部的应用之间,本企业和其他合作伙伴之间的端到端的业务流程的管理,它包括应用集成、B2B集成、自动化业务流程管理、人工流程管理、企业门户,以及对所有应用系统和流程的管理和监控等。
第3题(论文题):论软件开发模型及应用
软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。
请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。
1.简要叙述你参与的软件开发项目以及你所承担的主要工作。
2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。
3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。
所属知识点: 论文写作>系统开发方法;
参考解析:
1、用400-600字叙述作者参与开发与管理的软件项目,包括但不仅限于,项目时间,规模,周期,背景,系统的主要功能,所采用的相关技术等。
2、开发模型多种多样,常见的包括:
瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。
快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。
演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。
增量模型:它采用的是一种“递增式”模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。
螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。
统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。
敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
3、结合项目实践说明作者在项目中所采用的开发模型,并阐述实施效果。
第4题(论文题):论软件系统测试及其应用
软件系统测试是将已经确认的软件与计算机硬件、外设、网络等其他设施结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,进而完善软件。系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等,其中,最重要的是功能测试和性能测试。功能测试主要采用黑盒测试方法。
请围绕“软件系统测试及其应用”论题,依次从以下三个方面进行论述。
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等。
其他的测试工具还包括缺陷跟踪工具、综合测试管理工具、嵌入式测试工具、数据库测试工具等。面对如此众多的测试工具,在选择时应进行综合考虑,例如,考察测试工具是否支持脚本语言,是否具有良好的脚本开发环境;脚本语言是否支持外部函数库,以及函数的可复用;测试工具对程序界面中对象的识别能力,对分布式测试的网络支持,以及是否支持数据驱动测试等方面。
第2套
第1题(论文题):论信息系统项目的风险管理
风险是一种不确定的事件或条件,一旦发生,会对项目目标产生某种正面或负面的影响。风险有其成因,同时,如果风险发生,也导致某种后果。当事件、活动或项目有损失或收益与之相联系,涉及到某种或然性或不确定性和涉及到某种选择时,才称为有风险。以上三条,每一个都是风险定义的必要条件,不是充分条件。具有不确定性的事件不一定是风险。
风险管理就是要对项目风险进行认真的分析和科学的管理,这样,是能够避开不利条件、少受损失、取得预期的结果并实现项目目标的,能够争取避免风险的发生或尽量减小风险发生后的影响。但是,完全避开或消除风险,或者只享受权益而不承担风险是不可能的。
请围绕“信息系统项目的风险管理”论题,分别从以下三个方面进行论述:
1、概要叙述你参与管理过的信息系统项目(项目的背景、发起单位、目的、项目周期、交付的产品等),你担任的工作,以及在风险管理方面承担的职责。
2、请简要论述你对项目风险的认识和项目风险管理的基本过程、主要方法、工具。
3、结合你的项目实际经历,请指出你参与管理过的信息系统项目最主要的风险是哪些,并具体阐述其应对计划,包括:风险描述,出现的原因,采用的具体应对措施、方法和工具等。
所属知识点: 论文写作>项目管理
参考解析:
第一部分
介绍项目的背景、发起单位、目的、项目周期、交付的产品等,着重介绍项目的风险管理;介绍自己担任的工作及需要处理的问题。
第二部分
项目是在复杂的自然和社会环境中进行的,受众多因素的影响。对于这些内外因素,从事项目活动的主体往往认识不足或者没有足够的力量加以控制。项目的过程和结果常常出乎人们的意料,有时不但未达到项目主体预期的目的,反而使其蒙受各种各样的损失;而有时又会给他们带来很好的机会。项目同其它经济活动一样带有风险。要避免和减少损失,将威胁化为机会,项目主体就必须了解和掌握项目风险的来源、性质和发生规律,进而实行有效的管理。
项目风险是一种不确定的事件或条件,一旦发生,会对项目目标产生某种正面或负面的影响。风险有其成因,同时,如果风险发生,也导致某种后果。当事件、活动或项目有损失或收益与之相联系,涉及到某种或然性或不确定性和涉及到某种选择时,才称为有风险。以上三条,每一个都是风险定义的必要条件,不是充分条件。具有不确定性的事件不一定是风险。
项目风险管理的基本过程包括下列活动:
1、风险管理计划编制过程。风险管理计划编制过程描述如何为项目处理和执行风险管理活动。
2、风险识别。风险识别的目标是识别和确定出项目究竟有哪些风险,这些项目风险究竟有哪些基本的特性,这些项目风险可能会影响项目的哪些方面。
3、风险定性分析。风险定性分析包括对已识别风险进行优先级排序,以便采取进一步措施,如进行风险量化分析或风险应对。
4、定量风险分析。定量风险分析过程定量地分析风险对项目目标的影响。它对不确定因素提供了一种量化的方法,以帮助我们做出尽可能恰当的决策。
5、风险应对计划编制。风险应对通过开发备用的方法、制定某些措施以便提高项目成功的机会,同时降低失败的威胁。
6、风险监控。风险监控跟踪已识别的危险,监测残余风险和识别新的风险,保证风险计划的执行,并评价这些计划对减轻风险的有效性。
第三部分
信息系统项目所面临的风险及其产生原因和应对措施。
例:
编辑
第四部分
考生应对自已在该项目中的风险管理工作进行总结,并写出有一定深度的经验、教训来,可酌情给分。
第2题(论文题):论软件的可靠性设计
现代军事和商用系统中,随着系统中软件成分的不断增加,系统对软件的依赖性越来越强。软件可靠性已成为软件设计过程中不可或缺的重要组成部分。实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,由此提出了可靠性设计的概念。可靠性设计就是在常规的软件设计中,应用各种方法和技术,使程序设计在兼顾用户的功能和性能需求的同时,全面满足软件的可靠性要求。
请以“软件的可靠性设计”为题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.简要说明目前比较主流的软件可靠性设计技术,结合项目实际情况,阐述所选择的可靠性设计技术及其原因。
3.结合你具体参与管理和开发的实际项目,举例说明所选取的软件可靠性技术的具体实施过程,并详细分析实施效果。
所属知识点: 论文写作>系统的可靠性分析与设计
参考解析:
本文第一部分应花400-600字的篇幅进行项目简介,涉及项目背景、规模、人员、作者的角色,开发的系统有什么样的一些功能,大体的设计。
接下来介绍主流的软件可靠性设计技术,常见的可靠性设计技术有容错设计、检错设计、降低复杂度设计等技术。
容错设计技术:对于软件失效后果特别严重的场合,如飞机的飞行控制系统、空中交通管制系统等,采用容错设计技术。常见的容错设计技术有三种:恢复块设计、N版本程序设计和冗余设计。
恢复块设计:选择一组软件操作作为容错设计单元,把普通的程序块变成恢复块。一个恢复块包含有若千个功能相同、设计差异的程序块文本,一个运行文本,多个备份文本,构成“动态冗余”,一旦运行文本出现故障,则用备份文本替换。软件容错的恢复块方法就是使软件包含有一系列恢复块。
N版本程序设计:N版本程序的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实现多数表决,防止其中某一软件模块/版本的故障提供错误的服务,以实现软件容错。
冗余设计:在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方法的模块或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。缺点是费用和资源的消耗会有所增加。
检错技术:在软件系统中,无需在线容错的地方,或不能采用冗余设计技术的部分,如果对可靠性要求较高,故障有可能导致严重的后果时,一般采用检错技术,在软件出现故障后能及时发现并报警,其缺点是不能自动解决故障。
降低复杂度设计:软件复杂性与软件可靠性有着密切的关系,是产生软件缺陷的重要根源。在设计时考虑降低软件的复杂性,是提高软件可靠性的有效方法。降低复杂度设计的思想是在保证实现软件功能的基础上,简化软件结构,缩短程序代码,优化软件数据流向,降低软件复杂度,从而提高软件可靠性。
注意在结合项目进行论述时,只要论述其中的2-3个方面即可。
第3题(论文题):论数据仓库技术的应用
数据仓库是决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。它与数据库有着明显的区别,其主要特征包括:面向主题、集成性、稳定性和时变性。
请围绕“数据仓库技术的应用”这一论题,依次对以下三个方面进行论述:
1.概要地叙述你参与分析和开发的软件项目,以及你所担任的主要工作。
2.具体讨论你在从事数据仓库的设计时是如何进行规划和分析的,详细描述数据仓库设计、数据集成和测试,以及部署数据仓库的过程。
3.分析并讨论你在数据仓库设计与实现过程中遇到过的主要问题,最终是如何解决这些问题的。
所属知识点: 论文写作>数据库工程
参考解析: 在撰写关于“数据仓库技术的应用”的论文时,要注意以下几个方面:
(1)在文章中首先用400~600字的篇幅简要叙述作者参与分析和开发的软件项目概要和所担任的工作。
(2)具体讨论在从事数据仓库的设计时是如何进行规划和分析的,详细描述数据仓库设计、数据集成和测试,以及部署数据仓库的过程,这部分内容占1200~1500篇幅。
(3)简要讨论在数据仓库设计与实现过程中遇到过的主要问题,以及解决问题的方法,这部分占400~800字的篇幅(可以将该部分的内容合并到问题2,一并叙述)。
第4篇(论文题):论物联网关键技术与应用
物联网就是“物物相连”的互联网。它是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。
请围绕“物联网关键技术与应用”论题,依次对以下三个方面进行论述:
1. 概要叙述你参与的采用物联网技术的应用项目以及你在其中所担任的主要工作。
2. 详细论述物联网相关技术在你所在项目中的应用。
3. 论述你在项目中遇到的问题,及如何解决的。
所属知识点: 论文写作>新技术的应用
参考解析:
(1)首先用500-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
(2)详细论述你的项目开发流程,具体说明物联网相关技术的应用情况。本题要求比较泛,没有规定具体的技术,所以作者在此有自由发挥的空间。
(3)按论文写作的老套路,指出问题,并给出解决方案。
第5篇 论大数据处理技术的应用
随着云时代的来临,大数据(Big data)也吸引了越来越多的关注。大数据通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。
请围绕“论大数据处理技术的应用”论题,依次对以下三个方面进行论述。
1.概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。
2.简述大数据的特点,具体论述你在项目中是如何利用相关技术处理这些大数据的。
3.简述你使用的技术的应用效果。
所属知识点: 论文写作>数据库工程
参考解析:
一、结合自己所参与的软件项目,概要介绍该项目的背景及主要内容,并明确指出在其中所承担的主要任务和开展的主要工作。
二、简而言之,从各种各样类型的数据中,快速获得有价值信息的能力,就是大数据技术。明白这一点至关重要,也正是这一点促使该技术具备走向众多企业的潜力。大数据的特点可以用4个“V”概括,或者说特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。如网络日志、视频、图片、地理位置信息等。第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。第四,处理速度快。1秒定律。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。
大数据的相关技术有很多,如:分布式技术、NoSQL技术、数据存储技术等。只要说明了相关技术对大数据处理的优势都是可以的。
三、总结经验,此处可以做一些自我批评,说明在技术应用过程中自己的团队做得不足的地方,并提出切实可行的改进意见。
第6题(论文题):论信息系统项目的需求管理和范围管理
在信息系统项目的开发过程中,人们越来越体会到需求管理和范围管理的重要性,含糊的需求和范围经常性的变化使信息系统项目的甲乙双方吃尽了苦头,这使得人们急于寻找良策以管理范围。 范围管理就是要确定项目的边界,也就是说,要确定哪些工作是项目应该做的,哪些工作不应该包括在项目中。这个过程用于确保项目干系人对作为项目结果的产品(或服务),以及开发这些产品所确定的过程有一个共同的理解。
请围绕“需求管理和范围管理”论题,分别从以下三个方面进行论述:
·· 1、概要叙述与你参与管理过的信息系统项目,以及该项目在需求管理和范围管理方面的情况;
2、论述需求开发、需求管理和范围管理的区别与联系;
3、详细论述在你参与管理过的信息系统项目中具体采用的范围管理过程、方法、工具及其实际效果。
所属知识点: 论文写作>项目管理
参考解析:
1、介绍项目的背景、发起单位、目的、开始时间和结束时间、主要交付物、最终交付的产品,尤其着重介绍项目的需求和范围,介绍自己担任的工作。
2、虽然需求管理贯穿信息系统项目的整个生命周期,但只有经过需求分析过程之后才能确定项目的范围。
(1)需求开发、需求管理和范围管理
“需求”指的是由项目接受的或项目产生的产品和产品构件需求,包括由组织征集的对项目的需求。这种需求既有技术性的,也有非技术性的。所有与需求直接相关的活动通称为需求工程。需求工程的活动可分为两大类:一类属于需求开发,另一类属于需求管理。
需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求管理的目的是确保各方对需求的一致理解;管理和控制需求的变更;从需求到最终产品的双向跟踪。项目范围管理的目的是确保项目包含且仅仅只包含项目所必须完成的工作。
项目范围管理,包括为成功完成项目所需要的范围计划编制、范围定义、创建工作、分解结构、范围确认和范围控制等五个过程。
(2)需求开发、需求管理和范围管理的区别与联系
首先通过需求开发来获取项目的需求,在此基础上确定项目的范围、进行项目范围管理。需求管理是对已批准的项目需求进行全生命周期的管理,其过程包括需求管理定义、需求管理流程、制订需求管理计划、管理需求和实施建议等。
对于项目需求,可以根据需求的紧急重要程度、项目本身和甲乙双方的实际情况,分步或分期满足。确定每期应满足的需求后,本期的范围管理就有了基础。
需求管理处理需求的变更,需求的变更会引起项目范围的变更。
3、根据参与管理过的信息系统项目的实际体会,阐述项目的范围管理
过程要包括:范围计划编制、范围定义、创建工作分解结构、范围确认和范围控制等五个过程。
方法和工具主要有:
(1)范围计划编制要有“专家判断”、“模板、表格和标准”。
(2)范围定义要有“产品分析”、“可选方案识别”和“专家判断法”。
(3)创建工作分解结构要有“工作分解结构模板”、“分解”。
(4)范围确认要有“检查”。
(5)范围控制要有“变更控制系统”、“配置管理系统”。
以上各点都要叙述其实际效果,要谈出体会和深度来。
第7题(论文题):论工作流技术及其应用
工作流技术是当今一项飞速发展的技术,它能够结合人工和机器的行为,特别是能够与应用程序和工具进行交互,从而完成业务过程的自动化处理。工作流技术从出现到现在,已逐渐发挥越来越重要的作用。工作流能够为企业应用提供业务流程建模、管理和控制功能,可以应用于电子政务中的一站式办公、电子商务中的流程集成和金融信贷业务等领域,成为近期增长较快的领域。
请围绕“工作流技术及其应用”论题,依次从以下三个方面进行论述:
1. 概要叙述你参与工作流技术项目以及你所担任的主要工作。
2. 简单说明什么是工作流技术,详细论述你所参与的项目是如何应用工作流技术的。
3. 阐述在项目当中应用工作流技术时遇到了哪些问题,是如何解决的。
所属知识点: 论文写作>应用系统分析与设计
参考解析:
(1)首先用500-600字的篇幅简要叙述作者参与开发的系统的概要和所担任的工作。
(2)工作流是一类能够完全或者部分自动执行的业务过程,根据一系列过程规则、文档、信息或任务,在不同的执行者之间传递和执行。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务,一个工作流包括一组活动(或任务)及它们的相互顺序关系,还包括流程和活动的启动和终止条件,以及对每个活动的描述。工作流可以部分或全部模拟现实世界中的信息传递,例如,在线教育平台系统中的开通课程流程,对应需要传递的信息就是课程申请单,员工填写好课程申请单后可将其发送给上级主管审批,主管审批后可以转交给培训部门备案,培训部门成功备案后可转交给财务部门,以便核算辅导老师工资,整个流程包括多个活动,不同的用户可以执行不同的活动,每个活动均有其启动和终止条件,例如,培训部门备案的启动条件是接收到已通过主管审批的课程申请单,而终止条件是成功记录课程信息,并将其转交给财务部门。
工作流管理是人与计算机共同工作的自动化协调、控制和通信,在信息化的业务过程中,通过在网络上运行相应的软件,使所有活动的执行都处于受控状态。在工作流管理下,可以对工作进行监控,并可以进行工作的指派。例如,如果将开通课程流程自动化,并构建一个软件模块来实现该功能,即可对开通课程工作流进行管理。
(3)描述遇到的问题以及解决方案。与此同时,可以用项目已完成,回过头来反思的角度来进行一些问题的探讨。
第8题(论文题):论项目的时间管理
项目是“在一定的时间内”完成其目标的一次性任务。因此,能否在给定的时间内交付产品(或服务)是衡量项目是否成功的重要标志。时间管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,实现工期目标。
请以“项目的时间管理”为题,分别从以下几个方面进行论述:
1、概要叙述你参与管理过的信息系统项目(包括项目的背景、项目规模、发起单位、目的、项目内容、组织结构、项目周期、交付的产品等)。
2、论述你对时间管理的认识。可围绕但不局限于以下要点叙述:
(1)项目时间管理的基本过程。
(2)时间管理与范围管理的关系。
3、请结合论文中所提到的项目,介绍你如何对其进行时间管理(可结合时间管理的工具和方法叙述具体做法),并总结你的心得体会。
所属知识点: 论文写作>项目管理
参考解析:
1、选择自己近三年内参与过的信息系统项目进行分析论述,不能选择其他类型的项目。
2、根据题目要求确定论述内容及文章结构。要用论文的写作方式展开论述,即要有论点、论据和论证步骤,同时做到首尾呼应。
3、写摘要。论文摘要是文章的内容不加诠释和评论的简短陈述。摘要是在文章全文完成之后提炼出来的(但考虑到正文完成后有可能大家会忘记写摘要,所以建议大家确定结构并简单设计后即写出摘要),具有短、精、完整三大特点。摘要应具有独立性、自明性,即不阅读原文的全文,就能获得必要的信息。摘要中有核心信息、有结论,是一篇完整的短文。
4、撰写论文正文。正文论述中除了要注意体现论点、论据和论证步骤,还要做到首尾呼应外,同时需要注意:
①要有针对性地介绍项目情况和所承担的主要工作。
②简要列出项目时间管理的6大基本过程(每个过程需要写出过程名及简单解释),并依据教材谈一谈时间管理与范围管理的关系。
③叙述作者如何对项目时间进行管理(可分成三个大的方面来具体论述工作方法),包括在该项目的时间管理方面遇到的实际问题与解决方法,效果如何。
④总结该项目管理中的得失,阐述自身关于项目时间管理的经验与教训。
5、注意论文结构合理,语言流畅,字迹清晰。
6、注意论文撰写始终围绕信息系统项目的时间管理,不要偏题。
第3套
第1题(论文题):论商业智能技术的应用
商业智能的概念于1996年最早由加特纳集团(Gartner Group)提出,加特纳集团将商业智能定义为:商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定。商业智能技术提供使企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后分发到企业各处。经过多年的发展商业智能已广泛应用于各领域。
请围绕“论商业智能技术的应用”论题,依次对以下三个方面进行论述。
(1)概要叙述你参与分析和开发的商业智能项目以及你所担任的主要工作。
(2)简述商业智能的核心技术,并论述你在项目中是如何利用这些技术的。
(3)简述你在项目实施过程中遇到的问题,你是如何解决这些问题的。
所属知识点: 论文写作>新技术的应用
参考解析:
一、结合自己所参与的软件项目,概要介绍该项目的背景及主要内容,并明确指出在其中所承担的主要任务和开展的主要工作。
二、商业智能的核心技术是数据仓库与数据挖掘。所以在本文中需要体现在实际应用中,数据仓库与数据挖掘的基本情况,以及如何应用,应用于何处。
三、注意所描述的问题应是与商业智能技术相关的内容,并提出切实可行的解决方案。
第2题(论文题):论工作流技术及其应用
工作流技术是当今一项飞速发展的技术,它能够结合人工和机器的行为,特别是能够与应用程序和工具进行交互,从而完成业务过程的自动化处理。工作流技术从出现到现在,已逐渐发挥越来越重要的作用。工作流能够为企业应用提供业务流程建模、管理和控制功能,可以应用于电子政务中的一站式办公、电子商务中的流程集成和金融信贷业务等领域,成为近期增长较快的领域。
请围绕“工作流技术及其应用”论题,依次从以下三个方面进行论述:
1. 概要叙述你参与工作流技术项目以及你所担任的主要工作。
2. 简单说明什么是工作流技术,详细论述你所参与的项目是如何应用工作流技术的。
3. 阐述在项目当中应用工作流技术时遇到了哪些问题,是如何解决的。
所属知识点: 论文写作>应用系统分析与设计
参考解析:
(1)首先用500-600字的篇幅简要叙述作者参与开发的系统的概要和所担任的工作。
(2)工作流是一类能够完全或者部分自动执行的业务过程,根据一系列过程规则、文档、信息或任务,在不同的执行者之间传递和执行。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务,一个工作流包括一组活动(或任务)及它们的相互顺序关系,还包括流程和活动的启动和终止条件,以及对每个活动的描述。工作流可以部分或全部模拟现实世界中的信息传递,例如,在线教育平台系统中的开通课程流程,对应需要传递的信息就是课程申请单,员工填写好课程申请单后可将其发送给上级主管审批,主管审批后可以转交给培训部门备案,培训部门成功备案后可转交给财务部门,以便核算辅导老师工资,整个流程包括多个活动,不同的用户可以执行不同的活动,每个活动均有其启动和终止条件,例如,培训部门备案的启动条件是接收到已通过主管审批的课程申请单,而终止条件是成功记录课程信息,并将其转交给财务部门。
工作流管理是人与计算机共同工作的自动化协调、控制和通信,在信息化的业务过程中,通过在网络上运行相应的软件,使所有活动的执行都处于受控状态。在工作流管理下,可以对工作进行监控,并可以进行工作的指派。例如,如果将开通课程流程自动化,并构建一个软件模块来实现该功能,即可对开通课程工作流进行管理。
(3)描述遇到的问题以及解决方案。与此同时,可以用项目已完成,回过头来反思的角度来进行一些问题的探讨。
第3题(论文题):论行业应用软件系统的开发规划
行业专业背景的应用软件系统开发过程与通用应用软件开发过程有一些主要的差异,例如开发过程中业主、开发者、行业专家/咨询单位等角色划分等。
请围绕“行业应用软件系统的开发规划”论题,依次对以下三个问题进行论述。
1.就含有行业专业背景的应用软件系统开发过程中的业主、开发者、行业专家/咨询单位等角色划分作一论述。
2.与常规的通用应用软件开发进行比较,专业背景的应用软件开发过程及各环节的主要差异。
3.分析行业应用软件开发成功和失败的有关重要因素,并提出指导意见。
所属知识点: 论文写作>系统开发方法
参考解析:
(1)首先用200-300字的篇幅简要叙述作者参与分析和开发的信息系统项目的概要和所担任的工作。
(2)论述含有行业专业背景的信息系统开发过程中的业主、开发者、行业专家/咨询单位等角色划分。主要是理清这些角色的任务及关系。
(3)与常规的通用信息系统开发进行比较,专业背景的应用信息系统开发过程及各环节的主要差异。例如,更需要行业专家的参与,需要开发人员熟悉行业领域和行业知识等。
(4)分析行业信息系统开发成功和失败的有关重要因素,并提出指导意见。例如,必须要对有行业专家的参与和交互;开发人员必须熟悉行业知识,有行业从业经验;在开发前,要做好全面的规划;要有好的市场调研机制等。
第4题(论文题):论异构数据库的集成
企业实施信息化一般都要经历几个发展阶段,由于技术或市场等原因,在不同时期配置的数据库系统可能会不一样。这样,在一个企业中,难免会包含几种不同的数据库系统。这些数据库可能基于不同数据模型的DBMS(如关系型的或对象型的),也可能虽然都是关系型的,但不同商家的产品其SQL API不尽相同。如果企业要建立ERP或CIMS等大型应用系统,就必须面临异种数据库的集成问题。
请围绕“异构数据库的集成”论题,依次对以下三个方面进行论述。
1.概要叙述你参与设计和开发的软件项目以及你所担任的主要工作。
2.具体讨论你在进行异构数据库的集成时,主要采用了哪些技术和方法,遇到了哪些问题?是如何解决这个问题的?
3.分析你所采用的技术和方法的效果如何,以及有哪些还需要进一步改进的地方,如何改进?
所属知识点: 论文写作>数据库工程
参考解析:
(1)首先用400-500字的篇幅简要叙述作者参与分析和开发的信息系统项目的概要和所担任的工作。
(2)需要集成的系统中,有哪些异构数据库,为什么要进行集成。
(3)具体讨论你在进行异构数据库的集成时,主要采用了哪些技术和方法,遇到了哪些问题?是如何解决这个问题的?
(4)分析你所采用的技术和方法的效果如何,以及有哪些还需要进一步改进的地方,如何改进。
第4套
第1题(论文题):论信息系统的安全性与保密性设计
在企业信息化推进的过程中,需要建设许多的信息系统,这些系统能够实现高效率、低成本的运行,为企业提升竞争力。但在设计和实现这些信息系统时,除了针对具体业务需求进行详细的分析,保证满足具体的业务需求之外,还要加强信息系统安全方面的考虑。因为如果一个系统的安全措施没有做好,那么系统功能越强大,系统出安全事故时的危害与损失也就越大。
请围绕“信息系统的安全性与保密性”论题,依次从以下三个方面进行论述:
1.概要叙述你参与分析设计的信息系统及你所担任的主要工作。
2.深入讨论作者参与建设的信息系统中,面临的安全及保密性问题,以及解决该问题采用的技术方案。
3.经过系统运行实践,客观的评价你的技术方案,并指出不足,以及解决方案。
所属知识点: 论文写作>系统安全
参考解析:
关于“信息系统的安全性与保密性设计”的论文,在写作方面大致包括以下几个方面:
(1)介绍项目的背景、发起单位、目的、项目周期、交付的产品等,介绍自己担任的工作及需处理的问题。
(2)在企业信息化建设方面,有许多需要解决的安全问题,它们并非对于每个企业都是必需的。不同企业由于其自身的特点,所关心的安全问题会各有侧重点。由于各个企业信息系统受投资的限制,在保障信息安全方面也不得不有所侧重,或在不同的工程建设阶段,有不同的建设目标。因此这部分的说明重点在于针对不同企业的特点、应用领域和投资,给出相应的合理论述。
(3)在论述自己的安全解决方案之后,要根据系统的具体情况和采用的措施,客观地评价自己所采用的安全措施,并给出评价依据。这里需要注意,不可脱离实际,评价要适当。
第2题(论文题):论容灾系统
容灾系统研究的主题是当计算机系统在遭受如自然灾难或人为灾难时,系统保证用户数据的安全性及提供不间断的应用服务的能力。汶川地震之后,容灾系统开始为人们所重视。
请围绕“论容灾系统”论题,依次从以下三个方面进行论述。
1. 概要叙述你参与实施的软件项目以及你所担任的主要工作。
2. 简要叙述容灾系统与备份的差别以及容灾系统的分类。
3. 详细论述为了应对灾难的发生,系统采取了一些什么样的容灾措施,效果如何。
所属知识点: 论文写作>需求工程
参考解析:
灾难是指由于人为或自然的原因,造成信息系统严重故障或瘫痪,使信息系统支持的业务功能停顿或服务水平不可接受、达到特定的时间的突发性事件。当应用系统的一个完整环境因灾难性事件遭到破坏时,为了迅速恢复应用系统的数据和环境,使应用系统恢复运行,需要异地灾难备份系统,也称为容灾系统。
灾难备份是指为了灾难恢复而对数据、数据处理系统、网络系统、基础设施、技术支持能力和运行管理能力进行备份的过程。灾难备份与普通的数据备份的不同在于,它不仅备份系统中的数据,还备份系统中安装的应用程序、数据库系统、用户设置、系统参数等信息,以便需要时迅速恢复整个系统。
容灾系统的实现可以采用不同的技术,例如,既可以采用硬件进行远程数据复制,也可以采用软件实现远程的实时数据复制,并且实现远程监控和切换。容灾系统的归类要由其最终达到的效果来决定,从其对系统的保护程度来分,可以将容灾系统分为数据容灾和应用容灾,它们的高可用性级别逐渐提高。
数据容灾的关注点在于数据,即灾难发生后可以确保用户原有的数据不会丢失或遭到破坏。数据容灾较为基础,其中较低级别的数据容灾方案仅需利用磁带库和管理软件就能实现数据异地备份,达到容灾的功效;而较高级的数据容灾方案则是依靠数据复制工具,例如卷复制软件,或者存储系统的硬件控制器,实现数据的远程复制。数据容灾是保障数据可用的最后底线,当数据丢失时能够保证应用系统可以重新得到所有数据。从这种意义上说,数据备份属于数据容灾的范畴。这种方案花费较低,构建简单,但灾难恢复时间较长,仍然存在风险,尽管用户原有数据没有丢失,但是应用会被中断,用户业务也被迫停止。
对于业务应用繁多,并且系统需要保持7×24小时连续运行的企业来说,显然需要高级别的应用容灾来满足需求。应用容灾是在数据容灾的基础上,再将执行应用处理能力复制一份,也就是说,在备份站点同样构建一套应用系统。应用容灾系统能提供不间断的应用服务,让用户应用的服务请求能够透明地继续运行,而感受不到灾难的发生,保证信息系统提供的服务完整、可靠和安全。一般来说,应用容灾系统需要通过更多软件来实现,它可以使企业的多种应用在灾难发生时进行快速切换,确保业务的连续性。
第3题(论文题):论敏捷方法的应用
敏捷方法是从20世纪90年代开始逐渐引起广泛关注的一些新型软件开发方法,以应对快速变化的需求。虽然它们的具体名称、理念、过程、术语都不尽相同,但相对于“非敏捷”而言,它们更强调开发团队与用户之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队等,也更注重人的作用。
请围绕“论敏捷方法的应用”论题,依次从以下三个方面进行论述。
1. 概要叙述你参与实施的应用敏捷开发的软件项目以及你所担任的主要工作。
2. 简要叙述敏捷方法的基本特点,并列举至少三种常见敏捷方法。
3. 详细论述为什么选择敏捷方法进行项目开发,及如何应用敏捷方法进行开发的。
所属知识点: 论文写作>系统开发方法
参考解析:
一、敏捷方法的特点
敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
近年来,虽然敏捷方法发展得较快,但在实施的过程中,也暴露出来很多问题,一些敏捷方法的基本原则很难实施,主要体现在以下四个方面:
(1)客户参与往往依赖于客户参与的意愿和客户自身的代表性。
(2)团队成员的性格可能不适合激烈的投入,可能无法做到与其他成员之间的良好沟通。
(3)对系统的变更作出优先级排序可能是极端困难的。
(4)维护系统的简洁性往往需要额外的工作,但迫于时间表的压力,可能没有时间执行系统简化过程。
与RUP相比,敏捷方法的周期可能更短。敏捷方法在几周或几个月的时间内完成相对较小的功能,强调的是能尽早将尽量小的可用的功能交付使用,并在整个项目周期中持续改善和增强,并且更加强调团队中的高度协作。相对而言,敏捷方法主要适用于以下场合:
(1)项目团队的人数不能太多,适合于规模较小的项目。
(2)项目经常发生变更。敏捷方法适用于需求萌动并且快速改变的情况,如果系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合。
(3)高风险项目的实施。
(4)从组织结构的角度看,组织结构的文化、人员、沟通性决定了敏捷方法是否适用。与这些相关联的关键成功因素有组织文化必须支持谈判、人员彼此信任、人少但是精干、开发人员所作的决定得到认可、环境设施满足团队成员之间快速沟通的需要。
二、常见的敏捷方法
目前,主要的敏捷方法有极限编程(eXtreme Programming,XP)、自适应软件开发(Adaptive Software Development,ASD)、水晶方法(Crystal)、特性驱动开发(Feature Driven Development,FDD)、动态系统开发方法(Dynamic Systems Development Method,DSDM)测试驱动开发(Test-Driven Development,TDD)、敏捷数据库技术(Agile Database Techniques,AD)和精益软件开发(Lean Software Development)等。虽然这些过程模型在实践上有差异,但都是遵循了敏捷宣言或者是敏捷联盟所定义的基本原则。这些原则包括客户参与、增量式移交、简单性、接受变更、强调开发人员的作用和及时反馈等。
第4题(论文题):论信息系统战略规划
信息系统战略规划(Information System Strategic Planning,ISSP)是从企业战略出发,构建企业基本的信息架构,对企业内、外信息资源进行统一规划、管理与应用,利用信息控制企业行为,辅助企业进行决策,帮助企业实现战略目标。
请围绕“信息系统战略规划”论题,依次从以下三个方面进行论述。
1. 概要叙述你参与信息系统战略规划工作。
2. 列举至少三种信息系统战略规划方法,并指出你采用了哪种规划方法及如何应用的。
3. 总结成功的经验及失败的教训。
所属知识点: 论文写作>系统开发方法
参考解析:
ISSP方法经历了三个主要阶段,各个阶段所使用的方法也不一样。第一个阶段主要以数据处理为核心,围绕职能部门需求的信息系统规划,主要的方法包括企业系统规划法、关键成功因素法和战略集合转化法;第二个阶段主要以企业内部管理信息系统为核心,围绕企业整体需求进行的信息系统规划,主要的方法包括战略数据规划法、信息工程法和战略栅格法;第三个阶段的方法在综合考虑企业内外环境的情况下,以集成为核心,围绕企业战略需求进行的信息系统规划,主要的方法包括价值链分析法和战略一致性模型。
关于信息系统战略规划方法的具体情况,请参看《系统分析师教程》7.4节 信息系统战略规划方法。
第5套
第1题(论文题):论信息系统开发方法及应用
信息系统是一个复杂的人机交互系统,它不仅包含计算机技术、软件技术、通信技术、网络技术以及其他工程技术,它还是一个复杂的管理系统,需要管理理论和方法的支持。因此,与其他工程项目相比,信息系统工程项目的开发和管理显得更加复杂,所面临的风险也更大。如何选择一个合适的开发方法,以保证在多变的市场环境下,在既定的预算和时间要求范围内,开发出让用户满意的信息系统,是信息系统建设时所必须考虑的首要问题。
请以“信息系统开发方法及其应用”为题,分别从以下三个方面进行论述。
1、概要叙述你参与管理和开发的信息系统以及你在其中所担任的主要工作。
2、简要说明目前比较主流的信息系统开发方法的内涵及特点,并结合项目实际情况,阐述所选择的开发方法及其原因。
3、结合你具体参与管理和开发的实际项目,举例说明所选取的信息系统开发方法的具体实施过程,并详细分析实施效果。
所属知识点: 论文写作>系统开发方法
参考解析:
一、论文中要说明所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
二、目前主流的信息系统开发方法包括:结构化方法,面向对象方法、原型化方法和面向服务的方法。
1、结构化方法
结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化方法也称为生命周期法,是一种传统的信息系统开发方法,由结构化分析(Structured Analysis, SA)、结构化设计(Structured Design , SD)和结构化程序设计(Structured Programming, SP)三部分有机组合而成,其精髓是自顶向下、逐步求精和模块化设计。
结构化方法假定待开发的系统是一个结构化的系统,其基本思想是将系统的生命周期划分为系统规划、系统分析、系统设计、系统实施、系统维护等阶段。这种方法遵循系统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基础上进行信息系统的开发工作。结构化方法的开发过程一般是先把系统功能视为一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。
2、面向对象方法
面向对象(Object-Oriented,OO)方法认为,客观世界是由各种“对象”组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,都属于某个对象“类”,是该对象类的一个元素。复杂的对象可由相对简单的各种对象以某种方式而构成,不同对象的组合及相互作用就构成了系统。
OO方法是当前的主流开发方法,拥有很多不同的分支体系,主要包括OMT(Object Model Technology,对象建模技术)方法、Coad/Yourdon方法、OOSE(Object-Oriented Software Engineering,面向对象的软件工程)方法和Booch方法等,而OMT、OOSE和Booch已经统一成为UML(United Model Language,统一建模语言)。
3、原型化方法
结构化方法和面向对象方法有一个共同点,即在系统开发初期必须明确系统的功能要求,确定系统边界。从工程学角度来看,这是十分自然的:解决问题之前必须明确要解决的问题是什么。然而,对于信息系统建设而言,明确问题本身不是一件轻松的事情。
原型化方法也称为快速原型法,或者简称为原型法。它是一种根据用户初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。
4、面向服务方法
OO的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件(Component)的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-Oriented,SO)的开发方法。由此可见,面向对象、基于构件、面向服务是三个递进的抽象层次。
从企业应用的角度来看,企业内部、企业与企业之间各种应用系统的互相通信和互操作性直接影响着企业对信息的掌握程度和处理速度。如何使信息系统快速响应需求与环境变化,提高系统可复用性、信息资源共享和系统之间的互操作性,成为影响企业信息化建设效率的关键问题,而SO的思维方式恰好满足了这种需求。
关于这些方法的更详细说明,请参看《系统分析师教程》第7章。
三、结合项目实际分析效果主要是和项目的背景相结合,说出所采用方法的优势,在表达优势的同时,也可体现出劣势,最好能给出针对劣势的一些解决方案。
第2题(论文题):论SOA在企业集成架构设计中的应用
企业应用集成(Enterprise Application Integration,EAI)是每个企业都必须要面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-Oriented Architecture,SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务功能暴露为服务,实现资源共享和系统之间的互操作性,并支持快速地将新的应用以服务的形式加入到已有的集成环境中,增强企业IT环境的灵活性。
请围绕“SOA在企业集成架构设计中的应用”论题,依次从以下3个方面进行论述。
1、概要叙述你参与管理和实施的企业应用集成项目及你在其中所担任的主要工作。
2、具体论述SOA架构的内容、特点,以及你熟悉的工具和环境对SOA的支持,在应用中重点解决了哪些问题。
3、通过你的切身实践详细论述SOA在企业应用集成中发挥的作用和优势。
所属知识点: 论文写作>应用系统集成
参考解析:
1、简要介绍你参与管理和实施的大中型企业应用集成项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与设计和实施的系统集成项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
2、SOA架构。
1)SOA架构的内容
SOA架构的基本元素是服务,SOA指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约),这些实体详细说明了如何提供和消费服务。
SOA中的服务是自包含、无状态的实体,可以由多个组件组成,通过事先定义的接口响应服务请求,服务本身并不依赖其他函数和过程的状态,而用什么技术来实现服务,也不在其定义中加以限制。SOA本质上是将网络、传输协议和安全细节留给特定的实现来处理。
这些服务是可互相操作的、独立的、模块化的、位置明确的、松耦合的,以及可发现的。
在SOA架构中有3种角色(参与者)分别是服务提供者(Service Provider),服务请求者(Service Consumer)和服务代理者(Service Broker)。服务提供者提供符合契约的服务,并将他们发布到服务代理;服务代理者作为存储库、目录库或票据交换所,产生由服务提供者发布的软件接口;服务请求者(服务使用者,或者终端用户应用程序)发现并调用其他的软件服务来完成业务任务。
阐述SOA的关键技术,应着重说明以下几点。
(1)SOA本身是应该如何将软件组织在一起的抽象概念。
(2)SOA是一种分布式的软件模型。
(3)SOA的主要组件包括服务、动态发现和消息。
(4)SOA模型是通过HTTP传递的SOAP消息中最常见的模型。
(5)XML和Web服务实现。
(6)Web服务建立在开放标准和独立于平台的协议的基础之上。
(7)Web服务通过HTTP使用SOAP(一种基于XML的协议),以便在服务提供者和消费者之间进行通信。
(8)服务通过WSDL(Web Service Definition Language)定义的接口来公开,WSDL的语义用XML定义。
(9)UDDI是一种语言无关的协议,用于和注册中心进行交互及查找服务。
(10)Web服务是实现SOA的具体方式之一。
(l1)安全性、策略管理、可靠消息、传递及会计系统。
(12)分布式事务处理和分布式软件状态管理。
(13)CORBA和IBM的MQ系统通过使用能够处理WSDL的新特征也可以参与到SOA中来。
(14)企业服务总线(Enterprise Service Bus,ESB)使用许多可能的消息传递协议来负责适当的控制流甚至还可能是服务之间所有消息的传输。
(15)面向服务的应用程序设计/开发(Service-Oriented Application Design/Development,SOAD)工具。
2)SOA架构的特点
(1)服务的封装。
(2)服务的重用。
(3)服务的互操作。
(4)服务是自治的功能实体。
(5)服务之间的松耦合。
(6)服务位置透明性。
3)实现SOA所采用的常用标准和规范
(1)XML。
(2)WSDL。
(3)SOAP。
(4)UDDI。
4)采用的工具或技术
(1)Web Service。
(2)J2EE。
(3)WebSphere、WebLogic。
(4).NET。
(5)CORBA。
(6)DCOM。
(7)其他中间件技术。
以J2EE为例子,阐述它对SOA的支持。J2EE平台通过新的JAX-RPC 1.1 API提供了完整的Web服务支持,这种API支持基于Servlet和企业Bean的服务端点。JAX-RPC 1.1基于WSDL和SOAP协议提供了与Web服务的互操作性。
J2EE 1.4平台也支持Web Services for J2EE规范(JSR 921),它定义了Web服务的部署需求并利用了JAX-RPC编程模型。
除了支持几种常见的Web服务API之外,J2EE 1.4平台还支持WS-1 Basic Profile 1.0。 在J2EE 1.4下,Web服务客户可以通过两种方式访问J2EE应用程序。
客户可以访问用JAX-RPC API创建的Web服务。在幕后JAX-RPC使用Servlet来实现Web服务。
Web服务客户也可以通过Bean的服务端点接口访问无状态会话Bean。
Web服务客户不能访问其他类型的企业Beans。
5)在应用中重点解决的问题
(1)服务粒度的控制
SOA系统中服务粒度的控制是一项重要的设计任务。对于暴露在整个系统外部的服务可使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架构的内部。虽然细粒度的接口能够为服务请求者提供更加细化和更多的灵活性,但会使交互模式较难控制,服务的一致性较差。
(2)无状态服务的设计
SOA的服务应该是独立的、自包含的,在实现这些服务的时候不需要前一个请求的状态,也就是说不应该依赖于其他服务的上下文和状态。当某一个服务需要依赖时,可以将其定义为具体的业务流程。
注:论及一项即可,解决的问题是管理或工程实施方面的亦可。
3.结合项目实践经验,阐述SOA在系统集成中发挥的作用和优势所在。
SOA将应用程序的不同功能单元,通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点:一是它的灵活性;二是当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。
SOA系统原型的一个典型例子是通用对象请求代理体系结构(CORBA),它己经出现很长时间了,其定义的概念与SOA相似。
目前,SOA己经有所不同了,因为它依赖于一些更新的进展。这些进展是以可扩展标记语言(XML)为基础的。通过使用基于XML的语言(称为Web服务描述语言(Web Services Definition Language WSDL))来描述接口,服务已经转到更动态且更灵活的接口系统中,比早期CORBA中的接口描述语言(Interface Definition Language,IDL)功能强大得多。
第2题(论文题):论需求分析方法及应用
需求分析是提炼、分析和仔细审查已经获取到的需求的过程。需求分析的目的是确保所有的项目干系人(利益相关者)都理解需求的含义并找出其中的错误、遗漏或其他不足的地方。需求分析的关键在于对问题域的研究与理解。为了便于理解问题域,现代软件工程所推荐的需求分析方法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。常见的需求分析方法包括面向对象的分析方法、面向问题域的分析方法、结构化分析方法等。而无论采用何种方法,需求分析的主要工作内容都基本相同。
请围绕“需求分析方法及应用”论题,依次从以下三个方面进行论述。
1.简要叙述你参与管理和开发的软件系统开发项目以及你在其中所承担的主要工作。
2.概要论述需求分析工作过程所包含的主要工作内容。
3.结合你具体参与管理和开发的实际项目,说明采用了何种需求分析方法,并举例详细描述具体的需求分析过程。
所属知识点: 论文写作>需求工程
参考解析:
本文的内容组织过程中需要注意的,主要是需求分析涉及到的工作内容。需求分析的工作通常包括以下七个方面:
(1)绘制系统上下文范围关系图:这种关系图是用于定义系统与系统外部实体间的界限和接口的简单模型,它可以为需求确定一个范围。
(2)创建用户界面原型:用户界面对于一个系统来说是十分重要的,因此在需求分析阶段通过快速开发工具开发一个抛弃式原型,或者通过PowerPoint、Flash等演示工具制作一个演示原型,甚至是用纸和笔画出一些关键的界面接口示意图,将帮助用户更好地理解所要解决的问题,更好地理解系统。
(3)分析需求的可行性:对所有获得的需求进行成本、性能和技术实现方面的可行性研究,以及这些需求项是否与其他的需求项有冲突,是否有对外的依赖关系等。
(4)确定需求的优先级:这是一项很重要的工作,迭代开发已经成为了现代软件工程方法的一个基础,而需求的优先级是制订迭代计划的一个最重要的依据。对于需求优先级的描述,可以采用满意度和不满意度指标进行说明。其中满意度表示当需求被实现时用户的满意程度,不满意度表示当需求未被实现时用户的不满意程度。
(5)为需求建立模型:也就是建立分析模型,这些模型的表现形式主要是图表加上少量的文字描述,所谓“一图抵千字”,图形化地描述需求将使得其更加清晰、易懂。根据采用的分析方法不同,采用的图也将不同。例如,OOA中的用例模型和领域模型,SA中的DFD和E-R图等。需求分析模型主要描述系统的数据、功能、用户界面和运行的外部行为,它是系统的一种逻辑表示技术,并不涉及软件的具体实现细节。需求分析模型可以帮助系统分析师理解系统,使需求分析任务更加容易实现。同时,它也是以后进行软件设计的基础,为软件设计提供了系统的表示视图。
(6)创建数据字典:数据字典是对系统用到的所有数据项和结构进行定义,以确保开发人员使用了统一的数据定义。
(7)使用QFD:这是在需求优先级基础上的一个升华,其原理与满意度和不满意度指标十分接近,通过将产品特性、属性与对用户的重要性联系起来。
第3题(论文题):论系统自动化测试及其应用
软件系统测试是在将软件交付给客户之前所必须完成的重要步骤之一,目前,软件测试仍是发现软件缺陷的主要手段。软件系统测试的对象是完整的、集成的计算机系统,系统测试的目的是验证完整的软件配置项能否和系统正确连接,并满足系统设计文档和软件开发合同规定的要求。系统测试工作任务难度高,工作量大,存在大量的重复性工作,因此自动化测试日益成为当前软件系统测试的主要手段。
问题内容:
请围绕“系统自动化测试及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述系统自动化测试的主要工作内容及优缺点。
3.结合你具体参与管理和开发的实际项目,说明是如何进行系统自动化测试的,说明具体实施过程以及应用效果。
所属知识点: 论文写作>系统维护和系统测试
参考解析:
论系统自动化测试及其应用,本题要求论述系统自动化测试及其应用。
题目具体要求为:详细论述系统自动化测试的主要工作内容及优缺点。所以本文知识性内容是比较重要的。文章涉及到的知识内容应包括以下几个方面,但内容需要结合项目情况进行阐述。
自动化测试通常需要构建存放程序软件包和测试软件包的文件服务器、存储测试用例和测试结果的数据库服务器、执行测试的运行环境、控制服务器、Web服务器和客户端程序。自动化测试的主要实现方法包括代码的静态与动态分析、测试过程的捕获与回放、测试脚本技术、虚拟用户技术和测试管理技术等。
自动化测试具有如下优点:
(1)提高测试执行的速度。以测试人员执行一个测试用例为例,阅读测试步骤需要20秒,理解测试目的需要5秒,准备测试数据需要10秒,执行测试需要5秒,填写测试结果需要10秒。也就是说,不包括系统等待时间,以及可能有错误需要报告错误的时间,测试人员执行一个测试用例平均需要大约50秒的时间。如果一次性准备好以上所需的脚本和测试数据,然后用测试工具来完成同样的工作,5秒钟即可达到同样效果。
(2)提高工作效率。由于自动化测试工具的运行,节省出的时间可以让测试人员重新计划和安排测试工作,设计新的测试用例,开发新的测试工具。
(3)保证测试结果的准确性。测试过程是枯燥而繁琐的,任何一点疏忽都可能导致测试结果不准确而需要返工。而测试工具不同,完成的脚本会准确地记录测试过程中发生的一切。
(4)连续运行测试脚本。测试工具可以24小时运行测试脚本,不间断的进行测试,这是测试人员所不能比拟的。而测试人员要做的就是第二天早上收集测试数据,看看系统有哪些问题。
(5)模拟现实环境下受约束的情况。测试过程基本上是模拟真实环境执行相关操作,然而有些情况是很难完全模拟的,例如,某证券行情软件需要支持6000个以上的客户端同时登录,测试人员不可能同时找到如此之多的终端并要求他们同时执行操作,但可以使用测试工具来模拟这种并发情况,最大限度地真实再现这一过程。
自动化测试虽然具有以上诸多优点,但它不是万能的。测试人员在决定进行自动化测试时,必须考虑到其受约束的地方,例如,自动化测试不能取代手工测试,能够发现的缺陷不如手工测试;自动化测试对所测产品质量的依赖性大,不能提高有效性,可能会制约软件开发,以及测试工具本身不具备想象力等。
第6套
第1题(论文题):论敏捷开发在企业软件开发中的应用
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。尽管目前敏捷开发的具体名称、理念、过程、术语尚不尽相同,但业界普遍认为:相对于“非敏捷”,敏捷开发更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。
请围绕“敏捷开发在企业软件开发中的应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与实施的应用敏捷开发的软件项目以及你所担任的主要工作。
2.叙述你在软件项目实践过程中采用了怎样的敏捷开发基本原则并说明理由。
3.具体阐述该项目采用的敏捷开发方法,以及实施过程中存在问题和解决方法。
所属知识点: 论文写作>系统开发方法
参考解析:
一、概要叙述你参与实施的应用敏捷开发的企业项目以及你所担任的主要工作。
二、叙述你在该企业项目实践过程中采用的敏捷开发基本原则并说明理由
2001年2月的“敏捷宣言”(Agile Manifesto)是由多位当时称之为“轻量级方法学家”所编写签署的,他们的价值观是:个人与交互重于开发过程与工具;可用的软件重于复杂的文档;寻求客户的合作重于对合同的谈判;对变化的响应重于始终遵循固定的计划。
1)个人与交互重于开发过程与工具:一个由优秀的人员组成但使用普通的工具,要比使用优秀的工具但由普通人组成、紊乱的小组做得更好。多年来人们花了很多时间试图建立一种过程,以便把人当作机器上的一个可以替代的齿轮,但结果却并不成功。敏捷过程是承认每个人都有特定的能力(以及缺点)对之加以利用,而不是把所有的人当成一样来看待。更重要的是,在这样的理念下,几个项目做下来,每个人的能力都从中得以提高。这种人的能力的提高,对公司是无价之宝。而不至于把人当成齿轮,随着时间的推移,人的能力慢慢被消耗掉,最后变成留之无用、弃之可惜的尴尬人物。
2)可用的软件重于复杂的文档:可用的软件可以帮助开发人员在每次迭代结束的时候,获得一个稳定的、逐渐增强的版本。从而允许项目尽早开始,并且更为频繁的收集对产品和开发过程的反馈。随着每次迭代完成软件的增长,以保证开发小组始终是处理最有价值的功能,而且这些功能可以满足用户的期待。
3)寻求客户的合作重于对合同的谈判的原因:敏捷开发小组希望与项目有关的所有团体都在朝共同方向努力,合同谈判有时会在一开始就使小组和客户处于争执中。敏捷开发追求的是要么大家一起赢,要么大家一起输。换句话说,就是希望开发小组和客户在面对项目的时候,以一种合作的态度共同向目标前进。当然,合同是必需的,但是如何起草条款,往往影响到不同的团体是进行合作式的还是对抗式的努力。
4)对变化的响应重于始终遵循固定的计划:敏捷开发认为对变化进行响应的价值重于始终遵循固定的计划。他们最终的焦点是向用户交付尽可能多的价值。除了最简单的项目以外,用户不可能知道他们所需要的所有功能的每个细节。不可避免地在过程中会产生新的想法,也许今天看起来是必需的功能,明天就会觉得不那么重要了。随着小组获得更多的知识和经验,他们的进展速度会比开始的时候期望值慢或者快。对敏捷开发来说,一个计划是从某个角度对未来的看法,而具有多个不同的角度看问题是有可能的。
(针对所承担项目的具体问题和特点,围绕敏捷开发基本原则的1项或多项进行论述均可)
三、具体阐述该企业采用的具体敏捷开发方法,以及实施的效果。
常见的敏捷开发方法有极限编程,Scrum,水晶方法等。
极限编程是敏捷软件开发中最富有成效的几种方法学之一,是敏捷过程的一种具体形式,提供敏捷方法最一般原则的指导方针,包括5项价值标准和12个实践操作。极限编程的主要目标在于降低因需求变更而带来的成本,极限编程透过引入基本价值、原则、方法等概念来达到降低变更成本的目的。
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括Scrum主管,产品负责人和开发团队。它使用迭代的方法,把每个30天一次的迭代称为一个“冲刺(sprint)”,按照需求优先级别来实现产品。多个自组织和自治小组并行递增地实现产品。通过简短的日常情况会议(称为“Scrum”)进行。
水晶敏捷方法发展和提倡了一种机动性的软件开发方法,定义了一系列方法,包含核心元素,角色、过程模式、工作产品和实践。水晶敏捷方法实际是一组经过证明对不同类型项目都非常有效的敏捷过程,其目的是使得敏捷团队可以根据其项目和环境选择最合适的水晶系列成员。
第2题(论文题):论需求获取技术
需求分析阶段的首要工作是确定用户需求,以用户为核心是本阶段应遵循的至关重要的原则,它决定着项目的有效实施。正确地定义用户需求是需求分析阶段的基础。需求获取技术有助于系统分析员准确、快捷地获取和提炼用户需求信息。
请围绕“需求获取技术”论题,依次对以下三个方面进行论述。
1.概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。
2.详细说明目前有哪些比较常用的需求获取技术?说明每种需求获取技术的基本方法。
3.详细论述在你参与分析和开发的应用项目中所采取的需求获取技术以及对该技术的具体实施运用,说明选取该技术的原因,并分析应用该技术所获取的需求是否达到预期目标。
所属知识点: 论文写作>需求工程
参考解析:
编辑
第3题(论文题):论软件的系统测试及其应用
软件测试是软件交付客户前必须要完成的重要步骤之一,目前仍是发现软件错误(缺陷)的主要手段。系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,针对整个系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试的主要内容包括功能性测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等。
请围绕“软件的系统测试及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述软件的系统测试的主要活动及其所包含的主要内容,并说明功能性测试和性能测试的主要的目的。
3.结合你具体参与管理和开发的实际项目,概要叙述如何采用软件的系统测试方法进行系统测试,说明具体实施过程以及应用效果。
所属知识点: 论文写作>系统维护和系统测试
参考解析:
写作要点:
1、用400-600字叙述作者参与开发与管理的软件项目,包括但不仅限于,项目时间,规模,周期,背景,系统的主要功能,所采用的相关技术等。
2、系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同,除应满足一般测试的准入条件外,在进行系统测试前,还应确认被测系统的所有配置项已通过测试,对需要固化运行的软件还应提供固件。
一般来说,系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等,其中,最重要的工作是进行功能测试与性能测试。功能测试主要采用黑盒测试方法;性能测试主要验证软件系统在承担一定负载的情况下所表现出来的特性是否符合客户的需要,主要指标有响应时间、吞吐量、并发用户数和资源利用率等。
功能测试的目的很简单,测试系统是否达到了用户明确提出的需求及隐含需求。
性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,并优化软件,最后起到优化系统的目的。具体来说,包括以下四个方面:
(1)发现缺陷。软件的某些缺陷与软件性能密切相关,针对这些缺陷的测试一般需要伴随着性能测试进行。
(2)性能调优。与调试不同,性能调优并不一定针对发现的性能缺陷,也可能是为了更好地发挥系统的潜能。
(3)评估系统的能力。软件性能测试不仅需要测试软件在规定条件下是否满足性能需求,往往还需要测试能够满足性能需求的条件极限。
(4)验证稳定性和可靠性:在一定负载下测试一定的时间,是评估系统稳定性和可靠性是否满足要求的唯一方法。
3、结合项目实践说明作者如何进行系统测试的,并论述效果。在论述效果时,注意不要只报喜不报忧,指出做得不足的地方,并给出以后的改进方案,往往能让文章更具真实感。
第4题(论文题):论企业应用集成
企业应用集成(Enterprise Application Integration, EAI) 是完成在组织内、外的各种异构系统,应用和数据源之间共享和交换信息和协作的途径,方法学,标准和技术。企业应用集成所连接的应用包括各种电子商务系统,企业资源规划系统,客户关系管理系统,供应链管理系统,办公自动化系统,数据库系统,数据仓库等。
请围绕 “企业应用集成”论题,分别从以下几个方面进行论述:
1、简要叙述你参与的企业应用集成项目(项目的背景、发起单位、目的、项目特点等)。
2、简要叙述企业应用集成的四个层次(方法)?
3、详细论述你参与的项目是采用了哪个层次的集成,如何实施的,效果如何?
所属知识点: 论文写作>应用系统集成
参考解析:
对于要实施EAI的企业而言,EAI是分层次的,但对于如何划分和规范EAI层次的定义,业界并没有一个统一的标准。针对不同的企业,EAI的内容和层次可能就会存在一定的差异;对于各EAI厂商,基于EAI理解的侧重点不同,也可以说出不同的答案。当前,从最普遍的意义上来说,EAI可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。
1. 表示集成
表示集成也称为界面集成,这是比较原始和最浅层次的集成,但又是常用的集成。这种方法把用户界面作为公共的集成点,把原有零散的系统界面集中在一个新的界面中。其模型如图1所示。
编辑
图1 表示集成示意图
表示集成是黑盒集成,无需了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。表示集成通常应用于以下几种情况:
(1)在现有的基于终端的应用系统上配置基于PC的用户界面。
(2)为用户提供一个看上去统一,但是由多个系统组成的应用系统。
(3)当只有可能在显示界面上实现集成时。
从图1中可以看出,表示集成的实现是很简单的,也是很不彻底的,只是做了一层“外装修”,而额外多出来的集成界面也将可能成为系统的性能瓶颈。
2. 数据集成
为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成,其模型如图2所示。
编辑
图2 数据集成示意图
有很多不同的中间件工具可以用于数据集成。例如,批量文件传输,即以特定的或是预定的方式在原有系统和新开发的应用系统之间进行文件传输;用于访问不同类型数据库系统的ODBC标准接口;向分布式数据库提供连接的数据库访问中间件技术等。有关中间件技术的详细知识,将在16.1节中介绍。
通常在以下情况下,将会使用数据集成:
(1)需要对多种信息源产生的数据进行综合分析和决策。
(2)要处理一些多个应用程序需要访问的公用信息库。
(3)当需要从某数据源获得数据来更新另一个数据源时,特别是它们之间的数据格式不相同时。
相对而言,数据集成比表示集成要更加灵活。但是,当业务逻辑经常发生变化时,数据集成就会面临困难。
3. 控制集成
控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。控制集成的集成点存于程序代码中,集成处可能只需简单使用公开的API就可以访问,当然也可能需要添加附加的代码来实现。控制集成是黑盒集成,其模型如图3所示。
编辑
图3 控制集成示意图
实现控制集成时,可以借助于远程过程调用或远程方法调用、面向消息的中间件、分布式对象技术和事务处理监控器来实现。有关这些技术的详细知识,将在16.1.2节中介绍。控制集成与表示集成、数据集成相比,灵活性更高。表示集成和数据集成适用的环境下,都适用于控制集成。但是,由于控制集成是在业务逻辑层进行的,其复杂度更高一些。而且,很多系统的业务逻辑部分并没有提供API,这样,集成难度就会更大。
4. 业务流程集成
业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度。
业务流程集成不仅要提供底层应用支撑系统之间的互连,同时要实现存在于企业内部的应用之间,本企业和其他合作伙伴之间的端到端的业务流程的管理,它包括应用集成、B2B集成、自动化业务流程管理、人工流程管理、企业门户,以及对所有应用系统和流程的管理和监控等。