软件制造工程--程序设计概述

上传人:痛*** 文档编号:135800586 上传时间:2022-08-15 格式:PPTX 页数:68 大小:413.94KB
收藏 版权申诉 举报 下载
软件制造工程--程序设计概述_第1页
第1页 / 共68页
软件制造工程--程序设计概述_第2页
第2页 / 共68页
软件制造工程--程序设计概述_第3页
第3页 / 共68页
资源描述:

《软件制造工程--程序设计概述》由会员分享,可在线阅读,更多相关《软件制造工程--程序设计概述(68页珍藏版)》请在装配图网上搜索。

1、软件制造工程软件制造工程第二章第二章 程序设计程序设计本章授课内容本章授课内容n基础基础 n程序设计概述程序设计概述n程序设计原理程序设计原理n程序设计的启发式原则程序设计的启发式原则n程序设计方法程序设计方法n面向对象程序设计面向对象程序设计 n团队团队 n程序设计书的构成和理解程序设计书的构成和理解程序设计概述程序设计概述 _程序设计在软件开发中的位置程序设计在软件开发中的位置软件工程管理规划阶段需求分析A开发阶段内部设计B外部设计移植、安装、维护移植安装维护HD程序设计制造 E组合测试F系统测试G运行测试以内部设计书为基础,对程序单元内的功能模块进行分割和功能模块的功能处理给予说明,作出

2、程序设计书。按照程序设计书进行程序编码。按照程序设计书进行程序单元测试。C程序设计概述程序设计概述_概念概念n程序设计程序设计 n概要设计又称为总体设计或外部设计,详细设计概要设计又称为总体设计或外部设计,详细设计又称为过程设计或内部设计。程序设计是以详细又称为过程设计或内部设计。程序设计是以详细设计为基础,对程序单元内的功能模块进行细化,设计为基础,对程序单元内的功能模块进行细化,对功能模块的功能处理要求和实现方法给予说明,对功能模块的功能处理要求和实现方法给予说明,并作出程序设计书。程序设计的结果将是编程工并作出程序设计书。程序设计的结果将是编程工程和测试工程的主要依据。程和测试工程的主要

3、依据。n近年来,由于很多应用系统在开发周期短、开发近年来,由于很多应用系统在开发周期短、开发成本低的条件下进行设计,常常把详细设计和程成本低的条件下进行设计,常常把详细设计和程序设计的阶段合为一体序设计的阶段合为一体。程序设计概述程序设计概述_作业流程及描述作业流程及描述D1 开发准备工作D1.1详细设计成果物的确认D1.1.1 确认详细设计成果物D1.2 制定工作计划D1.2.1制定工作计划D1.3 检查工作计划D1.3.1检查工作计划在进行程序设计制造作业之前,要确认详细设计的成果物。为了进行程序设计制造的进度管理和项目运营管理,要作出项目开发体制表和详细的日程计划表(中、小日程表)对于制

4、定的工作计划,要进行检查,确认作业内容。程序设计概述程序设计概述_作业流程及描述作业流程及描述D2 程序设计D2.1 程序设计D2.1.1模块划分D2.1.2模块功能设计工作区变量定义D2.1.3模块逻辑设计D2.1.4D2.2 程序设计检查D2.2.1程序设计检查以详细设计中确认的程序单元为基础,对程序单元内的功能模块进行分割处理。对程序功能结构图中的功能处理给与说明。定义程序中使用的公用变量和重要变量。设计各个模块的处理内容及其算法。对程序设计说明书进行检查,作出程序设计检查结果报告。程序设计概述程序设计概述_工作用表工作用表质量数据汇总表D5开发结束工作问题处理票(B票)简单问题处理票质

5、量数据汇总表(程序单元)程序单元测试项目表(矩阵型)程序单元测试项目表D4 程序单元测试问题记录一览表检查记录表模块功能的定义说明书工作缓冲区格式定义表程序追加处理说明书程序功能结构图D2 程序设计问题记录一览表检查记录表开发体制表工作计划表(小日程表)工作计划表(中日程表)基本/详细设计作业内容检查表(确认基本/详细设计的成果物)D1开发准备工作工作用表名称作业阶段n程序设计的一个重要课题就是模块划分和模块设计,把开发的软件系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这种功能设计所包括的内容有:n采用某种设计原理和方法,将一个复杂的系统按功能划分为成

6、模块的层次结构;n确定每个模块的功能,建立与已确定的软件需求的对应关系;n确定模块间的调用关系;n确定模块间的接口,设计接口的信息结构;n评估模块划分的质量及导出模块结构的规则。程序设计原理程序设计原理n模块的概念 在软件的体系结构中,模块是可组合、分解和更换的单元。程序设计单元都被看成为“模块”,所谓模块就是程序对象的有名字的集合,例如,过程、函数、子程序、宏等。n模块具有以下几种基本属性:n接口:指模块的输入与输出;n功能:指模块实现什么功能;n逻辑:描述内部如何实现要求的功能所需的数据和处理流程;n状态:指该模块的运行环境,即模块的调用与被调用关系。程序设计原理程序设计原理程序设计原理程

7、序设计原理n设计的原则:(l)分解协调的原则。(2)信息隐蔽,抽象的原则,即上层模块只规定下层模块做什么和所属模块间的协调关系,但不规定怎么做,以保证模块的相对独立性和内部结构的合理性,使得模块与模块之间层次分明,易于理解,易于实施,易于维护。(3)自顶向下原则:首先抓住总的功能目标,然后逐层分解,即先确定上层模块的功能,再确定下层模块的功能。(4)一致性原则:要保证整个软件设计过程中具有统一的规范,统一的标准,统一的文件模式等等。(5)面向用户的原则,每个模块必须功能明确,接口明确,坚决消除多重功能和无用接口。n模块的概念 n一个模块的规模应当取决于它的功能和用途。n应减少接口的代价,提高模

8、块的独立性。n模块的独立性可以由两个定性标准度量,这两个标准分别称为聚合和耦合。成本(工作量)软件成本接口成本最小区域成本/模块模块数M程序设计原理程序设计原理n抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。通过抽象,可以确定组成软件的过程实体。n逐步求精是一种先总体,后局部的思维原则,先抓住主要问题并给予解决,然后分阶段逐步深入考虑问题的细节,也就是逐层分解,分而治之的方法。程序设计原理程序设计原理n在一节不和谐的课堂里,老师叹气道:“要是坐在后排聊天的同学能象中间打牌的同学那么安静,就不会影响到前排睡觉的同学。”。这个故事告诉我们,如

9、果不想让坏事传播开来,就应该把坏事隐藏起来,“家丑不可外扬”就是这个道理。为了尽量避免某个模块的行为去干扰同一系统中的其它模块,在设计模块时就要注意信息隐藏。应该让模块仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。n信息隐蔽指在设计和确定模块时,使得一个模块内部包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。程序设计原理程序设计原理n模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,用两个定性的度量标准耦合性(coupling)和内聚性(cohesion)来衡

10、量模块的独立性。程序设计原理程序设计原理n耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。n耦合按从弱到强的顺序可分为以下七种类型:非直接耦合、数据耦合、数据结构耦合、控制耦合、共通耦合、外部耦合、内容耦合。按上述顺序,耦合性逐渐升高,模块独立性逐渐降低。程序设计原理程序设计原理n内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。n内聚

11、按强度从低到高共分七级:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、信息内聚、功能内聚。内聚性逐渐加强,功能趋于单一,模块独立性也逐渐加强。程序设计原理程序设计原理n模块化的设计原则 n改进软件结构提高模块独立性 n模块规模应该适中 n保持适当的扇入和扇出 n模块的作用范围应在控制范围之内 n力争降低模块接口的复杂程度 n设计单入口单出口的模块 n模块功能应该可以预测 以上启发式规则多数是经验数据,对改进设计,提高软件质量,有重要的参考价值 程序设计的启发式原则程序设计的启发式原则ABCDEFABCDEFEF程序设计的启发式原则程序设计的启发式原则改进软件结构提高模块独立性n经验表明,模

12、块的规模要在一页以内,模块的总行数最好在3060行,这种规模易于阅读和理解。n过长的模块往往是分解不充分的表现,会增加阅读理解的难度;但小模块太多也会使模块之间联系变得复杂,增大系统在模块调用时传递信息所花费的开销,不值得单独存在,可以把它合并到上级模块中去。n由于种种原因如功能和用途的约束,一个模块可能会大于一页,要以不影响程序的清晰为前提。程序设计的启发式原则程序设计的启发式原则n一个模块的扇入表示有多少个模块直接调用它,一个模块的扇出表该模块控制的其它模块的数量,深度表示软件结构中控制的层数。n经验表明,一个设计得好的典型系统平均扇出通常是3或4(扇出的上限通常是59)。扇出扇入深度程序

13、设计的启发式原则程序设计的启发式原则_保持适当的扇入和扇出n一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。n一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。n一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。程序设计的启发式原则程序设计的启发式原则_ 模块的作用范围应在控制范围之内 n模块接口复杂是软件发生错误的一个主要原因,应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。接口复杂或不一致(即看起来传递的数据之间没有联系)是低内聚的表现,应该重新分析这个模块的独立性。程序设计的启发

14、式原则程序设计的启发式原则_力争降低模块接口的复杂程度 n不要使模块间出现内容耦合n从顶部进入模块并且从底部退出,软件比较容易理解,因此也比较容易维护 程序设计的启发式原则程序设计的启发式原则_设计单入口单出口的模块 程序设计的启发式原则程序设计的启发式原则_模块功能应该可以预测 n如果将一个模块看做黑盒子,就是说,只要输入的数据相同就产生同样的输出,这个模块的功能就是可以预测的。n具有内部状态的模块,其输出不仅与输入有关,而且还取决于模块的当前状态,其功能是不可预测的,这就增加了模块的测试和维护难度,这条原则不是绝对的,如对于实时系统来说,针对不定时的输入,系统状态要不断发生变化,这种变化又

15、直接影响下一个输入引起的输出。对于这种不可避免的情况,要引起充分注意,要将相应模块做特殊处理。无论测试还是维护都把模块状态作为一个重要影响因素来考虑 程序设计方法程序设计方法_结构化方法n结构化程序设计的内容 n使用三种控制结构n逐步求精的设计方法 fgcfgcf(c)(a)(b)I=?f1f2f3fn123n(d)fcT(e)程序设计方法程序设计方法_ 结构化工具n流程图n盒图(N-S图)nPAD图nHIPO图n判定表n判定树 n过程设计语言 程序设计方法程序设计方法_ 结构化工具n流程图n处理用四方形图表示n条件判断用菱形图表示n用连接线把这些图形连接起来表示处理的流程 程序设计方法程序设

16、计方法_结构化工具n盒图(N-S图)盒图是Nassi和Shneiderman提出来的,又称N-S图,没有箭头,不允许随意转移。在NS图中,每个“处理步骤”是用一个盒子表示的,所谓“处理步骤”可以是语句或语句序列。需要时,盒子中还可以嵌套另一个盒子,嵌套深度一般没有限制,只要整张图在一页纸上能容纳得下,由于只能从上边进入盒子然后从下边走出,除此之外没有其他的入口和出口,所以,NS图限制了随意的控制转移,保证了程序的良好结构。程序设计方法程序设计方法_结构化工具nPAD图 PAD图是日本日立公司于1973年发明的,指问题分析图(Problem Analysis Diagram),它是一种自左往右展

17、开的二维树型结构。控制流程为自上而下、从左到右的执行。由机器自动通过走树的办法生成相应的源代码,大大提高了软件的生产率。程序设计方法程序设计方法_ 结构化工具程序设计方法程序设计方法_结构化工具n例:1 求A、B、C三个数中的最大值。n例:2 猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?程序设计方法程序设计方法_结构化工具n例:1程序设计方法程序设计方法_结构化工具n例:2程序设计方法程序设计方法_ 结构化工具nHIPO图(层次图加输入/处理/

18、输出图)HIPO图由下面三部分组成:nH(分层)图。即以方框形式表示程序的主要功能、次要功能及其与模块间的关系。n总览IPO图。为H图提供输入变量表、处理功能表和输出变量表。n详细IPO图。为底层模块提供输入变量表、处理功能表和输出变量表。HIPO图是一种图解式设计工具。在概要设计、详细设计、程序设计、测试和维护的不同阶段,都可以使用HIPO图对设计进行描述 程序设计方法程序设计方法_结构化工具班级号、学号学生姓名语、数、外成绩输入显示处理DB存在检查处理输出DB显示处理显示处理输入数据检查DB登录学生基本成绩表班级号、学号学生姓名语、数、外成绩错误信息不存在存在正确不正确HIPO图(层次图加

19、输入/处理/输出图)程序设计方法程序设计方法_结构化工具n判定表n在许多软件设计中,常常需要设计一个模块,根据多种条件的复杂组合,选择执行相应的动作,这种设计过程用判定表表示比较合适。n判定表可作为输入数据,被直接读入机器,由“表驱动”算法程序自动处理,n判定表的第一行是规则号,每一列对应一条处理规则,它根据不同的条件组合选择执行相应的动作。为了能表示出总的控制流程,单单用这个工具是不行的,还需加上其他信息。通常,判定表可以有效地用来作为其他详细设计工具的补充。判定表采用以下步骤进行处理:n列出与一个具体过程(或)有关的所有处理;n列出过程执行期间的所有条件(或所有判断);n将特定条件取值组合

20、与特定的处理相匹配,消去不可能发生的条件取值组合;n将右部每一纵列规定为一个处理规则。程序设计方法程序设计方法_结构化工具n判定表举例1程序设计方法程序设计方法_结构化工具n判定表举例2 某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量超过30公斤时,对头等舱的乘客超重部分每公斤收费4元,对其他舱的乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客每公斤收费比正常乘客少一半。程序设计方法程序设计方法_结构化工具n判定树n判定树是判定表的变种,能清晰地表示复杂的条件组合与应做的动作之间的对应关系。n判定树的优点是:由于是一种图形表示,形式简单

21、,不需任何说明,易看出含义,易于掌握和使用。缺点是:简洁性不如判定表,相同的数据元素往往要重复写多遍,而且越接近树的叶端重复次数越多。程序设计方法程序设计方法_结构化工具n判定树举例思考:将行李重量作为最后一个分支,将会是几片叶子 答案:16片叶子 程序设计方法程序设计方法_结构化工具n过程设计语言(PDL,Process Design Language)n是一个笼统的名字,由许多种不同的过程设计语言。过程设计语言用于描述模块中算法 和加工的具体细节,以便在开发人员之间比较精确的进行交流。n过程设计语言的外层语法描述结构,采用与一般编程语言类似的确 定的关键字,内层语法描述操作,可以采用任意的

22、自然语句(如:英语、汉语)由于过程设计语言与 程序很相似,也称为伪程序,或伪码(Pseudo Code)。但它仅仅是对 算法的一种描述,是不可执行的。程序设计方法程序设计方法_结构化工具n过程设计语言(PDL,Process Design Language)nPDL的优点:(1)可以作为注释直接插在源程序中间。这样做能促使维护人员在修改程序代码的同时也相应地修改PDL注释,因此有助于保持文档和程序的一致性,提高了文档的质量。(2)可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作。(3)已经有自动处理程序存在,而且可以自动由PDL生成程序代码。nPDL的缺点是不如图形

23、工具形象直观,描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。程序设计方法程序设计方法_结构化工具n过程设计语言(PDL,Process Design Language)n例:统计空格统计空格 seq 打开文件打开文件读入字符串读入字符串Totalsum=0程序体程序体 iter until 文件结束文件结束程序体程序体end打印总数打印总数 seq 打印出空格总数打印出空格总数打印总数打印总数end关闭文件关闭文件停止停止统计空格统计空格end顺序结构:A seq Block1 Block2 Block3A end选择结构:A select cond1 Block1A or co

24、nd2 Block2A or cond3 Block3A end重复结构:A iter until cond Block1A endA iter while cond Block1A end 程序设计方法程序设计方法_面向对象的程序设计 面向对象的方法开始也只是着眼于编程,后来才形成了从分析、设计到编程、测试与维护一整套的软件工程体系,即产生了面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)、面向对象测试(OOT)程序设计方法程序设计方法_面向对象的程序设计n面向对象程序设计的特征n面向对象的程序设计将计算看作是一个系统的开发过程,系统由对象组成,经历一连串的状态变化以完

25、成计算任务。n面向对象程序的基础构件是对象和类,从程序设计角度来看,对象是一种不信赖于外界的模块,对应着存储器的一块被划分的区域。它包含数据,在逻辑上包含作用于这些数据的过程,这些过程称为方法。n面向对象程序设计的基本机制是继承性、消息和方法,还有在特定方面提供更为专门的、灵活的机制,如重置、多态等。程序设计方法程序设计方法_面向对象的程序设计n结构化程序设计就是把内部设计中的功能模块的设计、功能模块间接口的设计、数据库的定义等详细化的设计过程。而面向对象开发时,在OOD阶段已把各个类直到接口(方法)都已定义,程序设计的对象就如同结构化程序设计一样就是进行类内部处理的详细化设计。程序设计书的构

26、成和理解程序设计书的构成和理解程序设计书主要内容(交互式处理)程序处理概要图 程序概要说明书 程序功能结构图 程序追加处理说明书 工作缓冲区格式定义表 模块功能定义书 模块功能定义书(补充)输入数据检查处理说明书参照以下基本设计资料 屏幕设计说明书 报表文件输出编辑说明书 DB设计说明书 共通处理设计说明书 公共子程序设计说明书程序设计书程序设计书的构成和理解程序设计书的构成和理解n程序处理概要图是内部设计阶段的成果文档,是程序设计阶段的输入,他是程序设计书的重要内容,主要描述该程序单元的处理概要,输入输出文件和屏幕、报表的关连图,给出了与该程序相关的文件ID、文件名称、屏幕ID、名称、报表名

27、称等。n程序处理概要说明书也是内部设计阶段的成果文档,是程序设计阶段的输入,是程序设计书的重要内容,它对于程序处理概要图中的程序处理概要进行展开,给出了程序的各个功能模块的处理概要说明,小型的或简单的程序可以从程序功能概要说明书入手编写代码。程序设计书的构成和理解程序设计书的构成和理解n程序功能结构图是程序设计阶段的成果文档,它是程序结构设计的图形结果,在开发周期短,程序设计时间不足的情况下,程序功能结构图可以省略。有程序功能结构图的情况下,要注意编写的程序结构是否实现了程序功能结构图的要求。n程序追加处理说明书是在程序概要说明书的基础上,对程序设计阶段所增加的功能进行补充说明。在程序编码之前

28、,一定要注意确认程序追加处理说明书的功能是否能够实现,有无设计上的问题或文字上的疏漏。程序设计书的构成和理解程序设计书的构成和理解n 工作缓冲区格式定义表给出了程序中使用的主要工作缓冲区和变量的命名、类型、长度、初期值和编辑方法等说明。在理解工作缓冲区格式定义表中的各个变量的定义时,一定要对照相关的程序设计书的内容。n 模块功能定义书是在程序处理概要说明书的基础上对于每个程序模块的实现方法进行了详细的说明,对于复杂的程序单元,一定要注意理解各个模块功能定义书的详细处理说明。对于程序设计阶段补充的功能模块和个别模块的补充功能,在模块功能定义书(补充)中给出了详细说明。程序设计书的构成和理解程序设

29、计书的构成和理解n 输入数据检查处理说明书主要说明屏幕输入项目的检查条件,所有登录到数据库的数据都必须通过屏幕输入检查处理,以保证用户数据的完整性和一致性。程序设计实例程序设计实例n系统概要说明:本案例是一个学生成绩管理子系统。它包含学生基本成绩登录、学生平均成绩计算、班级平均成绩计算、学生成绩表生成等4个程序模块 基本成绩登录画面学生成绩管理子系统学生基本成绩文件学生平均成绩计算(XSCJP001)学生基本成绩文件学生平均成绩文件学生成绩表生成(XSCJP003)班级平均成绩计算(XSCJP002)学生基本成绩文件班级平均成绩文件学生平均成绩文件学生基本成绩文件学生成绩表文件学生基本成绩登录

30、(XSCJP000)程序设计实例程序设计实例n开发准备 n确认基本/详细设计的成本物;n制定工作计划,作出开发计划中日程表和开发计划小日程表;n确立开发体制(开发人员的构成和组织体制);n检查所制定的工作计划和工作内容n程序设计 “学生成绩管理系统流程图”的处理要求,该系统由四个处理模块构成,它们是:n 学生基本成绩登录;n 学生平均成绩计算;n 班级平均成绩计算;n 学生成绩表生成。团队团队n团队的含义团队的含义:团队是由员工和管理人员组成的一个共同团队是由员工和管理人员组成的一个共同体,该共同体合理利用每一个成员的知识和技体,该共同体合理利用每一个成员的知识和技能协同工作,解决问题,达到共

31、同的目标能协同工作,解决问题,达到共同的目标团队团队n构成团队的重要要素构成团队的重要要素n目标目标(知道要向何处去)(知道要向何处去)n人人(人员的能力如何,技能是否互补,人员的经验如何)(人员的能力如何,技能是否互补,人员的经验如何)n团队的定位团队的定位(团队在企业中处于什么位置,由谁选择和(团队在企业中处于什么位置,由谁选择和决定团队的成员,团队最终应对谁负责,团队采取什么方式决定团队的成员,团队最终应对谁负责,团队采取什么方式激励下属;作为成员在团队中扮演什么角色?是订计划还是激励下属;作为成员在团队中扮演什么角色?是订计划还是具体实施或评估?具体实施或评估?)n权限权限(整个团队在

32、组织中拥有什么样的决定权,比方说财务(整个团队在组织中拥有什么样的决定权,比方说财务决定权、人事决定权、信息决定权;组织的基本特征决定权、人事决定权、信息决定权;组织的基本特征 )n计划计划(目标的具体工作的程序)(目标的具体工作的程序)团队团队n群体群体n群体是指两个以上相互作用又相互依赖的个群体是指两个以上相互作用又相互依赖的个体,为了实现某些特定目标而结合在一起。体,为了实现某些特定目标而结合在一起。群体成员共享信息,作出决策,帮助每个成群体成员共享信息,作出决策,帮助每个成员更好地担负起自己的责任。员更好地担负起自己的责任。团队团队n团队与群体团队与群体 n团队与群体的区别团队与群体的

33、区别 n(1)领导领导方面。作为群体应该有明确的领导人;团队可能就不一样,尤其团队发展到方面。作为群体应该有明确的领导人;团队可能就不一样,尤其团队发展到成熟阶段,成员共享决策权。成熟阶段,成员共享决策权。n(2)目标目标方面。群体的目标必须跟组织保持一致,但团队中除了这点之外,还可以产生方面。群体的目标必须跟组织保持一致,但团队中除了这点之外,还可以产生自己的目标。自己的目标。n(3)协作协作方面。协作性是群体和团队最根本的差异,群体的协作性可能是中等程度的,方面。协作性是群体和团队最根本的差异,群体的协作性可能是中等程度的,有时成员还有些消极,有些对立;但团队中是一种齐心协力的气氛。有时成

34、员还有些消极,有些对立;但团队中是一种齐心协力的气氛。n(4)责任责任方面。群体的领导者要负很大责任,而团队中除了领导者要负责之外,每一个方面。群体的领导者要负很大责任,而团队中除了领导者要负责之外,每一个团队的成员也要负责,甚至要一起相互作用,共同负责。团队的成员也要负责,甚至要一起相互作用,共同负责。n(5)技能技能方面。群体成员的技能可能是不同的,也可能是相同的,而团队成员的技能是方面。群体成员的技能可能是不同的,也可能是相同的,而团队成员的技能是相互补充的,把不同知识、技能和经验的人综合在一起,形成角色互补,从而达到整相互补充的,把不同知识、技能和经验的人综合在一起,形成角色互补,从而

35、达到整个团队的有效组合。个团队的有效组合。n(6)结果结果方面。群体的绩效是每一个个体的绩效相加之和,团队的结果或绩效是由大家方面。群体的绩效是每一个个体的绩效相加之和,团队的结果或绩效是由大家共同合作完成的产品。共同合作完成的产品。团队团队n团队与群体团队与群体 n群体向团队的过渡群体向团队的过渡 真正团队真正团队潜在团队潜在团队伪团队伪团队群体群体业业绩绩影影响响高效团队高效团队团队团队n团队的类型团队的类型n 问题解决型团队问题解决型团队n自我管理型的团队自我管理型的团队 n多功能型的团队多功能型的团队 5-12名员工组成名员工组成每周几个小时碰头每周几个小时碰头着重改善质量着重改善质量

36、/效率效率/环境环境改进程序和工作方法改进程序和工作方法几乎无权采取行动几乎无权采取行动真正独立自主真正独立自主10-15人组成人组成责任范围广泛(决定工责任范围广泛(决定工作分配作分配/节奏节奏/休息)休息)改进程序和工作方法改进程序和工作方法挑选队员挑选队员A部门部门B部门部门C部门部门团队团队n软件团队的组织形式软件团队的组织形式 n角色划分角色划分 n角色岗位矩阵角色岗位矩阵 团队团队n软件团队的组织形式软件团队的组织形式 n组织形式:组织形式:n垂直团队组织垂直团队组织(由多面手组成,每个成员都充当(由多面手组成,每个成员都充当多重角色多重角色)n水平团队组织水平团队组织(由专家组成

37、,每个成员充当一到(由专家组成,每个成员充当一到两个角色两个角色)n混合团队组织混合团队组织(专家和多面手组成)(专家和多面手组成)团队团队n团队的发展阶段团队的发展阶段 n形成阶段形成阶段(对自己的职责及其他成员的角色都不是很了解)n震荡阶段震荡阶段(团队内激烈冲突的阶段;随着工作的开展,各方面问题会逐渐暴露)n规范阶段规范阶段(团队将逐渐趋于规范;团队开始表现出凝聚力)n执行阶段执行阶段(团队的结构完全功能化并得到认可,内部致力于从相互了解和理解到共同完成当前工作上)团队团队n团队开发流程 nPSP与TSP(帮助高绩效的工程师在一个团队中工作,来开发有质量保证的软件产品,生产安全的软件产品

38、,改进组织中的过程管理。)nTSP流程所包含的活动n数据采集数据采集n计划跟踪计划跟踪n团队反馈团队反馈n负载均衡负载均衡n重新计划重新计划n循环直至完成循环直至完成团队团队n团队开发流程 nTSP表格n各表格记录跟踪计划执行情况,寻求团队反馈,根据反馈重新安排团队成员工作,使其达到平衡,循环反复直至工作完成。团队团队n高效团队的建立与发展n高效团队的特点?n如何建立高效团队?团队团队n高效团队的建立与发展n高效团队的特点?n(1)明确的目标与共同的价值观n(2)清晰的分工与精诚的协作n(3)融洽的关系及通畅的沟通n(4)高昂的士气与高效的生产力团队团队n高效团队的建立与发展n如何建立高效团队

39、?n选拔或培养适合角色职责的人才选拔或培养适合角色职责的人才n增强软件开发经理的领导才能增强软件开发经理的领导才能 n营造良好的沟通氛围和交流环境营造良好的沟通氛围和交流环境 n充分发挥软件开发团队的凝聚力充分发挥软件开发团队的凝聚力 n建立共同的工作框架、规范和纪律约束建立共同的工作框架、规范和纪律约束 n学习成功经验学习成功经验 谢谢观看/欢迎下载BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES.BY FAITH I BY FAITH

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!