问答题
阅读下列说明,回答下面问题。
[说明]
某政府部门A定制开发的业务信息化系统通过多年的使用,运行稳定,但是,由于业务的扩展,系统已经满足不了业务的需要,A在征集了各业务处室的改进建议之后,决定借鉴原系统的成功经验,重新开发一套新的业务信息化系统。
问答题
承建单位决定采用增量模型加瀑布模型的开发模式,作为监理工程师,你认为承建单位的选择是否合适?并给出理由。
【正确答案】
【答案解析】合适。
虽然A当前正在使用的业务信息化系统为新系统提供了原型基础,但是由于业务发生了较大的变化,承建单位不能很快全部明确所有的业务需求,因此,承建单位应尽可能及早明确已知的业务需求,完成相应的需求分析,并按瀑布模型的方法进行第一次开发工作,保证基本需求的最快实现。
随后,通过实验或者试运行找出系统中的欠缺和不足之处,明确那些未知的软件需求,再迭代进行增加部分的需求分析和开发。
[解析] 本题依托电子政务的应用背景来考查考生对信息应用系统建设方面的知识的掌握情况。但是,从试题来看,电子政务仅仅是个背景而已,试题的几个问题与电子政务本身毫无关系,而是一些纯理论性的问答题。
考查考生对信息系统开发模型的了解和理解程度。
信息系统生存期模型给出了从系统定义直至软件经使用后废弃为止,跨越整个生存期的开发、运行和维护所实施的全部过程、活动和任务的结构框架。
瀑布模型也称为“线性顺序模型”,它按信息系统生命周期的顺序自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落实施各种活动。
该模型的每项活动具有以下特点。
(1)从上一项活动接受该项活动的工作对象作为输入。
(2)利用这一输入实施该项活动应完成的内容。
(3)给出该项活动的工作成果,作为输出传给下一项活动。
(4)对该活动实施的工作进行评审,若得到确认,则继续进行下一项活动;否则返回前项;甚至更前项的活动。
增量模型是一种演化软件模型,主要特点是利用迭代的方法,使工程师们渐进地开发出逐步完善的软件版本,它的基本思想是“分期完成、分步提交”。可以先提交一个有限功能的版本,然后逐步地使其完善。演化模型兼有瀑布模型和原型模型的一些特点,不同的是瀑布模型本质上是假设当线性开发序列完成之后就能够交付一个完整的系统。原型模型是为了引导用户明确需求、帮助工程师验证算法,总体上讲它并不交付一个最终的产品系统。瀑布模型和原型模型都基本上不考虑软件的演化过程。
增量模型融合了瀑布模型的基本成分和原型模型的迭代特征,它实际上是一个随着时间的进展而交错的线性序列集合。每一个线性序列产生一个软件的可发布增量,所有的增量都能够结合到原型模型中。
当使用增量模型时,第一个增量模型往往是核心部分的产品。它实现了软件的基本需求,但很多已经明晰或者尚不明晰的补充特性还没有发布。核心产品交由用户使用或进行详细复审,使用或复审评估的结果是制定下一个增量开发计划,该计划包括对核心产品的修改及增加一些新的功能和特性。这个过程在每一个增量发布后迭代地进行,直到产生最终的完善产品。和原型模型不一样的是,增量模型虽然也具有迭代特征,但是每一个增量都发布一个可操作的产品。它的早期产品是最终产品的可拆卸版本,每一个版本都能够提供给用户实际使用。
在实际开发过程中,增量模型是一种十分有用的模型。对于防范技术风险并缩短产品提交时间都能够起到良好的作用。应当强调的是,用户在开发软件的过程中,往往有“一步到位”的思想,因而增量式的工程开发必须取得用户的全面理解与支持;否则是难以成功的。
在介绍了上面的信息系统开发模型基础后,考生即可以得出承建单位的选择不适合的结论,也可以得出承建单位的选择是合适的结论。关键的是要给出可以信服的理由。例如,承建单位的选择是合适的,因为该系统是在原有系统基础上开发了,可以采用增量的模式,在原系统的基础上,进行迭代,最终得到新的系统。又如,承建单位的选择是不合适的,因为新系统是在原系统上进行扩展,系统的需求已经基本却确定,只是在规模上进行一些扩展,用户已经使用了系统,知道系统的缺点,同时也清楚自己需要什么样的系统,需求很明确,完全只采用瀑布模型就可以了。
问答题
列出影响项目进度的因素并加以简要说明。
【正确答案】
【答案解析】(1)工程质量的影响。质量指标的不明确、不切实际的质量目标、质量不合格,都将对工程进度产生大的影响。
(2)设计变更的影响。设计的变更通常会引发质量、投资的变化,加大工程建设的难度,因而影响进度计划。
(3)资源投入的影响。人力、部件和设备不能按时、按质、按量供应。
(4)资金的影响。如果建设单位不能及时给足预付款,或是由于拖欠阶段性工程款,都会影响承建单位资金的周转,进而殃及进度。
(5)相关单位的影响。项目建设单位、设计、实施单位、设备供应单位、资金供应单位、监理单位、监督管理信息系统工程建设的政府部门等等都可能对项目的进度带来直接或间接的影响。
(6)可见的不可见的各种风险因素的影响。风险因素包括政治上的、经济上的、技术上的变化等等。监理单位要加强风险管理,对发生的风险事件给予恰当处理,有控制风险、减少风险损失及其对进度产生影响的措施。
(7)承建单位管理水平的影响。承建单位的施工方案不恰当、计划不周详、管理不完善、解决问题不及时等,都会影响工程项目的施工进度。
[解析] 为了有效进行进度控制,必须对影响进度的因素进行分析,以便事先采取措施,尽量缩小实际进度与计划进度的偏差,实现项目的主动控制与协调。在项目进行过程中,很多因素影响项目工期目标的实现,这些因素可称之为干扰因素。
参考《信息系统监理师考试辅导教程》,影响项目工期目标实现的干扰因素,可以归纳为以下几个方面:
(1)人的因素。项目中人的因素是第一位的,可以说是决定性的因素。项目管理实践证明:人的因素是比精良的设备、先进的技术更为重要的项目成功因子。
(2)材料、设备的因素。材料、设备往往成为制约项目进度的关键因素。材料和设备的对进度的影响可以归纳为三点:停工待料、移植返工、效率低下。
(3)方法、工艺的因素。信息技术项目中,使用不同的方法完成系统的功能,工作量动辄会相差好几倍甚至几十倍。好的工具、控件的应用往往会节省很多时间。同样地,合适的技术路线也很重要,在信息技术项目中,经常会发生因某一技术难题不好解决而拖延时间的问题。
(4)资金因素。进度、资金、质量之间是相互作用、相互影响的,资金对项目进度的影响是显而易见的,资金不到位项目只能暂停。进度规划时就要考虑资金预算的配套,否则进度控制也是空谈。
(5)环境因素。项目不是空中楼阁,都是在特定的环境下进行的。项目管理者必须对项目所处的外部环境有正确的认识。项目的外部环境包括自然、技术、政治、社会、经济、文化以及法律法规和行业标准等。环境因素可以分为硬环境和软环境两类。硬环境包括开发环境、施工场地等,软环境包括政策影响、宏观经济等。
对以上因素做进一步分析,大体存在以下几种状况:
(1)错误估计了项目实现的特点及实现的条件。低估了项目的实现在技术上存在的困难;未考虑到某些项目设计和实施问题的解决,必需进行科研和实验,而它既需要资金又需要时间;低估了项目实施过程中,各项目参与者之间协调的困难;对环境因素、物资供应条件、市场价格的变化趋势等了解不够等。
(2)盲目确定工期目标。不考虑项目的特点,不采用科学的方法,盲目确定工期目标,使得工期要么太短,无法实现,要么太长,效率低下。
(3)工期计划方面的不足。项目设计、材料、设备等资源条件不落实,进度计划缺乏资源的保证,以致进度计划难以实现;进度计划编制质量粗糙,指导性差;进度计划未认真交底,操作者不能切实掌握计划的目的和要求,以致贯彻不力;不考虑计划的可变性,认为一次计划就可以一劳永逸;计划的编制缺乏科学性,致使计划缺乏贯彻的基础而流于形式;项目实施者不按计划执行,凭经验办事,使编制的计划徒劳无益,不起作用。
(4)项目参加者的工作失误。设计进度拖延;突发事件处理不当;项目参加各方关系协调不顺等。
(5)不可预见事件的发生。恶劣气候条件;复杂的地质条件等。
问答题
某一子系统大约需要50000行码,如果开发小组写完了25000行代码,能不能认为他们的工作已经完成了大约一半?并说明原因。
【正确答案】
【答案解析】不能认为完成了一半的工作量。因为:
(1)对整个软件的代码行的估计可能不准确。
(2)写完的代码可能相对容易。
(3)如果代码没有通过测试,就不能算完成。
[解析] 问题3考查应试者对软件工程基础知识的掌握和综合利用能力。
根据软件工程原则,软件开发的工作量组成比例是4:2:4的原则,即需求分析和设计占40%的时间,编码占20%的时间,测试占40%的时间。因此,在本题中,某一子系统大约需要50000行码,如果开发小组写完了25000行代码,则不能说明整个工作已经完成了一半。因为:
(1)这里并没有说明是整个软件开发工作,还是单独就编写代码的工作而得出的结论。严格地说,从试题给出的条件中无法得出结论。
(2)如果单就代码编写阶段而言,也不能说明整个工作已经完成了一半。因为还剩余一半的代码没有编写完毕,而且还没有进行单元测试。
(3)一个软件如果没有通过测试就不能算完成,因此,即使代码全部写完了,如果没有测试也不能算完成。
问答题
请简述软件测试的目的。
【正确答案】
【答案解析】(1)通过测试,发现软件错误。
(2)验证软件是否满足软件需求规格说明和软件设计所规定的功能、性能及其软件质量特性的要求。
(3)为软件质量的评价提供依据。
[解析] 要求考生回答软件测试的目的。