📄 200604240825565.html
字号:
<P><FONT face=Verdana><STRONG>三、软件项目管理的组织<a href="200603061709535.html" tppabs="http://www.itisedu.com/phrase/200603061709535.html" target="_new">模式</a></STRONG></FONT></P>
<P><FONT face=Verdana> 软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组。公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。</FONT></P>
<P><FONT face=Verdana> 3.1、项目管理委员会项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:<BR>(1)依照项目管理相关制度管理项目;<BR>(2)监督项目管理相关制度的执行;<BR>(3)对项目立项、项目撤消进行决策;<BR>(4)任命项目管理小组组长、项目评审委员会主任、项目组组长. </FONT></P>
<P><FONT face=Verdana> 3.2、项目管理小组项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下:<BR>(1)草拟项目管理的各项制度;<BR>(2)组织项目阶段评审;<BR>(3)保存项目过程中的相关<a href="200602282323195.html" tppabs="http://www.itisedu.com/phrase/200602282323195.html" target="_new">文件</a>和数据;<BR>(4)为优化项目管理提出建议。</FONT></P>
<P><FONT face=Verdana> 3.3、项目评审小组项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:<BR>(1)对项目可行性报告进行评审;<BR>(2)对市场计划和阶段报告进行评审;<BR>(3)对开发计划和阶段报告进行评审;<BR>(4)项目结束时,对项目总结报告进行评审。</FONT></P>
<P><FONT face=Verdana> 3.4、软件产品项目组软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。 </FONT></P>
<P><FONT face=Verdana><STRONG>四、软件项目管理的内容</STRONG></FONT></P>
<P><FONT face=Verdana> 从软件工程的角度讲,软件开发主要分为六个阶段:<a href="200603062220345.html" tppabs="http://www.itisedu.com/phrase/200603062220345.html" target="_new">需求分析</a>阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是<a href="200603082251135.html" tppabs="http://www.itisedu.com/phrase/200603082251135.html" target="_new">团队</a>协作开发,这六个阶段都是不可缺少的。根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、项目跟踪和控制管理、<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603281133375.html \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603281133375.html'" tppabs="http://www.itisedu.com/phrase/200603281133375.html" target="_new">软件风险管理</a>及项目策划活动管理四方面内容导入软件开发的整个阶段。在20世纪80年代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同样,在进行软件项目管理时,也应该遵循这七条原则。它们是:<BR>(1)用分阶段的生命周期计划严格管理;<BR>(2)坚持进行阶段评审;<BR>(3)实行严格的产品控制;<BR>(4)采用现代<a href="200602281641255.html" tppabs="http://www.itisedu.com/phrase/200602281641255.html" target="_new">程序设计</a>技术;<BR>(5)结果应能够清楚地审查;<BR>(6)开发小组地人员应该少而精;<BR>(7)承认不断改进软件工程实践的必要性。</FONT></P>
<P><FONT face=Verdana><STRONG>五、编写《软件项目计划书》</STRONG></FONT></P>
<P><FONT face=Verdana> 项目组成立的第一件事是编写《软件项目计划书》,在计划书中描述开发日程安排、资源<a href="200603101518295.html" tppabs="http://www.itisedu.com/phrase/200603101518295.html" target="_new">需求</a>、项目管理等各项情况的大体内容。计划书主要向公司各相关人员发放,使他们大体了解该软件项目的情况。对于计划书的每个内容,都应有相应具体实施手册,这些手册是供项目组相关成员使用的。</FONT></P>
<P><FONT face=Verdana><STRONG>六、软件配置管理</STRONG></FONT></P>
<P><FONT face=Verdana> 是否进行配置管理与软件的规模有关,软件的规模越大,配置管理就显得越重要。软件配置管理简称SCM(Software Configuration Management的缩写),是在团队开发中,标识、控制和管理软件变更的一种管理。配置管理的使用取决于项目规模和复杂性以及风险水平。</FONT></P>
<P><FONT face=Verdana> 6.1、目前软件开发中面临的问题:在有限的时间、资金内,要满足不断增长的软件产品质量要求;开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;程序的规模越来越大;软件的重用性需要提高;软件的维护越来越困难。</FONT></P>
<P><FONT face=Verdana> 6.2、软件配置管理应提供的功能:<BR> 在ISO9000.3中,对配置管理系统的功能作了如下描述:唯一地标识每个软件项的版本;标识共同构成一完整产品的特定版本的每一软件项的版本;控制由两个或多个独立工作的人员同时对一给定软件项的更新;控制由两个或多个独立工作的人员同时对一给定软件项的更新;按要求在一个或多个位置对复杂产品的更新进行协调;标识并跟踪所有的措施和更改;这些措施和更改是在从开始直到放行期间,由于更改请求或问题引起的。</FONT></P>
<P><FONT face=Verdana> 6.3、版本管理软件配置管理分为版本管理、问题跟踪和建立管理三个部分,其中版本管理是基础。版本管理应完成以下主要任务:<BR> <BR> 建立项目; <BR> <a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603121222205.html \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603121222205.html'" tppabs="http://www.itisedu.com/phrase/200603121222205.html" target="_new">重构</a>任何修订版的某一项或某一文件;<BR> 利用加锁技术防止覆盖; ?当增加一个修订版时要求输入变更描述;<BR> 提供比较任意两个修订版的使用工具;<BR> 采用增量存储方式; <BR> 提供对修订版历史和锁定状态的报告功能;<BR> 提供归并功能; <BR> 允许在任何时候重构任何版本;<BR> 权限的设置; <BR> 晋升模型的建立;<BR> 提供各种报告。 </FONT></P>
<P><FONT face=Verdana><STRONG>七. 人员组织与管理</STRONG></FONT></P>
<P><FONT face=Verdana> 软件开发中的开发人员是最大的资源。对人员的配置、调度安排贯穿整个软件过程,人员的组织管理是否得当,是影响对软件项目质量的决定性因素。</FONT></P>
<P><FONT face=Verdana> 首先在软件开发的一开始,要合理的配置人员,根据项目的工作量、所需要的专业技能,再参考各个人员的能力、性格、经验,组织一个高效、和谐的开发小组。一般来说,一个开发小组人数在5到10人之间最为合适,如果项目规模很大,可以采取层级式结构,配置若干个这样的开发小组。</FONT></P>
<P><FONT face=Verdana> 在选择人员的问题上,要结合实际情况来决定是否选入一个开发组员。并不是一群高水平的程序员在一起就一定可以组成一个成功的小组。作为考察标准,技术水平、与本项目相关的技能和开发经验、以及团队工作能力都是很重要的因素。一个一天能写一万行代码但却不能与同事沟通融洽的程序员,未必适合一个对组员之间通讯要求很高的项目。还应该考虑分工的需要,合理配置各个专项的人员比例。例如一个网站开发项目,小组中有页面美工、后台服务程序、<a href="200602271218062.html" tppabs="http://www.itisedu.com/phrase/200602271218062.html" target="_new">数据库</a>几个部分,应该合理的组织各项工作的人员配比。对于一个中型农技110网站,对数据采集量要求较高,一个人员配比方案可以是2个美工、2个后台服务程序编写、3个数据采集整理人员。</FONT></P>
<P><FONT face=Verdana> 可以用如下公式来对候选人员能力进行评分,达到一定分数的则可以考虑进入开发组,但这个公式不包含对人员数量配比的考虑。<BR> Score=∑WiCi(i=1to8)<BR> Ci是对项目组人员各项能力的评估。其值含义如下 </FONT></P>
<P><FONT face=Verdana><IMG src="2006311112338880.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006311112338880.jpg" border=0></FONT></P>
<P><FONT face=Verdana> 在决定一个开发组的开发人员数量时,除了考虑候选人素质以外,还要综合考虑项目规模、工期、预算、开发环境等因素的影响,下面是一个基于规模、工期和开发环境的人员数量计算公式:<BR> L=Ck*K1/3*td4/3<BR> L:开发规模,以代码行LOC为度量td:开发时间K:人员数<BR> Ck:技术常数表示开发环境的优劣<BR> 取值2000:表示开发环境差,没有系统的开发方法,缺乏文档规范化设计;<BR> 取值8000:表示开发环境较好;<BR> 取值11000:表示开发环境优。</FONT></P>
<P><FONT face=Verdana> 在组建开发组时,还应充分估计到开发过程中的人员风险。由于工作环境、待遇、工作强度、公司的整体工作安排和其他无法预知的因素,一个项目尤其是开发周期较长的项目几乎无可避免的要面临人员的流入流出。如果不在项目初期对可能出现的人员风险进行充分的估计,作必要的准备,一旦风险转化为现实,将有可能给整个项目开发造成巨大的损失。以较低的代价进行及早的预防是降低这种人员风险的基本策略。具体来说可以从以下几个方面对人员风险进行控制:</FONT></P>
<P><FONT face=Verdana> a.保证开发组中全职人员的比例,且项目核心部分的工作应该尽量由全职人员来担任, 以减少兼职人员对项目组人员不稳定性的影响。<BR> b.建立良好的文档管理机制,包扩项目组进度文档、个人进度文档、版本控制文档、整体技术文档、个人技术文档、源代码管理等。一旦出现人员的变动,比如某个组员因病退出,替补的组员能够根据完整的文档尽早接手工作。<BR> c.加强项目组内技术交流,比如定期开技术交流会,或根据组内分工建立项目组内部的开发小组,是开发小组内的成员能够相互熟悉对方的工作和进度,能够在必要的时候替对方工作。<BR> d.对于项目经理,可以从一开始就指派一个副经理在项目中协同项目经理管理项目开发工作,如果项目经理退出开发组,副经理可以很快接手。但是只建议在项目经理这样的高度重要的岗位采用这种冗余复制的策略来预防人员风险,否则将大大增加项目成本。<BR> e.为项目开发提供尽可能好的开发环境,包括工作环境、待遇、工作进度安排等等,同 时一个优秀的项目经理应该能够在项目组内营造一种良好的人际关系和工作氛围。良好的开发环境对于稳定项目组人员以及提高生产效率都有不可忽视的作用。</FONT></P>
<P><FONT face=Verdana><STRONG>八.软件过程能力评估</STRONG></FONT></P>
<P><FONT face=Verdana> 软件过程能力描述了一个开发组织开发软件开发高质量软件产品的能力。现行的国际标准主要有两个:ISO9000.3和<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603051508215.html \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603051508215.html'" tppabs="http://www.itisedu.com/phrase/200603051508215.html" target="_new">CMM</a>。</FONT></P>
<P><FONT face=Verdana> ISO9000.3是ISO9000质量体系认证中关于<a href="200602281627065.html" tppabs="http://www.itisedu.com/phrase/200602281627065.html" target="_new">计算机软件</a>质量管理和质量保证标准部分。它从管理职责、质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提供产品的控制、产品标识和可追溯性、过程控制、检验和试验、检验/测量和试验设备的控制、检验和试验状态、不合格品的控制、纠正和预防措施、搬运/贮存/包装/防护和交付、质量记录的控制、内部质量审核、培训、服务、统计系统等二十个方面对软件质量进行了要求。</FONT></P>
<P><FONT face=Verdana> CMM(<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604231313565.html \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604231313565.html'" tppabs="http://www.itisedu.com/phrase/200604231313565.html" target="_new">能力成熟度模型</a>)是美国卡纳基梅隆大学软件工程研究所(CMU/SEI)于1987年提出的评估和指导软件研发项目管理的一系列方法,用5个不断进化的层次来描述软件过程能力。现在CMM是2.0版本。</FONT></P>
<P><FONT face=Verdana> ISO9000和CMM的共同点是二者都强调了软件产品的质量。所不同的是,ISO9000强调的是衡量的准则,但没有告诉软件开发人员如何达到好的目标,如何避免差错。CMM则提供了一整套完善的软件研发项目管理的方法。它可告诉软件开发组织,如果要在原有的水平上提高一个等级,应该关注哪些问题,而这正是改进软件过程的工作。</FONT></P>
<P><FONT face=Verdana> CMM描述了五个级别的软件过程成熟度(初始级,可重复级,已定义级,已定量管理级,优化级),成熟度反映了软件过程能力的大小。</FONT></P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -