欢迎来到天天文库
浏览记录
ID:17465380
大小:70.50 KB
页数:10页
时间:2018-09-01
《软件项目管理在小软件项目中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件项目管理在小软件项目中的应用【摘要】信息技术的飞速发展已是无需争论的事实,软件产业的创造的价值也在逐年增加,在某些国家软件开发已然成为了支柱产业。在看到我国软件开发人员的不断成熟,软件开发环境不断与国际社会接轨的同时,我们也不能忽视我国当前软件行业存在的弊端:缺乏统一的行业标准和相应的法律法规,一些中小型软件项目仍然以原始的个人或者小团体为主的手工作坊式的方式进行开发,在大量浪费人力物力的同时也使得程序员辛苦创造的价值在无形之中流失。很多人认为小型软件项目不需要严格的管理,事实上恰恰与此相反,小型软件项目不单需要进行项目管理,而且不能完
2、全照搬大型软件项目的管理方式和开发模式,应该遵循一种适合小型软件项目的管理方式;但从另一个角度来看,项目的大与小并没有本质的区别,很多方法是共通的。本文的目的是从作者的经验来谈谈小项目开发的管理。【关键词】小软件项目项目管理软件开发【正文】第一部分软件项目管理概述1-1软件项目管理的目的从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能
3、力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。项目管理的根本焦点集中在T、Q、C、S上,即:开发进度(Theprogressofdevelopment)-10-、特性与品质(CharacterandQuality)、成本(Cost)、顾客服务(Ser
4、vice)。其中最核心的是开发进度、特性与品质两个方面。其它一切管理工作都必须围绕这些焦点进行。1-2软件项目管理的内容从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。1-3软件项目管理的原则在八十年代初,著名软件工程专家B.W.Boehm①总结出了软件开发时需遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则。它们是:(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(
5、3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能够清楚地审查;(6)开发小组地人员应该少而精;(7)承认不断改进软件工程实践地必要性。第二部分小软件项目开发2-1小项目的特点本文所说的“小软件项目”是指直接开发人员的数目在3-10人,软件开发的周期在1-5个月之间,代码数量在5000-20000行,子程序数量在100-500之间的小型软件开发项目。大家知道,“软件危机②”的出现起源于一些大型项目的不断延迟甚至失败。小项目相比之下,具有以下特点:·项目功能相对较少-10-·开发人员较少·开发周期较短另外,在现实中,有很多小项
6、目的开发人员流动性较大,这也是不容忽视的一个现实。2-2小项目开发中常犯的错误 小项目看起来比较简单,比较容易成功,因而人们往往忽视了小项目的管理,其实这是一种误解,从本人的经验看来,小项目开发中容易犯以下的一些错误: 1、开发之前没有认真地进行项目可行性和工作量的估计。往往由于项目较小,便很草率地制定一个开发日程表,没有认真地估计项目难度,结果实际完成时间与估计完成时间往往有较大差别。 2、没有真正的设计过程 开发人员少,意味着不同人员的程序之间交互、接口相对少一些。开发周期短意味着往往是同样的几个人从头到尾负责一个项目。这两者都
7、让人容易犯些错误。往往是几个人碰一下头,讨论一下最基本的数据结构、函数接口便分头去做自己的工作了,没有一份较正式的文档。 这种做法潜在的危险之一是有的人可能会对讨论出的接口、结构理解有偏差(应该承认人是会犯错误的)。一个误解可能造成以后的返工。另一个潜在的危险是由于讨论时忽略了某些情况,等大家都按当时的分工完成属于自己的工作后,才发现各个模块组合起来却形不成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。 第三个潜在的危险是一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解以前别人做好的代码,索性自己从头来。
8、另外,没有文档的程序,日后维护和版本升级都比较困难。 3、不经过单元测试而直接进入系统测试 造成这一现象的原因是每个模块相对比较简单,但是为了测试一个模块需要建立一些测试环境
此文档下载收益归作者所有