软件项目管理论文范例6篇

前言:中文期刊网精心挑选了软件项目管理论文范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

软件项目管理论文

软件项目管理论文范文1

一般来说,软件工程师总是非常乐观。当他们在计划软件项目时,经常认为每件事情都会像计划那样运行,或者,又会走向另外一个极端。软件开发的创造性本质意味着我们不能完全预测会发生的事情,因此制定一个详细计划的关键点很难确定。当有预想不到的事情引起项目脱离正常轨道时,以上两种观点都会导致软件项目的失败。

目前,风险管理被认为是IT软件项目中减少失败的一种重要手段。当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。风险管理意味着危机还没有发生之前就对它进行处理。这就提高了项目成功的机会和减少了不可避免风险所产生的后果。

2什么是风险

所谓“风险”,归纳起来主要有两种意见,主观说认为,风险是损失的不确定性;客观学认为,风险是给定情况下一定时期可能发生的各种结果间的差异。它的两个基本特征是不确定性和损失。IT行业中的软件项目开发是一项可能损失的活动,不管开发过程如何进行都有可能超出预算或时间延迟。项目开发的方式很少能保证开发工作一定成功,都要冒一定的风险,也就需要进行项目风险分析。在进行项目风险分析时,重要的是要量化不确定的程度和每个风险相当的损失程度,为实现这一点就必须要考虑以下问题:

要考虑未来,什么样的风险会导致软件项目失败?

要考虑变化,在用户需求、开发技术、目标、机制及其它与项目有关的因素的改变将会对按时交付和系统成功产生什么影响?

必须解决选择问题,应采用什么方法和工具,应配备多少人力,在质量上强调到什么程度才满足要求?

要考虑风险类型,是属于项目风险、技术风险、商业风险、管理风险还是预算风险等?

这些潜在的问题可能会对软件项目的计划、成本、技术、产品的质量及团队的士气都有负面的影响。风险管理就是在这些潜在的问题对项目造成破坏之前识别、处理和排除。

3风险管理

项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监控。它能让风险管理者主动“攻击”风险,进行有效的风险管理。

项目管理中,建立风险管理策略和在项目的生命周期中不断控制风险是非常重要的,风险管理包括四个相关阶段:

风险识别识别风险的方法常用的有风险识别问询法(座谈法、专家法)、财务报表法、流程图法、现场观察法、相关部门配合法和环境分析法等。

风险评估对已识别的风险要进行估计和评价,风险估计的主要任务是确定风险发生的概率与后果,风险评价则是确定该风险的经济意义及处理的费/效分析,常用的方法有:概率分布、外推法、多目标分析法等。

风险处理一般而言,风险处理有三种方法,①风险控制法,即主动采取措施避免风险,消灭风险,中和风险或采用紧急方案降低风险。②风险自留,当风险量不大时可以余留风险。③风险转移。

风险监控包括对风险发生的监督和对风险管理的监督,前者是对已识别的风险源进行监视和控制,后者是在项目实施过程中监督人们认真执行风险管理的组织和技术措施。

在IT软件项目管理中,应该任命一名风险管理者,该管理者的主要职责是在制订与评估规划时,从风险管理的角度对项目规划或计划进行审核并发表意见,不断寻找可能出现的任何意外情况,试着指出各个风险的管理策略及常用的管理方法,以随时处理出现的风险,风险管理者最好是由项目主管以外的人担任。

险识别

风险识别就是企图采用系统化的方法,识别某特定项目已知的和可预测的风险。常用方法是建立“风险条目检查表”,利用一组提问来帮助项目风险管理者了解在项目和技术方面有些风险。在“风险条目检查表”中,列出了所有可能的与每一个风险因素有关的提问,使得风险管理者集中来识别常见的、已知的和可预测的风险,如产品规模风险、依赖性风险、需求风险、管理风险及技术风险等。“风险条目检查表”可以以不同的方式组织,通过判定分析或假设分析,给出这些提问确定的回答,就可以帮助管理或计划人员估算风险的影响。软件项目一般有如下五类风险:

4.1产品规模风险

有经验的项目经理都知道:项目的风险是直接与产品的规模成正比的。与软件规模相关的常见风险因素有:

估算产品的规模的方法(LOC或代码行,FP或功能点,程序或文件的数目)。

产品规模估算的信任度

产品规模与以前产品规模平均值的偏差

产品的用户数

复用的软件有多少

产品的需求改变多少

4.2需求风险

很多项目在确定需求时都面临着一些不确定性和混乱。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造正确的产品。每一种情况都会导致使人不愉快。

与客户相关的风险因素有:

对产品缺少清晰的认识

对产品需求缺少认同

在做需求中客户参与不够

没有优先需求

由于不确定的需要导致新的市场

不断变化需求

缺少有效的需求变化管理过程

对需求的变化缺少相关分析

4.3相关性风险

许多风险都是因为项目的外部环境或因素的相关性产生的。经常我们不能很好地控制外部的相关性,因此缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取得必要的组成部分,并且觉察潜在的问题。与外部环境相关的因素有:

客户供应条目或信息

内部或外部转包商的关系

交互成员或交互团体依赖性

经验丰富人员的可得性

项目的复用性

4.4管理风险

尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,并且大部分人都不希望在公共场合暴露自己的弱点。然而,像这些问题可能会使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目。当我们定义了项目追踪过程并且明晰项目角色和责任,就能处理这些风险因素:

计划和任务定义不够充分

实际项目状态

项目所有者和决策者分不清

不切实际的承诺

员工之间的冲突

4.5技术风险

软件技术的飞速发展和经历丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键,比如:培训、雇佣顾问以及为项目团队招聘合适的人才等。主要有下面这些风险因素:

缺乏培训

对方法、工具和技术理解的不够

应用领域的经验不够

新的技术和开发方法

不能正确工作的方法

5风险估计

风险估计,又称风险预测,常采用两种方法估价每种风险。一种是估计风险发生的可能性或概率,另一种是估计如果风险发生时所产生的后果。一般来讲,风险管理者要与项目计划人员、技术人员及其他管理人员一起执行四种风险活动:

(1)建立一个标准(尺度),以反映风险发生的可能性。

(2)描述风险的后果。

(3)估计风险对项目和产品的影响。

(4)确定风险的精确度,以免产生误解。

另外,要对每个风险的表现、范围、时间做出尽量准确的判断。对不同类型的风险采取不同的分析办法。

1.确定型风险估计

(a)盈亏平衡分析

盈亏平衡分析(Break-EvenAnalysis)通常又称为量本利分析或损益平衡分析。它是根据软件项目在正常生产年份的产品产量或销售量、成本费用、产品销售单价和销售税金等数据,计算和分析产量、成本和盈利这三者之间的关系,从中找出它们的规律,并确定项目成本和收益相等时的盈亏平衡点的一种分析方法。在盈亏平衡点上,软件项目既无盈利,也无亏损。通过盈亏平衡分析可以看出软件项目对市场需求变化的适应能力。

(b)敏感性分析

敏感性分析(SensitivityAnalysis)的目的,是考察与软件项目有关的一个或多个主要因素发生变化时对该项目投资价值指标的影响程度。通过敏感性分析,使我们可以了解和掌握在软件项目经济分析中由于某些参数估算的错误或是使用的数据不太可靠而可能造成的对投资价值指标的影响程度,有助于我们确定在项目投资决策过程中需要重点调查研究和分析测算的因素。

(c)概率分析

它是运用概率论及数理统计方法,来预测和研究各种不确定因素对软件项目投资价值指标影响的一种定量分析。通过概率分析可以对项目的风险情况做出比较准确的判断。主要包括解析法和模拟法(蒙特卡罗MonteCarlo技术)两种。

2.不确定型风险估计

主要有小中取大原则、大中取小原则、遗憾原则、最大数学期望原则、最大可能原则。

3.随机型风险估计

主要有最大可能原则、最大数学期望原则、最大效用数学期望原则、贝叶斯后验概率法等。

5.1建立风险清单

风险清单是关键的风险预测管理工具,清单上列出了在任何时候碰到的风险名称、类别、概率及该风险所产生的影响。其中整体影响值可对四个风险因素(性能、支持、成本及进度)的影响类别求平均值(有时也采用加权平均值)。

一旦完成了风险表的内容,就可以根据概率及影响来进行综合考虑,风险影响和出现概率从风险管理的角度来看,它们各自起着不同的作用(见图1)。一个具有高影响但低概率的风险因素不应当占用太多的风险管理时间,而具有中到高概率、高影响的风险和具有高概率及低影响的风险,就应该进行风险分析。

5.2风险评估

在风险分析过程中,我们对风险进行评估时可以建立一个如下的四元数组:

[ri,li,xi,yi]

其中,ri是风险,li为风险出现的概率,xi则表示风险损失大小,yi则表示期望风险。

一种对风险评估的常用技术是定义风险的参照水准,对绝大多数软件项目来讲,风险因素——成本、性能、支持和进度就是典型的风险参照系。也就是说对成本超支、性能下降、支持困难、进度延迟都有一个导致项目终止的水平值。如果风险的组合所产生的问题超出了一个或多个参照水平值时,就终止该项目的工作,在项目分析中,风险水平参考值是由一系列的点构成的,每一个单独的点常称为参照点或临界点。如果某风险落在临界点上,可以利用性能分析、成本分析、质量分析等来判断该项目是否继续工作。图2表示了这种情况。

但在实际工作中,参照点很少能构成一条光滑的曲线,大多数情况下,它是一个区域,而且是个易变的区域。因而在做风险评估时,尽量按以下步骤执行:

(1)定义项目的水平参照值

(2)找出每组[ri,li,xi,yi]与每个水平参照值间的关系

(3)估计一组临界点以定义项目的终止区域

(4)估计风险组合将如何影响风险水平参照值

5.3估计损失的大小

表1是风险分析表的一个例子,可以建立一个用风险、损失概率、损失大小和期望风险这样的风险评估表。

在表1所示的风险估价的例子中,一个理论项目已经识别了从1到20周期间的潜在的几个风险,风险发生的概率范围在5%到50%之间。在现实的项目中,可能会识别出比此表要多得多的风险。

损失的大小常常比概率更容易受到控制。在以上的例子中,可以很精确地估计出完全支持自动从主机更新数据的时间是20个月。根据管理层将在何时讨论项目建议书,可以知道项目不是在2月1日就是3月1日会被批准。如果假定会在2月1日批准,项目被批准的风险大小会比期望的长一些,也就是1个月时间。

如果损失的大小不容易直接估计出来,可以将损失分解为更小的部分,再对其进行评估,然后将各部分评估结果累加,形成一个合计评估值。例如,如果使用3种新编程工具,可以单独评估每种工具未达到预期效果的损失,然后再把损失加到一起,这要比总体评估容易多了。

5.4评估损失的概率

评估损失的概率要比评估损失大小更具有主观性。这里有许多实践方法可以提高主观评估的准确度。有以下方法:

由最熟悉系统的人评估每个风险的发生概率,然后保留一份风险评估审核文件。

使用Delphi法或少数服从多数的方法。使用Delphi法,必须要求每个人对每个风险进行独立地评估,然后讨论(口头或纸上)每个评估的合理性,特别是最高和最低的那个。一轮轮讨论,直到达成共识。?使用“形容词标准”。首先让每个人用表示可能性的形容词短语选择风险的级别,如非常可能、很可能、可能、或许、不太可能、不可能、和根本不可能。然后把可能性的评估转换为数量化的评估(Boehm1989)。

5.5整个项目超限和缓冲

实际上,表1中表示的期望风险的计算数值来源于一个被称为“期望值”的统计术语。设计欠佳引起的风险如果真正发生将花费15周的时间。既然它不是100%地会发生,当然不能预计损失15周时间。但它也不是没有可能发生,所以也不应指望不会发生损失。统计学认为,预计损失的数量是概率乘以损失大小,即15%乘以15周。因此,在这个例子中,预计的是损失2.25周。由于只是谈论计划风险,可以累加所有的风险暴露量来得到项目的全部可预料超标值。这个项目可预料的超标值是12.8到13.2周,这就是如果不做任何风险管理的话有可能超过计划的周数。

超出预期值的大小为整个项目风险控制级别的确定提供了依据。如果例子中的项目是个25周的项目,超出预期值的12.8到13.2周就很明显需要进行风险管理了。

6风险管理策略

风险管理策略就是辅助项目组建立处理项目风险的策略。项目开发是一个高风险的活动,如果项目采取积极的风险管理策略,就可以避免或降低许多风险,反之,就有可能使项目处于瘫痪状态。一般来讲,一个较好的风险管理策略应满足以下要求:

(1)在项目开发中规划风险管理,尽量避免风险

(2)指定风险管理者,监控风险因素

(3)建立风险清单及风险管理计划

(4)建立风险反馈渠道

7风险驾驭和监控

风险的驾驭与监控主要靠管理者的经验来实施,它是利用项目管理方法及其它某些技术,如原型法、软件心理学、可靠性等来设法避免或转移风险。风险的驾驭和监控活动可用图3来表示。

7.1建立风险驾驭与监控计划

从图3中可以看出,风险的驾驭与监控活动要写入RMMP(RiskMonitoringandManagementPlan风险驾驭与监控计划)。RMMP记述了风险分析的全部工作,并且作为整个项目计划的一部分为项目管理人员所使用。

风险管理策略可以包含在软件项目计划中,也可以组织成一个独立的风险缓解、监控和管理计划(RMMP计划)。RMMP计划将所有风险分析工作文档化,并由项目管理者作为整个项目计划中的一部分来使用。一旦建立了RMMP计划,且项目开始启动,则风险缓解及驾驭及监控步骤也开始了。正如前面讨论的,风险缓解是一种问题避免活动。风险驾驭及监控则是一种项目跟踪活动,它有三个主要目标:?判断一个预测的风险是否事实、是否发生。

进行风险再估计,确保针对某个风险而制定的风险消除活动正在使用。

收集可用于将来进行风险分析的信息。

风险驾驭及监控的策略如下:

与在职人员协商,确定人员流动原因。

在项目开始前,把缓解这些流动原因的工作列入风险驾驭计划。

项目开始时,要作好人员流动的思想准备,并采取一些措施确保人员一旦离开时,项目仍能继续。

制定文档标准,并建立一种机制,保证文档及时产生。

对所有工作进行细微详审,使更多人能够按计划进度完成自己的工作。

对每个关键性技术人员培养后备人员。

在考虑风险成本之后,决定是否采用上述策略。

7.2软件项目风险追踪工具

追踪风险的一个办法是将风险输入缺陷追踪系统中,缺陷追踪系统能将风险项目标示为已解决或尚未处理等状态,也能指定解决问题的项目团队成员,并安排处理顺序。可将软件风险项目依序排列出来,按照缺陷存在的时间与负责者等资料排列。这样,缺陷追踪系统就是追踪风险的工作能更好执行并且不那么单调。

软件项目管理论文范文2

论文:项目管理进度控制费用控制质量控制软件开发

人类社会经历了三次经济革命从农业革命、工业革命到目前正在经历的信息革命。信息化正在日益改变人们的思维方式和生活习惯。在推动信息化过程中,计算机及其软件产品发挥着至关重要的功能。对于软件项目的管理成为项目管理领域一个令人兴奋的课题。本文将结合项目管理中的控制方法分析软件项目管理控制的相关新问题.以期提高软件项目的开发效率。

1、有关软件项目管理

1.1项目和项目管理

项目是一个旨在完成一个或一些独特产品或服务的过程.它有着一系列被具体描述的属性。由于项目的独特性和一次性特征,引伸出它的其他特征.如目标的确定性.成果的不可挽回性组织的临时性和开发性等。基于项flI的这些特征.项目运作更加注重项目决策前的计划以及对实施过程的控制,以减少项目运作的风险。项目管理是2O世纪50年代后期发展起来的一种计划管理方法,它运用先进科学的管理方式.有效解决大型组织的效率低下和小型企业面临的风险增加新问题以组织的机动灵活.面向客户和资源利用率高而被广泛应用。在工程设计.施工软件项目的开发、实麓中经常会碰到进度拖延.费用超支、质量不达要求等新问题除去极少数是因为技术原因造成,绝大部分是源于僵化的管理和不当的管理方式。

1.2软件项目管理

各软件企业都在积极将软件项目管理引入开发活动中.对开发实行有效的管理。从概念上讲.软件项目管理是为了使软件项目能够按照预定的成本.进度、质量顺利完成.而对成本、人员、进度、质量、风险等进行分析和管理的活动。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员和支持人员的工作每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理.专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

2、软件项目控制

2.1软件项目控制

软件项目跟踪和监控包括对照已文档化的估计、约定和计划评审和跟踪软件完成情况和结果。基于实际的完成情况和结果调整这些计划。软件项目的已文档化的计划(即软件开发计划,正如在软件项目计划关键过程区域中所描述的)用作跟踪软件活动传送状态和修订计划的基础管理者监控软件活动.主要通过在所选出的软件工作产品完成时和在所选择的里程碑处,将实际的软件规模工作量成本和时间表和计划相比较,来确定进展情况。当确定未实现软件项目计划时,采取纠正办法。这些办法可以包括修订软件开发计划以反映实际的完成情况和重新计划遗留的工作或者采取改进性能的办法。

2.2软件项目控制的内容

软件项目控制的目的是为软件项目的过程提供足够的能见度,从而可以在执行过程中发生对计划的严重偏离时能够采取适当的更正行为。软件项目控制包括:a。追踪软件项目的进展于表现从而和所作的估计、承诺和计划做出对比:b。追踪软件项目的风险;C。在发生对计划的严重偏离时采取适当的更正行为。

2.3软件项目控制步骤

由于软件开发是处在一个开放的动态系统中,开发环境的不断变化要求不断修改项目计划,以适应新的变化。此外项目经理及其组织在完成任务的过程中不可避免的要碰到这样或那样的新问题.解决这些新的矛盾和新问题均属项目控制的范畴项目的预算和进度计划只能为项目经理提供决策的依据.假如在项目实施过程中控制不住.很难在限定的时间和预算要求下实现项目管理工作的目标。因此软件项目控制的过程包括以下四个步骤:a、猜测什么会发生——要做出开发计划并建立工作标准b、查明什么正在发生——用建立的工作标准检查当前的工作;c、正在(或已经)发生的实事同猜测的结果进行比较——分析误差产生的原因:d及时采取补救办法.以满足项目目标,预算和进度的要求。

3、软件项目控制具体操作

3.1软件项目进度控制

为了确保软件开发中的各项工作能按照计划预定的日程顺利完成.对项目的进度要进行控制。进度控制的过程是.在项目实施过程中,不断地进行实际进度值和计划值的比较、发现偏差、检查分析其产生的原因,并采取相应的办法加以解决。

3.1.1进度控制流程

(1)进度控制的输入

进度计划。项目进度基准是项目测量和报告的基础和标准。

实施报告。实施报告提供了有关项目进度发展实情。报告未来可能发生的进度新问题。

变更要求。项目变更要有严格的申请和审批手续。

进度管理的技术和工具。

(2)进度管理的技术和工具

进度控制变更系统。为有效实现进度管理和控制.进度控制系统应设立实现重新计划的全部功能。包括:文件设立.跟踪即实施报告.变更评估等。

实施情况测量。项目进度控制系统中的一个重要组成部分是决定对迟发生的进度偏差是否采取纠偏办法。而实施情况报告提供了决策的主要信息。如变更分析.趋向分析.已实现价值分析等。

纠偏计划。很少有项目能完全按计划进度进行为实现项目进度或总进度要求,在项目实施过程中.需要不断对原计划进行调整或增加新的工作内容。为此.需要不断对实施的项目进行活动时间猜测。修改活动过程.替代进度方案分析。

项目管理软件。它的功能是跟踪项目按计划日期展开实际工作的情况.对照进度计划分析进度目前状况,找出进度的偏差.分析进度偏差对项目的影响.猜测未来走势

(3)项目进度控制的输出

进度更新。包括对项目管理中任何进度信息的修改。进度调整是其中的一种.师队员进度计划中活动开始和结束时间的改变。纠偏行动。通过改变资源投入将实际进度拉回到计划的行动过程。

从中获得的教训。有关进度偏差产生的原因。纠偏方案的评估和选择以及其他方面的感受和教训都应纪录在案成为日后有用的历史资料。

3.1.2进度控制方法

一般项目进度控制采用因果分析.分析用四步完成:

(1)明确新问题。实际完成情况和项目里程碑相对照.确定是否超期.超期的部分是在哪里。

(2)查找产生该新问题的原因。位从系统角度充分熟悉各方原因.应组织具有代表性任务人员并采用头脑风暴法进行。项目主管要通过他领导的办公室或小组,以及在各职能部门的人共同分析新问题产生原因。

(3)确定个原因对新问题产生的影响程度。对影响程度的评估可以采用专家小组打分的方法,事先确定权数.而后打分得出分析结果。

(4)画出带箭头的鱼刺图。分析出原因后各部门各就其职针对新问题提出解决方案.并实施。

3.1.3软件项目进度控制具体办法

在实施进度计划过程中,会有种种故障:客户的需求进行了补充或修改;工作量估算不准,造成进度不平衡或是有人不遵从开发规范.导致产品出现缺陷;或是技术环节出现故障,这些新问题往往是在进度计划外出现的.一旦出现这些新问题,项目进度不得不进行调整。开发过程中为了有效控制类似新问题,可以采用以下辅助办法,控制进度按计划执行:

(1)政策性办法。对于不遵从开发规范,人员不按时履行职责的.给予经济或是职务上的处罚.这种办法应是建立在分配任务之前;

(2)人员布置。在各子项目接口处适当布置机动人员和机动时间。这一办法有赖于项目组织的机构设置能动性好。此处比较难解决的是人员业绩评估.奖励新问题。

(3)技术办法,要想很好地执行进度计划,需要事先有统一的规范例如开发语言的统一,文档的归类。这样便于下一阶段人员理解上一阶段人员意图,交流更加轻易。

(4)信息流办法。该办法要求建立一个信息流系统.准时汇报项目进度.便于主控人员调整进度,并且保证信息流通顺畅。避免开发期压到最后造成严重拖工。

(5)资金办法。财务部门可以定期检查各部门财务情况.控制资金流出时间.进而控制项目进度。这和后面要讲到的三者权衡有密切关系。

3.2软件项目费用控制

费用控制就是要保证各项工作要在他们各自的预算范围内进行。其基础是实现就对项目进行费用预算。整个项目费用应包括项目范围规划阶段。软件需求分析阶段.原型设计阶段开发阶段.测试阶段和项目投入使用后的使用阶段所消耗费用的总和。软件开发项目承担公司为了完成项目目标和获得更多的利润.在实施项目过程中就要控制成本.在控制过程中,首先要拟定一个标准.即计划值.然后进行实际至于计划值的比较,确定实际值和计划标准的偏差大小.以便在此基础上采取各种办法纠正偏差.常用的分析工具是偏差分析。

偏差是指实际成本对相应计划的偏离,成本偏差的数学公式为:

CV=BCWP-ACWP(负数CV表明出现超支;反之,则节资)(3—1)

其中:CV为成本偏差,BCWP为计划工作预算,ACWP为完成工作实际成本。

在进行成本偏离计划程度分析时,常用计划偏差率反应时给予计划的偏离程度。

CVP=CV/BCWP(3-2)

其中CVP为成本偏差率。

偏差值是控制分析中的一个关键参数,因而应向各级组织汇报。对于不同的项目或同一项目不同阶段或不同管理层次,对偏差的控制程度不一样,制定偏差答应值的方法也不同。由于随着时间的推移风险减少了,因而偏差答应也可降低。超级秘书网

3.3软件项目质量控制

对于软件产品的项目质量控制应是事前有预控,过程有监控的主动控制闭环系统。(1)事前预控:根据影响质量因素多等特征.软件项目质量必须事前预控,及根据软件的类型和特征,以及以往类似项目的常发病和预防办法,对软件项目质量提出事前预控办法,包括制定控制的计划和程序,这是项目质量控制的前提。(2)过程监控:根据易产生质量波动和易产生系统因素变异等特征,软件项目质量必须过程监控.即按照预控的计划和程序,对工序、分项、单元的全过程进行过程监控.包括监测、检查、控制和评定.这是项目质量控制的基础。

软件项目管理论文范文3

有时即使不开展项目管理工作,软件开发项目也能取得成功。但是如果乏项目管理,则难以将成本控制在一定范围内,容易导致软件企业面临着亏损的风险。在开展项目管理工作的过程中,需要借助技术、方法等,管理软件开发活动,如此既有助于实现软件开发目标,又能够控制软件开发的进度以及开发成本。当前,虽然有部分软件企业依据软件工程理论,制定了管理软件开发的制度,但是却没有严格控制软件开发的进度以及成本。这种做法不仅会延长软件开发的时间,还会增加软件公司的经营风险,最终损害到相关用户的利益。而在软件开发过程中,开展项目管理工作,就有助于保证软件开发工作的顺利完成,同时提高软件企业的经营管理效率。

2项目管理在软件开发中的应用现状

在二十世纪六十年代中期,人们发现了在开发软件过程中存在着很多问题,具体的问题表现在以下两个方面:一方面,不规范的生产过程;另一方面,不重视管理工作。为了能够有效解决软件开发过程中存在的问题,人们开始尝试利用过程管理方法。但是到了二十世纪八十年代,还是没有制定管理软件开发过程相关标准。近几年来,在信息技术快速发展的背景下,人们采取项目管理来控制软件开发的质量、软件开发的成本等,以此确保软件开发的质量和成本等因素,符合当时的既定标准。在软件开发过程中,每一个项目组的不同成员都应该承担不同的任务,并且企业管理者应该要求他们要在规定的时间内完成自身的任务,这种明确分工制度,有助于提高员工的工作效率。

3项目管理在软件开发中的应用

每一个软件开发项目都要经过以下几个阶段:提出问题、研究可行性、分析需求、测试等。因此项目管理工作应该贯穿于软件开发的整个过程。

3.1可行性研究

无法开发哪一个项目,都需要进行可行性分析与研究。通过利用项目管理来研究软件开发项目可行性的目的在于:在最短的时间内确定软件开发项目是否具有开发的价值。其中可行性研究的内容包括:

1)、研究技术的可行性。其主要是指:要合理地分析开发项目的功能与性能,分析其中所隐藏的技术风险。

2)、研究经济的可行性。其主要是指:估计所开发的项目给企业带来的经济效益,然后依据所估算的经济效益,确定该项目是否具有投资的价值。

3)、研究社会的可行性。其主要是指:分析此项目的运行方式是否正确,分析当前的人员技术水平以及管理制度是否具有可行性。

3.2软件项目估算

在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。在估算资源、成本以及进度的时候,要依据自身丰富的经验以及相关的数据。但是当前所使用的估算方法较为单一,此种估算方法容易增加估算风险。对此,研究人员应该努力研究出更多科学、有效的估算方法。

3.3软件项目开发人员的管理

在开展软件项目开发人员管理工作的时候,首先要合理安排人员。通常情况下,是由多个小组成员共同完成软件开发项目。在具体安排人员任务的时候,要依据每位人员的优势进行,并且要明确小组内每一位成员的工作任务以及工作目标。在软件开发过程中,要确定不同的责任人,比如:项目经理、开发经理,并且为每一个小组安排一名组长,如此有助于确保软件开发项目的顺利完成,同时保证所开发出来的软件属于高质量产品。

4结束语

软件项目管理论文范文4

1引言

 

项目管理是20世纪40年代以后迅速发展起来的一门科学, 是现代管理学中的一个重要分支。随着项目管理理论、方法的发展,其应用范畴和概念不断拓展, 从最初应用在国防、航天、建筑等领域迅速发展到电子、通讯、计算机、软件开发、金融等行业。软件工程学提出将项目管理运用于软件生产领域,软件开发成为有组织、工程化的行为。随着近年来软件行业的迅速发展,软件规模急速扩大,对专业化管理人员的需求越来越大。在智联招聘和51job上搜索软件项目管理职位,各有8千多个工作岗位,这说明软件项目管理岗位越来越受到重视,相关人才缺口较大。

 

华中师范大学计算机学院从2008年以来开设软件项目管理课程作为计算机科学与技术专业的专业选修课,每次选课都满班。于2009和2010 年开设软件工程与项目管理的全校通选课程,旨在为学校其他专业对软件开发感兴趣的同学提供平台,每次课虽然选课人数在30人左右,人数不多,但学生反响很好,特别是认为项目管理的知识不仅仅能用于专业领域,在生活中组织春游、安排班级比赛等都能用到,实用性非常强。计算机学院于2011年增设本科软件工程专业,一直把软件项目管理作为专业必修课。笔者从2008年开始讲授本门课程,对课程的教学和实践有一定体会。

 

2软件项目管理课程的课程实验设计

 

软件项目管理课程内容既有很强的理论知识,又有综合实践要求,是一门比较难学的课程。很多学生认为软件项目管理课程是一门理论为主的课程,不像程序设计语言课程那样重视实验和练习。但是该课程实际上理论与实践并重,固然有很多理论知识需要学习,但如果不在实践中体会,不会使用一些项目管理工具,也达不到学习效果。

 

另外项目管理的工具很多,多数不仅仅可以用于软件项目管理,也可以用于很多其它类型的项目管理,对于课堂实验来说,选择什么样的工具,如何验收实验都需要很好地设计。

 

2.1课堂实验工具的选择

 

因为软件项目管理涉及的知识范围很广,一种软件项目管理工具通常只能用于软件项目管理的一个或几个知识领域,教师需要选择哪些知识需要使用工具练习。通常软件项目管理的主要知识领域包括范围管理、时间管理、成本管理和质量管理,另外也可以考虑配置管理、沟通管理等方面的工具。

 

另一方面,软件项目管理工具有很多免费的,但是大型的主流的工具还是收费,而且很贵。现在多数学校实验经费非常紧张,主要用于硬件购置,教师需要尽量使用免费工具,对收费工具的选择要综合考虑其能否找到试用版本,试用条件如何、是否容易安装和配置等等问题。

 

笔者认为选择的项目管理工具应该具备以下几个基本功能。

 

2.1.1需求管理:项目的需求变更,跟踪,控制。

 

2.1.2资源管理:项目的可利用资源的管理,包括人力、物力、财力等资源。

 

2.1.3计划管理:包括成员管理和权限分配、日程排定、工作时间管理、里程碑设置等。

 

2.1.4进度管理:制定日历、工作流、项目路线图和Gantt图。

 

2.1.5文档管理:发布文档文件、存储文件、集成SVN代码管理。

 

2.1.6信息管理: 具有制定活动统计报表、项目报表的导入和导出、团队交流、信息筛选等功能。

 

笔者选择了几个满足以上功能、容易获得和使用、在业内比较通用的软件项目管理工具作为课堂实验内容。

 

Microsoft Project:软件具有制定工作计划、进度管理、资源管理、跟踪进度、管理预算和分析工作量等功能。该软件因为微软的成功推广,使用非常广泛,工具适用于所有项目的管理,据统计约有70%的项目使用该工具。作为微软Office办公软件中的一员,Project界面与微软其他产品很相似,非常容易使用,也很容易和Office中的其他办公软件整合。工具的获取和安装都很容易,有试用版本。

 

Project的缺点是它不是专门用于软件项目管理的工具,不支持软件项目中的立项与结项、需求管理、质量管理、软件配置管理等重要管理工作,也不能同时处理多个项目。

 

禅道:禅道项目管理软件是国产项目管理软件的代表,是一款开源的产品,可以在官网http://zentao.net免费下载。软件比较符合中国用户的习惯,在国内中小企业有较高的使用率。软件集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,功能比较完备,适合中小型项目。软件可以直接基于浏览器使用,不需要安装部署,界面简单,流程清楚,比较容易使用。软件有简单的需求管理功能,能在需求、任务、bug、用例和to do之间建立联系,能跟踪需求的实现情况。

 

但是软件的开源版本不提供甘特图、看板、工作日志等功能,需要购买专业版。软件的需求管理比较简单,不能和Word文档关联,不能从Word文档中直接读入需求。

 

Rational Doors:是IBM旗下非常著名的需求管理工具,能捕获、跟踪、分析和管理需求,功能非常强大,并能方便地与其他Rational工具集成,在很多大型软件公司使用[4]。Rational Doors能与Word同步,自动将Word文档中的需求抽取到Rational Doors的视图中。软件提供Web界面,方便团队交流,提高工作效率。软件还能与著名的配置管理工具Rational Clear Quest紧密集成,显示需求变更;与Rational Rose集成,将需求与UML模型关联,更准确地表达需求的定义。

 

但是它功能复杂、安装部署复杂,需要安装服务器端和客户端,还需要安装专门的数据库,使用也有难度。作为专业级开发工具它的价格比较贵,试用版只有3个月试用期。但是需求管理工具基本没有免费软件,有条件的学校可以选择该软件弥补其他项目管理软件中缺少需求管理功能的问题。

 

Visual Source Safe:简称VSS,是微软公司开发的一款版本和配置管理工具,并能提供安全保护、跟踪检查功能和版本比较的功能[5]。配置管理记录软件产品的演化过程,最终保证软件产品的完整性、一致性、追朔性、可控性[6],在项目管理中非常重要。配置管理的工具很多,常用的有开源工具Concurrent Version System、IBM的Rational Clear Quest等。VSS使用很广,是Visual Studio的套件之一,在Visual Studio中集成使用非常方便。工具具有微软产品的界面统一、安装方便、使用比较简单、获取容易的特点。

 

但是VSS只能在Windows系统下运行,不能跨平台运行。因为VSS是通过共享目录方式存储文件的,它只适合于局域网内的用户,不适合于通过Internet连接的用户,并且安全性不高。VSS的工作方式决定文件只不能由多个用户同时修改,工作效率比较低,只适合小团队开发。

 

2.2课堂实验设计

 

选定合适的工具后,在实验课程中要求每个学生选择自己熟悉的项目,运用几种工具分别完成工作分解、进度管理、配置管理、需求管理等工作, 具体实验内容见表1。

 

表1实验内容表

 

实验名称 实验目的 实验工具 学时

 

项目进度计划管理 合理地分解项目,制定项目计划并形成甘特图;分配和管理项目资源,跟踪资源使用情况;跟踪进度,监控项目成本。 Microsoft Project 4

 

项目计划、文档和沟通管理 合理地划分任务和制定计划;管理和监控项目文档;完成简单的需求跟踪;搭建项目沟通平台。 禅道 2

 

项目需求管理 需求文档分析和需求抽取;需求发布和团队沟通;需求变更管理。 Rational Doors 4

 

项目配置管理 合理地建立和使用配置项;跟踪版本变更;代码比较。 Visual Source Safe 2

 

学生能通过实验理解企业的项目管理流程,熟悉企业常用的项目管理工具,既能进一步理解项目管理的理论知识,也提高了实际应用能力。

 

3结语

 

项目管理课程不能仅仅讲授理论,而应该是一门理论与实践并重的课程。本文介绍的试验方法应用于多个课堂的课程教学中,学生普遍反映对课堂实验内容比较感兴趣,很多学生原来认为本课程以理论为主,上课后发现实践内容也同样重要,而且实验内容对以后的课程设计、毕业论文和找工作都很有帮助。学生通过对具体项目的分析和实验理解了项目的成本、资源和进度的关系,了解了在项目执行中如何监控项目,理解了项目中合作和沟通的重要性。

软件项目管理论文范文5

[关键词]软件开发 项目管理 实施 方法

软件开发项目在一定意义上就是用户的需求,软件开发人员通过分析用户的需求,遵循一定的开发原理,采取相应的方法,最终开发出用户所需要的软件。软件开发是高风险的项目,Standish group报告表明80%以上的项目都是不成功的,或是因为超过预算或延期未完或缺失功能,或者几种因素都有。现在人们致力于应用有助于提高开发效率的开发方法和开发工具,但随着软件规模的不断扩大,人们认识到技术的改善只是促使项目开发成功的重要因素之一,规划、控制和协调变得越来越重要。因此,在计算机软件开发过程中引入与应用项目管理理论,已经成为行业共识。

一、软件项目的危机与软件项目管理的意义

从20世纪60年代末开始,“软件危机”伴随着软件成本的日益增长、开发进度可控性不高、软件维护困难等一系列严重问题而到来。软件作为一种特殊的逻辑产品,软件项目危机主要来源于用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂程度越来越高四个方面。用户需求不明确体现在用户在软件开发之前自己对软件的具体需求不清楚,对软件需求的描述不精确,甚至有歧义和错误,在软件开发过程中,不断提出修改软件功能、界面等方面的要求。软件开发过程是一个复杂的逻辑思维过程,需要有力的方法学与工具方面的支持,需要高度的智力投入,如果没有正确的理论指导,过分依靠程序设计人员在软件开发过程中的个性化与创造性,也容易导致软件危机的产生。大型的软件项目需要一定的人力齐心协力共同完成,但现行条件下,大规模软件开发中人力与管理中的问题日益暴露出来,成为影响大型软件开发成功的重要因素。随着软件规模的发展扩大,其复杂性也与日俱增,增加了软件项目开发的风险。

软件开发新技术与新工具的开发与利用,在一定程度上改善了软件开发现状,但人们也发现软件危机的解决不光是技术问题,更为重要的是管理问题。软件开发过程是设计过程,消耗的主要是人力资源,软件开发的产品是程序代码和技术文件,而没有其他物质结果。这一不同于制造其他产品的特性,使得管理在软件开发项目中的作用凸显出来。通过对成本、人员、进度、质量、风险等的分析与管理活动,使软件开发项目按既定计划顺利完成,通过管理使企业的软件生产趋于成熟。

二、软件开发过程中的管理

根据项目管理理论,所有的项目都要经历五个阶段:启动阶段、计划阶段、执行阶段、控制阶段和结束阶段。而计算机软件从其构思之日起,至开发成功投入使用,直到最后被另一项新软件所代替,其生存周期可以分成六个阶段:可行性与计划研究阶段、需求分析阶段、设计阶段、实现阶段、测试阶段、运行与维护阶段等。下面将主要从软件开发项目前期、项目准备、开发过程、项目后期这几方面分析软件开发项目中的管理。

软件开发项目前期包含可行性与计划研究阶段和需求分析阶段,这阶段工作的准确性直接关系到软件项目的成败。这一阶段首先确定该软件的开发目标和总要求,进行项目的可行性分析与投资-收益分析,编制开发计划,为领导层的决定提供依据。由领导层决定项目取消或者评审和批示,当项目确定实施以后,初步制定软件项目开发计划,进入下一个阶段。需求分析阶段要能确定被设计软件的各项功能、性能需求和设计约束,编写出软件需求说明书、数据需求说明书和初步的用户手册。需求的获取要求成立需求调研小组,在调研中将用户群体根据其差异性进行分类并归纳出各类的个性特点及任务状况,并在每类用户中挑选出一个典型代表作出决策。调研小组通过调研会、面谈、收集资料等多种方法收集需求,并在分析基础上编写需求文件,与用户一起对需求进行审核,并最终获得用户认可。优秀的需求文件要求具备完整性、正确性、可行性、必要性、无二义性和需求优先性。

项目准备中的管理涉及项目团队的组织、需求管理、方案设计、风险管理和开发计划。根据项目规模和特点组建开发团队,确定各类人员的职责与考核管理方法,以完成不同角色和不同阶段的任务。在完成需求调研和需求分析后,还会遇到项目需求的变更,要建立起良好的需求管理方法,对变更带来的潜在影响和可能的成本费用进行评估,跟踪每项需求的状态。在项目需求分析的基础上,进行系统方案的设计,确定开发中采取的技术方案、技术架构、开发标准规范和版本管理的方法。做好源自技术、需求、人员、管理中任何未预期的条件和事件的发生所引发的项目风险管理,及早发现风险、及时规避风险,减小项目失败的概率。之后便制定可实施的项目开发计划,制定详细的项目任务分解,大致估计每个任务的工作量,对工作量、资源状况、任务间的相互依赖关系进行全盘考虑后安排合理的工作计划,并对计划执行有效的监控。

项目开发过程管理主要是对项目的系统详细设计、编码、调试、测试、计划控制、质量控制、版本等方面进行的管理。对评审通过的系统设计进行编码工作,代码核验,由开发人员进行单元测试,监控项目执行情况,及时调整计划和任务安排,并按照质量标准对项目开发过程进行严格的流程控制与审核,通过对计划与质量的监控可以及时发现问题,调整计划,减少因延迟造成的损失。

项目后期管理是软件开发项目的最后环节,包含测试验收、试运行与软件维护。针对软件的需求和质量要求,按照可行的测试方案与计划对项目进行测试验收,以客观评价项目。开发方应及时做好与验收方的沟通,提供一系列的开发文档供测试使用,了解测试验收方案,这将有助于顺利通过软件项目验收。软件的后期维护包括纠错性维护、适应性维护和完善性维护,不仅需要纠正软件开发中的错误,修改和扩充程序以适应新的环境,还需要满足用户新的需求。这就需要在软件开发过程中,尽可能完善细致,为后期降低维护成本打下良好基础。

参考文献:

软件项目管理论文范文6

关键词:高职;软件工程;教学改革

1 软件工程课程教学中存在的问题

软件工程课程是高职计算机应用技术、软件技术等信息类专业的必修课程,该课程是指导软件开发与维护的一门实用性极强的课程,也是一门强调实践性的课程。该类专业的学生通过学习本课程,使其了解和掌握软件开发的方法和技术,具备作为软件开发人员所需的专业技能,为从事计算机软件开发和维护工作提供科学的方法。同时,软件工程教学内容除涉及计算机软件知识外,还涉及到项目管理、管理学、经济学、心理学、人机工程学等相关知识,因此,它也是一门综合性学科。而对于这样的课程若按照常规的教学方法在高职教育中很难开展教学,传统的高职软件工程课程教学中是以讲授为主,虽然也要求学生模拟编写一些软件项目若干开发文档。然而,由于所撰写的文档资料没有与实际项目结合起来,整个作业完成过程中学生不能很好了解撰写这些文档资料的实际意义,使得学生对学习该课程没有积极性,造成整个教学效果不理想,这也是高职学生不太愿意学习和学不好软件工程课程的主要原因。

2 课程教学改革内容及实践

2.1教学改革的思路

虽然软件工程课程在高职教育中存在一些难度,但作为今后要从事软件开发及维护工作人员来说该课程的内容重要性是不言而喻的。软件开发规范化是软件开发产业化发展的基础,由美国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(软件质量),其对软件工程的知识体系做出了全面的解释,作为软件开发人员应关注和掌握这十个方面的知识,而作为高职学生虽然不能要求都掌握以上十个方面的知识,但是诸如软件工程中的相关知识,软件开发项目计划与管理、可行性分析、需求分析、概要设计、详细设计、代码设计与编码技术、软件质量与质量保证以及面向对象分析与设计方法的知识是应该要求掌握的。这些知识是从事软件开发和维护工作的基础,也是培养学生系统思考问题、解决问题的基础,因此,作为高职计算机信息类专业的学生应很好掌握这些知识,并会应用于实际工作中。

在高职信息技术类专业中如何开展软件工程教学,提高教学质量,使学生真正掌握软件工程的相关知识、掌握软件开发与维护的方法和技能,对培养应

用型的软件人才具有十分重要的意义。我们经过几年的教学改革研究认为高职软件工程课程要彻底改变以往以讲授为主而脱离项目开发实际的教学方法,改用开设该课程的同时,将我院已开设的项目开发实训课程纳入到软件工程课程教学中来,实现理论教学与实际能力培养同步进行。在我院计算机信息类专业人才培养方案中高年级学期中均开设有软件项目开发实训课程,要求学生在指导教师指导下完成软件项目开发,在该课程考核过程中我们发现学生对软件工程课程中所学的知识不能很好应用在项目开发中,特别缺乏系统思考和分析问题的能力,软件工程的基本思想和方法不能应用与项目开发中,因此我们认为以往软件工程课程教学并不成功,教学效果并不好。为解决软件工程课程教学效果不好的问题,教师结合项目开发实训课程中学生开发项目的具体要求,上理论课的同时将软件工程的思想方法具体应用于项目开发中,达到在教学中理论联系实际,提高学生学习软件工程理论知识的兴趣,使学生能很好的掌握软件工程课程的相关知识,特别是能应用理论知识解决实际问题,培养学生系统分析和解决问题的能力。

2.2教学改革的主要内容

根据高等职业教育的教育规律和目标要求,以及软件工程课程特点和在计算机信息类专业中的定位,制订了相应的教学目标、教学内容以及考核办法。

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.