首页 优秀范文 测试项目总结

测试项目总结赏析八篇

发布时间:2022-08-26 03:43:00

序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的测试项目总结样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。

测试项目总结

第1篇

关键词 EPC;总承包项目;前期阶段;项目策划;可持续发展

中图分类号F74 文献标识码A 文章编号 1674-6708(2013)84-0026-02

随着我国市场经济体制的不断发展与完善,我国的国民经济逐步进入了稳定增长的阶段,我国的城市化进程的步伐越来越大、越来越快,我国的工程承包项目越来越多,EPC作为我国工程总承包项目的重要组成部分,逐渐的被应用于我国各个行业工程的建设过程当中,其中最为明显的当属我国的石油行业,随着EPC总承包模式在我国工程建设过程中的不断发展越完善,我国的EPC总承包模式已经越来越成熟,但是不可避免的EPC总承包模式在发展过程中同样的产生了一些不利于工程项目正常发展的不利因素,文章就目前我国EPC总承包模式的前期阶段的项目策划过程中存在的问题进行了系统分析和调查,并针对我国EPC总承包模式的前期阶段的项目策划过程中存在的问题提出了几点建议,希望能对EPC总承包模式实现可持续发展提供适时的参考。

1 EPC总承包模式的概述

EPC其实指的就是我们通常所说的工程总承包,EPC(EPC——Engineering Procurement Construction),它的中文汉语意思就是设计、采购、施工,是指工程项目的承包部门对工程项目建设过程中的设计、采购和施工的全过程的管理和承包,EPC总承包模式还有另外的一种的名称,EPC总承包模式又被称为是交钥匙工程总承包,EPC工程因本身具有高效率、低成本的优势受到了我国各个行业的青睐,EPC总承包模式最初在外国得到了广泛的应用,后来逐渐的被应用于我国的各个行业的工程项目承包过程当中。

2 EPC总承包模式的前期阶段项目策划的重要性

2.1 前期项目策划的重要性

EPC总承包模式的实质含义是指对整个工程项目的承包过程的设计、采购以及施工进行全程、全方位的监督和管理,而EPC项目总承包项目的前期阶段的项目策划则是对承包工程的工作内容及工作内容进行策划的过程,EPC总承包模式的前期阶段项目策划直接影响着整个项目的可行性,直接决定了此工程项目能够获得审批,前期阶段的项目策划在整个EPC总承包模式的运行过程中发挥着十分重要的作用,是总承包项目运行过程中的关键环节,项目前期阶段的策划的科学性和合理性直接关注着整个项目运行的效果,对项目能够实现高效、有效的运行发挥着十分重要且不可替代的作用。

2.2 前期项目策划直接关系着项目的成败

一般而言,判断一个项目是否具有可行性,首先要看的就是该项目是否符合我国市场的需要,是否能够解决或者是缓解市场经济发展过程中存在的供求矛盾,由此我们不难看出,前期阶段的项目策划直接关系着整个项目的成败,如果前期项目策划做的好,能为企业带来巨大的经济效益和社会效益,促进企业的经济发展,但是,如何前期项目策划做的不够合理,则会直接导致项目的流产,可能还会造成巨大的资金浪费,不利于企业经济的可持续发展。

2.3 前期阶段策划具有综合性

项目的运行过程中,所有的环节之间都具有十分紧密的联系,项目的管理作为一项科学的、合理的、有效的管理活动,需要在工作过程中通过对专业知识的合理、灵活运用,确保项目施工过程中的科学性和合理性,实现项目的高效运行,为企业获取理想的经济效益和社会效益,在项目管理工作的开展过程中需要对项目进行策划、设计、项目运行的进度、项目运行的质量进行管理和控制,项目的管理工作是贯穿于整个项目全过程当中的,为实现项目运行的最终目标,促进企业的经济发展提供保障。

3 EPC总承包模式的前期阶段项目策划过程中存在的问题

3.1 相关的法律法规存在漏洞

近些年来,随着我国市场经济体制的不断发展与完善,我国的对各个行业发展过程中需要遵守的法律法规和行为准则也逐步的建立和完善,但是,根据对我国目前EPC总承包项目的前期阶段项目策划的相关情况的调查分析表明,目前我国对工程项目承包方面的法律法规的制定还是存在一些细微的漏洞和缺陷,对工程项目总承包招标过程中的管理规定还不够健全,导致部分政府和相关的管理部门在对工程项目总承包招标过程中进行监督和管理时缺乏相应的法律依据;同时,我国的工程总承包合同没有进行统一化、规范化的制定,在工程项目的总承包过程中,没有标准的工程总承包合同的示范文本,致使很多的项目工程在施工过程中因为当初签订的EPC总承包合同对权责的划分不明确,内容制定的不够完整、全面,对工程的造价和投资控制无法给予指导性的意见,给EPC总承包项目的前期阶段的项目策划工作的顺利展开增添了不小的阻碍。

3.2 缺乏项目管理专业人才

影响我国EPC总承包模式的前期阶段项目策划不能顺利开展的不利因素除了我国对EPC总承包模式相关方面的法律法规不健全外,还有一个十分重要的原因就是我国的项目的主办方的缺乏专业的项目管理人才,正是由于我国业主方在工程项目管理过程中专业人才的缺失,导致项目总承包商之间相互扯皮的现象频繁的出现,虽然我国已经对工程项目实行项目管理(project management PM)的管理方式,并加大了政府的对工程项目的监管力度,但是并没有从根本上解决这一问题,给项目工程运行质量埋下了极大的风险隐患。

4 提高我国EPC总承包模式的前期阶段项目策划的有效性的措施分析

4.1 建立健全的法律法规

为了提高我国EPC总承包项目的前期阶段项目策划的有效性,确保EPC总承包模式优越性能的能够得到充分的发挥,国家首先要做的就是建立健全的项目承包方面的相关法律法规,制定科学的、合理的、严谨的工程总承包监督管理办法和准则,制定统一的、规范的工程承包合同范本,加大对工程总承包项目的法律监管力度,在对承包单位进行管理的同时,还需要加大对业主的监督和管理力度,要求业主和工程项目的承包商对项目所采取的所有活动都必须严格遵守我国颁发的《工程总承包合同范本》以及《工程总承包招标投标管理办法》中的相关规章制度的要求采取科学、合理的措施,确保项目运行最终目标的实现。

4.2 加大对EPC总承包模式的宣传力度

在我国的,工程承包项目的方式有主要有四种,分别是设计采购施工(EPC)、设计—施工总承包(D-B)、采购总承包(E-P)以及采购—施工总承包(P-C)四种总承包方式,但是,由于我国很多的业主对EPC总承包模式的重要性和优越性认识不到位,导致业主对EPC总承包模式的认可性过低,因此,相关的管理部门一定要加强对EPC总承包模式优越性的宣传力度,提高社会各界对EPC总承包模式的认识程度,确保一提到EPC,大家就都知道是一种项目的总承包方式,就会联想到EPC总承包方式具有高效率、低成本、性价比高等优势,促进我国EPC总承包模式的不断发展与完善,同时确保了EPC总承包项目的前期阶段项目策划的科学性和合理性,确保企业能够获取理性的经济效益和社会效益,促进我国经济的可持续发展。

5 结论

总之,EPC总承包作为一种工程项目的承包方式,在不断的发展过程中取得了一系列可喜的成绩,但是,EPC总承包模式还不够成熟,还需要根据我国市场经济的发展变化进行适当的补充和完善,这样才能为企业带来更多的经济效益和社会效益,促进企业的健康发展,为实现我国经济的可持续发展战略提供保障。

参考文献

[1]李新华.试谈国际EPC总承包模式前期启动阶段的PMC管理[J].石油工业技术监督,2011(25).

[2]申月红.培育发展工程总承包和工程项目管理企业——建设部建筑市场管理司副司长王早生访谈录[J].建筑经济,2011(31).

[3]R.Max Wideman. Project and Program Risk Management: A Guide to Managing Project Risks and Opportunities [J].Project Management Institute,2010(37).

[4]梁继承,赵磊.天然气输气工程项目EPC管理与实践[J].中国石油和化工标准与质量,2011(31).

第2篇

【关键词】手机软件设计 软件快速重建模式 软件项目过程 软件质量

1 软件需求继承性的管理

对于目前的手机设计公司来说承接的业务大多数是需求有继承性的项目,对于需求的差异性很大,开发需求很复杂且之前不是很有积累的需求,无论是手机设计方案商还是手机制造商来说都是很谨慎的。大家对于这里的风险意识都是一样的强烈。所以一般情况下手机设计公司承接的都是有软件需求可以继承之前有积累的项目。而对于这些需求的继承性的管理是快速实现这些需求的软件项目的关键。如何实现这些软件需求的高效继承使用呢?

1.1 使用合适的软件项目版本管理工具

软件项目的版本管理工具中CVS, Git, Repo等都可以用来管理手机软件项目的开发过程。其中Git和Repo是用于多方合作的分布式版本控制系统,它就适合于类似目前的智能手机开发管理的现状。这里涉及手机硬件平台的方案提供商,手机软件提供商,还有手机设计公司共同开发一个项目。关键是Git 和Repo能够方便的实现各种需求在软件版本上的继承和快速的合入。一般Git和Repo上会建有主线(master)工程,这里主要是平台的基础内容,各种软件平台上开发出的新内容都往上添加,是平台发展的基础。当然主线上的内容由于来自各种开发的新内容的导入,往往存在有各种问题,而且主线是实时被更新,也来不及测试它的稳定性。鉴于上述的状况一般真正要实现的项目都是在一定状态的主线上建立起来的分支进行单独管理的,对于分支(branch)上的管理是需要软件项目负责人(SPL)来管控的。SPL(Software Project Leader)对于开发(包括MMI和Driver )的工作成果,根据各个项目的需求点对点地合入各自项目的分支,如:用Git指令git cherry-pick。每种不同的软件需求,这里主要是指人机交互(MMI)上的功能需求,在某个平台上有了一个完整的需求功能分支,并且这个分支的软件产品已经量产且被市场认可验证过,那么后续相似的项目都可以用来继承该分支。那么越是后来的项目越是能继承之前项目的成果,它实现的过程就能更加的快捷和可靠,实现软件的复用。

1.2 对于需求和共性Bug建立良好的文档管理机制

对于需求的继承光有版本管理工具的分支管理是不够的,毕竟管理工具上记录的每条提交记录(Commit Infomation)都是离散的,同时由于提交时的不谨慎,可能导致相同功能模块的多次提交,这样就要求SPL(Software Project Leader)在合入时要清晰了解合入的顺序和具体的Commit ID信息。所以有一份详细的功能合入文档信息就很有必要了。文档里需要记录的内容有:

(1)需求或者Bug的详细描述,需求和Bug在他们各自管理系统里的信息记录。

(2)Bug处理责任人的信息。

(3)对应修改所涉及的makefile里的宏控制信息。

(4)提到到软件管理工具(Git)的Git log信息,按提交顺序记录。这里的信息要具体到文件和其目录。

(5)简单描述修改处理的方法。

这样的信息要根据不同的需求分别建立起来,开发人员要在对应的文档里更新迭代。上面提到的Bug主要是共性Bug。

1.3 需求共性Bug核对自动化点检机制

运用脚本工具在软件编译前对一些关键需求和重要共性Bug的合入情况做自动化的点检工作,在编译的初期就对相关内容在整个软件工程里的配置情况进行自动化点检。如果软件配置有问题就可以在编译开始时就被检查出来,让SPL尽早发现和修改。这里就需要前面的文档管理工作做的好一些,既可以作为记录让那个项目参与人员查阅,同时也要适合自动化点检工具用来查询比较使用。这里可以被自动化工具用来点检的项有:

(1)平台的共性bug;

(2)硬件资源的配置状态如:PCM(phase change memory),G-sensor;

(3)平台共性修改需求,如:YunOS系统验收规则。

1.4 对于不同项目间进行需求分析,准确判断之间的继承性关系

要让上面3点发挥作用,首先要对于需求之间是否有继承性要有精准的判断。对于同一个客户的需求往往判断其继承性很容易,因为同一个客户他们的某个需求在不同项目间会有继承。但是对于不同客户之间的需求往往也存在的很大的相似性,那么如果能准确找出从一个合适的成熟量产项目的分支上进行继承做,自然也会事半功倍。当然并非说成熟量产项目就一定没有问题,如果主线(master)上确认有很重要的内容需要合入分支,那也是要在各个项目分支上实时合入的。比如MTK或者Spreadtrum释放的重要平台patch等。这也可以用类似被上面第1.2点提到的文档进行管理的。需求的共性特性需要前方的客户经理来主导判断,因为他们更熟悉客户需求,后端的SPL当然是这个继承行为的实施者。

2 项目系统配置和驱动配置的敏捷切换

实践当中项目部门在立项过程中有意识的做一些固定的切换来适应市场的需要,比如软件需求基本不变的情况下引导客户做手机频道的切换,比如从TDD的三模(如表1)切换成五模(如表2)或者6模(全网通)。

对于这样项目的切换,如果总是从方案商提供的默认的频段配置方式出发来配置工程,那么对于一个三模切换到五模的项目总是要从五模配置的方案商提供的Release参考makefile和工程目录配置方式出发,那么原来三模配置项目中的makefile里的关于软件项目的配置选项,比如宏,比如工程目标目录里的配置项涉及到该客户的软件需求的都要移植过来,当然就还要在重新测试需求。因为这个过程中需求相当于重新移植配置。这个过程对于一个项目来说本身无可厚非,但是对于敏捷实现一个项目来说,它不但当SPL重新移植了客户需求,同时增加了客户需求测试点检的需要,从整体上讲这种重建工程的方式对于该项目的重建的成本投入就很高了。如果换种思路,如果开发中的驱动工程师能从根本上就总结好从三模的项目配置改成五模的项目配置过程中需要修改的配置项,只要总结好一次且验证OK的情况下,下一次配置的时候就能轻松重建,这样的总结对于不断有这种项目切换的项目团队来说是很有益处的。它使得项目重建过程更为简单且引入的问题控制在一个范围里。即便真有频段配置的问题项目团队也能清晰知道问题所在的范围。如果过分坚持驱动工作的流程就是要从方案Release状态的五模参考配置方式出发,虽然从驱动工作的角度出发,可能提高的配置的正确性,但是对于整体项目的推进却是添加了阻力的。相反针对项目需要敏捷切换的显示做一些系统配置工作的方式切换却可以使得原来三模项目的客户需求修改被更好的被继承,同时测试的反复缺失需求也可以不那么必要了,整体上来说就有进度推进的优势,而对于驱动本身来说,只要做一次这样的认真切换工作的研究,下一次也是可以很快的重建这个过程,所需要的只是一次认真的总结。这种各种需求的来回切换需要不同的支持不能综合考虑支持,尽量从整体项目进度推进的角度出发来综合考虑问题,而不是单个从某项工作的角度的出来来判断这样做是否合理。即便需要某项工作做一些较难的整理总结,但是对于后续项目切换过程中能给更多的项目带来便利的话,这样的总结也是应该去做的。

3 对于有需求继承性的项目快速重建过程中配套的软件测试策略的改进

对于这种继承性很强的项目来说,如果项目本身确实是有效继承于一个成熟的量产项目。针对这样项目的测试流程也应该和普通项目的流程不一样。首先针对这样的项目应该在前期先要安排这个项目的客户需求的逐项点检确认,看看需求是不是继继承好。一旦项目继承前面的需求分支后,出的初期软件就应该可以点检了,测试部门应该在之前做项目的时候可以对于项目的需求做好测试文档记录规律工作,对于已经做过的共性需求记录好点检的测试案例,后面找测试工程师点检需求的时候可以快速的根据之前的记录进行点检,设置可以开发自动化测试工具来点检。同时需求确认后就可以判断验证已知的平台共性Bug的合入修改情况。如果这两点能在测试首轮就确认好,软件质量的基调就能定下来了。当然如果项目的器件做了切换,也要尽早确认器件的功能性测试,也可以适当关注这些的性能表现。如果第一轮的这些测试都做好且效果OK,当然即便有一些问题,也能让软件团队尽早先修改继承需求过程中产生的问题。也可以把器件的问题也在较早的时间段就发现出来。这样的软件基本也可以和客户一起同步测试了。客户拿到的软件感觉继承性较好的话,对于软件开发的进程也会较有信心。第二轮的时候选着适当的测试强度的固有测试用例跟进这个项目的软件测试。如果机器数量可观且状态良好的情况下可以尽早安排模拟终端用户使用的alpha测试。这样的模拟能找到正常测试案例里找不到的问题,同时客户也是更多的偏向于这种方式发现问题的。

4 总结

为了做到手机软件项目的有效继承需求,快速实现衍生项目的工程重建。要在以下各个方面做了些努力:

(1)做好软件项目需求继承性的管理工作,对于有继承性的项目要做好软件版本分支管理,Bug管理,共性需求分析工作。开发使用一下自动化检查工具来实现共性需求和Bug的合入情况的检查。

(2)同时对于重建概率加高的一些开l需求做一些总结整理,确认整理的内容有效后可以使得后续项目对于这些需求在SPL的需求分支上复现的过程可以快捷高效。

(3)配合这种需求继承性强的项目以合适的测试流程。从需求继承和Bug修改继承出发,先验证已知的问题和需求的继承情况,再确认系统稳定性的测试策略。

通过上述环节综合作用使得项目的进度能快速推进并且项目质量也能得到一定的保证。

参考文献

[1]萨默维尔著;程成等译.软件工程(原书第9版)[M].北京:机械工业出版社,2011(04):144-146.

[2]Leszek A.Maciaszek著;马素霞,王素琴,谢萍等译.需求分析与系统设计[M].北京:机械工业出版社,2009(05):60-61.

[3]杨芙清,梅宏,李克勤.软件复用与软件构件技术[J].电子学报,1999,27(02):68-75.

作者简介

严王君 (1981)男,大学本科学历。学士学位。中级工程师,软件集成主管。主要研究方向为嵌入式系统软件MMI开发,软件系统集成。

第3篇

一、项目实施方案概述

软件产品,特别是行业解决方案软件产品不同于一般的商品,用户购买软件产品之后,不能立即进行使用,需要软件公司的技术人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人员培训、软件上线使用、后期维护等一系列的工作,我们将这一系列的工作称为软件项目实施。大量的软件公司项目实施案例证明,软件项目是否成功、用户的软件使用情况是否顺利、是否提高了用户的工作效率和管理水平,不仅取决于软件产品本身的质量,软件项目实施的质量效果也对后期用户应用的情况起到非常重要的影响。项目实施规范主要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据标准化初装阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交接阶段等八个阶段工作内容,每个阶段下面有不同的工作事项,各个阶段之间都是承上启下关系,上一阶段的顺利完成是保证下一阶段的工作开展的基础。下面将按照每个项目实施阶段分别介绍。

二、项目实施方案介绍

(一)项目启动阶段

此阶段处于整个项目实施工作的最前期,由成立项目组、前期调研、编制总体项目计划、启动会四个阶段组成。

此阶段主任务:

公司:在合同签定后,指定项目经理,成立项目组,授权项目组织完成项目目标。

公司项目组:进行前期项目调研,与用户共同成立项目实施组织,编制《总体项目计划》,召开项目启动会。

商务经理:配合公司项目组,将积累的项目和用户信息转交给项目组。将项目组正式介绍给用户,配合项目组建立与用户的联系。

用户:成立项目实施组织,配合前期调研和召开启动会,签署《总体项目计划》和《项目实施协议》。

1、成立项目组

部门经理接到实施申请后,任命项目经理,指定项目目标,由部门经理及项目经理一起指定项目组成员及成员任务,并报总经理签署《项目任务书》。

2、前期调研

项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。填写《用户及合同信息表》。在项目商务谈判中,商务经理积累了大量的信息,项目组首先应收集商务和合同信息,并与商务经理一起识别那些个体和组织是项目的干系人,确定他们的需求和期望,如何满足和影响这些需求、期望以确保项目能够成功。

3、编制《项目总体计划》

《项目总体计划》是一个文件或文件的集合,随着项目信息不断丰富和变化,会被不断变更,主要介绍项目目标、主要项目阶段、里程碑、可交付成果。通常包括以下几方面内容:

项目描述,项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);

沟通管理计划,确定项目干系人对信息和沟通的需要:即什么人何时需要什么信息以及通过什么方式将信息提供给他们。质量管理计划,确定适合于项目的质量标准和如何满足其要求。如果有必要,可以包括上述每一个计划,详细程度根据每个具体项目的要求而定。未解决事宜和未定的决策。

4、启动会

项目组与用户共同召开的宣布项目实施正式开始的会议。

会程安排如下:

共同组建项目实施组织,实施组织的权利和职责;双方签署《项目实施协议》。

项目组介绍《项目总体计划》和《项目实施协议》,包括以下内容:

项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);

项目实施中项目管理的必要性和如何进行项目管理,项目的质量如何控制;

项目实施中用户的参与和领导的支持的重要作用;

阶段验收、技术交接和项目结束后如何对用户提供后续服务。

(二)需求调研确认阶段

此阶段的主要工作是软件公司的项目实施人员向用户调查用户对系统的需求,包括管理流程调研、功能需求调研、报表要求调研、查询需求调研等,实施人员调研完成后,会编写《需求调研分析手册》,并交付用户进行确认,待用户对《需求调研分析手册》上所提到的需求确认完毕后,项目实施人员将以此为依据进行软件功能的实现。如果用户又提出新的需求,实施人员将分析需求的难度及对整个系统的影响程度来确定是否给予实现。需求调研阶段具体包括如下内容:

1、进行需求调研准备

2、编制《需求调研计划》

3、内部评审是否通过《需求调研计划》,项目组、部门经理、商务等人员根据合同要求和项目实际情况对《需求调研计划》草稿进行评审,如评审通过,则在稍后的时间内签署,如评审不通过则重新修改。

4、用户是否签署《需求调研计划》,如用户签署《需求调研计划》,则作为以后需求调研工作的指南。否则重新修改。

5、《需求调研计划》是否有变更,如果计划存在变更,则执行变更控制流程,否则按计划进行后续工作。

6、编写及发出《需求调研通知》,项目组编写《需求调研通知》,确定进行需求调研的相关事宜,发给用户,为顺利完成需求调研工作做准备

7、需求调研,项目组以《需求调研手册》为依据,从业务流程、单据使用、打印格式、报表查询几个方面展开深入和全面的调研,并搜集用户的个性化需求。

8、需求调研分析根据调研的结果,项目组和公司其他技术部门将进一步进行分析,确定合理、可行的需求,将分析结果形成《需求分析报告》草稿。

9、内部评审是否通过《需求分析报告》。项目组、部门经理、公司其他技术部门的人员对《需求分析报告》草稿进行评审,如评审通过,则在稍后由用户签署,如评审不通过则重新修改,直至内部评审通过。

10、编写及发出《需求分析报告确认通知》。项目组编写《需求分析报告确认通知》,发给用户,确定进行需求确认的相关事宜,告之相关部门及人员安排好工作,准时参与需求确认工作,为顺利完成需求确认工作做准备。

11、用户是否确认《需求分析报告》。如果用户确认,并签署了《需求分析报告》,则需求调研阶段工作结束,进行后续的软件功能实现的工作;如没有确认,则进一步进行调研、分析,直至用户最终确认并签署《需求分析报告》。双方签署了《需求分析报告》,需求调研工作结束之后,如果用户提出新的需求或是变更已有的需求,则执行需求新增及变更流程。

(三)软件功能实现确认阶段

此阶段的主要工作是项目实施人员根据需求调研阶段确认的《需求调研分析手册》中的用户需求内容进行具体软件功能的实现工作。在软件功能实现的过程中,项目实施人员将记录软件实现的详细过程。便于公司售后服务之用。每一个实施技术人员必须严格按照要求记录、存档。按照调研要求的所有功能实现完毕后,项目实施人员将编制《软件功能确认表》,将定制好软件功能待用户确认,用户根据《软件功能确认表》上的功能逐一确定软件功能是否达到要求,对不满足要求的功能,项目实施人员将会记录下来并进行功能修改,直到满足用于要求。

(四)数据标准化初装阶段

此阶段的主要工作是项目实施人员指导用户进行系统标准化资料的准备工作,并对用户进行初装资料的软件操作培训,以便用户能够及时的将标准资料录入系统,初装完成后,项目实施人员会对资料初装的情况进行核查,为以后具体业务功能的开展做好基础。

(五)系统培训阶段

系统培训阶段工作是整个项目实施工作中比较重要的工作,用户对软件的操作功能是否熟练将直接影响到后面的软件应用效果,所以软件公司和用户双方要对此阶段的工作给予足够的重视。要充分认识培训的重要性和艰巨性。在项目实施之前对用户的相关人员进行系统和规范的产品培训是非常必要的,达到让用户了解软件产品,最终自己能够解决使用中的具体的问题。

此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、技术层、操作层,对不同层次的用户参加产品培训人员的培训内容分别是:

决策层:领导在实施中的作用与重要性、决策查询。

维护层:系统维护知识、操作方法。

操作层:操作方法。

具体的培训工作流程为:

1、调研培训信息:在培训开始前3天由用户实施负责人,将参加培训的部门和人员情况填入《受训部门汇总表》、《受训人员情况一览表》。

2、编制培训计划:结合调研结果,与用户实施负责人商议具体培训内容、时间,场地,人员等。项目组编制《培训计划》。

3、签署培训计划:用户签署《培训计划》,进一步确认培训安排。

4、发培训通知:培训开始前2天,按照签署的《培训计划》,将培训内容、时间,场地,人员等信息通知用户实施负责人。

5、搭建培训环境:公司项目组在培训开始前,将培训环境搭建及检查妥当,将培训提纲及培训手册准备好。

6、组织培训:公司项目组培训负责人与用户实施负责人组织相关人员参加培训,按培训制度严格考核。由用户将考勤情况填入《培训人员签到表》。

7、培训考核:公司项目组培训负责人与用户实施负责人组织受训人员参加上机及理论考试。

8、培训总结:公司项目组培训负责人与用户实施负责人一起将出勤情况及考核情况做出总结,填入《培训及考核统计表》,及时向相关负责人

汇报。

(六)系统安装测试及试运行阶段

此阶段的主要工作是在用户真实环境下,对用户网络及硬件设备进行测试,对软件系统进行容量、性能压力等测试测试及试运行的目的在于确保系统各项功能均能正常使用,并且符合用户签署的《需求分析报告》中描述的需求,同时把尽可能多的潜在问题在正式运行之前发现并改正;同时目的还在于在正式运行前用户的有关人员能进一步提高操作水平,掌握操作规范。此阶段的主要工作内容为:

1、 编制计划:与用户实施负责人商议具体测试及试运行时间,地点,人员等安排,项目组编制《测试及试运行计划》。

2、签署计划:用户签署《测试及试运行计划》,进一步确认测试及试运行安排。

3、发测试及试运行通知:在测试及试运行开始前2天,按照签署的《测试及试运行计划》,将时间,地点,人员等信息通知用户实施负责人。

4、搭建环境及数据准备:在试运行开始前搭建好软件环境、硬件环境、网络环境、调通线路;检查软件、硬件、网络、线路等各个环节是否有问题;

5、组织测试及试运行:用户相关各级领导给予全面配合,组织相关人员进行测试及试运行。

6、测试及试运行总结:测试及试运行完成,总结试运行中设备、软件的运行情况,总结试运行中业务流程和操作环节的情况,以书面总结形式将测试及试运行结果通知相关负责人。

公司项目组负责担当指挥,检查用户人员组织情况并给予指导,跟踪检查如下情况:

跟踪单据流转状况。

跟踪新资料登录环节。

观察业务流程执行状况。

观察操作人员操作表现。

观察系统运行速度及异常表现。

观察关键数据的正确性。

及时纠正错误操作、对于新发生的问题及时与相关人员沟通,确定解决办法。

(七)总体验收阶段。

此阶段是对项目总体的完成情况进行验收。验收分阶段进行,在每一项目阶段结束时,用户对这一阶段的可交付成果进行验收,在测试及试运行结束后,对系统进行总体验收。

需要验收的可交付成果:

主要项目阶段

阶段组成

主要里程碑

可交付成果

第4篇

关键词:嵌入式软件;GJB2725A;软件测试;过程模型

0 引言

随着信息化军事技术的不断深入,嵌入式软件已在航空武器装备软件中得到了广泛的应用,相应的,对其进行软件测试的要求也越来越重要。目前,大部分软件测试项目主要由事件驱动完成,存在流程不清晰、被动性高、效率低下等问题,影响了测试质量,其严重后果就是没有及时发现软件产品缺陷,导致产品失效。

总装备部于2001年了GJB2725A《测试实验室和校准实验室通用要求》[1],其目的就是为了指导软件测试活动,提高软件测试过程管控能力。因此提出了一种嵌入式软件测试过程模型,该模型能够依据军标,以流程驱动的方式对软件测试进行全过程管控,具有很好的工程应用价值,提高了研制效率。

1 嵌入式软件测试过程模型

在型号软件研制中,测试是一项复杂而繁琐的工作,是一门综合性学科,涉及技术、方法、资源以及管理等诸多方面[2],现有流行软件测试模型,如V模型、W模型和H模型[3],并不能完全适用于实际测试工作,而应由研制单位牵头,建立本地化的软件测试过程模型。

根据工程经验,将嵌入式软件测试过程划分为5个阶段,即测试需求分析、测试策划、测试设计与实现、测试执行和测试总结,每个阶段实现不同的测试活动,前一个阶段是后一个阶段的输入,后一个阶段是前一个阶段的验证,以流程为驱动力,逐步实现所有活动,通过不断地对流程再优化,实现模型的持续改进[4],逐步趋近实际工程应用。

1.1 测试需求分析

该阶段的输入为软件测评合同或软件研制任务书,以明确被测项目的范围、目标、约束及要求。

同时,确定需要完成的测试类型,如功能测试、性能测试、边界测试、接口测试、可靠性测试等,并明确每一个测试类型的具体要求,例如:

1)功能测试:每一个软件测试项输入的每一个正常等价类和异常等价类都至少被一个用例覆盖;

2)性能测试:对软件的精度、时间和适应性进行测试,以确认是否符合规定的性能要求;

3)接口测试:测试所有外部接口,每一个外部输入/输出接口应进行正常和异常情况测试。

确定测试类型后,可制定测试策略,包括白盒和黑盒测试,并对具有特殊要求的被测项进行具体描述。同时,确定测试充分性和终止要求,避免项目无法结束。

测试需求分析最重要的工作就是依据软件设计文档,确定测试的显性需求和隐形需求,并分解为测试项,为后续测试用例提供设计依据,本阶段的输出为《软件测试需求规格说明》。

1.2 测试策划

本阶段在测试需求分析的基础上,完成如下工作:

1)确定测试技术,如等价类划分法、边界值分析法和猜错法等;

2)明确定性评价准则,包括文档、设计和实现等方面;

3)数据采集要求,主要指被测软件、用例、缺陷和管理数据等;

4)制定软件测试环境,包括软/硬件环境,确保测试顺利开展;

5)明确测试人员的角色与职责,合理分工,确保进度;

6)根据要求进行风险分析,如技术、人员和资源风险,并制定措施。

本阶段的输出为《软件测试计划》。

1.3 测试设计与实现

本阶段的主要内容就是依据测试需求,设计测试用例,单元、部件测试采用“先功能后逻辑”的测试策略,即先满足基于功能的测试(功能测试覆盖100%),再满足基于逻辑的测试(语句、分支、调用覆盖率100%),配置项、系统测试采用基于功能的测试策略,测试用例主要包括名称、标识、初始化、前提和约束、输入、预期输出、通过准则、追踪关系、终止条件、用例类型和设计人员等信息,本阶段的输出为《软件测试说明》。

1.4 测试执行

本阶段的主要内容就是在实际测试环境下执行测试用例,记录测试结果,将期望结果与实测结果进行比对,如不一致,则进行深入分析,确认为软件缺陷,则填写软件问题报告单,本阶段的输出为《软件测试记录》和《软件问题报告单》。

1.5 测试总结

本阶段的主要内容就是依据测试结果,统计与分析测试数据,包括用例执行率、用例通过率、代码缺陷率、功能覆盖率等指标,进而对被测软件产品做出客观、公正、独立的评价,为改进软件产品质量提供支撑,本阶段的输出为《软件测试报告》。

2 模型应用

被测软件为某型嵌入式软件,要求完成软件测试,出具测试报告。

2.1 测试需求分析

根据测试要求,定义被测项目的范围、目标、约束及要求。

范围:单元、部件和配置项测试。

目标:单元测试完成语句、分支100%覆盖,部件测试完成调用100%覆盖,配置测试完成需求100%覆盖。

策略:单元、部件测试采用白盒测试,配置项测试采用黑盒测试。

测试需求:经分析,单元测试共有272个测试需求,部件测试共有36个测试需求,配置项测试共有16个测试需求,27个测试项。

2.2 测试策划

软件测试主要采用等价类划分法和边界值分析法进行测试。

2.3 测试设计与实现

依据软件设计文件设计测试用例,单元测试共设计1869个测试用例,部件测试共设计266个测试用例,配置项测试共设计168个测试用例。

2.4 测试执行

经测试,并对测试结果进行分析、确认,共计发现56个软件问题,提交设计进行优化改进。

2.5 测试总结

测试结果总结如表4所示。

测试用例均能100%覆盖测试需求,配置项测试的用例执行率为95%,其原因是有些硬件环境不能满足测试要求,如破坏性测试,单元和配置项测试的用例通过率均不到100%,说明这两种测试是发现软件缺陷的重要手段,通过对56个问题的归零处理,软件问题得到解决,提高了软件产品的质量。

3 总结

采用流程驱动式的嵌入式软件测试过程模型能够很好的解决测试工程化问题,通过实际运用,提高了测试管控能力,确保了测试充分性,发现了软件问题,提高了软件的质量和可靠性。

参考文献:

[1] 闫宇华,李谊,黄宁等.GJB 2725A-2001,测试实验室和校准实验室通用要求[S].北京:中国人民总装备部,2001.

[2] 金先仲,任宏光,李建军等.空空导弹研制系统工程管理[M].北京:国防工业出版社,2007.

第5篇

关键词:软件代码审查;代码审查过程;代码审查问题

中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 03-0000-02

Discussion on the Code Review of Software Static Testing

Yuan Zhengjiang

(Jiangnan Institute of Electrical and Mechanical Design,Guiyang550009,China)

Abstract:This paper describes the software code to examine the role,content,code review process,and lists some common problems of code review.

Keywords:Software code review;Code review process;Code review problem

一、引言

软件测试常用方法可分为动态测试和静态测试,只有动态测试和静态测试有效结合,才能更好的完成软件测试工作。代码审查是软件静态测试中常用的软件测试方法之一,代码审查时,只要测试人员方法得当、足够细心,往往能够产生意想不到的效果。

二、代码审查的作用

代码审查是在不执行软件的条件下有条理的仔细审查软件代码,从而找出软件缺陷的过程。

代码审查可以找出动态测试难以发现或隔离的软件缺陷。在开发过程初期让测试人员集中精力进行软件代码审查非常有价值:可以提高代码质量;在项目的早期发现缺陷,将损失降至最低;促进团队沟通、促进知识共享、共同提高。

代码审查还可以为动态测试时设计和执行测试用例提供思路。通过代码审查,可以确定有问题或者容易产生软件缺陷的特性范围。

三、代码审查的过程

代码审查过程可分为:代码审查策划阶段、代码审查实施阶段以及代码审查总结阶段。

(一)代码审查策划阶段

1.项目负责人分配代码审查任务;

2.确定代码审查策略:依据软件开发文档,确定软件关键模块,作为代码审点;将复杂度高的模块也作为代码审查的重点;

3.项目负责人确定代码审查单,审查内容一般可包括:

(1)可追溯性:

――代码是否遵循详细设计?

――代码是否与需求一致?

(2)逻辑:

――表示优先级的括号用法是否正确?

――代码是否依赖赋值顺序?

――“if…else”和“switch”使用是否正确清晰?

――循环能否结束?

――复合语句是否正确地被花括号括起来?

――case语句是否所有可能出现的情况均已考虑?

――“goto”是否使用?

(3)数据:

――变量在使用前是否已初始化?

――变量的声明是否按组划分为外部的和内部的?

――除最明显的声明外,是否所有声明都有注释?

――每个命名是否仅用于一个用途?

――常量名是否都大写?

――常量是否都是通过“#define”定义的?

――用于多个文件中的常量是否在一个头文件中定义?

――头文件中是否存在可执行的代码?

――定义为指针的变量是否作为指针使用(而不是作为整数)?

――指针是否初始化?

――释放内存后是否将指针立即设置为NULL(或0)?

――传递指针到另一个函数的代码是否首先检查了指针的有效性?

――通过指针写入动态分配内存的代码是否首先检查了指针的有效性?

――宏的命名是否都大写?

――数组是否越界?

(4)接口:

――在所有的函数及过程调用中,参数的个数都正确吗?

――形参与实参类型匹配吗?

――参数顺序正确吗?

――如果访问共享内存,是否具有相同的共享内存结构模式?

(5)文档:

――软件文档是否与代码一致?

(6)注释:

――注释与代码是否一致?

――用于理解代码的注释是否提供了必要的信息?

――是否对数组和变量的作用进行了描述?

(7)异常处理:

――是否所有可能的错误都已加以考虑?

(8)内存:

――在向动态分配的内存写入之前是否检查了内存申请是否成功?

――若采用动态分配内存,内存空间分配是否正确?

――当内存空间不再需要时,是否被明确的释放?

(9)其它:

――是否检查了函数调用返回值?

――所有的输入变量都用到了吗?

――所有的输出变量在输出前都已赋值了吗?

4.确定代码审查进度安排,项目负责人负责安排代码审查的进度。

(二)代码审查实施阶段

1.代码讲解:软件开发人员详细向测试人员讲解如何以及为何这样实现,测试人员提出问题和建议。通过代码讲解,测试人员对被审查的软件有了一个全面的认识,为后续代码审查打下良好的基础。

2.静态分析:一般采用静态分析工具进行,主要分析软件的代码规模、模块数、模块调用关系、扇入、扇出、圈复杂度、注释率等软件质量度量元。静态分析在代码审查时应优先进行,有利于软件测试人员在后续代码审查时对软件建立宏观上认识,在审查中容易做到有的放矢,更易于发现软件代码中的缺陷。

3.规则检查:采用静态分析工具对源程序进行编码规则检查,对于工具报出的问题再由人工进行进一步的分析以确认软件问题,是一种比较有效的方法。

4.正式代码审查:代码审查可分两步进行:独立审查和会议审查。根据情况,这两步可以反复进行多次。

(1)独立审查:测试人员根据项目负责人的工作分配,独自对自己负责的软件模块进行代码审查。测试人员根据代码审查单,对相关代码进行阅读、理解和分析后,记录发现的错误和疑问。

(2)会议审查:项目负责人主持召开会议,测试人员和开发人员参加;测试人员就独立审查发现的问题和疑问与开发人员沟通,并讨论形成一致意见;对发现的问题汇总,填写软件问题报告单,提交开发人员处理。

5.更改确认:开发人员对问题进行处理,代码审查人员对软件的处理情况进行确认,验证更改的正确性,并防止出现新的问题。

(三)代码审查总结阶段

代码审查工作结束后,项目负责人总结代码审查结果;编写测试报告,对软件代码质量进行评估,给出合理建议。

把代码审查提出的所有问题、亮点及最终结论详细的记录下来,供其他软件项目代码审查借鉴。必要时,可建立常见软件代码缺陷数据库,为软件代码审查人员培训和执行代码审查提供数据支持,也可以为软件编码规则制定规范提供实践依据。

四、代码审查中的常见问题

如果软件测试人员熟悉常见的软件代码审查问题,对代码审查效率是很有帮助的。笔者根据自己的应验,列举部分常见软件代码审查问题如下(仅供参考):

(1)浮点数相等比较:可能造成程序未按设计的路径执行;

(2)因设计原因导致某些代码不能执行:如逻辑表达式永远为真(或假)造成某分支不能执行、代码前面有return语句、某模块从未被调用等;

(3)switch语句没有break语句(有意如此设计时除外);

(4)数组越界使用:数组越界容易发生在数组下标是计算得到的情况下,而且审查时很难发现这种代码缺陷,应加以重视;

(5)变量未初始化就使用或者是条件赋值就使用;

(6)程序中存在未使用的多余变量;

(7)复合逻辑表达式没有使用括号造成运算顺序错误;

(8)有返回值的函数中return没有带返回值;

(9)逻辑判别的表达式不是逻辑表达式;

(10)动态分配的内存没有及时释放:忘记写内存释放代码或由于其它逻辑缺陷导致内存释放代码未得到执行;

(11)没有对缓冲区溢出进行必要的防护;

(12)访问空指针,即指针未初始化就使用;

(13)指针指向的内存释放后,未将指针置为NULL:其它函数访问该指针时,判断指针不为空,当作有效指针使用,会造成内存访问错误;

(14)注释说明与程序代码实现不一致,甚至相反;

(15)循环存在不能跳出的可能,程序中没有相应的保护机制。

五、结束语

第6篇

关键词:项目实训课;虚拟公司

中图分类号:G642文献标识码:B

文章编号:1672-5913(2007)05-0023-04

对于IT院校常出现的问题是教育与实践脱节,常常是培养出的学生到IT企业后不能适应公司的工作环境,所学的知识与应用存在距离,公司还要对他们进行特殊培训。在IT院校开设项目实训课,模拟公司的工作环境,把学生组织成项目小组,按照公司的项目开发流程指导学生对真实项目的开发,能够很好地解决这个问题。为此,本文提供了一个项目实训课的实现案例。学生通过项目实训课的学习锻炼,使其达到具有一定IT领域项目开发经验,体验、了解公司的工作环境,熟悉公司的项目开发及项目管理流程,成为上手快、实战能力强、技术过硬、基本功较扎实、具有较强的团队精神和创业能力、用人单位抢手的人才。如果条件允许项目实训课程可采用双语教学,指导教师可尽量用英语指导学生。

1 项目团队组成

教师指导学生以一个虚拟公司为背景,组织成多个项目小组,每个学生在项目小组中承担一个或若干开发角色。进入项目小组后不得无故退出。项目小组有以下角色:

项目经理:负责本小组的人员协调和安排,制定项目开发计划,按照开发计划控制进度,在负责整体的同时,开发好属于自己的模块。

产品经理:主要使命是提高客户的满意度,在项目开发过程中代表为项目付款的系统拥有者的利益。

用户体验角色:代替实际用户使用产品,排除用户在使用产品过程中遇到的问题和障碍。

文档人员:协助项目经理、系统分析员完成要提交的文档,并敦促小组成员提交他们所负责的模块相应的文档,并整理后按照存储路径和格式及项目开发计划任务书中的时间段提交给导师。

系统分析员:负责本小组项目开发技术支持(软件配置管理、培训等),协助项目经理带领小组成员完成需求分析、概要设计、详细设计、编码、测试等一系列工作。

开发人员:按照项目经理和系统分析员以及项目开发计划任务书的要求,完成相应的工作任务,提交自己所负责的模块或者子系统的文档给文档负责人。

测试人员:负责系统测试。

2 实施流程

实施流程如图1所示。

图1 实施流程

3 项目管理

为了使同学们更好地熟悉掌握软件项目开发流程及项目管理规范,项目管理通过适当精简,主要包括以下活动:

(1)项目进度跟踪与监控

①项目周报制度:项目团队每周总结项目进度情况,撰写《项目周报》。

②周例会制度:导师每周召开项目例会,探讨问题,总结工作。

③项目计划跟踪:老师指导下各项目小组由项目经理根据项目开发计划对实际项目进展情况进行跟踪,作好项目跟踪记录。

④控制偏差:老师指导下项目经理根据项目的需求及设计文档对项目的功能实现进行监控,如果出现偏差应及时更正。确保项目的各功能与需求文档所要求的一致。

⑤指导教师应该给学生作适当的项目管理方面的培训,让学生了解软件工程及项目管理方面的知识。

(2)项目各阶段评审

①项目开发计划评审:由指导教师主持,由该虚拟公司的所有项目小组参加,对各项目小组制定的开发计划进行评审,学生可以提出自己的观点,进行辩论。老师进行讲评总结,然后各小组对项目开发计划进行修改、提交,作为考核项目小组工作的文档。

②项目需求分析报告评审:由指导教师主持,由该虚拟公司的所有项目小组参加,对各项目小组作的需求分析报告进行评审,学生可以提出自己的观点,进行辩论。老师进行讲评总结,各小组对需求分析报告进行修改、提交,作为考核项目小组工作的文档。

③项目设计报告评审:由指导教师主持,由该虚拟公司的所有项目小组参加,对各项目小组作的设计报告进行评审,学生可以提出自己的观点,进行辩论。老师进行讲评总结,各小组设计报告进行修改、提交,作为考核项目小组工作的文档。

④项目实施与测试指导评审:由指导教师主持,由该虚拟公司的所有项目小组参加,对各项目小组演示所做项目的功能,讲解项目实现原理,对认为好的算法或使用先进技术解决问题,应进行说明。其他学生对系统进行评审,学生可以提出自己的观点,进行辩论。老师进行讲评总结,各小组对项目系统作进一步进行修改,然后提交,作为考核项目小组工作的文档。

⑤项目总结与评审:由指导教师主持,由该虚拟公司的所有项目小组参加,以项目小组为单位对项目进行总结,指导学生写出项目总结报告。

(3)里程碑成果提交

①评审确认的各阶段文档。包括:项目开发计划、需求分析报告、设计报告等文档。

②项目总结报告。

③程序代码。

④最终成果物。

可以按照需求达到设计标准的可运行系统。

(4)管理文件及表格

项目开发进度表等。

4 项目质量保证

(1)执行研发中心质量管理体系

①依据ISO9001:2000质量保证体系要素

②适当加入特定文件及质量表格

③严格风险控制

④严格设计及测试环节

(2)加强预防和纠正措施

(3)加强管理评审

(4)加强问题跟踪

5 配置管理

软件配置管理分为版本管理和配置库管理,配置管理软件SourceSafe。

版本管理包括以下主要任务:

* 建立项目;

* 重构任何修订版的某一项或某一文件;

* 利用加锁技术防止覆盖;

* 当增加一个修订版时要求输入变更描述;

* 提供比较任意两个修订版的使用工具;

* 采用增量存储方式;

* 提供对修订版历史和锁定状态的报告功能;

* 提供归并功能;

* 允许在任何时候重构任何版本;

* 权限的设置;

* 晋升模型的建立;

* 提供各种报告。

6 项目考核

平时成绩与项目结项答辩成绩的比例为1∶1。

平时成绩考核:由考勤、程序代码及整个项目实施过程中所产生的所有文档的评审结果的综合。

项目结项答辩成绩考核:

(1)检查项目的系统运行是否正常,各项功能是否按照需求要求实现。

(2)项目结项后组织对项目的答辩会。

7 项目培训

指定项目实训课指导计划,设计流程,按计划对学生进行培训。

(1)指导教师在指导学生从事项目实施过程中,将“软件工程与项目管理”课程融入到项目的立项管理、需求开发与需求管理、系统概要设计等各个过程当中。同时将进行二次集中的知识讲授,讲授内容包含:项目场景的描述、分析项目;项目实施与测试指导、评价。

(2)指导教师根据学生的特点及项目的特点对项目实现过程中所要使用的一些关键技术进行培训。

(3)在项目的实现阶段,对学生项目开发工具的使用、项目开发环境的设置等方面进行指导。可对系统的整体框架,根据每个学生的具体情况,对一两个比较典型的模块进行剖析,让学生有一个开发参照模式,可以避免学生开发时无从下手的问题。

8 项目研讨

实训课的项目研讨分为三部分内容:

答疑解问:导师集中对同学在项目开发过程中出现的各种问题进行解答。

技术预研:是指在项目立项之后到项目开发工作完成之前的这段时间内,对项目所采用的关键技术提前学习和研究 ,以便尽可能早地发现并解决开发过程中将遇到的技术障碍。

项目阶段性研讨会议:实训课分为项目说明会、项目小组确定;项目需求分析研讨;项目设计研讨。其中项目小组成员对评审中的问题可以发表自己的意见,可以进行相互辩论,最后指导教师进行点评。

9 项目评审

由指导老师组成项目评审小组,听取项目团队的汇报并进行评审。包括项目开发计划评审、项目需求分析报告评审、项目设计报告评审、项目实施与测试指导评审、项目总结与评审。

评审目标如下:

* 发现任何形式表现的软件功能、逻辑或实现方面的错误;

* 通过评审验证软件的需求;

* 保证软件按预先定义的标准表示;

* 使项目更容易管理。

通过评审使项目小组成员真正掌握项目开发流程、了解软件工程及项目管理在项目开发过程中的作用。同时解决项目开发中一些问题,也起到对项目小组成员工作考核作用。

(1)评审过程

召开评审会议:一般应有3-5人参加。会议结束导师给予评审分数。

评审报告与记录:所提出的问题都要进行记录,在评审会结束前产生一个评审问题表,另外必须完成评审简要报告。

(2)评审准则

对每个正式技术评审分配资源和时间进度表;

对全部评审人员进行必要的培训。

10 结束语

本文中所论述的实训课的设计及实施方法已在我院的大学生创业中心实施,并收到了明显的效果,经过实训课培训后学生的项目能力有了明显的增强,完全可以在我们的创业中心参与各虚拟公司的项目开发工作并从中得到更多的工作经验。

参考文献:

[1] 林锐,唐勇,黄曙江,石志强. IT企业项目管理:问题、方法和工具[M].北京:电子工业出版社.2005.

[2] 陈宏刚,熊明华,林斌,等.软件开发过程与案例[M].北京:清华大学出版社.2003.

第7篇

关键词:海外工程弱电项目项目管理。

中图分类号:F270 文献标识码:A 文章编号:1007-3973(2010)08-150-02

经济全球化浪潮与国家“走出去”战略的实施,让越来越多的企业逐渐把自己的视野投向国际市场。笔者所在的中国电子进出口总公司(以下简称CEIEC),是一家成立于1980年的国有外贸企业,从1999年开始,公司开进入海外工程业务市场,现已成为ENR评选的全球225家最大的国际工程承包商之一。

笔者作为项目经理,参与了非洲安哥拉国家电视台综合布线项目建设和柬埔寨国家警察局大楼视频监控项目建设。对于如何在海外实施弱电工程积累了一些经验,希望通过本文,与大家共享项目实施过程中的艰辛和海外弱电项目的一些特点。

1项目概况

1.1安哥拉国家电视台综合布线项目

本项目是安哥拉电视台项目的配套工程,主要工作任务是完成电视台制作中心和发射中心内部的电话网、数据网的综合布线,并提供必要的机房设备和办公自动化设备。以下简称TPA-ZHBX。

1.2柬埔寨国家警察局大楼视频监控项目

本项目是为柬埔寨内政部国家警察总局建立覆盖总局楼群的视频监控系统。包括分布于大楼内外的各类摄像头和分布于监控室、警察总监房间、秘书房间的不同类型的控制和监控设备。以下简称CAM-JCJK。

2项目计划

通常,海外工程的项目计划的时间估算比较困难,因为物流的不确定性,项目执行的时间跨度可能比较大。项目计划的内容主要包括:项目范围、项目组织、培训计划、工作任务分解(WBS)、风险识别和应对、项目里程碑及工作日程安排。

2.1项目范围

海外工程通常采用EPC方式,即工程总承包,这种模式在项目的招标阶段,业主往往只能给出项目的预期目标、功能要求及设计标准,因此,当合同签订后,需尽快与业主确定设计图纸与材料设备清单,这样才能最终确定项目范围。

2.2项目组织

项目组织中除了通常国内项目中都会有的项目经理、施工人员之外,还应充分考虑与业主、监理的沟通需要,有时会配备专职翻译。

通常项目的设计、采购、发货在国内进行,施工在国外进行,因此,项目经理要克服时差等困难对国内外两个团队进行协调和沟通,推进项目的顺利进展。

2.3工作任务分解

工作任务分解是项目计划中最重要的一部分。通常,项目的开始阶段会有各种不可预期的问题需要磨合解决,因此,我们会在项目开始阶段为各项任务留出较大的余量,而在项目中后期,一切走入正轨后,可以将各项任务的时间安排得紧张一些。例如,通常情况下,预计完成一层楼电缆的铺设需要2天时间,那么,如果这项任务位于项目的前期,则不妨将工作时间估算为3天,而如果这项任务位于项目的后期,则2天就可以保证完成任务。

3项目实施

3.1沟通管理

在海外做工程项目,沟通是最重要的,而沟通又是最有障碍和最有挑战性的。主要的问题在于:语言问题、文化问题、标准问题。

安哥拉的官方语言是葡萄牙语,因此,与当地人的沟通很困难,在一些重要的会议上,都需要依靠翻译。柬埔寨情况稍好,很多人都会英语,沟通起来相对容易。

文化上的冲突也不少,当地人工作作风涣散,时间观念差,给我们的工作造成了很大的麻烦。

在TPA-ZHBX项目中,最初我们是按中国标准来设计的,业主也表示认可,但当西方的监理公司介入后,要求按照西方标准进行修改,这就涉及到大量的沟通和协调问题。

3.2现场记录

做好现场的记录是海外工程中非常重要的一环,主要有:

项目周报:海外工程的项目经理每周会以书面形式,向公司报告项目的进展情况。

会议记录:我们与客户、监理定期召开会议,与分包商、设计单位也定期召开会议,这些会议的议题和决议都要形成会议纪要并存档。

变更记录:所有与原设计不同的变更都必须有记录,并且需要相关人员签字确认,以便于最终的工程结算和决算。

声像记录:项目经理应尽可能的用照相机、摄像机拍摄下施工过程中的进展情况,为项目的总结和回顾留下珍贵的声像资料。有些资料甚至会成为保险索赔的重要证据。例如在安哥拉工地曾发生一次火灾,当地人放火烧荒,将我们的一台挖土机引燃,最终通过我们拍摄的照片找保险公司索赔成功。

3.3风险应对

项目计划中应该进行风险的识别和制定应对预案,在项目实施过程中,应该对这些风险进行实时的追踪检查。当然,有些难以预料的风险发生后,也要能够及时的加以处理,以免造成更严重的后果。下表是CAM-JCJK项目的实际风险情况:

从项目计划中的风险预测与实际发生风险表的对比来看,我们根据以往经验制定的风险识别和应对方案基本涵盖了实际发生的风险类型,并对进度风险、当地公司配合风险、系统实施风险进行了较好的识别和预测。

3.4变更控制

项目执行中,通常都会出现变更,有时候一些变更会对项目的工期和预算造成很大的影响,因此需要充分的沟通,有理有据有节的为公司赢得最大利益,并对变更进行控制和管理。

例如在CAM-JCJK项目中,业主在工程即将完工的时候,要求将一台原设计在监控室中的控制台移至应急指挥中心。在与业主进行沟通后,我们发现在应急指挥中心安装控制台有着房间面积大,视觉效果好的优点,有利于项目产品的推广。因此,我们很快制定出一套最经济的安装方案,向公司做了汇报,公司同意后,双方签字确认。最后我们成功的实施了此次变更,取得了很好的效果。

5项目完工

5.1项目交付

项目交付工作涉及到培训和验收测试。

通常,培训都采用业主的母语或者英语进行,相关的资料也必须翻译成这两种语言。

在TPA-ZHBX项目的培训中,涉及到程控交换机的手册多达十几本,非常复杂。最后,我们自行缩写、编撰了简单易行的Q&A手册,取得了很好的效果。

验收测试工作需要与业主和监理进行很好的沟通,由于标准的不同,监理往往对测试的设备、方法都要求按照他们的标准进行,这就需要我们提前准备好各种设备的性能测试报告,有些测试报告还需要国内的设备供应商提供英文版本。

5.2项目总结

及时的总结非常重要,通过总结,项目团队能更上一层楼,公司能积累更多的经验,为公司在未来的项目中取得成功提供保障。

项目总结主要包括项目实际工期、风险跟踪、实际工作量与计划的对比、项目成本核算、遗留问题汇总、经验总结与建议等等。这是公司的一份宝贵财富。

第8篇

关键词:软件项目管理;软件配置管理;软件项目计划书 

1软件项目管理的组织模式 

 

1.1项目管理委员会。项目管理委员会是公司项目管理的最高决策机构,—般由公司总经理、副总经理组成。主要职责如下:(1)照项目管理相关制度管理项目;(2)监督项目管理相关制度的执行;(3)对项目立项、项目撤消进行决策;(4)任命项目管理小组组长、项目评审蚕员会主任、项目组组长。 

1.2项目管理小组。项目管理小组对项目管理委员会负责,—般由公司管理人员组成。主要职责如下:(1)草拟项目管理的各项制度;(2)组织项目阶段评审;(3)保存项目过程中的相关文件和数据:(4)为优化项目管理提出建议。 

1.3项目评审小组。项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,—般由公司技术专家和市场专家组成。主要职责如下:(1)对项目可行性报告进行评审;(2)对市场计划和阶段报告进行评审;(3)对开发计划和阶段报告进行评审;(4)项目结束时,对项目总结报告进行评审。 

1.4软件产品项目组。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。 

2软件项目管理的内容 

在二十世纪八十年代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同洋,我们盔件项目管理时,也应该遵循这七条原则。它们是:(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能够清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性。 

3编写《软件项目计划书》 

 

《软件项目计划书》一般应该包括下述内容 

(1)引言。A计划的目的;页目的范围和目标:范围描述;主要功能;性能;管理和技术约束。(2)项目估算。使用的历史数据;b使用的评估技术;c工作量、成本、时间估算。(3)风险管理战略。风险识别;d风险的时论;e冈险管理计划:风险计划风险监视;风险管理。(4)日程。a项目工作分解结构;b时限图(甘特图);c琶源表。(5)项目资源。a人员;b硬件和软件;c特别资源。(6)人员组织。a组织结构;b管理报告。(7)跟踪和控制机制。a质量保证和控制;b变化管理和控制。(8)附录。 

4软件配置管理 

软件配置管理应提供的功能:在IS090003中了如下描述: 

唯一地标识每个软件项的版本;标识共同构成一完整产品的特定版本的每一软件项的版本;控制由两个或多个独立工作的人员同时对一给定软件项的更新;控制由两个或多个独立工作的人员同时对一给定软件项的更新:按要求在—个或多个位置对复杂产品的更新进行协调;标识并跟踪所有的措施和更改;这些措施和更改是在从开始直到放行期问,由于更改请求或问题引起的。 

5软件质量管理 

 

5.1软件质量保泾计划。在进行软件开发前。需要有—个《软件质量保证计划》。一般包括以内容:(1)计划目的;(2)参考文献;(3)管理。a组织任务;b责任。(4)文档。a目的;b要求的软件工文档;d也文档;(5)标准和约定。a目的;b约定(6)评审和审计。a目的;b评审要求。软件需求自噼审;设计评审;软件验证和确认评审;功能评审;理评审;内部过程评审;管理评审。(7)测试。(8)题报告和改正活动。(9)工具、技术和方法。(10)媒体控制。(11)供应者控制。(12)记录、收集、维护和保密。(13)培训。(14)风险管理。 

5.2质量管理的基本原则。控制所有过程的质量;过程控制的出发点是预防不合格;质量管理中心任务是建立并实施文件化的质量体系;持续的质量改进;有效的质量体系应满足顾客和组织内部双方的需要和利益;定期评价质量体系;搞好质量管理关键在于领导。 

5.3软件评审。软件评审并不是在软件开发毕后进行评审,而是在软件开发的各个阶段都进行评审。因为在软件开发的各个阶段都可能生错误,如果这些错误不及时发现并纠正,会不地扩大。最后可能导致开发的失败。软件评审是相当重要的工作,也是目前国开发最不重视的工作。

5.4测试。测试—般包括单元测试省测试集成系统测试。如果测试结果与预期结果不—致,则很可能是发现了系统中的错误,测试过程中将产生下述基本文档:(1)测试计划:确定测试范围、方法和需要的资源等。(2)测试过程:详细描述和每个测试方案有关的测试步骤和数据(包括测试数据及预期的结果)。(3)测试结果:把每次测试行的结果归人文档,如果运行出错,则应产生问题报告,并且必须经过调试解决所发现的问题。  

6软件风险管理 

6.1风险的分类。根据风险内容,我们可以将风脸分为项目风险(成本提高,时间延长等)、技术风险(技术不成熟等)、商业风险(销售问题等)、战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)、预算风险(预算是否准确等)等。另外,我们还可以将风险分为已知风险(如员工离职等)、可预报风险(从以往经验得出可能有风险的)和不可预知风险。 

6.2风脸的识别。风险项目检查表。主要涉及以下几方面检查:(1)产品规模风脸检查;(2)业务影响风险检查;(3)与客户相关的风险检查;(4)过程风险检查;(5)技术风险检查;(6)开发环境风险检查;(7)与人员的模式和经验有关的风险检查。  

6.3风险评估。风险评估主要从下面七个方面进行:(1)发生的可能性;(2)发生的结果(影响) (3)建立—个尺度表示风险可能性(如,极罕见、罕见、普通、可能、极可能);(4)描述风险带来的后果;(5)产品和项目的影响;(6)确定风险评估的正确性;(7)根据影响排定有限队列。另外,要对每个风险的表现、范围、时间做出尽量准确的判断。