软件产品是软件项目的最终结果,其功能度和复杂性要比制造业的产品高得多,而且在投入使用后,软件发挥的功效也是其它任何形式的硬件产品所无法比拟的。为了保证软件产品在交付后能够按照用户的需求发挥正常的功效,因此在项目实施过程中进行有效的质量管理是很有必要的。本文结合作者的经历就软件项目中的质量管理做了一些探讨。
一、引言
软件产品是软件项目的最终结果与其相关的质量问题主要来自项目开发过程。但软件是一个纯智力的特殊产品描述软件质量的定义则比描述实际物品质量定义面临着更多的潜在因素。所以保证软件质量比保证设备质量更具挑战性和不确定性。
国际化标准组织Iso在ISOPIEC9126中将软件质量定义为:“反映软件产品满足规定需求和潜在需求能力的特征和特征的总和”。而M .J .Fisher将软件质量定义为:“所有描述计算机软件优秀程度的特性的组合“。目前对软件质量的研究主要从两方面展开:一是软件开发过程的质量保证以过程文档化和管理科学化为内容:二是软件过程和产品的质量评估包括中间产品和最终产品采用软件度量技术作为软件质量特性量化的主要技术。本文将就第一个方面展开讨论通过给出或设计一些符合文档化开发标准的管理规范和文档模板以达到使软件质量满足之前用户对各项功能或性能的精确定义的目的。
二、项目概况及背景
某船厂在信息集成系统CIMS第一期结束后初步建立起企业的基础信息资源的共享平台,并将物资管理与财务管理进行了整合。但在第一期CIMS平台中没有对其涂装生产管理建立相应的系统。为尽快解决涂装生产管理的问题项目组在进行一个月的需求调研后就进入了开发。但是由于前期需求阶段没有细化需求涉众范围太小在开发阶段代码管理松散导致项目在开始不久后就处于一边开发一边继续需求分析细化的状态并伴随不断的需求变更最后在拖期半年后才交付了一个带有隐患的产品而且原定两周的试运行期因为修改不断发现的缺陷也延长为两个月。
在完成涂装项目后,项目组又接到船厂关于开发生产安全监管系统的任务为了避免同样的问题发生和提高软件质量,项目组认为要在软件开发项目过程中引入完善的质量管理,并针对船厂项目特点,结合实际情况重点覆盖需求、编码、测试三个阶段。
三、分析及应对措施
1.定义合适的项目过程
软件过程是指开发和维护软件产品的活动技术和实践的集合。在以计算机网络为基础的现代社会信息化背景下过程管理作为现代企业管理的先进思想和有效工具,随着外部环境与组织模式的变化而变化。因此作为一个好的软件项目过程,必须针对企业和项目的实际情况,确定软件项目运作流程,定义软件功能及相关性能明确各阶段的进入条件和退出条件进行有效的过程控制与管理,在提高软件开发的效率和项目的成功率的基础上进一步保证所开发软件的质量。
在现阶段主流的软件工程过程主要是RUP (Rational Unified Process)和XP (Extreme Programming)。由于新项目的需求明确,并且项目组成员的构成方式是新老搭配,在经过综合考虑后,我们决定采用RUP方法。最后,项目组根据项目实际情况对传统的RUP模式进行按需裁剪,具体方案是将”需求与分析”和‘’设计”两个活动合并为‘’需求分析”,将”配置”和”变更管理”统一纳入’‘项目管理‘’,移除”环境活动‘’环节。
2.明确项目需求
对于任何软件项目过程而言,需求不仅是一个不可避免的环节,也是软件开发的基础。往往用户需求明确变更少的项目的成功率就高而那些用户需求混乱变更频繁的项目几乎从一开始就注定了失败的命运。但是,在现实生活中,用户需求总是在开发进入中后期时,因为各种不同的原因而发生变化。这就给软件项目过程实施带来不确定因素。在涂装项目中,由于前期需求不明确以及随意变更需求,导致项目组在开发阶段不停的返工,进而造成代码质量低下,测试拖期等一系列问题。因此在项目实施过程中,为了保证软件开发的顺利进行和最后交付的产品质量,应该对项目需求变更进行管理。
(1)需求说明书要描述明确详尽。由于与用户沟通的需求人员并不是最后的开发人员,所以有可能导致开发人员对需求说明书的理解与用户真正的意图会产生一定的偏差。另外,当项目在进行到开发(编码)阶段时,由于记忆的缺失,对当初所作的需求说明书的理解也会产生偏差。
(2)要对需求变更进行管理。通常需求分析完成后项目就进入开发阶段,用户可能会因为市场或策略的变化而提出需求变更的要求。此时,若是合理变更则有利于项目实施,但有时所作的变更可能会影响项目整体的设计和开发,造成项目进度的延期。对于这一情况,项目组应该积极与用户沟通,制订需求变更说明书,在双方都认可的情况下方可实施。
(3)在项目开发过程中要尽早明确用户需求,有些内容一时无法确定则应该暂缓该部分的开发,尽量降低因需求变更而带来的风险。
3.代码走查
软件质量在很大程度上依赖于代码质量。在实际环境中对于同一项目而言,由于项目组成员的编程能力、习惯、风格、对需求的理解和个性的不同所开发的代码质量也不尽相同。再加上一些难以预测的人为因素由此带来的隐患将严重影响代码质量最终造成软件质量低下,使得用户无法正常使用并为以后的维护带来更大的工作量和难度。
考虑到项目进度以及实际情况,要进行完整的代码评审不太现实,因此在软件开发过程中可以根据需要引进代码走查。每周在规定的时间内,轮流让程序员讲解其所开发代码的主要部分。这项措施一方面可以从侧面促使程序员本人注意所开发代码的质量,另一方面在走查过程中可以获得他人的意见进一步改善代码效率,使开发成员共享项目实施过程中问题解决的思路和方法同时还可以促进项目组成员之间的交流并加深对需求的理解关注软件开发过程中的各个环节并进行过程改善的讨论,使得软件质量更有保障。
4.进行正式的测试,并形成制度
测试就是对软件产品的检验。软件测试的目的是根据用户需求检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试性能一效率测试用户界面测试、安全性测试、压力测试可靠性测试安装/反安装测试等活动。测试过程通常在模拟环境中进行。只有通过了上述全部测试的软件,才可以称之为符合用户质量要求的合格的软件。
测试活动要尽可能覆盖整改项目过程,从最初的需求到部署阶段,都应该制订详细的计划并编制相应的文档,如测试计划测试用例文档测试报告等。通过测试活动尽可能早得发现每个阶段中软件存在的缺陷,以方便后续阶段的实施。在这测试活动过程中,我们应该遵守一条基本原则—按照用户需求进行测试。我们即不能为求速度而缩短测试规模,也不能忽视用户需求而提高测试要求。总之一切测试应该符合用户需求。
四、结论
除了上述几个方面外,对于软件产品的质量管理还有其他要考虑的因素,如风险控制、变更管理和配置管理等等。其实,美国软件工程研究所(SEI )开发的软件过程能力成熟度模型(CMMI )和}S09001标准,都着眼与质量和过程管理。而且在组织结构方面,国外成熟的软件企业一般都设有单独的QA (Quality Assure)部门,它与开发部门独立,负责监督流程的执行。但是,对于任何一个具体项目的实施都应制订合适的质量管理方案,不能生搬硬套而这些需要项目经验的积累以及不断的学习新知识。
成功的并购活动可以加快企业增强自身实力的进程,并帮助企业获取多方面的综合效益。为此,在实施并购活动以前,企业必须进行周密详尽的调查和研究,尤其要抓住其中的关键问题,以确保并购活动最终取得成功。 企业并购实质上是企业进行低成本外部扩张的一种资本运营方式,它既可以使企业规模得到迅速扩展,提高企业的市场地位和长期获利能力,又利于调整企业自身经济结构,进行资源的有效配置,因而在市场经济条件下,企业并购活...
个人知识管理是知识经济时代一种新的个人知识整理的方法,教师个人知识是其专业发展的基点,个人知识管理则是实现教师专业发展的具体途径。个人知识管理是关于个人知识的获取、存储、分享以及利用的管理。知识经济时代是终身学习的新时代。“一个人学习过的知识如果每年不能更新7%的话,那么这个人便无法适应社会的变化。”目前,一个工程师知识的半衰期是5年,如果不继续学习,那么5年后他就面临被淘...
摘要:在知识经济时代,人力资本投资显得越来越重要,而投资风险也随之产生。全文通过对企业人力资本投资风险的成因及规避方法的分析,希望可以帮助企业管理人员提高风险意识,正确认识人力资本投资风险,从而更好地对其进行管理。关键词:人力资本人力资本投资人力资本投资风险 在知识经济蓬勃兴起的今天,人将成为重要的战略性资源。在这种发展趋势下,企业作为以盈利为目的的经济组织,也开始把人力资本投资作为企业生存...
网络环境下大学图书馆的服务是多元化的,既可提供纸质印刷型资源服务,又可提供电子媒介服务以及网络服务,服务更加主动。大学图书馆应努力为师生提供发现和使用图书馆资源的途径,提高馆藏的利用率和管理效率,为读者提供可广泛获取所需资讯的方法及工具。 论文关键词:网络环境藏书馆大学图书馆校园网 随着计算机技术的发展,大学图书馆日渐网络化和数字化,越来越多的师生习惯于从网上寻找信息或阅读电子文献。他们到馆次...
以安徽师范大学图书馆为例,介绍了目前高校纸质外文期刊的利用现状,分析了外刊利用率低的原因,探讨了提高外刊利用率的对策。 外文期刊(以下简称“外刊”)是一种重要的文献信息资源,记载着人类最先进的科学技术,是我们获取最新科技成果的重要信息源之一。对于高校来说,它还是一种优质的教学资源,在教学科研中起着重要的作用。关于外刊利用率的问题,学术界一直讨论得很热烈,成果也很多,但观点...
随着科学技术的进步,工程项目的规模和复杂性持续增加,工程施工周期长,项目个性化强。由于工程的复杂性,就有必要实行专业化协作。项目管理工作中仍有缺陷,笔者经多年的工作经验提出相应的对策和具体的工程项目管理方法,为提高我国建筑企业的工程管理水平提供参考。关键词:建筑工程;项目管理;现状;对策 目前,我国绝大多数建筑企业在进行工程施工时,采用项目管理的方法进行管理。但是,我国建筑工程的整体项目管理水平...
文章在对项即管理,以及知识管理的基本理论进行分析的基础上,探寻了项目管理过程中的知识管理应用,阐述了项目管理过程中知识管理的实践过程中所面临的问题,并为进一步深化项目管理过程中的知识管理实践提出了建议.一、项目管理和知识管理项目管理就是把各种资源应用于项目,以实现项目的目标满足各方面既定的需求。它的应用可以降低成本提高生产力和竞争力能降低投资和经营风险避免资源浪费。项目管理具有组织的临时性、全球化...
随着科学技术的进步,工程项目的规模和复杂性持续增加,工程施工周期长,项目个性化强。由于工程的复杂性,就有必要实行专业化协作。项目管理工作中仍有缺陷,笔者经多年的工作经验提出相应的对策和具体的工程项目管理方法,为提高我国建筑企业的工程管理水平提供参考。 目前,我国绝大多数建筑企业在进行工程施工时,采用项目管理的方法进行管理。但是,我国建筑工程的整体项目管理水平远远落后于国外先进的建筑企业,也落...
摘要:随着知识经济时代的到来,人作为知识和技术的主要载体地位日益突出。同时在当今企业管理的各种职能已经基本成熟的情况下,企业要从管理中要效益比以前困难得多,因而对企业的深层次挖掘势在必行。实证研究发现,对人员投资所形成的人力资本会获得比其他传统投资高得多的投资回报率,故而对人力资本的投资成为企业发展的最新增长动力。我国自改革开放以来,在人力资源管理及开发的理论的认识上,能够及时吸收世界上的最先进的...
探讨了全球性“HSK热”环境下,大学图书馆面向留学生这一特殊读者群所提供的信息服务存在的一般问题和特殊问题。针对这些问题又提出了改进的四大措施,以进一步提高大学图书馆的服务水平。 随着中国改革开放的深入发展和中国国际地位的日益提高,众多国家学习汉语已经成为潮流,全球性的“汉语热,,业已形成。尤其是中国成功举办奥运会和申办世博会成功之后,“汉语热&r...