基于CMM的软件需求管理平台设计与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
目前软件组织在产品生产过程中普遍存在开发周期长,自动化程度低,质量难以控制,用户满意率差,生存期短,失败率高等问题。解决上述问题的根本出路在于提高软件组织的过程改进能力和过程管理能力。卡内基-梅隆大学软件工程研究所(SEI/CMU)提出的软件能力成熟度模型CMM(Capability Maturity Model)是软件组织开展软件工程管理的一套规范而严格的系统化管理模型,已成为国际公认的评价软件组织能力、帮助改善软件质量、提高软件过程改进能力的方法。但由于CMM只给出了进行软件过程改进的文档化说明,并没有给出具体的实施步骤,其模型和理论体系未能从实践的角度、以可操作的形式给软件组织提供改进其软件开发流程和项目管理方式的平台,而这方面的工作是实施软件过程管理的基础和前提条件 。
    本文系统地介绍了CMM的发展、总体框架、内部层次、过程可视性和评估方法,对与软件过程相关的国际、国内标准,即ISO9000系列、ISO/IEC软件生命周期过程和CMM能力成熟度模型进行了归纳、分析和比较,结合TQM(全面质量管理思想)、软件生命周期模型、CMM、及CMM的理论模型——IDEAL模型,提出了一个具有针对性和可操作性的软件过程改进模型——集成化过程改进模型,并详细讨论了该模型的内部结构和具体内容,以及集成化过程改进模型的理论模型——IPSDCA模型的设计。
    在对CMM体系的内容进行探讨和分析的基础上,本文根据CMM划分的5个成熟度等级、18个关键过程域涵盖的内容,将整个软件生命周期涉及的活动,按照性质重新整合,划分为19个过程域,分属项目管理、项目研发、 组织支持三类软件过程。借鉴Rational公司开发RUP核心工作流的思想,本文引入“线性+并行+迭代”的技术方法,在软件开发的早期,采用并行和迭代的手段实现需求分析、设计和系统测试的增量式开发,分别对软件技术开发过程域模型和软件技术管理过程域模型进行了设计,实现了在软件项目开发生命周期的全过程中对需求进行全程管理。在软件生命周期前五个项目研发过程域——需求开发、技术预研、系统设计、实现与测试、系统测试的末期都设有缓冲时间——技术评审,以在最高的效率和较好地对未来作出预计之间求得平衡,为软件组织能够应付意外的困难和影响时间进度的变故提供了一种解决方法。
    鉴于软件过程度量是贯穿整个软件过程的一个尺度,是控制软件产品质量和软件过程质量的必不可少的手段,作者对度量实施的途径和方法作了探讨,开发了基于问题驱动的度量过程模型,为整个软件开发过程提供了控制手段。
    在探讨了需求管理对软件开发活动以及提高软件过程能力方面的重要性之后,
    
    
    对集成化过程改进模型包含的19个过程域中的风险管理、立项管理、结项管理、需求开发、需求管理5个过程域进行了技术实现,开发出帮助软件组织建立和执行软件需求管理的工具——软件需求管理平台,它为需求分析阶段提供了定义良好的层次化结构,向软件组织提供项目需求分析阶段的软件支持环境,有助于组织对待开发产品的特性进行灵活的增加、删除与改进。
    文中还给出了平台系统的设计框架和具体实施要求,整个需求管理平台基于三层分布式结构进行开发,前台提供客户端的各种应用程序,中间层以组件的形式实现类和对象,后台数据库服务层分类存放涉及需求分析的组织信息、产品信息和外部支持信息(如将未被评审通过的多个需求变体放置在后台数据库层的定义过程库,已评审通过的需求基线放置在标准过程库),各层之间以邮件通信和消息驱动的方式支持项目相关人员的相互交流和并行开发,在文章的最后对全文进行总结,探讨了针对不同软件项目的开发过程,具体使用该软件需求管理平台时的一些注意事项,指出研究的不足之处和进一步研究的展望。
     借助软件需求管理平台,软件组织能对需要的软件功能和约束进行提取、组织和文档化,有助于项目相关人员清晰地理解待开发软件产品所要解决的问题的定义和范围,在迭代的需求分析过程、需求管理过程、需求变更控制过程等方面,平台针对所有的关键开发活动提供了必要的规程、模板和工具指导,并以交互通信的方式确保全体成员共享软件组织的经验知识,需求分析人员能较容易地规定出产品特性的细节和技术上的相关性,以及对某个需求特性进行更集中的讨论,从而提前发现必须解决的问题以及有关待开发产品需要变更的一些功能,从而在软件开发过程中实现需求管理和软件开发后续活动的同步控制。
     CMM已经成为继ISO9001之后软件组织普遍关注的焦点,文中叙述的软件需求管理平台实现了基于CMM的集成化过程改进模型的19个过程域中的5个过程域的内容,但还没有实现该模型的全部内容,因此,软件需求管理平台目前还不能支持多项目的开发,这在一定程度上降低了在软件组织内部大范围交互式共享组织经验知识的可能性,这些都是下一阶段研究工作的重点。
Now, software organization has a lot of problems in product production process generally, such as the long development cycle, lower automation level, quality is hard to be controlled, user satisfaction is bad, survival issue is short and higher mortality, etc. The basic outlet that solves above-mentioned problems lies in: raising the process improvement capability and process management capability of software organization. Software Engineering Institute of Carnegie-Mellon University (SEI/CMU) has put forward software capability maturity model CMM (Capability Maturity Model). It is a set of systematized management model with strict specification and has already become international recognized method to appraise software organization capability, helping to improve software quality and raise the software process improvement capability. But CMM only provides the documental explanation that carries out software process improvement, it does not give the steps to implement, and its model and theoretical system could not offer the improvement platform of software development process and project management way to software organization with operable form and practical view. Therefore, the work of this aspect is the basis and precondition of software process management implementation.
    This paper has systematically introduced the development, overall frame, internal levels, process visuality and assessment methods of CMM.. After analyzing and comparing with the international and domestic standard related to software process, such as the ISO9000 series and ISO/IEC software life cycle process and CMM capability maturity model , combining TQM (total quality management), software life cycle model, CMM and the theory models of CMM—IDEAL model, the author proposes a pointed and effective software process improvement model —the integrated process improvement models. Then the author discusses the inside structure and concrete content of the model in details, and the design of the theoretical model of integrated process improvement –IPSDCA model.
    On the basis of discussion and analysis on the CMM content, according to the 5 maturity grades that CMM divides and the content which 18 key process areas contain, this paper combines all the activities that involve in software life cycle according to the process nature, divides 19 process areas which are distributed on three software processes: project management, project research and development, organization supporting. And drawing lessons from the thought of the key work flow in the RUP that is developed by Rational Company, the paper introduces the technological concept— " linear plus parallel plus iteration ". On the earlier stage in software development, the concept adopts parallel and iterant means to realize the incremental development of the requirement analysis, design and system testing. The author designs the software technical development process area model and the software technical management process area model respectively, and realizes the management of requirement on whole journey in the whole process of software project development life cycle. In latter stage of the five project
    
    
    development process areas—requirement development, technology grind, system design, realization and test, system test in earlier stage of the software life cycle, there is buffer time—technology evaluate, in order to get balance between supreme efficiency and expecting for the future better, which offers a kind of means to deal with unexpected difficulties and accidents influencing schedule for software organization.
    Seeing that software process measurement is an essential yardstick which runs through in the whole software process to measure and control the quality of software product and software process, author makes a discussion to the way and method of acting the measurement, develops measurement process model based on question-drived, offering the means of controlling for the whole software development process.
     After having discussed the importance of requirement management fo
引文
[1] Watts S.Humphrey.软件过程管理.北京:清华大学出版社,2003年4月.
    [2] 何新贵,余林生.软件能力成熟度模型.北京:清华大学出版社,1999年.
    [3] Watts S.Humphrey.CMM Integration Project Capability Maturity Model Integrated—Systems / Software Engineering [CMMI—SE / SW v0.2b] .Addision Welsey,September 1999.
    [4] Watts S.Humphrey and D.H.Kitson.Preliminary Report on Conducting SEI-Assisted Assessments of Software Engineering Capability.Software Engineering Institute,Carnegie Mellon University Technical Report SEI-87-TR-16,July 1987.
    [5] Deming W.E.Quality,Productivity,and Competitive Position.Cambridge MA:
    Massachusetts Institute of Technology Center for Advanced Engineering Study,1982.
    [6] Crosbv.P.B.Quality Is Free .New York :McGraw-Hill,1979.
    [7] Watts S.Humphrey.The IBM large-systems software development process:Objectities and direction.IBM Systems Journal ,1985,vol 24:no 2
    [8] Curtis.W.,H.Krasner and N.Iscoe et .On building software process models under
    the lamppost.IEEE Proceedings,9th International Conference on Software Engeering,Monterey,CA,March 30-April 2,1987.
    [9] http://www.21cmm.com
    [10] Dennis M.Ahern.CMMI Distilled:A Practical Introduction to Integrated Process
    Improvement .by Addision—Welsey ,2003
    [11] 朱三元,钱乐秋,宿为民.软件工程技术概论.北京:科学出版社,2002年
    [12] Watts S.Humphrey.Research on IDEAL Model-Measuring and managing software
    maintenance.IEEE Software,September 1991.
    [13] Sharon E.Miller.Using ISO9000 and CMM in a small Development Environment.
    Pacific Northwest Software Quality Conference,8th International Conference on
    Software Quality,1998
    [14] Ronald.JcNorman.Object Oriented Systems Analysis and Design[M]1Prentice2Hall
    International ,1996
    [15] Elaine M.Hall.风险管理.北京:清华大学出版社,2003年4月
    [16] Richard C.Lee,William M.Tepfenhart.Practical Object-Oriented Development
    With UML and Java.北京:清华大学出版社,2003
    [17] Bowen.T.P.,C.B.Wigle and J.T.Tsai.Specification of Software Quality
    
    Attributes,RADC-TR-85-37,Rome Air Development Center,February 1985
    [18] Paul Clarmantts,Rick Kattsman and Mark Clairn.Evaluating Software Architectu-
    res:Method and Case Studies.北京:清华大学出版社,2003
    [19] Robert.C.Saicurd.Building Systems from Commercial Components.北京:清
    华大学出版社,2003
    [20] Roger S.Pressman著.黄柏素,梅宏译.北京:电子工业出版社,1999
    [21] Top—Level Standards Map ISO12207,ISO 15504 (Jan 1998 TR),Software CMM
    v1.1 and v2 Draft C23,February 1998
    [22] Watts S.Humphrey.Winning with Software.by Addision – Welsey,2002
    [23] Mark C.Paulk,Bill Curtis,Mary Beth Chrissis.Capability Maturity Model ,
    Version 1.1,[ J ] 1IEEE Software10 (4):182271,1993
    [24] Collofello,J.S.The Software Technical Review Process,SEI Curriculum Module
    SEI-CM-3-1.1,Pittsburgh,PA:The Software Engineering Institute,Carnegie Mellon University,April 1987
    [25] Schulmeyer,G.G.and J.I.McManus.Handbook of Software Quality Assurance.
    New York:Van Nostrand Reinhold,1987
    [26] IEEE Draft Standard for Software Review and Audits,(IEEE STD 1028-1988),
    IEEE Computer Society.January 22,1988
    [27] Lehman,M.M.and L.A.Belady.Program Evolution,Process of Software Change.
    New York:Academic Press,1985
    [28] Henderson,P.B.and D.Notkin.Integrated design and programming environments.
    IEEE Computer,November 1987,vol 20:no11
    [29] M.C.Paulk et al.The Capability Maturity Model for Software:Guidelines for
    Improving the Software Process.by Addison—Wesley,1995
    [30] M.C.Paulk.How ISO9001 compares with the CMM.IEEE Software,Jan.1995
    [31] U.K.Dept.of Trade and Industry and British Computer Society,TickIT :A Guide
    To Software Quality Management System Construction and Certification Using EN29001.1992
    [32] R.C.Bamford and W.J.Deibler 2.Comparing,constrasting ISO9001 and SEI
    Capability maturity model.IEEE Computer,October 1993,pp.68-70
    [33] International Standard Organization.ISO 9000-3:Guidelines for the Application of
    ISO9001 to the Development,Supply and Maintenance of Software.1991
    [34] Ahern,Dennis,Richard Turner andAaron Clouse.CMMI Distilled:A Practical
    Introduction to Integrated Process Improvement.Addison Wesley Longman,Inc 2001
    [35] Zahran,Sami.Software Process Improvement:Successful Models and Strategies.
    
    Addison Wesley Longman,Inc 1998
    [36] McFeeley Bob.IDEAL,A User′s Guide for Software Process Improvement[R],CMU/ SEI2962HB20011,1996
    [37] Renato L.Della,Farley SMNobre, Marccelo S.P.Pessoa,et al,The Role of
    Software Process Improvement into Total Quality Management:An Industrial Experience [ C ] 1 the Proceedings
    [38] IEMC22000:Leading Technology Change Management Issues and Challenges, P29234,Albuquerque,New Mexico,USA,August 13215
    [39] James R.Persse著,王世锦 蔡愉祖 译.CMM实施指南.机械工业出版社,2003
    [40] 包晓春,廖培林.计划编制与进度控制方法论.上海普华应用软件有限公司,1999年
    [41] Priestley M..面向对象设计的UML实践.北京:清华大学出版社,2000
    [42] 张龙祥.UML与系统分析设计.北京:人民邮电出版社,2001
    [43] 王立国.可行性研究与项目评估.东北财经大学出版社,2001
    [44] 席相霖.项目管理软件Project 2000使用大全.中国建筑工业出版社,2001
    [45] 毕星,翟丽.项目管理.上海:复旦大学出版社,2000年
    [46] 特莱沃.L.扬.成功的项目管理.长春:长春出版社,2001
    [47] 拉尔曼.UML和模式应用:面向对象分析与设计导论,2002
    [48] Pankaj Jalote 著.胡春哲,张洁 等译.CMM 实践应用——Infosys 公司的软件项目执行过程.北京:电子工业出版社,2002年
    [49] Carnegie Mellon University 著.刘孟仁等译.能力成熟度模型(CMM):软件过程改进指南.北京:电子工业出版社,2001
    [50] Joseph Phillips 著.冯博琴 罗建军 朱丹军 等译.实用IT项目管理.北京:机械工业出版社,2003
    [51] http://www.pm2go.com/
    [52] Daniel J.Paulish 著.以体系结构为中心的软件项目管理.北京:机械工业出版社,2002
    [53] Phillippe Kruchten 著.Rational统一过程引论.北京:机械工业出版社,2001
    [54] Watts S.Humphrey.施平安 译.软件制胜之道.北京:清华大学出版社,2002

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700