项目管理类范文

上传人:re****.1 文档编号:577868023 上传时间:2024-08-22 格式:PDF 页数:61 大小:1.29MB
返回 下载 相关 举报
项目管理类范文_第1页
第1页 / 共61页
项目管理类范文_第2页
第2页 / 共61页
项目管理类范文_第3页
第3页 / 共61页
项目管理类范文_第4页
第4页 / 共61页
项目管理类范文_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《项目管理类范文》由会员分享,可在线阅读,更多相关《项目管理类范文(61页珍藏版)》请在金锄头文库上搜索。

1、 大连理工大学大连理工大学本科本科毕业设计(论文)毕业设计(论文) PMIPMI- -PMBOKPMBOK 在实训基地管理系统中的应用在实训基地管理系统中的应用 Practice of PMI-PMBOK Applied in the Training Base Management System 学 院(系): 软件学院 专 业: 网络工程 学 生 姓 名: 学 号: 指 导 教 师: 林乐春 评 阅 教 师: 完 成 日 期: 大连理工大学 Dalian University of Technology PMI-PMBOK在实训基地管理系统中的应用 - I - 摘 要 实训基地管理系统是本

2、文作者在实训期间以团队形式合作开发的一个系统平台, 此项目针对实训基地实际情况提出,开发一个基于 B/S,C/S 混合架构的,集人员管理、考勤管理、设备管理、值日管理等于一体的企业管理软件。 本文以实训基地管理系统项目为背景, 首先对国际流行的两大项目管理体系进行分析和比较,同时结合项目实际情况,选择 PMI 项目管理知识体系实施该项目管理。重点从项目范围确定、项目管理组织形式、项目风险管理、项目质量管理几个方面深入细致的阐述了 PMBOK 在软件项目中的应用方法。提出了软件项目管理过程中,要充分重视项目定义。 如何合理地定义客户需求, 明确项目范围, 是实施项目管理面临的首要问题。在项目实施

3、全过程中,项目经理严格保证和控制各项里程碑的完成时间。 本文还对在该项目开发过程中没有运用到的 PMBOK 管理方法进行总结并提炼出项目管理的策略,要明确定义用户需求,明晰项目价值和项目目标;提高计划执行准确率,加强基础数据积累和分析;抓好项目风险管理;做好项目人力资源管理,实现动态、灵活调度;加强项目过程控制;提出成功的软件开发项目标准。 关键词:PMBOK;项目组织;风险管理;质量管理 PMI-PMBOK在实训基地管理系统中的应用 - II - Practice of PMI-PMBOK Applied in the Training Base Management System Abst

4、ract Training Base Management System is a systematic platform developed by a team in the Training Base of which the author is a member. This project has been put forward basing on the actual situation of the Training Base, to develop a Training Base Management System which is based on B / S, C / S h

5、ybrid architecture and includes human resources management, attendance management, device management, duty management and so on. The article is written under the background of this project. First, analyze the two major international project management theories, combined with the actual situation of

6、the project. Select PMBOK as the management theory for the implement of this project. It states thoroughly the application methods of PMBOK project management in software projects from the aspects of project scope definition, project management organizational forms, project risk management and proje

7、ct quality managementThe article points out that, during the process of software project management, one should pay fully attention to the project definitionHow to define customer needs reasonably and make clear project scope is the primary issue in carrying out project managementDuring the whole pr

8、ocess of project conduction, the project manager must strictly guarantee and control the completion time of all milestones. The article also makes conclusion to those PMBOK management methods that are not used in the process of developing this project,and summarize the strategies of project manageme

9、nt: to clearly define customer needs, make definite project value and project targets; to improve the accuracy of plan conduction, strengthen the accumulation and analysis of fundamental data; to do the project human resources management well, realize dynamic and flexible adjustment; to strengthen p

10、roject process control; to set up the criteria of successful software development projects. Key Words:PMBOK;Project organize;Risk management;Quality management PMI-PMBOK在实训基地管理系统中的应用 - III - 目 录 摘 要 . I Abstract . II 1 文献综述 . 1 1.1 选题背景与意义 . 1 1.2 项目管理研究概况 . 2 1.2.1 国外项目管理研究概况 . 2 1.2.2 国内项目管理研究概况 .

11、 2 1.3 本文内容 . 3 2 项目管理基本理论概述 . 4 2.1 PMBOK 体系 . 4 2.1.1 项目的概念和特点 . 4 2.1.2 项目管理的概念和特点 . 4 2.1.3 项目管理的知识领域 . 5 2.1.4 项目管理过程 . 7 2.1.5 PMBOK 体系评估 . 9 2.2 PMBOK 和 CMMI 的分析与比较 . 9 2.2.1 CMMI 概述 . 9 2.2.2 PMBOK 和 CMMI 的相同点 . 11 2.2.3 PMBOK 和 CMMI 的不同点 . 12 2.3 实施 PMBOK 的意义 . 13 2.4 本章小结 . 14 3 PMBOK 在实训基

12、地管理系统中的应用 . 15 3.1 项目简介 . 15 3.1.1 项目背景 . 15 3.1.2 项目特点 . 15 3.2 项目范围确定 . 16 3.2.1 项目目标与描述 . 16 3.2.2 项目重大里程碑 . 18 3.2.3 项目工作项分解 . 19 3.2.4 项目工作描述 . 20 3.3 项目管理组织形式 . 21 PMI-PMBOK在实训基地管理系统中的应用 - IV - 3.3.1 项目组织结构 . 21 3.3.2 项目责任分配 . 22 3.3.3 项目进度计划 . 23 3.4 项目风险管理 . 27 3.4.1 软件风险概述 . 27 3.4.2 软件项目风险

13、管理概述 . 29 3.4.3 项目风险管理流程设计 . 30 3.4.4 项目风险识别与评估 . 31 3.4.5 项目风险管理应对措施 . 34 3.4.6 项目风险监控 . 35 3.5 项目质量管理 . 36 3.5.1 软件质量概述 . 36 3.5.2 软件项目质量管理概述 . 36 3.5.3 QA 和 QC 的方法 . 37 3.5.4 项目 QA 方法的实施 . 39 4 PMBOK 在软件项目中的经验和策略 . 43 4.1 明确定义用户需求 . 43 4.2 提高计划执行准确率 . 44 4.3 抓好项目风险管理 . 45 4.4 实现项目人力资源动态调度 . 45 4.

14、5 成功的软件开发项目标准 . 46 5 加班管理模块的设计与实现 . 47 5.1 模块分析 . 47 5.2 数据访问层的实现 . 47 5.3 业务逻辑层的实现 . 49 5.4 表示层的实现 . 52 结 论 . 54 参 考 文 献 . 55 致 谢 . 56 PMI-PMBOK在实训基地管理系统中的应用 1 1 文献综述 1.1 选题背景与意义 随着现代企业制度的建立以及社会经济的高速发展, 企业信息化管理已成为促进企业发展的重要因素,一个良好的企业管理软件,可以实现企业人力资源的灵活调度,人员信息的合理化管理,简化企业业务操作流程,提高工作效率,更重要的是可以实现这些信息在各部门

15、,各系统间的共享,为部门管理提供支持和帮助。因此,企业管理软件作为现代企业信息化管理中的重要一环,它的开发管理也受到了广泛的关注。由于企业管理软件的开发不同于一般的项目开发,不仅规模庞大,而且其自身的复杂程度也相当高,不同企业对其管理软件的需求不同,并且企业管理软件又与各企业的现代化信息整体建设、企业的组织结构以及企业的业务流程等诸多复杂因素息息相关,这就使得不同企业的管理系统各具特点。大部分中小软件企业在开发企业管理软件时仍存在困难,开发的系统难以满足各类企业的真正需求, 实施时普遍要进行大量的变更, 导致开发延时、费用超支甚至失败,给企业带来不必要的损失。解决以上问题,除了要认识到企业管理

16、软件开发本身的复杂性、多变性,更需要一套严密且有效的管理方法来保证项目的合理实施。 由美国项目管理协会 PMI(Project Management Institute),经多年研究,推出的项目管理知识体系 PMBOK(Project Management Body of Knowledge)作为项目管理中的过程指南,在世界范围内取得了巨大成功。PMBOK 为项目管理提供了一个完整的实施框架,指明了项目各阶段的基本任务目标。但是在不同的行业背景与商业模式下,对PMBOK 都有不同的实施方式,在软件开发过程中真正运用也存在不同的方式。有效地将 PMBOK 运用于软件开发过程中,必须结合企业自身特

17、点以及项目开发过程。 实训基地管理系统是面向实训基地而开发的一套企业管理软件。 目的在于实现实训基地的全方位信息化管理,解决以往手动管理带来的额外资源开销等问题。本系统的实施不仅具有以上企业管理软件开发中的所有复杂性, 同时项目实施任务全部由实训基地中参与实训的学生承担,缺少开发经验,部分成员技术薄弱,这无疑为软件的开发增加了新的挑战。因此,如何实施该项目的管理工作,高效的协调开发团队,成为项目成败的关键。本文期望运用 PMBOK 对实训基地管理系统的开发流程做出规范,借助于系统开发过程中对 PMBOK 的运用,总结一套切实可行的企业管理软件开发项目的管理方法,同时通过对项目的总结,总结出 P

18、MBOK 在软件项目中的经验和策略,从而为其他企业开发类似的软件提供指导和参考。 PMI-PMBOK在实训基地管理系统中的应用 2 1.2 项目管理研究概况 1.2.1 国外项目管理研究概况 现代项目管理开始于 20 世纪 40 年代,随着信息技术的飞速发展,现代项目管理的知识体系和职业逐渐成型。1969 年美国成立项目管理协会 PMI,从此,项目管理作为一门专业学科在全球得到推广。此后,聚集在一起的志愿者们就开始讨论制定一套统一的标准来规范项目管理。尽管项目管理方法是多种多样的,但其中一定有一些核心的、通用的标准是可以提炼出来。PMI 的 ESA(职业道德、标准与认证管理小组)项目在 198

19、3年 8 月项目管理学报上以特别报告形式发表。该报告包括:由以下 6 个主要知识领域组成的标准:范围管理、费用管理、时间管理、质量管理、人力资源管理和沟通管理。PMI 对特别报告修改的最终稿于 1987 年 8 月以项目管理知识体系为题的单行本发表。1996 年,PMI 出版了项目管理知识体系指南(PMBOK 指南)。2000 年和 2004 年PMI 对 PMBOK 指南进行了两次更新。 PMI 制定的项目管理标准项目管理知识体系指南,反映了项目管理最佳实践,为项目管理的标准化和职业化做出了重大贡献。PMBOK 指南是获得美国国家标准局和IEEE(电气和电子工程师协会)认可的具有重大影响的行

20、业标准。另外,PMI 还根据不断变化和发展的市场需求,以 PMBOK 指南为基础,开发制定了一系列其他标准,如PMBOK 指南的行业延伸标准、工作分解结构实践指南标准、项目经理能力发展框架、挣值管理标准、 项目集管理标准、 项目组合管理标准以及组织项目管理成熟度模型标准。 国际上还有很多机构也在开发项目管理标准,如国际项目管理协会的能力基准、英国项目管理协会的 APMBOK、日本高级工程师协会的面向企业创新的项目和项目集管理指南手册 P2M。这些标准都在一定程度上发挥了自己的作用,但由于美国在世界经济政治格局中的重要影响力,而且很多知名跨国公司、非盈利机构总部都位于美国,在项目管理中大多数都采

21、纳 PMI 的标准,并积极参与标准的研发、更新与推广,使 PMI 的项目管理标准成为受到全球广泛认可的标准。 总体来看 ,PMI 所开发的标准在全球处于领先地位,具有广泛的影响。尽管 PMI的标准体系不是强制性标准,但由于它能提供统一的沟通平台,真正为组织创造价值,所以有越来越多的组织使用它。 1.2.2 国内项目管理研究概况 基于 PMBOK 体系,中国目前建立了适合本国国情的中国项目管理知识体系(Chinese Project Management Body of Knowledge,简称为 CPMBOK)。CPMBOK的研究工作开始于 1993 年,1994 年由 PMRC 常务副主任、

22、西北工业大学钱福培教授负PMI-PMBOK在实训基地管理系统中的应用 3 责的课题组向国家自然科学基金委员会提出立项申请,并获准正式开始了“中国项目管理知识体系结构的分析与研究”。在此基础上,PMRC 成立了专家小组负责起草 CPMBOK,并于 2001 年 5 月正式推出了中国项目管理知识体系,并建立了符合中国国情的国际项目管理专业资质认证标准(CNCB),标志着中国项目管理学科体系的成熟。 1.3 本文内容 本文根据国内外的项目管理研究成果,结合 PMI 项目管理体系和通用软件开发模式,通过对实训基地管理系统的开发实践,同时应用现代项目管理工具,从科学、规范和系统的目标出发,对各阶段的工作

23、内容进行系统的总结,明确定义了各阶段项目管理工作的具体内容。 本文首先对 PMI 项目管理知识体系和 CMMI 软件成熟度进行了评估和对比,明确了项目实施 PMBOK 的意义。 对项目开发过程中的主要经验进行总结并提炼出项目管理的策略,要明确定义用户需求,明晰项目价值和项目目标;提高计划执行准确率,加强基础数据积累和分析;抓好项目风险管理;做好项目人力资源管理,实现动态、灵活调度;提出了成功的软件项目开发标准。 本论文提出了软件项目管理过程中,要充分重视项目定义。如何合理地定义客户需求,明确项目范围,是实施项目管理面临的首要问题。而在项目组织实施中,不可避免地存在着功能型部门与项目团队的冲突、

24、员工的个性化与团队运行模式的冲突等。在项目实施的全过程中,需要进行充分的沟通与交流,严格保证和控制各项里程碑的完成时间。项目后评估,项目评价有两个方面,一是评价项目,由于 IT 项目客户需求难以定义清晰,导致项目范围模糊,这给合理地评价项目带来了困难;二是评价项目成员,对于 IT 项目来说,项目员工具有较强的个性,渴望价值创造与自我实现,如何做到公正、客观、量化地评价员工的价值,也是 IT 项目管理的难点。软件企业在项目管理中只有正视这些问题,并切实致力于解决这些问题,才有可能形成真正的核心竞争力。 PMI-PMBOK在实训基地管理系统中的应用 4 2 项目管理基本理论概述 2.1 PMBOK

25、 体系 美国项目管理协会 PMI 早在 20 世纪 70 年代末就率先提出了 PMBOK。 它的第一版是由 PMI 组织了 200 多名世界各国项目管理专家历经四年才完成, 可谓集世界项目管理界精英之大成,避免了一家之言的片面性。而更为科学的是每隔数年,来自于世界各地的项目管理精英会重新审查更新 PMBOK 的内容,使它始终保持最权威的地位。 2.1.1 项目的概念和特点 PMBOK 对项目的正式定义为“为提供某种独特的产品、服务或结果所做的临时性努力”。项目的概念有狭义和广义之分,狭义的项目往往指工程项目,而广义的项目不单是指工程建设项目,一顿午饭、一场婚礼的筹备也可以看作一个小项目。项目就

26、是作为管理的对象,在规定的时间内,在明确的可利用资源约束下,为完成某一明确的预期目标而专门组织人员,运用多种学科知识来解决和处理的一种一次性工作。美国项目管理认证委员会主席格雷斯曾断言: “21 世纪的社会,一切都是项目。一切也必将成为项目。” 尽管各个项目千差万别,但项目本身还有其共同的特点概括为: (1)目标性:具有独特而又明确的最终目标,包括成果性目标和约束性目标。 (2)时间性:项目均具有明确的开始时间和结束时间。 (3)关联性:由一系列相互关联的任务组成,项目各个组成部分相互影响、相互约束。 (4)唯一性:任何项目所处的时间、地点、环境、参与的人、目的均各不相同,项目在进行过程中,所

27、发生的事件、冲突和矛盾都不相同,所以对参与项目的人来说每个项目都是唯一的。 (5)包括成本和时间计划:这是项目管理的三个最主要目标中的两个。 (6)结果化:每个项目最后都有交付物,有明确的结果。 (7)交叉性:通常涉及到多个部门和专业。 (8)支持企业战略:任何项目均以企业的战略作为项目启动的出发点。 2.1.2 项目管理的概念和特点 PMBOK 对项目管理的定义为“把知识、技能、工具和技术应用于项目各项工作之中,以达到或超过项目干系人的需求和期望”。项目管理一般由多个部分组成,工作跨越多个组织,需要运用多种学科的知识来解决问题;项目工作通常没有或很少有以往的PMI-PMBOK在实训基地管理系

28、统中的应用 5 经验可以借鉴,执行中有许多未知因素,每个因素又常常带有不确定性;同时还需要将具有不同经历且来自不同组织的人员组织在一个临时性的组织内,在技术性能、成本、进度等较为严格的约束条件下实现项目目标等。 这些因素都决定了项目管理是一项很复杂的工作。 项目管理具有创造性。由于项目具有一次性的特点,因而既要承担风险又必须发挥创造性。项目的创造性依赖于科学技术的发展和支持,而近代科学技术的发展有两个明显的特点:一是继承积累性,体现在人类可以沿用前人的经验,继承前人的知识、经验和成果,在此基础上向前发展;二是综合性,即要解决复杂的项目,往往必须依靠和综合多种学科的成果,将多种技术结合起来,才能

29、实现科学技术的飞跃或更快的发展。因此,在项目管理的前期构思中,要十分重视科学技术情报工作和信息的组织管理,这是产生新构思和解决问题的首要途径。 2.1.3 项目管理的知识领域 在 PMBOK 知识体系指南中,项目管理被划分为包括范围管理,时间管理,成本管理,质量管理,人力资源管理,沟通管理,采购管理,风险管理和项目综合管理在内的九个知识领域,如图 2.1 所示。 图 2.1 项目管理知识领域模型 范围管理:范围管理是为了实现项目的目标,对项目的工作内容进行确定和控制的管理过程,它是项目未来一系列决策的基础。其内容包括:项目背景描述、项目工作分解结构(WBS)、范围确认、范围变更控制、绩效测量、

30、项目交接与清算等。 时间管理:时间管理是项目管理的重要一环,因为项目总是把时间当作项目管理的最主要内容之一。其任务包括:活动排序,时间估计,制定进度计划并进行控制。 PMI-PMBOK在实训基地管理系统中的应用 6 综合管理:综合管理是将项目管理的各个方面整合在一起的活动,其核心是在多个相互冲突的目标和方案中做出权衡,以实现项目的目标和要求。综合管理包括制定项目的计划、项目计划的执行和项目整体变更控制。其作用是:帮助项目管理人员整合、协调项目管理的不同活动领域, 促进有效的沟通, 有效地对项目中的变更加以控制和管理。 成本管理:成本管理是确保项目在预算范围之内的管理过程。其任务包括:资源规划、

31、成本估算、成本预算和成本控制。主要用于确认项目的各种成本,确保项目在成本预算范围内完成,为项目成本变更提供依据,帮助项目经理保证项目的产品(或其它产出)可行且有价值。 质量管理:质量管理是确保项目满足要求的质量的过程。其主要任务包括:质量计划、质量保证和质量控制。经常采用的管理工具包括:质量标准控制技术、基准点法、流程图表、帕累托图示分析等。其作用是确保满足顾客需求达到质量要求,按期完成项目和最大限度减小风险等。 人力资源管理:人力资源管理是确保项目相关成员发挥最佳效能的管理过程。其工作过程包括:组织规划、人员招聘和培训、团队建设。是人从哪里来,怎么来,到哪里去的问题。 采购管理:采购管理是确

32、保项目过程中所需要的原材科、资源、服务得到满足的过程。它包括采购计划、招标采购、资源选择、合同管理与履行和合同收尾。任务是要确认项目何时需要何种产品和资源的支持并决定项目组的采购计划。 风险管理:风险管理是一个包括风险计划管理、风险识别、风险评估、风险定量化、风险应变计划和风险监控的过程。风险管理也是最近几年才兴起的。风险识别是发现并记录可能影响项目执行的风险的过程,也是风险度量和衡量风险以及风险后果的过程。风险应变措施包括三个方面:风险规避、风险转移和接受风险。风险管理的目的是为了将项目发生不良后果的可能性减小到最低,提高范围管理、质量管理、时间管理和成本管理的效能,通过对风险的影响做出结合

33、实际的评估以及有效的管理风险等。 信息沟通管理: 信息沟通管理是为了确保项目的信息合理收集和传输所需要实施的一系列措施,涉及组织间、技术间、人员间、管理间的界面,包括沟通规划、会议讨论、信息散布、信息管理、冲突管理等工作。对于项目组的成员来说,信息管理所要解决的是何时向何人汇报什么的问题。采用的管理技术和技巧有信息沟通模型,沟通技能,会议管理技术等。 PMI-PMBOK在实训基地管理系统中的应用 7 图 2.2 显示了项目管理 9 大知识领域的详细内容。 图 2.2 PMBOK 九大知识领域内容 2.1.4 项目管理过程 项目管理知识领域的所有管理过程可被分成 5 个过程组(启动、计划、执行、

34、控制、收尾),每个过程组有一个或多个属于各个知识领域的管理过程。过程组通过它们创造的结果,相联系每个过程组的输出,或结果成为另一个过程的输入。PMBOK 中的项目管理过程组和知识领域的相互关系如表 2.1 所示。 (1)启动 启动即确立一个项目或一个项目阶段。主要工作包括:初步确定项目组成人员、确定项目界限、初步确定项目计划、并对立项阶段的工作进行总结和评审。 PMI-PMBOK在实训基地管理系统中的应用 8 (2)计划 计划即为完成项目制定和维护一个可行的计划,以便实现项目所要满足的商业需求。主要工作包括:建立工作分解结构 WBS 计划、确认项目流程和项目详细计划、对项目计划进行审批和确定项

35、目计划基线等。为了应对项目条件的变化和组织环境的变换,项目生命周期中的每个阶段都常常会对项目计划加以调整。 (3)执行 执行即为协调人力和其他资源, 以便实施项目计划并生产出项目或项目阶段的产品或可交付成果。主要工作有:组建项目组、进行有关领导工作、核实项目范围、确保项目质量、发布有关信息、采购必需的资源、交付实际工作成果等。 表 2.1 PMBOK 过程组与知识领域关系表 过程组 知识领域 启动 计划 执行 控制 收尾 项目整体管理 项目计划制订 项目计划实施 项目变更控制 项目范围管理 启动 范围计划编制 范围定义 范围核实 范围变更控制 项目时间管理 活动定义 活动排序 活动历时估算 制

36、定进度计划 进度计划控制 项目成本管理 资源计划编制 成本估算 成本预算 成本控制 项目质量管理 质量计划编制 质量保证 质量控制 项目人力资源管理 组织计划编制 人员获取 队伍开发 项目沟通管理 沟通计划编制 信息发送 绩效报告 收尾管理 项目风险管理 风险管理计划编制 风险识别 定性风险分析 定量风险分析 风险应对计划编制 风险监制 项目采购管理 采购计划编制 编制询价计划 询价 供方选择 合同管理 合同收尾 PMI-PMBOK在实训基地管理系统中的应用 9 (4)控制 控制即为通过监控和进度测量及必要时采取纠正措施以确保项目目标的实现。 执行和控制阶段在时间上往往有着较多的重叠部分。控制

37、阶段的任务有:对项目进行管理、监控项目计划的完成情况、对项目的变更进行控制和对项目进程进行评审。 (5)收尾 收尾就是正式验收项目,并使其有条不紊地圆满结束。其任务有:完成项目移交准备工作、制定项目结束和移交工作计划、结束项目和编制项目文档等。 2.1.5 PMBOK 体系评估 PMBOK 之所以受到专业学术领域的如此重视,最主要的原因在于它跨越了行业的界限。它归纳出的项目管理体系,是各行业的项目管理人员所必需的基本知识。就像网络计划技术可以适用于各行各业的计划管理一样,PMBOK 总结归纳出的知识体系,也可以适用于各行各业。有了这一知识体系,对提高项目管理专业人员的水平有极大的促进作用。知识

38、体系与专业资格认证的结合从某种意义上说也反映了知识经济时代的特点。 2.2 PMBOK 和 CMMI 的分析与比较 作为同样发源于美国的 PMBOK 和 CMMI, 两者之间有非常紧密的关系。 与此同时,国内外很多软件企业目前都使用 CMMI 的体系来解决软件开发中项目管理的问题, 如联想和东软等企业都已通过了不同等级 CMMI 认证。为此本章先对 CMMI 做简要介绍,然后对 PMBOK 和 CMMI 的关系进行分析和比较,最后阐明它们在项目管理上所起的不同作用。 2.2.1 CMMI 概述 CMMI (Capability Maturity Model Integration For So

39、ftware ):软件能力成熟度模型集成,是在 CMM 的基础上发展而来的。是一种用于评价组织的软件开发能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。 CMMI 是由美国卡耐基梅隆大学软件工程研究所(Software Engineering Institute,SEI)组织全世界的软件过程改进和软件开发管理方面的专家历时 4 年而开发出来,并在全世界推广实施的一种软件能力成熟度评估标准, 主要用于指导软件开发过程的改进和进行软件开发能力的评估。CMMI 分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。如图 2.3,随着

40、模型的等级从低到高, 可以预计企业的开发风险越来越低, 在提供合格软件产品方面的开发能力越来越高。PMI-PMBOK在实训基地管理系统中的应用 10 除模型的第 1 级外,其他每个等级都由不同的关键流程域构成。而每个关键流程域又由各种目标构成,每个目标由各种实践支持(实践分为该目标特有的特殊实践和各种目标均适用的通用实践两种形式)。一个组织只要开始从事软件开发即自动处于第 1 级,要通过其他等级,就需要达到统一的标准,即相对应等级中的各个关键域过程。 从二级到五级共包含 18 个关键流程域,分别为: 二级:需求管理、软件项目计划、软件项目的跟踪和控制、供应商合同管理、软件质量保证、配置管理。

41、三级:需求开发、技术解决方案、产品集成、验证、确认、组织级过程焦点、组织级过程定义、组织级培训、集成化项目管理、风险管理、集成化的团队、决策分析和解决方案、组织级集成环境。 四级:定量过程管理、软件质量管理。 五级:缺陷预防技术、组织级改革与实施。 图 2.3 CMMI 成熟度级别 CMMI 标准最初是为美国军方选择软件产品提供商时评价软件企业的软件开发质量保证能力,而由美国卡内基梅隆大学软件工程研究所 SEI 于 1987 年研制成功的。而CMMI 真正的模型出现在四年以后, SEI 总结了自 1987 年以来对成熟度框架和初版成熟度的实战经验,并以此为基础于 1991 推出了 CMM1.0

42、 版。1.0 版集中了四年来对软件公司评估的经验以及广泛的用户反馈,在成熟度框架的基础上建立了一个可用的模型,这个模型可以更加有效地帮助软件企业建立和实施过程改进计划。 CMMI 是目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准,实际上已成为软件开发过程改进与评估上的工业标准。目前国际上在挑选软件PMI-PMBOK在实训基地管理系统中的应用 11 工程的外包伙伴时一般都要看 CMMI 认证。 近来由于中国也明确了发展软件行业, 鼓励软件出口的政策,CMMI 认证在国内得到很大的重视,这两年国内有不少企业通过了CMMI 的认证。 2.2.2 PMBOK 和 CMMI 的相同

43、点 PMBOK 和 CMMI 有很多共同的方面, 一方面 PMBOK 专门有一个知识领域为质量管理。另一方面,CMMI 中的很多关键过程域按照 CMMI 自己的分类也属于项目管理的范畴,如:需求管理、软件项目计划、软件项目的跟踪和控制、配置管理、集成软件管理、组间协调、软件质量保证等等。如表 2.2 所示,CMMI 关键流程域分类。 表 2.2 CMMI 关键流程域分类 过程类别 级别 管理 软件计划、管理等 机构 交叉项目过程、培训等 工程 需求分析、设计、编码、测试等 优化级 过程更改管理 技术更新管理 缺陷预防 已管理级 定量过程管理 软件质量管理 已定义级 综合软件管理 组间协调 机构

44、过程焦点 机构过程定义 培训大纲 软件产品工程 可重复级 需求管理 软件项目计划 软件项目跟踪和监督 软件分包合同管理 软件质量保证 软件配置管理 初始级 无序过程 进一步,可将这些属于项目管理范畴的关键过程域与 PMBOK 的知识领域的关系整理为表 2.3,需要说明的是图中的关系仅仅是一种交叉关系。如 CMMI 的组间协调中的一部分属 PMBOK 的项目沟通管理的要求, 同样 PMBOK 的项目沟通管理所包含的内容也超越了 CMMI 的组间协调中的与沟通相关的内容。 所以这两个理论有很多交叉的领域。 另外,下列方面也体现了这两个理论的共同追求: PMI-PMBOK在实训基地管理系统中的应用

45、12 (1)客户满意:均强调理解、管理需求从而达到客户的期望,要求所生产的产品不仅需要符合需求而且应该具有适用性。 (2)防止跳过检查:都认为避免错误的成本总是大大低于补救错误的成本。 (3)管理职责:均坚持成功需要队伍的全员参与,但为成功提供所需资源仍然是项目管理的责任。 (4)阶段内过程:计划执行检查措施,这一过程在两个理论中均得到体现。 表 2.3 CMMI 与 PMBOK 交叉部分对应关系 CMMI PMBOK 级别 关键过程域 知识领域 已定义级 综合软件管理 组间协调 项目整体管理 项目沟通管理 可重复级 需求管理 软件项目计划 软件项目跟踪和监督 软件分包合同管理 软件质量保证

46、软件配置管理 项目范围管理 项目整体管理、项目范围管理、项目风险管理 项目整体管理、项目范围管理、项目风险管理 项目采购管理 项目质量管理 项目整体管理、项目范围管理 2.2.3 PMBOK 和 CMMI 的不同点 PMBOK 和 CMMI 也有很多不同之处,正是这些不同才让它们具有各自的特色。具体如下: (1)应用行业不同 PMBOK 面向一切行业,因而也可以应用于软件开发以外的领域项目,所提供的不仅是产品也可以是服务;而 CMMI 仅仅对软件开发有指导意义。 (2)侧重点不同 PMBOK 侧重于项目管理;而 CMMI 着重于质量管理。 (3)涉及到的对象不同 PMBOK 面向一个相对独立的

47、项目,主要局限于项目的内部;而 CMMI 是面向整个组织,CMMI3 级以上强调从组织的层次对项目提供指导和支持。 (4)一次性和持续性的不同 PMBOK 主要围绕着一个项目的生命周期而进行,项目的特点决定了它的一次性特点;而 CMMI 更强调在组织范围内的持续改进,在 CMMI 中不仅要支持开发项目的生PMI-PMBOK在实训基地管理系统中的应用 13 命周期,更多地是帮助企业通过不断的改善过程去提高过程能力和管理水平,以保证更多的项目成功。CMMI 所体现的始终是一个动态的不断螺旋上升的过程。 (5)对可重复性的认识不同 PMBOK 强调人与人之间的思维差异, 认为两个不同的队伍对同一项目

48、可能作出截然不同的计划; 而 CMMI 尽管同意人与人之间存在思维差异, 但强调通过组织资源库的建立,把所有的软件过程明确地文档化,要求保证不同的人、不同的队伍可以得到相同的结论。 (6)认证方式不同 PMBOK 只提供面向个人的资格认证而 CMMI 则提供面向组织的诊断。 另外上述的不同,也决定了两种理论在内容上的侧重面不同。PMBOK 强调沟通,强调人力资源, 强调项目经理等人的作用; 而 CMMI 则强调培训规章制度和组织级的管理,强调通过组织成熟度的提高来避免个人英雄主义。 2.3 实施 PMBOK 的意义 在 PMBOK 中,项目管理工作的过程和要素是核心内容,也是其关注的重点。在项

49、目管理过程中,PMBOK 区分了计划、组织和控制 3 个核心工作过程。要素包括整体管理、范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理和采购管理 9 个知识领域。这样,从动态和静态两个角度,PMBOK 为我们清晰地勾勒出了项目管理工作的整个框架。项目管理的具体工作和其管理对象项目工作,无疑是 PMBOK 关注的重点。在具体的知识领域中,PMBOK 对于工作和要素的分解则成为其构建知识体系的基石。如将工作分解为工作分解结构(WBS)。再将工作包分解为具体的活动;将项目所需资源分解为资源分解结构(RBS);将项目组织分解为组织分解结构(OBS)等。有了这些分解,项目管理工

50、作中的基本单位都历历在目。PMBOK 并不只是简单地进行工作要素的分解,它也十分强调整体管理的重要性。在 PMI 看来,整体管理是将具体的项目管理工作基本单位有机结合在一起的关键。 因此, 实施 PMI 使项目开发流程更加清晰规范,有助于成员理解项目和项目管理工作的实施。 尽管 PMBOK 和 CMMI 都是目前比较流行的项目管理理论,但是针对实训基地管理系统项目本身分析,开发规模较小,人员集中,无需多部门协同工作,同时对项目管理的范围而言,更集中于项目内部的管理。通过上文对 PMBOK 和 CMMI 的分析与比较,确定 PMBOK 可以较为系统的贯穿于实训基地项目管理的实施中。此外,在项目管

51、理的综合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理和采购管理等九个知识领域中,CMMI 基本上不谈成本管理和人力资源管理,PMI-PMBOK在实训基地管理系统中的应用 14 它先假设开发机构有充足的资金和人力资源,这不切合项目开发的实际情况。CMMI 是分级模型,重点在于过程改进和定量管理,强调了项目管理的约束作用,通过组织资源库的建立,把所有的软件过程明确地文档化,要求保证不同的人、不同的队伍可以得到相同的结论。而 PMBOK 是连续模型,9 大要素按照项目生命周期很好的展开。因此本项目选择应用体系完整的 PMBOK 作为实训基地管理系统项目管理方法的依据

52、。 2.4 本章小结 总的来说,从软件开发项目管理的角度,PMBOK 和 CMMI 相辅相成缺一不可,因为现代质量管理是对项目管理的补充。从长远的角度来看,软件开发项目成功的重要因素质量的确保,单靠项目管理是不够的,需要通过长期的过程改进,长期的质量管理来保证。 另一方面, 质量管理又不能脱离项目管理而独立存在, 质量管理的顺利进行,也需要项目管理成功的前提保证。所以,对于软件公司应该在项目管理的实践中突破对项目的局限将 PMBOK 的应用对象扩大到整个组织范围,强调持续改进,同时在质量管理上又辅以 CMMI 实践来更好的提高整体的项目管理水平。 PMI-PMBOK在实训基地管理系统中的应用

53、15 3 PMBOK 在实训基地管理系统中的应用 3.1 项目简介 3.1.1 项目背景 实训基地管理系统是为了适应软件学院实训基地的实际管理需要, 更高效的对基地进行内部数据整合,人事管理,文件审批等而开发的一套企业管理软件。系统总体设计应与实训基地的行政、规模、发展方向和管理目标相结合,才能开发出符合基地特点,体现管理特色的企业管理系统。 作为企业不可缺少的部分,员工在企业发展中起着至关重要的作用。只有全面了解当前的人员情况, 才能合理的分配人力资源, 使员工更好的为企业服务。 在传统模式下,员工的详细个人信息都存放在人力资源部门,查找和整理员工档案需花一定的时间,这使得管理者不能直接地、

54、 全面地了解当前的人员情况, 不能更好的分配人员。 与此同时,传统模式下,员工的考勤管理,均由人力资源部门人工考核与整理,这不仅大大增加了人力资源部门的工作负担,而且无法保证统计结果的客观准确性。此外,员工请假也需由申请人人工填写请假申请单,还需个各部门负责人签字确认,此过程不仅占用了员工有限的工作时间,而且还在某种程度上增加了基地的开销。为了更好的了解基地各职能部门以及各项目组的运行情况, 我们还需要将项目组以及部门间的管理与沟通实现信息化,简化设备部门工作流程,将以往人工记录设备信息自动化,同时实现设备维护的电子化管理。 3.1.2 项目特点 为解决上述问题,我们计划开发一套实训基地管理系

55、统。系统的总体设计采用 C/S和 B/S 结构相结合的思路。C/S 模式将应用一分为二,服务器仅负责数据管理,客户机完成与用户的交互任务。具有强壮的数据操纵和事务处理能力,以及数据的安全性完整性约束。B/S 模式依托校园网络环境提供了异机、异网、不同应用服务的统一界面的开放性基础。实训基地管理系统整体功能如图 3.1 所示。 PMI-PMBOK在实训基地管理系统中的应用 16 图 3.1 系统整体功能图 3.2 项目范围确定 3.2.1 项目目标与描述 项目目标是指完成项目所必须达到的可计量的标准和指标。在一些专业应用领域,项目产品也被称为项目目标,但这只是指项目的成果性目标。本文讨论的实训基

56、地管理系统的项目目标是指项目的约束性目标。 只有得到客户和项目组全体成员的共同准确的理解,认可和同意,项目目标才能够有效,才能成为项目实施过程中的控制依据。 PMI-PMBOK在实训基地管理系统中的应用 17 项目目标的界定必须明确,项目目标的量化和指标值必须明确规定,这对于项目的成功是非常重要的。 项目目标的制订必须具体, 细化的项目目标才具有可操作性, 例如,项目产品的主要功能、项目的工期指标、阶段性里程碑、项目的质量标准及项目的成本目标等。 系统开发小组在项目准备中进行了充分的调研与讨论,在分析、确定实际需求的基础上,在实训基地中征求各相关部门意见,确定项目的目标主要为: (1)交付成果

57、。实训基地管理系统平台。 (2)工期要求。项目工期为 75 天(53 个工作日),时间从 2009 年 10 月 20 日到2010 年 1 月 3 日(缓冲期为 10 个工作日)。 (3)成本要求。项目总投资为 0 元人民币。 (4)质量要求。按照需求分析报告书要求,满足实训基地日常管理的实际需要。 为了项目各相关方和项目团队成员准确理解项目内容,明确项目目标,项目组用简练表格形式对项目进行了描述,如表 3.1 所示。 表 3.1 项目描述 项目名称 实训基地管理系统 备注 项目目标 (1)交付成果。实训基地管理系统平台。(2)工期要求。项目工期为 75 天(53 个工作日),时间从 200

58、9 年 10 月 20日到 2010 年 1 月 3 日。(缓冲期为 10 个工作日)。(3)成本要求。项目总投资为 0 元人民币。(4)质量要求。按照需求分析报告书要求,满足实训基地日常管理的实际需要。 交付物 实训基地管理系统功能应包括: (1)页面设计实训基地管理系统各模块页面设计 (2)人员管理模块对人事及相关部分数据进行管理 (3)考勤管理模块对考勤情况进行管理 (4)设备管理模块对设备及相关部分数据进行管理 (5)项目组管理模块对项目组分配及相关数据进行管理 (6)请销假管理模块对请销假及相关部分数据进行管理 (7)加班管理模块对加班及相关部分数据进行管理 (8)值日管理模块对值日

59、及相关部分数据进行管理 (9)账号权限设置模块对账号的操作权限进行管理 (10)系统设置模块对系统设置相关信息进行管理 PMI-PMBOK在实训基地管理系统中的应用 18 续表 3.1 项目描述 交付物完成准则 系统各模块在试运行阶段能正常运作。 质量要求 按照需求分析报告书要求,满足实训基地人力资源管理实际需要。 工作描述 为保证交付物顺利完成,整个项目应分为用户需求分析、开发环境准备、系统设计、系统开发、系统测试、系统验收等六个阶段完成,以确保软件的成功开发。 工作范围 根据实训基地管理系统的相关规范。 所需资源估计 人力、设备及软件工具。 重大里程碑 用户需求分析于 11 与 10 日完

60、成。 环境搭建与调试于 11 月 12日完成。系统设计于 11 月 27 日完成。系统实际开发于 12 月24 日完成。系统试运行于 1 月 4 日开始启动。 项目负责人意见:同意 签名:XXX 日期:2009-10-30 3.2.2 项目重大里程碑 里程碑计划是实施项目风险管理和进度管理的重要工具之一。 在进行项目进度管理和监控时,里程碑既是目标,又是基准或评价标准。通过它们,项目团队可以不断地检查和确定项目是否正在按计划执行。里程碑作为目标,它为项目进程指明了方向。通过确立项目里程碑,项目团队不仅可以知道项目前进的方向,而且还可以知道他们目前的位置。 与此同时, 通过实施里程碑监控, 项目

61、团队能够及时发现项目进度中存在的问题,监控项目的风险,并采取相应的解决方法。 根据项目的目标要求,项目组初步确定和制定了反映项目进度的重大里程碑(表3.2)。本项目里程碑有如下五个: (1)用户需求分析完成; (2)环境搭建与调测完成; (3)系统设计完成; PMI-PMBOK在实训基地管理系统中的应用 19 (4)系统开发完成; (5)系统试运行启动。 表 3.2 系统重大里程碑计划 里程碑事件 2009 年 10 月 2009 年 11 月 2009 年 12 月 2010 年 1 月 上 中 下 上 中 下 上 中 下 上 中 下 用户需求分析 完成 11 月 10 日 环境搭建与调试完

62、成 11 月 12 日 系统设计完成 11 月27日 系统开发完成 12月 24 日 系统试运行启动 1 月 4 日 3.2.3 项目工作项分解 工作分解结构(Work Breakdown Structure,WBS)是项目管理众多技术中最有价值的工具之一, 它给予团队复杂问题的清晰思路,把项目分解成较小的、 易于管理和控制的若干子项目或工作单元,这样有助于识别完成工作范围所需的所有工作要素。它是项目团队在项目期间要完成或生产出的最终细目的等级树。 所有这些细目的完成或产出构成了整个项目工作的范围。 项目工作结构划分后, 项目被分解成更小、 更容易管理的任务, 相对原先大的项目,小的任务能减少

63、理解上和实现上的复杂度。其次,利用工作结构分解,可以实现技术重 用。没有一个完整的项目和另一个项目是完全相同的。但是,这个项目的某一部分可能同其他项目的一部分相似。所以,使用 WBS 分解任务后,可以使用已有的部分,这样就实现了重用,节省了时间和人力。同时,利用划分后的工作结构,可以找到各任务间的依赖关系, 进而帮助我们发现哪些任务可以并行执行, 由此并行安排人员和硬件资源。 项目组根据项目的特点和最终功能实现, 对项目进行了分解, 经过项目组成员共同商议,最终确定了项目的工作范围。如图 3.2,项目工作分解结构。 PMI-PMBOK在实训基地管理系统中的应用 20 图 3.2 项目工作分解结

64、构 该 WBS 为实训基地管理系统项目提供了明确的项目范围基线,是范围变更的重要输入,而且有了工作分解,项目管理可以集中注意力于项目的目标上,不必为细枝末节伤脑筋。同时,也为团队提供了项目的实施框架,明确了责任,为评估和分配任务提供了具体的工作包,是进行估算和编制项目进度的基础,对整个项目成功的集成和控制起到非常重要的作用。 3.2.4 项目工作描述 在获得 WBS 后,为了使项目团队成员更准确的理解项目所包括的各项工作的具体内容和要求,就要对工作进行描述,编制相应的工作描述表(表 3.3)。工作描述的依据是项目目标、项目描述和项目工作分解结构。 PMI-PMBOK在实训基地管理系统中的应用

65、21 表 3.3 项目工作描述 工作名称 用户需求确认 备注 工作交付物 用户需求确认表 验收标准 项目负责人确定项目方案 技术条件 实训基地管理现状需求分析 工作描述 根据项目要求和设计规范,进行用户需求分析 假设条件 建设实训基地管理系统 信息源 针对建设实训基地管理系统所收集的信息 约束条件 初步分析确定的需求 其他 风险:用户需求不准确 防范计划:分析工作要详细、准确,以保证用户需求确认的正确性 签名及日期: XXXX 3.3 项目管理组织形式 3.3.1 项目组织结构 一个优秀的项目组织机构不但能让项目组成员发挥自己最大的作用,同时也能加快项目的进展、增加项目成员之间的交流合作、减少

66、甚至规避项目可能面临的风险。因此选择一个高效的项目组织结构在项目开发中发挥着至关重要的作用。 由于实训基地管理系统项目仅由 7 位成员组成,这决定了我们的项目组织形式不能采用过于复杂的结构。为便于各组员之间的信息沟通,发挥各专业人员的优势,根据项目需求,从项目实际出发。本着充分利用项目组现有资源的原则,项目组织结构分配如下图 3.3 所示。 图 3.3 项目组织结构图 PMI-PMBOK在实训基地管理系统中的应用 22 项目管理职责: 负责项目的组织与规划、 项目计划制订和维护、 项目的跟踪和管理、资源的分配和协调活动、各组织和计划之间的协调活动、各部门间的协调活动。 软件开发职责:负责项目的

67、软件开发,包括设计、编码和测试;负责产品质量控制工作、配合质量保证的活动、配合产品验收的相关活动。 质量保证职责:负责项目过程和产品规范的制定、项目过程和产品的审计活动。 风险管理职责:负责项目的风险管理活动,对开发过程中出现的风险,及时采取应对措施,保证项目正常进行。 3.3.2 项目责任分配 责任分配矩阵是用来对项目团队成员进行分工,明确其角色与职责的有效工具,通过这样的关系矩阵,项目团队每个成员的角色,以及他们的职责,得到了直观地反映。项目的每个具体任务都能落实到参与项目的团队成员身上,确保了项目的事有人做,人有事干。为在项目执行过程中进行有效的监督、协调和管理,项目组采用责任分配矩阵的

68、形式对参与项目各方的责任进行表述,如表 3.4 所示。 表 3.4 项目责任分配矩阵 WBS 工作细目 王蓬 杜嘉 黄志东 马兵 张伟良 闫香花 陈琛 1 需求分析 1.1 用户需求解释 F C C C 1.2 需求调研 F C C C 1.3 需求分析 F C C C 1.4 需求确认 F C C C 2 开发环境准备 2.1 软硬件环境确认 F C 2.2 软硬件环境搭建 F C 3 系统设计 3.1 系统概要设计 F C C C C C C 3.2 数据库设计 C F C C C C C 3.3 系统详细设计 F F F C C C C 3.4 测试设计 F F 4 系统开发 4.1 页

69、面开发 F F 4.2 人员管理模块 F 4.3 考勤管理模块 F PMI-PMBOK在实训基地管理系统中的应用 23 续表 3.4 项目责任分配矩阵 WBS 工作细目 王蓬 杜嘉 黄志东 马兵 张伟良 闫香花 陈琛 4.4 项目组管理模块 F 4.5 设备管理模块 F 4.6 请销假管理模块 F 4.7 值日管理模块 F 4.8 加班管理模块 F 4.9 系统设置模块 F 5 系统测试 5.1 单元测试 C C C F C F C 5.2 集成测试 F F 5.3 系统测试 F F 6 系统验收 6.1 系统试运行 F C F C F C F C F C F C F C 6.2 调试与维护

70、F C F C F C F C F C F C F C 7 项目管理 F F 注:F=负责 C=参与 3.3.3 项目进度计划 进度计划表是表达项目中各项工作、工序的开展、开始、完成时间及相互衔接关系的计划,它是进度控制和管理的依据。一开始,项目进度计划只能根据项目的内容、工作量和参加人员进行大致的估算,包括系统分析和设计时间,编程、测试时间和文档制作时间,估算时应根据业务负责程度加入一些缓冲时间。系统分析、设计完成后,根据程序清单可估算出每个程序的编程时间,并在此基础上估算这种程序的测试、文档制作和缓冲时间。实际上项目进度计划是一个动态的、不断调整的计划。每周要将项目进度情况与项目进度计划进

71、行对比。对于拖延的工作如无充分理由,则应督促有关人员加班或提高工作效率赶上进度;如有正常理由,可申请延期。 进度管理,可以从两个方面来理解,一方面是要制订一个可行而且高效率的计划,而另一方面则是要将此计划坚决贯彻执行。 本项目中进度管理遵循以下原理: (1)动态控制原理:项目进度控制是一个不断进行的动态控制,也是一个动态进行的过程。 PMI-PMBOK在实训基地管理系统中的应用 24 (2)弹性原理:项目进度计划周期长,影响进度的原因多,其中有的已被人们掌握,根据统计经验估计出影响的程度和出现的可能性,并在确定进度目标时,进行实现目标的发现分析。 (3)封闭循环原理:进度计划控制的全过程是计划

72、、实施、检查、比较分析、确定调整措施和再计划的封闭循环过程。 依据如上原理,同时结合实训基地管理系统项目的实际情况,项目进度跟踪与控制流程设计如下图 3.4 所示。 图 3.4 进度跟踪与控制流程 根据项目 WBS 工作分解结构和项目本身各种限制约束条件的分析,编制出项目工作先后关系表(表 3.5)、和由甘特图表示的项目进度计划(图 3.5)。 PMI-PMBOK在实训基地管理系统中的应用 25 表 3.5 项目工作先后关系表 WBS 细目 工作细目 工期/天 紧前事件 备注 1 需求分析 1.1 用户需求解释 2 1.2 需求调研 4 1.3 需求分析 2 1.2 1.4 需求确认 2 1.

73、3 2 开发环境准备 2.1 软硬件环境确认 1 1.4 2.2 软硬件环境搭建 2 2.1 3 系统设计 3.1 系统概要设计 3 1.4 3.2 数据库设计 3 3.1 3.3 系统详细设计 3 3.1、3.2 3.4 测试设计 3 3.3 4 系统开发 4.1 页面开发 2 2.2、3.3 4.2 人员管理模块 7 4.1 4.3 考勤管理模块 10 4.1 4.4 项目组管理模块 5 4.1 4.5 设备管理模块 5 4.1 4.6 请销假管理模块 7 4.1 4.7 值日管理模块 10 4.1 4.8 加班管理模块 10 4.1 4.9 系统设置模块 7 4.1 5 系统测试 5.1

74、 单元测试 5 5.2 集成测试 5 5.1 5.3 系统测试 3 5.2 6 系统验收 6.1 系统试运行 10 5.3 6.2 调试与维护 4 6.1 7 项目管理 PMI-PMBOK在实训基地管理系统中的应用 26 图 3.5 项目计划甘特图 PMI-PMBOK在实训基地管理系统中的应用 27 3.4 项目风险管理 目前,风险管理被认为是软件项目中减少失败的一种重要手段。当不能很确定的预测将来的事情的时候,可以采用流程化风险管理来发现计划中的缺陷,并且采用行动来减少潜在问题发生的可能性和影响。 风险管理意味着危机还没有发生之前就对它进行处理,以此提高项目成功的机会并减少不可避免风险所产生

75、的后果。 3.4.1 软件风险概述 软件风险是度量不如人意结果的可能和损失的大小,这些结果影响软件项目、过程和产品。软件风险主要包括两个过程风险:管理过程风险和技术过程风险,它具体能够分为三个大类:软件项目风险、软件过程风险、软件产品风险。管理过程风险包括软件项目和软件过程风险;技术过程风险包括软件过程和软件产品风险。软件项目风险是包括客户关系的一个主要风险类别。软件过程包括生产产品(项目)的过程。产品(项目)包括半成品。如图 3.6 所示。 软件风险 管理过程风险 技术过程风险 项目 过程 产品 图 3.6 项目风险示意图 (1)软件项目风险 这类风险定义了操作过程中, 组织管理过程中以及合

76、同等软件项目运作过程中的风险参数,其包括资源制约、外界因素、供应商关系及合同制约。成本是这类风险评估报告中最重大的项目风险。软件项目风险主要针对项目管理过程中所产生的风险进行管理。 (2)软件过程风险 这类风险包括管理和技术工作过程。在这些过程中有一些常见的问题,例如计划,人员分配,质量保证和配置管理。在技术过程,你可能在工程活动中发现过程风险,如需求分析、设计、编码和测试。计划是这类风险评估中最常见的管理过程风险。开发过程是最常见的技术过程风险。 PMI-PMBOK在实训基地管理系统中的应用 28 需求分析阶段的风险 软件的开发是以用户的需求开始,在大多数情况下,用户需求要靠软件开发方的引导

77、才能保证需求的完整,再以书面的形式形成用户需求这一重要的文档。需求分析更多的是开发方确认需求的可行性和一致性的过程, 在此阶段需要和用户进行广泛的交流和确认。 需求和需求分析的任何疏漏造成的损失会在软件系统的后续阶段被一级级地放大,因此本阶段的风险最大。 设计阶段的风险 设计的主要目的在于软件的功能正确的反映了需求。 可见需求的不完整和对需求分析的不完整和错误,在设计阶段被成倍地放大。设计阶段的主要任务是完成系统体系结构的定义,使之能够完成需求阶段的即定目标;另一方面也是检验需求的一致性和需求分析的完整性和正确性。 设计本身的风险主要来自于系统分析人员。分析人员在设计系统结构时过于死板,系统的

78、可扩展性就会比较弱,会给后期维护带来巨大的负担,和维护成本的激增。设计阶段蕴涵的另一种风险来自于设计文档。文档的不健全不仅会造成实现阶段的困难,更会在后期的测试和维护造成灾难性的后果,例如根本无法对软件系统进行版本升级,甚至是发现的简单错误都无从更正。 开发测试阶段的风险 软件的实现从某种意义上讲是软件代码的生产。原代码本身也是文档的一部分,同时它又是将来运行于计算机系统之上的实体。源代码书写的规范性,可读性是该阶段的主要风险来源。 规范的代码生产会把属于程序员自身个性风格的成分引入代码的比例降到最低限度,从而减小了系统整合的风险。 体系结构方面的风险 本项目采用.NET 技术、 B/S 和

79、C/S 混合结构, 在技术的成熟度上来说, 不存在风险。但是,在实现上,对开发人员的技术要求,以及在实现良好稳定的软件构架方面,也存在风险性。 项目管理中的风险 项目管理中主要考虑的风险问题有: 软件是否能够按工期的要求完成:软件的工期常常是制约软件质量的主要因素。很多情况下,软件开发商在工期的压力下,放弃文档的书写,组织,结果在工程的晚期,大量需要文档进行协调的工作时,致使软件进度越来越慢。软件的开发不同于其他的工程,在不同的工程阶段,需要的人员不同,需要配合的方面也不同,所有这些都需要行之有效的软件管理的保证。 PMI-PMBOK在实训基地管理系统中的应用 29 软件需求的调研是否深入透彻

80、: 软件的需求是确保软件正确的反映用户对软件使用的重要文档,探讨软件需求是软件开发的起始点,但软件的需求却会贯穿整个软件的开发过程,软件管理需要对软件需求的变化进行控制和管理,一方面保证软件需求的变化不至于造成软件工程的一改再改而无法按期完成; 另一方面又要保证开发的软件能够为用户所接受。 软件管理需要控制软件的每个阶段进行的程度, 不能过细造成时间的浪费,也不能过粗,造成软件缺陷。 软件的实现技术手段是否能够同时满足性能要求: 软件的构造需要对软件构造过程中的使用的各种技术进行评估。软件构造技术通常是这样:最成熟的技术,往往不能体现最好的软件性能;先进的技术,往往人员对其熟悉程度不够,对其中

81、隐含的缺陷不够明了。软件管理在制定软件开发计划和定义里程碑时必须考虑这些因素,并做出合理的权衡决策。 软件质量体系是否能够被有效地保证: 任何软件管理忽略软件质量监督环节都将对软件的生产构成巨大的风险。而制定卓有成效的软件质量监督体系,是任何软件开发组织必不可少的。软件质量保证体系是软件开发成为可控制过程的基础,也是开发商和用户进行交流的基础和依据。 (3)软件产品风险 这类风险包括中间的和最后的产品特征。产品风险主要是技术责任。你可能在需求稳定性、设计能力、编码复杂度和测试用例中发现产品风险。因为软件需求通常被视为灵活的,所以产品风险难于管理风险。需求是这类风险评估中最重要的产品风险。 3.

82、4.2 软件项目风险管理概述 风险管理是指在项目进行过程中不断对风险进行识别、评估,制定策略,降低风险的过程。通过风险识别、风险分析和风险评价去认识项目的风险,以此为基础合理地使用各种风险应对措施、管理方法、技术和手段对项目的风险进行有效地控制,妥善处理风险时间造成的不良后果,以最小的成本保证项目总体目标的实现。风险管理是一系列对未来的预测,伴随着一系列的活动和处理过程以便控制风险,减少其对项目的影响。 软件风险管理的基本概念有如下方面。 目标:这可能是每一类管理首先需要回答的问题。我们管理哪些与某一具体目标相关,只影响达到这一目标剩余工作的风险。明确定义的目标加上可度量的成功标准界定了可接受

83、的风险范围。 不确定性:不确定性是指未知的因素。风险发生时,总有一定程度的不确定性。重要的是根据产生损失的可能确定风险的优先级别。 损失:如果没有潜在的损失,就没有风险。损失可以是不好的结果或机会的丢失。 PMI-PMBOK在实训基地管理系统中的应用 30 时间:我们需要时间来预料和防止问题的发生。通过管理风险,我们将时间用于发挥自己的优势而减少时间的浪费。 选择:没有选择,就没有风险管理。有时我们相信自己无法控制风险,或觉得自己没有能力从现有选择中进行挑选。理解目标和阻碍目标实现的风险,有助于我们做出正确选择。我们可以通过首先定义目标,从而找出软件风险管理的风险。 决策:制定明智的决策是进行

84、风险管理的重点。意识、洞悉和理解风险是我们做出明智决策的基础。 应对:我们开发和执行一个风险行动计划来应对风险。应对风险的关键是在有时间采取行动时找到风险并指导如何接受风险。 防范:软件风险的应对策略是避免出现问题和意外。风险管理是减少有代价的重复劳动的主动决策。 3.4.3 项目风险管理流程设计 实训基地管理系统项目按实施期划分,主要包括:项目策划,项目前期,项目实施,项目移交,项目后评估 5 个主要部分。依据 PMI 的项目风险管理理论,结合实训基地管理系统项目来分析实训基地管理系统项目的风险。 PMI 将项目风险管理划分为风险管理规划、风险识别、定性风险分析、定量风险分析、风险应对规划、

85、风险监控 6 个部分。根据实训基地管理系统项目特点为方便分析和应用, 建立了实用的实训基地管理系统项目风险管理基本流程,主要包含风险识别、风险评估、风险管理计划、风险监控 4 个过程,如图 3.7 所示。 图 3.7 项目风险管理基本流程 PMI-PMBOK在实训基地管理系统中的应用 31 该基本管理流程,是在实训基地管理系统项目风险管理研究和应用过程中,逐步总结和整理形成的基本工作程序。实训基地管理系统项目风险管理研究和应用,都围绕这个基本工作程序开展。 3.4.4 项目风险识别与评估 由于定量分析一般比较复杂且投入时间较长、反应慢、成本高,不适合实训基地管理系统项目反应快的要求,所以本项目

86、的风险分析采用定性分析的方法,主要采用风险评价指数(Risk Assessment Code:RAC)法。 采用 RAC 法,对各阶段识别出的风险项进行分析,得到该风险项对项目的综合影响。 对所得到的综合影响数值, 从大到小进行排序, 得到对项目影响比较大的风险列表,以便针对这些概率高,后果严重的重要风险项安排专门的人员进行跟踪,并制定相应的解决方案。 在实训基地管理系统项目的风险分析中,采用 RAC 法简单量化分析结果,并考虑风险发生的时间对项目长期持续的影响,并对可能性、严重性和对项目的长期影响进行分级量化,具体如下: 可能性实质就是风险项发生的概率,分成:不太可能,可能,一般,很可能,极

87、有可能 5 个等级,分别用 1-5 的数字表示,数值越大,可能性越大。 对本目标的影响力即风险的严重性,根据风险项对项目直接目标的影响力,分成:后果不严重,不太严重,一般,很严重,致命 5 个等级,分别用 1-5 的数字表示,数值越大,影响力越大,后果越严重。 权值根据风险对项目长期持续的影响,按 1-5 分成 5 个等级,越是前面阶段的风险对后面的影响一般越大,所以对其它阶段目标的影响力估值也较大,因此权值也越高。 项目风险分析具体步骤如下: (1)确定评估组成员:参与风险分析和评定的成员一定是对风险相关任务最了解的人,或对相关风险项目有经验的人,只有这些对风险本身了解和有经验的人提出的意见

88、才具有参考价值。在本项目中,评估组成员由以下几种人组成: 实训基地管理系统项目经理; 实训基地管理系统技术经理、副经理; 实训基地管理系统测试经理; 项目主要执行人; PMI-PMBOK在实训基地管理系统中的应用 32 (2)由专职的风险管理人员制作调查表,调查表中首先要对相应的风险所在的WBS 任务进行简单描述,并对风险进行详细描述和分析,同时要求参与评估人员对该风险的相关风险评价指数在 1-5 之间做出自己的判断。 (3)评估组成员根据自己对问题的看法,填写相应的风险估计参数。并要求填写自己对该风险项的具体看法,说明自己判断的原因。 (4)收集调查表,对评估判断数据和意见分别处理。 (5)

89、按 RAC 法,对风险项的可能性、对本目标的影响力、权值三个因素相乘,其结果就是该项风险的综合影响。 以阶段划分评估风险,在项目的启动、计划、执行、控制、结束五个阶段中对应的风险以及风险分析如表 3.6 所示。 表 3.6 项目风险评估表 阶段 风险简述 可能性 对目标的影响 权值 综合影响 启动 部分需求只是产品概念,并没有详细的需求 4 3 5 60 有些需求要求太高,技术上可能无法实现 4 3 5 60 用户变更需求 5 4 4 80 计划 项目组成员技术水平参差不齐,不利于制定项目进度 5 4 4 80 项目经理忽略管理风险 4 4 4 64 执行 错误理解需求分析 5 3 5 75

90、开发不符合产品需求的软件 4 3 5 60 无法在规定期限内完成工作 5 4 4 80 错误理解设计文档 4 4 5 80 设计不完整 4 3 2 24 设计太复杂 3 4 5 60 代码重用率低 4 3 3 36 无法找出足够数量的错误,测试不可靠 3 5 2 30 测试不能按时完成 3 5 2 30 PMI-PMBOK在实训基地管理系统中的应用 33 续表 3.6 项目风险评估表 阶段 风险简述 可能性 对目标的影响 权值 综合影响 控制 团队管理不畅 4 4 5 80 重要人员变动 4 4 2 32 重大需求变更 4 4 4 64 收尾 项目总结不全面 4 2 5 40 对上表的风险项从

91、上到下编号,把综合影响投影到柱状图上,如图 3.8 所示。 图 3.8 综合影响柱状图 从图中,可以看出,实训基地管理系统项目中最应关注的风险项是编号为 3、4、8、9、15 的风险项,具体如下: 3用户需求变更 4项目组成员技术水平参差不齐,不利于制定项目进度 8无法在规定期限内完成工作 9错误理解设计文档 15团队管理不畅 同时,分析图 3.8 中数据,可以看出实训基地管理系统项目的关键风险主要集中在项目的执行阶段和控制阶段,这也与项目实际情况相符合。由于本项目主要的参与实施者是实训基地的实习学生,因此在对项目的需求方面的理解,设计文档的理解,以及代码质量方面有很大的风险性。执行阶段至关重

92、要,该阶段如果处理不好,对项目的影响是致命的,会影响项目完成时间和质量,更有甚者,可以导致项目失败。 PMI-PMBOK在实训基地管理系统中的应用 34 3.4.5 项目风险管理应对措施 针对项目中识别出的每一项风险,经过风险分析后,按先后顺序,把综合影响大的排在前面优先解决和控制,本项目的风险基本通过风险防范的方式来解决。主要通过管理协调、技术研究、员工培训等方法解决识别的风险,具体如表 3.7 所示,表中分阶段,按风险编号,顺序列出实训基地管理系统项目中识别出的风险项的简单描述,以及针对每一个风险项制定的风险解决方法。 表 3.7 项目风险应对措施表 阶段 编号 风险项 应对措施 启动 1

93、 部分需求只是产品概念,并没有详细的需求 需求分析人员和客户定期沟通,尽可能细化需求。 2 有些需求要求太高,技术上可能无法实现 安排技术人员提前研究技术难点, 并同时安排分析人员在实现类似功能的情况下寻找替代方案。 3 用户变更需求 重视需求调研对象的沟通,减少需求理解偏差,加强变更管理,降低重大变更事件发生概率。 计划 4 项目组成员技术水平参差不齐,不利于制定项目进度 加强技术培训, 并在安排任务时, 根据成员的不同情况,安排不同的工作量和不同难度的工作,保证项目进度。 5 项目经理忽略管理风险 在 WBS 中明确规定,除在 WBS 中出现的与管理有关的风险单独分析外, 其他的风险全部归

94、风险管理子任务负责,并指定专人负责此任务的分析,跟踪等工作。 执行 6 错误理解需求分析 准确规范的文字表达模式, 召开会议向全体开发组成员介绍需求的详细情况。 7 开发不符合产品需求的软件 往往是由需求分析的不完备引起的, 可以每周和产品需求组保持会议,以使需求尽可能完备;如果是由对需求的错误理解引起,解决方法参见上一条。 8 无法在规定期限内完成工作 计划安排时预先留有余地,严格按照日程安排完成工作、影响进度的需求变更需要经项目经理认可方被引入。 9 错误理解设计文档 准确规范的文字表达模式, 召开会议向全体开发组成员介绍需求的详细情况。 PMI-PMBOK在实训基地管理系统中的应用 35

95、 续表 3.7 项目风险应对措施表 阶段 编号 风险项 应对措施 执行 10 设计不完整 尽可能选用技术水平高、经验丰富的人员承担设计任务,定期开会讨论。 11 设计太复杂 与其他人员进行沟通,必要时进行内部培训。 12 代码重用率低 代码编写规范化,标准化,代码的重用往往是由设计阶段决定的,因此还要充分重视设计,为项目设计留出足够的时间。 13 无法找出足够数量的错误,测试不可靠 要求详细开发测试案例,并严格按照案例执行测试过程。 14 测试不能按时完成 重视测试计划,早做调整。 控制 15 团队管理不畅 将各个项目成员的任务明确、 细化, 加强项目进度管理,使项目能够顺利按时完成。 16

96、重要人员变动 提前安排人员交接工作。 17 重大需求变更 计划安排时预先留有余地,另外,对项目开发过程中的需求变更严格控制, 任何可能影响进度的需求变更都需要经项目负责人认可。 收尾 18 项目总结不全面 所有项目成员都总结。 3.4.6 项目风险监控 风险监控是一个持续的过程。从本项目启动阶段开始一直到项目收尾阶段,项目组都在主动监控着风险: (1)随时关注项目本身和外部条件的变化,审查以前识别出的风险是否还存在,根据风险检查表确定是否又有新的风险因素出现; (2)对新的风险因素制定恰当的应对计划,并且补充到风险计划中; (3)监视风险因素出现的征兆,及时根据风险应对计划采取预防或补救措施,

97、并跟踪结果; (4)根据实际情况评价应对措施执行效果,适时做出适当调整。 PMI-PMBOK在实训基地管理系统中的应用 36 在每周的项目例会上, 项目组都要集体重新审视和调整项目主要风险清单和相应的风险应对计划。各小组成员都可以根据自己的判断补充风险因素,并鼓励同时建议风险缓解措施;同时,也可以为别人提出的风险因素提出应对措施。 3.5 项目质量管理 合理工期、最佳质量、最低成本是项目管理者永远追求的三大目标,其中项目质量目标的实现是项目工期和成本目标顺利实现的立足点。 项目质量管理是指为确保项目质量目标要求而开展的项目管理活动, 其根本的目的是保障最终交付的项目产出物能够满足项目质量要求。

98、 3.5.1 软件质量概述 目前有多种关于软件质量的定义。其中,ANSIIEEE Std 7291983 定义软件质量为 “与软件产品满足规定的和隐含的需求能力有关的特征或特性的全体” 。 从定义来看,质量包含两个层面的含义:质量是定义在一组固有特性上的,固有特性指事物本来就有的特性;满足要求的程度包含明示的和隐含的需求或期望,程度表示了人们对质量评判的高低。 今天,大多数组织将质量理解为两个方面的含义。首先是过程质量,其次才是产品质量。质量管理体系和质量管理方法更多围绕持续的过程改进为核心来提高质量,高质量的过程才能始终如一地保证高质量的产品。 3.5.2 软件项目质量管理概述 质量管理是指

99、组织在质量方面指挥和协调资源进行的包括质量策划、质量控制、质量保证和质量改进的活动。通过在组织内制定质量方针,设立质量目标,组织必要的资源,策划各种质量活动,进行质量保证和控制活动,持续改进质量管理能力,提供满足顾客要求甚至超越顾客期望的产品和服务。 软件质量管理中,软件要满足以下六个品质特征,才能算是合格的软件。 (1)正确性:制作的功能达到设计规范与满足使用者需求的程度; (2)可靠性:于规定期间和条件下,仍能维持其性能水准的程度; (3)易使用性:使用者学习、操作、准备输入、理解输出所作努力的程度; (4)效率:软件执行某项功能所需资源(含时间)的有效程度: (5)可维护性:当环境改变或

100、软件发生错误时,执行修改所做努力的程度; (6)可移植性:从一个电脑系统或环境移到另一电脑系统或环境的容易程度。 PMI-PMBOK在实训基地管理系统中的应用 37 3.5.3 QA 和 QC 的方法 在质量管理中, 我们通常采用两种方法来实现对软件品质的控制: 质量控制 (Quality Control)和质量保证(Quality Assurance)。 QC 是指在一个阶段完成之后,对有关产品加以测试,以确定其中是否还有缺陷,然后进行修改确认。它是产品构造完成后才进行的,属于检测活动。QC 偏重于检测缺陷而不是避免缺陷。测试活动属于 QC,测试必须在设计与开发工作完成后才能开始。 QA 与

101、 QC 比较要更进一步。对于 QC 来说,它的重点是事后的缺陷检查与改正,但对于 QA 来说,则集中在避免缺陷的发生,它是事前预防工作,它能在刚刚引入缺陷时就将其捕获,而不是让缺陷扩散到下一阶段。QA 作用于过程而不是作用于最终产品,它贯穿于所有的活动之中,而不是集中于一个阶段。这种事前质量保证机制更符合我们控制质量的原则。 3.5.3.1 QA 的方法 (1)评审和检查 对于发现缺陷来说,正式的评审和检查是一种非常有效的方法。它可以在缺陷引入后尽早将其发现。对于产品开发中的每个阶段的输出成果,例如需求规范、设计文档、测试规范、测试用例等,都要进行正式的评审。 (2)审计 好的审计是保证软件质

102、量的一个重要工具。审计流程如下: 项目负责人要安排周期性的审计,并将有关计划向整个队伍公布; 可以由外部组织或组织内部经过培训的小组进行审计; 应该根据组织中己经制定好的过程的文档进行审计; 每次审计都应该指定负责人; 审计组根据文档化的过程以及其他相关的标准对项目加以审计。 在审计过程中,审计组应该确保项目在开发过程中遵循了所有相关过程的规定,并且有相应的质量记录; 审计人员要记录所发现的任何与规定不相符的内容; 审计后,项目应该紧接着实施相应的纠正措施,并且要采取相应的预防措施,以防止日后出现同类错误。 PMI-PMBOK在实训基地管理系统中的应用 38 3.5.3.2 QC 的方法 测试

103、活动是软件质量管理的一个重要方面,也是软件质量保证的关键步骤。软件测试的目的有三:一是寻找程序错误;二是寻找与用户需求不一致和存在的缺陷;三是以较少时间和人力找出软件潜在的各种错误和缺陷,以确保系统的质量。 (1)测试活动 测试包括代码测试、单元测试、集成测试和系统测试。 代码测试是指通过检查源代码,找出其中的错误。测试人员阅读源代码,并通过编写代码人员的注释或解释熟悉模块的实现。 然后由测试人员提出测试中发现有关问题的报告,由项目管理人员确定后交开发人员修改。最后由项目管理人员确定代码的修改。 单元测试是指按照测试用例对单个模块进行测试,它主要测试构造软件系统的模块,即子系统。单元测试可以并

104、行完成,因为每个模块的功能相对独立。测试人员按照测试用例进行测试。 集成测试指将几个已经单独进行单元测试后的模块综合起来测试。 集成测试的策略有多种,如一次性组装测试、自底向上的测试、自顶向下的测试、多层结构式测试等等。 系统测试是对系统中所有模块进行的测试。它侧重整个系统的功能、非功能性需求和目标环境。有几种系统测试活动:功能测试、性能测试、指导测试、验收测试、安装测试等。 (2)测试管理 测试活动需要进行管理,把测试管理作为一个系统,对组成这个系统的各个过程加以识别和管理,以实现设定的系统目标。同时要使这些过程协同作用、互相促进,从而使它们的总体作用大于各过程作用之和。其主要目标是在设定的

105、条件限制下,尽可能发现和排除软件缺陷。 (3)测试规划 首先需要进行测试规划, 确定各测试阶段的目标和策略。 这个过程将输出测试计划,明确要完成的测试活动, 评估完成活动所需要的时间和资源, 设计测试组织和岗位职权,进行活动安排和资源分配,安排跟踪和控制测试过程的活动。 测试规划与软件开发活动同步进行。在需求分析阶段,要完成验收测试计划,并与需求规格说明一起提交评审。类似地,在概要设计阶段,要完成和评审系统测试计划;在详细设计阶段,要完成和评审集成测试计划;在编码实现阶段,要完成和评审单元测试计划。对于测试计划的修订部分,需要进行重新评审。 PMI-PMBOK在实训基地管理系统中的应用 39

106、(4)测试设计 根据测试计划设计测试方案。测试设计过程输出的是各测试阶段使用的测试用例。测试设计也与软件开发活动同步进行,其结果可以作为各阶段测试计划的附件提交评审。 (5)测试的实施 使用测试用例运行程序,将获得的运行结果与预期结果进行比较和分析,记录、跟踪和管理软件缺陷,最终得到测试报告。 3.5.4 项目 QA 方法的实施 (1)建立 SQA(Software Quality Assurance,软件质量保证)组 SQA 组是衡量软件开发活动优劣与否的尺度之一。当 SQA 组发现产品质量出现危机时,它有权向项目组的上级机构直接报告这一危机。这无疑对项目组起到相当的威慑作用,也可以看成是促

107、使项目组重视软件开发质量的一种激励。这一形式使许多问题在组内得以解决,提高了软件开发的质量和效率。 (2)选择和确定 SQA 活动 在建立了 SQA 组后,我们需要选择和确定 SQA 活动,即选择 SQA 组所要进行的质量保证活动,这些 SQA 活动将作为 SQA 计划的输入。 评审软件产品、工具与设施 软件产品常被称为“无形”的产品,评审时难度更大。在此要注意的一点是:在评审时不能只对最终的软件代码进行评审,还要对软件开发计划、标准、过程、软件需求、软件设计、数据库、手册以及测试信息等进行评审。评估软件工具主要是为了保证项目组采用合适的技术和工具。 评估项目设施的目的是保证项目组有充足设备和

108、资源进行软件开发工作。这也为规划今后软件项目的设备购置、资源扩充、资源共享等提供依据。 SQA 活动审查的软件开发过程 SQA 活动审查的软件开发过程主要有: 软件产品的评审过程、 项目的计划和跟踪过程、软件需求分析过程、软件设计过程、软件实现和单元测试过程、集成和系统测试过程、项目交付过程、子承包商控制过程、配置管理过程。特别要强调的是,为保证软件质量,应赋予 SQA 阻止交付某些不符合项目需求和标准产品的权利。 参与技术和管理评审 参与技术和管理评审的目的是为了保证此类评审满足项目要求, 便于监督问题的解决。 PMI-PMBOK在实训基地管理系统中的应用 40 做 SQA 报告 SQA 活

109、动的一个重要内容就是报告对软件产品或软件过程评估的结果, 并提出改进建议。SQA 应将其评估的结果文档化。 (3)制定和维护 SQA 计划 SQA 组在整个项目中的质量保证流程如图 3.9 所示。 图 3.9 SQA 质量保证工作流程图 制定计划:我们所制定的 SQA 计划,明确了 SQA 活动与整个软件开发生命周期中 各个阶段的关系、对相关人员进行的培训、选择与整个软件工程环境相适应的质量保证工具以及不断完善质量保证过程活动中存在的不足,改进项目的质量保证过程,也是我们在制定计划中不可或缺的一环。 需求审查:需求审查是保证项目顺利交付的关键一步,其主要任务是确认软件需求文件,确认软件需求是否

110、符合产品需求,是否在设计上可行。其流程如图 3.10。 图 3.10 需求审查流程图 PMI-PMBOK在实训基地管理系统中的应用 41 设计审查:设计审查的关键任务包括,确认项目组是否准备了软件设计规格文件,其内容是否参考了软件需求,所采用的设计规格是否符合客户的规定,设计内容是否考虑到稳定性、 扩展性等质量要求, 设计内容是否考虑到将来的维护工作。 流程如图 3.11。 图 3.11 设计审查流程图 程序代码审查:其重点任务是审查编写内容是否符合项目的要求,注释内容是否详尽,是否参照TBMS 项目编程规范的规定内容,所编写的内容是否简单易懂。 测试用例审查:其重点工作是确认是否准备了软件测

111、试用例文件,其内容是否参照软件需求及设计规格文件,所设计的用例是否考虑到测试的深度和广度,设计的用例测试是否可行。测试流程如图 3.12 所示。 图 3.12 系统测试流程图 PMI-PMBOK在实训基地管理系统中的应用 42 对于测试中发现的问题,采取如图 3.13 所示的过程处理。 图 3.13 测试中问题处理流程图 PMI-PMBOK在实训基地管理系统中的应用 43 4 PMBOK 在软件项目中的经验和策略 限于实训基地管理系统的开发并不是在一个实际的商业运作条件下开展的即缺乏实际的资金引导项目管理, 同时本系统的规模和功能尚不能满足大中型企业的实际日常综合业务和信息处理的需要,因此,许

112、多软件项目管理的先进方法和管理评估工具等均不能在本项目中得到最好的运用,并未获得最佳的效果。故本章接下来,将补充项目管理在实际项目开发中很多值得注意的事项。 要想让 PMBOK 软件项目管理在一个项目中发挥良好的管理和指导作用, 使项目按照项目发起方的实际意愿开展,规避可能产生的风险,防止预算和进度的失控,使产品按质按量按时的交付,以下几点是十分关键的。 4.1 明确定义用户需求 明确定义用户需求,它是软件项目正式启动的基础,也是控制项目范围的基础。据统计,超过 50的软件项目都遭受过不充分的需求管理的问题,平均有 25的软件项目需求会发生变化。 对有缺陷的需求、 设计、 代码进行返工的花费占

113、整个项目费用的 4050。明确用户需求,主要包含以下方面: (1)识别和定义项目的利益相关者 PMBOK 的核心理念是项目必须让其利益相关者满意,要理解和定义项目的价值,进而在此基础上定义项目的目标,必须从识别项目的利益相关者入手,识别项目的真正用户。然而,实践表明识别清楚软件项目的利益相关者并不是一件容易的事。有时一个项目进行了很长时间,但项目组未必知道项目的真正客户是谁,最常犯的错误是仅将项目成果的使用者作为客户。必须识别出具体的项目发起人并充分发挥其作用。实践过程易犯的错误,误将一个部门、一个机构作为项目的发起人,这样的结果是决策时有很多人,但真正需要项目发起人提供资源、予以协调时却找不

114、到人。实践证明,许多项目在开展阶段,领导决策层人员往往没有足够的精力来关心这件事,只是简单听听部门汇报而已。然而在项目后期,领导决策层看了初步发展成果后,往往提出一些超出需求分析报告书的需求和功能,要求必须添加,使后期项目开发非常被动。 (2)利益相关者必须全程参与和积极配合 不仅在项目初期策划中, 在整个软件项目的生命周期内都必须强调项目利益相关者的参与,必须要与利益相关者一起启动项目。由于软件项目的成果将改变人们的生活或工作方式。客户必须在项目策划阶段就了解项目成果对其生活或工作方式的影响,他们必须开发相应的政策、流程等以准备接受项目成果。 PMI-PMBOK在实训基地管理系统中的应用 4

115、4 项目组的范围界限可以有三种划分: 包括客户方所有参与该项目的立项、调研、审批、测试和使用的人员,包括开发商市场开发、管理评审、商务谈判、后勤保障和具体负责该项目的开发人员; 包括客户方项目经理、业务需求提出人和测试人,包括开发商具体负责该项目开发的人员; 仅包括开发商具体负责该项目开发的人员。 对项目组范围理解不同,将影响项目组的工作处理方式,范围 1 在项目管理实务操作中没有太大的意义; 范围 3 实质是把客户方和开发商对立起来, 即所谓的甲方、 乙方,处理项目的分歧和矛盾,效果就会打折扣;按范围 2 来理解,在项目管理实务中就必须让客户方和该项目有密切关系的人也接受这一观点,从而拆除双

116、方之间的障碍,达到相互信任、相互尊重、共同协商解决问题的良性氛围。按如上介绍,实训基地管理系统项目组在前期是按范围 3 运作, 但如果在实际的项目开发中, 不得不吸收一些其他方面 (包括业务部分和人事部门等使用部门)的负责人参加,以保证项目能符合各方面的实际需求。 4.2 提高计划执行准确率 软件项目开发过程中面临的最大挑战就是计划的准确性差。据统计,在对软件项目进度与成本估算时,开发者的估算比现实要乐观,大约低 20%到 30,大多数项目实际完成时间超过估算进度的 25到 100, 少数的进度估算精确度达到了 10, 能控制在 5之内的项目十分罕见。要提高计划的准确性,需要把握以下三点: (

117、1)加强基础数据的统计与分析 软件项目都是具有独特性的,不能照搬其他项目的经验作为制定本项目计划的依据。由于不重视基础数据的收集和统计,软件项目的计划常常是凭经验而定的,并没有足够的统计数据来支持计划的制定和完成。科学管理尽管是对制造业和体力工人提出的, 但其中提出的 “不能度量就不能控制” 的理念依然值得软件企业在管理项目时采纳。 (2)小心谨防里程碑陷阱 里程碑是项目计划与控制中的一个极为重要的概念,但过于依赖里程碑,反而使项目计划落空。首先在软件项目的里程碑被设定以后,认为“目标管理是只问结果,不计过程”,从而忽视对过程的监控而导致项目里程碑不能按期达到。其次,对里程碑控制不严。因为大部

118、分里程碑毕竟只是一些项目的中间结果,在项目过程中人们易于放松对里程碑变更的控制, 易于出现里程碑大多按期完成而项目却难以按期完成的现象。 最后,里程碑的设置仅仅由项目组根据项目本身的特点而定, 忽视了与利益相关者的沟通并得PMI-PMBOK在实训基地管理系统中的应用 45 到他们的承诺。为避免落入项目里程碑陷阱,特别强调客户、供应商等利益相关者对这些里程碑提供的承诺,并通过建立各方签字的责任矩阵将其锁定。 4.3 抓好项目风险管理 项目风险管理是为了最好地达到项目的目标,识别、分配、应对项目生命周期内风险的科学,是一种综合性的管理活动,其理论和实践涉及到自然科学、社会科学、工程技术、系统科学、

119、管理科学等多种学科。项目风险管理的目标可以被认为是使潜在机会或回报最大化、使潜在风险最小化。 风险识别、风险估计和风险评价是项目风险管理的重要内容。但是,仅仅完成这部分工作还不能做到以最少的成本保证安全、可靠地实现项目的总目标。还必须在此基础上对风险实行有效的控制,妥善地处理风险事件造成的不利后果。所谓控制,就是随时监视项目的进展,注视风险的动态,一旦有新情况,马上对新出现的风险进行识别、估计和评价,并采取必要的行动。这就是项目风险管理的全过程。在实践中,这个全过程可以划分为风险分析和风险管理两个阶段。为了与风险管理这个大范畴做区分,第二个阶段也可以称为狭义的项目风险管理。风险分析包括风险识别

120、、风险估计和风险评价。按事先制定好的计划对风险进行控制, 并对控制机制本身进行监督以确保其成功叫做风险管理。 风险分析和风险管理是一个连续不断的过程, 可以在项目生命周期的任何一个阶段进行。但是,在项目的早期阶段就开始风险分析和风险管理,效果最好。 4.4 实现项目人力资源动态调度 在软件项目开发过程中,各类开发人员是项目中最重要的资源。要想充分组织和调度人力资源,须做好以下两点: (1)强化专业分工,实现分类管理 为降成本,很多企业强调“复合型人才”,但项目的实际运作中,有相当多的人既做设计又做编码还做测试,这不仅使项目的运行效率低、出错率高,也使项目的人力成本提高、人员还不满意。以合理的方

121、式进行专业分工,通过有效的项目团队组织机制将各类人员集成起来。根据工作分工的不同,将开发人员可分为几类,如需求分析员、系统分析员、设计人员、编码人员、测试人员和 QA 等,并界定其不同的等级和小时成本,而这种成本是制定项目人力资源预算和成本控制的基础。 (2)实现人力资源的动态调度 作为项目开发组要做到的状态是“需要的时候,需要的人能来;不需要的时候,不需要的人能走” , 必须要有两个条件: 人员己经分类管理, 而开发商各职能部门成为 “资PMI-PMBOK在实训基地管理系统中的应用 46 源库”。项目组织形式为矩阵结构,为防止职能部门和项目组争相使用人力资源,出现“一仆多主” 的难题, 就要

122、改变职能部门的定义, 使其变成培育和提供专业资源的中心,即“商业任务由动态的项目团队完成,职能部门作为资源的提供者而存在”,职能部门与项目组之间通过“资源使用契约”而建立联系。 4.5 成功的软件开发项目标准 PMBOK 对“成功项目”的标准解释为:项目范围、项目成本、项目开发时间、客户满意度四点达到要求。项目范围、客户满意度主要代表客户的利益,项目成本主要代表开发商的利益,项目开发时间同时影响双方的利益。成功的项目应该取决于三个阶段的努力: (1)项目开始前必须做到“了解什么是客户的成功”,只有客户成功了项目才能成功。就是要了解客户的真正需求,客户需求是项目存在的根本原因。一定要站在客户立场

123、上考虑问题, 客户需要的不是将一堆硬件和软件组装起来, 而一定能解决实际问题。 (2)项目执行中能够“担负客户成功的责任”,按要求完成承诺的工作。 (3)项目结束后能“帮助客户实现价值”,只有客户说项目成功了才是真正的成功。要让客户项目的产品达成预期的商业目标。 PMI-PMBOK在实训基地管理系统中的应用 47 5 加班管理模块的设计与实现 加班管理模块是本人在项目开发过程中主要负责设计和实现的模块。 以下对该模块的设计和实现过程做简要说明。 5.1 模块分析 实训基地内项目组由于项目进度等原因,需要通过加班来保证项目的按时完成。以往加班管理均由 HR 部门人工管理,员工需要填写加班申请单,

124、然后由 HR 部门审核。该申请流程不仅浪费了员工有限的工作时间,而且增加了基地的开销。同时,缺少加班巡更的管理,无法确定加班人员是否按时加班。因此将加班管理流程信息化十分必要。 客户端加班管理模块的主要功能模块如下: (1)加班审批:主要包括 HR 根据加班申请信息的人工审批,和根据系统设置的最小加班人数的系统自动审批。 (2)加班记录查询:系统根据加班人员的刷卡记录自动生成加班记录。同时,支持以时间,学号,姓名,项目组等选项的多条件记录查询。此模块实现了对加班出勤情况的统计。 5.2 数据访问层的实现 在本项目的三层架构中,数据访问层不再具体操作数据库,而是只封装业务逻辑层所 要 求 的 高

125、 层 操 作 。 在 加 班 管 理 模 块 的 实 现 中 , 数 据 访 问 层 主 要 包 括ExtraWorkRecordDAL 和 ExtraWorkApplyRecordDAL 类,ExtraWorkRecordDAL 实现对加班记录各项操作的封装,例如对加班记录的增加、删除、修改、查询等。在ExtraWorkApplyRecordDAL 中,则主要实现对加班申请记录操作的封装。 ExtraWorkRecordDAL 类详细信息如图 5.1 所示。 图 5.1 ExtraWorkRecordDAL 方法 PMI-PMBOK在实训基地管理系统中的应用 48 以 GetByStuNo(

126、string stuNo)为例,具体说明数据访问层同存储过程的交互实现。 /将 DataReader 中的数据映射成实体类中的各个属性 private ArrayList MapResult(SqlDataReader dr) ArrayList records = new ArrayList(); ExtraWorkRecord record; while (dr.Read() record = new ExtraWorkRecord(); record.Number = (int)drnumber; record.Student = (string)drstudent; record.St

127、artTime = (DateTime?)(drstarttime = DBNull.Value ? null : drstarttime) ; record.EndTime = (DateTime?)(drendtime=DBNull.Value? null:drendtime); record.EWDate = (DateTime?)(drewdate=DBNull.Value?null:drewdate); records.Add(record); return records; /按学号查询加班记录 public ArrayList GetByStuNo(string stuNo) /

128、将实体类中的全部属性映射成存储过程参数 SqlParameter paras = new SqlParameter1; paras0 = new SqlParameter(); paras0.Value = stuNo; paras0.DbType = DbType.String; paras0.ParameterName = student; try /调用 SQLServerDALHelper 类中的 ExecuteProcedureReader()方法执行存储过程 SqlDataReader dr = SQLServerDALHelper.ExecuteProcedureReader(G

129、etEWByStudent, paras); return this.MapResult(dr); PMI-PMBOK在实训基地管理系统中的应用 49 catch (Exception) return null; ExtraWorkApplyRecordDAL 类详细信息如图 5.2 所示。 图 5.2 ExtraWorkApplyRecordDAL 方法 5.3 业务逻辑层的实现 业务逻辑层包含了系统所需各种业务的逻辑处理。该层的设计应结合系统需求文档,实现系统模块要求的全部逻辑处理。 在加班管理模块的业务逻辑层中, 类与数据访问层中的相同, ExtraWorkRecordBLL类和 Ext

130、raWorkApplyRecordBLL 类。 在系统实际应用的要求下, 二者均需要实现不同功能的逻辑处理。 ExtraWorkRecordBLL 类,在封装数据访问层原有方法的同时,还需实现获取员工的加班开始与结束时间和自动生成加班记录的逻辑处理。ExtraWorkApplyRecordBLL 类需要实现批量审批加班申请,以及根据加班人数系统自动审批的逻辑处理。 以下为 ExtraWorkRecordBLL 类和 ExtraWorkApplyRecordBLL 类的详细信息。并以ExtraWorkRecordBLL 类中自动生成加班记录为例,给出实现该逻辑的代码。 PMI-PMBOK在实训基

131、地管理系统中的应用 50 图 5.3 ExtraWorkRecordBLL 方法 图 5.4 ExtraWorkApplyRecordBLL 方法 自动生成加班记录,代码如下: public bool ExtraWorkRecordCheck() ExtraWorkApplyRecord eWAR = new ExtraWorkApplyRecord(); ExtraWorkRecord eWR = new ExtraWorkRecord(); Student stu = new Student(); ArrayList alEWA = new ArrayList(); alEWA = ewa

132、RecordDAL.GetByState(1); for (int i = 0; i alEWA.Count; i+) eWAR = (ExtraWorkApplyRecord)alEWAi; eWR.Number = -1; eWR.Student = eWAR.Student; eWR.EWDate = eWAR.ApplyTime; PMI-PMBOK在实训基地管理系统中的应用 51 DateTime? startTime = new ExtraWorkRecordBLL().GetRequireInTime(eWAR.Student); DateTime? endTime = new

133、ExtraWorkRecordBLL().GetRequireOutTime(eWAR.Student); if (startTime != null & endTime != null) eWR.StartTime = startTime; eWR.EndTime = endTime; ewRecordDAL.Insert(eWR); return true; else if (startTime = null & endTime != null) eWR.StartTime = DateTime.Parse(18:00:00); eWR.EndTime = endTime; ewRecor

134、dDAL.Insert(eWR); return true; else if (startTime != null & endTime = null) eWR.StartTime = startTime; ArrayList doorEvents = new DoorEventDAL().GetAll(); doorEvents.Sort(new MyCompare(); for (int j = 0; j startTime & temp.DoorNo = 2) endTime = temp.EventTime; eWR.EndTime = endTime; ewRecordDAL.Inse

135、rt(eWR); return true; return false; PMI-PMBOK在实训基地管理系统中的应用 52 5.4 表示层的实现 表示层是系统面向终端用户的唯一部分,经过 WebService 对逻辑业务层方法的封装,表示层中对数据的逻辑处理,仅需调用 WebService 封装好的方法。 加班记录查看界面如图 5.5 所示。 图 5.5 加班申请审核界面 登陆审核界面后, 系统会自动列出所有待审核的加班申请, 通过单击列表中的记录,可以在详细信息栏中查看申请加班的详细信息。 用户可以同时对多条申请记录进行审批操作。对于拒绝的申请,可以点击右下方的拒绝理由按钮,输入拒绝理由,如

136、图 5.6 所示。 图 5.6 拒绝理由输入 PMI-PMBOK在实训基地管理系统中的应用 53 点击已审核选项,可以查看历史审核记录,以及其详细信息。界面如图 5.7 所示。 图 5.7 审核记录查看 加班记录查询界面,可供 HR 查看员工的加班情况,同时提供多条件查询功能。 图 5.8 加班记录查询 PMI-PMBOK在实训基地管理系统中的应用 54 结 论 本文以实训基地管理系统为研究对象,运用 PMBOK 理论,从项目管理中的项目范围确定、项目管理组织形式、风险管理、质量管理等方面对项目在各阶段的工作内容进行明确的分析、定义,并通过项目管理工具来计算项目的发展进度,引导项目按计划执行,

137、最终取得了实训基地管理系统的开发成功。全文工作如下: (1)在项目的初期,根据项目实际情况,明确项目范围,制定项目的目标与描述,确定项目的重大里程碑,并对项目进行工作分解及分配。以保证项目开发人员,在初期对项目范围,工作内容等有明确的认识。 (2)根据项目组的实际情况,制定项目的组织形式和机构图,并在此基础上作项目责任分配,制定项目进度计划以及人力资源计划。 (3)在项目风险管理的实施上,结合 PMBOK 风险管理理论和项目实际情况,从WBS 入手,在项目的整个生命周期中进行风险管理。这种方法不仅使风险识别有章可循,而且对识别的风险易于跟踪管理,把风险管理从事后控制转移变成事先预防,有效的降低

138、了风险所带来的负面影响。本文给出的方法,不仅提高了实训基地管理系统项目抵抗风险的能力,也有效的积累了风险管理知识,有助于项目风险管理能力的提高。 (4)在对 PMBOK 质量管理的理论和方法综述的基础上,分析了项目质量管理存在的问题,提出了在项目中采用 SQA 组来保证项目质量的方法,并且加大了审查力度,使得项目后期的维护工作大大减少。 (5)运用 PMI 项目管理的科学体系,全程指导实训基地管理系统的开发,最终使系统按质量按要求如期交付。 限于实训基地管理系统的开发并不是在实际的商业运作条件下开展的即缺乏实际的资金引导项目管理,因此,尚有某些软件项目管理的先进管理方法和管理评估工具等均不能在

139、本项目中得到最好的运用。 期待有朝一日能接触在实际市场环境中运作的软件开发项目,使我能更全面系统的应用项目管理的方法和知识对项目进行管理,同时也进一步加深自己对项目管理的理解和体会。 PMI-PMBOK在实训基地管理系统中的应用 55 参 考 文 献 1 美国项目管理协会.项目管理知识体系指南M.北京:电子工业出版社,2009. 2 Jack Gido, James P.Clements. Successful Project ManagementM.北京:电子工业出版社,2009. 3 中国项目管理研究委员会.中国项目管理知识体系M.北京:电子工业出版社,2008. 4 James Pers

140、se. CMMI 成功项目管理M.北京:机械工业出版社,2008. 5 Thang N. Nguyen. A decision model for managing software development projects J. Information and Management 43 (2006) 63-75. 6 Tom McBride. The mechanisms of project management of software development J. Systems and Software, 81 (2008) 2386-2395. 7 朱玉东.项目管理时代下 PMBO

141、K 在软件企业项目开发中的应用J.程序员,1672-3252(2007)07-040. 8 Gregory T.Haugan.有效的工作分解结构M.北京:机械工业出版社,2005. 9 郭波,龚时雨,谭云涛. 项目风险管理M.北京:电子工业出版社,2008. 10 张瑾. 软件质量管理指南M.北京:电子工业出版社,2009. 11 Shah Alam. Risk Factors in Software Development Projects J. Software Engineering, 51 (2007) 16-19. 12 秦砍.浅析质量保证和质量控制的差异性N.计算机世界,2009,

142、7,21(38). 13 韩万江,姜立新.软件项目管理案例教程M.北京:机械工业出版社,2008. 14 黄庆.软件项目管理中的需求变更控制J.信息科学,1871-7597 (2009) 0120050-01. 15 尚鲜连,贾国新. 浅谈在软件项目管理中的问题分析方法J.福建电脑,16732782 (2007) 02-007. 16 张海藩.软件工程M.北京:清华大学出版社,2008. PMI-PMBOK在实训基地管理系统中的应用 56 致 谢 在论文完成之际,我要感谢我的导师林乐春老师。从理论学习、选题、软件项目实践到论文的撰写,我都得到了林老师的精心指导。林老师严谨的治学态度,一丝不苟的工作作风, 对我在学业上严格的要求, 都使我终身难忘。 特别是论文紧张的撰写过程中,是林老师的严格要求和悉心指导,使我得以顺利完成论文。 感谢软件学院的领导和老师们。作为软件学院的学生,我的学习、实践和论文工作得到院领导和老师的极大关心和支持, 正是有了他们的帮助, 我的学业才得以顺利完成。 感谢实训基地管理系统开发小组的其他成员,如果不是他们的鼎立配合和协助,以及对我项目管理中的偏差进行及时讨论和纠正,我无法完成这篇论文。正是和他们的合作,使我获得了课堂上难以得到的软件项目管理的实践知识。同时也从他们身上学到职业软件人的职业素养。 最后感谢各位专家评委对我的论文的悉心批评和指正!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号