文档库 最新最全的文档下载
当前位置:文档库 › 持续集成相关研究总结

持续集成相关研究总结

持续集成相关研究总结
持续集成相关研究总结

持续集成学习总结

(一)持续集成概述

1.定义

大师Martin Fowler对持续集成是这样定义的:

持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

2.原则

(1)所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而

确保他们的变更不会导致持续集成失败。

(2)开发人员每天至少向版本控制库中提交一次代码。

(3)开发人员每天至少需要从版本控制库中更新一次代码到本地机器。

(4)需要有专门的集成服务器来执行集成构建,每天要执行多次构建。

(5)每次构建都要100%通过。

(6)每次构建都可以生成可发布的产品。

(7)修复失败的构建是优先级最高的事情。

3.要素

统一的代码库

自动构建

自动测试

每个人每天都要向代码库主干提交代码

每次代码递交后都会在持续集成服务器上触发一次构建

保证快速构建

模拟生产环境的自动测试

每个人都可以很容易的获取最新可执行的应用程序

每个人都清楚正在发生的状况

自动化的部署

4.周期

一个典型的持续集成周期包括以下几个步骤:

持续集成服务器不断从版本控制服务器上检查代码状态,看代码是否有更新。

如果发现代码有最新的提交,那么就从版本控制服务器下载最新的代码。

等代码完全更新以后,调用自动化编译脚本,进行代码编译。

运行所有的自动化测试。

进行代码分析。

产生可执行的软件,能够提供给测试人员进行测试。

5.价值

持续集成的价值在于:

﹡减少风险

一天中进行多次的集成,并做了相应的测试,这样有利于检查缺陷,了解软件的健康状况,减少假定。

﹡减少重复过程

减少重复的过程可以节省时间、费用和工作量。说起来简单,做起来难。这些浪费时间的重复劳动可能在我们的项目活动的任何一个环节发生,包括代码编译、数据库集成、测试、审查、部署及反馈。通过自动化的持续集成可以将这些重复的动作都变成自动化的,无需太多人工干预,让人们的时间更多的投入到动脑筋的、更高价值的事情上。

﹡任何时间、任何地点生成可部署的软件

持续集成可以让您在任何时间发布可以部署的软件。从外界来看,这是持续集成最明显的好处,我们可以对改进软件品质和减少风险说起来滔滔不绝,但对于客户来说,可以部署的软件产品是最实际的资产。利用持续集成,您可以经常对源代码进行一些小改动,并将这些改动和其他的代码进行集成。如果出现问题,项目成员马上就会被通知到,问题会第一时间被修复。不采用持续集成的情况下,这些问题有可能到交付前的集成测试的时候才发现,有可能会导致延迟发布产品,而在急于修复这些缺陷的时候又有可能引入新的缺陷,最终可能导致项目失败。

﹡增强项目的可见性

持续集成让我们能够注意到趋势并进行有效的决策。如果没有真实或最新的数据提供支持,项目就会遇到麻烦,每个人都会提出他最好的猜测。通常,项目成员通过手工收集这些信息,增加了负担,也很耗时。

持续集成可以带来两点积极效果:

―有效决策:持续集成系统为项目构建状态和品质指标提供了及时的信息,有些持续集成系统可以报告功能完成度和缺陷率。

―注意到趋势:由于经常集成,我们可以看到一些趋势,如构建成功或失败、总体品质以及其它的项目信息。

﹡建立团队对开发产品的信心

持续集成可以建立开发团队对开发产品的信心,因为他们清楚的知道每一次构建的结果,他们知道他们对软件的改动造成了哪些影响,结果怎么样。

6.目的

持续集成实践的目的不是减少Build失败的次数,而是尽早发现问题,在最短的时间内解决问题,减少风险和浪费。如果想尝试持续集成,首先需要的是持续集成服务器,比如Cruise Control或者VSTS;然后需要把现有的Build自动化,比如写Ant脚本;最后就是在持续集成服务器上进行配置,比如配置版本控制,集成间隔时间,如何部署,如何反馈等。

(二)持续集成流行工具初步分析与建议

持续集成的工具现如今也是百花齐放,各有千秋,接下来我们主要介绍一下目前主流的持续集成工具。

我们将从以下几个方面来进行介绍;

1. 厂商

2. 支持的编程语言

3. 价格

4. SCM支持程度

5. 构建管理

6. 消息通知机制

7. 构建工具支持

8. 项目管理工具集成

9. 测试工具集成

10. 安装及配置

11. IDE集成

Ⅱ.LuntBuild ,它的商业版本是QuickBuild.

(https://www.wendangku.net/doc/2a17813127.html,/index.php)

Ⅲ.Hudson,目前使用最广的持续集成工具.(https://www.wendangku.net/doc/2a17813127.html,/)

Ⅳ.持续集成流行工具的初步分析与建议

持续集成(continuous integration)作为敏捷编程的基石现在已经被绝大多数的开发团队所广泛采用。而持续集成的工具现如今也是百花齐放,各有千秋,在此主要对比了在Java 领域中比较常见的几种CI server(因为公司要求统一整个公司的CI server)。如果想了解更多的工具,可以看这里:

https://www.wendangku.net/doc/2a17813127.html,/display/CC/CI+Feature+Matrix 在此主要针对以下几种CI Server作对比,版本有点多,国内的多选用了一些open source 的,而老外那边用得比较多的是商用版本;

CruiseControl (https://www.wendangku.net/doc/2a17813127.html,/)

Hudson (https://https://www.wendangku.net/doc/2a17813127.html,/)

LuntBuild (https://www.wendangku.net/doc/2a17813127.html,/)

TeamCity (https://www.wendangku.net/doc/2a17813127.html,/teamcity/)

AntHill Pro (https://www.wendangku.net/doc/2a17813127.html,/)

Bamboo (https://www.wendangku.net/doc/2a17813127.html,/software/bamboo/)

QuickBuild (https://www.wendangku.net/doc/2a17813127.html,/)

在持续集成领域,OpenSource的CruiseControl和LuntBuild可谓老牌了,尤其是CruiseControl,出自thoughtworks,这可是Martin Fowler的老巢啊。Hudson作为OpenSource 里持续集成的后起之秀,现在已经赶超了这两个前辈,目前恐怕是使用最多的一个CI Server 了。而后面4个是商用的CI Server,其中TeamCity是来自jetbrains的,jetbrains是开发著名的IDE IntelliJ的公司。Bamboo则是开发著名的Bug Tracking工具Jira和Wiki Confluence 的公司atlassian公司出品的。AntHill也属于Continuous Integration界的元老,QuickBuild则是LuntBuild的商业版本,我在下面重点考量的是QuickBuild,因为LuntBuild好像现在更新较慢了,而且QuickBuild现在好像也有了免费的所谓的Community Edition,功能齐全,只是配置数有所限制。在这些商业版本中,TeamCity应该是目前市场占有率最高的。由于公司里比较倾向使用商业版本的服务器,所以我重点比较的是后4种,捎带比较了一下CruiseControl和Hudson。TeamCity和QuickBuild都有各自的免费版本,有兴趣的也可以去看看。

CI Server在本质上就是一个定时调度器。我们配置一系列的项目,然后设定一个定时器,让它干一些活,然后通知大家。所以很多公司都使用所谓Home-made的工具,用cron+Ant/Maven来做持续集成,这个就已经可以达到CI的最简单的功能了。而使用工具,就是我们除了基本的编译和通知功能以外,我们还有很多其它的需求,在公司里,选择CI Server主要考虑以下几点:

·便于公司的统一管理(大约有200+ Projects需要统一管理)

·对于项目本身进行流程管理: Daily Build -> QA Build -> Release Build

·公司AD(Active Directory)的连接以对用户进行权限管理

·Continuous Testing的支持,即对于项目的Test要能产生出详尽的报告以及收集Test 的统计数据以作为项目的分析和考量

·Continuous Code Quality Analysis的支持,即能处理项目产生的Coverage报告,Code 的static analysis报告,并且能收集这些报告的统计数据以作项目的分析和考量·与SCM工具的集成,我们公司主要有三种VCS,ClearCase, Subversion和StarTeam ·与其它工具的集成,如bug tracking工具,IDE集成等等。

安装CI

安装是我们开始的第一步,同时也对各个CI server都有了初步的印象。按照各自的手册,很快就装好了,我基本上选择的是Standalone的版本,就是不配置数据库,使用自带的,也不deploy到Tomcat或者其它容器,这点,基本上每个CI Server都非常简单。

AntHill要download还得提交一个request,然后才能下载,安装。

配置项目

在大多数的CI Server中,绝大部分都是以Project或者Project Group来进行管理,只有LuntBuild和QuickBuild比较另类,它们使用了Configuration这个术语,意即一个配置。在配置一个典型的项目的时候,即只处理基本的一个流程:CheckOut, Build, Publish Artifacts,这些工具都完成的非常好,也非常简单。

TeamCity的导航最方便,一目了然。

而LuntBuild和QuickBuild在这方面稍显人性化不足,这两个工具都没有使用wizard

的模式。

下面,我接着实验配置50个测试项目,这也就开始考验一个CI Server的管理能力了。

QuickBuild最实用,因为它使用Configuration而不是Project,并且它是这些CI Server 中唯一支持树状结构配置的。我可以把Configuration配置成Team A, Team B ...,然后根据实际情况,对每个Team配置任意多个子节点,孙节点(注意,Configuration的数目在QuickBuild的Community Edition里是要限制的,好像是最多16个)。QuickBuild的继承关系使用起来也非常方便,如果要管理一个大型的CI Server,没有这种继承简直是一种折磨。比如说用hudson来配置50个项目,要需要大半天,而用QuickBuild来,只需大约一个小时,我实际配置的Configuration(含有实际step定义的)只有3个,其它的都是继承下来,然后修改了一下参数而已,而如果我们需要批量修改一系列的configurations的时候,则由于有继承关系,通常我们只要去修改一下父节点的设置就可以了。

TeamCity支持Project Group的概念,类似于一种树形,但是还不完备,它只能分成两级关系,即Project Group和Project。另外QuickBuild所拥有的继承的功能,在别的CI里没有看到过,有的只是象TeamCity类似的copy project的功能。而QuickBuild在复制的能力上远远胜过其它的CI Server,它可以整个子树拷贝,这也就意味着,我可以配置一个公司用的template configuration树,然后复制出A部门,B部门,C部门,等等等等。对于不同项目之间的区别则通过变量来控制,赞一个!TeamCity在配置的方便上真得是没话说,非

常直观,最酷的是象JUnit,NUnit这样的Tests,连Ant脚本都不需要写了,它直接就可以找出项目里的unit tests,这个在其它的工具里也没有看到过。

至于CruiseControl,Hudson,Bamboo等则是中规中矩,无甚亮点。

另外配置一个项目要配的就是项目持续集成的流程管理,在我们这里,基本上是这样一个流程: Daily Build -> QA Build -> Integration Build -> Release Build。所谓Daily Build,顾名思义,就是每天一次的,由development team管理以保证项目的顺畅执行,然后经过一段时间后,development team要提交到QA那边进行测试,通常是2个星期到一个月左右,随项目大小不等,QA测试结束之后,如果没有重大的问题,则提交作Integration Test,以保证在模拟的实际环境中能正常工作,最后,如果没有什么问题的话则作Release Build以形成发布版本。对于公司里有一些Team使用敏捷编程的,则需要增加所谓的Commit Test Build,也就是developer在作每一个check in的时候自动触发一个build,以保证build不会被这个check in破坏(包括不会破坏unit tests和code quality)。这也是所谓的要作continuous testing 和continuous code quality analysis,这些都是通过利用JUnit, NUnit,CheckStyle, PMD,Cobertura,FxCop等工具来实现的。

这个环节里,个人比较喜欢AntHill Pro和QuickBuild,这两个工具都是比较强调流程的,尤其是AntHill Pro更是将其作为卖点。AntHill Pro以工作流的模式来定义这个流程,一个项目可以定义多个的workflow,对应于我们的case,就是定义Daily Build的workflow,定义QA Build的workflow,等等,然后在作promote的时候,通过选择不同的workflow来达到目的。

QuickBuild则是利用已有的configuration的概念,定义不同的Configuration,然后在Configuration的setting里定义一个或多个要promote的configurations。要作promote的时候,则通过点击某个build的promote按钮将其promote到指定的configuration上去,也很方便。使用AntHill的模式,概念上很清晰,因为我们要作的是流程管理嘛,所以workflow会听起来比较容易接受。而QuickBuild则是把它绑定在Configuration上,使用起来比较简单,但是找起来要费点事,至少对于我而言是这样。Hudson也有类似的流程管理,但是它是自动的,而promote在我们这里是需要人来作review的,也就是说要人去参与,判断究竟使用哪个版本来promote,所以在我们这里,不是很合适。

在配置项目这个环节里,个人感觉QuickBuild比较灵活,既可以做到很简单的配置,也可以做到非常复杂的配置,而且配置起来方便性非常好。只是术语与其它的CI Server有些不同,需要熟悉一下。

Build功能:CI Server最重要的就是Build本身的功能,包括SCM的连接,用户的权限管理,Build工具的支持。首先我们来看看SCM的支持。

SCM支持

在这些CI Server中,AntHill Pro和Hudson支持的种类最多,尤其是Hudson,基本上市面上的SCM都有所支持。对于象比较常见的Subversion,CVS,ClearCase,StarTeam,SourceSafe等,各家都已经支持了。

而QuickBuild,则属于在SCM里支持最少的一家,它还不支持git,Team Foundation Server,这个目前已经很流行的两种SCM,QuickBuild在支持SCM的时候,由于使用变量的支持,却是多家CI Server中最灵活的一家,它可以使用变量来配置SCM的URL,而其它的,则是通过定义一个基本的URL,然后针对不同项目来定义各自的SCM repository。而QuickBuild还有一个它自有的QuickBuild Repository,用于在不同的Configuration中传递artifacts,实际用起来也很方便,比如说我们在一个项目里要用到别的项目的artifacts,那么就可以定义一下这个repository。当然,这个功能也可以通过Maven的repository来完成来达到相同的目的。TeamCity也提供了类似的机制,只不过TeamCity的Repository其实就是一个Ivy的扩展。

SCM的数据在这些CI Server中都有体现,从每一个Build的change sets到历史统计。说明现在大家都很重视对于这些数据的收集和分析。其中TeamCity能直接从Web页面上直接调用IDE来打开这些改动的文件是一大亮点,毕竟是做IntelliJ的公司!

用户管理

这个基本上是每个CI Server的必备功能了,基本上都是既可以用内置的数据库管理(Hudson好像没用数据库),又可以连接LDAP服务器。

Build的Dependencies管理(Dependent Builds)

在实际的项目中,我们常常会出现项目之间的依赖关系,比如说A项目依赖于B项目,B项目依赖于C项目。所以当我们要编译A项目的时候,我们需要先编译C项目,然后编译B项目,最后再来编译A项目,这样做的好处显而易见,就是保证我们总是使用最新开发的code来编译一个版本,如果发生了什么问题,我们也可以很容易的知道究竟是哪个项目break了整个build的流程。这个功能基本上所有的这些CI Server都有提供,而能力各有千秋。

TeamCity在这里属于最弱的一个,它只能通过定义Ivy来达到Artifacts在不同项目中的依赖管理。

而AntHill Pro,Bamboo和QuickBuild则都有提供两种类型的dependency管理,即artifacts和项目本身的依赖管理。

不过TeamCity却有另外的杀手锏,就是导入项目的功能,它支持从IntelliJ的项目,Maven的项目中直接导入创建这种依赖关系。

分布式Build Pool

由于公司的项目繁多,平台繁多,对于一个项目需要分布到不同的平台去编译,测试,这时候就需要建立一个Build Pool了,基本上述各家的CI Server都已经支持了这种分布式的build pool,其实质是利用了grid computing技术来进行管理。也就是一个build server带上一群的build agent,然后把build的任务分布到不同的agent上去执行。

在这里不得不再赞一个QuickBuild了,其实QuickBuild的agent与其它家的倒没什么不

同,只不过就是一个computing unit,关键在于QuickBuild里配置一个configuration,它使用了step的概念,这个step在AntHill Pro里也存在,关键在于这个step是可以分布的,也就是说,我配置一个项目的时候,可以定义一系列并行的分布式的step,这样对于管理和收集artifacts非常方便,我们可以定义Test On Windows, Test On Mac, Test On Linux,然后设置一下运行这些step的时候需要什么类型的agent,QuickBuild就可以把这些任务分布到这些平台的agents上去运行了。

而其它家的可能是因为收费的方式,象TeamCity,一个build只能在一个agent上运行,我如果要做到同样的效果,就需要定义出三个项目,然后让这三个项目在不同的agents上运行,最后,还要再定义一个项目,让这个项目去收集它们的artifacts,非常麻烦。

Bamboo和AntHill也类似于TeamCity。

而Hudson在这块的能力很弱,个人感觉不如其它的产品强大,而且使用起来也更复杂一些。

Report功能和统计

上述各家CI SERVER都提供了Report的功能和统计的功能。

Hudson是支持报告类型最多,最全的,因为是OpenSource的,有太多人开发。

Bamboo属于支持报告类型最少的,不过也有很多第三方的plugin(插入式的)供选择。我们所关心的几个reports都有被各家支持;

QuickBuild的report给我的感觉最华丽,不过好像是参考google analytics来的,从界面上看和analytics简直就是一个翻版。

在使用上,QuickBuild和TeamCity的最方便,直接点报告中的链接就可以作一些过滤。

在统计信息方面,各家对tests的统计都非常完备,这也从一个侧面反应出test driven 现在已深入人心。

在支持Test Driven方面,TeamCity是力拔头筹,得益于开发IntelliJ的经验,TeamCity 不仅可以自动寻找出项目中的unit tests(你不用在Ant脚本里调用junit task,或者在Maven 里调用surefire),而且对于上次运行失败的test cases,它可以在下次build中自动先运行,这样就可以避免一个build运行了很久才发现上次失败的test还没有被更正过来呢。

另外,要提一下,QuickBuild中那个Build的Dashboard我非常喜欢,对于一个项目当前的状况可以一目了然,有多少个tests成功了,多少失败了,多少被fix了,多少还没有fix,总之,信息很丰富,不过就是配置起来有点复杂,需要我去一个报告一个报告去加step,如果能做到TeamCity的程度,简直就是完美了。

对于其它的CI Server则是亮点不多。其实也很强,只不过是对比而言,我觉得TeamCity 和QuickBuild更强,更好。

与第三方工具的集成

在与第三方工具的集成中,Hudson遥遥领先,是所有CI Server里Plugin最多的。可以和FaceBook,Google Calendar,Twitter,反正基本上你能想到的,它都有。不过对于我们而言,好多Plugin没有太大的价值。Bamboo在与它自己的几个产品中集成度也非常好,比如说Jira,Wiki,Clover等。这几个我们公司都有用到,在这点上非常理想。

价格

考虑一下价格的因素,记得有人说过,Price is nothing, but price is everything,尤其在这个金融危机的年代里。OpenSource永远是最好的。而在商用的这几个里QuickBuild最便宜,它使用的是Site License,一个Site收$2999,AntHill最贵,随便搞搞就要$10000了,TeamCity 的入门也很便宜,$1999带3个agents,它是按agent收费的,Bamboo也很贵,按照它的功能而言,性价比不是很好。

总结

综合各方面因素,基于原笔者的考虑,最后得出结论比较倾向于QuickBuild,虽然这个产品名声不是很大,不过在它的客户中,不乏象Cisco,HP这样级别的公司,应该还是可以值得信赖的。另外就是我们使用下来觉得它还是拥有诸多亮点,对于统一管理来说,可谓是方便至极。另外价格方面考虑也很不错。当然如果你的团队不是很大,那么选择QuickBuild 的Community Edition和TeamCity的Professional Edition都是非常值得,这两者都是免费的,而且QuickBuild的Community Edition功能没有任何裁剪,只是限制了一下configuration的数目,非常适合要求比较高而项目不是很多的团队。

(三)持续集成的具体实施经验举例

持续集成有很多很多的好处。可是持续集成要做好的话,本身就有很多的讲究。从持续集成工具的选择到持续集成具体实施,每一点都可能影响到你使用持续集成的效果。持续集成不是持续编译,也不是仅仅用来发发邮件的工具而已。

首先选择一个好的工具很重要,可能会觉得QuickBuild这个工具真得很不错。工具选好了,具体怎么做呢?这个没有什么标准可以遵循,每个项目都是不一样的,我谈谈我们这里的具体过程吧。

首先,我们对编码有一些规范需要遵从,所以我们制定了一系列的FindBugs和PMD

的规则用于检查代码。

其次,我们使用Cobertura作为我们的代码覆盖(code coverage)工具。

再次,我们使用JUnit作为我们的unit test工具

基于上述几点,我们编写了我们的Ant脚本,这个脚本有一系列的task,基本上就是: compile, source code analytics, unit test, generate reports, generate javadoc, package artifacts

这个,也是Java领域中经常使用的一个完整的过程。

有了这样一个脚本以后,我们开始配置我们的项目到QuickBuild中去,在QuickBuild 中,我们配置一个configuration,然后设定我们的SCM repository,对应于我们的ant task,我们配置了一系列的step,用于完成整个过程。由于我们的测试需要跨平台,所以对应与同一个unit test的task,我们使用QuickBuild的分布式的step功能,使之在不同平台上可以进行测试,这一点也是使用CI Server的一个好处吧。

对应于这个configuration,我们配置了四个子configuration,分布是Development Configuration, QA Configuration,Integration Configuration和Release Configuration。这几个configuration分别对应于我们开发过程的四个阶段,我们的每日构建都是在Development configuration上的,所以我们配置为每日一次,而对于其它三个则不做自动的构建。因为我们是通过Promote来做的。对于Development Configuration,我们没有对SCM自动打Label,

而对于其它的,我们则对每一个Build自动对SCM进行打Label。

有了这些以后,开发工作开始了,我们每天的代码在下班前都提交到subversion里去,第二天,Development Configuration就自动的编译完成了,并且发送通知给我们。我们通常会会开一个Morning Meeting,首先我们会到在QuickBuild的页面上,看到昨天有哪些个改动,测试的状况,比如说哪些测试修正了,哪些测试还没有被修正,哪些source code没有通过代码检查。然后我们会点到具体的报告中去分析,这些报告都可以很容易的打开source code,我们可以直接在上面对各个改动做code review。通常这个工程耗时约30分钟结束。经过这样开发之后一段时间,我们的功能很多已经就绪,就可以提交给QA作test了,由于当日的构建可能失败,或者不是我们特别想给QA的,那么我们会选择之前几日的一个好的build做Promote,这个promote就会自动触发QA Configuration去做build,QA Configuration 的build做完以后,就会发送一个邮件通知QA Lead,这封邮件里QuickBuild会把所有与上一个QA build的changes都列出来,这样他就知道我们这个版本里增加了什么功能,修正了什么bug。

再如此经过几个迭代后,我们开发组和QA组一致认为功能基本实现了,bug也不多了,于是就由QA的Lead做一个Promote,触发Integration Configuration不build一个大版本交给客户,做VOC (V oice of Customer),听却客户的意见,如果客户没有什么易见的话,那么就会在Integration Configuration上做一个Promote到Release Configuration上去。

通过这样做,我们基本上可以很容易的知道每一个版本之间有什么变化,甚至我们可以很容易的重新build出任何一个时间点上的版本。而且,我们基本上无需操心什么时候给SCM 打什么样的Label,因为对于我们而言,我们需要看到的只是每一个版本的build。而如果用subversion来管理的话,也许你也可以通过命令来列出在SCM中各个版本的变化,但是如果有一天,你头昏忘记打label的话,或者打错label的话,也许要找到这个问题就不是那么容易了。又也许,你可以通过一系列的命令来完成这里提到的所有功能,但是我是懒惰的,而且很容易做错事情,所以我觉得如果机器可以完成的话,就让机器去做吧。

(四)基于Ant 搭建敏捷开发过程中的持续集成环境

持续集成(CI)是敏捷开发过程中至为关键的一个环节,在每个迭代开发周期中,合理地对软件产品进行持续集成,将有效协调软件编码,测试以及版本发布各个团队的工作进程,降低软件开发风险,对客户需求做出最及时有效的反馈。Apache Ant 提供了丰富的核心任务以及扩展任务来完成持续集成过程中的各项工作,同时开源社区Ant-Contrib提供的Ant 任务更是大大增强了Ant 的可编程性,使得Ant 有能力完成更为复杂的逻辑操作。本文中将展示一个典型的Web 2.0 应用在敏捷开发过程中的持续集成环境,并展示每个部分如何由Ant 来具体实现。

1.基本的持续集成环境

一个持续、稳定的构建是整个持续集成过程中的关键。在每个迭代周期的开发过程中,软件开发团队应当及时将最新的功能代码进行提交和构建,以便使软件测试团队能够进行功能或系统测试,及早发现缺陷并尽快解决。同时,在相应迭代周期的后期,版本发布团队应该能够获取经过验证后的最新的产品构建,并将其打包成可交付产品或进行线上产品的更新,交由产品的项目关系人或最终客户进行使用,确保客户需求与软件产品一致。目前在Web 2.0 应用的敏捷开发过程中多采用这样一种集成环境,以满足Web 2.0 应用最为典型的“Always Beta”特性。

下图展示了一种基本的持续集成环境的拓扑结构。

图 1. 持续集成环境的拓扑结构

持续构建服务器上的Ant 脚本首先从源代码管理库获取最新的代码,并按照特定的构建策略执行构建,比如在固定时间触发每日构建,而后将构建结果自动上传至FTP 服务器用以保存和分发;功能测试(FVT) 或系统测试(SVT) 环境则包括了测试服务器和测试数据等信息,其上的Ant 脚本则负责从FTP 服务器获取最新的构建,提取更新所需的产品代码(如果需要,还要提取必要的数据库更新脚本,完成数据库架构的重构)来完成测试环境的更新,而后调用测试脚本进行测试并产生测试报告;产品环境则是面向终端用户的产品运行环境,其上的Ant 脚本可以将通过测试的构建生成可交付的产品或线上产品更新包,这一过程常伴随产品版权信息验证、产品包压缩以及产品部署等动作。

2.Ant 如何帮助持续集成

Ant 作为Java 开发领域应用最为广泛的自动构建工具,不仅可以帮助开发团队实施每日构建生成构建包,更支持在此构建包基础之上,生成测试团队和版本发布团队所需要的构建包以完成后续的产品测试与发布工作,最终使得整个迭代周期过程的产品集成实现自动化。本文不会对Ant 的基本概念和所有任务进行逐一介绍,而是将作者在实践过程中认为对持续集成有所帮助的概念和任务加以解释阐明,以期读者更好地了解Ant 的能力,并加以灵活的运用。

3.

任务提供了在一个构建脚本内调用外部脚本特定目标(target)的能力,这种能力可以很好的帮助我们管理整个持续集成过程。特别是在有多个项目构建需求的情况时,设计一个独立的控制脚本,借助 任务使其通过调用不同的项目构建脚本完成整体项目的集成,这样做的一个最明显好处是使我们可以快速的适应项目变动,符合随需应变(On Demand)的开发模式。

任务区别于 任务之处在于,其只能调用同一个构建脚本之内的构建目标,他所提供的是对一个构建脚本自身的清晰管理。以往依赖于depends 属性的方式使得我们很容易迷失在复杂的目标依赖关系中,而使用 则能够将每个构建脚本的任务以显式的、易修改的方式呈现给项目构建者。

是ant-contrib 开源项目提供的扩展任务,是增强版本的 任务,他们不仅具备前二者的基本能力,还可以返回外部脚本或同脚本其他目标中的属性,可类比编程语言中带返回值的方法调用。

4.Available 与Condition

在构建过程中,构建脚本不可避免地会对许多外部资源(文件,目录,URL 等)进行访问甚至修改,而为了能够有效的对这些资源进行操作,所需做的第一步通常是验证资源的可用性。 任务可以帮助我们对各种外部资源进行判断,通过设置相应的属性来表明判断结果,进而引导后续的构建操作。

另外,在某些情况下,构建脚本或许需要对多个资源同时进行判断而不仅仅是单个资源。 任务通过支持丰富的内嵌标记(nested element),如// 等,具备了对资源进行更加复杂的逻辑判断能力。

5.For 与If

当我们使用Ant 脚本编写一些较为复杂的逻辑功能,比如循环和流程判断时,自然希望Ant 能支持这种编程能力。然而Ant 核心任务中并没有提供 任务,只是在 任务的属性中支持if 属性,比如,即表示只有module-A-present 属性存在才执行build-module-A 目标。但是,必须注意的一点是,这里的if 并不是判断module-A-present 属性是否设置为特定值,而仅仅是检查该属性是否被设置了,因而其可编程性并不是很强。

Ant-contrib 为Ant 提供了与通常所使用的编程语言功能相同的 任务,在构建过程中灵活运用这两个任务,将大大增强Ant 对逻辑操作的控制能力,这其实就是一种基于XML 脚本的编程。

在具体的实践过程,有一点需要特别注意:在使用 任务的过程中,如果我们期望在循环体内使用一个变量,而非Ant 的property,则需借助由ant-contrib 提供的 任务(ant-contrib 任务)来实现。尽管这与property 的值一经设置便无法改变的设计原则相抵,但有时能够给构建脚本很大程度上的灵活性。

6.Replace 与ReplaceRegExp

在由开发构建包向产品构建包转变的过程中,替换与开发环境相关的属性值是主要工作之一, 比如我们不能假设用户会将JDK 安装在与开发环境相同的路径下,这时便可以使用ant 的 任务, 任务可以针对特定的字符串的执行替换操作。不仅如此,利用Ant 扩展任务所提供的 任务,还可以实现基于正则表达式的替换。

例如,要将test.bat 文件中的行首“java”字符串替换为“../../java/bin/java”而不影响其他“java”字符串,可以使用如下ant 脚本:

7.Filterchain 与Mapper

Filterchain 和Mapper 是在集成脚本中经常用到的ant 概念。Filterchain 增强了面向数据传输的ant 任务的能力,如Concat,Copy,Loadproperties 和Move,借助于各种不同功能的filter,使得这些任务具备了数据筛选和处理的能力,非常类似于Unix 系统中的管道的概念。

例如,要实现将A 文件夹复制到B 文件夹,同时对B 文件夹中所有jsp 文件的文件头添加copyright.txt 文件内容的任务,可以使用如下ant 脚本。

Mapper 则常出现于Copy,Move 或Unzip 任务中,它的作用在于为这些任务增加指定输出文件的能力,使得我们不仅可以通过 来指定源文件集,更可以通过各种不同功能的mapper,来实现重新命名输出文件文件名或更改输出文件目录结构的能力,这在构建持续集成环境中起到了极为灵活的作用,很好的理解这两个概念有助于写出简单而功能全面的ant 脚本。

8.Taskdef

另外,在一个复杂的持续集成环境中,我们不可避免地会涉及一些商业产品或者开源项目来搭建整个环境,比如使用CVS,SVN 或IBM ClearCase作为项目源代码库,使用Apache Tomcat,IBM WebSphere Application 作为测试或产品环境的部署服务器,使用LiquiBase,DBdeploy 作为产品数据库的持续重构工具等。而Ant 借助其易扩展的特性,对所有这些工具提供了很好的支持,外部工具的提供者只要实现特定的Ant 任务接口,就可以提供自定义的Ant 任务,我们只需要通过 任务引入这些特定的Ant 任务,便可以实现与这些工具的连接,实现通过Ant 脚本来管理整个集成环境的目的。

9.实现一个基本的持续集成环境

在一个典型的线上Web 2.0 应用的迭代开发周期中,持续集成通常涉及构建、部署、测试和上线等一系列动作,而这些动作能够自动运行的前提是获取各自需要的产品包(比如基于Java EE 的产品都须提供的WAR 或EAR 文件)。因此,在构建服务器上调用一个综合性的Ant 构建脚本(清单1),产生其它动作所需要的产品包,则成为整个持续集成过程中最为核心的一步。

清单1. 产生其它动作所需要的产品包

return="reportFile" />

if="${reportFile_exist}"/>

password="${password}" workspaceName="${workspaceName}" verbose="true" />

password="${password}" workspaceName="${workspaceName}"

destination="${destination}"

verbose="true" />

inheritAll="false" />

inheritAll="false" />

inheritAll="false" />

password="${FTPPassword}" remotedir="${FTPSharedFolder}/${build.time}"/>

remotedir="${FTPSharedFolder}/${build.time}">

subject="Build Report Mail" tolist="${MailList}" messagemimetype="text/html"

messagefile="mailcontent.html">

不难看出, 任务通过调用不同的任务组合达到了为不同构建目的提供不同构建动作的目的,其中包括对“冒烟”测试,功能测试以及产品环境安装的特定支持,而各个环境所需要的产品包也因 任务目标的不同而不同,这种松散组合的方式为今后脚本的维护和更新提供了良好的基础。

在为产品环境提供产品包(perform_productBuild)的目标中, 扩展任务通过调用外部的checkLicese.xml 脚本来对产品进行版权核查,任何没有版权信息的文本文件都将被记录到reportFile 中。虽然类似的这种功能可以使用多种脚本语言来方便的实现,比如Python 和Ruby 等,但这里给出了基于Ant 的实现,以更好的展示Ant 脚本的灵活性和可编程性。清单2 是使用Ant 实现版权信息检查的部分脚本。

append="true" encoding="UTF-8"/>

对于测试环境和产品环境而言,获取产品包并自动的进行产品部署是两者共同的首要工作,而这个过程中所面临的主要问题通常涉及不同操作系统的脚本移植性问题。幸好,Ant 具备了良好的跨平台能力,我们不必为不同的部署环境(Windows 或Linux)去编写不同的部署脚本,只需将精力集中于产品包的获取和针对不同应用服务器的部署即可,清单3 展示了如何从FTP 服务器获取产品包,并自动发布于IBM WebSphere 应用服务器的过程。

清单3. 获取产品包并自动部署

classname="com.ibm.websphere.ant.tasks.StartServer"/>

remotedir="${product_FTP}">

dest="${basedir}/Production">

password="${MMC_user_password}" conntype="NONE" failonerror="yes">

username="${MMC_user_name}" password="${MMC_user_password}" failonerror="yes">

username="${MMC_user_name}" password="${MMC_user_password}" failonerror="yes">

10.结束语

本文首先介绍了一种在敏捷开发环境中最基本的持续集成环境,然后结合作者自身实践,讲述了几种能够为持续集成提供重要支持和能力的Ant 任务及概念,最后通过示例性Ant 脚本片段展示如何使用Ant 脚本来快速地搭建这样一种环境。

11.参考资料

学习

?Apache Ant 用户手册,从这里可以了解到Ant 相关的详细内容。

?Ant-Contrib Task, 从这里了解更多Ant-contrib 任务。

?查看敏捷专区,了解更多有关敏捷开发相关知识。

?查看IBM WebSphere Application Server 信息中心,获取更多对WAS 对Ant 所提供的支持。

?“敏捷软件开发基础:持续集成环境的构建”(developerWorks,2005 年6 月):本文中,作者将介绍如何构建持续集成所需要的环境。

?“实现持续集成”(developerWorks,2005 年12 月):本文是对持续集成的概念和实践的一个介绍。

?developerWorks Java 技术专区:查找数百篇有关Java 编程各方面的文章。

获得产品和技术

?下载IBM 软件试用版,体验强大的DB2?,Lotus?,Rational?,Tivoli?和WebSphere?软件。

讨论

?查看developerWorks 博客的最新信息。

(五)持续集成的深层理解与相关问题研究

1.持续集成与敏捷编程

在敏捷领域中,测试驱动和持续集成被称为敏捷编程的两大基石,于是乎,很多人的概念里就是持续集成是为了实现敏捷编程的。这是一个错误的认识。实际上,早于敏捷编程概念的提出,持续集成作为一个best practice就已经被很多公司采用了,只不过作为一个概念,则是由Martin为了推进敏捷所倡导并由此风靡起来。持续集成本身只是一种practice,并不被什么开发模型所限制,在任何一种开发模型中都可以采用,也可以运行得非常理想。

2.持续集成还是阶段集成

有很多人说,我不做持续集成,照样工作的很好。因为我们一个(小)阶段出一个版本,

照样控制得非常好。我得恭喜你,首先持续集成也好,阶段集成也罢,你做了,做了就好,比没有做要好很多,也使你的项目管理上了轨道了。这两者之间的区别仅是频率而已。

那么究竟那种方式更加理想,更加符合项目的开发和管理呢?其实这个问题Steve McConnell在他那本获得Jolt大奖的书《Code Complete》(代码大全)里有过回答了。他说:对于一个微型程序来说,阶段式的集成或许是最佳方法。何谓微型程序,他说就是那种两三个类的程序,而你又很走运的话,那么阶段式集成就可以是你的最佳方法了。当然,这位老兄是个老美,我们也都知道老外嘛,都比较笨一点,不会转弯一点,所以呢,他说微型程序,对于我们拥有5000年文明的中国人说,可以再扩大点吧,对于一个小型项目,就是那种二三十个类的项目,也许使用阶段集成也不会出啥子问题吧。

3.对持续集成好处的理解

很多人肯定非常不苟同我的看法,他们认为即使没有做持续集成,甚至没有做阶段集成,但是项目一样按时的完成,甚至提前完成,而且照样完成的非常理想,老板满意,客户满意,夫复何求?而做持续集成,无非就是动不动收到一封邮件,说这个build成功了,那个build 失败了,不过就是持续编译罢了,我自己打个命令编译一下,不就知道了吗?要做个daily build,我还要颠颠的去set up,还要花力气去配置,效果也不见得好到什么地方去。

对于这样一些问题,我想首先我们还得搞清楚,究竟为什么我们要去做持续集成,持续集成究竟可以给我们带来什么好处。同样在《Code Complete》里提到了,对于持续集成(在书中,Steve McConnell使用Incremental Integration的术语)有以下几点好处:

易于定位错误也就是当你的持续集成失败了,说明你新加的代码或者修改的代码引起了错误,这样你很容易的就可以知道到底是谁犯了错误,可以找谁来讨论。

及早在项目里取得系统级的成果因为代码已经被集成起来了,所以即使整个系统还不是那么可用,但至少你和你的团队都已经可以看到它已经在那了。

改善对进度的控制,改善客户关系这点非常明显,如果每天都在集成,当然每天都可以看到哪些功能可以使用,哪些功能还没有实现。如果你是程序员,你不用在汇报任务的时候说我完成了多少百分比而烦恼,而如果你是项目经理的话,那么你也不再烦恼程序员说完成了编码的50%到底是个什么概念。

更加充分地测试系统中的各个单元这也是我们常讲的Daily Build与Smoke Test相结合带来的绝大好处。

能在更短的时间里建造整个系统这点恐怕要你实施以后才能得出结论。就我们而言,持续集成并没有为每个项目都缩短时间,但却比没有实施时,项目更加可控,也更加有保证。

随着时间的推移,持续集成带来的更多好处,也逐渐被认识到了,比如说:

有助于项目的开发数据的收集比如说,项目代码量的变化,经常出错的Tests,经常出错的source code,等等。

与其它工具结合的持续代码质量改进如与CheckStyle, PMD, FindBugs, Fxcop等等等等的结合。

与测试工具或者框架结合的持续测试如与xUnit,SilkTest, LoadRunner等等的结合。

便于Code Review在每个build里,我们都可以知道与前一个build之间有什么改动,然后针对这些改动,我们就可以实施Code Review了。

培训班总结报告范文

培训班总结报告【一】:培训总结报告范文 2012入职员工培训总结报告 随着我国近几年经济的快速发展,市场经济体制的逐步完善,我国银行业的竞争也日益激烈,在这样一个高强度竞争和快节奏发展的大背景下,我行自身也正在经历着组建以来最为关键的转型期。 如何能够在此关键时期实现自身突破,并且保持强有力的竞争力,已经成为全行上下的一个重要议题。从人力资源的角度上讲,企业的发展终究是人才的发展,企业间的竞争归根到底也是人才的竞争。因此,一直以来,重视人才、发展人才向来都是我行的优良传统。 2012年10月9日,随着新员工岗前培训结训考核的结束,本次培训也画上了一个圆满的句号。与往年同类培训相比,此次培训在培训规模、培训时间以及培训内容和质量等方面,都达到了一个全新的高度,当然,在培训方案细节和培训工作具体实施方面,我们仍然有着许多能够提高的空间。 为了为我行建立一套更为成熟完善的员工培训系统,我部门对此次的培训方案进行了认真系统的分析,同时也对此次培训的具体实施过程进行了全面的回顾,并结合参训学员们的培训感受和建议,对本次培训进行了全方位的剖析和总结。 本次总结旨在积累经验,对好的方面进行保护和发扬,对欠缺的方面,要找出不足,分析原因,解决问题。为今后同类工作的开展,提供经验上的支持。 一、培训目的及意义 (一)培训目的 提高新员工的综合素质及职业素养,使新员工尽快融入集体,尽早在工作岗位上发挥作用。 (二)培训意义 为新员工提供一个较为良好的适应性平台,使新员工尽快转变自身角色,同时也为新员工提供了一定的展示自我的机会,有助于单位为其进行准确定位。 二、培训体系方案的制定与实施 本批新员工的特点是文化水平较高,学习和适应能力较强,普遍拥有一个良好的行业文化氛围,对我行的发展历史和企业文化有一个基本的了解和认识。但大多数学员的学科专 业与银行类专业并不对口,因此,在专业知识和职业技能等方面基础较为薄弱,对我行

项目管理年终工作总结

项目管理年终工作总结 项目管理已逐渐应用于所有的商业和教育、军事、政府等其他组织,项目管理的优势得到充分,今天小编给大家带来了项目管理年终工作总结,希望对大家有所帮助。 项目管理年终工作总结篇一今天是我来XX工作整整一年时间了,在这一年中我学到了很多一技之长的知识,也让我明白了从一个金融行业职位,变成了在工程上担任项目管理这一职。一开始我对工程管理这块的确很迷茫,从没想过自己会从事这个行业,慢慢的自己摸索着管理理念,随着项目不断发展壮大,我不仅对工程管理能力得到了全面的提升,并且在团队协作和沟通有了深层次的认识;我深知取得的这些进步和公司的培养是分不开的。展望2020年是机遇和挑战并存的一年,我将继续团结在公司领导核心周围,努力工作,艰苦奋斗,为公司向更高层次发展做出自己的贡献。 2020年即将接近尾声了,回首2020年,XX三期项目全面面临竣工,项目上的工作重点也从三期转入五期。根据项目部继续安排我留在XX五期进行工程项目管理工作,在经过短暂的一年之后,马上进入自己的角色。首先根据领导要求,主要完成以下五方面的工作: 一、专业基础方面 按照部门安排,结合专业实际特点,制定了专业的日常维护计划,建立了专业的工作常识,并收集大量有关消防工程方面的资料。 二、现场管理方面 针对本专业所管辖的设备制定了个人的工作计划,每日跟踪重点项目,全身心投入,督促现场施工单位做好日常管理工作,重点监督完成整改等工作,协助完成了结构具体工作。 三、施工质量方面 按照有关的质量管理标准和规范对全现场消防给排水系统进行了全面跟踪,从而使工程质量处于受控状态。

四、安全管理方面 我个人做到每日对现场的巡查,坚持主要对安全文明施工进行反复的督促。 五、配合其他工程项目方面 在做好专业工作的同时,我还积极完成领导交办的其他工作。一年来为了做好工作,我主动收集资料,积极与其它部门配合,积极配合公司合约部完成项目结算工作。 在这一年中,在同事的帮助和领导的信任下,圆满的完成了各项工作,也学到了很多新的知识,取得了一些成绩,但仍存在一定的差距,因此在明年的工作中准备从以下几方面加强: 1、今后加强学习,认真提高业务、工作水平,着重加强工程施工管理和工程质量等方面的培训。同时要拓宽知识面,在工作中多留心相关专业知识的汲取,使自身在消防工程管理等方面得到加强和全面发展。 2、学习身边其它同志的那种不记个人得失、吃苦耐劳的精神,积极完成各项工作任务,与同事间积极沟通,鼎力协作,凡事以公司利益为主,积极为公司创造更高价值,力争取得更大的工作成绩。 3、做好外部协调工作。工程管理涉及到包括施工单位、设计院、设备厂家的诸多方面因素,在今后的工作中,要主动与各方面沟通,了解其实际困难,了解现场施工需求的实际进程,一定要将工作做实,做细,为工程服务。使得在项目上顺利通过消防验收工作。 新的项目意味着新的起点、新的机遇、新的挑战,我决心再接再厉,只有吃的苦中苦,方能成为人上人。在以后的工作中扬长避短,克服不足、认真学习、勤奋工作,使自己能一直紧跟公司发展的步伐和体现自己的价值,为公司今后的繁荣发展做出应有的贡献! 项目管理年终工作总结篇二本人198x年x月参加工作,先后参加了:xx公司综合楼的建设;涪陵xx大化肥工程造粒塔的技术准备工作和▼14.60~▼82.00米筒身滑模的施工工作;xx工程合成氨片区氨罐基础的施工工作;新疆xx工程造粒塔的滑模施工工作;贵州xx工程H=100m排气筒的技术准备工作和筒身滑模工作;新疆xx电站的施工管理;云天化xx烟囱的施工管理;新疆xx电站烟囱的施工管理;新疆xx会

关于系统集成工程师工作总结

关于系统集成工程师工作总结总觉得还没有来得及揣摩自己在这一年中的所有得失,XX年已经即将成为过去,细细回味这一年走过的路,虽然没有轰轰烈烈的成绩和战果,但是也经历了一些不平凡的考验和磨砺。XX年是我工作旅程中的转折一年,在这一年中,我在自己的岗位上迎来了更多的历练和思考。 来到XXXXX公司已经一年光景,作为一名系统集成项目工程师,得到公司领导与部门同事不少的批评和帮助,在履行自己职责的同时,也逐渐看到了自己距离优秀员工所具备的全面素质要求还有一段需要努力弥补和完善的差距。空闲的时候我也时常扪心自问,自己怎样才能尽快成长为一名成熟的系统集成专业人,从而实现公司价值和自身价值的提升? 自从担任系统集成工程师以来,主要负责XX区政府一期项目的后期系统及设备的安装调试、维护及检修,XXXX项目以及XX城管二期项目中协助大项目经理完成项目建设。 项目的后期会议现场技术支持,会议系统升降机的拆卸和更换及XXXX四个工地无线监控摄像头的安装,维护及检修。 协助大项目经理完成项目实施过程中需要提交监理公司的相关文档的编 写,如施工日志、施工周报、月报、会议纪要等过程文档。项目中各个系统使用的相关设备的到货报审、设备安装

上架报审、调试报审,设备开箱相关合格证及附件资料的整理。软件的安装调试报审、系统联调、系统试运行等相关文件的制作提交。在随着项目实施工程中除制作提交项目过程文档外,负责项目现场外包工程施工现场的监督和支持。服务器设备的网络调试,网络设备及KVM切换器的安装上架,机柜电源线和网线的铺设及捆扎。 在大项目经理的带领下主要负责项目中各硬件服务器设备的到货时间跟踪。XX城管各类硬件设备及软件平台安装协调例如:四个监控工地的高清网络摄 像头立杆及高清摄像头的安装,电信SMTP光纤线路、APN线路、VPN线路、中继数字电路安装,14辆环卫车辆海康硬盘录像机及车载摄像头安装,曙光视频管理服务器及存储磁盘阵列的安装,大屏拼接处理器和高清解码设备的安装升级,海康视频管理平台软硬件的安装调试。项目后期编写收集整理各类项目文档:施工日志编写、硬件设备到货报审文件制作,参照XX项目收集准备项目验收文档。项目后期现场技术维护支持。 在今年我参与的几个项目中,每次都能顺利及时的完成领导派发的检修任务,确保系统正常的运行。积极配合大项目经理做好项目实施过程中相关文档的编写制作,和监理方工程师协调提交相关硬件设备和软件各类报审文件。认真仔细完成设备和软件的安装调试及协调工作。在这些项目的建

项目经理年度工作总结(最新)

( 工作总结 ) 单位:_________________________ 姓名:_________________________ 日期:_________________________ 精品文档 / Word文档 / 文字可改 项目经理年度工作总结(最新) The work summary can correctly recognize the advantages and disadvantages of previous work, clarify the direction of the next work, and improve work efficiency

项目经理年度工作总结(最新) 项目经理年度工作总结范文一 时光荏苒,20xx年很快过去了,回首过去的一年,内心不禁感慨万千。从纺西街的竣工验收及纺四路开工到年末、这一年的工作一幕幕的在眼前闪过。在总公司领导的关怀和指导下,在同事们的互相关爱与工作配合下,在工作实践和学习中、这一年就此告一段落了。下面我将20xx年一年来的工作情况做以下汇报: (一)20xx年全年工作内容 20xx年我负责施工的内容是XX段市政工程及XX河右岸河堤治理工程,其中XX市政工程合同内包括电力管沟205m,雨水管道535m,污水管道441m,电信管沟182m,路基10%灰土5836m2,路基二灰石5648m2,路缘石安装862m,完成产值382.5万。合同外包括土方换

填约3500m3,土方加16%白灰处理约7500m3,完成产值约45.6万。灞河右岸工程与20xx年10月24日举行开工典礼,20xx年12月14日机械进场施工。目前已经完成土方开挖约1.2万m3,土方回填约8000m3,清表外运约4500m3,截至目前累计完成产值86.4万。由于村上种种原因暂时停工。 (二)全年各项工作完成情况 (1)工程质量完成情况 A纺四路西段市政工程于20xx年8月份开工至今,我作为项目经理,立即开始了项目部的组建工作。首先根据该工程的特点要求,建立了质量管理体系、项目管理目标和管理人员岗位责任制。工程开工以后,我们严格控制施工质量,从基础开始,一步一个脚印的进行。管道工程是隐蔽工程,重点控制施工中各个环节,只有加强对施工中各个环节的质量控制,才能防止各种质量通病的发生,确保整体工程施工质量达到优良。电力管沟工程重点控制沟槽开挖、模板安装、钢筋绑扎、砖砌体、混凝土浇筑及管沟两侧回填土质量。道路工程重点控制路基测量放线,灰土、二灰石铺设施工。在施工

系统集成部总结及计划

系统集成部2014年工作总结 及2015年计划 2014年一晃过去了,在我们展望2015年的同时,我们有必要回顾一下过去的一年,总结一下过去我们的工作中的经验教训、缺点及不足。 系统集成其实就是将各个系统无缝的衔接在一起,使各个系统间风格一致和统一,其中心工作是工程方案设计、编制工程预算、制作投标文件、提供施工图纸、组织技术交底、施工过程的技术指导、组织日常技术讲座、技术培训等。 总的来说,系统集成部过去一年的工作还算是平稳有序。过去一年由于人员变动缘故,所以一直处于一种调整的状态,系统集成的现有人员设计方案及预决算水平也很薄弱且高低不一,所以有些东西执行起来的还是比较困难的。需要通过不断的学习、不断的历练来适应新工艺、新材料、新技术,所以这个过程中也有一些衔接不到位的问题。总的来说整体的工作平稳有序,但是与公司年初期望的状态还有很长的路要走。 现将2014年年度工作情况以及2015年工作计划简要汇报。 一、2014年系统集成部主要完成的工作有: 二、经验总结、主要问题与不足分析 经验总结: 1)、由于客观因素,系统集成部今年的人员变化性,是历年来最大的,几乎是大换血,与新成立一个部门没什么区别。因此在一定程度上影响

了工程设计的质量、进程,甚至导致某些项目的设计进度和设计质量,对公司造成了一定影响。但是,在这公司领导及同仁的共同努力下,我们还是平稳地挺过来了。 2)、对于弱电智能化工程设计或提交预算前,对施工现场的勘察是十分必要的,特别是用户不能提供相应图纸时。本年度工作中,在勘察现场做了一些工作,但今后仍需要在此方面加强力度,现场实地勘察必须做到100%; 3)、本年度施工交底做的很不好,可以说系统集成部本项职能缺失,基本上未给项目经理进行技术交底。而技术交底在实际施工中却起到重要的主导作用,施工过程中如果没有技术交底就像“盲人摸象-不知是何物”技术交底做出了对材料准备、主要施工器具、施工工艺、交底内容等的要求。今后施工技术交底不能再以口头的形式进行,而必须以书面的形式形成,以便具备可追溯性,防止出现施工错误或质量问题后,我司和项目部扯皮。 4)、在今年参与方案及报价的几个项目中,每次基本上都能顺利及时的完成领导派发的任务,确保销售工作的正常运行。积极配合项目经理做好项目实施过程中相关方案、预算报价类文档的编写制作,和监理方方协调提交相关硬件设备各类报审文件。认真仔细配合工程部完成设备安装调试及协调工作。在这些项目的建设过程中,我也逐渐学习和积累了一些做方案、预算报价的的知识和经验,我们部门也从以前对项目方案了解甚少,到现在的对方案报价流程有了一定的认识,这些一定会成以后工作的宝贵财富。

公司培训工作总结及计划

公司培训工作总结及计划 201X年6月24日至今,我加入公司也有将近半年,这半年以来,不仅仅是负责培训工作,而后也新增了一项工作任务:企业文化宣传,在临近年末,我将从5大模块来总结自己的工作,包括年度培训总结、企业文化、企业活动、培训专员工作手册、其他工作以及201X年工作计划。 一、年度培训总结 201X年的培训工作包括新员工入职培训、企业内训和外训,其中我主要负责新员工入职培训和企业内训。 (一)新员工入职培训 本年度共进行6期新员工入职培训,其中我负责主讲5期,协助组织1期。 1. 完善入职培训的流程和表格:1个流程-《新员工入职培训流程》;3个表格-《新员工入职培训名单交接表》、《新员工入职培训签到表》和《新员工入职培训成绩表》模板。 2. 完善了新员工入职培训教材,已优化到第二版。 3. 6期培训共组织61人次参加,实际参加人次为46,出勤率为75.41%(其中11人次工假、1人次事假、2人次缺席),考试合格率为96.10%(2人考试不及格但补考及格、1人次未参加培训直接考试且及格)。 (二)企业内训 本年度计划开展6次内训,顺利完成5次内训课程,《野战户外拓展》原计划10月开展,延期至12月14日。 1. 出勤率:目前已完成的5期共7天的课程中,11月2日的《主管管理技能训练》、8月11日《关键时刻-以服务促销售》和11月10

日的《主管管理技能训练》的出勤率排列前三,分别是82.76%,81.13%和81.63;而9月15日的《项目管理沙盘模拟》的出勤率最低,为46.43% 2. 培训费用:目前已完成的5期共7天的课程中,总体费用为152.444.5元,人均费用为408.1元。 费用项目包括课程费、场地费、餐费、水费和住宿费,其中课程费和餐费在每次课程都有支出;住宿费仅在《项目管理沙盘模拟》课程支出(533元);场地费在《执行力》课程未支出;水费在《关键时刻-以服务促销售》和《主管管理技能训练》未支出。 (三)企业外训 1. 参加了两次时代光华的外训课程,分别是《基于组织学习地图的培训体系建设》和《时代光华201X年培训课程采购大会》。 二、企业文化 1. 完成公司宣传栏2次策划,分别是《风雨同路,欢喜共度》暨201X-201X年活动展示、《贫困无援,XX支援》暨廉江扶贫助学支援大行动捐款展示。 2. 协助肖惠兰主管完成第9期泰科通讯策划工作,携同姚智龙开展第10期泰科通讯策划工作。 三、培训专员工作手册 建立了培训专员工作手册,此手册目前仅包含2项内容,分别是新员工入职培训和企业内训。 1. 建立了并优化新员工入职培训流程,共1项,其中包括: a)《新员工入职培训流程及工作标准》-131128第3版; 2. 建立并优化了企业内训相关文档,共7项,其中包括: a)《内训流程及工作标准》-第1版131128; b)《内训前期工作物料清单》-第1版131128;

项目管理年度工作总结(个人总结)

工作总结(2019年度) 在即将过去的一年里,在指挥部领导的大力支持下,在XX工程项目的管理及工作人员辛勤工作下,XX工程取得了不错的成绩,现将2019年度项目工作总结如下:一、项目管理 现场指挥部全面开展绩效考核、计划管理、定期会议制度等制度进行管理。使工程的管理工作有条不紊、健康的运行,同时也调动了施工单位全体管理人员的劳动积极性、责任感,营造了良好的工作氛围,加强了工程管理人员团队意识。 二、年度主要工作 1、安全、文明施工管理 (1)安全管理工作主要方针:查隐患、抓意识、搞管理、落实责任。安全管理制定了各种应急预案、安全管理制度、安全文明施工目标。定期不定时对所有进场人员均进行的进场人员安全教育,安全考核,组织进行了多次消防、应急疏散演练。受教育率达到100%。 (2)在文明施工方面,制定现场文明施工管理制度,真正做到了“活完场地清”的现场施工管理。经过项目全体的人员的努力,顺利实现了:重大安全事故零事故,轻伤率控制在3‰以内安全管理目标。 2、技术、质量管理 在2019年度里,指挥部严格按照铁路局、地方及国家的相关质量管理制度进行项目质量管理。制定了相关的质量管理制度,在现场的施工管理中,严格按照以上制度进行工程的质量管理,优化过程管理,创造优质工程;遵守法律法规,实现持续改进,永远追求更高的质量管理方针。现场施工中出现的较严重的质量问题或可能出现的质量问题、质量通病进行会诊,提出可行的技术质量措施。施工中的技术方案、技术交

底提前对施工作业人员进行交底,通报在上一星期内出现的质量问题、事故等,在下周施工中的质量控制重点及要点等。 3、现场施工 在2019年度里,我项目的现场管理工作,完善相关管理制度,落实计划管理。先后顺利通过多级行政主管部门的检查、验收。在现场施工中严格实行计划管理(进度计划管理、材料计划管理、人员工作计划管理等),施工生产中落实施工任务单,定期召开生产例会,及时对产生的进度偏差进行纠偏。在现场的文明施工中,严格落实公司及项目的管理制度,划定责任区,落实责任人,实行奖罚措施。对现场施工项目进行专人负责,施工作业层实行天天巡检、每周联合检查制度,保证了现场的文明施工。 4、成本控制、材料管理 我项目在2019年度里,严格按照成本管理及材料管理制度进行现场的成本及材料管理。实行计划管理,落实总体成本控制计划。严格执行铁路局的成本控制计划及材料管理办法,作为项目成本控制的纲要性文件。技术部按照安全、保证质量,方便施工、科学合理的编制方案及技术交底,提出总控材料计划,分部、分项计划必须遵循总控计划的原则进行材料成本控制,在现场施工中最大限度的使用成熟的新科技、新技术的运用。合理划分施工流水段,同时在现场的材料使用中,实行并落实了计划材料、限额发料、奖罚等制度,使材料管理取得明显的效果。材料管理及成本控制部门并形成了每日例行巡检、下发整改通知,每周日全面大检查及复查的现场材料管理的模式,使现场的周转材料管理、一次性材料的浪费等均控制在最小的程度。使本部门的成本核算在有效的控制之中。 2019年即将过去了,2020年又将是一个极具挑战的一年。在2020年

精品范文-系统集成销售年终总结_年终最新工作总结

精品范文-系统集成销售年终总结_年终工作总结 (文章一):2xx系统集成售前年终总结 2xx年IT售前工作年终总结 (一)、职业成长回顾 总觉得还没有来得及揣摩自己在这一年中的所有得失,2xx年已经在龙年的爆竹声中成为过去,细细回首这一年走过的路,虽然没有轰轰烈烈的成绩和战果,但是也经历了一些不平凡的考验和磨砺。我想,2xx年是我工作旅程中的转折一年,在这一年中,我在自己的岗位上迎来了更多的历练和思考。我想,这是喜悦和汗水并存的一年,也是充满了机遇和挑战的一年。 来到xx已经一年光景,作为一名项目工程售前的技术工程师,承蒙公司领导与部门同事的批评指导,在履行自己职责的同时,也逐渐看到了自己距离优秀员工所具备的全面素质要求还有一段需要努力弥补和完善的差距。空闲的时候我也时常扪心自问,是否拥有足够的资格去享受”售前工程师”这样责任重大的称谓 自从担任公司项目工程售前技术工程师以来,我的主要工作是为行业部门以及其他业务部门的同事编写项目设计方案、项目施工组织方案,以及就公司现有资源产品整合起来编写解决方案。记得过去一年最开始独立接受项目派单时,我几乎不太能够理解项目售前的含义,更不了解应该如何去把项目售前的工作开展实施,而x嗟囊览涤谙低臣上钅坷砺坌偷姆桨改0澹谝恍┫钅抗丶悴糠执 淼貌还焕硐耄诶砺刍贾掠胧导释呀凇Mü复尾惶晒Φ陌咐土吨螅奈乙部夹纬梢惶资视糜谧约撼沙さ乃嘉J剑⒚鞒鲆恍┫嗨屏煊颉⒐潭ú返拇戆旆ā5腔毓防纯矗嵌问逼诘姆桨副嘈匆泊嬖谛矶嗟牟蛔悖逑衷诙杂谙钅拷ㄉ璧男枨缶V还搜矍暗男问浦北贾猓鐾旯δ懿返氖视眯裕芄蝗绾温憧突枨蠹纯桑侨春雎粤宋蠢纯突Х⒄顾吹谋浠肜┱梗韵钅康陌盐詹还蝗妫暇瓜低臣缮婕暗牧煊蛑诙啵堑募际趺娼瞎悖庵肿叛巯衷谥北贾獾拇矸绞揭舱凵涑隽俗约褐睹嫦列〉氖率怠:迷诩际踔行牡奈ぷ芗笆狈⑾至宋宜嬖诘恼庑┪侍猓üザ兰际踔傅家约岸哉霾棵沤械南钅烤榉窒碇傅迹踩梦抑鸾ッ靼自诮邢低臣上钅渴焙旯哿私猓稚杓频闹匾 a href=“://https://www.wendangku.net/doc/2a17813127.html,/hotnews/sixianghuibao.” target=“_blank” title=“最新思想汇报范文专题”>思想汇报专题对用户的需求必须要深入的分析,了解客户的企业规模、事务处理流程以及发展规划之后,从全局的角度来进行方案设 计,再突出眼前的局部建设构想,这样才能真正把系统集成方案写好,才能真正让客户满意,而我也必须在具备这样全局把控的思维能力,再加上知识的不断积累,才能成长为一名优秀的售前工程师。(二)、工作开展回顾 在过去的一年,我对涉足不同行业的系统集成需求也进行了一些回顾总结,其中视频监控项目与网络安全项目占到了所处理案件的70%,在这些项目中,我所要承担的任务主要包括:项目需求了解、项目设计方案编写、项目跟踪、项目施工组织方案编写等四项。而相对来说,项目方案设计又占到了很高的精力付出比例,但是如何提供解决方案完成工作,亦经历了两个时期的成长。 第一阶段:从产品到方案。将公司的产品资料(如海康威视、华为、深信服、IBM等常用设备)修改成针对用户的解决方案,这一类售前支持不在少数,处于对公司内部代理的产品比较熟悉,再加上有一定的技术功底,所以这个时期在编写方案的时候从完成速度上来说比较快速,但不能站在客户价值角度来理解产品。 第二阶段:从需求到方案。通过总结问题以及对项目的不断理解,有了自己的知识体系和工作方法,能站在管理咨询的角度采用各种方法去了解客户业务、分析用户需求,并提供解决方案,成果也更符合客户的最终构想--应用集成。 举例来说,早期在处理xx码头监控项目时,因为与客户沟通不及时、对客户的应用需求估计不足,在项目设计时过多只考虑采用设备的性能、价格等因素,没有考虑需求变更和客户业务调整带来的风险,导致后期建设时由于客户机房搬迁系统不得不改变架构,将原来本地存储的方式变更为异地远程管理保存;而在摄像机定点上,也由于客户管理方式的变化带来的防区布控点变化。好在项目报价预留有一定的弹性调整空间,最后勉强把项目实施完成,有惊无险。 而在后来xx应急中心网络安全项目建设时,协同厂家合作,我们在充分考虑了用户业务流程、涉

培训项目总结报告范文

培训项目总结报告范文 培训项目总结报告范文篇一:安全稳定工作,是班级顺利开展教育教学工作的前提和基础。没有安全稳定的班级,班级的各项工作都无法正常进行。为此我班以对家长和学生高度负责的精神,认真开展好安全教育活动,并在安全教育基础上普遍开展了安全检查和建章立制工作。现将我班安全教育工作作如下总结: 一、抓安全工作措施得力,成效显著。 我班对安全教育工作非常重视,常抓不懈。一是从平时的安全教育入手,消除思想上的隐患。每学期的开学要讲安全;放归宿假、寒暑假时,在给家长一封信也强调安全;同时加强对学生平时的安全教育与管理,充分利用板报、电视、广播宣传安全常识;利用班会讲安全。二是加大安全检查力度,不留死角,防范于未然。本期我多次对教室、寝室、学生活动场所的每一角落,每一个电源开关、灯头、插座,进行了全面检查,发现问题当场解决,对破损的电源开头、灯头及时更换。三是明确责任、建立规章,狠抓落实。班上发动同学个个参与,按区域划分了责任,对教室、寝室、学生经常聚集的场所等易发生火灾事故的部位,都明确了责任人。 二、扎实落实安全防范责任制。 本学期我班组成由班主任、科任教师、学生干部参加的

安全检查组,对全班各寝室进行全面细致地检查。尤其对用电、用火的设施,对易燃易爆、管制刀具、钢条等危险品进行了重点检查,对学生聚集的场所进行应急疏散通道检查。检查后对发现的问题及时进行了处理和报告、加以整改。我们还进一步明确了各寝室长安全职责,定期培训、规定职责。 我班把维护安全稳定作为经常性工作来抓。一是强化管理,提高责任意识。成立了安全工作班级管理小组,形成安全信息报告工作网络。进一步深化了责任重于泰山的安全工作意识。二是加强教育,健全制度,落实安全稳定责任制。为此,我加强了学生日常法制教育和安全教育。定期对学生进行法制教育和校规校纪教育,把安全教育贯穿到教育教学各项活动中,强化了学生安全防范意识。。三是加大督导检查工作,加大整改措施。 总之,我班安全教育工作坚持了安全第一,预防为主、防治结合、重在教育的方针,做到了组织落实、教育及时、管理到位。一期来,学生没有发生过安全事故,保证了我班正常的教育教学秩序。 篇二: 按照市局《关于做好安全教育培训工作的通知》精神,为进一步提高职工安全意识,强化防范措施,预防和减少安全事故发生,牢固树立预防为主、防患必除、安全第一的思想,营造安全有序的办公环境,我所对全体职工进行了安全

项目经理个人年终工作总结报告

个人年终工作总结报告 时光荏苒,2012年很快就要过去了,回首过去的一年,内心不禁感慨万千.从2012年8月份担任项目经理到年末、这一年的工作一幕幕的在眼前闪过.在领导们的关怀和指导下,在同事们的互相关爱与工作配合下,在工作实践和学习中、这一年就此告一段落了.以下是我作为项目经理的个人年终工作总结报告. 我是2012年8月份调入公司项目管理部,以前在车间任职的时候,虽然对项目流程和职责这块有过很多接触,但没有进入日常系统的学习和实践,需要提高的地方也很多,就职后开始对项目职责和流程这块进入更深入的学习和实践.在领导的指导和同事的帮助下,以及以前在车间的积累,很快便熟悉和掌握了项目管理的各项流程及规范性操作,接受了项目管理部的新产品研发和生产技术的支持.进入全面的项目管理工作. 这四个月来,从刚入职时对项目管理工作的流程化和标准化的不熟悉,到现在全面领悟了项目管理的规范、工作重点及流程,这一切离不开领导们和同事们的关心和指导.从最初刚接触到百盛以及honda 打样产品的管理、把我领入样品项目建设的日常规范性操作中,到后来开始接受公司重要项目-虹悦城的管理中,并保质保量的完成任务.这些都离不开邵总和陈总的耐心且严格的指导下,在一次次一步步地磨练中受益到了不浅的知识.在后来接手三菱打样以及观志汽车出口

项目的管理中……接触的项目更加全面,又加强了我对项目管理工作的认识和学习.因自己所学与项目管理跨度较大、特别在对电脑知识这块,所以在工作方面领导们更是仁义至极,对我的尺度放宽,让我在工作和学习中获益不浅、动力十足,只以后的项目管理中本人更需要加强对电脑知识的掌握,以便更好地进行项目管理的日常操作. 新的一年即将开始,在2013年我将切实落实岗位职责,认真履行 岗位工作,在完成本职工作的同时,按时保质保量地完成公司领导安 排的各项工作.下一步我将主要围绕以下几个方面开展工作: 1、对公司新产品打样的技术及质量这块严格把关,充分 发挥自己在车间所学到的一切技术及经验,做到按客户要求 保质保量的完成公司打样目标, 2、对在打样产品的生产过程中充分与车间和客户沟通, 要对以后的生产争取更加有利的条件,并对的规范化和批量 化作出合理的解决方案,为日后的生产争取更大的有力条件, 这样的可以为公司节省了人工,成本,和售后的简便性. 3、本人在今后的工作中需要更加的努力提高自己管理能 力以及对电脑这方面知识的了解和掌握,这样才能在日后的 工作中才能更加的参加更加全面的工作 不知不觉的跨进了2012年这一新的开端.今后我将更加努力工作,加强学习,实事求是,完成工作所需任务,强化意识,关心同事,关

IT系统集成部年终总结

IT系统集成部年终总结 为了进一步统一认识,强化管理,突出重点,也为了不断提高保密工作向法制化、规范化水平迈进,下面和小编一起来看看怎么写吧! IT系统集成部年终总结【1】来到东亚电子一转眼已有半月有余,能成为东亚的一份子,我感到十分荣幸。在这里可以充分展现我们的能力,发挥我们的特长,体现并提升我们应有的价值。对我来说新工作刚刚起步,在这几天里我感触很多,在这里我做出如下总结: 一、工作回顾、 加入东亚电子这个“大家庭”让我倍感温暖,在此我感谢各位同事的关照与工作上的帮助。刚入公司时,对系统集成工程了解程度也是比较简单,特别在设计和施工上有许多不懂的地方。经过这几天的学习让我逐渐融入了这个充满活力的行业,对前景有所了解。前一段时间是有一些盲目,刚开始工作不知从何做起,现在心里已经渐渐清晰明了,压力也少了许多,多的是更多的友善沟通,和同事间的互帮互助。 二、工作计划 公司现在主要以工程和售后为主,工程中无论是弱电工程还是系统集成我都是很有兴趣做的,但是弱点系统知识还掌握的不好。学知识就要做到熟能生巧,举一反三,这样才

能在应用的时候做到融会贯通。我将用一部分时间来学习弱点系统,通过电脑查资料,看专业书籍的方式,在一个月内了解它,熟悉它。对弱点的熟悉也会使系统集成知识更加丰富,对写系统集成方案会有很大帮助。 今后工作主要以系统集成方向为主,编写系统集成方案,对系统集成进行设计规划和技术施工。工作期间要做到,多看、多学、多想、多交流。这段时间活不是很多,就要多看别人的方案,多在网上查看方案,分析案例和施工方法。熟能生巧边看边练,努力提高自己对设计的了解,等到真正做项目工程时能学的更快,懂得更多,更专业。 三、努力方向 在系统集成上,有许多不足的地方要学会自省,对施工中用到的东西不会不懂的就要立即去查,或者问同事,问于哥和杜哥,虚心向他们学习,同事的经验要比我多的多是我学习的榜样。刚开始肯定会有好多问题,比如说:技术表达不准确、理解的有错误等,在做方案时要是弄不明白会出很严重的错误的,这都是必须面对和解决的。 在公司里,敏捷的思维和全面的思考是必不可少的,要学会站在多种角度来看问题,这方面我做的不够好,古话讲“三思而后行”,说话要讲方式方法,要想一想再说,特别是对待客户上,要准确分析客户的需求,还要让客户能听的懂技术点,让客户觉得我们是在帮着他来买东西,我们所做

项目策划培训心得体会

项目策划培训心得体会 项目管理就在我们的身边 刚刚开始的时候,觉得项目管理是苦涩难懂的,而且项目这个词也应该离我们的航空维修相隔甚远。其实就对项目管理的概念:“项目管理是以项目为对象的系统管理方法。通过一个临时性的、专门的柔性组织,对项目进行高效率的计划、组织、指导和控制,以实现项目全过程的动态管理和项目目标的综合协调与优化。”随着培训的深入和沈老师深入浅出的培训内容和互动案例,我渐渐的发现项目管理其实就在我们身边,就在我们生活工作的每一个角落。学好项目管理,对我们今后解决处理工作和生活中遇到的许许多多的事情,都会有很大帮助。 团队是项目管理的环境 一个好的团队,应该有一个共同认可的明确目标、合理的分工协作、良好的信息沟通、队员之间相互信任并且能积极的参与到自己的队伍中。在我们平时的工作中,我们所在的每个工段、放行小组就是一个小团队。按工作单做工作,做一项签一项,按质按量按时、安全正点的保障每一个航班就是我们目标。一个团队常常被比做是一个木桶,木桶的容量不是由那片最长的木板决定反而是那片最短的木板决定的。一个团队的实力也一样是由能

力较弱的成员决定的。因此这也要求我们不断的要求自己,在自己的业务领域中做纵深的钻研,彼此鼓励相互学习。都不去做那片最短的木板,这样一来团队内的学习气氛浓烈,长此以往整个团队的实力也会得以提高。正因为有了我们在工作中好的发挥,在团队中体现出的自我价值,才能使我们有更好的心情和信心来面对家庭、生活。 项目经理是项目管理的灵魂 项目经理是项目管理的角色,是实现项目目标的责任人,同时一个团队的灵魂人物。项目经理不一定是这个团队中能力最强的人,却是责任最重大的那个。他应该是有较强的意志力、凝聚力,有抗压能力的人,不会轻易被外界和他人影响。当然一个好的领导人不必事必恭亲,只要他懂得用贤才,懂信任,懂放权,懂珍惜,这样一来他的团队会凝结出更强的力量,他就是一个优秀的领导。在我们的现在的维修体系中,随着市场的日益增大,我们的维修范围,维修网点也日益增多。面对的管理点的分散,工作深度的需求,安全责任的落实,作为一个机务的项目经理身上的担子是艰巨的。我们维修队伍需要那些敢于用贤才,敢于信任,敢于放权,敢于承担责任的技术干部,这样带出的团队会凝结出更强的力量。所以一名好的项目经理是维修队伍中带头人,是维护作风的靶标人,也是现代维修工作的领路人。

工程项目管理年终工作总结

报告总结参考范本 工程项目管理年终工作总结 $

光阴似箭,日月如梭。一年的时间的确是很短暂的,不知不觉间20xx 年已即将过去。新的一年又将来临,值此新旧交替之际,总结一下过去,思索一下未来,取过去之长,补未来之短,对自己的工作进行一次总结,以便在新的一年当中更好的完成自己的本职工作。 我与20xx 年进入公司工程部工作,主要负责暖通、给排水专业的技术、施工及造价的相关管理工作。在工作过程中,遵守公司的各项规章制度,平时严格要求自己,廉洁自律。工作中认真负责,能理论联系实际的开展工作,与工程部及各相关部门的同事配合,较好的完成了公司领导交办的的各项工作。 一、在技术管理方面 1、能够耐心细致的做好图纸审查工作,配合主管领导及相关设计单位落实小区给排水、供热、燃气等管网的位置、走向,尽可能发现不合理的方案及设计,并提出自己的方案与设想,积极与设计人员沟通,完善方案及施工图纸的设计。例如:中融国际项目地下构筑物较多,并且地下车库和地下人防均与各楼相连,这就导致将来小区排水管道无法排出。因此向主管领导提出应在2#、3#、4#、5#楼与地下车库及地下人防之间留出一条通道,否则小区排水管网将无法铺设。再如:设计院将连接体的采暖、给排水管线设计在汉口街一侧,而汉口街一侧又无位置铺设如此多的管线,向主管领导请示后,及时向设计单位提出了异议,经设计单位复核后,变更了设计。 2、外部协调:对于一个工程项目来说外部协调工作对于项的顺利开展有很大的帮助。我的主要工作是在主管领导的指导下,配合各专业公司(自来水、供热、燃气)完成项目的管网配套设计工作。在领

导的正确领导及帮助下与各专业公司保持了良好的合作关系,各专业管网的配套设计正在如期进行,目前已完成给水、排水管网的设计工作,燃气、供热管网的设计正在进行中。在工作当中能够从公司的利益和角度出发,积极配合各专业设计人员,完成各项任务。 二、在施工现场管理方面 4 月份进入施工现场伊始,即开始和领导研究施工现场用水方案,待方案落实后协助领导完成了相关手续办理及设计工作。并配合自来水公司完成了中百一库临时用水及现场施工用水的施工工作,确保了项目如期开工。基础开挖前,在领导及各位同事的帮助下,根据现场的实际情况完成了施工现场排水管道的铺设,解决了各施工单位基础开挖的排水问题。 在方案制定过程中,结合工程实际采用了塑料排水管,待排水过后,管材还可以用于排烟机孔,为公司节约了一定的资金。工程进入主体施工阶段后,针对隐蔽部分容易出现问题的地方,及时组织监理人员及各施工单位水暖班长开会,对防水套管的材料、制作提出了明确要求,并对工程中易出现的问题进行了技术交底,要求各施工单位在每道工序施工前,要做好样板间,经甲方和监理检查合格后方可继续施工,保证了工程质量。 在工程施工期间,由于监理公司的专业人员有时到位不及时,因此要经常巡视检查,核对各种管道的位置及规格,是否符合设计和规范要求,对工程中存在的问题做到早发现、早处理以免影响到后续工程的施工。如提高排水出户管的标高,解决了汉口街一侧排水管道过低的问题。在施工管理过程中能够坚持以设计文件为依据,严格按施工规范的要求进行检查。

系统集成销售工作总结(共12篇汇总)

第1篇系统集成行业销售工作总结总结 2011年终工作总结 加入熙菱也有快一年时间了,回想起来时间过得还挺快的,从北京艾威康来到上海熙菱感觉两个公司的工作模式有蛮大差异.不论是产品的专业知识还是管理与工作氛围都有很大区别.前两个月都感觉自己没有进入状态,找不到方向,每天都不知道要做些什么事,在分公司领导的几次会议上,经过相互讨论与发言提建议,针对具体细节问题找出解决方案,.通过公司对专业知识的培训与操作, 这才让我找到了方向感,慢慢融入到了这种工作环境与工作模式,后面的工作时间里我每天都过得很充实,从维护老客户到拜访新客户陆续不断,虽然附出的劳动没有得到太大成果,很多次对我的打击也不小,但我相信,付出总会有回报的.努力了就会有希望,不努力就一定不没有希望.成功是给有准备的人。 在分公司各位领导及各位同事的支持帮助下,我不断加强工作能力,本着对工作精益求精的态度,努力完成自己所承担的工作任务,工作能力都取得了相当大的进步,为今后的工作和生活打下了良好的基础,现将我的一些销售心得与工作情况总结如下销售心得 1、不要轻易反驳客户。先聆听客户的需求。就算有意见与自己不和也要委婉的反驳,对客户予以肯定态度,学会赞美客户。 2、向客户请教要做到不耻下问,不要不懂装懂。虚心听取客户的要求与建议。 3、实事求是。针对不同的客户才能实事求是。 4、知已知彼,扬长避短。 做为一名合格的系统集成销售人员首先要对自己所在公司非常熟悉了解,了解自己公司的优点与缺点,适合哪些行业,客户群体是哪些,才能更好的向客户展示自己与产品的专业性,才能迎得客户的关注与信任。当然对竞争对手也不要忽略。要有针对性的了解对手的优势与劣势;才能对症下药,在与客户沟通时尽量多介绍自家方案或产品的优势。缺点方面尽量少提,但是设备本身存在的缺点与不足,也就是该设备在所有同行中必不可少的缺点与不足可以适当的向客户说清楚,毕竟没有十全十美的东西。总说自己的产品有多好,别人也不会全信。同行中存在的缺点与不足也不要恶意去攻击与批判,要引导客户去分析判断,建议客户通过实地考察。 5、勤奋与自信;与客户交谈时声音要宏量,注意语气,语速。 6、站在客户的角度提问题,分别有渐进式与问候式。想客户之所想,急客户之所急。 7、取得客户信任,要从朋友做起,情感沟通。关心客户,学会感情投资。 8、应变能力要强,反映要敏捷,为了兴趣做事。 9、相互信任,销售产品或方案理念先要销售自己,认同想法、产品,先人品后产品。

项目管理2020年终工作总结

项目管理2020年终工作总结 项目管理是信息系统工程建设的关键。下面是小雅精心为您 整理的“项目管理20xx年终工作总结”,仅供参考,希望您喜欢!更多详细内容请继续关注我们哦。 项目管理20xx年终工作总结1 20xx年公司项目管理工作始终围绕公司整体工作目标,严格按照公司的各项规章制度开展工作。在日常工作中认真贯彻落实 公司、建科院及上级建设主管部门工作会议和有关文件精神,建 立健全质量、安全管理机制,加强对在监工程的质量、安全生产 监管和跟踪巡查。强化各分公司对所属项目的管理和日常监督。 由于全体员工质量、安全意识的进一步提高,经过上下共同 努力,一年来,公司所监工程项目质量、安全生产形势整体平 稳,项目管理水平稳步提高。为总结过去,更好地完成新一年的 工作,现将20xx年度的工作总结如下: 一、完善管理制度,进一步规范项目管理 1、修订完善公司有关管理制度并要求贯彻、执行公司原项目管理制度在实施过程中,由于部分条款不能适应现阶段公司项目 的管理,有的制度条款需要补充完善,有的制度需要建立健全, 为进一步完善项目管理制度,切实做好公司20xx年度在监项目的质量安全管理工作,项目管理部于20xx年初修订了20xx年质量 安全工作意见、公司项目管理办法、项目考核办法、项目管理奖

惩办法等一系列管理文件,并签发各分公司、各项目监理部,要求组织学习和认真贯彻、执行。 由于公司实行抓大放小的经营理念和努力拓展外地市场等一系列的经营举措的实施,公司承接的大项目逐年增多,外地分公司的建设与发展也逐步走向规模。据xx年年底统计现有在监项目达172个。 随着近年来公司业务的不断拓展,因此公司项目管理工作必须实行“强化制度建设,实行分级管理”。今年以来项目管理部着重强化落实各分公司的制度建设和项目管理工作,要求各分公司要依据总公司的纲领性文件和规章制度制定有针对性的切实有效的管理制度,分公司必须对所属的项目巡查督促到位,做到层层制度完善,人人责任明确,真正做到以制度管项目,把项目管理工作落到实处。 2、及时传达上级建设主管部门会议精神,转发上级部门文件为及时传达“省厅、市建委、市质量安全监督站” 等有关部门的重要会议精神,项目管理部采用会议和信息平台等形式及时贯彻学习并督促落实。 密切关注有关部门网站,及时下载、转发有关文件给各项目监理部,并在每次的公司“生产会”上进行贯彻和落实,经统计今年以来转发上级部门文件和签发公司文件共73份。

培训班总结报告范文6篇

培训班总结报告范文6篇 培训班是一种旨在提高学员某种知识,技能,或改善某种心态,形成某种习惯,而举办的培训活动。在经济竞争激烈的现代,拥有高技能、高素质的人就有竞争的优势,而相应的培训机构应运而生。本文是为大家整理的培训班总结报告范文,仅供参考。 培训班总结报告范文篇一:干部(业务骨干)培训班总结报告按照XXX的统一部署,在XXX的直接领导下,XX地区乡科级干部(业务骨干)培训班已圆满结业。现将培训情况总结如下: 一、培训概况: 本期培训班11月6日开学,11月18日结业,为期15天。XX 的49名乡科级干部参加了这次培训。根据培训计划,学员们经过“宣传思想工作形势任务”、“宣传思想工作实务”、“能力和综合素质提升”、“上海周边地区考察”等四个专题的学习,听取了6个专题报告,参加了4次现场教学,考察了23个宣传文化项目。 在第一专题学习阶段,学员们听取了《关于上海文化产业发展的思考》、《学习党的十七届六中全会文件精神、推动社会主义文化大发展大繁荣》、《马克思主义中国化的最新成果;党的理论创新》等3个专题报告。 参观考察了上海城市历史陈列馆、上海博物馆、中共“一大”会址纪念馆、豫园民俗文化等上海宣传文化场所。

在第二专题学习阶段,学员们主要到全国文明城市;;上海浦东新区开展了精神文明创建工作的现场教学,到上海群众艺术馆开展了上海群众文化工作的管理与创新的现场教学及上海嘉定区进行区县宣传文化建设的现场教学。参观考察了浦东市民中心、浦东图书馆、东方新闻网站、上海群众艺术馆、上海汽车博物馆等文化场所。 在第三专题学习阶段,学员们听取了《人际沟通与语言艺术》、《网络舆情与突发公共事件危机管理》、《把握和驾驭现代领导活动规律》等3个专题报告。并安排了金山区枫泾古镇现场教学点。 在第四个专题考察阶段,学员们考察了杭州西湖和苏州园林等传统文化,领略了长三角地区的综合发展。体验到上海周边地区的文化建设和生态文明。 本期培训班学员,绝大部分是第一次来上海学习。因此,他们十分珍惜这次难得的学习机会,在课堂上专心听讲,认真笔记,在考察时细心观看,抓紧拍摄。尽管整个培训班安排紧凑,学员们还是不辞疲劳,自觉遵守纪律,保持着高昂的学习激情。培训班结束时,学员们一致反映,培训班内容丰富,服务到位,在上海看看、走走、听听,真是印象深刻,终身受益。 二、主要收获: 通过理论讲授到实际考察,学员们拓宽了思路,开阔了视野,学到了经验,找到了差距。感受深刻,收获很大。 1、认清形势,增强了XX宣传文化干部的责任感、紧迫感。 培训班学习期间,正值全国宣传文化战线认真学习贯彻党的十七

相关文档
相关文档 最新文档