对软件项目管理的初步学习(精)

上传人:jiups****uk12 文档编号:90620196 上传时间:2019-06-14 格式:DOC 页数:8 大小:19KB
返回 下载 相关 举报
对软件项目管理的初步学习(精)_第1页
第1页 / 共8页
对软件项目管理的初步学习(精)_第2页
第2页 / 共8页
对软件项目管理的初步学习(精)_第3页
第3页 / 共8页
对软件项目管理的初步学习(精)_第4页
第4页 / 共8页
对软件项目管理的初步学习(精)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《对软件项目管理的初步学习(精)》由会员分享,可在线阅读,更多相关《对软件项目管理的初步学习(精)(8页珍藏版)》请在金锄头文库上搜索。

1、对软件项目管理的初步学习摘要:结合课本书籍资料, 从开发人员管理、软件配置管理、软件质量管理、及软件风险理四方面探讨如何进行软件项目管理。关键词:软件项目管理; 软件配置管理; 软件工程1引言随着企业信息化进程向纵深推进, 越来越多的企业开始着手构筑符合自己特定业务需求的应用软件系统。为了清楚地描述企业复杂的商业逻辑, 这些软件系统的规模越来越庞大, 单兵作战的作坊式开发方式已经不能适应发展的需要。在开发活动中引入软件项目管理, 对开发过程实施有效的管理, 已经是许多软件开发组织必须积极应对的课题。从概念上讲, 软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成, 而对成本、人

2、员、进度、质量、风险等进行分析和管理的活动。实际上, 软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化为软件组织的开发能力。软件组织的开发能力越高, 表明这个组织的软件生产越趋向于成熟, 越能够稳定地发展。对比中外的软件开发我们可以看到: 无论是开发过程所基于的平台、开发工具, 还是开发人员的个人水平方面, 我们都与国外处于同一层次上;但是国外的软件之所以明显优于国内, 一个很重要的原因是, 国外的软件组织对于整个开发过程实施了有效的管理。2开发人员管理如果软件项目计划失败了, 通常是因为协同工作的问题, 而很少是因为技术本身的问题。当一个软件项目通过可行性分析

3、, 开始实施的时候,它就已经不是一个技术上的问题了, 人际关系才是出问题的主要原因。如何增加开发小组的凝聚力, 使每个成员的特长尽可能地发挥出来, 朝着既定目标共同努力,这是进行开发人员管理所要回答的首要问题。在我们的项目中, 开发人员管理是在TSP( 小组软件开发过程 的指导下进行的。2.1小组是什么在项目开发过程中, 所有开发人员都被组织在一个小组(Team 中。究竟怎样的开发人员的集合才可以被称之为小组呢? 从本质上说一个小组的特征有以下几点:1 至少有两个人;2 他们为一个共同的目标或任务而工作;3 每个人都被分配了一定的角色或职责;4 完成任务需要依靠小组成员的合作。小组的规模是影响

4、小组效率的一个重要因素。通常情况下, 小组要在所有成员之间的关系比较密切的情况下才能发挥出更高的效率, 这一般要求小组不能太大。根据软件工程专家给出的经验值, 软件项目小组在4到8 人时效率最高。在小组开始成为一个整体的时候, 他们首要的是确定和接受一系列共同的目标。在我们的项目开发之初制定的目标是: 在小组软件开发过程( TSP 的指导下, 运用面向对象的软件工程思想和工具进行规范的软件开发, 确保在紧密的团队状态下有计划、高质量地在规定时间内开发出满足需求的软件产品。2.2小组成员的角色及分工当确立了小组的目标之后要做的第一件事情就是明确责任。如何让小组所有成员清楚他们负责的那一部分工作职

5、责呢? TSP 以指定小组成员角色的办法解决了这个问题。在TSP 的指导下,将开发小组分成了包括小组组长、开发经理、计划经理、质量/ 生产经理和技术支持经理在内的5 种不同角色。2.2.1小组组长动员小组成员最大限度地发挥其才能, 创建一个高效的小组; 负责每周召开小组工作会议,并向项目负责人报告小组的工作进展; 在小组成员间分配任务, 及时发现并解决工作中出现的问题;领导小组制定开发过程各阶段的报告。2. 2. 2 开发经理领导小组制定开发策略, 并给出产品的最初规模大小和开发时间的估计; 领导小组进行软件需求分析、高层设计、详细设计, 并实现这个产品;领导小组制定、实施系统测试计划, 以及

6、制定产品的用户文档。2. 2. 3 计划经理领导小组制定下一个阶段的任务计划, 以及下一个阶段的日程表; 对照计划跟踪小组的进展情况; 获取小组成员的工作时间数据, 平衡小组成员间的工作量, 产生每周工作报告。2. 2. 4 质量/ 生产经理领导小组制定和遵循质量计划, 将质量问题及时通报给小组组长或项目负责人; 建立和保持小组开发标准, 审查当前的产出是否符合开发标准; 充当小组会议的记录者。2. 2. 5 技术支持经理负责软件配置管理, 维护系统词汇表, 维护小组的问题和风险跟踪系统, 充当小组再使用的提倡者。需要说明的是, 每一个小组成员首先都是开发工程师, 共同分担项目开发的实际工作量

7、; 然后才是根据个人的特长和爱好分别赋予上述的某一角色, 负责项目开发中某一方面的责任。其目的在于, 由于所有成员都参加实际的开发, 所以可以保证项目开发的工作量进展; 又因为每个成员还被赋予了上述的某一角色, 使得项目开发中需要管理的事情都有人来负责( 比如计划经理负责项目按计划进展, 质量/ 生产经理负责保证项目质量 。这样就可以对整个项目开发过程实施有效的控制。2. 3对小组成员的管理2. 3. 1 审查和督促小组成员完成相应的职责审查包括自查和互查。一般在每周的小组工作会议上, 小组组长会要求担任各角色的成员汇报一周内角色任务的完成情况, 小组成员也可以就执行角色任务时所存在的困难展开

8、讨论, 得出可行的解决方案; 小组成员也可以对其他角色成员执行角色任务的情况提出建议和意见。此外,小组组长还应该参照小组成员角色的分工, 对各成员的角色任务进展情况进行督促。2. 3. 2 保证小组成员之间充分的交流与协作实行工作例会制度, 每周召开一次工作会议,组员汇报一周工作情况, 并展开充分交流, 以保证小组成员了解别人的工作进展情况, 以及如何和别人协调开展工作。3软件配置管理软件配置管理( Software Configurat ion Manage-ment 是协调软件开发使得混乱减到最小的技术,它是一种标识、控制和管理软件变更的技术, 目的是使错误达到最小并最有效地提高生产效率。

9、3. 1 为什么实施软件配置管理目前软件开发需要面对以下问题:1 在有限的时间、资金内, 满足不断增长的软件产品质量要求;2 开发环境日益复杂, 代码共享日益困难,需跨越的平台增多;3 程序的规模越来越大;4 软件的重用性需要提高;5 软件的维护越来越困难。这就要求对软件开发过程实施有效的管理。事实表明, 没有得到有效管理的软件开发过程, 出现的风险和挑战越来越突出。加强过程管理, 通过管理和追踪软件开发环境中产生的变更, 建立规范化的软件开发环境, 早已为软件产业的发展实践证明是解决上述问题的唯一有效途径。因此, 我们在造船生产设计管理信息系统的开发过程中, 实施了以版本控制为核心的软件配置

10、管理。通过对现有的软件配置管理工具的比较, 我们采用了MERANT 公司的软件开发管理工具PVCS Version Manager 实施版本管理。PVCS 作为世界领先的软件开发管理解决方案, 通过对软件开发过程中产生的变更进行追踪、组织、管理和控制, 建立规范化的软件开发环境, 日益成为全球越来越多的软件机构解除困境的首选工具。4软件质量管理随着软件开发的规模越来越大, 软件的质量问题显得越来越突出。软件质量的控制不单单是一个软件测试问题, 而是在软件开发的所有阶段都应该引入质量管理。4. 1制定并执行保证质量的规范开发小组在每个开发阶段之初, 由质量/ 生产经理领导制定开发标准, 如设计标

11、准、编码规范、测试计划, 以及开发文档规范等。标准建立后, 质量/ 生产经理负责标准的实施情况审查, 及时发现质量问题, 督促小组其他成员严格按照标准来操作。4. 2制作规范的软件开发文档软件开发文档是对整个开发过程的记录和说明。除了程序代码以外, 开发文档也是软件中必不可少的重要组成部分。它对于软件投入使用后的维护, 重用和升级都有着非常重要的意义。越来越多的人把是否有完整规范的软件开发文档作为衡量软件过程质量的一个重要标准。4. 3软件评审软件生命周期一般可以分为: 需求分析、软件设计、软件实现、软件测试、安装维护等阶段。软件评审并不是在软件开发完毕后进行评审, 而是在软件生命周期的各个阶

12、段都要进行评审。因为在软件开发的各个阶段都可能产生错误, 如果这些错误不及时发现并纠正, 会不断地扩大, 最后可能导致开发的失败。研究表明, 如果在设计阶段注入一个差错, 则这个差错在编码阶段要引发3 5个新的缺陷, 要修复这些缺陷所花的费用要比修复这个设计缺陷所花的费用多10 倍。软件评审是相当重要的工作, 也是目前国内开发最不重视的工作。评审的目标主要在于: 发现任何形式表现的软件功能、逻辑或实现方面的错误; 通过评审验证软件的需求; 确认已获得的产出是以统一的方式开发的。评审方法可以是:1 评审组由问题域和软件领域专家组成2 在进行某阶段评审之前, 开发小组首先提交一份内容涵盖技术和管理

13、两个层面内容的评审报告至评审组3 评审组成员在评审会之前熟悉报告内容4 评审会当天由开发小组对提交的评审报告进行讲解5 评审组可以对开发小组进行提问; 提出建议和要求; 也可以与开发小组展开讨论6 评审组作出决策, 接受该产品, 不需做修改; 由于错误严重, 拒绝接受; 暂时接受该产品, 但需要对某一部分进行修改。开发小组还要将修改后的结果反馈至评审组。4. 4 软件测试软件测试是软件开发的一个重要环节, 同时也是软件质量保证的一个重要环节。所谓测试就是用已知的输入在已知环境中动态地执行系统( 或系统的部件 。测试一般包括单元测试、模块测试、集成测试和系统测试。如果测试结果与预期结果不一致,

14、则很可能是发现了系统中的错误,测试过程中将产生下述基本文档。#测试计划: 确定测试范围、方法、和需要的资源等#测试过程: 详细描述和每个测试方案有关的测试步骤, 测试数据及预期的结果#测试结果: 把每次测试运行的结果归入文档, 如果运行出错, 则应产生问题报告, 并且必须经过调试解决所发现的问题。5软件风险管理软件开发项目不可避免地存在着风险, 如果我们提前预期风险, 并对其有所防范, 就可以最大限度减少风险的发生。所谓的风险是指, 如果有的问题可能发生, 也可能不发生, 那么它就是一个风险。提前考虑工程中风险的原因是, 只要你预先考虑到它们并且采取相应的处理步骤, 大部分风险都可以避免或可以控制。这就是进行风险管理的意义所在。5. 1 软件项目中潜在的风险在软件项目中最可能出现的风险是试图设计一个过大的产品, 导致开发时间不足。也可能出现如下的风险:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

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