软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt

软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt

ID:50348604

大小:333.50 KB

页数:50页

时间:2020-03-08

软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt_第1页
软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt_第2页
软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt_第3页
软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt_第4页
软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt_第5页
资源描述:

《软件工程 第3版 教学课件 作者 张海藩 倪宁 第11章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第11章组织民主制程序员组11.1主程序员组11.2现代程序员组11.3软件项目组11.4小结11.511.1民主制程序员组有两种极端方法可用来组织程序员组,这两种组织方法分别称为民主制程序员组和主程序员组。本节介绍民主制程序员组,下节介绍主程序员组。构成民主制程序员组的基本概念是“无私编程”。必须改变评价程序员价值的标准,每名程序员都应该鼓励该组其他成员找出自己编写的代码中的错误。不要认为存在错误是坏事,而应该认为是正常的事情,应该把找出模块中的一个错误看作是取得了一个胜利。任何人都不能嘲笑程序员所犯的编码错误。程序员组作为一个整体,将培养一种平等的团队精神,坚信“每个模块都

2、是属于整个程序员组的,而不是属于某个人的”。一组无私的程序员将构成一个民主制程序员组。民主制程序员组的一个重要特点是,小组成员完全平等,享有充分民主,通过协商做出技术决策。因此,小组成员间的通信是平行的,如果一个小组有n个成员,则可能的通信信道有n(n-1)/2条。一般说来,程序设计小组的规模应该比较小,以2~8名成员为宜。如果项目规模很大,用一个小组不能在预定时间内完成开发任务,则应该使用多个程序设计小组,每个小组承担工程项目的一部分任务,在一定程度上独立自主地完成各自的任务。系统的总体设计应该能够保证由各个小组负责开发的各部分之间的接口是良好定义的,并且是尽可能简单的。小组

3、规模小,不仅可以减少通信问题,而且还有其他好处。例如,容易确定小组的质量标准,而且用民主方式确定的标准更容易被大家遵守;组员间关系密切,能够互相学习等。民主制程序员组通常采用非正式的组织方式,也就是说,虽然名义上有一个组长,但是他和组内其他成员完成同样的任务。在这样的小组中,由全体讨论决定应该完成的工作,并且根据每个人的能力和经验分配适当的任务。为了使少数经验丰富、技术高超的程序员在软件开发过程中能够发挥更大作用,程序设计小组也可以采用下一小节中介绍的另外一种组织形式。11.2主程序员组美国IBM公司在20世纪70年代初期开始采用主程序员组的组织方式。采用这种组织方式主要出于

4、下述几点考虑:·软件开发人员多数比较缺乏经验;·程序设计过程中有许多事务性的工作,例如,大量信息的存储和更新;·多渠道通信很费时间,将降低程序员的生产率。Baker描述的一个典型的主程序员组如图11.1所示。该组由主程序员、后备程序员、编程秘书以及1~3名程序员组成。在必要的时候,该组还有其他领域的专家(例如,法律专家,财务专家等)协助。图11.1主程序员组的结构11.3现代程序员组实际的“主程序员”应该由两个人来担任:一个技术负责人,负责小组的技术活动;一个行政负责人,负责所有非技术的管理决策。这样的组织结构如图11.2所示。图11.2现代程序员组由于程序员组的成员人

5、数不宜过多,当软件项目规模较大时,应该把程序员分成若干个小组,采用图11.3所示的组织结构。该图描绘的是技术管理组织的结构,非技术管理组织的结构与此类似。由图可以看出,产品的实现作为一个整体是在项目经理的指导下进行的,程序员向他们的组长汇报工作,而组长向项目经理汇报工作。当产品规模更大时,可以增加中间管理层次。图11.3大型项目的技术管理组织结构把民主制程序员组和主程序员组的优点结合起来的另一种方法,是在合适的地方采用分散做决定的方法,如图11.4所示。这样做有利于形成畅通的通信渠道,以便充分发挥每个程序员的积极性和主动性,集思广益攻克技术难关。这种组织方式对于适合采用民主方法的

6、那类问题(例如,研究性项目或遇到技术难题需要用集体智慧攻关)非常有效。图11.4包含分散决策的组织方式11.4软件项目组如前所述,程序员组的组织方式主要用于实现阶段,当然,也适用于软件生命周期的其他阶段(当考虑在更广阔范围的应用时,把程序员组更名为软件项目组更恰当一些)。本节从更广阔的角度进一步讨论软件项目组的组织方式。11.4.1三种组织方式Mantei提出了下述的三种通用的项目组组织方式。·民主分权式(DemocraticDecentralized,缩写为DD):这种软件工程小组没有固定的负责人,“任务协调人”是临时指定的,随后将由协调别的任务的人取代。用全体组员协商一致

7、的方法对问题及解决问题的方法做出决策。小组成员间的通信是平行的。·控制分权式(ControlledDecentralized,缩写为CD):这种软件工程小组有一个固定的负责人,他协调特定任务的完成并指导负责子任务的下级领导人的工作。解决问题仍然是一项群体活动,但是,通过小组负责人在子组之间划分任务来实现解决方案。子组和个人之间的通信是平行的,但是也有沿着控制层的上下级之间的通信。·控制集权式(ControlledCentralized,缩写为CC):小组负责人管理顶

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。