- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
广东工业大学应用数学学院
广东工业大学应用数学学院 第11章 组织 软件项目成功的关键是具有高素质的软件开发人员。 为了成功地完成软件开发工作,项目组成员必须以一种有意义且有效地方式彼此交互和通信。 组织软件开发人员的方法,取决于所承担的项目的特点,以往的组织经验以及软件开发公司负责人的看法和喜好。 11.1 民主制程序员组 Weinberg在1971年首先描述了民主制程序员组的组织方式。构成民主制程序员组的基本概念是--无私编程。 程序员组作为一个总体,将培养一种团队精神,坚信“每个模块都是属于整个程序组的,而不是属于某个人的”。 民主制程序员组的特点:小组成员完全平等,享有充分的民主,通过协商做出技术决策。 一般来说,程序设计小组的规模应该比较小,以2-8名成员为宜。 民主制程序员组的主要优点:1)对发现错误抱有积极的态度,这种态度有助于更快速地发现错误,从而导致高质量地代码;2)小组成员充分民主,组内学术氛围浓厚,有利于攻克技术难关。 民主制程序员组的主要缺点:由于没有明确的权威知道开发工程的进行,组员间将缺乏必要的协调,最终可能导致工程的失败。 11.2 主程序员组 Baker在1971年描述了一个典型的主程序员组:主程序员,后备程序员,编程秘书以及1-3名程序员。 主程序员:高级程序员与成功管理者的结合体,突出专业化和层次性。 后备程序员:技术熟练且经验丰富。 编程秘书:负责完成与项目有关的全部事务性工作。 11.3 现代程序员组 现代程序员组:项目经理,行政组长,技术组长和程序员。 项目经理:全面负责开发项目。 行政组长:全权负责该组的非技术事务。 技术组长:只对该小组技术工作负责。 程序员向组长汇报工作,组长向项目经理汇报工作。 当项目规模更大时可以增加中间管理层次。 一流软件领导的10个特征 特征一:敢于设想 特征二:敢于冒险 特征三:多样选择 特征四:敢于尝试 特征五:强调速度 特征六:目标远大 特征七:敢于变革 特征八:反应迅速 特征九:善于管理 特征十:创造文化 11.4 软件项目组 11.4.1 三种组织方式 民主分权式(Democratic Decentralized,DD) 小组成员间的通信是平行的。 控制分权式(Controlled Decentralized,CD) 子组和个人之间的通信是平行的,但也是沿着控制层的上下级之间的通信。 控制集权式(Controlled Centralized,CC) 负责人和小组成员之间的通信是上下级的。 11.4.2 四种组织范型 封闭式范型:按照传统的权力层次来组织项目。 随机式范型:松散地组织项目组,小组工作依靠小组成员发挥个人的主动性。 开放式范型:这种范型试图以一种既具有封闭式范型的控制性,又包含随机式范型的创造性的方式来组织项目组。 同步式范型:按照对问题的自然划分,组织项目组成员各自解决一些子问题,他们之间很少有主动的通信需求。 第12章 控制 12.1 风险管理 软件风险分类 风险识别 风险预测 处理风险的策略 风险分析 每当新建一个程序时,总是存在某些不确定性。 用户要求是否能确切地被理解? 在项目最后结束之前要求实现的功能能否建立? 是否存在目前仍未发现的技术难题? 在项目出现严重误期时是否 会发生一些变更?等等。 风险分析对于软件项目管理是决定性的,然而现在还有许多项目不考虑风险就着手进行。 所谓风险分析实际上就是一系列风险管理步骤,其中包括风险识别、风险估计、风险优化、风险管理策略、风险解决和风险监督。这些步骤贯穿在软件工程过程中。 12.2 质量保证 软件质量的定义 ANSI/IEEE Std 729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。 M.J. Fisher 定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。 质量特性及其组合,是软件开发与维护中的重要考虑因素 为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合。 如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。 软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。 标准定义了一组开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。 软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。 软件质量特性 软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。 定义一个软件的质量,就等价于为该软件定义一系列质量特性。 人们通常把影响软件质量的特性用软件质量模型来描述。 软
文档评论(0)