2015软件工程师的工作总结

2015软件工程师的工作总结。

天可补,海可填,南山可移。日月既往,不可复追。我们会遭遇各种各样的事情,在这些事情中,优秀的人写一份总结,是对自己的反省,突破。总结可以让我们自我反省,提升自我。大家晓得总结范文怎么写好吗?以下是小编为大家收集的“2015软件工程师的工作总结”但愿对你的学习工作带来帮助。

1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来,软件工程师的工作总结。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!

2、一定要确定自己的发展方向,并为此目的制定可行的计划。不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”。因为,这样的观点会通过你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方向走,成为职业经理人?先熟悉行业和领域,将来自立门户?还是先在行业里面混混,过几年转行做点别的?这很重要,它将决定你近几年、十年内“做什么事情才是在做正确的事情!”。

3、软件开发团队中,技术不是万能的,但没有技术是万万不能的!在技术型团队中,技术与人品同等重要,当然长相也比较重要哈,尤其在mm比较多的团队中。在软件项目团队中,技术水平是受人重视和尊重的重要砝码。无论你是做管理、系统分析、设计、编码,还是产品管理、测试、文档、实施、维护,多少你都要有技术基础。算我孤陋寡闻,我还真没有亲眼看到过一个外行带领一个软件开发团队成功地完成过软件开发项目,哪怕就一个,也没有看到。倒是曾经看到过一个“高学历的牛人”(非技术型)带一堆人做完过一个项目,项目交付的第二天,项目组成员扔下一句“再也受不了啦!”四分五裂、各奔东西。那个项目的“成功度”大家可想而知了。

4、详细制定自己软件开发专业知识学习计划,并注意及时修正和调整(软件开发技术变化实在太快)。请牢记:“如果一个软件开发人员在1、2年内都没有更新过自己的知识,那么,其实他已经不再属于这个行业了。”不要告诉自己没有时间。来自时间管理领域的的“三八原则”告诫我们:另外的那8小时如何使用将决定你的人生成败!本人自毕业以来,平均每天实际学习时间超过2小时。

5、书籍是人类进步的阶梯,对软件开发人员尤其如此。书籍是学习知识的最有效途径,不要过多地指望在工作中能遇到“世外高人”,并不厌其烦地教你。对于花钱买书,我个人经验是:千万别买国内那帮人出的书!我买的那些家伙出的书,!00%全部后悔了,无一本例外。更气愤的是,这些书在二手市场的地摊上都很难卖掉。“拥有书籍并不表示拥有知识;拥有知识并不表示拥有技能;拥有技能并不表示拥有文化;拥有文化并不表示拥有智慧。”只有将书本变成的自己智慧,才算是真正拥有了它。

6、不要仅局限于对某项技术的表面使用上,哪怕你只是偶尔用一、二次。“对任何事物不究就里”是任何行业的工程师所不应该具备的素质。开发windows应用程序,看看windows程序的设计、加载、执行原理,分析一下 pe文件格式,试试用sdk开发从头开发一个windows应用程序;用vc++、 delphi、java、.net开发应用程序,花时间去研究一下mfc、vcl、j2ee、.net它们框架设计或者源码;除了会用j2ee、 jboss、spring、hibernate等等优秀的开源产品或者框架,抽空看看大师们是如何抽象、分析、设计和实现那些类似问题的通用解决方案的。试着这样做做,你以后的工作将会少遇到一些让你不明就里、一头雾水的问题,因为,很多东西你“知其然且知其所以然”!

7、在一种语言上编程,但别为其束缚了思想。“代码大全”中说:“深入一门语言编程,不要浮于表面”。深入一门语言开发还远远不足,任何编程语言的存在都有其自身的理由,所以也没有哪门语言是“包治百病”的“灵丹妙药”。编程语言对开发人员解决具体问题的思路和方式的影响与束缚的例子俯拾皆是。我的经验是:用面对对象工具开发某些关键模块时,为什么不可以借鉴c、c51、汇编的模块化封装方式?用传统的桌面开发工具(目前主要有vc++、delphi)进行系统体统结构设计时,为什么不可以参考来自 java社区的ioc、aop设计思想,甚至借鉴像spring、hibernate、jboss等等优秀的开源框架?在进行类似于实时通信、数据采集等功能的设计、实现时,为什么不可以引用来自实时系统、嵌入式系统的优秀的体系框架与模式?为什么一切都必须以个人、团队在当然开发语言上的传统或者经验来解决问题???“他山之石、可以攻玉”。

8、养成总结与反思的习惯,并有意识地提炼日常工作成果,形成自己的个人源码库、解决某类问题的通用系统体系结构、甚至进化为框架。众所周知,对软件开发人员而言,有、无经验的一个显著区别是:无经验者完成任何任务时都从头开始,而有经验者往

gz85.COM更多总结编辑推荐

2015年终工作总结(软件工程师)


从八月份入职至今,已五个多月过去了,回顾自己这段时间在XX公司所走过的路,所经历的事情,没有太多的感慨,没有太多的惊喜,却多了一份镇定,多了一份从容。
回想入职初,在八月份,从开始第一周熟悉工作环境,第二周便参与煤矿安全生产管理系统的相关文档设计工作,期间在项目组各位同事的指导、安排下,进行了系统的软件开发委托合同书及系统功能模块设计说明文档的编写,也借此过程学习煤矿生产业务。
在九月份,便正式参与了管理软件功能模块的设计工作,在张工的指导、讲解下初次尝试完成了管理软件的维护子系统的功能模块设计;在九月中旬跟随公司施工人员在**一号矿进行业务调研,从而在我们自己的管理系统中,取其长、补其短,也借此机会了解实际的煤矿生产情况,加深对煤矿产业业务流程的理解;在九月底便根据张工的指导开始工程技术文档子系统的功能模块设计。
十月份,在张工张工的指导下,进行了物资管理子系统的功能模块设计,并就设计的正确性、合理性分别同张工张工及何工进行讨论;到十月中旬管理软件的各子系统功能模块基本全部设计完成;十月底,根据各子系统模块设计搜集系统数据,建立初步的数据字典及概念模型,为后期数据库设计做准备。
十一月份的工作以整理系统业务关系与业务流为主,但由于业务关系图的表现形式不够合理,不足以清晰、明了得表现出各层次关系,导致工作多走了几个环节,好在张工张工及时发现问题,并多次向我指导、讲解,最终决定以列表结合流程图形式搜集、汇总系统所有子模块的业务动作、涉及人员及联系模块,为后面工作的展开提供依据。
十二月围绕两个工作展开,一是系统业务描述文档的设计编写,因为该文档是日后编程人员了解煤矿生产业务、系统功能及数据库设计的主要依据,张工张工也多次强调,文档的设计务必从读者角度考虑问题,因此最终设计由简单到复杂,由整体到具体,各层次尽量做到衔接紧密,易于理解;另一项工作是针对已完成的关系列表、系统功能模块设计的业务合理性、正确性和张工张工逐条讨论,并将设计中出现的问题逐条记录在问题跟踪文档中。月底的工作便是根据问题跟踪文档对模块设计进行修改、完善。
在公司领导的带领下,通过项目组所有成员的不懈努力,在十月份系统所有功能模块设计完成,在十一月份系统所有业务流程整理完成,在十二月份,对各功能模块设计及业务流的初次审查、整改工作已经完成,现在已开始进行项目组内对各功能模块设计及业务流的审查工作。
在入职初期,因为之前很少接触生产类软件,一时不知从何入手,好在项目组成员多次向我讲解,加上自己也通过网络查找相关文档,认真阅读相关材料、思考业务处理过程,最终在一个月内便对煤矿整个生产管理业务有了较为系统的认识。之后在张工张工的指导下,完成了管理软件初始化子系统、工程技术文档管理子系统、物资管理子系统的详细功能模块设计和业务处理设计,以及整个系统的业务整理工作。因为张工张工多次强调前期的业务及功能模块的设计直接关系到整个项目最终的成败,一定要做到设计正确、准确、完整,因此在每个子模块的设计中,先把握总体方向,确保设计正确,再搜集大量业务材料、对比其它类似软件处理方式、结合煤矿实际生产情况、思考业务处理流程确保设计准确,最后再将设计放到整个业务系统中,反复检验、审查,确保设计完整。回顾这一段时间的工作,我基本完成了本职工作,这与领导的支持和各位同事的配合、帮助是分不开的,但同时我也清楚得认识到自己还有很多不足,也从中获得不少经验、教训,总结为以下几点,
1.做事前准备、计划是很有必要的。
这一点在入职第一周业务学习及近期搭建各模块业务关系工作中就体会特别深,正是磨刀不误砍柴工,做好准备、计划对之后的工作能起到事半功倍的效果。
2.工作要脚踏实地、一步一步,切不可太过心急。
整个软件的设计从最开始的业务调查、模块框架设计、业务流程设计到具体软件开发设计,每个环节都是建立在前一个环节的基础上,每个环节上的失误都会影响到之后所有环节。
3.学会从整体看问题。
这一点在入职初期的业务流程学习中就感受很深,从整体看问题,从主业务流程入手,理解更容易,学习得也更快,在整个工作过程中大的方向也不会错。
4.要学会适当的思维转变。
之前的软件开发工作主要是编码工作,所考虑的问题也只局限于技术方面,但在系统业务及功能模块设计工作中,一定要考虑到整个煤矿产业的业务流程和客户群的操作习惯。
5.与同事的交流要及时要充分,尤其是项目组内成员。
及时充分的交流能快速解决疑惑、能使整个工作衔接更紧密、能使问题考虑更周全。充分的交流能保证工作的质量,及时的交流能提高工作的效率。
6.在系统设计过程中要学会从客户角度考虑问题。
软件良好的客户体验是衡量软件质量的重要标准,因此在软件设计过程中一定要考虑使用软件的客户范围、客户的操作习惯和软件的易操作性。
7.处理问题一定要以公司利益为重,坚持立场、把握好原则。
公司项目部成员对**1号矿项目的成功实施便证明这一点;另外在集控平台开发过程中,何工也是基于这一点,多次对系统功能设计提出更高要求,以使系统功能更加完善、可操作性更强。
8.要学会思考问题、分析问题、处理问题,学会分解问题,把一个大的问题分解成若干个小问题,再将各小问题放到整体考虑其合理性。
在整理系统业务流程和搭建模块间业务关系工作中,就因为表现形式不够清晰、合理,做了不少重复工作。最终还是在张工的指导下,以“总—分—总”的形式解释业务关系,完成了业务详细说明书。
9.不要局限于固定模式,要学会创新。
在系统功能设计及系统业务整理工作中,张工多次强调这一点,因为只有这样,产品质量才能提高、自己的能力也会有较大提升。通过近半年来参与对管理软件的设计工作及与工程施工、项目发展工作的接触,自己成长不少,当然更多的成长集中在技术方面—软件前期的业务设计,总结为以下几点,
1.已掌握整个煤矿管理的业务处理及流程。
2.掌握了软件开发前期的整个软件设计流程。
3.学会如何进行软件业务及功能模块的详细设计。
4.学会如何发现问题、思考问题、解决问题。
在管理方面,接触不多,主要集中在项目组对集控平台开发的监管过程,总结为以下几点,
1.时刻掌握项目进度情况,进度一旦出现状况要及时作出反应
2.处理问题一定要以公司利益为重,坚持立场、把握好原则。
3.与外包人员要多交流多沟通,包括业务理解和完成情况。最后,通过在公司近半年来的工作生活,提一些个人的想法,
1.公司员工交流不够多,尤其是不同部门间的工作交流,而这种交流能使各部门的工作衔接更紧密,工作效率更高。
2.技术人员接触其他相关技术的机会不多,不过这一点公司正在改善,pLC讲座也即将进行。
3.在准备项目经理考试期间,如果公司能统一每周提供几个小时供大家学习、讨论、交流,效果可能会更好些。
4.午饭时间太紧,员工中午休息时间太紧,一定程度上影响下午的工作效率。
以上都是个人角度的一些看法,考虑不合理之处还望领导及各位同事批评指正。
15年已经过去,崭新的16年来临了,在新的一年里,工作上,生活上,我们都站在了新的一个工作起点,要开始新的一轮工作,我也在此感谢领导和各位同事的支持和帮助,我将在新的一年里继续努力,不断提高自己的业务及专业水平,虚心向大家学习,为XX公司为长风的发展尽自己的力量。

2015软件开发工程师工作总结


年2月2日,我有幸成为北京超图一员,应聘为公司的java软件工程师。入任职以来,在部门领导的带领下,自己感觉无论学习、技术、生活等方面都有很大的提升。 xx年里我主要完成的工作有三方面: 1、荆门石油石化巡检系统的调研和开发。 该项目是我工作以来第一次涉及到调研,对我来说算是一个不小的挑战。在调研过程中,让我学会了如何通过和客户的沟通来了解客户的需求。由于自己的工作经验不足,在调研工作中体现出一些问题。不能很直接的在和客户沟通中非常准确的了解客户的更多需求,有很多需要和客户交流沟通多次才能明白客户的最终需求,也没有把自己作为最终用户并站在用户的角度上来考虑问题,这些都是我在以后的工作中需要提高和改进的地方。在巡检系统的开发工作中,让我进一步巩固和加强了自己的开发能力。 2、电信12530增值业务的开发与维护。 从5月以来我就开始接手公司的主要业务之一,12530电信增值业务。由于前面负责这个项目的同事突然离职,导致这个项目的交接工再做得不够好,对我顺利接手这个项目造成很大的困难。而刚一接手这个项目,马上就需要新上一个投票活动,并要对一些主要代码进行修改,让我倍感压力,几乎都快放弃。最后在金总的指导和鼓励下,顺利的完成这次活动。在完成这次投票活动后,为了避免下一个接手这个项目同事与我遇到同样困难,我第一时间将这个项目的相关技术文档补充完全,保证别人能够顺利的进行该项目工作。通过这个项目,让我加强了自己在高强高压下工作的能力,也让我找到更多自信。 3、襄樊、鄂州家政网络服务中心的开发与实施。 在这两个项目中,除了承担开发工作以外,也逐渐涉及到项目管理的职责,让我在个人能力上有所提高。为了这两个项目能够顺利完成,除了完成自己的工作外,还主动关心其他同事的工作完成情况。让我在项目管理和项目进度的把控能力有很大的提高。将襄樊、鄂州家政网络服务中心顺利实施,为我公司拿下湖北省其他市的家政网络服务中心奠定基础。在工作之外,我也注重个人能力的提高。工作之余,主动学习一些新技术,与同事沟通配合,搭建一个ssh的开发框架。也学习spring security知识,这些新知识的积累,对我以后的工作有很大帮助。 xx年工作展望: 1、将学习的springsecurity整合到我们自己搭建的ssh框架,进一步完善框架。 2、利用搭建的ssh框架,开发一套oa系统平台。 3、做好襄樊、鄂州家政网络服务中心的维护工作。 4、希望公司能够大量拿下湖北省其他市的家政网络服务中心,继续开发和实施湖北省其他市的家政网络服务中心。 5、继续学习新技术,努力提高自己的个人能力。为以后能够更好,更顺利的工作奠定基础。 6、希望通过自己的进步和努力,能为公司的发展做出自己的贡献,体现出自己的价值。 ----------------结束。 以上这篇个人年终工作总结算是程序员惯用的一种写法,先回顾本年度自己做过的项目,总结项目的经验,再描述下年度的工作计划。

2015年软件工程总结


软件工程的定义:软件工程是将系统化的,规范化的,可度量的方法应用于软件的开发,运行和维护过程,即将工程化应用于软件中的方法的研究。

软件工程的定义2:开发运行,维护和修复软件的工程方法。

软检策略思想:软件复用,分而治之,优化折中。

软件的生命周期:软件生命周期是指一个计算机软件从功能确定,设计,到开发成功投入使用,并在使用中不断地修改,增补和完善,直到停止该软件使用的全过程。

它包括制定计划(可行性与计划研究),需求分析,设计,程序编码(实现),测试及运行维护6个阶段。

软件开发模型:瀑布模型,快速原始模型,增量模型,螺旋模型,喷泉模型,组件复用模型。

软件开发过程:(1)定义;(2)开发;(3)验证;(4)维护。

软件开发的基本方法:传统的结构化方法,面向对象的方法。

可行性研究的主要任务:
可行性研究的主要任务不是具体解决系统中的问题,而是以最小的代价在尽可能短的时间内确定问题是否值得解决,是否能够解决。

可行性研究主要包括以下几个方面:1,技术可行性(风险分析,资源分析和技术分析);2,经济可行性(成本-效益分析);3,社会可行性(社会可行性是指开发后的系统能否得到社会的认可)

系统模型:物理(框图),逻辑(流程图);

系统流程图在可行性分析阶段使用。

成本—效益分析:
成本—效益分析的目的是从经济角度来评价开发一个新的软件项目是否可行。

系统的成本包括系统的开发陈本与运营成本。

系统成本包括:(1)硬件成本;(2)系统软件成本;(3)软件开发成本;(4)施工成本;(5)用户培训费用;(6)不可预见费用。

系统的运营成本是指发生在软件生命周期内维持系统运行的费用,以每年的花费量计算。
它包括:(1)人员费用;(2)网路使用费用;(3)维修费用;(4)消耗品费用。

需求分析的任务是理解和表达用户的需求,描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的借口细节,定义软件的其他有效性需求。

数据流图在需求分析阶段

er模型包含“实体”,“联系”和“属性”三个阶段。
在er图中用矩形方框代表实体
在er图中用菱形方框代表联系。
在er图中用椭圆或圆角矩形表示属性。

层次框图是用树形结构的一系列多层次的矩形框描述数据的层次结构。

软件设计的原则:模块化,抽象化,信息隐蔽,模块独立。

模块化是指解决一个复杂问退时自顶向下逐层把软件系统划分为若干模型的过程。

抽象化是指认识复杂现象过程中使用的思维工具,即抽出事物本质的,共同的特性而暂不考虑它的细节,不考虑其它因素。

抽象化和逐步求精,模块化的概念是一致的。

模块独立性的概念是模块化,抽象化和信息隐蔽的直接产物。

模块独立性可用两个定性标准来度量:内聚性和耦合性

内聚性:又称块内联系,是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

耦合性:又称块间联系,是指软件系统结构中各模块间相互联系紧密程度的一种度量。

偶然内聚:这种模块内各部分之间没有有意义的关系或者关系很松散。

逻辑内聚:这种模块把几种相关的功能组合在一起,每次被调用时,根据传送给模块的控制型参数来确定应执行的功能。

时间内聚:这种模块大多为多功能模块,但要求模块的各个功能必须在同一时间段执行。

工程内聚:使用流程图作为工具设计程序的时候,通过流程图来确定模块划分,把流程图中的某一部分划出组成模块,就是过程内聚模块。

通信内聚:一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据。

顺序内聚:一个模块中各个部分都是完成一项具体的功能而协同工作,紧密联系,不可分割的。

内容耦合:如果一个模块直接访问另一个模块内的内部数据,或一个模块不能通过正常入口转到另一个模块内部,或两个模块有一部分程序代码重叠(在汇编语言程序中可能出现),或者一个模块有多个入口,则两个模块之间就发生了内容耦合。它是最高程度的耦合,应该避免。

公共耦合:如果一组模块都访问同一个公共数据环境,则它们之间的耦合称为公共耦合。

外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

控制耦合:如果一个模块把控制信息传递给另一个模块,对其功能进行控制,这种耦合称为控制耦合。

标记耦合:如果一组模块通过参数表传递记录信息,这组模块就是标记耦合。事实上这组模块共享了某一数据结构的子结构,而不是简单变量。

数据耦合:如果一个模块访问另一个模块彼此之间通过数据参数(不是控制参数,公共数据结构或外部变量)来交换输入,输出信息,这种耦合称为数据耦合。

非直接耦合:如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。

数据流图的类型:变换型,事务型,混合型。

sd方法以数据流图为基础设计系统的模块结构。

事务型中间是有事务中心的!由它来进行处理的!

程序设计语言的分类:
机器语言——第一代语言
汇编语言——第二代语言
高级语言——第三代语言
4gl——第四代语言

变换型数据流图是线形结构的,由输入,变换(或称主加工)和输出三部分组成。

程序的效率:程序执行速度的快慢和程序占用存储空间的大小。
效率要求实际上就是性能要求对效率追求应取决于再需求分析阶段确定的效率方面的要求;

程序的效率包括以下三个方面:程序运行时间;存储器效率;输入/输出的效率。

公式计算:v(g)=m-n+p
v(g)有向图g的环数;
m有向图g的有向弧数;
n有向图g的节点数;
p=1;

软件测试的目标:为了发现错误而执行程序的过程。

软件测试的常用方法:
黑盒法:已知该程序应具备的功能而通过检测来检验的它的每一项功能是否能正常使用此方法为黑盒测试。
白盒法:已知程序的内部结构和工作过程,通过检测可检验产品内部动作是否符合规格说明书的规定,为白盒测试。

用白盒法设计测试用例最常用的是逻辑覆盖法:包括语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖。

软件测试分为4个步骤进行:单元测试,集成测试,确认测试,系统测试。

软件可维护性的因素:可理解性,可测试性,可修改性。