`
softstone
  • 浏览: 478053 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

呼唤高质量软件

孙志永、李松、黄子河 (转载自中国计算机报)
  计算机和通信技术的迅速发展为我国的IT行业带来了空前发展的机遇,特别是为软件行业。软件企业能否抓住这个难得的发展机会,需要多方面的努力。软件质量保障在软件企业发展中占有重要位置。

  软件是人造的最复杂系统。软件中微小的失误,可能会导致质量事故、产品报废甚至人员伤亡。软件质量的极大重要性早已为世人所知。另一方面,随着软件自身价值的提升,软件修复费用也在攀升。我们要重视软件质量,加大软件质量研究。

  随着人们对软件认识的逐步加深,软件是“产品”的概念也在人们的印象中逐步清晰化。软件既体现了设计者的思维、智力等逻辑上的东西,同时也像桌椅板凳一样是一种实实在在的“产品”,进一步讲,是“商品”。既是商品就分三六九等,就要按质论价,就要经受市场竞争的考验。实事求是地说,目前国内软件产品与外国软件产品相比,在质量上不占竞争优势。尤其是我国加入WTO之后,竞争是在国际化的大舞台上进行,国内软件公司在过去相对封闭环境下占有的一点优势将不存在。如果国内的软件生产企业不能够迅速提高软件产品的质量,那么在未来几年软件行业内的激烈竞争中很可能被残酷淘汰。

  虽然中国软件产业现在已经有了飞速发展,但与印度等软件生产大国相比,还有相当大的差距,特别是在软件质量上。

  我国软件企业的质量控制体系尚待完善。虽然ISO9000质量体系在软件企业中得到广泛认可,但少数企业只是把获取证书当作目的,并没有把质量控制体系真正贯彻落实。

  对软件品质的多样性重视不够。软件产品的质量度量有很多方面体现,而一些软件企业对此却重视不够,往往只注意一个或者几个方面而忽略了其他方面。

  不能很好地处理灵活与严谨的关系。软件灵活性应该表现为可以满足企业不断增长的业务需求,扩展能力较强;但这并不等于说可以存在明显的管理流程方面的漏洞。

  文档化程度与商品化程度有待进一步提高。少数企业的用户文档、操作说明的缺乏、文档资料版本控制的混乱,说明软件产品的商品化意识还有待加强。   软件企业的测试水平偏低。一些企业还没有建立一支测试队伍,没有把项目产品测试放在与开发并重的位置。

  开发周期较短。有些企业为了能够尽早收回开发成本或与同行业企业竞争,产品尚未测试并验收就急于推向市场。

  软件设计需求不明确,新技术应用还不成熟。一些软件企业的需求分析能力尚待提高,由于需求分析阶段出现缺陷而导致重复开发的例子并不鲜见。软件技术更新常常令软件企业目不暇接。

  国内软件企业要直接参与国际软件市场的竞争,开发高质量软件产品的关键是软件企业自身的能力。我国软件企业生产力的提高应依赖于有关软件人员的积极参与和创造性活动。软件企业应重视效率、质量、面向用户的快速反应,加强软件的需求管理,降低软件产品的开发风险和质量目标的失效。软件企业还应进一步建立产品质量度量和质量体系度量的现代质量评价观念,坚持走质量求效益的推动产业发展的道路。

追根求源 旨在提升

  可能许多用户在使用软件时都有过这样的体验,例如:按常理应该输入数字的地方却可以任意输入汉字或者其他字符,还可以进行统计汇总,在这些过程中间丝毫没有提示或者告警,最后留给用户的是系统崩溃或者整个数据库的混乱;或者当安装了某些软件后,原先正常运行的软件就无法正常运行了,整个系统也伴随出现不稳定的现象;某些软件一旦安装之后,另外的一些软件就无法安装了,也就是两种或者多种软件无法并存运行。

  到底是什么原因使得软件产品产生这些问题呢?如果仅仅认为是程序员个人能力的缺陷,那么眼光未免太过狭隘。软件产品的质量不可能通过提高某个人的素质而获得提升。这里面有更深层次的原因。   首先是产品开发过程不规范。许多国内软件产品来自于某个项目中的软件编程部分。由于项目的成功或者项目中软件部分使用比较稳定,开发者便认为不再需要进行市场调研和大规模开发,而把这段程序稍作修改就变成了一个通用的软件产品。问题也就由此产生。

  某个项目中的软件编程部分具有该项目的独特性,由此转化而来的产品可能在通用性上有很大欠缺。而且由于开发当初没有考虑到通用的问题,有可能这段程序根本就不具备扩展成为通用程序的基础条件。

  为项目进行开发时,重点考虑的是在特定硬件、软件、操作人员范围内的功能实现,而忽略兼容性、容错性、速度与效率等问题。在极端情况下,甚至为了配合特殊硬件或者实现某种特定功能,而采取某种非常规手段编写代码,这使得系统其它功能缺失。由此带来的问题会在整个项目开发阶段潜伏下来,直到变为通用产品。

  其次是对产品的测试过程不规范。在人们的惯性思维中,检测只是针对成品。许多软件开发者直到认为产品开发完成,甚至连说明书和包装盒都作完才对产品进行测试,以期取得一个结论性的结果。这就完全丧失了测试的意义和作用。开发者应该认识到测试是开发过程的一部分,应该逐步开发逐步测试,这样才能真正达到最短时间、最少投入和最高质量的目的。开发者应该区分“评”和“测”的内涵,把针对市场宣传和针对产品质量的不同工作加以区分。只有这样,才能让“评”和“测”各自起到应有的作用。   最后还要指出的是,国内的软件开发者应该注意服务和市场跟踪。在国产软件的发展历程中,曾经出现过许多优秀的软件产品,其中一些也曾经凭借完善的功能和优良的品质一统天下。最著名的就是DOS版的WPS软件,还有汉字平台系统、多媒体视频解压缩软件、翻译软件、手写输入软件等。每个产品都闪烁着开发者的智慧光芒和对中国化软件的精准理解。但是到了Windows加互联网的今天,它们中的一些已经风光不再。究其原因,不外乎服务不精,市场跟踪不紧。

保证质量 多管齐下

  应该从哪几个方面保证软件产品的质量呢?这是一个软件工程的问题。软件产品质量的提高应该从方方面面入手,同时也是一个可以细化、可以量化的问题。具体到某一个软件产品,可以从以下8个方面详细考察产品质量:功能度、兼容性、安全性、可扩充性、性能、资源占用率、易用性、用户文档。其中,功能度、兼容性、性能、易用性会给用户带来更直接的质量感受。

  功能度是首要检测指标,主要应该考察三个方面。首先该软件产品的功能是否满足需求;其次现有功能是否达到设计要求;最后,所有功能是否实现正常。粗看起来,这三个要求比较简单,但是要实现起来却有相当的难度。

  困难和问题主要有以下表现。首先,搞清楚用户到底需要什么功能就不是一个简单的课题。这关系到庞大的市场需求调查、用户群定位和需求分析。不要说小型软件企业,就是国外的大型软件公司花巨资投入也不一定有明确的结果。对国内的软件开发者来说,在这一点上可能没有捷径,但是有优势。国内的工程师对中国文化、计算机使用现状以及用户心理有着天然的理解力,只要稍加用心就可以达到事半功倍的效果。其次,为了在最短时间、最少投入的前提下达到设计要求,开发者可能放弃了太多的东西,使得软件的扩展能力受到严重限制,甚至于没有办法开发出兼容的第二版,无论资源的损失还是用户的损失都是巨大的。

  再说兼容性,按照测试类型分为硬件兼容性和软件兼容性,按照测试方法分为交叉兼容性和向下兼容性。许多软件开发商本身并不具备进行兼容性测试的环境和经验。兼容性测试要进行大量繁重的重复性工作,所以通常这个环节会被忽略掉,也时常有以偏概全的现象发生。对于工作量大这个问题,目前还没有好的解决办法。国外由专业测试工具可以代替人来进行这种重复性工作,但是现象、问题、方法选择等却是千变万化的。人的因素必不可少。

  性能指标是另外一个重要的质量数据。一个软件产品无论功能多么完美,如果不能够达到一定的性能,也无法被用户接受。面向不同领域的软件有不同的性能指标系统,但是所有的性能指标系统都有一个共同点,即全部是限定于某种特定环境和要求之下,采用共同的测试工具与测试用例所得到的量化结果。一般来说,性能测试一般要由专业的测试机构来进行。同样,性能测试也不应该仅仅看作是对成品的检验。如果对开发阶段的产品就有计划地进行性能试验会带来更大的收益。

  性能测试的另外一个目的就是寻找软件产品的最优化设定,比如操作系统、数据库等在某种特定环境下通过修改设定值可以达到最优化效果。目前这类技术还主要集中于国外公司,国内拥有优化技术的软件开发企业实属凤毛麟角。从大环境来讲,更有必要进行性能测试。

  易用性可能是对用户来讲首先关注的特性。一般来说易用性要考察软件本地化程度,菜单和界面风格是否符合习惯,在所有的选择处是否具有默认和定制两种方式,帮助文档是否完善等。所有的软件开发商都不会忽视易用性这个方面,只不过是采取不同的方法,得到不同的结果罢了。

引入标准 规范过程

  我国软件产品开发存在的主要问题在于一些企业对软件商品化程度重视不够。重视软件商品化工作,有必要加大软件产品质量的投入力度。产品是企业的立身之本,软件产品质量必须有一定资金保证。软件企业应该根据我国国情和市场经济机制,确定多元化的投资策略,以确保软件产品开发生产过程中有足够的资金支持;同时必须扭转目前一些软件企业重功能实现而轻质量保证的现状。

  软件企业提高产品质量的关键是要改造手工业作坊式的生产方式,建设工业化生产环境,营造软件工程的文化,改变落后的生产习惯;同时应紧跟国际IT技术的发展,面向市场建立技术创新体系,以适应全球经济一体化时代的需要,使软件产品的质量达到或接近国际先进水平。

  适时引入ISO9000质量控制体系和CMM软件产品成熟度体系,有助于软件企业产品的规范化控制。要对软件质量进行全面、全过程的质量控制,软件工程项目监理将从需求阶段开始进行软件项目全过程跟踪评估测试。具有软件工程评估测试实力、科学工具和专业队伍的测试机构,将会是工程监理的主要推动者。

  软件能力成熟度模型重点是从组织管理方面研究评估软件生产过程,从而提高软件质量。软件企业通过CMM评估是软件产品质量达标的标志,也是进军国际市场的通行证。国内大型软件企业,财力人力足够强,可借助主任评估师经验,进行评估,发现优点、弱点,制定措施,提高软件质量,培养人才。咨询服务公司可培养软件质量管理人才,开展软件质量管理(包括CMM评估)服务。

  我国是软件潜在大市场,未来软件生产大国,应组织开展软件质量研究。在软件质量方面,我们需要投入人力和资金,需要在理论和实践上进行深入研究。软件质量研究需要软件工程知识、统计质量控制方法、软件测试和计量、软件质量管理知识、管理科学和管理工程等。特别地,需要研究全面质量管理思想和方法,并把它用于软件生产过程。   通过软件测量改进软件过程、提高软件质量应该受到我国软件业的重视,而且是应重点发展的方向。在CMM中,第4级成熟级别——定量化软件过程管理和软件质量管理,其核心就是软件测量和计量。CMM2、3级主要内容是组织和管理方面的,在CMM3级中有软件生产工程和仔细审查评估才可以实施生产的要求。软件测量和计量是理解软件生产过程及针对过程存在问题采取措施的基础,从而保证软件产品能够按时、低耗费、高质量的完成。

专业测试 严把质量

  国务院2000年颁布的“18号文件”和“双软认定”工作,得到了全国软件业界认真的贯彻落实。全国各地软件行业主管部门积极对本地软件行业进行了有意识的规范和管理,也与经过信息产业部授权的第三方测试机构建立了密切合作,从而为保障我国软件产品质量和促进软件产业的发展提供了坚实的保证。

  去年,计算机硬件系统已经发展到一个新阶段,为软件开发和设计提供了更加广阔的硬件平台。随着经济发展和计算机技术、网络技术的普及,用户对软件产品的需求进一步细化,我国软件开发技术和成品软件质量将迈上一个新的台阶。

图1 中国软件评测中心测试需求分布

  根据中国软件评测中心2001年对软件产品进行的各类测试(如图1、图2),我们不难发现,国产软件产品数量上升、种类增加、质量提高,形成了一派喜人的局面。

图2 中国软件评测中心测试产品类型分布

  从软件类型角度看,嵌入式软件、中间件软件正成为软件业的开发热点。嵌入式软件从以往使用汇编语言、C语言开发单一功能,开始向平台嵌入式操作系统方向发展。而中间件产品是我国软件产品领域新开拓的一个崭新方向。为满足同一应用对不同用户的软件开发需要,使用Java等跨平台技术开发的中间件产品正成为新的宠儿。这些新兴的软件领域也改变着以往我国软件产品长期偏重应用软件,在系统级底层软件设计方面难以抗衡国外软件的局面。

  从行业应用角度看,财务类、电子商务类、教育办公类软件依然是行业软件的主要领域。ERP/CRM、工商管理、医疗信息管理、交通管理类软件也日益成熟;另外,值得一提的是电子商务类软件的发展。虽然电子商务还没有成熟到能使用户即刻获取丰厚利益的程度,但技术更新和用户意识的提高,使电子商务类软件依然保持了强有力的发展势头。

分享到:
评论

相关推荐

    互联网时代的软件革命-SaaS架构设计

    SaaS架构设计是在互联网时代下软件领域的一次重大变革,它彻底改变了...随着SaaS架构设计的理论和技术的进一步发展,相信会有更多高质量的SaaS应用和服务诞生,推动软件行业向着更高效、更便捷、更个性化的方向发展。

    高质量C++编程指南

    《高质量C++编程指南》不仅是一本技术书籍,更是对程序员职业素养的一种呼唤。书中不仅提供了丰富的技术细节,更重要的是传达了一种对代码质量和职业态度的重视。通过学习本书,不仅可以提升个人的编程技能,还能...

    林锐,高质量C++,C编程指南.pdf

    《高质量C++/C编程指南》不仅是技术上的指导,也是对编程态度和职业道德的呼唤,提醒程序员不仅要追求技术的精湛,更要注重软件质量的提升,培养良好的编程习惯和职业素养。通过遵循这些指南,可以显著提高代码的...

    运用RUP 4+1视图方法进行软件架构设计

    运用RUP 4+1视图方法进行软件架构设计,不仅能够有效地解决复杂需求的处理问题,还能确保软件系统的高质量交付。通过对不同需求类型的全面考虑和合理设计,软件架构师能够更好地满足用户的需求,提高软件产品的市场...

    软件工程专业-大学生职业生涯发展与规划结课作业.doc

    软件工程专业不仅涉及编程技术,更涵盖了项目管理、软件生命周期、质量保证等多个方面,因此,学生需要有清晰的自我认知和全面的职业规划,以便在未来职场中脱颖而出。\n\n首先,【自我认知】是规划的基础。软件测评...

    电子政务/电子商务应用呼唤Borland应用生命周期解决方案

    - 提供Audits&Metrics功能,帮助监控项目质量和提高软件质量。 - 自动生成设计文档,并支持与其他第三方工具的集成。 3. **开发编程** – **开发工具**: - Borland提供了一系列的快速应用开发(RAD)工具,如...

    中科院计算所培训中心-高级系统架构培训教材

    **3.10 时代呼唤优秀的软件架构师** - **优秀软件架构师的重要性**:强调了在这个快速发展的技术时代中,优秀软件架构师的重要性和需求。 以上内容涵盖了高级系统架构设计的关键知识点,旨在为读者提供全面而深入...

    电子商务对企业会计的影响-1.docx

    四是新的环境产生了对职员的新的要求,电子商务信息的传递与处理均要通过对计算机的操作来完成,要求会计人员既是一名出色的计算机操作员,又是一名高水准的会计师并能熟练掌握多种软件。 三、电子商务呼唤网络财务...

    电子商务对企业会计的影响.docx

    电子商务信息的传递与处理均要通过对计算机的操作来完成,这就要求会计人员既是一名出色的计算机操作员,又是一名高水准的会计师并能熟悉掌握多种软件。 此外,Internet上的公司多数是国际企业间的相互合作,涉及...

    【Android峰会】如何高效高质进行Android技术开发

    如何高效高质进行...热爱分享的一线讲师,专家,针对Android开发从多个角度各抒己见,既有深入细节的视频硬解稳定性和性能监控的主题,还有关注软件质量,利用新语言打造美丽代码,以及构建更安全应用的心声呼唤。

    运维系统的市场分析报告.doc

    华胜天成通过收购摩卡,不仅增强了自身在IT运维市场的竞争力,也预示着行业内部的竞争加剧,市场份额的再分配,以及对技术创新和服务质量的更高要求。 5、IT运维上阵企业综合管理随着企业信息化程度的提高,IT运维...

    建筑项目管理信息化意义重大.docx

    每年庞大的基础设施投资与科学化、现代化的项目管理手段之间的不平衡,呼唤着更加适应国情的工程项目管理软件的开发和应用。 在实践中,工程项目管理信息化能够减少竣工资料编制的工作量,积累项目过程数据,推动...

    大数据-算法-曲靖市普通高中数学实验教科书使用情况调查研究.pdf

    研究采用了知识测试、SPSS17.0统计软件定量分析,辅以课堂观察和教师、学生的访谈进行定性分析,旨在了解教师对教科书的使用水平以及存在的问题。 首先,研究明确了教科书在教学中的核心地位,作为主要的教学资源,...

    要努力使自己成为终身学习的楷模.docx

    只有这样,他们才能在教育工作中游刃有余,持续为学生提供高质量的教育服务。 教师的职业特性决定了他们的责任重大。社会中不乏没有深厚学识但依然成功的人,然而,教师的角色并非如此简单。他们是塑造未来的建筑师...

    手机短信铃声,小新大喊小白

    MP3是一种广泛使用的数字音频压缩格式,它能在保持相对高质量的同时,大大减小文件体积,适合用于手机等移动设备。 3. **文件管理**:在手机上管理自定义铃声通常需要通过文件管理应用,将下载的音频文件移动到指定...

    运维系统的市场分析实施报告.doc

    实证研究表明,采用ITIL的企业在IT人员生产力、效率和系统稳定性方面均有显著提升,其投资回报率(ROI)也相当高。 2、 IT 运维市场国外竞争分析 IT运维市场分为面向计算机网络和电信网络两大类,虽然对象不同,但...

    实时语音信号处理系统设计

    这类芯片具有使用方便、外部元件少以及没有常见背景噪音的特点,适用于高质量语音采集。 3. **外部存储介质**:系统采用了SD卡作为外部存储介质。SD卡具有大容量、易更换和成本低廉的优点,适合存储大量的语音数据...

    智能制造时代机械设计制造及其自动化技术的探讨.pdf

    智能制造时代机械设计制造及其自动化技术探讨涉及到机械设计、智能制造、自动化系统等多个领域,其目的在于促进制造业向更高效率、更优品质、更绿色可持续的方向发展。在这一时代背景下,智能机械制造显示出其显著的...

    2018年宁波市第六医院物业楼宇智能化治理院内议标文件.pdf

    4. **病房呼唤系统**:对全院对讲主机设备进行每月检查,及时排除故障并进行设备维修,更新备品备件,进行软件升级。 5. **安保监控系统**:提供日常故障处理及定期检查,保证视频质量,清理摄像机镜头,定期检查...

    ppt精选模板:大数据什么是大数据云计算PPT模板设计.pptx

    大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。根据Gartner的定义,"大数据...

Global site tag (gtag.js) - Google Analytics