《第11章 软件项目管理.ppt》由会员分享,可在线阅读,更多相关《第11章 软件项目管理.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PPT模板下载:/moban/ 行业PPT模板:/hangye/ 节日PPT模板:/jieri/ PPT素材下载:/sucai/PPT背景图片:/beijing/ PPT图表下载:/tubiao/ 优秀PPT下载:/xiazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 资料下载:/ziliao/ PPT课件下载:/kejian/ 范文下载:/fanwen/ 试卷下载:/shiti/ 教案下载:/jiaoan/ 字体下载:/ziti/ 第11章 软件项目管理2目录页软件项目管理第十一章本章本章要点要点n 掌握软件项目管理的内容;n
2、理解常见的软件组织形式和人员配备原则;n 了解软件开发成本的估算方法和进度管理方法;n 理解软件的质量特性及保证质量的措施;n 了解软件配置管理的内容;n 了解软件工程标准化知识;n 掌握软件文档的作用及分类。3目录页11.1 软件项目管理概述第11章软件项目管理的职能包括:软件项目管理的职能包括:(1)制订计划:规定要完成的任务和要求,安排资源、人员和进度等。)制订计划:规定要完成的任务和要求,安排资源、人员和进度等。(2)建立组织:建立分工明确的为实施计划的责任制机构,以保证任务的完成。)建立组织:建立分工明确的为实施计划的责任制机构,以保证任务的完成。(3)配备人员:根据任务要求,任用各
3、种层次的技术人员和管理人员。)配备人员:根据任务要求,任用各种层次的技术人员和管理人员。(4)协调或追踪与指导:跟踪项目的进展情况,协调、指导、鼓励和动员各种人员完)协调或追踪与指导:跟踪项目的进展情况,协调、指导、鼓励和动员各种人员完成所分配的任务。成所分配的任务。(5)控制或检验:对照计划和标准,监督和检验项目实施的情况。)控制或检验:对照计划和标准,监督和检验项目实施的情况。11.1.1 软件项目管理的职责软件项目管理的职责 4目录页11.1 软件项目管理概述第11章1启动软件项目启动软件项目在制定项目计划前,应首先明确项目的目标、考虑候选的解决方案、清楚技术和管理上在制定项目计划前,应
4、首先明确项目的目标、考虑候选的解决方案、清楚技术和管理上的要求等。项目的目标标明了项目的目的,但并不涉及如何达到目的。候选的解决方案使管的要求等。项目的目标标明了项目的目的,但并不涉及如何达到目的。候选的解决方案使管理人员能够从中选择最好的方案,从而确定合理、精确的成本估算,进行实际可行的任务分理人员能够从中选择最好的方案,从而确定合理、精确的成本估算,进行实际可行的任务分解以及可管理的进度安排。解以及可管理的进度安排。项目启动前,应成立项目组,召开项目启动会议,进行组内交流,深刻理解项目目标,项目启动前,应成立项目组,召开项目启动会议,进行组内交流,深刻理解项目目标,对组织形式、管理方式和方
5、针取得一致认识,明确岗位职责等。对组织形式、管理方式和方针取得一致认识,明确岗位职责等。11.1.2 软件项目管理的过程软件项目管理的过程 5目录页11.1 软件项目管理概述第11章2制定项目计划制定项目计划项目计划是用来指导组织、实施、协调和控制软件开发的重要文件,其主要作用是:项目计划是用来指导组织、实施、协调和控制软件开发的重要文件,其主要作用是:(1)可激励和鼓舞团队的士气。)可激励和鼓舞团队的士气。(2)可以使项目成员有明确的分工及工作目标。)可以使项目成员有明确的分工及工作目标。(3)可促进项目组相关人员之间的沟通与交流。)可促进项目组相关人员之间的沟通与交流。(4)可作为项目过程
6、控制和工作考核的基准。)可作为项目过程控制和工作考核的基准。(5)可作为解决用户和开发团队间冲突的依据。)可作为解决用户和开发团队间冲突的依据。11.1.2 软件项目管理的过程软件项目管理的过程 6目录页11.1 软件项目管理概述第11章制定项目计划的主要工作是:制定项目计划的主要工作是:(1)确定详细的项目实施范围。)确定详细的项目实施范围。(2)定义递交的工作成果。)定义递交的工作成果。(3)评估实施过程中的主要风险。)评估实施过程中的主要风险。(4)制定项目实施的时间计划。)制定项目实施的时间计划。(5)制定成本和预算计划。)制定成本和预算计划。(6)制定人力资源计划等。)制定人力资源计
7、划等。11.1.2 软件项目管理的过程软件项目管理的过程 7目录页11.1 软件项目管理概述第11章3计划的追踪和控制计划的追踪和控制建立了进度安排后,就可以开始进行追踪和控制活动。项目管理人员负责在整个过程中建立了进度安排后,就可以开始进行追踪和控制活动。项目管理人员负责在整个过程中监督过程的实施,提供过程进展的内部报告,并按合同规定向需求方提供外部报告。项目管监督过程的实施,提供过程进展的内部报告,并按合同规定向需求方提供外部报告。项目管理人员可对资源重新定向,对任务重新安排,或者与需求方协商后修改交付日期以及调整已理人员可对资源重新定向,对任务重新安排,或者与需求方协商后修改交付日期以及
8、调整已经暴露的问题。经暴露的问题。4评审和评价计划的完成程度评审和评价计划的完成程度项目管理人员需要对项目进行评审,对计划的完成程度进行评价。同时还要对计划和项项目管理人员需要对项目进行评审,对计划的完成程度进行评价。同时还要对计划和项目进行检查,使之在变更或完成后保持完整性和一致性。目进行检查,使之在变更或完成后保持完整性和一致性。5编写管理文档编写管理文档如果软件开发工作完成,项目管理人员应从完整性方面检查项目完成的结果和记录,并如果软件开发工作完成,项目管理人员应从完整性方面检查项目完成的结果和记录,并把这些记录编写成文档保存。把这些记录编写成文档保存。11.1.2 软件项目管理的过程软
9、件项目管理的过程 8目录页11.2 软件项目管理概述第11章(1)早落实责任。)早落实责任。在软件项目每项工作的开始,要尽早指定专人负责,使其有权进行管理,并对任务的完在软件项目每项工作的开始,要尽早指定专人负责,使其有权进行管理,并对任务的完成全面负责。成全面负责。(2)减少接口。)减少接口。在软件开发过程中,人与人之间的交流和联系是必不可少的,即存在着通信路径。一个在软件开发过程中,人与人之间的交流和联系是必不可少的,即存在着通信路径。一个组织的生产效率随着完成任务中存在的通信路径数目增加而降低。要有合理的人员分工、好组织的生产效率随着完成任务中存在的通信路径数目增加而降低。要有合理的人员
10、分工、好的组织结构、有效的通信,这对于提高开发效率非常重要。的组织结构、有效的通信,这对于提高开发效率非常重要。(3)责权均衡。)责权均衡。明确每个开发人员的权利和责任,开发人员的责任不应该大于其拥有的权利。明确每个开发人员的权利和责任,开发人员的责任不应该大于其拥有的权利。11.2.1 建立项目组织的原则建立项目组织的原则9目录页11.2 软件项目管理概述第11章1.按项目划分的形式按项目划分的形式把软件开发人员按项目或课题组成小组,小组成员自始至终参加所承担项目或课题的各把软件开发人员按项目或课题组成小组,小组成员自始至终参加所承担项目或课题的各项任务。项任务。2.按职能划分的形式按职能划
11、分的形式把软件开发人员按任务的工作阶段划分成若干个专业小组,每个小组承担其中的一个阶把软件开发人员按任务的工作阶段划分成若干个专业小组,每个小组承担其中的一个阶段任务,每个小组可同时承担多个项目。段任务,每个小组可同时承担多个项目。3.矩阵型形式矩阵型形式这种模式实际上是以上两种模式的结合。一方面,按工作性质成立一些专门组,如开发这种模式实际上是以上两种模式的结合。一方面,按工作性质成立一些专门组,如开发组、业务组、测试组等;另一方面,每个项目有负责人,每个人属于某个项目组,参加该项组、业务组、测试组等;另一方面,每个项目有负责人,每个人属于某个项目组,参加该项目的工作。目的工作。11.2.2
12、 项目组织结构的形式项目组织结构的形式 10目录页11.2 软件项目管理概述第11章(1)主程序员制小组。该小组的核心有三个人。主程序员、辅助程序员和程序管理员。)主程序员制小组。该小组的核心有三个人。主程序员、辅助程序员和程序管理员。主程序员由经验丰富、能力较强的高级程序员担任,全面负责系统的设计、编码、测试和安主程序员由经验丰富、能力较强的高级程序员担任,全面负责系统的设计、编码、测试和安装工作;辅助程序员协助主程序员工作;程序管理员负责保管和维护所有的软件文档资料,装工作;辅助程序员协助主程序员工作;程序管理员负责保管和维护所有的软件文档资料,帮助收集软件的数据,并在研究、分析和评价文档
13、资料的准备方面进行协助工作。帮助收集软件的数据,并在研究、分析和评价文档资料的准备方面进行协助工作。(2)民主制程序员小组。在民主制小组中,组内成员之间可以平等地交换意见。工作)民主制程序员小组。在民主制小组中,组内成员之间可以平等地交换意见。工作目标的制定及决定的提出都由全体成员参加。这种组织形式强调发挥小组每个成员的积极性,目标的制定及决定的提出都由全体成员参加。这种组织形式强调发挥小组每个成员的积极性,适合于研制时间长、开发难度大的项目。适合于研制时间长、开发难度大的项目。(3)层次式小组。)层次式小组。这种组织中,组内人员分为三级。组长负责全组工作,直接领导这种组织中,组内人员分为三级
14、。组长负责全组工作,直接领导23名高级程序员,每名高级程序员,每位高级程序员管理若干名程序员。这种组织比较适合于层次结构的课题。位高级程序员管理若干名程序员。这种组织比较适合于层次结构的课题。11.2.3 程序设计小组的形式程序设计小组的形式 11目录页11.2 软件项目管理概述第11章1项目开发各阶段所需人员项目开发各阶段所需人员软件开发人员一般分为项目负责人、系统分析员、高级程序员、程序员、初级程序员、软件开发人员一般分为项目负责人、系统分析员、高级程序员、程序员、初级程序员、资料员和其他辅助人员。其中系统分析员和高级程序员是高级技术人员;后面几种是低级技资料员和其他辅助人员。其中系统分析
15、员和高级程序员是高级技术人员;后面几种是低级技术人员。根据项目规模的大小,有的人可能身兼数职,但要明确职责。术人员。根据项目规模的大小,有的人可能身兼数职,但要明确职责。软件开发人员要少而精,担任不同职责的人,要求具备的能力也不同。项目负责人需要软件开发人员要少而精,担任不同职责的人,要求具备的能力也不同。项目负责人需要具有组织能力、判断能力和对重大问题做出决策的能力;系统分析员需要有概括能力、分析具有组织能力、判断能力和对重大问题做出决策的能力;系统分析员需要有概括能力、分析能力和社交活动能力;能力和社交活动能力;程序员需要有熟练的编程能力。程序员需要有熟练的编程能力。11.2.4 人员配备
16、人员配备12目录页11.2 软件项目管理概述第11章2配备人员的原则配备人员的原则配备软件人员时,应注意以下三个主要原则配备软件人员时,应注意以下三个主要原则:重质量重质量:软件项目是技术性很强的工作,任用少量有实践经验、有能力的人员去完成关软件项目是技术性很强的工作,任用少量有实践经验、有能力的人员去完成关键性的任务,常常要比任用较多的经验不足的人员更有效。键性的任务,常常要比任用较多的经验不足的人员更有效。重培训重培训:花力气培养所需的技术人员和管理人员是有效解决人员问题的好方法。花力气培养所需的技术人员和管理人员是有效解决人员问题的好方法。双阶梯提升双阶梯提升:人员的提升应分别按技术职务
17、和管理职务进行,不能混在一起。人员的提升应分别按技术职务和管理职务进行,不能混在一起。11.2.4 人员配备人员配备13目录页11.2 软件项目管理概述第11章3项目经理人员的能力要求项目经理人员的能力要求软件项目经理人员是工作的组织者,其管理能力的强弱是项目成败的关键。除一般的管软件项目经理人员是工作的组织者,其管理能力的强弱是项目成败的关键。除一般的管理能力要求外,他还应具有以下能力理能力要求外,他还应具有以下能力:总结和表达能力。能够对用户提出的非技术性要求加以整理提炼,以技术说明书形式总结和表达能力。能够对用户提出的非技术性要求加以整理提炼,以技术说明书形式转告给分析员和测试员。转告给
18、分析员和测试员。综合问题的能力。能够把表面上似乎无关的要求集中在一起,归结为综合问题的能力。能够把表面上似乎无关的要求集中在一起,归结为“需要什么需要什么”和和“要解决什么要解决什么”,具有解决综合问题的能力。,具有解决综合问题的能力。沟通能力。要懂得心理学。能说服用户放弃一些不切实际的要求,以保证合理的要求沟通能力。要懂得心理学。能说服用户放弃一些不切实际的要求,以保证合理的要求得以满足。得以满足。11.2.4 人员配备人员配备14目录页11.3 软件开发成本估算第11章软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,不包括原材料和软件开发成本主要是指软件开发过程中所花费的工作
19、量及相应的代价,不包括原材料和能源的消耗,主要是人的劳动消耗。软件产品不存在重复制造过程,软件开发成本是以一次能源的消耗,主要是人的劳动消耗。软件产品不存在重复制造过程,软件开发成本是以一次性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应该以整个软件开发过程性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应该以整个软件开发过程所花费的代价作为依据。所花费的代价作为依据。软件具有可见性差、定量化难等特殊性,尤其对于一个大型的软件项目,由于项目的复软件具有可见性差、定量化难等特殊性,尤其对于一个大型的软件项目,由于项目的复杂性,很难在项目完成前准确地估算出开发软件所需要的工作
20、量和费用。杂性,很难在项目完成前准确地估算出开发软件所需要的工作量和费用。对于一个大型的软件项目,需要进行一系列的估算处理。成本估计不是精确的科学,因对于一个大型的软件项目,需要进行一系列的估算处理。成本估计不是精确的科学,因此应该使用几种不同的估计技术以便相互校验。此应该使用几种不同的估计技术以便相互校验。15目录页11.3 软件开发成本估算第11章常用的成本估算策略有以下四种:常用的成本估算策略有以下四种:(1)参考已经完成的类似项目,估计待开发项目的工作量和成本。)参考已经完成的类似项目,估计待开发项目的工作量和成本。(2)将大的项目分解成若干个小项目,分别对每个子项目的工作量和成本进行
21、估算,)将大的项目分解成若干个小项目,分别对每个子项目的工作量和成本进行估算,再估算整个项目的工作量和成本。再估算整个项目的工作量和成本。(3)根据软件生存周期,分别估算出软件开发各阶段的工作量和成本,然后再把这些)根据软件生存周期,分别估算出软件开发各阶段的工作量和成本,然后再把这些工作量和成本汇总,估算出整个项目的工作量和成本。工作量和成本汇总,估算出整个项目的工作量和成本。(4)根据实验或历史数据给出软件项目工作量或成本的经验估算公式。)根据实验或历史数据给出软件项目工作量或成本的经验估算公式。16目录页11.4 软件进度管理第11章1.任务分配、人力资源分配、时间分配要与工程进度相协调
22、任务分配、人力资源分配、时间分配要与工程进度相协调2.任务分解与并行化任务分解与并行化3.工作量分布。工作量分布。11.4.1 进度安排中应考虑的问题进度安排中应考虑的问题17目录页11.4 软件进度管理第11章1甘特图法甘特图法甘特图,又称横道图,这种方法基于作业排序的目的,是各项任务与时间的对照表。甘甘特图,又称横道图,这种方法基于作业排序的目的,是各项任务与时间的对照表。甘特图是先把任务分解成子任务。再用水平线表示任务的工作阶段,线段的起点和终点分别表特图是先把任务分解成子任务。再用水平线表示任务的工作阶段,线段的起点和终点分别表示任务的起始时间和结束时间,线段的长度表示完成任务所需的时
23、间。示任务的起始时间和结束时间,线段的长度表示完成任务所需的时间。甘特图的优点是直观简明,易于绘制,它标明了各任务的计划进度和当前进度,能动态甘特图的优点是直观简明,易于绘制,它标明了各任务的计划进度和当前进度,能动态反映软件开发的进展情况。其缺点是不能显式地描绘各项任务彼此间的依赖关系,进度计划反映软件开发的进展情况。其缺点是不能显式地描绘各项任务彼此间的依赖关系,进度计划中的关键阶段不明确,难于判断哪些部分应当是主攻和主控对象、计划中有潜力的部分及潜中的关键阶段不明确,难于判断哪些部分应当是主攻和主控对象、计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。力的大小不明确,往往造成潜
24、力的浪费。11.4.2 进度安排方法进度安排方法 18目录页11.4 软件进度管理第11章2工程网络图法工程网络图法为了克服甘特图的缺点,可以用具有时间标志的网状图来表示各任务的分解情况,以及为了克服甘特图的缺点,可以用具有时间标志的网状图来表示各任务的分解情况,以及各个子任务之间在进度上的逻辑依赖关系,即工程网络图。各个子任务之间在进度上的逻辑依赖关系,即工程网络图。工程网络图是用圆圈表示事件(一项作业的开始或结束),用箭头表示作业。一个圆圈工程网络图是用圆圈表示事件(一项作业的开始或结束),用箭头表示作业。一个圆圈表示一个开发阶段,圆圈内是阶段符号,圆圈上方是该阶段的最早开始表示一个开发阶
25、段,圆圈内是阶段符号,圆圈上方是该阶段的最早开始/结束时间,圆圈下方结束时间,圆圈下方是该阶段的最迟开始是该阶段的最迟开始/结束时间;箭头表示各个软件开发阶段的依赖关系。结束时间;箭头表示各个软件开发阶段的依赖关系。11.4.2 进度安排方法进度安排方法 19目录页11.4 软件进度管理第11章(1)使用)使用Gantt图描述图描述11.4.2 进度安排方法进度安排方法 20目录页11.4 软件进度管理第11章(2)使用工程化网络图描述)使用工程化网络图描述11.4.2 进度安排方法进度安排方法 21目录页11.5 软件质量保证 第11章保证软件产品的质量是软件产品生产过程的关键。在这里,软件
26、产品的质量是指软件系保证软件产品的质量是软件产品生产过程的关键。在这里,软件产品的质量是指软件系统满足用户需要或期望的程度。统满足用户需要或期望的程度。软件质量可分解成六个要素,这六个要素是软件的基本特征:软件质量可分解成六个要素,这六个要素是软件的基本特征:(1)功能性:)功能性:(2)可靠性:)可靠性:(3)易使用性:)易使用性:(4)效率:)效率:(5)可维护性:)可维护性:(6)可移植性:)可移植性:11.5.1 软件质量管理软件质量管理 22目录页11.5 软件质量保证 第11章CMM是软件过程能力成熟度模型(是软件过程能力成熟度模型(Capacity Maturity Model)
27、的简称。对于软件企业而)的简称。对于软件企业而言,言,CMM既是一把当前软件过程完善程度的尺子,也是软件开发机构改进软件过程的指南。既是一把当前软件过程完善程度的尺子,也是软件开发机构改进软件过程的指南。CMM的核心是对软件开发和维护的全过程进行监控和研究,使其科学化、标准化、能够合理的核心是对软件开发和维护的全过程进行监控和研究,使其科学化、标准化、能够合理地实现预定目标。地实现预定目标。CMM是是20世纪世纪80年代最重要的软件工程发展之一,目前已经在许多国家和地区得到了广年代最重要的软件工程发展之一,目前已经在许多国家和地区得到了广泛应用,并成为衡量软件公司软件开发管理水平的重要参考因素
28、和软件过程改进的工业标准。泛应用,并成为衡量软件公司软件开发管理水平的重要参考因素和软件过程改进的工业标准。CMM定义了软件过程成熟度的五个级别,它们描述了过程能力,即通过一系列软件过程定义了软件过程成熟度的五个级别,它们描述了过程能力,即通过一系列软件过程的标准所能实现预期结果的程度。的标准所能实现预期结果的程度。11.5.2 CMM模型模型 23目录页11.6 软件配置管理 第11章1软件配置管理的定义软件配置管理的定义软件配置管理(软件配置管理(Software Configure Management,SCM)用于整个软件工程过程,其任)用于整个软件工程过程,其任务是标识和确定系统中的
29、配置项,在系统整个生存期内控制这些配置项的发布和变更,记录务是标识和确定系统中的配置项,在系统整个生存期内控制这些配置项的发布和变更,记录并报告配置的状态和变更要求,验证配置项的完整性和正确性。总之,并报告配置的状态和变更要求,验证配置项的完整性和正确性。总之,SCM活动的目标是为活动的目标是为了:标识变更;控制变更;确保变更正确地实现;向其他有关人员报告变更。了:标识变更;控制变更;确保变更正确地实现;向其他有关人员报告变更。24目录页11.6 软件配置管理 第11章2软件配置管理的主要任务软件配置管理的主要任务(1)标识配置项)标识配置项配置项(配置项(Software Configure
30、 Item,SCI)简单地说就是受)简单地说就是受SCM控制和管理的工作产品单元,控制和管理的工作产品单元,在配置管理过程中作为单个实体对待,是配置管理的对象。按照在配置管理过程中作为单个实体对待,是配置管理的对象。按照ISO 9000的说明,的说明,SCI包括:包括:与合同、过程、计划和产品有关的文档和数据;源代码、目标代码和可执行代码;相与合同、过程、计划和产品有关的文档和数据;源代码、目标代码和可执行代码;相关产品,包括软件工具、库内的可复用软件、外购软件及用户提供的软件。随着软件工程过关产品,包括软件工具、库内的可复用软件、外购软件及用户提供的软件。随着软件工程过程的进展,程的进展,S
31、CI的数量会不断增多。的数量会不断增多。25目录页11.6 软件配置管理 第11章(2)进行配置控制)进行配置控制这是配置管理的关键。包括存取控制、版本控制、变更控制和产品发布控制等。这是配置管理的关键。包括存取控制、版本控制、变更控制和产品发布控制等。存取控制通过配置管理中的存取控制通过配置管理中的“软件开发库软件开发库”、“软件基线库软件基线库”、“软件产品库软件产品库”来实来实现,每个库对应着不同级别的操作权限,为团队成员授予不同的访问权利。现,每个库对应着不同级别的操作权限,为团队成员授予不同的访问权利。版本控制往往使用自动的版本控制工具来实现,如版本控制往往使用自动的版本控制工具来实
32、现,如SVN。变更控制。是应对软件开发过程中各种变化的机制,可以通过建立控制点和报告与审变更控制。是应对软件开发过程中各种变化的机制,可以通过建立控制点和报告与审查制度来实现。查制度来实现。产品发布控制面向最终发布版本的软件产品,旨在保证提交给用户的软件产品版本是产品发布控制面向最终发布版本的软件产品,旨在保证提交给用户的软件产品版本是完整、正确和一致的。完整、正确和一致的。26目录页11.6 软件配置管理 第11章(3)记录配置状态)记录配置状态配置状态报告记录了软件开发过程中每一次配置变更的详细信息。对每一项变更要记录配置状态报告记录了软件开发过程中每一次配置变更的详细信息。对每一项变更要
33、记录发生了什么?为什么发生?何时发生的?是谁做的?会有什么影响等。记录配置状态的目的发生了什么?为什么发生?何时发生的?是谁做的?会有什么影响等。记录配置状态的目的是使配置管理的过程具有可追踪性。是使配置管理的过程具有可追踪性。(4)执行配置审计)执行配置审计配置审计的目的就是要证实整个软件生存期中各项产品在技术上和管理上的完整性,确配置审计的目的就是要证实整个软件生存期中各项产品在技术上和管理上的完整性,确保所有文档的内容变动不超出当初确定的软件要求范围,使得软件配置具有良好的可跟踪性,保所有文档的内容变动不超出当初确定的软件要求范围,使得软件配置具有良好的可跟踪性,保证软件工作产品的一致性
34、和完整性,从而保证最终软件版本产品发布的正确性。保证软件工作产品的一致性和完整性,从而保证最终软件版本产品发布的正确性。27目录页11.6 软件配置管理 第11章3软件配置管理工具软件配置管理工具配置管理工具可以分为三个级别:配置管理工具可以分为三个级别:第一个级别:版本控制工具,是入门级的工具,如第一个级别:版本控制工具,是入门级的工具,如CVS、Visual Source Safe。第二个级别:项目级配置管理工具,适合管理中小型项目,在版本控制的基础上增加了第二个级别:项目级配置管理工具,适合管理中小型项目,在版本控制的基础上增加了变更控制、状态统计功能,如变更控制、状态统计功能,如Cle
35、arCase、PVCS。第三个级别:企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强第三个级别:企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能,如的过程管理功能,如AllFusion Harvest。 28目录页11.7 软件工程标准与文档管理第11章1软件工程标准化的定义软件工程标准化的定义软件工程标准化就是对软件生存周期内的所有开发、维护和管理工作都逐步建立起标准。软件工程标准化就是对软件生存周期内的所有开发、维护和管理工作都逐步建立起标准。软件工程标准化会给软件开发工作带来以下好处:软件工程标准化会给软件开发工作带来以下好处:(1)提高软件
36、的可靠性、可维护性和可移植性,从而提高软件产品的质量。)提高软件的可靠性、可维护性和可移植性,从而提高软件产品的质量。(2)提高软件的生产率,提高软件人员的技术水平。)提高软件的生产率,提高软件人员的技术水平。(3)改善软件开发人员之间的通信效率、减少差错。)改善软件开发人员之间的通信效率、减少差错。(4)有利于软件工程的管理。)有利于软件工程的管理。(5)有利于降低软件成本、缩短软件开发周期,降低运行与维护成本。)有利于降低软件成本、缩短软件开发周期,降低运行与维护成本。11.7.1 软件工程标准软件工程标准 29目录页11.7 软件工程标准与文档管理第11章2软件工程标准的分类软件工程标准
37、的分类软件工程标准的类型是多方面的,我国国家标准软件工程标准的类型是多方面的,我国国家标准GB/T 15538|1995软件工程标准分类软件工程标准分类法法给出了软件工程标准的分类,包括:给出了软件工程标准的分类,包括:(1)过程标准(如方法、技术、度量等)过程标准(如方法、技术、度量等)它同开发一个产品或从事一项服务的一系它同开发一个产品或从事一项服务的一系列活动或操作有关。列活动或操作有关。(2)产品标准(如需求、设计、部件、描述及计划报告等)产品标准(如需求、设计、部件、描述及计划报告等)它涉及事务的格式或内它涉及事务的格式或内容。容。(3)行业标准(如职业认证、特许及课程等)行业标准(
38、如职业认证、特许及课程等)它涉及软件工程行业的所有方面。它涉及软件工程行业的所有方面。(4)记号标准(如术语、表示法及语言等)记号标准(如术语、表示法及语言等)它论述了在软件工程行业范围内,以唯它论述了在软件工程行业范围内,以唯一的一种方式进行交流的方法。一的一种方式进行交流的方法。11.7.1 软件工程标准软件工程标准 30目录页11.7 软件工程标准与文档管理第11章3软件工程标准的层次软件工程标准的层次根据软件工程标准的制定机构与适用范围,软件工程标准可分为国际标准、国家标准、根据软件工程标准的制定机构与适用范围,软件工程标准可分为国际标准、国家标准、行业标准、企业(机构)规范以及项目(
39、课题)规范五个层次。行业标准、企业(机构)规范以及项目(课题)规范五个层次。(1)国际标准)国际标准国际标准是由国际标准化组织国际标准是由国际标准化组织ISO(International Standards Organization)、国际电工委)、国际电工委员会员会IEC(International Electro|technical Commission)以及由)以及由ISO公布的其他国际组织(其中,公布的其他国际组织(其中,ISO、IEC是两个最大的国际标准化组织)制定的标准。国际标准在世界范围内使用,各国可以是两个最大的国际标准化组织)制定的标准。国际标准在世界范围内使用,各国可以自愿
40、采用,不强制使用。到目前为止,自愿采用,不强制使用。到目前为止,ISO和和IEC共发布国际标准共发布国际标准1万多个。万多个。11.7.1 软件工程标准软件工程标准 31目录页11.7 软件工程标准与文档管理第11章(2)国家标准)国家标准国家标准是由政府或国家级的机构制定或批准的、适用于全国范围的标准,是一个国家国家标准是由政府或国家级的机构制定或批准的、适用于全国范围的标准,是一个国家标准体系的主体和基础,国内各级标准必须服从、不得与之相抵触。标准体系的主体和基础,国内各级标准必须服从、不得与之相抵触。(3)行业标准)行业标准行业标准是由行业机构、学术团体或国防机构制定,并适用于某个业务领
41、域的标准。行业标准是由行业机构、学术团体或国防机构制定,并适用于某个业务领域的标准。(4)企业规范)企业规范企业规范由企业或公司批准、发布的适用于本单位的规范。企业规范由企业或公司批准、发布的适用于本单位的规范。(5)项目规范)项目规范项目规范由某一项目组织制定,且为该项任务专用的软件工程规范。项目规范由某一项目组织制定,且为该项任务专用的软件工程规范。11.7.1 软件工程标准软件工程标准 32目录页11.7 软件工程标准与文档管理第11章1软件文档的作用软件文档的作用软件文档也是软件产品的一部分,没有文档的软件不能称其为软件。软件文档也是软件产品的一部分,没有文档的软件不能称其为软件。软件
42、文档在软件开发人员、软件管理人员、软件维护人员、用户以及计算机之间起着重软件文档在软件开发人员、软件管理人员、软件维护人员、用户以及计算机之间起着重要的桥梁作用。开发人员通过软件文档交流设计思想和设计软件;管理人员通过文档了解软要的桥梁作用。开发人员通过软件文档交流设计思想和设计软件;管理人员通过文档了解软件开发项目安排、进度、资源使用和成果等;维护人员通过文档对项目进行维护;用户通过件开发项目安排、进度、资源使用和成果等;维护人员通过文档对项目进行维护;用户通过文档掌握软件的使用和操作。文档掌握软件的使用和操作。规范、齐全、有效的软件文档会使软件开发活动更科学、规范,更有成效。缺乏必要的规范
43、、齐全、有效的软件文档会使软件开发活动更科学、规范,更有成效。缺乏必要的文档资料或者文档资料不合格,必然给软件开发和维护带来许多严重的困难。文档资料或者文档资料不合格,必然给软件开发和维护带来许多严重的困难。 11.7.2 软件文档的编写软件文档的编写 33目录页11.7 软件工程标准与文档管理第11章2软件文档的类型软件文档的类型按照文档产生和使用的范围,软件文档大致可分为三类:按照文档产生和使用的范围,软件文档大致可分为三类:(1)开发文档:这类文档在软件开发过程中,作为软件开发人员前一阶段工作成果的)开发文档:这类文档在软件开发过程中,作为软件开发人员前一阶段工作成果的体现和后一阶段工作
44、的依据。体现和后一阶段工作的依据。(2)管理文档:这类文档是在软件开发过程中,由软件开发人员制定的需提交的一些)管理文档:这类文档是在软件开发过程中,由软件开发人员制定的需提交的一些工作计划或工作报告。管理人员能够通过这些文档了解软件开发项目的安排、进度、资源使工作计划或工作报告。管理人员能够通过这些文档了解软件开发项目的安排、进度、资源使用和成果等。用和成果等。(3)用户文档:这类文档是软件开发人员为用户准备的有关该软件使用、操作、维护)用户文档:这类文档是软件开发人员为用户准备的有关该软件使用、操作、维护的资料。的资料。11.7.2 软件文档的编写软件文档的编写 34目录页11.7 软件工
45、程标准与文档管理第11章3.文档的编写要求文档的编写要求(1)针对性:文档编制前应分清读者对象。按不同的类型、不同层次的读者,决定怎样)针对性:文档编制前应分清读者对象。按不同的类型、不同层次的读者,决定怎样适应他们的需要。适应他们的需要。(2)精确性。文档的行文应当十分确切,不能出现多义性的描述。同一项目几个文档的)精确性。文档的行文应当十分确切,不能出现多义性的描述。同一项目几个文档的内容应当是协调一致的,没有矛盾的。内容应当是协调一致的,没有矛盾的。(3)清晰性:文档编写应力求简明,如有可能,配以适当的图表,以增强其清晰性。)清晰性:文档编写应力求简明,如有可能,配以适当的图表,以增强其
46、清晰性。(4)完整性:任何一个文档都应当是完整的、独立的,应该自成体系。)完整性:任何一个文档都应当是完整的、独立的,应该自成体系。(5)灵活性:各种不同软件项目,其规模和复杂程度有着许多实际差别,不能一律看待。)灵活性:各种不同软件项目,其规模和复杂程度有着许多实际差别,不能一律看待。(6)可追溯性:由于各开发阶段编制的文档与各阶段完成的工作有着紧密的关系,前后)可追溯性:由于各开发阶段编制的文档与各阶段完成的工作有着紧密的关系,前后两个阶段生成的文档,随着开发工作的逐步扩展,具有一定的继承关系。两个阶段生成的文档,随着开发工作的逐步扩展,具有一定的继承关系。11.7.2 软件文档的编写软件文档的编写 E-mail:网址网址:http:/地址:大连市软件园路地址:大连市软件园路80号号大连理工大学出版社谢谢观看