问答题
阅读以下关于配置管理的叙述,回答问题1、问题2、问题3。
在一些大中型信息系统项目中,经常会出现一些混乱和差错,如版本错误、数据不一致等。在信息系统的开发过程中,随着工作的进展也会产生许多信息,如规格说明、设计说明、源程序、各种数据等,以及合同、计划书、会议录、报告等需要管理的文档。对于一个大中型信息系统项目来说,这些信息文档的数量可以达到几百个甚至上千个,如果没有一套严谨、科学的管理办法,出现混乱和差错几乎是必然的。
配置管理为信息系统开发提供了一套管理办法和原则,以防止混乱和差错的产生,并且适应信息系统的各类变更。典型的配置问题有:多重维护、共享数据、同时修改、丢失版本号或者没有版本号。一般地,实施配置管理应完成以下几方面的任务:确定配置管理计划,确定配置标识规则,实施变更控制,报告配置状态,进行配置审核,进行版本管理和发行管理。
问答题
【问题1】
(1)配置管理的一个重要内容就是对变更加以控制,使变更对成本、工期和质量的影响降到最小。用150字以内文字,说明配置管理中“变更管理”的主要任务。
(2)为了有效地进行变更控制,通常会借助“配置管理数据库”。请用200字以内文字,说明配置数据库的主要作用及其分类。 |
【正确答案】
【答案解析】[问题1]
变更管理的任务主要包括:
(1)分析变更,根据成本/效益和涉及到的技术等因素判断变更实施的必要性,确定是否进行变更。
(2)记录变更信息,并追踪变更信息。
(3)确保变更在受控条件下进行。
配置管理数据库主要发挥以下作用:
(1)记录与配置相关的所有信息;
(2)利用库中的信息可评价变更的效果:
(3)从库中可提取各种配置管理过程的管理信息。
配置管理数据库可分为以下3类。
(1)开发库:专供开发人员使用,修改频繁,控制宽松。
(2)受控库:保存生存期某一阶段结束时发布的阶段性产品。
(3)产品库:用于存放最终的产品。
由于信息系统开发的过程是一个充满着变化的过程,因此管理这些变更就成为很重要的内容。配置管理(SCM)就是一门管理信息系统变更的科学。配置管理是在整个信息系统生命周期中实施管理和技术规程的过程,它标识、定义系统中配置项并制定基线,控制配置项的修改和发行,记录和报告配置项的状态和修改申请,保证配置项的完整性、协调性和正确性,以及控制配置项的储存、装载和交付。
从定义来说,配置管理主要包括以下几方面的工作。
(1)标识:标识出产品的结构、构件及其类型,并为其分配唯一的标识符,并以某种形式提供对它们的存取。
(2)控制:通过建立产品基线,控制产品的发布和在整个信息系统生命周期中对产品的修改。
(3)状态统计:记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。例如,得出修改该错误会影响多少个文件的问题。
(4)审计和复审:确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合。
(5)生产:对产品的生产进行优化管理,它将解决最新发布的产品应由哪些版本的文件和工具生成的问题。
通俗化地理解,实施配置管理应完成以下几方面的任务:确定配置管理计划,确定配置标识规则,实施变更控制,报告配置状态,进行配置审核,进行版本管理和发行管理。
第一步:总结出问题的要点。
本题主要考查考生对配置管理中的几个核心目标、核心概念及主要的技术措施的理解情况。近几年来,随着很多信息系统开发组织对SCM的认识日益清晰,这方面的考题应该会更频繁地出现。
[问题1]
(1)要求说明配置管理的核心目标——“变更管理”主要需完成哪些任务。
(2)要求说明配置管理的核心概念——“配置管理数据库”的作用及分类。
James Bach在The Highs and Lows of Change Control一文中对变更管理的重要性进行了客观的描述:
“进行变更控制是至关重要的。但是要实现变更控制也是一件令人头疼的事情。我们担忧变更的发生是因为对代码的一点小小的干扰都有可能导致一个巨大的错误,但是它也许能够修补一个巨大的漏洞或者增加一些很有用的功能。我们担忧变更也因为有些流氓程序员可能会破坏整个项目,虽然智慧思想有不少来自于这些流氓程序的头脑。过于严格的控制也有可能挫伤他们进行创造性工作的积极性。但是,如果你不控制他,他就控制了你!”
从这一段描述中,我们可以看出在整个信息系统开发过程中,变更是不可能避免的,变更控制就是要把变更严格地控制起来,随时保留变更的有关信息,把精确、清晰的信息传递到开发过程的下一活动或下一任务去,防止出现混乱。也正如Wayne Babich在其书中所说的:“我们所要关注的不仅是向客户提供正式发行的产品,而更要关注每天每时每刻在开发队伍内部系统的发展变化情况。受控的变更不仅意味着你在交付系统时知道你拥有什么,而且知道在开发过程中你拥有什么。当一组程序员共同开发一个产品时,控制有助于取得最大的生产率,而生产过程中产生的混乱却最少。”
要想了解变更管理的工作内容,首先需要知道信息系统有两种不同的变更类型:一为功能变更,二为错误修复变更。
(1)功能变更的意思就是根据客户的需要增加或删除某些功能,或者修改实现功能的方法所引发的变更。对于功能变更来说,通常需要对其采用正式的变更评价过程,估计该变更将会对成本,以及体系结构中的其他部分会产生什么影响。然后根据该影响来决定是否进行这种变更。而且,还将分析变更所产生的成本由谁支付,并必须完成成本/效益分析,以确定变更是否值得。
(2)错误修复变更是为了修改漏洞的需要而产生的变更。它是必须进行的,通常是无需由管理层审查和批准,但需要对该变更记录在案。
当发现需要变更时,首先应该由变更请求人提交“变更申请”,这也是整个变更控制的第一步,也是开始变更管理的前提条件。当变更管理者(根据项目的实际情况,有可能是某个资深人士或管理人员,也可以是一个组织,例如变更管理委员会)接到变更申请之后,会先交由变更分析员就应该对变更进行成本/效益分析,并对其涉及到技术等因素判断变更实施的必要性,以确定是否要进行变更。然后对其进一步审查(通常包括变更请求的摘要和状态、对基线所做变化的摘要、配置项/单元的修改历史、基线状态和基线审计结果等),以做出最后的变更决定。
一旦做出进行变更的决定之后,就将开始实施变更,变更执行人员将要变更的对象从数据库中检出,在实施变更的同时记录变更,再将变更的产品提交质量保证人员审查,以确保变更的质量。最后,将变更的产品送交配置管理人员检入数据库,以便考虑生成新的版本。并且在整个实施过程中,变更的执行人员、变更管理委会员、配置管理人员、质量保证人员都应该对变更负责,并且在变更请求表上留有记录,也就是要确保变更在受控条件下进行。
而要想有效地实现变更控制需要借助于配置管理数据库和基线的概念。配置管理数据库的作用在于:用宋收集所有与配置有关的信息;用来评价系统变更的效果:用来为配置管理过程提供管理信息。根据配置管理数据库的不同应用,可以分为3种,见计算机分类模拟题信息系统项目管理师文档与配置管理。而基线是信息系统生存期各开发阶段末尾的特定点,也被称为里程碑。它的作用是把各阶段的开发工作划分得更加明确,使得本来连续的工作在这些点上断开,使之便于检验和确认阶段开发成果。它对变更控制起的作用是,不允许跨越里程碑去修改另一阶段的文档。
问答题
【问题2】
配置状态报告对于大型信息系统开发项目的成功起着至关重要的作用。请用200字以内文字,说明配置状态报告的主要作用及其包含的主要信息。 |
【正确答案】
【答案解析】[问题2]
配置状态报告详细记录了开发过程中的每一项变更,反映了开发活动的历史情况,从而达到提高所有开发人员之间的通信能力,避免出现不一致和冲突的目的。在配置状态报告中所包括的信息主要是每一项变更的详细内容:
(1)变更内容:
(2)变更原因;
(3)变更请求人及实施人;
(4)变更发生时间;
(5)变更影响分析。
[问题2]
要求说明实现良好配置管理的主要技术措施之一:“配置状态报告”的作用及其信息的组成情况。
为了清楚、及时地记载软件配置的变化,不至于到后期造成贻误,需要对开发的过程做出系统的记录,以反映开发活动的历史情况,这就是配置状态记录。该项活动主要是完成配置状态报告的编制工作。
在配置状态报告中,需要对每一项变更进行详细的记录,包括发生了什么?为什么会发生?谁做的?什么时候发生的?会有什么影响?每次新分配一个配置项或更新一个已有配置项或更新一个已有配置项的标识,或者一项变更申请被变更控制负责人批准,并给出了一个工程变更顺序时,在配置状态报告中就要增加一条变更记录条目,一旦进行了配置审计,其结果也应该写入报告中。配置状态报告可以放在一个联机数据库中,以便开发人员或者维护人员可以对它进行查询或修改。此外,在配置报告中新记录的变更应当及时通知给管理人员和其他工程师。
配置状态报告对于大型信息系统开发项目的成功起着至关重要的作用。它提高了所有开发人员之间的通信能力,避免了可能出现的不一致和冲突。它通过支持创建和修改记录、管理报告配置项的状态或需求变化并审核变化来实现,它提供用户需要的功能,跟踪任意模式的软件项,提供完整的各种变化的历史版本和汇总信息。
配置状态统计报告的对象包括配置项的状态、变更申请和对已批准的变更的实现情况3个方面。其任务是记录、报告整个生存期中系统的状态,用以跟踪对已建立基线的需求、源代码、数据,以及相关文档的更改;以文件的形式表明了每一产品版本的内容,以及形成该版本的所有修改。
问答题
【问题3】
信息系统的变更控制机制通常只能跟踪到工程变更顺序产生为止。为了获知变更是否正确完成,一般采用两种方法:正式的技术评审和配置审核。请用200字以内文字,说明这两种方法的区别和联系。 |
【正确答案】
【答案解析】[问题3]
正式的技术评审主要是检查已完成修改的配置对象的技术正确性,而配置审核是正式的技术评审的补充,主要是在配置项特性方面的审核。对于未设置专职配置管理人员的通常是将配置审核并入正式的技术评审。一旦将配置管理作为正式的管理活动,则会将正式技术评审留给开发人员,而将配置审核交由质量保证小组。
[问题3]
要求正确地识别与说明“正式的技术评审”和“软件配置审核”这两种“变更控制”技术手段的区别与联系。
第二步:根据问题要点,仔细阅读全文,找出相应的段落。
(1)在问题描述的第一段中,通过简单、明了的通俗语言,指出了需要进行配置管理的两方面的原因:“容易出现混乱与差错——易变”、“开发过程中有许多信息——多”,因此面对这个“多而易变”的环境,我们就需要一套严谨、科学的管理办法,即配置管理。
(2)题目中说到:“配置管理为信息系统开发提供了一套管理办法和原则,以防止混乱和差错的产生,并且适应信息系统的各类变更”明确地指出了配置管理主要的目的是“管理变更”。
(3)而题目描述的其他方面,主要列出了典型的配置问题,以及实施配置应该完成的工作任务。
第三步:分析试题的内容,构思答案要点。
在本题中,题面中提供的信息与问题并没有太多的直接关联,对答案的构思不能够起到很大的帮助作用。因此关键还在于考生对配置管理的基础理论、相关技术的掌握程度。
信息系统的完整性,是指开发后期的产品能够正确地反映用户所提出的对系统的要求。配置审核的目的就是要证实整个信息系统生存期中各项产品在技术上和管理上的完整性。同时,还要确保所有文档的内容变动不超过当初确定的产品要求范围,使得配置具有良好的可跟踪性。这就是变更控制人员掌握配置情况、进行审批的依据。
变更控制机制通常只能跟踪到工程变更顺序产生为止,而要想知道变更是否正确完成,通常需要进行审查。而这个审查,常见的方法有两种:一是正式技术评审,二是软件配置审核。
(1)正式的技术评审。
正式的技术评审着重检查已完成修改的配置对象的技术正确性,评审者评价配置项,决定它与其他配置项的一致性,是否有遗漏或可能引起的副作用。
正式技术评审应对所有的变更进行,除了那些最无价值的变更。
(2)软件配置审核。
配置审核是正式技术评审的一种补充,它主要是评价在评审期间未考虑的配置项的特性。通常包括:
·在工程变更顺序中规定的变更是否已经完成?每个附加修改是否已经并入?
·正式技术评审是否已经评价了技术正确性?
·是否正确遵循了信息系统工程标准?
·在配置项中是否强调了变更?是否说明了变更日期和变更者?配置对象的属性是否反映了变更?
·是否遵循了标记变更、记录变更、报告变更的配置管理过程?
·所有相关的配置项是否都已正确地做了更新?
如果在一个组织中,没有专门的人员来负责配置管理的话,通常是将软件配置审核的问题当做正式的技术评审的一部分来完成的。但如果一旦将配置管理作为一项正式的活动时,通常就会将配置审核分离出来,交由专门的小组来完成。通常是技术开发部门负责正式的技术评审,质量保证部分负责配置审核。