12管理技术.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12管理技术

2 软件项目计划 1.成本估算的主要方法 代码行技术 任务分解技术 专家估算法 类推估算法 参数方程法 标准值法 (1)代码行技术 是比较简单的定量估算方法,也是一种自底向上的估算方法。 把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来。通常根据经验和历史数据估计实现一个功能需要的源程序行数。 一旦估计出源代码行数以后,用每行代码的平均成本乘以行数即可确定软件的成本。每行代码的平均成本主要取决于软件的复杂程度和开发小组的工资水平。 (2)任务分解技术 首先把软件开发工程分解为若干个相对独立的任务,再分别估计每个单独的开发任务的成本,最后累加起来就得出软件开发工程的总成本。 估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。 最常用的方法是按开发阶段划分任务。如果软件系统很复杂,由若干个子系统组成,则可以把每个子系统再按开发阶段进一步划分为更小的任务。 1、软件项目组织原则 (1) 尽早落实责任: 在软件项目工作开始时,要尽早指定专人负责。使他有权进行管理,并对任务的完成负全责。 (2)减少接口: 一个组织的生产率随完成任务中存在的通信路径数目增加而降低。要有合理的人员分工、好的组织结构、有效的通信,减少不必要的生产率的损失。 (3)责权均衡:软件经理人员所负的责任不应比委任给他的权力还大。 2. 组织结构的模式 (1)按课题划分的模式 把软件开发人员按课题组成小组,小组成员自始至终参加所承担课题的各项任务。他们应负责完成软件产品的定义、设计、实现、测试、复查、文档编制、甚至包括维护在内的全过程。 (2)按职能划分的模式 把参加开发项目的软件人员按任务的工作阶段划分成若干个专业小组。要开发的软件产品在每个专业小组完成阶段加工(即工序)以后,沿工序流水线向下传递。例如,分别建立计划组、需求分析组、设计组、实现组、系统测试组、质量保证组、维护组等。各种文档资料按工序在各组之间传递。 (3)矩阵形模式 这种模式实际上是以上两种模式的复合。一方面,按工作性质,成立一些专门组,如开发组、业务组、测试组等;另一方面,每一个项目又有它的经理人员负责管理。每个软件人员属于某一个 专门组,又参加某一项目的工作。 3.程序设计小组的组织形式 小组内部人员要求有好的组织结构;合理的人员分工;有效的通讯。现有的组织形式有三种。 主程序员制小组 民主制小组 层次式小组 (1)主程序员制小组 小组的核心由一位主程序员(高级工程师)、二至五位技术员、一位后援工程师组成。主程序员负责小组全部技术活动的计划、协调与审查,设计和实现项目中的关键部分。 技术员负责项目的具体分析与开发,文档资料的编写工作。后援工程师支持主程序员的工作,为主程序员提供咨询,也做部分分析、设计和实现的工作。并在必要时能代替主程序员工作。 主程序员制小组还可以由一些专家(如通信专家或数据库设计专家)、辅助人员(如打字员和秘书)、软件资料员协助工作。 (2)民主制小组 在民主制小组中,遇到问题,组内成员之间可以平等地交换意见。工作目标的制定及做出决定都由全体成员参加。虽然也有一位成员当组长,但工作的讨论、成果的检验都公开进行。这种组织形式强调发挥小组每个成员的积极性。有人认为这种组织形式适合于研制时间长、开发难度大的项目。 (3)层次式小组 在层次式小组中,组内人员分为 三级:组长(项目负责人)一人负责全组工作,包括任务分配、技术评审和走查、掌握工作量和参加技术活动。 他直接领导二至三名高级程序员,每位高级程序员通过基层小组,管理若干位程序员。 这种组织结构只允许必要的人际通信。比较适用于项目本身就是层次结构的课题。因为这样可以把项目按功能划分成若干个子项目,把子项目分配给基层小组,由基层小组完成。 这种组织方式比较适合于大型软件项目的开发。 4. 人员配备 重质量 软件项目是技术性很强的工作,要任用少量有实践经验、有能力的人员去完成关键性的任务。 重培训 培养所需技术人员和管理人员是有效解决人员问题的好方法。 双阶梯提升 人员提升应分别按技术职务和管理职务进行,不能混在一起。 对项目经理人员的要求 软件经理人员是工作的组织者,其管理能力的强弱是项目成败的关键。软件经理人员应具有以下能力: ? 把用户提出的非技术性要求加以整理提炼, 以技术说明书的形式转告给分析员和测试员。 ? 能说服用户放弃一些不切

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档