《2012上半年系统分析师考试真题及答案-下午卷.doc》由会员分享,可在线阅读,更多相关《2012上半年系统分析师考试真题及答案-下午卷.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2012上半年系统分析师考试真题及答案-下午卷试题一是必答题试题一(共25分)【说明】某软件企业为电信公司开发一套网上营业厅系统,以提升服务的质量和效率。项目组经过分析,列出了项目开发过程中的主要任务、持续时间和所依赖的前置任务,如表1-1所示。在此基础上,可分别绘制出管理该系统开发过程的PERT图和Gantt图。 【问题1】 请用300字以内的文字分别解释说明PERT图和Gantt图的具体含义,并说明两种方法所描述开发过程的差异。PERT (项目评估与评审技术)图是一种图形化的网络模型,描述一个项目中任务和任务之间的关系,每个节点表示一个任务,通常包括任务编号、名称、开始和结束时间、持续时间
2、和松弛时间。Gantt图是一种简单的水平条形图,它以一个日历为基准描述项目任务,横坐标表示时间,纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。PERT图主要描述不同任务之间的依赖关系;Gantt图主要描述不同任务之间的重叠关系。【解析】PERT (项目评估与评审技术)发展于20世纪50年代后期,用于为美国海军计划和控制大型的武器开发项目。PERT图是一种图形化的网络模型,描述一个项目中任务和任 务之间的关系,每个节点表示一个任务,通常包括任务编号、名称、开始和结束时间、持续时间
3、和松弛时间。PERT图用于在任务被调度之前弄清楚任务之间的依赖关系。Gantt图最早由Henry L.Gantt在1917年提出,是最常用的项目调度和进展评估工具。Gantt图是一种简单的水平条形图,它以一个日历为基准描述项目任务,横坐标表示时间,纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。Gantt图的优点是可以清楚地显示出重叠任务,也就是说可以同时执行的任务。PERT图和Gantt图并不是互斥的,在交流项目进度时Gantt图更有效,需要研究任务之间的关系时PERT图更有效
4、。【问题2】 根据上表所示活动及其各项活动之间的依赖关系,分别计算对应PERT图中活动CH的松她时间(SlackTime)填入(a)(f)中。(a)0 (b) 1 (c) 0 (d) 6 (e) 0 (f) 2【解析】在制定项目进度表时,需要为任务分配资源,所分配资源如果超过了可以提供的资源,就需要进行资源调配。松弛时间(Slack Time)是指任务在项目实际进展中可以延 迟的时间,这个延迟量不会引起整个项目完成时间上的延迟。松弛时间可以提供延迟任务开始时间的机会,可以调配资源而不影响项目的完成时间。下图给出了表1-1中任务之间的关系,关键路径上任务的松弛时间为0,非关键路径上的任务E、F、
5、H所对应的松弛时间分别为1、6、2。【问题3】 根据上表所示活动及其各项活动之间的依赖关系,计算对应PERT图中的关键路径及所需工期。关键路径:ABCEGIJ所需工期:26周【解析】关键路径是一个相关任务序列,该序列上任务工期之和最大。图1-1所示PERT图中包括了6条路径:(1)路径序列:ABCEGHJ 工期之和:24周(2)路径序列:ABCEGU 工期之和:26周(3)路径序列:ABCFHJ 工期之和:16周(4)路径序列:ABDFHJ 工期之和:20周(5)路径序列:ABDGHJ 工期之和:23周(6)路径序列:ABDGIJ 工期之和:25周经过比较分析,任务工期之和最大值为26周,对应
6、关键路径序列为ABCEGIJ。【问题4】 如果将关键路径对应的工期作为期望工期;通过资源调配和任务调度,可以使得最优工期比期望工期少2周时间;根据项目组开发经验,解决项目开发过程中所有可能会遇到的问题最多需要8周时间,即最差工期比期望工期多8周时间。请计算项目最可能的开发工期。最可能的开发工期=(最优工期+期望工期x4+最差工期)/6=(24+26x4+34)/6=27周 【解析】最优工期(OD)是估计完成任务所需的最小时间量;最差工期(PD)是估计完成任务所需的最大时间量;期望工期CED)是估计完成任务所需的时间量。最可能工期(D)的计算公式为:其中,1、4和1是用来计算三个估计值的加权平均
7、值的默认权值。问题中最优工期OD为24,最差工期PD为34,期望工期ED为26,计算后得到最可能工期 D 为(1x24+4x26+1 x34)/6=27周。 从下列的 4 道试题(试题二至试题五)中任选 2 道解答。如果解答的试题数超过 2 道,则题号小的 2 道解答有效。试题二某大型咨询服务公司欲对现有的核心咨询业务系统进行升级改造,以适应大量用户的个性化咨询服务要求,提高系统的灵活性。公司主管将核心业务系统的升级改造工作交给了公司的系统分析师王工和李工。一个月后,王工和李工分别向公司提交了自己的方案。王工主张以公司现有的、采用面向对象技术和Java语言实现的业务系统为基础,针对新的业务需求
8、对系统进行重构、改造与升级。李工则认为现有系统的业务逻辑过于复杂,对系统进行重构的成本太高,可以采用面向服务的思想,提炼可复用的业务功能形成服务,实现系统的灵活性。经过公司相关人员共同开会讨论,最终采用了李工的改造方案。 【问题1】 请用500字以内的文字,从系统业务功能实现和功能集成两个方面对王工和李工的方案进行分析和对比,并结合项目需求说明公司为何会选择李工的方案。从系统业务功能实现来看,采用面向对象技术开发的系统以对象为核心概念,通过对象之间的消息交互完成业务功能;采用面向服务技术开发的系统以服务为核心概念,业务功能需要封装为服务。从系统功能集成方式来看,采用面向对象技术开发的系统以对象
9、为单元进行功能集成,通常采用工作流技术定制业务流程;采用面向服务技术开发的系统以服务为单元进行功能集成,采用服务组合技术实现灵活的业务集成与重组。根据项目需求,需要对现有业务系统进行升级改造,因此保证升级改造的低成本是一个重要的因素,王工的方案需要现有系统进行功能梳理与重新开发,升级改造成本较高;李工的方案则侧重将现有功熊包装为服务,升级改造成本较低。项目还要求提高系统的灵活性,王工的方案以对象技术为基础,当业务发生变化时,需要在代码层次上进行修改并重新部署,因此系统的灵活性相对较差;李工的方案以大粒度的业务服务复用为基础,当业务发生变化时,可以采用服务组合技术实现系统的运行时功能组合,因此灵
10、活性相对较好。【解析】本题从系统业务功能实现和功能集成两个方面对王工和李工的方案进行分析和对比。回答本题时必须紧扣业务功能实现和功能集成这两个方面。从系统业务功能实现来看,采用面向对象技术开发的系统以对象为核心概念,通过对象之间的消息交互完成业务功能;釆用面向服务技术开发的系统以服务为核心概念,业务功能需要封装为服务。从系统功能集成方式来看,采用面向对象技术开发的系统以对象为单元进行功能集成,通常采用工作流技术定制业务流程;采用面向服务技术开发的系统以服务为单元进行功能集成,采用服务组合技术实现灵活的业务集成与重组。【问题2】 采用服务思想设计系统时,需要考虑服务的耦合性。服务的耦合性可以分为
11、两类,分别是服务契约耦合(Service Contract Coupling)和服务消费者耦合(Service Consumer Coupling).请对各种耦合关系进行分析,填写(a)(g),完成表2-1。(a)服务契约耦合(b)服务契约耦合(c)服务消费者耦合(d)否(e)是(e)按照SOA的思想,业务逻辑应当与契约耦合,而不应与实现或技术耦合(g)服务契约不应该与具体厂商的实现技术相关,而应该基于标准的XML技术与Web服务标准【解析】本题主要考查考生对服务耦合关系的理解,考生需要理解在服务设计时需要注意的一些问题。例如业务逻辑-契约耦合、契约-技术耦合、消费者-实现耦合以及消费者-契约
12、耦合等服务。考生需要对这几种服务耦合进行分析,并结合题目要求描述各种耦合关系的优点或缺点。【问题3】 在对系统的业务服务进行初步分析后,李工首先提取了客户注册、业务受理和发票开具三个典型的业务服务。但进一步分析后,李工发现这三个服务需要使用数据库中的客户实体、业务实体和发票实体,而发票实体包含客户实体和业务实体的信息,这样会导致发票开具服务内部包含并重复实现客户注册和业务受理的处理过程,降低服务的复用性。请说明这种情况产生的主要原因,并针对这种情况,说明该如何对这三个服务进行重构,使它们具有更好的重用性。题干中描述的问题产生的原因是在进行服务设计时,将业务逻辑可见的处理过程和不可见的处理过程封
13、装在一起,这样会导致冗余的不可见处理过程在多个服务中存在,降低服务的潜在复用性。针对该问题,应该增加客户实体服务、业务实体服务和发票实体服务,形成实体服务中间层。在这种情况下,客户实体服务和业务实体服务不仅能够为客户注册和业务受理服务提供支持,还可以为发票开具服务提供支持,这样就避免了不可见处理过程在多个服务中存在。【解析】本题主要考查考生对系统需求分析的理解以及对服务设计知识的掌握。题干中描述的问题产生的原因是在进行服务设计时,将业务逻辑可见的处理过程和不可见的处理过程封装在一起,这样会导致冗余的不可见处理过程在多个服务中存在,降低服务的潜在复用性。针对该问题,应该增加客户实体服务、业务实体
14、服务和发票实体服务,形成实体服务中间层。在这种情况下,客户实体服务和业务实体服务不仅能够为客户注册和业务受理服务提供支持,还可以为发票开具服务提供支持,这样就避免了不可见处理过程在多个服务中存在。试题三计算机虚拟化是一种新型的计算模式,能够动态组织多种计算资源,隔离硬件体系结构和软件系统之间的依赖关系,实现透明化、可伸缩的计算系统构架,提高计算资源的使用效率和遗产软件的重用。某公司是一家长期从事嵌入式软件研制的单位。随着虚拟化技术发展,公司决策层决定在公司原有嵌入式实时操作系统基础上,研制具备虚拟化能力的新一代嵌入式操作系统产品。公司将该项目的总体设计任务交给了王工,要求他充分调研用户需求,尽
15、快拿出项目的计划书,并给出项目的技术实施途径。一个月后,王工向公司决策层提交了项目计划书和技术实施途径报告,在公司讨论会上引起技术争议,其焦点主要集中在两个方面:虚拟化体系架构问题和虚拟化中的安全因素问题。 【问题1】 当前虚拟化的实现技术主要有全虚拟化和半虚拟化两种,请用200字以内的文字说明两种虚拟化技术的主要差别,并用箭线指出图3-1所示的虚拟化特性分属哪种虚拟化技术。全虚拟化技术能够在硬件辅助虚拟化的支持下,运行任何不需要修改的客户操作系统;半虚拟化技术不需要硬件辅助虚拟化的支持,通过精心修改客户操作系统内核,在只把有限量内核代码替换为相应Hypercall的基础上实现虚拟化的,如图3
16、-2所示。 【问题2】 具有虚拟化能力的嵌入式实时操作系统目前仅支持单核处理器,而不支持多核,请用100字以内的文字说明其主要原因。表3-1给出如果采用虚拟化技术支持多核时存在的四种共享资源和四种潜在安全隐患,请用箭线指出这些潜在安全隐患分别会发生在哪种共享资源的环境下。虚拟化操作系统目前仅仅支持单核处理器,不支持多核的主要原因是由于多核存在共享资源访问,虚拟化后会影响分区化的安全性,如表3-2所示。【解析】本题第一问主要考查嵌入式实时操作系统不支持多核处理器的原因,其主要原因是由于多核存在共享资源访问,虚拟化后会影响分区化的安全性。本题第二问主要考查采用虚拟化技术支持多核时,在共享引导逻辑、
17、共享CACHE、共享I/O逻辑、结构的复杂性4个方面可能出现的问题。其中共享引导逻辑的情况下,执行影像的安全性受到潜在威胁;共享CACHE的情况下,潜在的旁路通道遭数据泄漏攻击;共享I/O逻辑的情况下,潜在的隐蔽通道攻击和服务拒绝攻击;结构的复杂性情况下,会存在潜在的故障注入攻击。 试题四某企业欲研制某宇航控制系统。该系统对软件的可靠性要求很高,分配给软件的可靠性指标为R0.99 。根据软件结构设计方案,该软件由7个模块XI,X2, X7组成,分别完成不同的控制功能。为了保证该控制系统能够满足环境可靠性指标,李工认为应该首先采用故障树方法分析,预测出可靠性指标。该企业主管采用了李工的建议,建立
18、了该软件的故障树模型 (如图4-1所示),评估出了每个模块的可靠性指标,同时在每个模块的设计与实现过程中,采用了流程优化、结构优化、降低设计复杂度等方法来提高模块的可靠性指标。软件开发完成后,项目组对该软件进行了相应的可靠性测试,得到了各模块的失效概率为:FX1=FX2=0.05, FX3=0.008, FX4=0.07, FX5=FX6=0.05, FX7=0.08,通过计算割集的失效概率来近似计算整个软件的可靠性指标,计算结果表明该软件的可靠性未达到分配的指标要求。 【问题1】 请给出该故障树的所有最小割集。通过对故障树进行分析,可以得出其所有的最小割集为:K1=X3,K2=X1, X2,
19、 K3=X4, X5, X6, K4=X5, X6, X7。【解析】本题考查应用故障树分析方法来设计和评估软件可靠性。故障树分析方法简称为TA方法(Fault Tree Analysis),是1961年由贝尔电话实验室的H.A. Watson提出的。该方式是一种系统化、形式化的分析方法,可用于系统可靠性分析和安全性分析。其目的是采用演绎方法找出导致系统故障的各种可能的基本原因,从而找到系统的薄弱环节来改进系统的设计。本题考查的是通过故障树分析方法对软件系统的可靠性进行定性和定量分析。定性分析的主要目的是找出所有可能的系统故障模式,即求取最小割集,并按照模块的重要性和最小割集的阶数来排列轻重次序
20、。故障树分析方法的定性分析的核心目标是最小割集,可以通过最小割集找出系统的关键功能模块,从而找出导致关键功能模块失效的原因。定量分析是在求出最小割集的基础上,通过其他方法获取每一个基本事件的发生概率,从而计算最小割集和顶事件的发生概率,从而可以对系统可靠性和安全性进行进一步分析。割集定义:如果C是一个基本事件的集合,C中每个基本事件的发生将引起顶事件的发生,则C称为该故障树的割集。最小割集定义:如果C是故障树的一个割集,去掉C的任何一个基本事件,使得C不成为割集,则C为该故障树的最小割集。根据题中的故障树和最小割集的定义,即可求出该故障树的最小割集为:K1=X3, K2=X1, X2,K3=X
21、4, X5, X6, K4=X5, X6, X7。【问题2】 根据题中给出的、经过可靠性测试后得到的每个模块的失效概率,计算每个割集失效概率,并近似计算出整个软件的失效概率,说明该软件的可靠性测试指标确未达要求。通过对故障树进行分析,可以得出其所有的最小割集为:K1=X3,K2=X1, X2, K3=X4, X5, X6, K4=X5, X6, X7丨。则对应割集的失效概率分别为:F(K1)=0.008 F(K2)=0.05x0.05=0.0025 F(K3)=0.07x0.05x0.05=0.000 175 F(K4)=0.05x0.05x0.08=0.0002 则整个软件的失效概率近似为:
22、P(T)=0.008+0.0025+0.000 175+0.0002=0.010 875R=1-0.010 875=0.989 1250.99因此,软件的可靠性没有达到分配的指标要求。【解析】第二问是对该故障树的定量分析,在最小割集的基础上,已知每个基本事件的失效概率,即可计算出每个割集的失效概率,从而计算出整个软件系统的失效概率。即:F(K1)=0.008F(K2)=0.05*0.05=0.0025F(K3)=0.07*0.05*0.05=0.000175F(K4)=0.05 *0.05 *0.08=0.0002则整个软件的失效概率近似为:P(T)=0.008+0.0025+0.000 17
23、5+0.0002=0.010 875根据题干中要求可以看出,此设计方案未能满足要求。【问题3】 请进一步分析导致该软件可靠性测试未能满足分配指标要求的原因,并给出后续的改进策略。根据最小割集的定义,最小割集中所含模块数越少,此最小割集中模块的可靠性要求就越高。所以X3模块的可靠性要求最高,为关键功能模块。由于X3模块对应的割集失效概率过高,导致了软件未能达到分配的指标要求。改进方法(答出一种即可):(1)采用多轮重复测试的方法,使得模块X3的失效概率收敛,满足可靠性指标要求。(2)重新设计模块X3,提高其可靠性,降低其失效概率。(3)割集K1为一阶割集,容易出现单点故障。可以在X3模块所在层次
24、或其上级增加“与门”,降低K1割集的失效概率。【解析】最小割集所包含基本事件的数目称为最小割集的阶数。阶数越低的最小割集重要性越大,显然,阶数为1的最小割集最重要,其可靠性要求就越高。所以X3模块的可靠性要求最高,为关键功能模块。由于X3模块对应的割集失效概率过高,导致了软件未能达到分配的指标要求。工程中实际的改进方法一般包括:(1)采用多轮重复测试的方法,使得模块X3的失效概率收敛,满足可靠性指标要求。(2)重新设计模块X3,提高其可靠性,降低其失效概率。(3)割集K1为一阶割集,容易出现单点放障。可以在X3模块所在层次或其上级增加“与门”,降低K1割集的失效概率。试题五A公司承担了某企业应
25、用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组 最终决定采用Java企业版平台作为系统开发运行的基础平台。【问题1】 请在以下平台特点(1)(9)中,选择出.NET平台与Java企业版平台各自具备 的优势填入表5-1的(a)(f)项中,选择出两个平台共有的特点填入表5-1的(g)(i)项中。(1)良好跨平台可移植性支持(2)易于部署与配置(3)多程序
26、设计语言支持(4)良好的Web多层应用开发支持(5)丰富的多厂商外部支持(6)良好的0/R (对象/关系)映射支持(7)针对特定平台的优化支持(8)良好的源代码以外的可定制性支持(9)良好的Web服务支持(a)(c): (2)、(3)、(7),以上三个答案顺序可调换。(d)(f): (1)、(5)、(8),以上三个答案顺序可调换。(g)(i): (4)、(6)、(9),以上三个答案顺序可调换。【解析】本题主要考查.NET和J2EE平台的区别,考生需要从跨平台可移植性、部署与配置、多程序设计语言支持、Web多层应用开发支持、多厂商外部支持、O/R (对象/关系)映射支持、针对特定平台的优化支持、
27、源代码以外的可定制性支持以及Web服务支持等方面作答。【问题2】 MVC (Model View Controller)模式是Web应用系统开发中常用的一种软件架构模式。请分别针对基于EJB的重量级框架和基于Struts等的轻量级框架,说明MVC模式中的各组件应采用何种构件实现。项目组在进行需求调研时,发现用户界面部分的变动可能会比较频繁,因此需要降低系统界面与业务逻辑之间的稱合度。MVP (Model View Presenter)模式是由MVC模式派生出的一种设计模式,其主要目的是降低MVC模式中模型(Model)与视图(View) 的耦合度,请用300字以内文字,从组件耦合度、组件分工及
28、对开发工程化支持等三方面说明MVP模式与MVC模式的主要区别。在基于EJB的重量级框架中,实现的构件分别为:模型(Model):由EJB构件实现。视图(View):由JSP构件实现。控制器(Controller):由Servlet构件实现。在基于Struts等的轻量级框架中,实现的构件分别为:模型(Model):由Java Bean构件实现。视图(View):由JSP构件实现。控制器(Controller):由Servlet构件实现。MVP模式与MVC模式的主要区别为:(1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的
29、分离;而在MVC模式中,视图直接与模型交互。(2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件;而在MVC模式中,这通常是由控制器完成的工作。在MVP模式中,系统核心业务逻辑组织集中在Presenter中;而在MVC模式中,相应的控制器通常只完成事件的分发。(3)在开发工程化支持方面:MVP模式可更好地支持单元测试;而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试。在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。【解析】本题主要考查MVC和MVP模式的区别。MVC模式是Web应用系统开发中常用的一种软件架构模式,
30、包括基于EJB的重量级框架和基于Struts等的轻量级框架等。MVP模式与MVC模式的主要区别为:在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离;而在MVC模式中,视图直接与模型交互。在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件;而在MVC模式中这通常是由控制器完成的工作。在MVP模式中,系统核心业务逻辑组织集中在Presenter中;而在MVC模式中,.相应的控制器通常只完成事件的分发。在开发工程化支持方面:MVP模式可更好地支持单元测试;而在MVC模式中,由于模型与视图绑定,因此难以实施
31、相应的单元测试。在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。【问题3】 因为系统中大量业务逻辑涉及企业的核心商业数据,为保证系统数据一致性,完善的事务(Transaction)控制是系统实现时必需考虑的重要因素之一。请用200字以内文字说明事务的基本特征,并简单描述EJB规范中提供的两种事务控制的基本方法。事务的基本特征包括:原子性。一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。一致性。在事务开始之前和事务结束以后,数据的完整性限制没有
32、被破坏。隔离性。两个事务的执行是互不干扰的,两个事务时间不会互相影响。持久性。在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。EJB规范支持的两种事务控制方法为:容器维护的事务(Container Managed Transaction, CMT)。由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生 系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。Bean维护的事务(Bean Managed Transaction,BMT)。由程序员在EJ
33、B的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。【解析】本题主要考查事务的基本特征和EJB规范中提供的事务控制的基本方法。试题一 论软件需求管理及其应用软件需求工程关注创建和维护软件需求文档需展开的一切活动。需求工程可分为需求开发和需求管理两项工作,其中需求管理的目标是为软件需求建立一个基线,供软件开发及其管理使用,确保软件计划、产品和活动与软件需求的一致性。从软件需求工程的角度来看,需求管理包括在软件开发过程中维持需求一致性和精确性的所有活动。 请围绕“软件需求管理及其应用”论题
34、,依次从以下三个方面进行论述。1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。2.详细论述软件需求管理的主要活动及其所包含的主要内容。3.结合你具体参与管理和开发的实际项目,说明是如何采用软件需求管理方法进行需求管理的,说明具体实施过程以及应用效果。 写作要点1.简要叙述所参与管理和开发的软件项目.,并明确指出在其中承担的主要任务和开展的主要工作。2.需求管理的主要活动有变更控制、版本控制、需求跟踪和需求状态跟踪。(1)需求变更管理过程包括:问题分析和变更描述。需要识别和分析需求问题,形成明确的变更协议,以检查它的有效性,从而产生一个更明确的需求变更提议。变更分析和成本计算
35、。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改、系统修改的设计和实现的成本。一旦分析完成并且被确认,应该进行是否执行这一变更的决策。变更实现。这要求需求文档和系统设计以及实现都要同时修改。(2)版本控制:主要包括确定需求文档版本。(3)需求跟踪:包括定义对其他需求的链接;定义对其他系统元素的链接;使用的工具即需求跟踪矩阵。(4)需求状态跟踪:定义需求状态;跟踪需求的每一t状态。3.考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的需求管理活动,说明该活动的具体实施过程、使用的方法和工具,并对实际应用效果进行分析
36、。 试题二 论敏捷开发在企业软件开发中的应用敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。尽管目前敏捷开发的具体名称、理念、过程、术语尚不尽相同,但业界普遍认为:相对于“非敏捷”,敏捷开发更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。请围绕“敏捷开发在企业软件开发中的应用”论题,依次从以下三个方面进行论述。1.概要叙述你参与实施的应用敏捷开发的软件项目以及你所担任的
37、主要工作。2.叙述你在软件项目实践过程中采用了怎样的敏捷开发基本原则并说明理由。3.具体阐述该项目采用的敏捷开发方法,以及实施过程中存在问题和解决方法。 写作要点1.概要叙述你参与实施的应用敏捷开发的企业项目以及你所担任的主要工作。2.叙述你在该企业项目实践过程中采用的敏捷开发基本原则并说明理由。2001年2月的敏捷宣言(Agile Manifesto)是由多位当时称之为“轻量级方法学家”所编写签署的,他们的价值观是:个人与交互重于开发过程与工具;可用的软件重于复杂的文档;寻求客户的合作重于对合同的谈判;对变化的响应重于始终遵循固定的计划。(1)个人与交互重于开发过程与工具:一个由优秀的人员组
38、成但使用普通的工具,要比使用优秀的工具但由普通人组成、紊乱的小组做得更好。多年来人们花了很多时间试图建立一种过程,以便把人当作机器上的一个可以替代的齿轮,但结果却并不成功。敏捷过程是承认每个人都有特定的能力(以及缺点)对之加以利用,而不是把所有的人当成一样来看待。更重要的是,在这样的理念下,几个项目做下来,每个人的能力都从中得以提高。这种人的能力的提高,对公司是无价之宝。而不至于把人当成齿轮,随着时间的推移,人的能力慢慢被消耗掉,最后变成留之无用、弃之可惜的尴尬人物。(2)可用的软件重于复杂的文档:可用的软件可以帮助开发人员在每次迭代结束的时候,获得一个稳定的、逐渐增强的版本。从而允许项目尽早
39、开始,并且更为频繁地收集对产品和开发过程的反馈。随着每次迭代完成软件的增长,以保证开发小组始终是处理最有价值的功能,而且这些功能可以满足用户的期待。(3)寻求客户的合作重于对合同的谈判的原因:敏捷开发小组希望与项目有关的所有团体都在朝共同方向努力,合同谈判有时会在一开始就使小组和客户处于争执中。敏捷开发追求的是要么大家一起赢,要么大家一起输。换句话说,就是希望开发小组和客户在面对项目的时候,以一种合作的态度共同向目标前进。当然,合同是必需的,但是如何起草条款,往往影响到不同的团体是进行合作式的还是对抗式的努力。(4)对变化的响应重于始终遵循固定的计划:敏捷开发认为对变化进行响应的价值重于始终遵
40、循固定的计划。他们最终的焦点是向用户交付尽可能多的价值。除了最简单的项目以外,用户不可能知道他们所需要的所有功能的每个细节。不可避免地在过程中会产生新的想法,也许今天看起来是必需的功能,明天就会觉得不那么重要了。随着小组获得更多的知识和经验,他们的进展速度会比开始的时候期望值慢或者快。对敏捷开发来说,一个计划是从某个角度对未来的看法,而具有多个不同的角度看问题是有可能的。(针对所承担项目的具体问题和特点,围绕敏捷开发基本原则的一项或多项进行论述均可)3.具体阐述该企业采用的具体敏捷开发方法,以及实施的效果。常见的敏捷开发方法有极限编程,Scrum,水晶方法等。极限编程是敏捷软件开发中最富有成效
41、的几种方法学之一,是敏捷过程的一种具体形式,提供敏捷方法最一般原则的指导方针,包括5项价值标准和12个实践操作。极限编程的主要目标在于降低因需求变更而带来的成本,极限编程透过引入基本价值、原则、方法等概念来达到降低变更成本的目的。Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括Scrum主管,产品负责人和开发团队。它使用迭代的方法,把每个30天一次的迭代称为一个“冲刺”(Sprint),按照需求优先级别来实现产品。多个自组织和自治小组并行递增地实现产品。通过简短的曰常 情况会议(称为“Scrum”)进行。水晶敏捷方
42、法发展和提倡了一种机动性的软件开发方法,定义了一系列方法,包含核心元素,角色、过程模式、工作产品和实践。水晶敏捷方法实际是一组经过证明对不同类型项目都非常有效的敏捷过程,其目的是使得敏捷团队可以根据其项目和环境选择最合适的水晶系列成员。(论述只需说明一种具体的敏捷开发方法)试题三 论信息化建设中的企业知识管理企业知识管理(Enterprise Knowledge Management, EKM)是指利用现代信息技术,开发企业知识资源,调动人力资源学习潜能,并建立与之相适应的组织模式,推进企业现代化进程,提高企业核心竞争力和经济效益的过程。信息化建设是企业实施知识管理的基本工具,它为企业知识管理
43、提供技术和资源支持;企业知识管理为解决信息化建设 出现的问题提供理论指导。构建企业知识管理系统是信息化建设中企业知识管理的重要组成部分,利用知识管理系统对有价值的信息即知识进行强化管理,采用信息技术与人 相结合的方式建立并管理联接于客户、企业及供应商之间的知识链,以整合组织知识学习过程,提高组织竞争力。 请围绕“信息化建设中的企业知识管理”论题,依次从以下三个方面进行论述。1.概要叙述你参与的企业知识管理系统的开发项目以及你所担任的主要工作。2.分析在信息化建设中实施企业知识管理的主要阶段,并详细阐述每个阶段的内容和主要工作。3.企业知识管理系统的构成是与知识管理过程密切相关的,简要介绍你所参
44、与构建的企业知识管理系统的主要模块及其功能。写作要点1.简要描述所参与的企业知识管理系统的开发项目,并明确指出在其中承担的主要任务和开展的主要工作。2.分析在信息化建设中实施企业知识管理的主要阶段,并详细阐述每个阶段的内容和主要工作。信息化建设中实施企业知识管理包括五个主要阶段:(1)认知阶段。统一企业对知识管理的认知,梳理知识管理对企业的作用与意义,评估企业的知识管理现状。帮助企业认识是否需要知识管理,并确定知识管理实施的正确方向。主要工作包括:全面完整的认识知识管理,对企业中高层进行知识管理认知,特别是让企业高层认识知识管理;利用知识管理成熟度模型等评价工具多方位评估企业知识管理现状及通过
45、调研分析企业管理的主要问题;评估知识管理为企业带来的长、短期效果;从而为是否推进知识管理实践提供决策支持;制定知识管理战略和推进方向等。(2)规划阶段。通过对知识管理现状、知识类型的详细分析,并结合业务流程等多角度,进行知识管理规划。主要工作包括:从战略、业务流程及岗位来进行知识管理规划;企业管理现状与知识管理发展的真实性分析;制订知识管理相关战略目标和实施策略,并对流程进行合理化改造;知识管理落地的需求分析及规划;在企业全面建立知识管理的理论基础。(3)试点阶段。按照规划选取适当的部门和流程依照规划基础进行知识管理实践。并从短期效果来评估知识管理规划,同时结合试点中出现的问题进行修正。主要工
46、作包括:每个企业都有不同的业务体系,包括生产、研发和销售等,各不同业务体系的任务特性均不相同,其完成任务所需要的知识亦有不同,因此需要根据不同业务体系的任务特性和知识应用特点,拟订最合适、成本最低的知识管理方法。另外,考虑到一种业务体系下有多方面的知识,如何识别关键知识,并判断关键知识的现状,进而在知识管理模式的指导下采取有针对性的提升行为。(4)推广和支持阶段。在试点阶段不断修正知识管理规划的基础上,知识管理将大规模在企业推广,以全面实现其价值。主要工作包括:知识管理试点部门的实践,在企业中其他部门的复制;知识管理全面地融入企业业务流程和价值链;知识管理制度初步建立;知识管理系统的全面运用;
47、学习型组织、头脑风暴等知识管理提升计划的全面运行,并将其制度化。(5)制度化阶段。企业重新定义战略,并进行组织构架及业务流程的重组,准确评估知识管理在企业中实现的价值。主要工作包括:企业开始意识到知识管理是企业运作的一种战略,而且有必要成为综合企业运作机制的一部分,从而把知识管理全面融入企业战略、流程、组织、绩效等管理体系。在此基础上,知识管理将逐渐演变为企业核心竞争力的一部分,有力促进企业每一位员工的发展。3.企业知识管理系统的构成是与知识管理过程密切相关的。知识管理过程是知识生成、知识挖掘、知识重组和知识应用多个步骤相互连接、反复进行的交互过程,因此,知识管理系统可按下面的4个模块进行设计和开发。(1)知识生成模块。本模块的目标是从海量的信息中抽取出针对某个应用领域的知识,它包括:确定某个应用领域,建立一个目标数据集,进行信息整理和预处理,对知识进行标记。(2)知识挖掘模块。本模块的目标是按照一定的知识提取算法,从知识库中发现隐含的、有意义的知识,获取能改变对事物认识的知识。这些方法主要有关联分析、聚类、概念描述和偏差检测4类。(3)知识重组模块。本模块是结合具体的用户需求,形成特定用户系统化的知识。具体方法就是运用情报研究领域的方法,如层次分析
限制150内