HI,欢迎来到学术之家股权代码  102064
0
首页 精品范文 软件项目总结

软件项目总结

时间:2023-01-30 16:04:04

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇软件项目总结,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

软件项目总结

第1篇

[关键词] 软件项目管理 收尾管理 阶段管理

随着计算机和信息产业的发展,软件产品的规模也是越来越庞大,随着软件规模的扩大,软件人员的增加,软件项目管理的复杂性增大,各个软件企业都意识到将项目管理的理念引入到软件开发活动中,开始对开发过程进行有效的管理,又所谓“IT项目管理”或“软件项目管理”。软件项目管理就是为了使软件项目能够按照预定的成本、进度、质量的顺利完成而对成本、人员、进度、质量、风险等进行分析和管理的活动。随着软件开发规模及开发队伍的逐渐增大,软件开发活动不再是像过去的几个开发人员就可解决的事情,它需要使用开发规范或开发流程控制来约束每个开发人员、测试人员和维护人员的工作,以保证每个项目组成员按开发计划及进度准时、保质完成自己的任务。软件项目管理的各个过程主要包括:需求管理,范围管理,任务分解,规模估算,成本管理,进度计划,质量计划,配置管理计划,风险计划,文档管理,团队建设,跟踪控制,收尾管理,项目结束。项目收尾管理作为项目结束前的最后管理工作也显得及其重要,一般包括合同收尾和管理收尾两部分。合同收尾就是项目管理人员与客户对照合同一项项的核对,审核是否完成了合同所要求的内容,是否达到合同所提出的指标或条件,也就是我们通常所讲的客户验收;管理收尾就是对于项目组内部,把做好的项目文档、代码、与客户交流的文件等归档保存,对项目中遇到的问题及解决方法、有效的创新技术进行及时地总结,对外宣称项目结束,转入维护期,把相关的产品说明及技术文档转到维护组。

一、阶段收尾管理

软件项目结束的状态:

1.正常结束。2.提前结束。3.延期结束。4.暂停。5.取消(因变更或不可完成)。软件开发是一项复杂的系统工程,牵涉到各方面的因素,在实际工作中,经常会出现各种各样的问题,甚至面临失败。而如何总结、分析失败的原因,得出有益的教训,这对一个公司来说,则是今后项目中取得成功的关键。

以前会听说过这样的项目:客户验收后,项目活动就随之收场,项目资料没有认真归纳总结,不是束之高阁就是缺失不全。但是当新项目启动时,面对新的项目问题,项目组成员才发现:其实这类问题以前也遇到过,但是却无法找到相应的解决方案资料,只好再投入人力、时间甚至金钱来重新经历一遍!为什么相同的问题会重复出现?究其根源,是因为缺少项目总结,也就是说没有做好项目收尾工作。那么是不是我们只能等到项目结束或收尾时才能开始进行项目总结、文档保存的工作呢?当然不是。在软件项目管理的各个阶段,我们都可以做收尾管理工作,也就是阶段收尾管理工作。

二、阶段收尾管理的重要性

在实际软件项目管理中,阶段性的收尾管理过程和工作往往不被大家重视,其实阶段性的收尾管理工作也是非常重要的。阶段收尾管理工作的重要性主要体现在如下几个方面:

1.进度管理中的里程碑。每个项目都是由若干个相对独立的任务链组成的,软件项目也是如此。只有在任何一条任务链都已经优化的基础上,才可能进行系统的全面的优化,因此,保证每条任务链的效率是整个项目进度完成的前提和基础,只要能保证里程碑事件的按时完成,整个项目的进度也就有了保障。那么我们在里程碑点都来做些什么呢?

在计划好的阶段管理工作中,收集项目的最新信息和数据,并将这些数据与项目计划进行比较,来判定项目的阶段效率,进度是提前了还是落后了?成本是在控制中还是超支了?质量是否符合要求?客户对阶段工作结果满意么?及时总结经验与教训,同时及时发现项目存在的或潜在的问题,以便近早采取纠正措施,这就是阶段管理工作中的收尾管理,所以说阶段收尾管理是进度中的里程碑,是整个项目进度优化的前提和基础。

2.沟通管理中的契机。沟通是保持项目顺利进行的剂。与传统项目相比,软件项目具有较高的技术含量和较大的风险。参与软件项目建设的用户并不都是软件开发专家,他们具有丰富的业务经验,但是很少能了解软件开发的技术,随着项目工作进程的深入,就会有许多新的问题出现,与客户的及时有效沟通更显得尤为重要。软件项目是客户和用户共同面对的项目,只有双方的积极参与才能促进项目的成功,而只有进行有效的项目沟通管理才能确保用户的积极参与。一个阶段的项目工作完成后,与客户一起就前一段时间的工作进行总结和检查是十分必要的。一方面可以及时了解客户对项目工作的满意程度,及时统计、分析客户对项目的意见,为下一阶段工作的顺利进行提供了保障。另一方面有些因工作繁忙未能及时签署的文件,也尽快找客户给予签字确认。当双方出现纠纷时,只有双方签字的文字记录才是最有用、最有说服力的证据。

3.收尾管理的基础。一个项目阶段的工作刚完成时,项目组成员都保留着最新的阶段记录,如阶段文档或最新的代码版本,这个时候收集起来是非常容易的。时间久了,随着人员的变动或者项目的需求变更,有些项目成员可能离开了项目组,那时再去收集他们保存的文档资料就非常困难了,甚至有些记录永远也找不到了。好多大的软件开发项目跨几年的时间,项目经理可能已经换了几任,客户的项目主管也换了几位,最后项目收尾管理时的文档收集、总结的工作,就是在阶段收尾管理的基础上来确保每个阶段的文档、资料都能按时完整地保存、归档。只有阶段管理收尾提供的数据信息越真实、越准确,才能保证在项目最终收尾时客观评定项目的绩效,总结的经验教训和文档资料才有真正借鉴的价值。总而言之,作为一个好的项目经理,一定要重视进度中的里程碑事件,抓住与客户沟通的契机,做好项目阶段工作的总结收尾工作。如何做好这些工作呢?也就是要做好项目阶段管理收尾工作。阶段收尾管理工作是保证项目成功的重要管理手段,它和项目的其他工作一样,应该纳入项目计划并按计划落实。

第2篇

计算机技术的更新换代比较快,这样就加大了计算机软件管理的难度,使项目管理工程变得复杂,在协调管理上不是那样简单了。为此,如果要运用计算机软件进行项目管理,就要将原有的管理模式进行改革,应该集中企业的资源,进行合理的资源配置,提高软件管理质量,达到成本控制的目的。计算机软件项目管理从本质上来讲是一种管理方法或管理手段,运用这种方法可以对企业进行成本,人员和风险的分析和管理。结合以上的分析,我们可以知道,计算机软件项目管理对于软件企业来讲相当重要,已经成为该行业的竞争点。

1.1项目计划问题。项目计划的作用是将项目内所有计划进行协调,用以进行指导项目的执行。项目计划是管理人员实施项目管理的前提保证。对项目计划制定的过程实际上是对项目熟悉的一个过程,通过对项目计划的制定’管理人员可以清楚项目内容,明白项目实施过程中需要注意的要素和重点。一般来讲项目计划的问题主要有两个:一个是项目计划制定的随意性太强,结构不严谨,操作实施性差,不能作为项目计划实施的指导文件;另外一个是项目计划的整体性较差,内部不连贯,不能有效的控制项目的进度,导致项目的失控。

1.2管理意识问题。在企业中,特别是软件开发的企业中,大多数都是只重视软件技术轻视软件管理,项目内部人员大多数都有深厚的技术知识,但是缺乏管理知识,缺乏管理技巧和管理经验。这样从项目整体上来看,管理就会出现不协调,大多数人只会埋头苦干,不懂得合理的分配任务,进行协调工作’导致项目进度落后,项目计划周期加长,最终影响项目的实施。

1.3项目干系人的问题。项目干系人通俗的来讲就是跟项目有关系的人,包括参与项目和受项目影响的人,具体来讲包括项目策划人、项目组成员、项目配合人员、顾客、消费者和供应商ra。项目干系人的期望和需求在项目的制定过程中和项目目标实现过程中都是非常重要的,因为不同干系人的期望和需求也是不一样的,他会要求项目的制定和实施过程中尽量靠近自己的期望和需求,这些人的期望和需求有时候会相差很大。

1.4项目团队内分工协调的问题。项目从开始制定到最后项目目标的实现,这一过程包括了很多的阶段,各个阶段的不同角色和同一阶段的不同角色的任务是不一样的,项目经理分配任务曰寸有时考虑的不全面就会出现一些问题,例如分工任务不明确,会导致人员相互推卸责任;即使有时分工很明确,但是员工之间没有协作只顾个人的工作,不考虑项目整体。

1.5项目收尾问题。项目收尾中一项很重要的工作就是项目经验总结,项目经验是项目完成后,项目管理人员和技术人员根据实际的经验教训所写的报告,这些报告包括项目实施中的好的建议、针对某个问题该怎样解决以及实施中容易出错的地方。

2加强软件项目的管理的建议与对策

    2.1制定相符的项目计划。制定项目计划不是要求写出一份好看的资料或者是计划书,而是你要根据实际的项目情况制定一个符合项目的计划,这个计划要有针对性,尽可能的考虑全面。制定好的项目计划要有实用性,能够用来指导工作,制定项目计划时要考虑整体情况和内部的连贯性,项目计划要尽量的详细,控制力度尽量大,制定项目计划是一定要考虑到项目的整体成本,结合实际情况尽量降低项目成本,作出一份详尽合理与项目相符的计划。

2.2合理分配项目任务。项目经理将项目工作范围进行分解时应该使用WBS(工作分解结构),这样可以有效的防治工作范围的漏分解,为了防治项目分解后的任务无法有效的分配,可以采用资源负荷直方图,采用资源负荷直方图可以保证工作任务达到合理的负载均衡。

2.3项目成员相互协调,相互配合。项目经理将工作任务完全分解后,将工作责任合理的分配给工作人员和团体成员,同时应该强调员工之间进行相互的配合,完成不同分工和环节进工作的协调。项目生命周期阶段包含很多阶段,但是不同阶段之间是相互联系的,要注意上下阶段之间的衔接,做好上下阶段之间信息的沟通。通过相互之间的协调,确保项目工作的完成。

2.4重视项目管理经验总结。工作经验的总结对于项目的管理工作相当重要,项目工作经验的总结可以为下一个项目的实施提供良好的项目的指导,在项目的实施工程中少走弯路,项目经理应该切实可靠的进行项目总结,在制度上鼓励和加强项目经验总结工作,使得项目经验总结及时并且具有指导意义而不是敷衍了事,为以后的项目人员更好地工作提供一个极好的资源和依据。

在软件项目管理的过程中,只有实施规范化管理,才能更有效地进行项目管理,提高项目成功的概率。目前,由于软件项目管理实施的时间不长、经验不足,我们只有不断从实践中积累经验,进一步完善软件项目管理的理论体系,将软件项目管理更有效地应用到软件开发的实践中。

第3篇

【关键词】软件测试 测试报告 测试流程

1 引言

软件测试是软件开发过程的重要组成部分,是用来确认一个产品的品质或性能是否符合开发之前所提出的要求。对软件需求分析、设计规格说明和编码的最终复审,某种程度上测试工作的好坏直接影响了软件产品的交付和用户的满意度。因此,如何做好测试工作,使测试在软件工程中顺利进行,辅助软件开发工作是我们每个软件人员应该考虑的问题。

2 软件测试的目的

(1)确认软件的质量,确认软件做了你所期望的事情,确认软件以正确的方式来做了这个事件。

(2)提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。

(3)软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。软件测试的第三个目的是保证整个软件开发过程是高质量的。

3 软件测试的对象

软件测试并不等于程序测试。软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试的对象。

4 软件测试流程

软件测试工作并不是在软件代码开发完毕后才开始的,这一点是很多软件人员的误区,需要明确一下,它其实是在项目进入软件实现阶段就开始了,项目进入软件实现阶段的时候,就应该启动软件测试工作了。

下面根据笔者的测试经验,详细阐述一下软件测试的流程、每个阶段需要做的工作及整个测试过程产生的文档。

4.1 计划与设计阶段

4.1.1 召开测试启动会议

当项目进入软件实现阶段(编码),测试经理召集项目经理、开发经理开会确定测试交接时间,开发团队与测试团队交接测试内容,对测试目标达成一致,商讨测试计划的可行性,统一项目组的目标和测试的工作重点。进行规模预估并成立测试团队,完成《测试计划》和《测试方案》。

4.1.2 设计测试用例

明确了测试需求和测试计划,在需求分析文档确立基线以后,测试组需要针对测试需求编写全部测试用例,在实际的测试中,测试用例将是唯一实施标准。

4.2 实施测试阶段

4.2.1 实施测试用例

实施测试用例将花费测试组绝大部分时间,这些工作都是建立在前期很多计划工作的基础上。当测试用例全部编写完成后,测试工程师根据测试计划中分配给自己的测试任务,实施相应的测试用例,并记录测试结果。

4.2.2 填写测试记录

测试人员在进行具体的测试工作时,需要将测试内容填写在测试记录表中,直到所有的测试执行工作结束。

4.2.3 提交BUG清单

在具体的测试过程中,测试人员发现BUG后,需要将BUG记录在清单里,并及时提交给测试经理。

4.2.4 提交测试报告

在约定的测试周期完成之后,测试工程师需要总结此测试的结果,编写测试报告。测试工程师根据此轮测试的结果,编写测试报告,主要应包含以下内容:

(1)测试报告的版本。

(2)测试的人员和时间。

(3)测试所覆盖的缺陷――测试组在这轮测试中所有处理的缺陷, 不仅要写出覆盖缺陷的总数,还要写明这些缺陷的去向。

(4)上一版本活动缺陷的数量。

(5)经过此轮测试,所有活动缺陷的数量及其状态分类。

(6)测试评估――写明在这一版本中,哪些功能被实现了,哪些还没有实现,这里只需写明和上一版本不同之处即可。

(7)急待解决的问题――写明当前项目组中面临的最优先的问题,可以重复提出。

在每轮测试结束之后应尽快将符合标准的测试报告发给测试经理。

4.3 总结阶段

测试工作结束或即将结束时,测试组就要开始着手准备进行总结的工作。

4.3.1 编写测试总结报告

在测试结束之后,测试经理编写测试报告,对测试进行总结,并且提交给项目经理,为产品的后续工作提供重要的信息支持。

测试经理根据测试的结果及测试工程师提交的测试报告编写测试总结报告,测试总结报告必须包含以下重要内容:

(1)测试资源概述―多少人、多长时间。

(2)测试结果摘要―分别描述各个测试需求的测试结果,产品实 现了哪些功能点,哪些还没有实现。

(3)缺陷分析―按照缺陷的属性分类进行分析。

(4)测试需求覆盖率―原先列举的测试需求的测试覆盖率,可能 一部分测试需求因为资源和优先级的因素没有进行测试,那么 在这里要进行说明。

(5)测试评估―从总体对项目质量进行评估。

(6)测试组建议―从测试组的角度为项目组提出工作建议。

4.3.2 测试验收

测试验收工作是在以上工作全部结束后,测试经理对测试的过程、效果进行验收,签发测试验收报告,宣布测试结束。由测试经理进行测试验收,验收内容包括:

(1)测试效果验收―测试是否达到预期目的。

(2)测试文档验收―测试过程文档是否齐全,符合标准。

(3)测试评估―从总体对测试的质量进行评估。

(4)测试建议―对本次测试工作指出不足,需要在以后工作中改 进的地方。

(5)宣布测试结束―测试组成员签字宣布本次测试结束。

4.3.3 测试归档

测试归档是在测试验收结束宣布测试有效,结束测试后,对测试过程中涉及到各种标准文档进行归档,主要包括测试计划、测试用例、测试报告、验收报告等。这些文档的编写保障了测试的顺利进行,同时作为整个测试项目的痕迹,被保留下来,供查阅。

参考文献

[1]佟伟光.软件测试[M].北京:人民邮电出版,2008.

[2]Rex Black.测试流程管理[M].北京:北京大学出版社,2001.

[3]Robert V.Binder著,华庆一等译.面向对象系统的测试[M].北京:人民邮电出版社,2001.

[4]Mark Fewster, Dorothy Graham著,舒智勇等译.软件测试自动化技术与实例详解[M].北京:电子工业出版社,2000.

[5]Karl E.Wiegers著,陆丽娜,王忠民,王志敏译.软件需求[M].北京:机械工业出版社,2000.

第4篇

1.1项目管理的定义

它需要管理人员熟练运用知识、技能、工具和专业技术对项目进行科学有效的管理,以便满足(甚至超过)项目利益关系者对项目的需求和期望。良好的项目管理可以缩短项目周期,降低项目成本,优化资源配置,使研发的系统发挥最大作用。

1.2预警信息系统软件具备项目管理的特点

预警信息系统是战场情报、预警探测装备、通信系统的有机集成,软件、硬件设备规模较大,其软件体系结构非常复杂,由多个子系统或配置项组成,可运行在有线、无线、短波、超短波等多种复杂的网络通信环境。软件系统对预警信息系统的可用性影响较大,因此,为了确保预警信息系统的软件质量,必须通过不断改进并提高软件过程和项目管理水平,提高软件生产力能力和水平[2]。预警信息系统软件开发属于项目的范畴,具有明显的项目特征,包括一些独特的、复杂的并且互相关联的活动,而这些活动有着一个明确目标或者目的[3],同时由于软件研发所涉及的技术复杂度高、知识面广,计算机技术的日新月异使得方案的设计必须要有前瞻性,留有升级换代的余地,要求在整个项目生命周期中,利用项目管理的理论和技术,在有限时间内,调配有限的资源,组织各方面人员,分阶段地完成这些任务,最终完成整个系统开发。

1.3实施项目管理是增强企业核心竞争力的需要

国内有众多从事预警信息系统研发的科研院所,行业竞争比较激烈。只有在软件研发中实施有效的项目管理,才能在同等资源条件下,在系统论证、研制、验收、运行等过程中正确有效地开展工作,提高军用软件质量,缩短开发周期及部署时间,提高综合保障能力,才能最大限度地提高客户满意度,从而树立行业形象,提升企业的核心竞争力。

2软件项目管理过程

结合多年来从事预警信息系统软件项目管理的经验,将软件项目管理分为4个阶段:启动、策划、执行、结项。各阶段项目管理过程活动如图1所示。图1软件项目管理过程软件项目管理从项目启动开始,首先要求对软件项目作开发策划。按照标准过程剪裁得到项目的已定义过程,制定出软件开发计划。在项目执行过程中,对项目计划进行分解细化,制定详细的可跟踪和可测量的实施计划,完成项目实施策划。以项目计划为依据,实施项目监控。对项目实际进展情况提供适当的可视性以监控项目按计划实施,当项目进展与计划有重大偏离时及时采取有效应对措施,直到项目结束。

2.1项目启动

软件项目组在接收到软件研制任务后,项目经理主持召开项目启动会议,明确任务特征、周期、目标等项目基本信息,明确项目组人员职责,包括技术负责人,软件开发人员、测试人员、软件质量保证员、软件配置管理员、计划员等;建立软件工作环境,并根据上述信息建立项目管理软件平台环境;软件配置管理员建立并初始化项目配置库,正式启动项目。

2.2项目策划

项目正式启动后,项目经理根据任务要求,分析项目基本特征信息,包括软件规模、项目规模、项目周期、资源充分性、需求稳定性、新研程度、安全等级以及用户的特殊需求,确定软件开发阶段,形成适合项目实际情况的软件开发过程,确定适合本项目的生命周期。确定了项目过程,项目经理将运用范围管理、进度管理、成本管理等知识,完成顶层工作分解结构(WorkBreakdownStructure,WBS),以确定项目范围,并在此基础上估计项目的软件规模、工作量、进度和成本。软件系统工作量的估算,是依据软件的开发内容、开发人员、开发工具等因素,预测需求分析、软件设计、编码、测试等整个研发过程所花费的时间、费用及工作量[4]。某预警信息处理系统的顶层WBS分解图如图2所示。图2某预警信息系统顶层WBS分解图在顶层WBS分解的基础上,项目经理和技术负责人结合项目资源,制定并形成《项目软件开发计划》《项目评审计划》《风险管理计划》,作为项目软件开发和跟踪的依据。软件开发计划中要明确项目的里程碑、基线。基于部队项目的特点,项目经理应负责建立企业和军方用户沟通的桥梁,协商项目计划并取得一致。在此阶段,项目组根据企业的相关标准制定《软件质量管理计划》《软件配置管理计划》,还应根据项目的特点和技术要求,制定《项目培训计划》等。项目经理根据这一阶段生成的数据及时维护项目管理工具平台,以便在后续阶段实时跟踪和调整项目的执行。

2.3项目执行

项目经理组织相关领域技术专家、军方代表对《软件开发计划》等在项目策划阶段形成的文档评审并通过后,项目将进入执行阶段。这一阶段,项目经理配合技术负责人进行阶段活动WBS分解,估计模块规模、任务工作量,建立项目阶段实施计划和计划网络图,任务分配表、计划网络图直接在项目管理工具平台上用甘特图实现,并使项目的所有成员对该甘特图达成共识,进行任务协商与分配,形成有效的项目沟通。项目正式实施后,确保所有的任务按计划执行,以及收集项目执行的相关信息是项目经理的职责[5]。项目开发人员应及时将工作日志、任务报告、工作进展、问题报告等信息录入项目管理工具平台。项目经理借助该平台信息,分析项目的实际进展状态,定期组织项目例会,对实时状态进行讨论,分析执行过程中存在的问题和风险,提出解决问题的方法,必要时可同军方代表协商,进行计划变更,对处理措施要跟踪直至问题解决。质量管理员定期对项目进行质量审计,配置管理员应及时维护软件配置库,他们必须定期(月度/阶段)向项目经理和技术负责人提交质量总结报告和配置管理报告。项目经理应根据项目开发计划的要求,在项目进展的关键阶段和里程碑阶段进行项目管理评审。这是项目监控的主要机制之一。评审内容主要包括计划执行情况、存在问题、风险、产品工作状态等,项目评审可以分为多种层次,有项目组级、部门级、里程碑级等,其中里程碑级属于项目关键点,属于正式评审,其评审目的是明确项目的一个重要阶段是否已完成,是否具备转阶段的条件,必须有军方代表参加。在此阶段,项目组应完成项目的管理文档和软件设计、软件测试等软件工程化文档,提交项目的阶段评审报告。项目执行过程中涉及的关键活动如图3所示。

2.4项目结项

在项目结束时,配合系统集成组完成《软件研制总结报告》《质量总结报告》和《配置管理总结报告》等,描述软件的研制过程、关键技术和解决的办法,并总结功能性能指标情况,同时还应对软件的质量保证及配置管理情况作总结说明。这些文档作为整个系统组成部分参加产品评审,必要时可以单独对软件项目进行项目评审。评审通过后,完成项目管理平台环境的更改,固化配置管理库,软件系统即可交付给部队试用。

3软件项目管理中的风险管理

项目风险是指项目中可能发生的潜在问题以及它们如何妨碍项目的成功。风险可能存在于软件项目的各个阶段。随着项目的不断推进,风险的识别、分析应对、监控不断形成闭环且贯穿项目整个周期[5]。首先,在项目启动阶段,项目经理应根据具体情况,对执行过程中可能存在的风险,包括成本风险、技术风险、管理风险、人员风险等,进行风险识别、分析和评估。风险管理的有效方法是建立项目风险识别与跟踪表,运用已定义的风险参数,分析并计算各项风险的风险系数,对风险进行排序,评估风险出现的概率和风险可能影响,针对每个高优先级风险制定风险处理措施,并记录到表中的对应部分,如表1所示。在项目执行过程中,项目经理应跟踪有关软件项目成本、资源、进度和技术方面的风险,根据事先的风险缓解措施,采取适当的处理方式来规避、转移或减缓风险;还应及时识别可能的新风险,并制定缓解措施,及时维护项目风险识别与跟踪表。在预警信息系统软件项目管理和开发中,由于其对质量、性能、功能等的特殊要求,如果能提前重视风险,并且有所防范,进行风险管理,就可以最大限度地减少风险的发生,确保项目按时、按质顺利完成。

4软件项目管理是实现CMM的基础

能力成熟度集成模型(CapabilityMaturityModelIntegration,CMMI)采用了质量管理体系的过程管理思想,将软件开发视为过程,对软件开发和维护过程进行监控和研究,使其更加科学化、标准化,使企业能够更好地实现商业目标。从集成产品与过程发展的角度出发,建立起包含健全系统开发原则的软件过程改进模型[6]是衡量软件企业软件开发管理水平的重要参考因素和软件过程改进事实上的工业标准,也是企业通过CMMI认证,走向国际市场的必有之路。CMMI由5个成熟度等级组成,即初始级、可重复级、已定义级、定量管理级和优化级,软件项目管理过程4个阶段覆盖了CMMI模型2级和3级中的关键实践,如在项目策划阶段,覆盖了2级模型中需求管理和项目计划;项目执行阶段覆盖了2级模型中全部5个关键实践,如针对具体软件项目,裁剪标准过程并进行管理,即达到已定义级标准。在此基础上,使软件过程和产品质量得到定量的了解和控制,以实现对软件过程管理进行持续的过程改进,则可达到CMMI4级或4级成熟度。

5软件项目管理平台

软件开发模式趋向于规范化生产,需要协作紧密的团队,强调质量、工期、成本的受控。在客观上要求能够将计划与控制、软件过程管理、实时项目状态度量和统计、配置管理、需求管理和缺陷跟踪等功能集成为一个项目管理平台。本研究选择了中科方德有限公司的QONE软件过程管理平台。该平台围绕项目生命周期的活动对软件开发和生产的过程进行管理,包括软件需求管理、项目管理、过程管理、过程与产品度量分析和质量管理5个部分。对于项目管理者,能够在平台上掌握团队进度、开发者的现状以及资源配置状况等数据,尽早发现和解决项目中存在的问题,规避项目风险,从而帮助其灵活配置人力物力,确保开发按时、按目标完成。而对团队成员来说,能在平台上了解开发的最新进度、最新的开发和测试结果,按平台规定的工作流程协同工作。

6结束语

通过在预警信息系统软件研发中运用项目管理技术,对软件开发整个生命周期进行全方位的管理,使软件项目达到设计规范、过程受控、风险受控、质量可靠,提高了军用软件的质量,提高了企业的核心竞争力。

作者:初剑 单位:南京电子技术研究所

参考文献

[1][美]ProjectManagementInstitute.项目管理知识体系指南[M].许江林等,译.北京:电子工业出版社,2013:7-10.

[2]张月红.探索软件开发过程的CMM最佳实现方法[J].软件工程师,2011(05):36-39.

[3]李连,崔菲菲,陶开军.基于项目管理理论的军械信息系统开发研究[J].项目管理技术,2011(03):84-87.

[4]张俊光,宋喜伟,杨芳芳.软件项目工作量动态估计方法研究[J].计算机应用研究,2014(10):2998-3001.

第5篇

职业院校软件专业人才培养的立足点是培养学生较强的动手能力。为了做到这一点,各校都在不断进行实践教学的改革。基于工作过程的教学法[1]、项目教学法[2]、基于岗位能力分析设置的模块化课程体系[3]等,这些都是在培养学生动手能力方面所做的各种尝试。这些方法都有其自身的优点,但也有一定局限性。如项目教学法,虽然教学中以真实项目作为背景案例,但侧重点还是落在向学生传授开发项目所需知识上,往往忽视了项目的工程性特征。因此,虽然在培养学生动手能力方面收到一定效果,但也存在一些缺陷。有毕业后的学生反映,在学校学了很长时间也不知道所学知识有什么用,到企业后一两个月就知道了。主要因为教学与实际存在差距,软件开发过程的复杂性决定了软件实践教学的复杂性。

1 基于项目工作室的实践教学在软件人才培养中的应用

基于项目工作室的实践教学法是对上述教学方法的很好的补充。在软件专业人才培养过程中,作为日常教学的辅助手段,开设项目工作室,目的是通过模拟软件开发的真实环境加快和加深学生对课堂所学知识的理解同时了解软件开发的工程特性。

1.1 开设项目工作室方式

项目工作室是对课堂实践教学的补充,因此,应利用学生课余时间进行基于项目工作室的教学。考虑到教师和学生的精力所限,采用平时分散完成各自承担的任务,每周定时集中讨论的方式,并充分运用QQ等现代通讯手段保持经常联系。

通过这种方式运作的项目工作室既不影响学生日常学习,又能使学生在校期间充分利用业余时间学到课堂上无法学到的东西。

1.2 项目工作室运作目标

为有效地运作项目工作室,必须制定明确培养目标。根据软件人才能力培养的基本要求,结合软件专业日常教学的特点,总结出项目工作室的基本目标是:培养学生利用所学知识独立开发软件的能力。项目工作室不讲授课本知识,而是通过模拟软件企业项目开发过程来培养学生如何运用这些知识解决问题的能力。我们将这个目标概括为“三心二意”,三心即信心、耐心、责任心;二意即工程意识、团队意识。

(1)信心的培养。

软件开发过程非常复杂,而且在开发过程中往往遇到意想不到的困难,因此,信心和勇气是完成一个项目的必要条件。

(2)耐心的培养。

软件开发是一个长期的过程,要能够自始至终以最好的状态开发一个软件,需要极大的耐心,而耐心是需要在长期磨练中逐步培养的,这也是课堂教学无法做到的。

(3)责任心的培养。

责任心是软件质量的重要保证,是软件开发人员必须具备的素养。

(4)工程意识的培养。

软件开发不仅仅是编程序那么简单,软件工程对软件的定义是软件等于程序加文档,另外,软件开发过程的复杂性也决定了软件开发人员必须具有强烈的工程意识,了解软件开发的各个阶段以及这些阶段应该完成的任务。由于教学环境与软件开发的实际过程的差异,造成学生只注重程序的编写,对分析、设计、文档编写、测试等工作的重要性认识不足,认为这些事既繁琐又没有多大用处,只有通过项目实践才能使学生了解到这些工作的重要性。

(5)团队意识的培养。

软件开发任务通常是由多个人一起完成的,当今软件开发一般都是采用的组件式开发,分工协作是软件开发团队组织的基本方式,要求组员之间充分沟通,因此,良好的沟通能力和团队意识是一个软件开发人员必须具备的素质,这个素质决定了他能否融入团队。

综上所述,项目工作室的运作原则就是培养学生在课堂上学习不到的但在今后从事软件开发职业时必须的能力和素质。

1.3 项目工作室运作方法和手段

基于工作室的运作目标,设计了一些具体的教学方法和手段,主要有以下几个方面。

(1)选择真实案例。

项目工作室中的项目来源于企业的真实项目,并根据学生的特点进行适当裁剪。来源于实际案例的项目使学生更能体会到项目的复杂性、工程性。这些项目的获取主要有两个途径:一个是来源于教师的企业实践,职业院校的教师很多都具有丰富的企业工作经验,基于项目工作室的实践教学正好体现了其优势;另一个来源则是各类教程上的经典案例,经过教师提炼加入工程性内容。

(2)模拟软件企业的软件开发过程。

选择了适当的项目后,更重要的是要按照真实软件开发流程组织学生开发。为使学生体会到项目开发真实过程,在工作室中将学生组成项目组,指定项目经理。在开发过程中,根据所处不同阶段设置不同角色,并根据学生特点让其承担不同角色的任务。教师在这个过程中一直以用户的角色出现,对项目组提出需求,并参与各个阶段的结果审查。每个项目基本按下面的步骤进行。

①下达项目任务书:教师选定项目,并对项目组下达任务书,明确项目目标。

②制定项目实施计划:由学生根据项目任务书的目标和项目组人员情况,制定项目实施的初步计划。计划的制定过程也可以让学生了解到软件开发过程中阶段的划分以及各阶段的任务目标。

③项目组织与实施:根据项目实施计划,小组成员分头执行各自的任务。项目的组织任务由项目经理负责,为了让学生体会到项目的工程性特点,要求学生严格按项目实施计划开展工作,并编写周报。

④验收与总结:项目完成后,由教师充当用户对项目完成情况进行验收,并对开发过程进行总结。

(3)过程监督。

为实现工作室的培养目标,出了前述的按企业软件开发的真实过程来组织项目工作室项目外,最关键的一点就是对开发过程的监督。监督是教师的主要工作,采取的措施有以下几个方面。

①在开发过程中,发现学生长处,不断鼓励学生,树立信心。

②强调每个阶段和每个工作的必要性,强调每个阶段的工作质量的重要性,培养学生的耐心和责任心。

③让每个学生了解目前项目所处阶段以及这个阶段应完成的任务,并要求学生每周必须编写周报,总结一周工作,并计划好下周的工作。另外,强调文档的重要性,要求每个工作学生必须留下详细工作文档。

④强调组员之间协作的重要性,每周固定时间集中,项目经理组织总结工作,教师进行点评。并对学生遇到的技术性问题进行讲解,这样既培养了学生的沟通能力,也对学生没学懂的知识进行了梳理。

(4)采用启发式方法,培养学生独立解决问题能力。

在项目工作室运作过程中,教师始终以用户的角色出现。但在学生遇到问题时,教师则恢复其教师角色,但采用的教学方法与课堂教学不同,主要采用启发式教学方法,提示学生应采用哪个知识来解决遇到的问题,或提示学生在哪里以何种方式可以找到答案,鼓励学生发挥主观能动性,自行决绝问题。

(5)注重各种开发工具的应用。

为强化学生的工程意识,教师始终鼓励学生使用软件工程工具进行开发。这些工具在课堂教学中是学不到的,只能通过项目开发过程了解其作用。如:在整个过程中都使用Project进行项目计划的编写和人力资源的安排、使用PowerDesinger进行数据库设计等。

2 项目工作室运作中存在的问题

项目工作室是对课堂教学的很好补充,但是,在运作过程中也发现了一些问题,这些问题处理不好就会直接影响项目工作室开展的效果。主要问题有以下几点。

(1)如何培养学生参与的积极性问题。

在项目开发过程中,学生会遇到很多问题,以他们的能力很难解决。挫折感会极大伤害学生参与项目工作室的积极性;另外,项目运作的长期性也容易使学生失去新鲜感,也会在一定程度上影响学生积极性。主要通过专题讨论、现场演示效果等方法来提高学生参与积极性,收到一定效果。

(2)如何提高学生的工程意识。

学生往往只注重编写的程序的立即效果,对工程实践中要求的文档等辅工作容易忽视。主要通过加强监督的方式,要求学生一定要按要求完成每个阶段必须完成的任务。

另外,教师的精力有限也是项目工作室运作过程中存在的主要问题。职业院校教师的教学任务较重,还要抽出时间来开展项目工作室工作,如何平衡好教学和工作室工作的付出也是摆在每个教师面前的问题。

第6篇

1做好核电安装信息化管理的建设及各专业基础数据库建立

核电安装信息化是核电安装集约化、标准化、专业化的前提。本着“以人为本,让软件为管理服务”的原则,部署项目部施工服务平台,确定核电安装管理软件,在软件开发时需考虑到多个在建核电项目需要共同使用,其标配功能为通用性的;每个核电项目都有着其自身特点,故在单个项目中,就需要从自身特点出发,对公司原标配的信息化管理软件提出适应性修改建议,以优化操作流程、完善系统安全、深化或简化某些功能。项目部前期要组织各部门提前进行试用测试,定期召开软件适应性修改的讨论会,如管道施工模块,有些项目就存在现场预制和场外预制厂预制问题,需解决场内和场外管道预制信息区分和远程数据共享问题,从图纸分析、施工见证、质量计划的关连等都要进行分别对待。经过多次沟通和反复的测试,深化或优化某些功能,实现软件为项目施工服务。1)做好软件操作培训。软件能功完善后就要做好项目部员工各管理模块培训工作。一个管理软件能否很好地应用,除了取决于其功能是否完善、是否强大外,操作人员对该软件操作技能水平的高低同样会让软件功能“增强”或“削弱”。因此,在软件正式投用之后,多次安排各部门对项目部员工进行管理模块的培训工作,让项目部各位员工都能熟练操作各自相关的管理模块,从而减少了人为的操作错误,在使用中才能发现问题,进一步来完善软件,确保各位员工在操作管理模块时方便、快捷。2)做好各专业基础数据库建立在施工管理窗口建立起核电安装工程各EM包所需的完整、详细、准确的基础数据。在进行EM包基础数据规划时考虑了数据分析是为整个施工服务的,各专业EM包的基础数据必须尽可能全面,必须满足上下游及不同管理出发点的需要,要体现数据共享性。满足核电工程管理各模块(包括:物项管理模块、变更管理模块、焊接管理模块、质量管理模块、计划统计管理子模块等)的调用需要。由项目部技术部根据各EM包的特点,与项目部其他部门和施工队充分进行沟通后,明确各EM包各类图纸基础数据的分析流程及最小数据单元,编制了包括管道、电气、焊接、机械通风专业等各类图纸的分析细则,保证各EM包基础数据完整性、正确性、一致性。通过这些基础数据的流转,实现了各EM包安装数据的共享,实现了核电工程成本控制、进度控制、质量控制的目标。

2创新技术管理新模式,实施技术计件管理

由于核电现场多处于偏远,交通、经济欠发达,施工生活环境较艰苦,项目前期招聘技术人员较困难,技术人员会严重不足,而技术准备工作在前期又是高峰期,刻不容缓,就需要在现有人力上在内部挖掘潜力,向管理要效率,我们在海南昌江核电就采取了技术部计件管理的措施,收到了较好的成效。在关键专业如焊接、管道、电气及机械通防实施计件绩效方案。依据参考电站的经验数据来对技术管理的工作量进行评估量化,将整个核电周期内技术管理工作按专业技术进行分析、归类、量化,统计出整个核电周期内技术管理工作的总工作点数,并以此为基础制定《技术管理工作计件方案》,计件绩效的合理设置及分配,来调动技术人员主观能动性,提高工作效率,缓解人力压力,稳定项目部技术队伍,根据该项目的实施情况,技术管理计件收到了成效。技术管理效果是显著的,项目周期节约人月数达499人月,提高工作效率20%。各项技术准备、现场支持、沟通协调等工作如期完成,为各施工队创造了条件。每个技术人员的工作效率显示提高,形成了良好的工作芬围,打破了大锅饭及做好做少一个样的状态,凝聚力大大增强,所有人都愿意做事,多做事。工作任务公开量化、做多得多,按劳分配,一切以“工作任务”为目标,统一思想,团结一致,随着每一天、每一件工作的认真完成,每个人的工作技能快速提高,达到了计件预期效果:计划任务目标按时完成,为施工创造了条件;人月数有效控制、员工收入显著提高;人员流失率有效控制,技术队伍稳定;员工工作技能显著提高,培养了技术人才;

3主动跟踪外部制约因素,为施工做好准备

在外部制约因素的跟踪上,采取主动的态度。对照四级计划,提前梳理上游图纸及技术文件供给情况,对设计到图计划不满足要求的及时与上游单位沟通,及时发起预警函。对供图滞后的和既将滞后的具体图纸及技术文件都进行了明确,保证图纸及文件供给满足施工要求。对不满足进度的我们的预警函为后续的索赔提供有力的依据。核电项目安装工程施工中,核级材料全部由甲主提供,核级材料其生产技术要求高到货周期长,故材料按时、按量供应是施工进度的保证。做好技术管理是材料管理的前题,技术管理阶段对材料管控有方,施工就能顺利开展也就减少了窝工,控制了安装成本。甲供材料工作涉及到施工单位技术物资部、甲方采购部、甲方施工部以及设计部等部门,因此项目前期就要与甲方共建大宗材料核对平台,明确各方责任及要求。通过所掌握的最新的订货量、到货量,对照甲方采购清单,将图纸分析最新材料信息及时与采购量进行匹配工作,得出订货不足、无订货和到货不足项,并以正式渠道及时发文告知甲方,督促甲方及时完成增订工作以及安排好到货的优先顺序,确保订货量满足需求量和到货量满足施工计划阶段期的需求量,为全面组织施工做好准备。

4做好内部技术管理

各专业组“建台帐”,如依据参考电站经验数据对技术准备工作提前进行梳理,形成各专业组“工作台帐”;施工过程中出现的有代表性的、值得反馈的问题建立“问题台帐”,为后期总结收集素材;对施工过程中材料损坏、丢失、用错、正常损耗系统量不够等造成材料超量部分则建立“非正常材料用量台帐”;对重难点施工内容形成“专项台帐”。根据台帐来加强平日的监督检查管理。及时更新检查完成情况,这样大家都清楚近期工作目标。工作变被动为主动。图纸和现场施工所涉及的工程变更、现场修改、设计修改以及澄清文件数量特别多,工作量非常大,变更处理的快慢会直接影响到施工的进度。因此有时正式的变更走流程无法满足进度时我们就与上游方协商达成协议,确定了急件“设计草签”的特殊通道处理方式。大大提高了特急问题的处理速度。

5提前做好交工规划,规范过程文件的收集管理

工程交工资料是项目竣工的重要组成部分。在现场安装工作中,就要做好责任分工。交工组卷虽说是工程后期工作,但需提前规划,为提高交工资料组卷效率需从以下几方面的加强管理。提前规范各类记录的质量要求,加强施工记录人员的培训,强调记录的完整性、准确性、真实性、及时性。使在施工过程中所形成的记录符合交工要求;工程交工资料组卷规划要提前与上游单位进行沟通,明确组卷原则;加强质检部、技术部质量计划审核人员的专业技能培训,把好内部一审、二审审核关,切实提高发现问题的能力,将存在问题最大限度控制在尽可能少的范围内。不定期组织交工资料问题反馈会,根据错误记录产生数量、类型、频度进行总结,解析问题产生原因;提前明确各职能部门及施工队在交工资料中的职责,督促各部门、施工队及时完成以下交工资料的移交,确保移交资料满工资料的要求:a)质量计划关闭移交(各施工队主控);b)竣工图纸移交(技术部设计室主控);c)声像档案资料的移交、NDE底片资料的移交(质检部主控);d)焊接资料的移交(技术部焊接室主控);e)系统移交、加工件文件资料的移交(工程部主控)。f)材料验收资料移交(物资部主控)。

6做好项目的技术总结

只有不断实践总结才能更好地服务于项目。故在项目后期对关健工艺、施工方案及项目施工组织管理进行了总结,对经验及教训进行了解析,将项目管理有价值的管理经验用数字、文字、图片等记录下来,进行技术管理的积累,为后继核电提供宝贵经验。技术工作总结需提前进行梳理,提前规划不然项目后期人员离场此工作开展难度就非常大,主要措施安排如下:1)召开总结规划会,形成需做专项技术总结项,形成项目部技术总结编制计划;2)成立技术总结评审小组,制订技术总结格式规定、奖罚规定、评审管理制度;3)定期进行完成情况的跟踪落实。进行月通报公告;4)根据实际提交的技术总结,进行评审、奖罚;技术管理工作任重而道远,希望本技术管理解析能为后续的核电项目施工提供参考。为核电项目的技术施工管理更上一层楼服务。

7做好技术人员的培养,搞好团队建设

第7篇

关键词关键词:GJB5000A;过程域;军用软件开发;软件项目管理

DOIDOI:10.11907/rjdk.161642

中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2017)001013302

军用软件研制能力成熟度模型采用分级表示的方法,主要分为5个等级[2]:1级(或M1)为初始级,2级(或M2)为已管理级,3级(或ML3)为已定义级,4级(或ML4)为已定量管理级,5级(或ML5)为优化级。从软件开发过程看,成熟度1级的过程通常是随意、无序的;成熟度2级的项目已确保其过程按照方针进行策划并执行;在成熟度等级3,过程已经得到了很好的定义和理解,并采用标准、规程、工具和方法进行了描述。

标准包含22个过程域[3],按不同成熟度等级进行了分类,每个能力成熟度等级包含若干过程域。组织在提升成熟度等级的过程中,应使用相应成熟度等级中的过程域以及较低成熟度等级中的全部过程域,增量地实现几个过程域相关的专用目标和共用目标。其中成熟度等级2包括配置管理、测量与分析、项目监控、项目策划、过程和产品质量保证、需求管理、供方协议管理7个过程域,成熟度等级3则是在成熟度等级2的基础上增加了决策分析与决定、集成项目管理、组织过程定义、组织过程焦点、组织培训、产品集成、需求开发、风险管理、技术解决方案、确认、验证11个过程域。

2GJB5000A三级实施中的关键过程

2.1需求开发与管理

需求开发的目的是挖掘并分析顾客、产品和产品部件的需求。需求管理的目的是管理项目需求,并标识这些需求与项目的计划和工作产品之间的不一致性。具体实施步骤[4]如下:①将用户需求转换为软件系统需求,制定软件系统规范,并通过仿真或编码实现的方式确定软件的关键技术;②将软件系统需求分解给各个配置项,开展软件需求分析工作,并确定最终解决方案;③对软件需求实现方案进行详细设计;④依据软件设计进行代码的编写;⑤每个开发阶段都形成相应的文档,文档之间采用正逆向追溯表进行需求之间的追溯。

2.2软件项目管理

软件项目管理的目的是在项目的全生命周期内制定和维护项目活动计划并监控计划的执行,确保项目的有效运作。具体实施步骤如下:①建立项目已定义过程,完成项目的工作量和进度估计,完成软件项目计划,并保证各个计划之间的一致性;②依据阶段计划,在定期监控、月分析和里程碑阶段进行任务分配和监控,针对出现的问题和偏差采取纠正措施;③软件开发工作完成后,对软件开发的各项工作进行总结分析,并编软件开发总结报告。

2.3软件分包管理

软件分包管理的目的是保证项目按计划让分包方提交满足要求的产品。具体实施步骤如下:①拟制软件技术协议并签订合同,并明确与分包软件研制工作有关的实施要求;②按照分包合同及技术协议、分包管理计划的要求参与并管控分包合同及技术协议,以及分包管理计划的执行;③对分包方提交的产品进行验收,证明该产品能够满足软件技术协议的要求。

2.4软件质量保证

软件质量保证的目的是使员工和管理者对过程和相关的工作产品能有客观深入的了解。具体步骤如下:①开展软件质量保证策划工作,如制定《软件质量保证计划》;②在规定的过程评价时间点到达时,或相关事件发生时对过程活动进行评价,记录与计划、标准、过程、规程不符合之处;③在规定的工作产品评价时间点到达时对软件工作产品进行评价;④记录过程评价和工作产品评价中发现的问题,跟踪不符合项的关闭;⑤在项目规定的报告期内总结软件质量保证工作的开展情况。

2.5软件配置管理

软件配置管理[5]的目的是利用配置标识、配置控制、配置状态纪实和配置审核,建立和维护工作产品的完整性。具体实施步骤如下:①开展配置管理策划工作,如建立配置管理系统和制定《软件配置管理计划》;②控制工作产品的入库、出库和变更活动,变更应采取分级管理;③在各个阶段结束点开展基线审核,并建立基线;④在项目规定的报告期内总结软件配置管理工作的开展情况。

2.6软件过程改进

软件过程改进主要是站在组织层面,提高整个组织的软件过程改进能力。主要内容包括:①制定并维护年度软件过程改进工作计划;②制定并维护软件过程体系文件;③定期召开例会和按计划定期跟踪相关过程和产品,监督过程改进工作及项目组部署的过程资产的实施,并在出现偏差时采取适当的纠正措施;④定期在组织内开展内部评估,为下一轮过程改进工作作准备;⑤更新组织级测量数据与软件工作环境标准,对软件过程资产进行系统维护,对全年的软件过程改进工作进行分析和总结;⑥根据软件过程改进工作的活动、状态和结果组织管理评审,以便评价和掌握过程改进工作绩效,并形成相关决策事项,作为下轮过程改进工作的基础。

2.7重大决策过程

重大决策过程的目的是采用正式的评价过程分析重大问题或事项可能的决策,依据定义的评价准则和评价方法,选择一个尽可能满足多个利益相关方要求的解法,从而规避决策结果可能带来的重大风险。其中,主要要素包括评价准则、评价方法、参与评价人员和评价时间。组织人员确定重大决策问题的备选方案,或在需要时进一步明确重大决策事项;对评价结果做出决定,在必要时进行风险分析;对活动的结果作记录,记录形式可采用会议纪要、评审报告或独立的文档。

3GIB5000A三级实施过程中的常见问题与建议

(1)同行评审流于形式。同行评审被定义为“由软件工作产品生产者的同行遵循已定义的规程对产品进行的技术评审”[6],在目前的软件开发过程中,存在“重代码、轻文档”的现象,从而导致软件开发文档的质量普遍不高,因此需要相关领域的专家对文档质量进行把关。然而,目前大多数评审只是流于形式,而未能发现实质性问题,评审有效性不足。建议文档评审之前先交由同行专家进行文档审查;管理层需要给予同行评审提供支持,如资源、时间、培训和激励等;评审结果生成评审缺陷分析表,用于检测评审的有效性。

(2)对软件测试过程不够重视。目前软件开发过程中由于时间紧、前期项目计划未得到有效策划和跟踪,导致后续测试时间严重不足。软件测试是为了尽快、尽早地不断发现各种软件缺陷而开展的对软件及过程产品的验证和确认活动[3]。建议在项目初期安排好项目计划,项目除进行配置项测试和系统测试外,针对关键重要模块要开展单元和集成测试,测试文档要与开发文档形成追溯关系,保证功能与性能的一致性。

(3)变更控制不到位。与硬件相比,软件的变更更为频繁和难以控制。在软件开发过程中变更主要来自计划和需求,分为文档变更和代码变更。在目前的项目运行过程中,变更影响域分析很薄弱,过程中比较常见的现象是项目分派和计划、设计文档和代码之间对应不上。建议除了对变更进行分级控制外,应细化软件文档模板(增加正逆向追溯表),并加强对变更后文档的同行评审和联合评审。

4结语

GJB5000A作为软件开发的一个通用标准,其中的过程域既独立又相互融会贯通,而在推广实施过程中,要将标准中的要求转化成自身的体系要求,并结合实际情况不断进行改进与提升,最后达到规范开发过程、提高软件开发能力和保证软件产品质量的目标。

参考文献:

[1]GJB5000A2008军用软件研制能力成熟度模型[S].2008.

[2]冯听雷.GJB5000A从二级到三级的升级策略[J].价值工程,2012(5):7475.

[3]张万军,储善忠.基于CMMI的软件工程教程[M].北京:清华大学出版社,2008.

[4]倪亭.在软件研发与测试中推广GJB5000A[J].软件,2013(2):3135.

第8篇

九思软件(),作为“中国管理软件项目成功率第一品牌”大奖的获得者,在OA项目实施方面经验丰富,我们以此为例,总结一下OA项目成功实施的指南。

在十几年的OA项目经验、上千个高端客户的服务阅历的基础上,九思软件总结出实施的基本原则:团队、工具、方法论一个都不能少!

高效的项目实施团队

高效的项目实施团队是OA项目实现成功推广的重要保障。九思软件的项目经理不仅要有过硬的软件技术,在项目咨询、项目管理上也要精通,业务上能够深刻领会客户的实际需求,在监管项目质量、项目进度、带领团队上游刃有余,并且能有效结合产品和管理方式,

项目团队只有指引客户把现有功能熟练运用,帮助客户实现价值最大化,才是真正实现管理落地。项目经理的重要任务就是使最普通的用户也能得到满足需求的、美观易用的、灵活的功能应用,实现系统应用效果的最大化。

完善的实施工具

协同OA系统的实施不是三天五天就能解决的问题,在OA系统实施上工作内容繁杂、涉及到众多跨系统的业务系统集成、员工的IT素质参差不齐,要想全面提高项目的实施率,必须借助先进的工具。

九思软件(),在协同OA系统的实施过程中,首先会采用项目管理软件,对OA系统的整个项目进行阶段划分、人员分工、任务分解、文档共享、过程协作和资源调度,并且通过OA系统双系统运作的方式,为客户提供更快的融入和学习支撑,还提供专家对项目中的问题进行专家诊断和问题排除,提供各种专业的电子工具,对过程进行质量控制,顺利提升提高实施的效率。

标准化实施方法论

第9篇

1.实践教学缺乏系统性和针对性目前许多高校“软件工程”课程除了理论讲解外,也加入了实践教学部分。往往受学时所限,实践分为软件项目若干设计文档的编写和软件工程工具的实验练习。前者受缺乏相应的开发环境、教师虚拟客户不能很好地反应现实需求、理工科学生的文字表达能力不足等因素的影响,设计文档的编写不能很好提高学生能力;后者在一定程度起到了一定的作用,但对于培养学生分析问题、解决问题、管理和团体协作能力方面仍显不足。

2.评分模式单一软件工程采用了传统的闭卷考试方式,平时成绩占总成绩的30%,期末考试占70%。平时成绩=上课出勤情况(10%)+实验完成情况(10%)+作业完成情况(10%)。任课教师通过对不同的考核内容赋予不同权重来评价学生对软件工程课程的掌握情况,主要考核学生对课程基本知识的理解。此方法不足以提高学生实际动手的能力,更不利于激发学生实际软件设计开发的兴趣。

二、现有的教学方法的分析

针对上述问题,从事软件工程的相关教师从不同角度,对软件工程课程进行了改革。归纳起来主要有如下几种教学方法改革:

1.自底向上教学法在“软件工程”课程中应用授课方式主要是用倒叙的方式贯穿完整案例(包含警戒案例),以启发、讨论、辩论的形式讲授软件工程的原理、方法及过程,使学生不觉生疏,易接受,又符合IT从业人员的工作进程。[2]

2.模块化教学法在“软件工程”课程中的应用在尊重教学规律和学生个性发展的原则上,根据课程体系和内容之间的关系,将教学部分划分为若干独立的模块,确定模块之间的关联,针对不同的教学计划要求,采用不同的模块组合有选择地进行讲授和学习。[3]

3.案例教学法在“软件工程”课程中的应用软件工程案例教学是根据“软件工程”课程的教学目的和学生培养目标要求,教师选用相应的案例作为基本素材,引导学生对案例进行调查、思考、分析、讨论、设计、开发和交流等相关活动,在活动中教授学生软件工程的原理、方法及过程,进而提高学生分析和解决问题的能力,加深学生对基本理论知识的理解和掌握。[4]

4.项目驱动教学法在“软件工程”课程中的应用项目驱动教学法是案例教学法的基础上采用“案例导向、项目驱动”的教学方法。首先,教师根据要讲授的理论知识预先准备一个或者多个小的软件开发项目;然后,将学生作为主体,以软件开发项目的研发过程为引导,采用学生小组团队合作和学生个人独立完成相结合的教学形式,组织学生开展集体讨论并完成相应的实践性活动,在研发过程中同学和老师要对每位学生所完成的每个阶段任务加以点评、督促改进、分享经验等;最后,学生将成功的软件给予演示。

5.三位一体式教学法在“软件工程”课程中的应用根据学生的认识特点和该课程自身的特点以及对“软件工程”课程在计算机科学专业的定位、教材的选取、课程培养目标的分析下,采取以综合能力培养为中心、项目实践为标准,模板、案例、指导说明为辅助的三位一体式的教学思路。[6]对目前在“软件工程”课程改革中应用的五种方法针对改革侧重点进行汇总发现(见表1),单一的教学方法只是在理论教学、实践教学和考核方式某一方面发挥了很好的作用,而不能从全面发挥效果,而对于“软件工程”课程来说三者同样重要。

三、基于多元教学法的课程改革新模式

某一种教学模式改革已经不能满足现代“软件工程”课程教学的要求,只有将多元教学模式组合在一起,充分考虑各自对课程教学的优势,避其缺点,找到一种既能使学生具有良好的理论基础,又能充分培养学生实践能力,还能准确地考核学生的教学模式。本次课程改革就是本着这样一种思想,从理论教学、实践教学和考核方式三个方面进行多样化改革。

1.理论教学内容多样化

理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。

2.实践教学内容多样化

软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。

3.考试方式多样化

传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。(3)项目总结或心得体会占总成绩的15%。根据学生在软件开发过程中所撰写的经验和教训总结报告、每个小组成员建立的个人开发记录或日志的实际情况,相互打分。

四、基于多元教学模式课程改革方案

基于上述改革理念,按照软件工程开发原理、方法和技术,选用典型项目案例,将学生按照项目分成若干个小组,每组人数不超过6人。每个小组对应着一个具体的项目,每个人对应着一个具体工作过程,按照如下步骤进行多元教学。第一步,教师选用合适的教学内容,制作丰富多彩的课件,对学生进行基本理论和基本技能的讲解。在每一个软件生命周期结束后,教师进行案例场景描述。教师按照理论知识的内容,选择相应的案例进行描述,学生将所学内容运用到相关案例中。教师通过案例让学生明白理论知识如何应用,学生通过案例体会到小项目中所学的原理、方法和技术是如何实现的。第二步,课后角色扮演。学生通过分组讨论的方式,完成项目分工,明确自己在项目中所扮演的角色。所有的任务通过集体讨论的方式,决出所要完成的任务,并由相应的角色人实际操作完成。例如,需求分析一章内容,学生课后进行项目小组讨论,决定需求分析的内容,进行相应的需求分析,并由扮演需求分析人员的学生完成需求报告。软件开发过程需要整个团队的通力合作,根据学生的性格、表达能力、开发能力、理论基础掌握情况等方面进行人员分组,将具有不同特点的学生组成一个团队完成项目开发。这种团队合作的方式,既能发挥学生各自的特长,又能培养学生的团队合作精神。第三步,课程设计。当全部内容讲解完成,就可以开始长达2周的课程设计内容了。这段时间要求项目小组,彻底完成一个由教师虚拟的项目。此步骤中,主要培养学生良好的科研习惯,在开发过程中及时总结经验和教训,建立个人开发记录或日志,理论联系实际学着开发软件。第四步,学生总结,教师点评。学生经过多个教学环节后,每个团队在一定程度上完成了各自的项目任务,对各自团队的成果进行总结。教师听取每个团队的汇报后,从横向和纵向两个方面对项目成果之间进行比较,从而让每一位学生明白自己在团队中发挥了什么作用,自己哪些方面不足。第五步,请进来,走出去。通过学校和企业合作的方式,一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位,实地实习。

五、结束语

第10篇

本人从事一年级《计算机组装与维修》教学,根据中职学校学生的升学和就业的需要,在教学中,我认为《计算机组装与维修》课程主要涉及四类主要的知识块:硬件组装(匹配)、故障检测、软件安装及软件测试。下面具体探讨“硬件组装”、“故障检测”、“软件安装”及“软件测试”四类主要的知识块如何按照“任务驱动”教学模式进行教学。

⒈“硬件组装”知识块

该知识块的教学组织与实施一般过程为:课堂设计――示范引导――模仿试做――纠错重做――复述总结。主张课堂组织以学生小组为中心,内容教学以任务为驱动,形成师生互动、生生合作的探究式学习氛围。各环节具体操作要求如下:

课堂设计――将社会需要设计为相应的课堂学习行为,形成以培养专业能力为核心、学习能力和社会能力为两翼的课堂教学预案。

示范引导――主讲教师进行操作示范,在此过程中结合录像、课件、网络、软件进一步向学生展示操作的全过程。

模仿试做――学生在观看完老师的演示后开始动手实际操作,教师巡视指导,发现个别错误与一般错误。

纠错重做――及时纠正个别错误,集体讲评一般错误,之后让学生重做一些步骤。

复述总结――最后老师对操作步骤进行复述,特别提醒容易出错的步骤和环节,总结整堂课技能要点、方法要点和社会需要要点。

例如,在“为系统安装网络硬件”课例中,抓住其中的网卡安装、插槽选择、金手指的接触情况、网卡类型的选择,IP地址的设置等几项关键技术,而在网络原理、网络ISO的分层则一带而过只作简单介绍。教师先讲解示范,接着由学生试做,同时教师巡回指导,发现个别性问题,及时指导解决;针对一般性问题,教师则讲评纠错;之后对一般性问题容易出现的环节,让学生重做有关步骤。

2.“故障检测”知识块

“故障检测”包括硬故障和软故障的检测,硬故障是指计算机硬件出现的问题,软故障是指软件运行出现的问题。该模式的一般过程为:课堂设计――预设故障――分组讨论――尝试修复――纠错重试――分析总结。上课前教师提前预设若干个可控制故障,上课开始时分组讨论每个故障产生的原因,在讨论的基础上小组尝试排除故障。这种模式采用问题驱动来展开。各环节具体操作要求如下:

课堂设计――将社会需要设计为相应的课堂学习行为,形成以培养专业能力为核心、学习能力和社会能力为两翼的课堂教学预案。

3.“软件安装”知识块

“软件安装”包括系统软件安装和应用软件安装,以及多操作系统安装。“软件安装”行为引导教学模式的一般过程为:课堂设计――软件介绍――安装提示――学生安装――个别辅导――总结提高。本模式教学以问题或任务为驱动展开。各环节具体操作要求如下:

课堂设计――将社会需要设计为相应的课堂学习行为,形成以培养专业能力为核心、学习能力和社会能力为两翼的课堂教学预案。

软件介绍――介绍所要安装的软件背景知识,包括软件的开发商、版本的演化、最新版本的功能等。

4.“软件测试”知识块

“软件测试”就是用软件对硬件系统进行性能测试,目的是观察或比较不同品牌的组件的性能表现。“软件测试”行为引导教学模式的一般过程为:课堂设计――布置任务――分组操作――结果报告――比较分析。这个过程采取任务驱动来展开。各环节具体操作要求如下:

课堂设计――将社会需要设计为相应的课堂学习行为,形成以培养专业能力为核心、学习能力和社会能力为两翼的课堂教学预案。

布置任务――软件测试包括两类任务,一是匹配性测试,一是系统优化测试。教学中可以选择某一类任务或两类任务组合进行。

分组操作――学生在明确任务后开始分组测试。

结果报告――对小组测试参数进行分析,形成一个有说服力的组件选择方案或匹配优化的测试报告。

在教学中可以充分利用学校的现有资源。现在计算机技术发展很快,各个学校都有许多淘汰的计算机,但它们都还可以正常使用。我们可以利用它们建立计算机组装与维修实验室,在加上一些典型的、比较新的演示教师机,基本就能满足教学要求,解决学生的动手操作问题。上述大部分教学都应该在组装与维修的实验室进行才能达到教学目的。

在本课程中还有很重要的组成部分那就是实训部分。《计算机组装与维修》实训的目的是锻炼和培养学生实际操作技能和解决问题的动手综合能力。学生可在基本掌握各部分内容的基础上集中进行相关实验,以加深对知识的理解和掌握。在实验的基础上进行实训,提高学生的软硬件安装水平和排除故障的能力。

本课程考试改革的目的旨在加强学生技能、能力培养,使学生重视实践性技能的学习。课程考试采用抽签抽取问题决定操作考试和口试内容的考试方法。通过建立涵盖《计算机组装与维修》各关键技术的项目库,给出各操作项目的难度系数,考试前将这些操作项目作为考试内容公布给学生,让他们全面准备,这些项目涉及组装、测试、维护和维修的主要方面,目的是要学生全面掌握操作内容。考试时,让每个学生随机抽取一个项目,学生先口头陈述本操作项目的原理、方法、步骤和过程等,然后再进行动手操作,操作完成后学生还可以再作补充陈述。教师根据操作与口试结果,以及所选择项目的难度系数,以操作与口试7:3的比例给学生评定本课程考核成绩。具体安排为整个考试总时间为3小时,包括口试和操作考试。口试陈述、答问30分钟,其余时间为操作考试时间,操作完成后学生还可以再作补充陈述。

考试程序为:

(1)学生抽取考试项目。

(2)根据项目名称,口头陈述本项目的原理、方法、步骤和过程,期间老师根据学生陈述情况随时提出问题,学生口头回答。老师做好相应口试记录。

(3)学生进入操作考试,教师和辅导教师全程监控,并做好相应的记录。

(4)操作完毕,有需要再陈述的学生可以提出补充陈述要求,否则离开考场。监考老师合议评定学生考试成绩。

如上面的考题学生基本都能回答正确,这样进入社会工作后,基本可以达到用人单位对中职计算机应用专业学生的要求。那我们的教学目的也就达到了。

附加:

本课程所需要的实验条件:

第11篇

1、什么是项目管理?

项目管理是在一定的约束条件下,以高效率地实现项目业主的目标为目

的,以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。

2、为什么要有项目管理?

没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目

的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注意不是每一个项目都要盈利。

另外,有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的可能性,至于能不能得到改进,以及改进的快慢,则取决于两个因素:一个是人,特别是各级管理者;另一个是利益。关键是“利益”,准确的说是“利益的分配”,在权责利明确的前提下,人才能充分的发挥作用。还需要指出的是“利益”是多元的,这里的多元不仅指利益的具体形式,而且指利益的受众是多元的,包括客户方相关人员个人的利益。

3、项目管理的发展与现状。

今天,项目管理作为一种现代化管理方式在国际上已获得了广泛的应用,从最初的国防、航天、建设工程领域,迅速发展到电子、通信、计算机、软件开发、金融等行业以及政府机关的项目管理工作。随着计算机、网络系统的迅速发展,项目管理技术的不断进步,项目管理软件产品层出不穷,其功能、特点、应用对象也各不相同。当前,越来越多的企业和组织在内部推广项目管理的理论方法及管理模式,如果都采用项目管理软件进行管理,效果就更加明显,可以节省大量的资源和财富。国外90%以上的项目管理都采用软件进行,但我国在这方面的应用还不到10%。新世纪项目管理在中国的迅速兴起,给软件企业的发展带来了前所未有的发展机遇。

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

随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

软件开发是一项复杂的系统工程,牵涉到各方面的因素,实际工作中,经常会出现各种各样的问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。

早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中遇到的问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。

目前的软件开发正逐步趋向于复杂化、多元化,大多数开发团队中都会出现同时开发多个版本、开发/维护工作并存、多地点同时开发等情况,给软件开发管理带来了前所未有的困难。如果管理不善,必将造成版本混乱,各个开发人员的工作相互交叉、干扰,整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件产品开发的进度和质量。

因此,随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重视。而项目管理技术的发展与计算机技术的发展是密不可分的,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。

软件项目管理常见问题及解决方案

对于软件开发项目中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录;一种则完全是一场灾难,不是被取消就是拖延很长时间。前者如在很短的时间内,为了赶进度,在几乎不可能的时间内开发出一套软件产品,创造了软件开发的记录,满足了上级所要求的上机日期,由于开发时间太短,过于仓促,上机时,问题百出,试运行时间长达几个月或一年半载的,而且程序一改再改,维护工作量大。

后者,如某套系统未弄清楚需求,或因设计问题,开发失败。通过提炼这些成功和失败的例子,软件项目成功或失败的根本原因可能会更清晰一些。

目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。

分析目前项目管理需要改进的问题可以从几种相关角色的角度去考虑:项目经理、项目组成员、公司管理人员、市场人员、客户等。

问题一:缺乏项目管理系统培训(相关对象:项目经理、管理人员)

项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理(甚至很少是管理专业的),被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比较缺乏。

解决方案:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。应实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。

问题二:项目计划意识问题(相关对象:项目经理)

项目经理对总体计划、阶段计划的作用认识不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。

解决方案:在高技术行业,日新月异是主要特点,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关各种知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。

问题

三、管理意识问题(相关对象:项目经理)

部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,项目管理经验也有待丰富。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。

解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。

问题四:沟通意识问题(相关人员:项目经理、项目组成员)

在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。

解决方案:制定有效的沟通制度和沟通机制,对由于缺乏沟通而造成的事件进行通报作为教训提醒,以提高沟通意识;沟通方式应根据内容而多样化,讲究有效率的沟通;通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。

问题五:风险管理意识问题(相关人员:项目经理)

项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时常常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。

解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。

问题六:不重视项目经验的总结(相关人员:项目经理、管理人员)

项目经理在项目结束时有些是因为自身对写文档工作的兴趣或意识,或

者是因为紧接着要参加下一个项目,总体对项目总结的重视程度不够。有些是项目总结报告一再拖延,有些是交上来的报告质量较低,敷衍了事。

解决方案:在制度上鼓励和加强项目经验总结工作,使得项目总结及时并且具有指导意义而不是走过场。

问题七:项目干系人相关问题(相关人员:项目经理、项目成员、客户)

在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、

工作职责等没有足够了解以致于无法得到完整需求或最终经权威用户代表确认的需求。由于项目经理的工作问题,客户参与程度部不高,客户方相关责任人不明确或对范围和要求责任心不强,提出的要求具有随意性,项目前期对需求的确认不够积极;或者是多个用户代表各说各话、昨是今非但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。

解决方案:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。

问题八:项目团队内分工协作问题(相关人员:项目经理、项目成员)

项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任

分工不够清晰而造成工作互相推诿、责任互相推卸的现象,有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰但是各项目成员只顾完成自己那部分任务、不愿意与他人协作。这些现象或多或少地造成了项目团队内部资源的损耗,从而影响了项目的进展。

解决方案:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。

以上对软件开发项目管理中出现的问题的分析还不够深入,也无法列举所有遇到或将遇到的问题,解决方案也要根据实际情况进行调整,希望引起对这些问题更多的思考和改进。

结束语:项目管理虽然没有非常高深的理论,但要真正实施起来,也绝非易事。对于软件开发企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,宣传并树立公司范围内的项目管理文化十分重要。从而在实践中锻炼提高,解决各种各样的问题,使项目管理工作越做越好。

内容摘要:随着信息产业的飞速发展,项目管理对于以应用开发为主的软件企业是一个行之有效的管理方法,项目管理在软件开发中的应用日益受到重视。本文主要通过对项目管理在软件开发中的应用的成因、存在的问题以及相应的解决方案进行了分析和论述。

第12篇

关键词:典型程序;软件项目;程序设计

中图分类号:G642

许多高校的计算机和一些非计算机类专业都开设了程序设计类课程,这类课程理论性、操作性、应用性都很强,并且知识繁杂,严谨抽象,较难掌握。比如:Visual Basic程序设计课程,首章就是抽象难懂的属性、事件、方法等概念,然后就是更加枯燥抽象的数据类型、变量、语句、过程等语言基础知识。这些又都是VB程序设计的基础,必须掌握。如果过分追求知识体系的系统性,以概念、命令的讲解为重点,偏重理论灌输,学生就会感觉枯燥难学,失去兴趣,也不利于应用型、创新型人才的培养。

因此,笔者采用了软件项目与典型程序相结合的教学方法,深受学生欢迎,也收到了良好的教学效果。

软件项目与典型程序是教师采用软件开发项目和一些典型程序来主导学生主动学习的一种学习方法。教师精心选择、设计软件项目和一些典型程序,在一定程度上打破原有的课程知识体系,重新组织知识内容,将抽象的理论知识和软件操作融入到具象的软件项目开发与典型程序设计中。教师不再接部就班地直接向学生灌输知识,而是以学生为主体,主导学生去直接设计程序和软件项目。通过引导学生去设计程序来探究新知识,通过一个实际软件项目的开发来整合课程知识,掌握软件工程和项目管理的思想。软件项目开发是理论与实践的结合体,加大了课程实训力度,增强了学生实践能力。

软件项目开发与典型程序设计方法,将理论与实践相结合,在知识的运用中学习知识,符合认知规律,有利于知识体系的建构,充分培养了学生的应用能力和创新能力。下面,结合实践,对该方法的应用进行有益的探讨。

1 软件项目的应用

把软件项目开发应用于程序设计类课程的教学中,围绕真实的项目来组织教学,创造与实际工作环境相似的学习环境,有效提高学生的学习积极性,培养学生的职业素养和能力。

笔者建议最好一门课程采用一个软件开发项目,将整个课程的零散知识点进行整合,软件项目的开发要贯穿于整个课程的学习过程之中。例如:在VB程序设计课程的学习中,教师选择某个信息管理系统做软件开发项目,如人事档案管理系统。当然,根据不同的专业、学生及课程情况,也可以采用多个项目。

启始课上,教师可以展示一些使用相应程序开发的优秀软件,同时布置软件开发项目,使学生了解此程序设计语言的功能,明确课程学习任务,并激发学生兴趣。

按照课程的知识体系结构,教师将软件项目分解为子程序设计任务,贯穿于日常教学中。如:在VB程序设计课程中,学习控件时,可以让学生去设计软件界面;学习菜单时,让学生设计软件的菜单;学习工具栏时,让学生设计软件的工具栏……这样,课程学完了,软件也开发出来了,边学边用。随着课程学习的深入,软件越来越完整,学生体会到了成功的喜悦,学习积极性越来越高。

项目开发完成后,教师可组织学生进行评价,先由学生展示作品,自评,再学生间互评,最后由教师总结评价。此评价过程可以锻炼学生的表达能力,学生间也可以相互借鉴,纠正不足。

软件项目的应用增强了课程的实践性,缩短了课程学习与系统开发之间的距离,使实训环节落到实处。

2 典型程序的应用

典型程序设计是为了掌握某些知识点而采用的较小的并且典型的程序,主要是在章节学习中应用。例如:VB程序设计课程中,在学习标签、命令按钮、文本框和IF语句时,可以采用注册登录程序;学习框架、单选按钮、复选框、分支语句时,可以采用简单考试系统程序;在学习列表框、循环语句时,可以使用选课程序等。

典型程序应用的组织实施过程是精选程序、展示程序、分析程序、设计程序、总结扩展。教师根据学习内容和目标,选择合适的程序,选择的程序要典型、实用。教学时,教师运行程序,展示程序功能和运行效果,激发学生积极性,同时使学生明确学习目标。然后,引导学生分析程序,设计程序,此时,要以学生为主体,教师起主导作用。学生在设计程序的过程中,主动思考、探索和操作,通过控件和语句的使用,掌握了软件的操作和应用,理解了程序设计语言基础知识。程序设计完成后,教师再引导学生总结程序设计应用中涉及到的知识点,反思程序设计方法,并提出问题,激发学生通过课外学习来进一步完善、扩展程序功能。

典型程序设计应用是一种主动学习过程,在教师的引导下,通过学生自身的思考和操作,来学习软件知识,符合知识体系的建构规律。

3 采用基于学习过程的考核方式

传统的考试方式不能科学、全面地评价学生的学习效果。在程序设计类课程的教学中,笔者采用了基于学习过程的形成性考核方式。学生的成绩由设计程序与软件项目的完成情况来综合评价,每完成一个程序或项目,就给出一个成绩,根据程序或项目的难易程度来设置分数权重。这种考核方式,评价贯穿整个学习过程,结合设计程序和软件项目分阶段考核,可以科学地评价学生的学习效果,大大激发了学生的学习主动性,达到了以考促学的目的。

4 应用中应注意的问题

4.1 选择设计程序和软件项目需注意的问题:(1)设计程序和软件项目要典型,具有代表性,不要选不常用的。还要注意实用性,尽量接近生活实际。也要考虑趣味性,选择趣味性强、有吸引力的程序和项目,以激发学生兴趣。(2)选择设计程序和软件项目时要考虑到开课专业、课程大纲和学生情况,难度要合适。过于复杂或过于简单,都会降低学生的学习热情。过于复杂,学生会产生受挫感,失去信心。过于简单,对学生没有吸引力,学习积极性会降低。难度要相对适中,学生只有通过学习,才能完成作品,获得了成功感,增强了自信心,有利于提高学生学习的主动性,吸引学生深入学习。随着教学进度的推进,程序要先易后难,由简单到复杂,从单一到综合,再到软件项目,循序渐进地培养学生的软件开发能力。(3)选择设计程序总体上不要过于复杂,涉及的知识点不要太多,不要面面俱到。选择的开发项目综合性要强,覆盖面要广,从而达到对课程知识和技术的整合。项目涉及不到的重点或较为重点的知识点,设计程序可以起到辅助和补充的作用,或者利用设计程序来强化重点知识。总之,程序和软件项目要精心选择和设计,应用中也要把握技巧。

4.2 教学中,要始终以软件项目为主线,设计程序为辅助,学生为主体,教师为主导。设计程序的导入、分析、设计、总结、扩展,要以学生为主体,发挥好教师的主导作用。软件开发项目的实施也是如此,要培养学生独立分析、解决问题的能力,要授之以渔。教师要多设疑,要注意启发、引导、组织学生去探求知识。学生要多动脑,多动手,主动学习,主动建构自身知识体系。

4.3 打破传统教材内容安排,大胆调整教材内容和顺序。根据程序或项目分解后的子程序任务涉及到的知识内容,合理调整教材内容。例如:各种流程控制语句的学习,传统的教材内容是安排在一起,逐一讲解,讲一条语句,用一个程序去验证。这种统一学习的方式,会使学生感觉抽象枯燥,教学效果差。其实,流程控制语句的学习,可以贯穿到整个课程的学习过程中。将不同的流程控制语句,甚至同一语句的不同结构,与基本控件、菜单、工具栏进行合理的结合,分散到各个程序和软件项目子程序中,达到了难点的分散与克服,从而收到良好的教学效果。

参考文献:

[1]朱文增,赵竞雄,张阿娇.程序开发在VB教学中的应用研究[J].电脑知识与技术,2009,14.

[2]尤丽卓.程序开发与实例结合教学法在VB教学中的应用[J].职业教育研究,2007,6.