ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:30.76KB ,
资源ID:6399230      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6399230.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件项目管理综述.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件项目管理综述.docx

1、软件项目管理综述软件工程管理综述一.引言随着信息技术的飞速开展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应开展的需要。各软件企业都在积极将软件工程管理引入开发活动中,对开发实行有效的管理。以四川托普软件公司为例,该公司是成都一家中型软件企业,在公司中已经实行了工程管理制度,软件工程管理是整个工程管理中的一个重要组成局部。从概念上讲,软件工程管理是为了使软件工程能够按照预定的本钱、进度、质量顺利完成,而对本钱、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件工程管理的意义不仅仅如此,进行软件工程管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的

2、软件开发能力越高,说明这个企业的软件生产越趋向于成熟,企业越能够稳定开展(即减小开发风险)。软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件工程管理与其他工程管理相比,有很大的特殊性。二.什么是软件工程管理软件工程管理是为了使软件工程能够按照预定的本钱、进度、质量顺利完成,而对本钱、人员、进度、质量、风险等进行分析和管理的活动。软件工程管理的根本目的是为了让软件工程尤其是大型工程的整个软件生命周期(从分析、设计、编码到测试、维护

3、全过程)都能在管理者的控制之下,以预定本钱按期,按质的完成软件交付用户使用。而研究软件工程管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时防止前人的失误。软件工程管理的提出是在20世纪70代中期的美国,当时美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的工程是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90代中期,软件研发工程管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有0的工程能够在预定的费用和进度下交付。995,据统计,

4、美国共取消了80亿美元的商业软件工程,其中3的工程未做完就被取消,53的软件工程进度通常要延长50%的时间,只有9的软件工程能够及时交付并且费用也控制在预算之内。软件工程管理和其他的工程管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有500万行以上的代码,同时有数千个程序员在进行开发,工程经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。软件工程管理的内容主要包括如下几个方面:人员的组织与管理,软件度量,软件工程方案,

5、风险管理,软件质量保证,软件过程能力评估,软件配置管理等。这几个方面都是贯穿、交织于整个软件开发过程中的,其中人员的组织与管理把注意力集中在工程组人员的构成、优化;软件度量把关注用量化的方法评测软件开发中的费用、生产率、进度和产品质量等要素是否符合期望值,包括过程度量和产品度量两个方面;软件工程方案主要包括工作量、本钱、开发时间的估计,并根据估计值制定和调整工程组的工作;风险管理预测未来可能出现的各种危害到软件产品质量的潜在因素并由此采取措施进行预防;质量保证是保证产品和效劳充分满足消费者要求的质量而进行的有方案,有组织的活动;软件过程能力评估是对软件开发能力的上下进行衡量;软件配置管理针对开

6、发过程中人员、工具的配置、使用提出管理策略。因为大家对人力资源管理和软件过程能力比较有兴趣,下面就详细的对这两方面展开讨论。 三、软件工程管理的组织模式软件工程可以是一个单独的开发工程,也可以与产品工程组成一个完整的软件产品工程。如果是订单开发,则成立软件工程组即可;如果是产品开发,需成立软件工程组和产品工程(负责市场调研和销售),组成软件产品工程组。公司实行工程管理时,首先要成立工程管理委员会,工程管理委员会下设工程管理小组、工程评审小组和软件产品工程组。3.、工程管理委员会工程管理委员会是公司工程管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:()依照工程管理相关制度管理

7、工程;(2)监督工程管理相关制度的执行;(3)对工程立项、工程撤消进行决策;(4)任命工程管理小组组长、工程评审委员会主任、工程组组长.3.2、工程管理小组工程管理小组对工程管理委员会负责,一般由公司管理人员组成。主要职责如下:()草拟工程管理的各项制度;(2)组织工程阶段评审;(3)保存工程过程中的相关文件和数据;(4)为优化工程管理提出建议。3.3、工程评审小组工程评审小组对工程管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:()对工程可行性报告进行评审;(2)对市场方案和阶段报告进行评审;(3)对开发方案和阶段报告进行评审;(4)工程结束

8、时,对工程总结报告进行评审。3.4、软件产品工程组软件产品工程组对工程管理委员会负责,可下设软件工程组和产品工程组。软件工程组和产品工程组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据工程管理委员会的安排具体负责工程的软件开发和市场调研及销售工作。四、软件工程管理的内容从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不管是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。根据公司实际情况,公司在进行软件工程管理时,重点将软件配置管理、工程跟踪和控制管理、软件风险管理及工程筹划活动

9、管理四方面内容导入软件开发的整个阶段。在20世纪80代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同样,在进行软件工程管理时,也应该遵循这七条原则。它们是:()用分阶段的生命周期方案严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能够清楚地审查;(6)开发小组地人员应该少而精;(7)成认不断改进软件工程实践的必要性。 五、编写软件工程方案书工程组成立的第一件事是编写软件工程方案书,在方案书中描述开发日程安排、资源需求、工程管理等各项情况的大体内容。方案书主要向公司各相关人员发放,使他们大体了解该软件工程的情况

10、。对于方案书的每个内容,都应有相应具体实施手册,这些手册是供工程组相关成员使用的。六、软件配置管理是否进行配置管理与软件的规模有关,软件的规模越大,配置管理就显得越重要。软件配置管理简称SCM(Software Configuration Management的缩写),是在团队开发中,标识、控制和管理软件变更的一种管理。配置管理的使用取决于工程规模和复杂性以及风险水平。 6.、目前软件开发中面临的问题:在有限的时间、资金内,要满足不断增长的软件产品质量要求;开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;程序的规模越来越大;软件的重用性需要提高;软件的维护越来越困难。6.2、软件配置管

11、理应提供的功能: 在ISO9000.3中,对配置管理系统的功能作了如下描述:唯一地标识每个软件项的本;标识共同构成一完整产品的特定本的每一软件项的本;控制由两个或多个独立工作的人员同时对一给定软件项的更新;控制由两个或多个独立工作的人员同时对一给定软件项的更新;按要求在一个或多个位置对复杂产品的更新进行协调;标识并跟踪所有的措施和更改;这些措施和更改是在从开始直到放行期间,由于更改请求或问题引起的。6.3、本管理软件配置管理分为本管理、问题跟踪和建立管理三个局部,其中本管理是基础。本管理应完成以下主要任务: 建立工程; 重构任何修订的某一项或某一文件; 利用加锁技术防止覆盖; ?当增加一个修订

12、时要求输入变更描述; 提供比较任意两个修订的使用工具; 采用增量存储方式; 提供对修订历史和锁定状态的报告功能; 提供归并功能; 允许在任何时候重构任何本; 权限的设置; 晋升模型的建立; 提供各种报告。七.人员组织与管理软件开发中的开发人员是最大的资源。对人员的配置、调度安排贯穿整个软件过程,人员的组织管理是否得当,是影响对软件工程质量的决定性因素。首先在软件开发的一开始,要合理的配置人员,根据工程的工作量、所需要的专业技能,再参考各个人员的能力、性格、经验,组织一个高效、和谐的开发小组。一般来说,一个开发小组人数在5到0人之间最为适宜,如果工程规模很大,可以采取层级式结构,配置假设干个这样

13、的开发小组。在选择人员的问题上,要结合实际情况来决定是否选入一个开发组员。并不是一群高水平的程序员在一起就一定可以组成一个成功的小组。作为考察标准,技术水平、与本工程相关的技能和开发经验、以及团队工作能力都是很重要的因素。一个一天能写一万行代码但却不能与同事沟通融洽的程序员,未必适合一个对组员之间通讯要求很高的工程。还应该考虑分工的需要,合理配置各个专项的人员比例。例如一个网站开发工程,小组中有页面美工、后台效劳程序、数据库几个局部,应该合理的组织各项工作的人员配比。对于一个中型农技0网站,对数据采集量要求较高,一个人员配比方案可以是2个美工、2个后台效劳程序编写、3个数据采集整理人员。可以用

14、如下公式来对候选人员能力进行评分,到达一定分数的则可以考虑进入开发组,但这个公式不包含对人员数量配比的考虑。 Score=WiCi(i=to8) Ci是对工程组人员各项能力的评估。其值含义如下在决定一个开发组的开发人员数量时,除了考虑候选人素质以外,还要综合考虑工程规模、工期、预算、开发环境等因素的影响,下面是一个基于规模、工期和开发环境的人员数量计算公式: L=Ck*K/3*td4/3 L:开发规模,以代码行LOC为度量td:开发时间K:人员数 Ck:技术常数表示开发环境的优劣 取值2000:表示开发环境差,没有系统的开发方法,缺乏文档标准化设计; 取值8000:表示开发环境较好; 取值00

15、0:表示开发环境优。 在组建开发组时,还应充分估计到开发过程中的人员风险。由于工作环境、待遇、工作强度、公司的整体工作安排和其他无法预知的因素,一个工程尤其是开发周期较长的工程几乎无可防止的要面临人员的流入流出。如果不在工程初期对可能出现的人员风险进行充分的估计,作必要的准备,一旦风险转化为现实,将有可能给整个工程开发造成巨大的损失。以较低的代价进行及早的预防是降低这种人员风险的基本策略。具体来说可以从以下几个方面对人员风险进行控制: a保证开发组中全职人员的比例,且工程核心局部的工作应该尽量由全职人员来担任, 以减少兼职人员对工程组人员不稳定性的影响。 b建立良好的文档管理机制,包扩工程组进

16、度文档、个人进度文档、本控制文档、整体技术文档、个人技术文档、源代码管理等。一旦出现人员的变动,比方某个组员因病退出,替补的组员能够根据完整的文档尽早接手工作。 c加强工程组内技术交流,比方定期开技术交流会,或根据组内分工建立工程组内部的开发小组,是开发小组内的成员能够相互熟悉对方的工作和进度,能够在必要的时候替对方工作。 d对于工程经理,可以从一开始就指派一个副经理在工程中协同工程经理管理工程开发工作,如果工程经理退出开发组,副经理可以很快接手。但是只建议在工程经理这样的高度重要的岗位采用这种冗余复制的策略来预防人员风险,否则将大大增加工程本钱。 e为工程开发提供尽可能好的开发环境,包括工作

17、环境、待遇、工作进度安排等等,同 时一个优秀的工程经理应该能够在工程组内营造一种良好的人际关系和工作气氛。良好的开发环境对于稳定工程组人员以及提高生产效率都有不可无视的作用。 八.软件过程能力评估软件过程能力描述了一个开发组织开发软件开发高质量软件产品的能力。现行的国际标准主要有两个:ISO9000.3和CMM。ISO9000.3是ISO9000质量体系认证中关于计算机软件质量管理和质量保证标准局部。它从管理职责、质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提供产品的控制、产品标识和可追溯性、过程控制、检验和试验、检验/测量和试验设备的控制、检验和试验状态、不合格品的控制、纠正和预

18、防措施、搬运/贮存/包装/防护和交付、质量记录的控制、内部质量审核、培训、效劳、统计系统等二十个方面对软件质量进行了要求。CMM(能力成熟度模型)是美国卡纳基梅隆大学软件工程研究所(CMUSEI)于987提出的评估和指导软件研发工程管理的一系列方法,用5个不断进化的层次来描述软件过程能力。现在CMM是2.0本。ISO9000和CMM的共同点是二者都强调了软件产品的质量。所不同的是,ISO9000强调的是衡量的准则,但没有告诉软件开发人员如何到达好的目标,如何防止过失。CMM则提供了一整套完善的软件研发工程管理的方法。它可告诉软件开发组织,如果要在原有的水平上提高一个等级,应该关注哪些问题,而这

19、正是改进软件过程的工作。CMM描述了五个级别的软件过程成熟度(初始级,可重复级,已定义级,已定量管理级,优化级),成熟度反映了软件过程能力的大小。初始级特点是软件机构缺乏对软件过程的有效管理,软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,其软件工程的成功来源于偶尔的个人英雄主义而非群体行为,因此它不是可重复的;可重复级的特点是软件机构的工程方案和跟踪稳定,工程过程可控,工程的成功是可重复的;已定义级的特点在于软件过程已被提升成标准化过程,从而更加具有稳定性、可重复性和可控性;已定量管理级的软件机构中软件过程和软件产品都有定量的目标,并被定量地管理,因而其软件过程能力是可预测的,其生产

20、的软件产品是高质量的;优化级的特点是过程的量化反响和先进的新思想、新技术促进过程不断改进,技术和过程的改进改进被作为常规的业务活动加以方案和管理。CMM是科学评价一个软件企业开发能力的标准,但要到达较高的级别也非常困难,根据995美国所做的软件产业成熟度的调查,在美国的软件产业中,CMM成熟度等级为初始级的竟占70,为可重复级的占5,为定义级的所占比例小于0,为管理级的所占比例小于5,为优化级的所占比例小于l。而国内企业的水平就更加堪优,到目前为止,只有东软一家到达优化级,少数几家能够到达可定义级。尽快改变这种局面,科学化、标准化、高效的进行软件开发活动,从整体提高我国软件行业的水平,是国内软件企业的当务之急,也是专业人员应该为自己制定的目标。如果有一天也能指挥一个数千人的庞大开发队伍,操作Windows这样巨型规模的软件工程,并生产出高质量的产品,才有理由宣称自己的软件工程管理能力到达了一个“自主自足”的水平。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1