晏妮-一个企业级软件项目管理模型ESPM的研究_第1页
晏妮-一个企业级软件项目管理模型ESPM的研究_第2页
晏妮-一个企业级软件项目管理模型ESPM的研究_第3页
晏妮-一个企业级软件项目管理模型ESPM的研究_第4页
晏妮-一个企业级软件项目管理模型ESPM的研究_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分类号 密级 UDC 硕士学位论文一个企业级软件项目管理模型(ESPM)的研究学位申请人:晏妮学科专业:软件工程指导教师:陈传波 教授论文答辩日期 2004.10.20 学位授予日期 答辩委员会主席 评阅人 A Thesis Submitted in Partial Fulfillment of the Requirementsfor the Degree for the Master of EngineeringStudy on A Management Model (ESPM) for Enterprise Level Software Project Candidate : Yan Ni

2、Major : Software EngineeringSupervisor : Prof. Chen ChuanboHuazhong University of Science & TechnologyWuhanOctober, 2004摘 要信息时代的项目管理与传统的项目管理相比,发生了很大变化。它涉及到了技术、财务、角色、行为组织等多方面,更加注重经营目标、商业利润、综合性管理,同时强化风险管理,管理更加标准化、专业化。特别是Internet技术的发展与普及,为企业提供了快速、准确、可靠的信息交流渠道。针对企业级项目管理的特殊性,提出一个集合企业的其他运营管理与项目管理结合的ESPM系统

3、模型,将企业中的人力资源、客户服务等提出来以“按项目管理”的方式进行管理。这些管理部分是企业运营发展的重要组成部分,通过对人力资源、客户服务等进行企业级管理,给企业中的核心的项目管理提供专有功能、数据支持,以保证企业资源分配更合理化,企业效率更高。传统的软件项目管理是针对项目内的管理,目的在于跟踪控制项目过程,它只能应用于企业管理中的一部分。在企业运作中,将企业的人力、物力及财力同传统的项目管理结合,使项目过程的部分能力由企业中的综合管理提供。企业人力资源、客户服务、需求、配置的管理,通过权限管理和工作流管理对项目过程管理进行支持,使得项目管理的资源应用更加合理。在软件能力成熟度模型(SW-C

4、MM)的基础上,将ESPM模型应用于CMM与项目管理相结合的企业级项目管理系统ESSP(Excellent Software Service Platform)中,采用面向角色的one to one设计思想,通过权限控制和工作流的任务流程控制,对整个系统提供功能支持。通过ESPM系统模型的应用,完善了企业级项目管理系统的设计,同时建立了标准的、精确的项目评价和量化体系,提供了全面解决方案。关键词:软件项目管理, B/S模式, 能力成熟度模型AbstractCompared with traditional ones, very great change has taken place in t

5、he project management of information age. It not only relates to techniques, finance, roles, action organization, and so on, but also pays more attention to management object, commercial profit, complicated management. At the same time, strengthening the risk management, it makes management more sta

6、ndardized and specially. Especially, with the development and wide use of Internet, quick, accurate and reliable information communication channels can be provided to enterprises.Aiming at the particularity of enterprise level project management, an ESPM system model, which combing project managemen

7、t and some other management, is introduced to manage human resource and customer service according to project management model. This management part is the key part of enterprise operation and development. Through enterprise level management of human resource and customer service, it gives special f

8、unctions and data support of key project management, to guarantee the rationality and efficiency of enterprise resource distribution. Traditional software project management is to manage inner-project, which purpose is to follow and control project process, it can only apply to a part in enterprise

9、management. Among enterprise operation, combine human resources, material resources and financial resources with traditional ones makes some aspects of project process supplied by integrate management of enterprises. Combine human resources, customer service, demand and deploy management with privil

10、ege management and workflow management to sustain project process management can make project management resources used more rational. On the basis of SW-CMM, applying ESPM model to Excellent Software Service Platform, which combing CMM and project management, adopting one to one design pattern, con

11、trolling the rights and work flow, a strong support is provided. Through ESPM model, consummating the design of enterprise level project management system, at the same time, building an accurate evaluation system, a complete solution is introduced.Key words:Software Project Management, Browse/Server

12、 Model, Capability Maturity Model目 录 TOC o 1-2 h z HYPERLINK l _Toc85375486 摘 要 PAGEREF _Toc85375486 h I HYPERLINK l _Toc85375487 Abstract PAGEREF _Toc85375487 h II HYPERLINK l _1_绪论 1 绪论 HYPERLINK l _Toc85375489 1.1 课题背景( PAGEREF _Toc85375489 h 1) HYPERLINK l _Toc85375490 1.2 课题的研究目的及意义( PAGEREF _T

13、oc85375490 h 1) HYPERLINK l _Toc85375491 1.3 国内外相关研究情况( PAGEREF _Toc85375491 h 2) HYPERLINK l _Toc85375492 1.4 本文结构安排( PAGEREF _Toc85375492 h 6) HYPERLINK l _2_软件项目管理分析 2 软件项目管理分析 HYPERLINK l _Toc85375494 2.1 SPM的基本概念( PAGEREF _Toc85375494 h 7) HYPERLINK l _Toc85375495 2.2 SPM中CMM的应用( PAGEREF _Toc85

14、375495 h 11) HYPERLINK l _Toc85375496 2.3 SPMS的现状与发展趋势( PAGEREF _Toc85375496 h 17) HYPERLINK l _Toc85375497 2.4 SPMS的分类与比较( PAGEREF _Toc85375497 h 20) HYPERLINK l _Toc85375498 2.5 企业级SPMS目前存在的问题及策略( PAGEREF _Toc85375498 h 22) HYPERLINK l _Toc85375499 2.6 本章小结( PAGEREF _Toc85375499 h 24) HYPERLINK l

15、_3_企业级软件项目管理模型ESPM 3 企业级软件项目管理模型ESPM HYPERLINK l _Toc85375501 3.1 ESPM模型( PAGEREF _Toc85375501 h 25) HYPERLINK l _Toc85375502 3.2 ESPM模型分析( PAGEREF _Toc85375502 h 27) HYPERLINK l _Toc85375503 3.3 ESPM模型的优点( PAGEREF _Toc85375503 h 31) HYPERLINK l _Toc85375504 3.4 ESPM模型的工作成果对软件项目的作用( PAGEREF _Toc8537

16、5504 h 32) HYPERLINK l _Toc85375505 3.5 本章小结( PAGEREF _Toc85375505 h 33) HYPERLINK l _4_ESPM企业级软件项目管理模型实现 4 ESPM企业级软件项目管理模型实现 HYPERLINK l _Toc85375507 4.1 系统概述( PAGEREF _Toc85375507 h 34) HYPERLINK l _Toc85375508 4.2 系统架构( PAGEREF _Toc85375508 h 36) HYPERLINK l _Toc85375509 4.3 系统到CMM的映射( PAGEREF _T

17、oc85375509 h 39) HYPERLINK l _Toc85375510 4.4 ESPM模型在系统中的应用( PAGEREF _Toc85375510 h 39) HYPERLINK l _Toc85375511 4.5 ESPM模型的性能分析与评价( PAGEREF _Toc85375511 h 46) HYPERLINK l _5_全文总结与后续工作 5 全文总结与后续工作 HYPERLINK l _Toc85375513 5.1 全文总结( PAGEREF _Toc85375513 h 47) HYPERLINK l _Toc85375514 5.2 后续工作( PAGERE

18、F _Toc85375514 h 47) HYPERLINK l _Toc85375515 致 谢( PAGEREF _Toc85375515 h 49) HYPERLINK l _Toc85375516 参考文献( PAGEREF _Toc85375516 h 50)1 绪论随着信息技术的发展,计算机作为一种新的工具,已经对社会产生了巨大的影响。新的工具产生新的方法,计算机辅助软件项目管理已经成为一种先进、可行的新方法。利用计算机网络系统,可以大大提高信息沟通和数据采集的效率,可以把大量纷杂的信息进行有序的组织1。新的工具也带来了新的思想。建立在计算机网络世界基础上的过程重建、学习型组织、知

19、识管理等新思想纷纷被应用到实践中。1.1 课题背景将项目管理引入软件项目中,按照项目管理自身的规律来进行软件项目的管理,将会使得软件项目的管理更加的有效和规范,提高软件开发的成功率。本课题来源于软件学院的软件工程实践基地宜诺维信集团武汉研发中心投资开发的企业级的软件服务平台ESSP(Excellent Software Service Platform)系统。开发ESSP的目的是为企业软件工程过程的规范和持续改进(以SWCMM为指导)提供一个企业级的软件服务平台,以满足企业在软件项目开发管理以及企业自身的运作、行政管理、客户关系管理等需求。本人所研究的课题是“一个企业级软件项目管理模型的研究”

20、,该课题内容是ESSP项目整体中的一部分。1.2 课题的研究目的及意义信息技术的飞速发展的今天,IT企业正处于高速发展并以项目为主导的环境中。软件产品的规模也越来越庞大,企业每天所面对的不仅仅是几个大型项目,而将是成百上千不断发生和进行的项目2。产生这种变化的因素是多方面的,包括:客户需求的不断提高导致产品生命周期缩短、产品开发项目数量大增;新技术导致了对研究和开发项目需求的增加;为了提高业务赢利能力,改进业务模式的项目需求大增等。IT企业为了保证软件项目开发成功,必须采用工程化的系统开发方法,并将软件项目管理引入开发活动中,对开发实行有效的管理,从而加快软件项目开发的速度、保证质量、以及降低

21、开发成本3。工程化的系统开发方法确实在开发实践中取得了一定的效果,但是采用了工程化的系统开发方法并不一定能保证软件项目开发的成功。有许多失败的软件系统的例子,其开发也是采用了工程化的方法,或声称采用了这种方法,但结果在投入了大量资金后,系统却不能达到预期的目标,问题究竞出在哪里呢? 通过对一些失败的软件系统的分析后,我们得出结论:问题主要出在开发项目的管理上4。软件开发不同于其他产品的制造,软件的整个过程都是设计过程;另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的

22、独特性。在软件项目中引入项目管理软件,按照项目管理自身的规律来进行软件项目的管理,将会使得软件项目的管理更加的有效和规范,提高软件开发的成功率。从概念上讲,软件项目管理(Software Project Management 以下简称SPM)是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动5。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。软件项目管理和一般的工程项目管理相比有许多特殊性。在传统的

23、项目管理理论中,项目管理一般分为:项目综合管理、项目范围界定管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理和项目采购管理。软件业界在采用上述国际标准ISO 9000标准族的同时,CMM也被广泛地使用。企业级软件项目管理(Enterprise Software Project Management)是将软件项目管理结合企业的运作来综合全面的管理思想6。企业级的软件项目管理面向的对象群可能是软件公司的员工、客户、投资商和下包商等。由于经济的发展,多数的IT企业都有子公司。不同分公司的员工也需要集中进行管理,员工也要开发和处理自己的工作,客户和投资商也要

24、了解项目开发的质量及进度情况。因此,企业对软件项目管理有了新的要求7。在对软件项目管理原有的基础上根据企业的需要进行扩充。1.3 国内外相关研究情况尽管人类的项目实践可以追溯到几千年前,但是将项目管理作为一门科学来进行分析研究,其历史并不长,从第一个专业性国际组织IPMA(International Project Management Association)1965年成立至今不过三十余年的时间。经过这三十多年的努力,目前国际专业人士对项目管理的重要性及其基本概念已有了初步共识,各种专业性组织如学会、培训教育机构、咨询服务机构和研究与开发机构等等如雨后春笋竞相成长,发展势头非常迅猛。据报道,

25、一些国际知名的学术组织和大公司,如IEEE,IBM,Motorola, Boeing等等也都特别青睐项目管理的知识体系及其证书制。分析当前国际项目管理的发展情况,我们可以用三大特点,三个热点来概括。三大特点是: 全球化的时代特点 多元化的行业特点 专业化的学科特点 三个热点是:证书制热培训热软件热项目管理的全球化发展。知识经济时代的一个重要特点是知识与经济的全球化8。因为竞争的需要和信息技术的支撑,促使了项目管理的全球化发展。具体体现是: (1) 国际间的项目合作日益增多。国际间的合作与交流往往都是通过具体项目实现的。通过这些项目,使各国的项目管理方法、文化、观念也得到了交流与沟通。(2) 国

26、际化的专业活动日益频繁。现在每年都有许多项目管理专业学术会议在世界各地举行,少则几百人,多则上千人,吸引着各行各业的专业人士。(3) 项目管理专业信息的国际共享。由于Internet的发展,许多国际组织已在国际互联网上建起了自己的站点,各种项目管理专业信息可以在网上很快查阅。项目管理的全球化发展既为我们创造了学习的机遇,也给我们提出了高水平国际化发展的要求。 项目管理的多元化发展。 由于人类社会的大部分活动都可以按项目来运作,因此当代的项目管理已深入到各行各业,以不同的类型,不同的规模而出现。在行业性方面,建筑业的项目实践历史最悠久,随后是20世纪40年代美国的国防工业,继而是各行各业,现在也

27、受到了高科技产业及各种社会大型活动的重视,开始在这些领域发挥它的作用9。在项目类型方面有各种不同角度的理解,如宏观、微观,重点、非重点,工程、非工程,硬项目、软项目等。正是因为项目类型的多样化,有的项目是指大类,如城市建设项目,技术改造项目,有的项目则是指一件小的具体任务,如筹办一次运动会,举办一个培训班等等,莫衷一是,很不规范。反映在项目的规模上,也有类似情况,项目的范围有大有小,时间有长有短,涉及的行业、专业、人员也差别很大,难度也有大有小,因此出现了各种各样的项目管理方法。项目管理的专业化学科发展。在这方面近十年来项目管理也有了明显的进展,主要反映在以下三个方面: (1) 项目管理知识体

28、系(PMBOK)在不断发展和完善之中。美国PMI从1984年提出至今,数易其稿,并已将其作为该组织专业证书制考试的主要内容。欧洲IPMA和其他各国的项目管理组织也纷纷提出了自己的体系。 (2) 学历教育从学士、硕士到博士,非学历教育从基层项目管理人员到高层项目经理形成了层次化的教育培训体系。(3) 对项目与项目管理的学科探索正在积极进行之中,有分析性的,也有综合性的,有原理概念性的,也有工具方法性的10。国际项目管理组织目前正在积极筹备建立有关国际机构与论坛,以求发展全球项目管理的专业化与标准化问题。世界各国关于项目管理的专业书籍大量涌现,有关学科发展问题的呼声也很高。当今国际项目管理发展的三

29、个热点。 (1) 证书制热。项目管理人员的素质是项目成功与否的关键,证书制是项目管理人员资质认证的制度。美国的PMI在PMBOK基础上开发了PMP认证制度,它代表了一种专业权威机构对从事项目管理人员的资质认可,也是一种牵引市场需求与学科发展非常有力的举措,现在也开始扩展到了世界许多国家。国际项目管理协会IPMA (International Project Management Association) 在英国实施了多年的证书制基础上很快发展了一套ICB(International Competence Baseline,国际项目管理资质标准)体系。其特点是把项目管理人员的专业水平分为四个等级

30、,通过一定的认证程度授予D、C、B、A四级证书。同时也允许各国的专业组织在ICB的基础上建立可以结合本国特点的NCB(National Competence Baseline,国家资质标准),这一体系得到各国专业组织的关注,预期在国际上会有较快的发展。(2) 培训热。由于项目管理从业人员日渐增多,培训的需求急骤增长,世界各国的学校,专业学术组织,专业培训机构,咨询公司等,纷纷提出可以满足各种层次需求的培训计划和方案。在欧洲,IPMA每年在丹麦的哥本哈根都安排有专业培训课程,内容广泛且注重实用性,如项目的准备与启动、项目的风险管理和多文化的项目管理等等。(3) 软件热。在激烈竞争的环境下,面对各

31、种复杂的项目有大量的信息、数据需要动态管理,要提高管理水平,提高工作效率,就必须使用先进的方法和工具11,1996年PMI对项目管理软件测评时,所涉及的63个商品软件,从几十美元到几十万美元不等。有数据表明,在美国项目管理人员中有90%左右的人已在不同程度上使用了项目管理软件,有面向计划与进度管理的,有基于网络环境信息共享的,有围绕时间、费用、质量三坐标控制的,有信息资源系统管理的等等。 综上所述,当代项目管理发展之快已超过了我们的想象,美国Fortune杂志预言,项目管理将是下一个世纪的首选职业,从上述分析可见,这一预言不是没有道理的。项目管理历来为我国有关领导所重视,但问题是行业分隔性强,

32、政府部门较多地关注政策性问题,企事业单位往往把它作为临时性的任务处理(这也确实是项目管理的特点),任务结束也就很少过问了。因此在分析了当代项目管理发展的特点后,急需结合我国的现状,提出我们的发展思路。项目管理软件在我国的应用起步较早,80年代初就有很多单位开始使用。这个阶段,国内出现了很多项目管理软件,每上一个项目,如果该项目有意使用计算机进行项目管理,那么就会请一班人马来开发一套项目管理软件。也有一些项目尝试引进国外项目管理软件,我国最早引进P3的项目是山西潞安煤矿。在这些项目中项目管理人员基本处于被动使用的状况,缺乏对国外项目管理的理解,对国外项目管理模式不了解。到了90年代,随着与国际接

33、轨的需要,国内很多单位已接收了国外项目管理的思路,很多单位也引进了国际先进的项目管理软件,已经积累了部分经验和数据12。目前国际上集合企业行政管理和企业运作的企业级的软件项目管理系统都还不很完善。这块市场强大的张力已经引起了很多先行者的密切注意。从目前的情况来看,这块市场极有可能成为众多软件厂商角逐的新战场。1.4 本文的主要研究内容本文主要做的研究工作主要有以下四点: 首先介绍SPM的基本概念,在此基础上分析SPM中CMM的应用,研究了SPM的发展与现状和讨论了SPMS的发展趋势,给出SPMS的分类和比较,最后通过分析企业级SPMS目前存在的问题,给出解决策略。 在分析了SPMS的基础上,提

34、出企业级软件项目管理模型ESPM并对该模型进行说明。通过对传统SPM模型的分析,对ESPM模型中的每个部分进行详细的分析,总结出模型的优点,最后总结了ESPM模型的工作成果对软件项目的作用。对系统进行设计,并将ESPM模型应用于系统中并实现,最后做出性能分析与评价。2 软件项目管理分析项目管理知识体系是一个是描述项目管理专业知识总和的全称,它依赖于应用和发展它的从业者和专业学者。完整的项目管理体系包括广泛应用的已被证明的传统经验和创新的先进经验。2.1 SPM的基本概念下面从SPM的相关概念、组织模式和内容三个方面讨论模型思想。 SPM的相关概念项目管理知识体系包含了许多内容,它是对项目管理专

35、业知识的一个总结,这一知识体系也有赖于那些实践者和学者们对它加以应用和提高。整个项目管理知识体系不仅包括那些已经被求证过的理论知识和已经被广泛加以应用的传统经验,而且还容纳了新的理论知识以及还没有被充分应用的先进经验13。1. 项目项目是指按限定时间、限定费用和限定质量标准完成的一次性任务和管理对象。它是需要组织来实施完成的工作14。所谓工作通常既包括具体的操作又包括项目本身,虽然,这两者有时候是相重叠的。但具体操作与项目有许多共同特征,比如:1) 需要由人来完成。2) 受到有限资源的限制。3) 需要计划、执行、控制。具体操作与项目最根本的不同在于具体操作是具有连续性和重复性的,而项目则是有时

36、限性和唯一性的15。我们因此可以根据这一显著特征对项目作这样的定义:项目是一项为了创造某一唯一的产品或服务的时限性工作。所谓时限性是指每一个项目都具有明确的开端和明确的结束16;所谓唯一是指该项产品或服务与同类产品或服务相比在某些方面具有显著的不同。各种层次的组织都可以承担项目工作。这些组织也许只有一个人,也许包含成千上万的人;也许只需要不到100个小时就能完成项目,也许会需要上千万小时。项目有时只涉及一个组织的某一部分,有时则可能需要跨越好几个组织。通常,项目是执行组织商业战略的关键。以下的活动都是一个项目:1) 开发一项新的产品或服务2) 改变一个组织的结构、人员配置或组织类型3) 开发一

37、种全新的或是经修正过的信息系统4) 修建一座大楼或一项设施5) 开展一次政治性的活动6) 完成一项新的商业手续或程序项目按其最终成果或专业特征可划分为:科学研究项目,开发项目,工程项目,咨询项目等。对每类项目还可进一步分类。工程项目是项目中数量最大的一类。2. 项目管理英国建造学会项目管理实施规则定义项目管理“为一个建设项目进行从概念到完成的全方位的计划、控制与协调,以满足委托人的要求,是项目得以在所要求的质量标准的基础上,在规定的时间内,在批准的费用预算内完成”17。项目管理的一般性定义为:在规定的时限和投资强度下,为使被实施的项目达到规定的性能指标而对有限的资源进行管理、分配,对项目的进程

38、进行计划、调度、监视和控制18。这个过程覆盖了项目开发中的各种活动,涉及人的因素、项目组织、资源管理、质量管理、项目进度计划和控制、报表与文档、交付验收等诸多方面。项目管理就是为了满足甚至超越项目涉及人员对项目的需求和期望而将理论知识、技能、工具和技巧应用到项目的活动中去。要想满足或超过项目涉及人员的需求和期望,我们是需要在下面这些相互间有冲突的要求中寻求平衡:1) 范围、时间、成本和质量2) 有不同需求和期望的项目涉及人员3) 明确表示出来的要求(需求)和未明确表达的要求(期望)“项目管理”有时被描述为对连续性操作进行管理的组织方法。这种方法,更准确地应该被称为“由项目实施的管理”,这是将连

39、续性操作的许多方面作为项目来对待,以便对其可以采用项目管理的方法19。3. 软件项目管理软件项目管理的对象是软件,它所涉及的范围覆盖了整个软件工程过程。从软件工程的角度讲软件开发主要分为六个阶段20:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。为使软件开发获得成功,必须对软件开发项目的工作范围、可能遇到的风险、需要的资源(人、硬件、软件)、需要实现的任务、花费的工作量(成本)、以及进度的安排等做到心中有数,而软件项目管理可以提供这些信息。对于一个通过项目实施管理的组织而言,对软件项目管理的认识就更加

40、重要了,如何在企业项目实施管理在本文是讨论的重点。 SPM的领域范围项目管理知识体系以要素过程的形式描述项目管理的知识和实践。这些过程被组织成九个知识领域如图2.1。这些知识领域涵盖项目管理的管理方法与管理过程21。图2.1 项目管理的领域 SPM的组织模式软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组22。公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。1. 项目管理委员会项目管理

41、委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:1) 依照项目管理相关制度,管理项目;2) 监督项目管理相关制度的执行;3) 对项目立项、项目撤消进行决策;4) 任命项目管理小组组长、项目评审委员会主任、项目组组长.2. 项目管理小组项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下:1) 草拟项目管理的各项制度;2) 组织项目阶段评审;3) 保存项目过程中的相关文件和数据;4) 为优化项目管理提出建议。3. 项目评审小组项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:1)

42、 对项目可行性报告进行评审;2) 对市场计划和阶段报告进行评审;3) 对开发计划和阶段报告进行评审;4) 项目结束时,对项目总结报告进行评审。4. 软件产品项目组软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。 SPM的内容根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、软件质量管理、软件风险管理及开发人员管理四方面内容导入软件开发的整个阶段23。在八十年代初,著名软件工程专家B.W.Boehm总

43、结出了软件开发时需要遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则2425。它们是:1) 用分阶段的生命周期计划严格管理;2) 坚持进行阶段评审;3) 实行严格的产品控制;4) 采用现代程序设计技术;5) 结果应能够清楚地审查;6) 开发小组地人员应该少而精;7) 承认不断改进软件工程实践地必要性。2.2 SPM中CMM的应用 项目管理中的核心部分就是全面质量控制,将CMM在SPM中应用,将更加有助于项目的实施与管理。CMM的管理思想是软件过程管理思想不断发展的集中体现。 CMM的发展早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规

44、范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中遇到的问题26。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,因此管理学的思想逐渐融入软件开发过程中,由美国软件工程研究所(SEI)提出的软件能力成熟度模型便是软件过程管理思想不断发展的集中体现。 CMM的管理思想背景 SW-CMM不仅是一个模型,一个工具,它更代表了一种管理哲学在软件工业中的应用。SW-CMM的管理思想来源于已有60多

45、年历史的产品质量管理。1930年,Walter Sheward 率先提出了一整套基于统计学原理的质量控制方法,这些方法后来经过W. Ewards Deming和Joseph Juran的发展和实践得到了广泛的应用。Philip Crosby在质量是免费的一书中率先提出将质量管理形成成熟度框架的概念,描述了进行质管实践的5个阶段,表达了质量管理的全部运作。 Deming、Juran以及Crosby等人的做法后来被称为全面质量管理(TQM)理论。在IBM公司,Watts Humphrey和Ron Radice将这种全面质量管理的思想应用于软件工程过程,收到了很大的成效。SEI的软件能力成熟度模型就

46、是在以Humphrey为主的软件专家实践经验的基础上发展而来的。软件能力成熟度模型中融合了全面质量管理的思想,以5个不断进化的层次反映了软件过程定量控制中项目管理和项目工程的基本原则27。SW-CMM所依据的想法是只要不断地对软件企业的软件工程过程的基础结构和实践进行管理和改进,就可以克服软件生产中的困难,增强开发制造能力,从而能按时地、不超预算地制造出高质量的软件。 全面质量管理的含义和特点 1. 含义 全面质量管理(Total Quality Management,简称TQM)是一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径

47、。 早期的质量管理仅限于质量检验,仅能对产品的质量实行事后把关,但质量并不是检验出来的,所以,质量检验并不能提高产品质量,只能剔除次品和废品。1924年提出休哈特理论,质量控制从检验阶段发展到统计过程控制阶段。休哈特认为,产品质量不是检验出来的,而是生产制造出来的,质量控制的重点应放在制造阶段,从而将质量控制从事后把关提前到制造阶段28。1961年费根堡姆提出全面质量管理理论(TQM),将质量控制扩展到产品寿命循环的全过程,强调全体员工都参与质量控制。70年代,田口玄一博士提出田口质量理论,他认为,产品质量首先是设计出来的,其次才是制造出来的。因此,质量控制的重点应放在设计阶段,从而将质量控制

48、从制造阶段进一步提前到设计阶段。 2. 特点 全面质量管理即为全员、全过程、全方位的质量管理,力求全面提高经济效益。包括以下基本特点: 1) 全员参加:意味着质量控制由少数质量管理人员扩展到企业的所有人员。 2) 全过程:将质量控制从质量检验和统计质量控制扩展到整个产品寿命周期。 3) 全面运用一切有效方法:是指应用一切可以运用的方法,而不仅仅是数理统计法。 4) 全面控制质量因素:意味着把影响质量的人、机器设备、材料、工艺、检测手段、环境等全部予以控制,以确保质量。 CMM对全面质量管理的体现 在软件业,软件质量得不到提高主要原因在于质量观念的缺乏,而将全面质量管理的思想运用于软件业,是提高

49、软件产品质量、获取竞争优势的有效手段。CMM不但对于指导过程改进是一项很好的工具,而且把全面质量管理概念应用到软件上,实现从需求管理到项目计划、项目控制、软件获取、质量保证、配置管理的软件过程全面质量管理29。CMM的思想是一切从顾客需求出发,从全组织层面上实施过程质量管理,正符合了TQM的基本原则。因此,它的意义不仅仅是对软件开发的过程进程控制,还是一种高效的管理方法,有助于企业最大程度的降低成本,提高质量和用户满意度。1. CMM2软件需求管理体现TQM的核心思想 CMM的一个显著的特征是将软件需求作为一个活跃的实体贯穿于整个开发过程之中,实施有效的需求管理事实上渗透在CMM的不同层次(L

50、evel)和众多关键过程域之中30。软件需求是软件项目成功的关键,软件项目中百分之四十至百分之六十的问题都是在需求分析阶段埋下的“祸根”。美国质量管理协会(ASQC)将“质量”解释为“产品或服务内在特性和外部特性的总和,以此构成其满足给定需求的能力”,Crosby对于质量的定义也是“同需求保持统一”,从这个意义上说,只有满足用户需求的软件产品才谈得上有好的质量,反之,需求管理也正是从质量出发以确定需求。CMM四级的“软件质量管理”过程域中也明确要求,组织、顾客和最终用户的软件质量需求及其优先级可以追踪到分配给软件的系统需求及软件质量目标。因此,CMM的需求管理正是从全面质量管理的主导思想“以满

51、足顾客需求为导向”出发的31,软件开发则应以需求工程作为核心过程(需求过程与其他过程的关系见图2.2)。图2.2 需求过程与其他过程的关系需求工程无疑是当前软件工程中的关键问题,但又是软件工程中最复杂的过程之一。完整的软件需求工程过程包括需求开发和需求管理两个部分,需求开发的一般过程分为需求获取、需求分析、编写需求规格说明书(SRS)、需求验证四个阶段,需求管理则主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。需求获取是通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求 ;需求分析是为最终用户所看到的系统建立一个概念模型32,作为对需求的抽象描述;由需求

52、模型构件生成精确的形式化的描述,即需求规格说明书,它将作为用户和开发者之间的一致协议;需求分析的结果应该通过评审、测试等手段验证它的正确性、完整性和一致性,这就是需求验证。贯穿于整个过程中,需求管理中最基本的任务则是明确需求,并使所有相关人员达成共识;建立需求跟踪能力联系链,确保所有用户需求被正确地应用,并且在需求发生变更时,能够完全地控制其影响范围,始终保持产品与需求的一致性。 需求工程需要各类人员的参与,如领域专家、最终用户、系统投资人、需求分析员、系统开发人员等等,以不同的着眼点和不同的知识背景,获得对软件需求的全面理解33。需求工程最大的难度就体现在全方位需求的获取以及非功能性需求与功

53、能性需求的错综复杂的联系上,当前对非功能性需求分析建模技术的缺乏大大增加了需求工程的复杂性,而非功能性需求往往又决定了对软件产品的质量要求。因此,非功能性需求和质量特性的分析模型有待深层次的研究。 2. CMM3软件产品工程体现TQM的过程控制 从CMM三级开始,软件生命周期的各个阶段被严格地划分出来,其目的是保持软件工程活动和软件工作产品的一致性。目前还有很多软件企业的软件开发工作仅限于编码,软件工程方法学中的各种方法和技术得不到真正的应用,因此单纯的软件工程技术并不能有效的解决“软件危机”,改善软件产品的质量34;而单纯的测试也只是一种事后检测的方法。只有通过软件过程管理,将需求、设计过程

54、从编码中分离出来,才能对软件质量进行产品生命周期全过程、全方位的控制。 TQM的核心就在于防患于未然,做到事先控制,确信“下一道工序就是用户”,层层把好质量关,决不让不合格的半成品流入下道工序,一切为下道工序着想。软件开发生命周期一般分为需求分析、概要设计、详细设计、编码、单元测试、集成测试、确认测试、系统测试几个阶段,常用的生命周期模型有瀑布模型、V模型、增量模型、演化模型和螺旋模型35,实际的软件过程往往是几种模型的结合。其中,V模型的运用越来越广泛,它强调了各个测试阶段与开发前期各阶段的对应,更明确表示了个各种工作产品间的关系,也易于用户在软件开发中的参与和评价(见图2.3)。 图2.3

55、 V模型在软件的整个生命周期中,软件产品的质量首先取决于它的设计,因为质量、成本、效益的80%是在设计阶段就确定了的。设计质量控制在TQM中也是非常重要的一个环节,事实证明:产品投产后设计指标修改得越少,产品的质量水平也将越好。要保证顾客对质量满意,就必须从产品开发研制阶段开始做起,需将用户对软件产品的质量要求转化成设计质量标准和开发过程中各个环节的技术要求。 因此,CMM要求每个阶段的软件工作产品必须文档化,并分别由上下游角色对其进行同行评审,置于严格的配置管理之下,以保证各角色在一致的基础上工作36。同行评审的目的则是在过程中及早地消除缺陷,减少后续阶段的返工,避免上一个阶段引入的缺陷遗留

56、到下一个阶段,造成质量成本的成倍增加。 图2.4 软件生命周期中的缺陷分布从图2.4可以看出,缺陷是在开发过程的前期引入,但越到后期缺陷修复的成本越高,随着CMM级别的提高,缺陷的消除将从后期逐步转移到前期,遗留到用户手中的缺陷也相应减少,这必将大大缩短开发周期,降低不必要的成本。 因此,CMM的思想就是以过程为基础进行质量控制,把质量控制从事后检测转变为事前预防,能够尽量减少大的设计更改。需求管理、全面质量管理以及TQM中常用的质量功能展开技术(QFD)也都是这种思想的反映。 3. CMM4软件质量管理体现TQM的运行机制 软件质量管理是CMM四级中一个独立的KPA37,其目的是使项目的软件

57、质量管理活动是有计划的、软件产品的质量目标是量化的和受到管理的。它遵循了全面质量管理活动的科学程序PDCA(Plan、Do、Check、Action),即四个阶段: (1) 计划:即确定质量目标以及实现这个目标需要采取的措施。制定质量计划是整个质量管理活动的基础。国家标准对质量下的定义为: 质量是产品或服务满足明确或隐含需要能力的特征和特性的总和。 对于软件来说,软件质量则体现在质量特性上,ISO/IEC9126中规定了6个质量特性,即功能性、可靠性、易用性、效率、可维护性和一致性,每个特性包含若干子特性。设定质量目标就是要找到用户的质量需求与这些质量特性的相关性,并将其转化为开发过程中可度量

58、的技术指标或能力指标,作为质量控制的依据。 上述的六大特性属于软件的外部属性,与用户满意度直接相关,可以根据组织的目标和项目的特点建立质量模型,并采用一定的方法,如QFD(Quality Function Deployment)、GQM(Goal Question Metrics)等确定量化的质量目标,但这在实际工作中往往是相当复杂和难以获得的。因此,更常用的做法是以过程能力目标反映产品质量目标,一个典型的能力指标就是缺陷密度(即每单位规模工作产品中存在的缺陷数)和相应的阶段缺陷排错率38,可以根据历史数据估计产品的规模和目标缺陷密度,从而对每个阶段发现的缺陷数量进行控制。 (2) 实施 :即

59、按预定计划、目标措施及其分工实际执行。为了在过程中控制软件的质量,需采取相应的手段在预定的阶段点或里程碑上进行软件工作产品质量的测量,常用的方法有 同行评审、原型评价、测试等。这些方法主要从两方面对软件的质量进行度量,一是内部属性,即过程和活动自身可以度量的属性,例如工作产品的缺陷密度 ;二是外部属性,即与用户环境相关的属性,这些属性在过程中往往难以度量,只有通过在项目的早期引入用户测试来予以评价,而让用户参与开发过程,大大有利于产品质量的提高。 (3) 检查 :即把实施的结果和计划的要求对比,检查计划的执行情况和实施的效果,是否达到预期的目标,并找出原因。在对质量度量的结果进行分析时,往往会

60、用到一些统计工具和方法,如检查表、直方图、控制图、Pareto图、散布图、因果图、运行图等。这些工具可以帮助确定问题、评估现状、发现原因甚至形成下一步措施。 (4) 处理 :即总结经验教训,将未解决的问题作为下一阶段制定计划的依据。CMM要求对软件质量测量的结果分析后,应“采取合适的与软件质量计划相一致的措施,以便使得产品的质量测量结果与软件质量目标相符合”。2.3 SPMS的现状与发展趋势项目管理技术的发展和计算机技术的发展是密不可分的。项目管理技术出现之时也正是计算机诞生的时候,因此,早期开发的网络计划软件都是在大型机上运行的,主要运用于国防和土木建筑工程。 SPMS的现状80年代随着微型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论