软件项目管理论文【汇编4篇】
【导言】此例“软件项目管理论文【汇编4篇】”的范文资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!
项目管理软件论文范文【第一篇】
论文关键词:软件项目;软件过程;cmm;kpa
1.引言
项目管理(pm,projectmanagement)是指利用现有的知识、方法和技术手段,有效地计划、调度、控制和跟踪项目的开始、执行、直止终止的过程,是项目顺利实现的有效手段。软件项目管理则是在项目管理的基础上,结合软件产品的实际,利用工程的概念和方法来开发与维护软件,对成本、风险、时间、质量、过程、配置等进行分析、管理、控制,最终目的是为了让软件项目的整个生命周期都在管理者的控制范围内,以预定成本按期、按质完成软件的开发并交付用户使用。目前,软件产品已广泛应用于各个领域,但是很多软件项目的成功率并不高.虽然有些公司根据软件工程理论建立了一些软件开发管理规范.但并没有从根本上提高软件项目管理问题,这就导致软件产品质量不稳定甚至是项目的失败,同时也损害了用户的利益。本文结合我国软件项目管理的特点并经实践应用.以提高软件质量、降低成本、加强软件项目的可控性为目标,通过对cmm的研究和改进,给出了一个基于cmm加强软件项目管理的实践模式,在这个模式中对目前cmm中的kpa做适当的裁减,定义了6个关键过程域和3个工作组。
2.软件项目管理中目前存在的问题
影响软件项目成功率的因素主要是软件质量问题,而在整个软件项目的实施过程中需求不明确、跟踪和监督不力、缺乏客观的软件评审和软件配置以及风险管理意识不足等都阻碍着软件质量的提高。
2.1需求不明确
需求管理是软件项目管理中非常关键的一个步骤.需求分析的完整与否可以降低软件质量、延长项目周期、加大成本。由于用户对 计算 机系统认识的不足,对于系统的需求往往比较模糊,遗漏甚至是错误的问题经常出现(包括管理流程、业务流程、数据或报表的分析处理等),但这些问题往往没有暴露给开发人员,而是随着项目的进展才逐渐明确。对于开发人员来说,需求的变更意味着软件产品的部分内容必须重新开发,而对于整个软件项目管理而言,势必要重新分配资源、调整计划、估算成本等等,导致软件产品质量下降。
跟踪和监督不力
跟踪和监督主要针对过程而言,也是项目管理中最容易被忽视的环节。软件项目过程由多个任务构成,大部分任务都有前置任务和后置任务,这就要求项目管理者要严格跟踪和监督每一个任务。任务的完成主要从时间进度和质量两方面来衡量,还要充分考虑因客户方引起的一些客观因素(更改需求分析等)。项目管理者虽然制定了具体的项目进度内容,但如果缺乏有效的跟踪和监督机制,对于每一个阶段所要完成的任务疏于评价,就会影响下阶段软件产品的质量,有时甚至是软件产品的重新开发,最终影响整个软件项目。
2.3缺乏客观的软件评审
客观的软件评审是软件产品质量的直接保障,软件评审一直贯穿于整个软件项目的过程中,对软件产品的评审应有客户使用人员和软件业中的同行来进行。客户使用人员对软件产品做阶段性的评审可以及时发现软件产品功能方面的不足,同行评审可以从软件业的规范及标准去发现问题.软件评审可以降低软件开发的成本提高软件产品的质量。大多情况下项目管理者没有做任何阶段性的评审,通常只是在软件产品开发基本完成之后来组织评审,果发现了很多问题,但要修改已经非常困难.要花费很长的时间甚至从头再来。
2.4软件配置混乱
软件配置是指软件产品在各个阶段各种版本的文档、程序及数据的集合,贯穿于整个软件项目的始终。随着软件产品开发的进行,由于各种客观原因,其中的预算、设计方案、进度等内容都有可能需要大大小小的更改(这些改动可能是合理的),整个改变的过程对软件项目的参与人员来说必须是可视的,以便提高软件的可靠性和质量,而这一切都应该有正确的软件配置来控制如果失去正确的软件配置管理,那么针对软件产品发生的任何更改或者是维护都会给软件项目带来混乱甚至是失败。
2.5风险管理意识不足
风险管理是软件项目中防止失败的一种重要手段,软件项目不同的阶段存在着不同的风险,并且风险会随着项目的进展而变化,目前国内的软件 企业 大都不注意软件项目的风险管理。除了社会环境风险、商业风险等这些客观风险之外.可控的软件项目风险主要指技术风险。技术风险主要是指与软件项目本身相关的的技术因素变化带来的风险,如果在一定的条件下达不到技术条件能够实现的目标,不但延缓项目的进度而且会增加项目的成本.继而使整个项目受到影响。
3.通过过程管理加强软件项目管理的实践模式
利用cmm fcapabilitymaturitymodeforsoftware)的核心思想把软件项目管理看作一个软件过程,并根据这一原则对整个软件项目的开发和管理进行过程监控,监督发现过程中影响项目的关键问题并予以解决。软件过程是指软件开发人员开发和维护软件及相关产品的一套行为、方法、实践及变换过程,包括软件开发过程和软件管理过程。cmm把软件开发机构按照不同开发水平划分为5个级别。每个等级被分解为几个kpa(关键过程域),kpa是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。①初始级,无过程意义。软件过程是无序的、随机的、缺乏总计划,无预见性,大多数活动是应付危机,经常超期超支,成功取决于个人。②可重复级,具备基本的项目管理。kpa分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;③已定义级,已定义软件过程。已将软件管理和软件工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。kpa分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;④可管理级,过程可度量。已收集了软件过程和产品质量的详细度量方法,软件过程和产品均可被定量地理解和控制。kpa分别是:定量过程管理、软件质量管理;⑤优化级,过程控制。通过过程的量化反馈以及新技术、新方法促使过程不断改进。kpa分别是:缺陷预防、技术更新预防、过程更改管理。
cmm只是一个过程改进的框架.并没有给出具体实施的办法。在该模式中对目前cmm中的kpa做适当裁减.定义了6个关键过程域:软件项目计划(spp)、需求管理(rm)、软件项目跟踪和监督(spto)、软件质量保证(sqa)、软件配置(scm)、同行评审(pr),设置了三个工作组:软件项目过程组(sppg)、软件工程组(seg)、软件质量保证组(sqag)。通过工作组对关键过程域的操作来加强软件项目的管理。
3.1定义kpa
软件项目计划(spp)
软件项目计划是为要实施的软件项目编制软件过程活动的安排,包括进度控制、成本控制、质量控制、风险控制等,也是实施cmm2的核心此阶段在安排过程活动的同时开展项目设计的前期工作,设计和界定在整个项目中各阶段所需的开发、质量、跟踪、评审、风险、成本等工作。项目计划是指导项目过程的具体措施,要在有软件项目实施经验的人员领导下投人大量的时间和人力资源来完成。制定项目计划应注意7个问题。①在 科学 论证的基础上制定过程,充分调动人员积极性合理地确定项目组的参加人员;②对软件项目各程中的任务进行分解,明确项目的里程碑和检查点;③正确估计软件项目中的软件资源、硬件资源、人力资源及其它费用;④正确估计各方面因素带来的风险并制定应对措施;⑤制定项目实施过程中的跟踪和监督措施;⑥确定软件的评审和测试方法;⑦详细的文档资料。
3.1.2需求管理(rm)
需求分析主要包括面向用户的用户需求和面向开发人员的系统需求.是整个软件工程的第一步.也是非常关键的一个环节。需求分析主要针对用户的业务流程、系统功能、性能、数据分析进行严格的定义.是设计一个软件应用系统的起点与基本依据,通过它来评判软件产品是否能够解决用户问题,也是项目成功与否的标准。就目前国内现状来讲,一般签定软件项目合同的用户是主管信息技术的负责人,它所关心的可能是整个系统的目标需求,用户方中层管理人员关心的是业务流程需求.终端操作人员则注重软件本身的易操作性和功能特性,因此.面向用户的需求一定要和用户多方人员多沟通、交流.最终通过双方有关部门人员的论证以文档资料的形式确定下来。任何一个需求分析因客观原因可能存在着需求更改的现象,对于这种情况一定要注意需求更改的可控性.要建立需求的基准版本和更改版本控制文档资料.使受需求变化影响的产品与需求变更一致。但要注意在更改需求的同时要衡量需求的稳定性,如果一个需求的变更比较频繁,意味着本项目并没有真正了解用户想要解决的实际问题。可以说需求分析的完整性和变更可控性直接影响到软件过程的改进,它可以降低软件质量、加大软件开发的成本、甚至是导致项目的失败。软件工程组(seg)中要明确定义一个需求管理员。
3.1.3软件项目跟踪和监督(spto)
软件项目的跟踪和监督始终贯穿于整个软件项目的过程中,是项目得以控制的前提和条件、是软件质量的根本保障,其目的是增加软件过程中进度、成本、工作量、质量、风险等内容的可视性,也是实施cmm2的核心。除去市场、 法律 等不可控制因素外,根据项目计划对项目进展的有关情况及影响项目实施的相关因素进行及时、客观、准确的信息采集,将采集到的需求、成本、进度、风险等内容形成文档并建立一个项目跟踪信息平台。项目负责人定期召集软件过程人员、开发人员、质量保证人员、用户方有关人员召开开放式的例会,例会的主要内容是检查项目进展、数据的分析、认识的偏差、资源的搭配、相关的风险等问题并讨论确切的解决办法,通过跟踪和监督使项目始终处于可视化的受控状态。
软件质量保证(sqa)
软件质量保证是与软件产品满足规定的和隐含的需要能力有关的特征或特性的组合。对用户来讲主要体现在软件产品的有效性、一致性、完整性、可靠性和可操作性等方面,对于软件产品本身来讲体现在软件产品的可移植性、易维护性、健壮性、可重用性等方面。具体实践中.软件质量保证应在软件项目计划、需求分析、跟踪和监督、软件配置和软件评审的相互配合下完成.软件质量保证要做到以事先预防和跟踪为主,事后纠偏为辅。
3.1.5软件配置(scm)
软件配置是针对软件产品的跟踪和控制活动.贯穿于整个软件项目的过程中.目的是建立和维护在整个生命周期内软件产品的完整性和一致性,使整个软件产品的演进过程处于可控的状态,继而提高软件的可靠性和质量。在实践应用中主要做到五个子项的配置①配置项的标识。标识做到唯一性。便于跟踪和管理。②版本管理。对整个软件过程中的文件和目录提供有效的跟踪手段。③变更控制。保持并传递修改信息。④配置审计。确定整个项目生产周期中产品在技术和管理上的完整性。⑤系统整合。把系统的不同部分集成后完成一组特定的功能。
3.1.6同行评审(pr)
同行评审是根据预定的规范和标准对软件产品进行评审。评审的结果是衡量软件产品质量的依据。在整个软件过程中对详细设计和软件综合测试作为两个关键评审点来进行评审,评审的过程中注意要结合本软件项目的具体要求和标准。
3.2组的定义
在具体的实践应用中设置了三个组,在降低了人员成本的同时提高了软件过程改进能力和软件质量。
软件项目过程组(sppg)组织具体的项目实施活动,管理并协调整个软件项目的过程,主要完成spp和spto。
软件工程组(seg)负责软件工程的需求分析、概要设计、详细设计、编码、测试、维护工作。
软件质量保证组(sqag)主要完成spto、scm、pr、sqa等工作。
4.实践模式效率评估
4.1开发时间
软件开发由需求分析、概要设计、详细设计、编码、软件测试、项目维护和软件集成几部分内容组成,在需求分析和设计阶段采用cmm框架实施过程管理所花费的时间要多于没有实施过程管理花费的时间。首先对项目做大量分析,论证项目的可行性。然后在和用户做良好沟通、反复论证的基础上做需求分析,形成文档资料。这种模式下花费在需求分析和设计上的时间大约占项目总开发时间的40%,但这两个阶段完成了数据流程、算法描述、详细的规格说明等内容,为代码编写、软件测试、软件维护等后续内容的工作节省了时间,软件项目的开发周期大大缩短。经过评估,采用该实践模式实施软件过程管理的软件项目开发周期比没有实施软件过程管理的软件项目开发周期缩短20%。
4.2开发质量
采用cmm标准通过软件过程管理加强软件项目管理的实践模式使软件质量明显提高、需求分析周密、代码错误率明显降低、软件产品完整性好、功能齐全、维护量下降,软件项目最终得以顺利实现。
项目管理软件论文范文【第二篇】
关键词:实践教学;项目驱动;软件项目管理:软件工程
随着信息技术的飞速发展,软件产品的规模也越来越大,复杂程度越来越高,项目失败的概率也随之增长。研究表明,软件项目失败的原因主要有两个:一是错误的软件项目管理;二是应用项目的复杂性。实践证明错误的软件项目管理是导致软件项目失控的直接原因。各软件企业为了能高效高质地开发软件产品,都在积极将软件项目管理引入开发活动中。然而在“软件工程”的教学中,软件项目管理的教学效果却不尽人意。一方面,教材中的案例缺乏完整性、系统性和实用性;另一方面,软件项目管理的讲授方式不是十分合理,学生重视力度不够。作者将结合多年的软件工程教学经验,对软件项目管理的教学方法进行分析和探讨。
1软件项目管理的教学内容及特点分析
软件项目管理[1]是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员、产品、过程和项目等进行分析和管理的活动。软件项目管理是软件工程教学中的重要内容,它涉及了软件项目管理的五个标准化过程组和范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理、项目综合管理九大知识领域,几乎覆盖了软件产品从立项到结束的整个过程。图1形象地展示了软件项目管理与软件开发过程在时间上的先后顺序。
大多企业的优秀管理者都是具有丰富经验的人员,同样,软件项目管理水平的高低偏重于软件项目管理经验的积累。软件项目管理的学习不仅仅是要掌
图1软件项目管理与软件开发过程的时序图
握基本的原理、方法和完成相关的设计文档,更重要的是将理论应用于实践,让学生真正理解理论的作用,体验在实际项目实施中理论知识的具体应用场景,培养学生的软件项目管理思想。立足于软件项目管理的教学目标和要求,结合软件项目管理自身的特点,分析研究认为,项目驱动的软件项目管理教学
方法能够充分调动学生学习的积极性,培养学生动手实践和主动探索的精神,提高教学的质量和水平。
2项目驱动的实践教学法
项目驱动教学法[2]是一种以建构主义为理论基础的教学方法,它以项目开发为主线展开教学,整个教学过程是一种在教师的指导下,以学生为主体的协作过程。这种教学法的主要特点是始终以项目中的任务展开教学,既注重最终的实践结果,又注重完成项目的过程。其中教师的职责在于使学习者置身于探索知识之中,通过具体项目的开发提供真实的“情境”,即实际项目中需要解决的问题。然后,通过教师的指导,学生之间的讨论来解决问题。这种模式旨在把学生融入任务完成的过程中,让学生积极地学习,自主进行知识的建构,以培养学生综合能力为最终目标。
项目驱动教学对学生能力的培养
(1) 培养学生自主学习的能力。项目驱动教学法中任务的设定真正实现了以学生为主体的教学方针,学生为了完成任务就会主动去图书馆或相关的网站查阅信息,从而可以丰富知识,提高自学能力。
(2) 培养学生团队合作的能力。把全班学生分成几个小组,每组项目的完成情况,影响小组每个成员的评价,因此为了团队的整体利益,小组成员之间就会不可避免地展开讨论和争辩,最终达成共识,相互协作完成任务。
(3) 培养学生分析问题、解决问题的能力。任务设计后,让学生自己讨论,分析任务,提出问题,充分发挥了学生在学习过程中的主动性、积极性和创造性。这种分析问题和解决问题的能力同样可以应用到其它的领域。
(4) 培养学生实践创新能力。实践是创新的源泉。对于同一个任务,每个小组采用的解决方案不尽相同。他们可以根据自己的知识背景和对任务的认识,对任务的实现方法进行大胆的设计,从而培养学生的创新思维,提高学生的创新能力。
总之,项目驱动的任务式教学方法能够充分发挥学生的主观能动性,全面提高他们的综合素质。
项目驱动教学法的操作过程
“项目驱动”教学模式是教学过程中诸要素相互作用而形成相对稳定的组织结构和操作程序。 采用“项目驱动”教学法,在软件工程项目实施的每个阶段,我们均采用“项目任务――分析任务――理论学习――完成任务――评价总结任务”的教学模式。学生在完成“项目任务”的操作过程中,发现问题、解决问题,通过对任务的剖析,丰富了学习的经验、提高了学生完成任务的能力。
3教学实施
从软件工程的角度讲,软件项目管理过程主要分为七个阶段[3]:可行性研究阶段、需求分析阶段、设计阶段、编码阶段、测试阶段、验收阶段和维护阶段。我们在“软件工程”的教学过程中,打破以往按教材编排顺序讲授知识的方式,以软件项目的管理过程为讲授顺序,并以一个完整的具体项目实施为依托进行“软件工程”教学。其中软件项目管理的教学内容将穿插到软件生存周期各个阶段进行讲授,各阶段将会不可避免地包含相同的管理内容,通过学生重复学习与实践,可以使其深刻体会软件项目管理的思想。本校计算机专业大三学生的“软件工程”课程共54课时,我们按照理论教学与实践教学1:1的比例,先进行相关理论知识的讲解,然后进行课程实验的具体实践,结合“PetStore电子商务网站”的建设,让学生及时运用所学内容来完成项目任务,通过将软件项目管理的教学内容贯穿到项目实施的整个过程来实施教学。
教学准备
(1) 设置项目任务。在教学实施前,教师应根据教学进度、教学目标和要求制定教学计划,并将PetStore系统建设分成各个相对独立的子项目,将相关的理论知识分散在各个子项目中。学生应根据教师的安排认真阅读项目要求,查阅相关资料,对相关问题进行思考分析,并为课堂讨论做好准备。
(2) 建设团队。我们对学生按“项目小组”以自由组合的方式建立软件开发团队[4],每个团队不得超过6人,各组成员根据实际项目开发的过程进行分工。项目经理由小组成员讨论推荐产生,负责整个项目的规划、实施和控制。系统分析师、软件测试工程师和开发工程师通过自我推荐或项目经理指定产生。项目中的每项任务要落实到人且规定该任务的起止日期和时间。
(3) 建设规范的实验、实训室。根据项目驱动教学的特点,不仅需要学生提交书面的阶段性文档,还要通过具体的实践实现项目任务,提交项目作品。因此规范化的实验、实训室成为项目顺利完成的保障。
教学内容
我们将从软件的生存周期着眼,利用阶段化的项目管理方法,结合项目实践,对工程化生产中的管理工作进行讲解。对于软件项目的每一个阶段均要做出工作计划,在阶段结束之后,要对该阶段的工作活动进行总结评价,并对后续阶段的时间、人员、资金方面的需求做出估计。下面按软件项目的开发阶段,以PetStore系统的建设为例,详细介绍软件工程中软件项目管理的教学内容及相关的项目实施任务。
问题定义与可行性研究阶段
问题定义与可行性研究阶段主要涉及的项目管理教学内容包括:确定项目实施范围、项目目标、评估实施过程中主要的风险、制定项目实施的进度计划、成本和预算计划、人力资源计划等。
针对PetStore系统的开发建设,我们让老师模拟实际的用户,学生在对用户调查的基础上,结合软件项目管理理论知识,通过查阅资料、小组成员之间的讨论,编写详细的“系统目标与范围的说明书”。按照说明书的内容和要求,分析项目可能存在的风险,建立“风险项目检查表”。明确系统流程,建立系统逻辑模型,制定不同的解决方案。通过与用户的沟通,考虑经济上、技术上的可行性,比较选择一个较优的解决方案。在任务完成的过程中,学生可以真正感受到非文档所能体现的管理问题,如人力资源管理、沟通管理、风险管理等。
需求分析阶段
本阶段将更加全面、准确地分析PetStore系统的需求,主要涉及的管理工作为需求管理、质量管理、沟通管理等。通过与用户的多次沟通,明确系统可以分为用户管理、商品管理和维护库存数据库三大功能模块,每个大的功能模块又可分为若干小模块,如用户的注册模块、登陆模块、修改模块等。为保证PetStore系统的开发质量,需要在此阶段制定软件质量标准,主要包括功能性、稳定性、经济性、适用性、可靠性、安全性、可维护性等指标。明确系统的各种需求后,编写“软件需求规格说明书”。
软件设计阶段
软件设计是一个将需求转变为软件陈述(表达)的过程,程序的质量主要是由设计的质量来决定。本阶段主要包括范围管理、质量管理、时间管理、沟通管理等软件项目管理方面的内容。例如在PetStore系统设计的过程中,根据“需求规格说明书”中需求分析方法,确定所采用的软件设计方法及系统数据、软
件框架。软件设计阶段的任务主要包括PetStore系统界面设计、数据库设计、数据结构设计、编写设计文档等。在设计过程中始终要求按照质量标准予以实施,并及时进行质量评估。学生完成PetStore系统设计后,可以邀请用户或其他小组成员参与设计复审。复审时,设计人员要提出对设计方案的详细说明,答复与会者的问题,并记下重要的评审意见。
编码阶段
编码阶段涉及的软件项目管理教学内容主要有风险管理、质量管理、进度控制、成本管理、时间管理、配置管理、项目度量管理等。针对PetStore系统,按照设计文档的要求,对系统的各个功能子模块采用自己熟悉的语言进行编码设计。在PetStore的功能模块开发过程中,并不能完全保证项目按照开发计划进行,为了能使项目进度和开发计划同步,软件管理者在项目开始后应时刻关注计划执行情况,随时进行风险分析,调整项目进度,使实际进度与计划进度保持一致。编码结束后,由项目小组的技术人员对代码是否按规范编写进行审核,以保证编码的质量。
测试阶段
测试阶段主要涉及的软件项目管理教学内容有质量控制、配置管理等。针对PetStore系统,在编码阶段由项目开发者实现单元测试,测试阶段由独立于开发人员的测试人员进行“渐增式”的集成测试,最后,对照需求说明书,完成确认测试,并编写相应的测试报告文档。在测试过程中,学生利用配置管理的CASE工具,可以了解配置管理在软件开发中的具体应用及其所起到的重要作用。
运行和维护阶段
运行和维护阶段的软件项目管理内容主要包括维护成本估算、配置管理、风险管理、维护管理文档的编写。在PetStore系统的维护中,加强文档的建设,做到任何事情均有记录,任何变更均可回朔,利用维护日志和软件修改报告记录维护过程中的具体实施情况,学生可以根据维护情况参照开发工作量来估计维护的费用。此阶段还可以让学生选择合适的自动配置管理工具来实施配置管理。
教学总结
我们要求学生按PetStore项目生命周期的开发阶段进行阶段性项目总结。每个阶段的教学结束后,老师给学生一定的时间来实现PetStore 系统相关的内容,同时要求每个项目小组派一名代表在课堂上对阶段性的工作实施过程进行讲解,让全班学生共同讨论,相互交流不同的观点,以期从讨论中发现自己的不足和别人的优点,同时也能活跃课堂气氛,培养学生主动思考的意识。
在“软件工程”软件项目管理的教学过程中,我们注重的不是具体某一管理技术的学习,而是让学生深刻体会软件项目管理的过程,培养学生软件项目管
理的思想。
4结语
实践表明采用“项目驱动”的软件项目管理教学方式,可以将学习置于一个真实的软件项目开发环境中,让学生亲自动手操作来学习“死”的理论,加强理论与实际的联系,从而激发了学生的创新意识,调动了其学习积极性,培养了学习兴趣,提高了他们分析问题和解决问题的能力,达到了教学目标和要求,起到了良好的教学效果。
参考文献:
[1] 张建成。 周呜乐。 浅谈软件项目管理[J]. 信息技术与信息化,2008(5):84-86.
[2] 邓锐,佘维。 基于筛选机制的高职软件技术专业项目驱动教学探讨[J]. 计算机教育,2008(22):113-114.
[3]Php Metzger,John Boddie. 软件项目管理―过程控制与人员管理[M]. 北京:电子工业出版社,2002.
[4] 裴小兵。 基于软件开发团队的软件工程教学实践研究[J]. 计算机教育,2008(2):55-56.
Application of the Thinking of Software Project Management in "Software Engineering" Teaching
ZHANG Zhong-lin, WANG Jian-sheng, LAN Li
(School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)
软件项目管理论文【第三篇】
关键词:高职;软件工程;教学改革
1 软件工程课程教学中存在的问题
软件工程课程是高职计算机应用技术、软件技术等信息类专业的必修课程,该课程是指导软件开发与维护的一门实用性极强的课程,也是一门强调实践性的课程。该类专业的学生通过学习本课程,使其了解和掌握软件开发的方法和技术,具备作为软件开发人员所需的专业技能,为从事计算机软件开发和维护工作提供科学的方法。同时,软件工程教学内容除涉及计算机软件知识外,还涉及到项目管理、管理学、经济学、心理学、人机工程学等相关知识,因此,它也是一门综合性学科。而对于这样的课程若按照常规的教学方法在高职教育中很难开展教学,传统的高职软件工程课程教学中是以讲授为主,虽然也要求学生模拟编写一些软件项目若干开发文档。然而,由于所撰写的文档资料没有与实际项目结合起来,整个作业完成过程中学生不能很好了解撰写这些文档资料的实际意义,使得学生对学习该课程没有积极性,造成整个教学效果不理想,这也是高职学生不太愿意学习和学不好软件工程课程的主要原因。
2 课程教学改革内容及实践
教学改革的思路
虽然软件工程课程在高职教育中存在一些难度,但作为今后要从事软件开发及维护工作人员来说该课程的内容重要性是不言而喻的。软件开发规范化是软件开发产业化发展的基础,由美国IEEE的计算机协会(IEEE―CS)和ACM联合公布的2004版《软件工程知识体系指南》将软件工程学科分解为10个知识域,它们是:Software Requirements(软件需求)、Software Design(软件设计)、Software Construction(软件构造)、Software Testing(软件测试)、Software Maintenance(软件维护)、Software Configuration Management(软件配置管理)、Software Engineering Management(软件工程管理)、Software Engineering Process(软件工程过程)、Software Engineering Tools And Methods(软件工程工具与方法)、Software Quality(软件质量),其对软件工程的知识体系做出了全面的解释,作为软件开发人员应关注和掌握这十个方面的知识,而作为高职学生虽然不能要求都掌握以上十个方面的知识,但是诸如软件工程中的相关知识,软件开发项目计划与管理、可行性分析、需求分析、概要设计、详细设计、代码设计与编码技术、软件质量与质量保证以及面向对象分析与设计方法的知识是应该要求掌握的。这些知识是从事软件开发和维护工作的基础,也是培养学生系统思考问题、解决问题的基础,因此,作为高职计算机信息类专业的学生应很好掌握这些知识,并会应用于实际工作中。
在高职信息技术类专业中如何开展软件工程教学,提高教学质量,使学生真正掌握软件工程的相关知识、掌握软件开发与维护的方法和技能,对培养应
用型的软件人才具有十分重要的意义。我们经过几年的教学改革研究认为高职软件工程课程要彻底改变以往以讲授为主而脱离项目开发实际的教学方法,改用开设该课程的同时,将我院已开设的项目开发实训课程纳入到软件工程课程教学中来,实现理论教学与实际能力培养同步进行。在我院计算机信息类专业人才培养方案中高年级学期中均开设有软件项目开发实训课程,要求学生在指导教师指导下完成软件项目开发,在该课程考核过程中我们发现学生对软件工程课程中所学的知识不能很好应用在项目开发中,特别缺乏系统思考和分析问题的能力,软件工程的基本思想和方法不能应用与项目开发中,因此我们认为以往软件工程课程教学并不成功,教学效果并不好。为解决软件工程课程教学效果不好的问题,教师结合项目开发实训课程中学生开发项目的具体要求,上理论课的同时将软件工程的思想方法具体应用于项目开发中,达到在教学中理论联系实际,提高学生学习软件工程理论知识的兴趣,使学生能很好的掌握软件工程课程的相关知识,特别是能应用理论知识解决实际问题,培养学生系统分析和解决问题的能力。
教学改革的主要内容
根据高等职业教育的教育规律和目标要求,以及软件工程课程特点和在计算机信息类专业中的定位,制订了相应的教学目标、教学内容以及考核办法。
1) 教学目标。根据培养应用型人才的需要,本课程的目标是使学生了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,并通过实践确实掌握其方法的应用,培养其实践能力,为更深入地学习和今后从事软件开发和维护工作打下良好的基础。
2) 先修与后续课程。先修课程:SQL Server、JAVA或等课程。
要求学生在软件开发实训课程中开发应用软件,需要使用SQL Server、JAVA或等软件和开发平台,因此,需要先修过相关课程。后续课程:专业实训、毕业设计等
3) 教学课时。该课程的教学主要由软件工程课程和软件开发实训课程共同组成。软件工程教学课时为54学时,软件开发实训教学课时为72学时(每周4课时连排),建议学生每周有一天的时间在软件开发实训室集中开发项目。
4) 理论课程的教学要求。基本概念和基本知识:软件与软件工程,项目计划与项目管理,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护。
基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护(通过软件开发实训课程来实现)。重点:系统分析、系统设计、系统实现、系统维护。难点:需求分析、软件测试。
5) 教学方法。软件工程课程以教师讲授为主,结合案例进行教学,要求学生将课堂理论教学与实践相结合。软件开发实训课程教师给予项目开发的指导和组织项目开发各阶段的评审工作,要求学生按7~10人为一项目组,每个项目组均要承担一个管理系统的开发项目,题目可以学生自己选定,也可由教师选定,但都要对其有要求,项目要有一定的难度。每个项目组选出项目经理一人,负责整个项目的开发管理工作,各成员均要按照软件开发的具体要求分配不同的角色,并要承担其角色的主要工作职责,在整个开发过程中各阶段的工作每个同学都要参与,并要进行考核。
6) 教学内容。主要分为软件工程课的教学内容和软件开发实训课程的教学内容。
(1) 软件工程课程教学内容及教学时安排,如表1所示。
(2) 项目开发实训教学。
① 教学方法。软件项目开发实训主要是针对高年级学生在学习软件工程课程时开展的专项实训。实训采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可是学生自选项目,整个实训过程严格按照工程实施的基本思想来实施,建议实施的进度与理论教学同步进行,要求学生按7~10人一组开发项目,并推选项目经理一人,根据项目的要求设立若干岗位开展工作。
② 实训教学考核方法,如表2所示。
项目开发实训考核是以阶段评审与项目验收相结合,重视阶段评审的成绩,即强调学生实训项目中间过程考核。
阶段性评审要求各项目组提交必要的工件,对工件进行评审,并最后给项目组和个人评分,评分标准按上表。
软件开发实训成绩=阶段评审×60%+项目验收×40%。
为提高整个实训工作的效益,在项目开发实训中需重视以下几个方面。
实训环境。要构建一个模拟IT企业的开发环境,如建设成工位式的开发环境,建立计算机辅助开发平台,搭建配置管理平台、案例库、源代码库等。让学生感觉到软件开发实训室与一般的计算机房不同,它是一个模拟IT企业环境的实训室,提高学生对IT企业的认同感。
实训管理。对学生的管理应参照企业对员工管理的模式进行管理,如要求学生按时上下班,强化考勤管理和任务管理,定期通报学生的出勤及任务完成情况,通过各种方法鼓励学生完成项目开发。
实训指导。软件开发实训课是学生第一次作为一个项目开发的人员进入实训室完成一个项目的开发,会有许多的不适应,此时需要指导教师给予耐心和充分的指导,指导工作主要有两方面,一是指导学生尽快结合软件工程课程内容掌握软件开发的流程,让每个学生了解整个流程中各阶段的主要工作和标志性的工件是什么?要怎样完成自己的工作。二是要在开发过程中做技术指导,让学生能独立完成软件开发工作。
实训项目。此阶段的实训项目应具有一定的实际意义,也就是说项目最好来自于企业的真实案例,实训项目开发难易程度对于学生在有限的时间内是可实现的。我们认为高职院校应积极开展校企合作,通过校企合作获得企业项目开发的案例,对这些案例进行必要的简化成为学生实训项目,也可通过整理学校自主开发的项目为学生的实训项目。
实训评审。实训过程中要严格进行项目开发阶段的评审工作,制订相应的评审条件和具体时间要求。每一阶段均要进行评审,只有评审通过才能进行下一阶段的工作,通过评审使学生更加了解IT企业的工作流程和工作要求,通过评审也能对每个项目组的开发工作和每个学生在项目中的工作进行评价。
实训资料。实训中需要产生许多文档资料,主要完成:项目计划书、需求规格说明书、概要设计说明书、详细设计说明书、用户使用说明书以及开发规范要求等相关文档资料。实训室应为学生提高各文档资料的模板,要求学生撰写的各类文档标准化和规范化,同时也要强调学生在实训中应遵照文档要求进行项目开发工作,并要对文档资料进行评审。
项目验收。项目验收是实训工作的最后一项工作,除要检查学生项目组的所有文档资料是否齐全、软件是否能正常运行外,还要考核每一个学生所作的工作量和质量,对每一个项目要给予一定的评价,给每个学生一个评定成绩,并将所开发的项目收入实训室的案例库中。
7) 课程考核。软件工程课程的最后成绩为:理论考试成绩×60%+软件开发实训成绩×40%。
3 结语
软件工程课程与软件开发实训课程相结合进行教学,主要是想通过在课程实训中的系统分析与设计、软件项目管理、合作与交流等方面的训练,使学生能很好的掌握软件工程课程的相关知识,培养学生综合运用软件工程的思想、方法及过程等知识开发实际项目的能力。在项目实践中要注重的是项目和过程管理、重视学生的组织和管理能力以及团队合作精神的培养,为学生在今后的专业实训、毕业设计以及今后工作打下良好的基础。
Researching and Practicing on Course Teaching Reform of Software Engineering
MA Yongtao, CHENG Jing
(School of Vocational & Technical, Yunnan Nationalities University, Kunming 650031, China)
Abstract: Based on the aim of the higher vocational education, this thesis expounds the teaching reform concerned about the course teaching and teaching methods of Software Engineering. This paper proposes some teaching methods that combine theoretical teaching with practical teaching, and then builds up the maneuverable system of teaching examination that can better evaluate the students’ knowledge and skill levels.
软件项目管理论文【第四篇】
随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。我公司是西安一家中型软件企业,在公司中已经实行了项目管理制度,软件项目管理是整个项目管理中的一个重要组成部分。
从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。
软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。
二、软件项目管理的组织模式
软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组。
公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。
1、项目管理委员会
项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:
(1)依照项目管理相关制度,管理项目;
(2)监督项目管理相关制度的执行;
(3)对项目立项、项目撤消进行决策;
(4)任命项目管理小组组长、项目评审委员会主任、项目组组长。
2、项目管理小组
项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下:
(1)草拟项目管理的各项制度;
(2)组织项目阶段评审;
(3)保存项目过程中的相关文件和数据;
(4)为优化项目管理提出建议。
3、项目评审小组
项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:
(1)对项目可行性报告进行评审;
(2)对市场计划和阶段报告进行评审;
(3)对开发计划和阶段报告进行评审;
(4)项目结束时,对项目总结报告进行评审。
4、软件产品项目组
软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。
三、软件项目管理的内容
从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。
根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、软件质量管理、软件风险管理及开发人员管理四方面内容导入软件开发的整个阶段。
在八十年代初,著名软件工程专家总结出了软件开发时需遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则。它们是:
(1)用分阶段的生命周期计划严格管理;
(2)坚持进行阶段评审;
(3)实行严格的产品控制;
(4)采用现代程序设计技术;
(5)结果应能够清楚地审查;
(6)开发小组地人员应该少而精;
(7)承认不断改进软件工程实践地必要性。
四、编写《软件项目计划书》
项目组成立的第一件事是编写《软件项目计划书》,在计划书中描述开发日程安排、资源需求、项目管理等各项情况的大体内容。计划书主要向公司各相关人员发放,使他们大体了解该软件项目的情况。对于计划书的每个内容,都应有相应具体实施手册,这些手册是供项目组相关成员使用的。
《软件项目计划书》一般应该包括下述内容:
1.引言
计划的目的
项目的范围和目标
范围描述
主要功能
性能
管理和技术约束
2.项目估算
使用的历史数据
使用的评估技术
工作量、成本、时间估算
3.风险管理战略
风险识别
有关风险的讨论
风险管理计划
风险计划
风险监视
风险管理
4.日程
项目工作分解结构
时限图(甘特图)
资源表
5.项目资源
人员
硬件和软件
特别资源
6.人员组织
组织结构
管理报告
7.跟踪和控制机制
质量保证和控制
变化管理和控制
8.附录
五、软件配置管理
是否进行配置管理与软件的规模有关,软件的规模越大,配置管理就显得越重要。软件配置管理简称SCM(SoftwareConfigurationManagement的缩写),是在团队开发中,标识、控制和管理软件变更的一种管理。配置管理的使用取决于项目规模和复杂性以及风险水平。
1、目前软件开发中面临的问题
。在有限的时间、资金内,要满足不断增长的软件产品质量要求;
。开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;
。程序的规模越来越大;
。软件的重用性需要提高;
。软件的维护越来越困难。
2、软件配置管理应提供的功能
在中,对配置管理系统的功能作了如下描述:
。唯一地标识每个软件项的版本;
。标识共同构成一完整产品的特定版本的每一软件项的版本;
。控制由两个或多个独立工作的人员同时对一给定软件项的更新;
。控制由两个或多个独立工作的人员同时对一给定软件项的更新;
。按要求在一个或多个位置对复杂产品的更新进行协调;
。标识并跟踪所有的措施和更改;这些措施和更改是在从开始直到放行期间,由于更改请求或问题引起的。
3、版本管理
软件配置管理分为版本管理、问题跟踪和建立管理三个部分,其中版本管理是基础。版本管理应完成以下主要任务:
。建立项目;
。重构任何修订版的某一项或某一文件;
。利用加锁技术防止覆盖;
。当增加一个修订版时要求输入变更描述;
。提供比较任意两个修订版的使用工具;
。采用增量存储方式;
。提供对修订版历史和锁定状态的报告功能;
。提供归并功能;
。允许在任何时候重构任何版本;
。权限的设置;
。晋升模型的建立;
。提供各种报告。
4、配置管理软件
是一套非常优秀的配置管理软件,它能够实现配置管理中的各项要求,并且能和多种流行开发平台集成,为配置管理提供了很大的方便。
六、软件质量管理
随着软件开发的规模越来越大,软件的质量问题显得越来越突出。软件质量的控制不单单是一个软件测试问题,在软件开发的所有阶段都应该引入质量管理。我公司除加强了国家标准"信息技术软件生存期过程"(GB/T8566--1995)的规范管理外,还积极为通过做准备。
1、软件质量保证计划
在进行软件开发前,需要有一个《软件质量保证计划》。目前较常用的是ANSI/IEEESTOL
730--1984,983--1986标准,包括以下内容:
1.计划目的
2.参考文献
3.管理
组织
任务
责任
4.文档
目的
要求的软件工程文档
其他文档
5.标准和约定
目的
约定
6.评审和审计
目的
评审要求
软件需求的评审
设计评审
软件验证和确认评审
功能评审
物理评审
内部过程评审
管理评审
7.测试
8.问题报告和改正活动
9.工具、技术和方法
10.媒体控制
11.供应者控制
12.记录、收集、维护和保密
13.培训
14.风险管理
2、质量管理的基本原则
。控制所有过程的质量;
。过程控制的出发点是预防不合格;
。质量管理的中心任务是建立并实施文件化的质量体系;
。持续的质量改进;
。有效的质量体系应满足顾客和组织内部双方的需要和利益;
。定期评价质量体系;
。搞好质量管理关键在于领导。
3、软件质量因素
正确性:系统满足规格说明和用户目标的程度,即,在预定环境下能正确地完成预期功能的程度。
健壮性:在硬件发生故障、输入的数据无效或操作错误等意外环
境下,系统能做出适当响应的程度。
效率:为了完成预定的功能,系统需要的计算资源的多少。
完整性(安全性):对未经授权的人使用软件或数据的企图,系统能过控制(禁止)的程度。
可用性:系统在完成预定应该完成的功能时另人满意的程度。
风险:按预定的成本和进度把系统开发出来,并且为用户所满意的概率。
可理解性:理解和使用该系统的容易程度。
可维修性:诊断和改正在运行现场发现的错误所需要的工作量的大小。
灵活性(适应性):修改或改进正在运行的系统需要的工作量的多少。
可测试性:软件容易测试的程度。
可移植性:把程序从一种硬件配置和(或)软件系统环境转移到另一种配置和环境时,需要的工作量多少。有一种定量度量的方法是:用原来程序设计和调试的成本除移植时需用的费用。
可再用性:再其他应用中该程序可以被再次使用的程度(或范围)。
互运行性:把该系统和另一个系统结合起来需要的工作量的多少。
4、软件评审
软件评审并不是在软件开发完毕后进行评审,而是在软件开发的各个阶段都要进行评审。因为在软件开发的各个阶段都可能产生错误,如果这些错误不及时发现并纠正,会不断地扩大,最后可能导致开
发的失败。下面这组数据可以清楚的看出前期的错误对后期的影响。
软件评审是相当重要的工作,也是目前国内开发最不重视的工作。
(1)评审目标
。发现任何形式表现的软件功能、逻辑或实现方面的错误;
。通过评审验证软件的需求;
。保证软件按预先定义的标准表示;
。已获得的软件是以统一的方式开发的;
。使项目更容易管理。
(2)评审过程
A、召开评审会议:一般应有3至5人参加,会前每个参加者做好准备,评审会每次一般不超过2小时。
B、会议结束使必须做出以下决策之一:接受该产品,不需做修改;由于错误严重,拒绝接受;暂时接受该产品。
C、评审报告与记录;所提出的问题都要进行记录,在评审会结束前产生一个评审问题表,另外必须完成评审简要报告。
(3)评审准则
。评审产品,而不是评审设计者(不能使设计者有任何压力);
。会场要有良好的气氛;
。建立议事日程并维持它(会议不能脱离主题);
。限制争论与反驳(评审会不是为了解决问题,而是为了发现问题;
。指明问题范围,而不是解决提到的问题;
。展示记录(最好有黑板,将问题随时写在黑板上);
。限制会议人数和坚持会前准备工作;
。对每个被评审的产品要尽力评审清单(帮助评审人员思考);
。对每个正式技术评审分配资源和时间进度表;
。对全部评审人员进行必要的培训;
。及早地对自己地评审做评审(对评审准则的评审)。
5、软件质量认证体系
是ISO9000质量体系认证中关于计算机软件质量管理和质量保证标准部分。它从管理职责、质量体系、合同评审、设计控制、文件和资料控制、采购、顾客提品的控制、产品标识和可追溯性、过程控制、检验和试验、检验/测量和试验设备的控制、检验和试验状态、不合格品的控制、纠正和预防措施、搬运/贮存/包装/防护和交付、质量记录的控制、内部质量审核、培训、服务、统计系统等二个方面对软件质量进行了要求。
6、测试
软件测试是软件开发的一个重要环节,同时也是软件质量保证的一个重要环节。所谓测试就是用已知的输入在已知环境中动态地执行系统(或系统的部件)。测试一般包括单元测试、模块测试、集成测试和系统测试。如果测试结果与预期结果不一致,则很可能是发现了系统中的错误,测试过程中将产生下述基本文档:
(1)测试计划:确定测试范围、方法、和需要的资源等。
(2)测试过程:详细描述和每个测试方案有关的测试步骤和数据(包括测试数据及预期的结果)。
(3)测试结果:把每次测试运行的结果归入文档,如果运行出错,则应产生问题报告,并且必须经过调试解决所发现的问题。测试结果:把每次测试运行的结果归入文档,如果运行出错,则应产生问题报告,并且必须经过调试解决所发现的问题。
七、软件风险管理
软件项目管理存在着风险,如果我们提前重视风险,并且有所防范,就可以最大限度减少风险的发生。进行风险管理是有效的手段。
1、风险的分类
根据风险内容,我们可以将风险分为项目风险(成本提高,时间延长等)、技术风险(技术不成熟等)、商业风险(销售问题等)、战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)、预算风险(预算是否准确等)等。
另外,我们还可以将风险分为已知风险(如员工离职等)、可预报风险(从以往经验得出可能有风险的)和不可预知风险。
2、风险的识别
风险识别的有效方法是建立风险项目检查表。主要涉及以下几方面检查:
。产品规模风险检查
。业务影响风险检查
。与客户相关的风险检查
。过程风险检查
。技术风险检查
。开发环境风险检查
。与人员的模式和经验有关的风险检查
3、风险评估
风险评估主要从下面七个方面进行:
。发生的可能性
。发生的结果(影响)
。建立一个尺度表示风险可能性(如,极罕见、罕见、普通、可能、极可能)
。描述风险带来的后果
。估计对产品和项目的影响
。确定风险评估的正确性
。根据影响排定有限队列
另外,要对每个风险的表现、范围、时间做出尽量准确的判断。
4、风险的评价
对风险的评价主要依据三个因素:风险描述、风险概率和风险影响。从成本、进度及性能三个方面对风险进行评价。确定项目的中止点,在中止点出再一次进行风险评价。
5、风险的驾驭和监控
风险的驾驭与监控主要要靠管理者的经验来实施。如,某开发人员的离职概率是,离职后会对项目造成一定的影响,则该风险驾驭和监控的策略如下:
。与在职人员协商,确定流动原因。
。在项目开始前,把环节这些流动原因的工作列入风险驾驭计划。
。项目开始时,作好人是会流动的准备,采取一些措施确保人员一旦离开时,项目仍能继续。
。制定文档标准,并建立一种机制,保证文档及时产生。
。对所有工作进行细微详审,使更多人能够按计划进度完成自己的工作。
。对每个关键性技术人员培养后备人员。
在考虑风险成本之后,决定是否采用上述策略。
八、人员管理
1、对项目经理的要求
。能够使小组每个成员都能发挥能力
。有一定的组织能力
。能够使小组美味成员有成就感
。有提出解决问题方案的能力
。对问题的理解有一定的深度
。要能让成员知道软件质量的重要性
2、人员的通讯方式
(1)正式非个人方式,如正式会议等;
(2)正式个人之间交流,如成员之间的正式讨论等(一般不形成决议);
(3)非正式个人之间交流,如个人之间的自由交流等;
(4)电子通讯,如E-MAIL(电子邮件)、BBS(电子公告板系统)等;
(5)成员网络,如成员与小组之外或公司之外有经验的相关人员进行交流;
在实践中发现,(5)的通讯效率最高,其次是(1)。