《对软件项目管理的探讨管理学论文_》由会员分享,可在线阅读,更多相关《对软件项目管理的探讨管理学论文_(10页珍藏版)》请在金锄头文库上搜索。
1、对软件项目管理的探讨管理学论文一、引言随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方 式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中, 对开发实行有效的管理。我公司是西安一家中型软件企业,在公司中已经实行了项目管理 制度,软件项目管理是整个项目管理中的一个重要组成部分。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成, 而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的 意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发 能力,企业的软件开发能力越
2、高,表明这个企业的软件生产越趋向于成熟,企业越能够稳 定发展(即减小开发风险) 。软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程) ;另外, 软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程 序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管 理相比,有很大的独特性。二、软件项目管理的组织模式软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。 如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项 目(负责市场调研和销售) ,组成软件产品项目组。公司实行项目管理
3、时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、 项目评审小组和软件产品项目组。、项目管理委员会 项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主 要职责如下:()依照项目管理相关制度,管理项目;()监督项目管理相关制度的执行;()对项目立项、项目撤消进行决策;()任命项目管理小组组长、项目评审委员会主任、项目组组长.、项目管理小组项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下:()草拟项目管理的各项制度; ()组织项目阶段评审; ()保存项目过程中的相关文件和数据; ()为优化项目管理提出建议。、项目评审小组项目评审小组对项
4、目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司 技术专家和市场专家组成。主要职责如下:()对项目可行性报告进行评审; ()对市场计划和阶段报告进行评审; ()对开发计划和阶段报告进行评审; ()项目结束时,对项目总结报告进行评审。、软件产品项目组软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和 产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要 职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。三、软件项目管理的内容从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细
5、设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开 发,这六个阶段都是不可缺少的。根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、软件质量管理、 软件风险管理及开发人员管理四方面内容导入软件开发的整个阶段。在八十年代初,著名软件工程专家 B.W.Boehm 总结出了软件开发时需遵循的七条基本原则, 同样,我们在进行软件项目管理时,也应该遵循这七条原则。它们是:()用分阶段的生命周期计划严格管理; ()坚持进行阶段评审; ()实行严格的产品控制; ()采用现代程序设计技术; ()结果应能够清楚地审查; ()开发小组地人员应该少而精; ()承认不断改进软
6、件工程实践地必要性。四、编写软件项目计划书项目组成立的第一件事是编写软件项目计划书 ,在计划书中描述开发日程安排、资源需 求、项目管理等各项情况的大体内容。计划书主要向公司各相关人员发放,使他们大体了 解该软件项目的情况。对于计划书的每个内容,都应有相应具体实施手册,这些手册是供 项目组相关成员使用的。软件项目计划书一般应该包括下述内容:.引言.计划的目的.项目的范围和目标.范围描述.主要功能.性能.管理和技术约束.项目估算.使用的历史数据.使用的评估技术.工作量、成本、时间估算.风险管理战略.风险识别.有关风险的讨论.风险管理计划.风险计划.风险监视.风险管理.日程.项目工作分解结构.时限图
7、(甘特图).资源表.项目资源.人员.硬件和软件.特别资源.人员组织.组织结构.管理报告.跟踪和控制机制.质量保证和控制.变化管理和控制.附录五、软件配置管理是否进行配置管理与软件的规模有关,软件的规模越大,配置管理就显得越重要。软件配 置管理简称 SCM(SoftwareConfigurationManagement 的缩写) ,是在团队开发中,标识、 控制和管理软件变更的一种管理。配置管理的使用取决于项目规模和复杂性以及风险水平。、目前软件开发中面临的问题。在有限的时间、资金内,要满足不断增长的软件产品质量要求;。开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;。程序的规模越来越大;
8、。软件的重用性需要提高;。软件的维护越来越困难。、软件配置管理应提供的功能在 ISO.中,对配置管理系统的功能作了如下描述:。唯一地标识每个软件项的版本;。标识共同构成一完整产品的特定版本的每一软件项的版本;。控制由两个或多个独立工作的人员同时对一给定软件项的更新;。控制由两个或多个独立工作的人员同时对一给定软件项的更新;。按要求在一个或多个位置对复杂产品的更新进行协调;。标识并跟踪所有的措施和更改;这些措施和更改是在从开始直到放行期间,由于更 改请求或问题引起的。、版本管理软件配置管理分为版本管理、问题跟踪和建立管理三个部分,其中版本管理是基础。版本 管理应完成以下主要任务:。建立项目;。重
9、构任何修订版的某一项或某一文件;。利用加锁技术防止覆盖;。当增加一个修订版时要求输入变更描述;。提供比较任意两个修订版的使用工具;。采用增量存储方式;。提供对修订版历史和锁定状态的报告功能;。提供归并功能;。允许在任何时候重构任何版本;。权限的设置;。晋升模型的建立;。提供各种报告。、配置管理软件 PVCS.PVCS.是一套非常优秀的配置管理软件,它能够实现配置管理中的各项要求,并且能和多 种流行开发平台集成,为配置管理提供了很大的方便。六、软件质量管理随着软件开发的规模越来越大,软件的质量问题显得越来越突出。软件质量的控制不单单 是一个软件测试问题,在软件开发的所有阶段都应该引入质量管理。我
10、公司除加强了国家 标准“信息技术软件生存期过程“(GB/T-)的规范管理外,还积极为通过 ISO.做准备。、软件质量保证计划在进行软件开发前,需要有一个软件质量保证计划 。目前较常用的是 ANSI/IEEESTOL -,-标准,包括以下内容:.计划目的.参考文献.管理.组织.任务.责任.文档.目的.要求的软件工程文档.其他文档.标准和约定.目的.约定.评审和审计.目的.评审要求.软件需求的评审.设计评审.软件验证和确认评审.功能评审.物理评审.内部过程评审.管理评审.测试.问题报告和改正活动.工具、技术和方法.媒体控制.供应者控制.记录、收集、维护和保密.培训.风险管理、质量管理的基本原则。控
11、制所有过程的质量;。过程控制的出发点是预防不合格;。质量管理的中心任务是建立并实施文件化的质量体系;。持续的质量改进;。有效的质量体系应满足顾客和组织内部双方的需要和利益;。定期评价质量体系;。搞好质量管理关键在于领导。、软件质量因素 正确性:系统满足规格说明和用户目标的程度,即,在预定环境下能正确地完成预期 功能的程度。健壮性:在硬件发生故障、输入的数据无效或操作错误等意外环 境下,系统能做出适当响应的程度。效率:为了完成预定的功能,系统需要的计算资源的多少。完整性(安全性):对未经授权的人使用软件或数据的企图,系统能过控制(禁止) 的程度。可用性:系统在完成预定应该完成的功能时另人满意的程
12、度。风险:按预定的成本和进度把系统开发出来,并且为用户所满意的概率。可理解性:理解和使用该系统的容易程度。可维修性:诊断和改正在运行现场发现的错误所需要的工作量的大小。灵活性(适应性):修改或改进正在运行的系统需要的工作量的多少。可测试性:软件容易测试的程度。可移植性:把程序从一种硬件配置和(或)软件系统环境转移到另一种配置和环境时, 需要的工作量多少。有一种定量度量的方法是:用原来程序设计和调试的成本除移植时需 用的费用。可再用性:再其他应用中该程序可以被再次使用的程度(或范围) 。互运行性:把该系统和另一个系统结合起来需要的工作量的多少。、软件评审软件评审并不是在软件开发完毕后进行评审,而
13、是在软件开发的各个阶段都要进行评审。 因为在软件开发的各个阶段都可能产生错误,如果这些错误不及时发现并纠正,会不断地 扩大,最后可能导致开 发的失败。下面这组数据可以清楚的看出前期的错误对后期的影响。软件评审是相当重要的工作,也是目前国内开发最不重视的工作。()评审目标。发现任何形式表现的软件功能、逻辑或实现方面的错误;。通过评审验证软件的需求;。保证软件按预先定义的标准表示;。已获得的软件是以统一的方式开发的;。使项目更容易管理。()评审过程A、召开评审会议:一般应有至人参加,会前每个参加者做好准备,评审会每次一般 不超过小时。B、会议结束使必须做出以下决策之一:接受该产品,不需做修改;由于
14、错误严重, 拒绝接受;暂时接受该产品。C、评审报告与记录;所提出的问题都要进行记录,在评审会结束前产生一个评审问 题表,另外必须完成评审简要报告。()评审准则。评审产品,而不是评审设计者(不能使设计者有任何压力) ;。会场要有良好的气氛;。建立议事日程并维持它(会议不能脱离主题) ;。限制争论与反驳(评审会不是为了解决问题,而是为了发现问题;。指明问题范围,而不是解决提到的问题;。展示记录(最好有黑板,将问题随时写在黑板上) ;。限制会议人数和坚持会前准备工作;。对每个被评审的产品要尽力评审清单(帮助评审人员思考) ;。对每个正式技术评审分配资源和时间进度表;。对全部评审人员进行必要的培训;。
15、及早地对自己地评审做评审(对评审准则的评审) 。、ISO.软件质量认证体系ISO.是 ISO 质量体系认证中关于计算机软件质量管理和质量保证标准部分。它从管理职责、 质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提供产品的控制、产品标 识和可追溯性、过程控制、检验和试验、检验/测量和试验设备的控制、检验和试验状态、 不合格品的控制、纠正和预防措施、搬运/贮存/包装/防护和交付、质量记录的控制、内部 质量审核、培训、服务、统计系统等二个方面对软件质量进行了要求。、测试软件测试是软件开发的一个重要环节,同时也是软件质量保证的一个重要环节。所谓测试 就是用已知的输入在已知环境中动态地执行系
16、统(或系统的部件) 。测试一般包括单元测试、 模块测试、集成测试和系统测试。如果测试结果与预期结果不一致,则很可能是发现了系 统中的错误,测试过程中将产生下述基本文档:()测试计划:确定测试范围、方法、和需要的资源等。()测试过程:详细描述和每个测试方案有关的测试步骤和数据(包括测试数据及预期的 结果) 。()测试结果:把每次测试运行的结果归入文档,如果运行出错,则应产生问题报告,并 且必须经过调试解决所发现的问题。测试结果:把每次测试运行的结果归入文档,如果运 行出错,则应产生问题报告,并且必须经过调试解决所发现的问题。 七、软件风险管理软件项目管理存在着风险,如果我们提前重视风险,并且有所防范,就可以最大限度减少 风险的发生。进行风险管理是有效的手段。、风险的分类根据风险内容,我们可以将风险分为项目风险(成本提高,时间延长等) 、技术风险(技术 不成熟等) 、商业风险(销售问题等) 、战略风险(公司的经营战略发生了变化) 、管理风险 (公司管理人员是否成熟等) 、预算风险(预算是否准确等)等。