阅读以下关于软件工程管理方面的叙述,回答问题1和问题2。
某大型企业集团的信息工程部有一百多名专职的软件工程师从事企业内外的软件开发与维护工作,该集团分布地域广阔。集团内采用了多种操作系统平台和多类开发环境。王总工程师在总结近三年来的软件开发工作时,发现有10%左右的软件开发项目未能完成而被迫取消;其余25%的项目中大多也不能完全实现预定的目标。特别是在软件测试环节出了很大问题。
王总工程师组织了信息工程部内有关的管理人员和业务骨干,召开了三次小结与分析会议,在会上集中讨论了软件工程管理有关的问题,在归纳的意见中出现了以下的一些内容:
(1)软件开发已经逐渐成为一类工业化的生产过程,必须尽可能对其中的所有环节进行有效的管理与控制。
(2)软件工程管理与其它工程管理相比,主要的困难包括:软件产品的不可见性(难以把握开发进展与质量要求等)、软件开发过程的非标准化和许多软件项目开发的“一次性” (缺少可借鉴的经验)等。
(3)软件开发面对着进度、成本、功能和性能四方面的主要约束,即要求在预定的期限内,使用规定的有限资源,满足不断增长的软件功能与性能需求。从这个角度来看,必须强化软件工程的管理。
(4)Client/Server与Browser/Server模式等已成为当前软件体系结构的主流。在日益复杂的分布式开发环境下,进行跨平台的团队开发,实现代码共享相当困难,软件工程管理在其中可以发挥其重大作用。
(5)从目前情况看,要注意软件维护可能带来的副作用,也就是没有找到隐含的错误,在以后的软件维护中一定要注意。
(6)跨平台复杂环境多重结构开发含有许多需要加以管理的对象类型,多样化的团体开发也应加强管理。
(7)为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以测试计划的编制是很重要的。
(8)一个大中型的应用系统的开发可能包含有成百上千个软件模块以及数以百万计的代码行,任何一个编程人员不可能了解和追踪该应用系统所有的每一个片断,因此使软件代码具有可管理性和可审核性将是软件工程管理中的一项重要任务。
(9)要提高软件的使用效率,要实施软件复用。软件复用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率、降低开发成本的目的。软件复用的两个层次包括知识复用;方法和标准复用,软件复用的级别包括代码复用和分析结构的复用。
(10)我们的长远目标是需要建立一类软件开发管理体系,能有效地辅助软件开发全过程中对有关信息的收集和管理,这类体系应是可重复使用的并可适用于各类软件开发项目,使软件资源在软件的生命周期中保持完整。
(11)对外服务的软件开发机构应当努力取得ISO9000质量认证,并根据CMM(能力成熟度模型)标准来改进自己的开发过程。在这些质量标准实现的过程中,软件工程管理起着重要的作用。
[问题2] 信息工程部与王总工程师在详细分析本集团的软件工程管理方面存在的各类问题时,发现在不少软件项目实施过程中,随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。软件测试这一环节较为薄弱.尤其是对软件测试问题认识上有一些偏差。软件测试包括人工测试和机器测试两大部分。请你用250字以内文字以提纲方式说明,软件测试的一般步骤(只需列出相应的书称并且简要说明即可) |
参考答案:
解析:软件测试的一般步骤是:(1)测试人员要阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。(2)为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试和验收测试。代码会审是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。单元测试集中在检查软件设计的最小单位-模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束,经验收后,将软件提交用户。