时间:2022-04-09 20:33:18
导语:在信息系统质量管理论文的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
关键词:软件需求;领域分析;质量属性
中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)16-4424-02
Research and Application of Software Quality Improved Based on Software Requirement
WANG Yan-xing, YE Jing-fa
(College of Computer, Beijing University of Technology, Beijing 100124, China)
Abstract: Software is applied in more and more domain with the quickly development and application of the computer technology. At the same time, scale and complexity of software requirement is increasing day by day. Requirements analysis is a key activity in software life cycle,quality of software requirement can affect quality software directly. It selected an effective approach with the use of objected domain analysis to verification quality of requirement.
Key words: software requirement; domain analysis; qualityproperty
随着科学技术和社会生产力的不断发展,信息技术最快的发展速度和最强的渗透能力,广泛应用于社会各个领域。软件的规模越来越大,与此相对应软件的需求也越来越复杂。正如“软件危机”(software crisis)所阐述的两方面:如何开发软件以满足不断增长日趋复杂的需求和如何维护数量不断膨胀的软件产品。截至到目前, 如Brooks所言,解决软件危机的“Silver Bullet” 还没有出现[1]。需求分析是软件研发的起始阶段,高质量的需求分析是软件项目迈向成功的第一步。
1 需求是软件质量的根源
ISO9126的信息技术标准[2]中定义软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征总和,它充分表明软件系统是满足用户需求的实体。在研究中发现软件缺陷产生的原因分布在软件研发的各个阶段,软件产品说明书(需求)占56 %,设计占了27%,编写代码占7%;其他占10%。可见软件缺陷的最大原因是软件产品产品说明书和软件设计。在生命周期中发现缺陷越早,修正问题的成本越低。软件质量的管理不是IT自身的需求,而是业务应用的需求[5]。需求阶段的问题不解决,相当于在错误的方向上不断浪费人力物力[6]。Jones在报告中声称扩展需求对80%的管理信息系统和70%的军事软件造成风险[7],需求的质量将直接影响软件质量[8]。协调统一的高质量需求是软件开发成功的首要条件,需求质量的改进则成为软件开发的首要任务。
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求阶段包括了需求开发和需求管理两个部分。而需求工程是一个不断反复的需求定义、记录和演进的过程。软件需求包括三个不同的层次--业务需求、用户需求和功能需求--也包括非功能需求[9]。需求是软件开发中最复杂的环节,现在软件需求分析中发现需求具有明显不完整性、不确定性及变化性等特点。提高需求质量在于如何改进和克服需求上述特征因素。
2 领域分析对软件需求改进
了解顾客的需求是软件质量管理的第一步。无论是领域工程还是应用工程,领域分析都是至关重要的。在应用工程中,软件开发的首要任务是在特定的范围内,针对一组特定的需求产生一组特定的设计和实现。因此在设计之前,必须正确获得和理解软件需求,而正确获得和理解软件需求的前提是对应用系统的工作领域有充分的认识和理解。
2.1 领域和领域分析方法
领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能、问题、问题解决方案或知识区域[10]。领域工程则为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用软件构件的所有活动[11]。领域工程包括三个主要的阶段:领域分析、领域设计、领域实现。
领域分析(Domain Analysis)是Neighous1981 年在他的博士论文“使用部件的软件构筑”中首次提出的[12],它的含义是指“识别、捕获和组织特定领域中一类相似系统内对象、操作等可复用信息的过程”。领域分析是基于已经存在的系统和它们的发展开发历史、基于从领域专家获得的知识、背景理论、领域中新技术的基础上,识别、收集、组织以及表示领域中相关信息的过程。领域分析进行识别领域边界,通过分析领域需求,提取出某领域内系统的共性及可变部分从而建立领域模型。
2.2 面向领域方法的需求分析
提高软件需求质量的最有效方法是准确获取用户的真实需求(功能和性能)。领域分析方法中涉及到广泛的涉众:如最终用户、领域专家、领域分析员、系统投资人、需求分析员等等。领域专家对行业信息化有丰富经验。最终用户则能反应系统应用的典型业务需求,系统投资人则更多关注领域的发展和运营。以最终用户中心,面向领域的需求分析方法有效捕获从应用专业领域别是直接从最终用户的需求,并完整、准确地予以描述与分析。软件的需求从用户中来,软件的使用又到用户中去。Harwell强调今天的用户和开发者必须协同工作,以成功完成开发过程[13]。领域分析中参与涉众的广泛性和代表性解决需求的不完整性、使用领域语言对问题阐述保证问题的一致性。对领域问题分析的深度和广度,防止了需求的频繁变化和变更。而且即使变化也会在预先可控范围内的调整和扩展,减少对领域模型的冲击。领域分析立足于满足现有业务的需求同时它还代表系统的一种发展方向和系统对未来业务发展的适应能力。保证应用工程需求的稳定性和系统性。通过分析领域需求的共性和可变性有利软件产品线形成和演化。
领域工程是建立系统家族及支持系统演化的基础和前提。面向领域的需求分析从需求问题的分布可以将领域为纵向(垂直)领域和横向(水平)领域,其中垂直领域是指具有相似业务需求的一组相似应用系统所覆盖的业务区域。水平领域是指根据应用系统内部模块的功能性分类而得到的相似问题空间。领域分析方法从问题域出发将问题逐步深入逐步求精,通过横向拓展和纵向拓展对需求进行挖掘。借鉴和学习国内外同行业和相近行业的经验,并在此的基础上不断提出创新方向引导需求和发展需求。领域分析在一定程度上预测未来需求的发展趋势,使软件的需求能方便、快速适应市场的变化。
软件的功能需求满足了业务需求和用户需求,而非功能需求则是软件质量的内在体现。非功能需求是保证业务流程正常运转的前提和保障。是衡量软件能否良好运行的定性指标。质量属性是软件质量的综合体现。质量属性是客户希望的特征,属性并不是单独存在的,而是一个或多个功能的附属特征。软件的整体质量是各种质量属性之间的权衡和优化。为了达到产品特性的最佳平衡,在需求获取阶段识别和确定相关的质量属性,领域涉众需要确定质量属性之间的优先级,已达到系统整体质量的合理优化。
3 领域分析方法的应用案例分析
随着经济全球化和新技术革命发展,数字化、融合化、全球化发展和媒介竞争是世界文化传媒业的发展大势。广电传媒业要打造核心竞争力,实现可持续发展,就必须通过体制改革,强化管理,整合企业流程,创新服务模式。数字电视业务的逐步深入,原来的业务系统正成为制约广播电视发展的瓶颈,主要表现为以下几个方面:广播电视各业务系统各自独立运行,数据和业务管理分散。无法实现客户资料的统一管理,无法实现业务统一规划运营。无法从业务数据中挖掘有价值的信息,更不能为企业管理层提供决策支持,企业很难推出快速响应市场的高效运营方案。因此广电需要一个功能完善的、面向未来的综合业务运营支撑系统(BOSS系统)来整合替代原来各个分散的系统。对广电领域的分析成为建设多业务综合运营支撑系统的首要问题。应用面向领域分析方法对广电行业进行需求探索和研究,提出了广电综合业务支撑系统的业务模型如图1。
领域分析方法为业务模型建立提供有效的思路。领域纵向分析中充分参考了电信行业,电信行业与广电行业有很多相似之处而且有很多成熟的运营经验,也充分借鉴了国际电信管理论坛(Tele Management Forum)。领域横向分析全面整合广电企业目前的系统,建立“以客户为中心”的模拟、数字、增值多业务广电运营支撑平台。以多种接入方式满足现有业务、未来数字整体转换和增值业务的需求。以客户为中心为客户提供个性化、社会化、信息化的产品营销模式。调整企业内部组织结构和整合企业内部资源,同时加强企业产品提供商的合作产业链。在新的业务平台和市场竞争中寻求企业运营的商业模式。随着运营商区域并购联盟、广电业务和用户规模将剧增,业务系统数据量将更加庞大,为能满足不断发展的用户需求和提高服务质量。系统运行的安全可靠性和事务的高性能处理成为系统整体质量的体现。
通过领域分析方法提出的模型满足运营商的组织结构管理、业务需求和业务管理模式,完成企业信息化建设实现资源和信息的共享。实现业务规范、责权明确、各部门间的协同的管理。基于此需求分析的系统能全面降低企业运作成本,提高公司的整体运作效率,大幅拓展业务,进一步提高企业的核心竞争力。
4 总结
软件需求的质量将直接影响软件产品的质量,改善需求的质量是非常必要和有效的环节。本分探讨了领域分析方法对软件需求的改进,并在广电业务支撑系统需求分析中进行了应用和探索。
参考文献:
[1] BROOKS F P.THE MYTHICAL MAN-MONTH[M].北京:清华大学出版社,2002:42-43.
[2] International Organization for Standardization.International Electro-technical Commission ISO/IEC9126:Information Technology--Software Product Evaluation:Quality Characteristicd and Guidelines for Their Use[S].Chicago:Thomson,1991.
[3] Little wood B.Software Reliability Achievement and Assessment[M].Henley-on-Thames,England:Alfred Waller,Ltd,1987.
[4] Mizuno O,Kikuno T,Inagaki K,et al.Analyzing effects of cost estimation accuracy on quality and productivity[C]//Proceedings of the 1998 20th International Conference on Software Engineering.Kyoto,Japan:IEEE Comp Soc,1998:410-419.
[5] 张郁.软件质量源自应用需求[N].每周电脑报,2005-11-21:90.
[6] 杰拉尔德・温伯格.探索需求-设计前的质量[M].章柏幸,王媛媛,谢攀,译.北京:清华大学出版社,2004:175-176.
[7] Jones C.Estimating Software Costs[M].Boston:Addison-Wesley,2000.
[8] BERKI E,GEORGIADOU E,HOLCOMBE M.Requirements Engineering and Process Modeling in Software Quality Management―Towards a Generic Process Metamodel[J].Software Quality Journal,2004(12):265-283.
[9] 陆丽娜.软件需求[M].北京:机械工业出版社,2002:35-39.
[10] Tracz W.Domain-specific software architecture (DSSA) frequently asked questions (FAQ)[J].Software Engineering Notes,1994,19(2):52-56.
[11] Tracz W.Confessions of a UsedProgram Salesman Institutionalizing Software Reuse[M].New York:Addison Wesley Publishing Co.,1995.