CMMI过程支持平台IPSS的研究,设计与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
为了持续地获得理想的软件质量,提高软件开发效率,降低开发成本,现代许多企业纷纷引进了软件过程模型CMMI(Capability Maturity Model Integration)。CMMI为我们提供了经过充分定义的、可重复的过程模型。但CMMI只描述了一个成熟组织应具有的软件过程能力,不同的企业,要根据自身特点给出相应的实施方案。
     CMMI过程模型关注于过程改进,即通过改进过程来改进软件质量。在过程改进中我们遇到了两个难题,首先,如何持续改进过程,其次,如何保证项目遵循过程域,针对这个问题我们深入研究了过程与产品质量保证过程域(Process and Product Quality Assurance, PPQA),并以此为指导,提出了集成过程支持系统IPSS(Integrated Process Support System)的实施方案。该系统实现了项目级的质量保证支持工具(Software Quality Assurance, SQA Tool)和组织级别的内部审计支持工具(Internal Audit Tool),并将两个子工具与系统门户IPSS Portal进行无缝集成。在Portal中,我们引入了基于角色的权限控制模型CORE RBAC(Role-Based Access Control),结合IPSS系统自身的特点,给出了系统单点登陆的解决方案。
     在IPSS的总体架构设计上,采用了流行的Web框架Struts和O/R Mapping技术Hibernate。针对B/S三层结构中存在的弊端,我们在系统业务逻辑层和数据访问层增加了持久化层Hibernate,降低了系统的耦合性。除此以外,我们还引入了业务代理(Business Proxy模式),封装了复杂的数据库访问操作,对业务逻辑层提供业务接口,在进一步的降低系统耦合性的同时,提高了系统的可维护性,扩展性和灵活性等特点。
     本文的研究来源于惠普全球软件服务中心(HP GDCC)内部的IQMS集成质量管理系统项目。本文所研究的IPSS过程支持系统是IQMS项目的重要组成部分。IPSS系统是从CMMI软件过程模型到软件开发过程支持,从过程理论到工程实践的一个全新的尝试,对其它软件过程模型的实践有很好的借鉴意义。IPSS的应用,提高了软件项目的可视性和可控性,在验证软件项目是否遵循软件过程的同时,保证了软件的质量,也为过程改进积累了丰富的经验数据。
For the continuous improvement of software quality, software development efficiency and cost decrease, many companies start to use software process model CMMI (Capability Maturity Model Integration). CMMI provide us with defined and repeatable process model. While CMMI only describes what software process capability a mature organization should have, different companies should define their own practices.
     CMMI mainly focuses on process improvement. Software quality could be improved through process improvement. During this process, we meet some tough problems. First, how to improve process continuously? Second, how to guarantee projects following the process area? Aiming at solving this problem, we delve into PPQA (Process and Product Quality Assurance) area and give a solution called Integrated Process Support System based on that guide. IPSS implements two sub tools, one is project level’s SQA ((Software Quality Assurance) Tool and the other is organizational level’s Internal Audit Tool. These two tools are seamlessly integrated with IPSS Portal. In portal model, we introduce CORE RBAC (Role-Based Access Control) model and give a single sign-on solution according to IPSS application’s characteristics.
     This thesis’s research originates from HP GDCC’s internal project called IQMS (Integrated Quality Management System). IPSS is a brand new pilot from CMMI model to software development process support. It alos set up a good model for other software process model’s practice. The application of IPSS, improve the software development’s visibility and control degree. It helps to guarantee the software development follow the process area and provide experienced data to the company’s historical database for future use.
引文
[1] Software Engineering Institute, Capability Maturity Model Integration for Software Engineering 1.1, Carnegie Mellon University, 2002
    [2] A Guide to the Project Management Body of Knowledge Third Edition, Project Management Institute, 2004
    [3] Dobbins James H. Software Quality Assurance and Evaluation. Milwaukee:ASQC Quality Press, 1990
    [4] Horch John W. Practical Guide to Software Quality Management. Boston/London: Artech House Inc , 1996
    [5] Janardhanam Arulmozhi, Devi Vijayakumar. Prescriptive Model of the Peer Rewview KPA, 1999
    [6] Roger S.Pressman 著,梅宏译. 软件工程—实践者的研究方(Software Engineering A Practitioner’s Approach). 机械工业出版社, 2002
    [7] Dennis M. Ahern, Aaron Clouse, Richard Turner 著, 陈波译. CMMI 精粹--集成化过程改进实用导论(第 2 版)(CMMI Distilled:2nd Edition). 清华大学出版社,2005
    [8] Stephen H.Kan 著,吴明晖等译. 软件质量工程—度量与模型(Metrics and Models in Software Quality Engineering Second Edition). 电子工业出版社,2004
    [9] John McGarry, David Card,CheryJones, Beth Layman, Elizabeth Clark, Joseph Dean, Fred Hall著,吴超英等译. 实用软件度量(Practical Software Measurement Objective Information for Decision Makers), 2003
    [10] Gerard O’Regan 著,陈茵等译. 软件质量实用方法论(A Practical Approach to Software Quality). 清华大学出版社,2003
    [11] G.Gordon Schulmeyer, James I. Mcmanus 著,李怀璋等译. 软件质量保证(Handbook of Software Quality Assurance). 机械工业出版社,2003
    [12] 张海藩. 软件工程导论. 清华大学出版社,2003
    [13] 观点工作室. CMM 实践之路. 机械工业出版社,2002
    [14] Walker Royce 著, 周伯生译. 软件项目管理-一个统一的框架(Software Project Management -A Unified Framework). 机械工业出版社,2002
    [15] Sami Zahran 著,陈新等译. 软件过程改进(Software Process Improvement: Practical Guidelines for Business Success). 机械工业出版社 ,2002
    [16] Gopalaswamy Ramesh 著,陈新等译. 全球化软件项目管理(Managing Global Software Projects). 机械出版社,2003
    [17] Geri Schneider, Jason P. Winters 著,姚淑珍等译. 用例分析技术(Applying Use Case). 机械工业出版社,2002
    [18] Craig Larman 著, 李洋等译. UML 和模式应用(第 3 版)(Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) ),机械工业出版社,2006
    [19] Peter Eles, Kelli Houston, Wojtek Kozaczynski 著, 尤克滨等译. 基于 RUP 构建 J2EE 应用(Building J2EE Applications with the Rational Unified Process). 机械工业出版社,2004
    [20] 孙卫琴. 精通 Struts:基于 MVC 的 JavaWeb 设计与开发. 电子工业出版社,2005
    [21] 孙卫琴. 精通 Hibernate:Java 对象持久化技术详解. 电子工业出版社,2005
    [22] 陈天河. Hibernate 项目开发宝典. 电子工业出版社 ,2006
    [23] Marty Hall,Larry Brown 著,赵学良译. Servlet 与 JSP 核心编程 (Core Servlets and JavaServer Pages:Volume 1:Core Technologies). 清华大学出版社 ,2004
    [24] Bill Venners 著,曹晓钢等译. 深入 JAVA 虚拟机(Inside the Java Virtual Machine) . 机械工业出版社,2003
    [25] Nicholas C.Zakas 著, 曹力等译. JavaScript 高级程序设计 (Professional JavaScript for Web Developers). 人民邮电出版社 , 2006
    [26] 杨磊, 陈凌云. 精通 Eclipse Web 开发——Java 体系结构、工具、框架及整合应用. 人民邮电出版社,2006
    [27] 梁立新著. 项目实践精解:基于 Struts-Spring-Hibernate 的 Java 应用开发. 电子工业出版社 ,2006
    [28] 张洪伟. Tomcat Web 开发及整合应用. 清华大学出版社,2006
    [29] Donald K.Burleson 著,王军德等译. Oracle 9i UNIX 管理手册(Oracle9i UNIX Administration Handbook). 机械工业出版社, 2003
    [30] Scott Urman 著, 陈维军. Oracle9i PL/SQL 程序设计(Oracle9i PL/SQL Programming ). 机械工业出版社 , 2002
    [31] 袁福庆著. Oracle 数据库管理与维护手册. 人民邮电出版社,2006
    [32] James W.Cooper 著,王宇. Java 设计模式 (Java Design Patterns ). 中国电力出版社 , 2003
    [33] Alan Shalloway, James R.Trott 著, 徐言声译. 设计模式解析(Design Patterns Explained:A New Perspective on Object-Oriented Design). 人民邮电出版社,2006
    [34] 彭晨阳. Java 实用系统开发指南. 机械工业出版社,2004
    [35] Vincent Massol. Junit in action. 电子工业出版社,2004
    [36] Tim Mackinnon, Steve Freeman, Philip Craig. Unit Testing with Mock Objects,2000:2-6
    [37] Alex Vollmer. Unit testing with HSQLDB, 2005:1