2024年3月27日发(作者:)
软件工程实习心得体会五篇范文
软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护
有效的、实用的和高质量的软件的学科。下面是为大家推荐的软件工程实习心得体会,供
大家参考,希望大家喜欢。
学习了这门课程, 还有老师们的多元化教课,不但让我从理论上掌握软件工程,还有从不
同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多
东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说
是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该
门课程,成为了一个综合的一个能够解决问题的思想集合。
要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工
程,就必须知道软件工程的目标、过程和原那么: 软件工程目标:生产具有正确性、可用性
以及开销合宜的产品。正确性指软件产品到达预期功能的程度。
可用性指软件根本构造、实现及文档为用户可用的程度。开销合宜是指软件开发、运
行的整个开销满足用户要求的程度。这些目标的实现不管在理论上还是在实践中均存在很
多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
软件工程过程:生产一个最终能满足需求且到达工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、
确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称
软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设
计建立整个软件系统构造,包括子系统、模块以及相关层次的说明、每一模块的接口定
义。详细设计产生程序员可用的模块说明,包括每一模块中数据构造说明及加工描述。实
现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后
确实认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。 软件工程的原那么是指围绕工
程设计、工程支持以及工程管理在软件开发过程中必须遵循的原那么。
pad图:它是用构造化程序设计思想表现程序逻辑构造的图形工具。pad也设置了五
种根本控制构造的图示,并允许递归使用。hipo图:hipo图是由一组ipo图加一张hc图
组成。它是美国ibm公司在软件设计中使用的主要表达工具。hc图既是层次图,用于表
示软件的分层构造。hc图中的每一个模块,均可用一张ipo图来描述。ipo 图由输入、
处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直
观地显示输入处理输出三者之间的联系。还有测试方法:按照测试过程是否在实际应用环
境中来分,有静态分析与动态测试。测试方法有分析方法(包括静态分析法与白盒法)与非
分析方法(称黑盒法)。静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说
明书、源程序做构造检查、流程分析、符号执行来找出软件错误。动态测试技术:当把程
序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数那么
描述了输入的定义域与输出值域的关系。还学习了其他很多工具、语言、方法等,虽然不
是都学得很透彻,但我相信在今后的学习中一定会慢慢的完善的。
软件工程对于初学者来说,知识根底较薄弱,对一些应用操作、概念、工具方法等理
解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本
专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注
意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什
么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的
学习目标终究是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进展提
高,制定出详细的学习规划。还要注意与其他科目的相辅相成,就像我们在学习面向对象
分析的时候要结合大一学习的面向对象及其方法学这一专业科目进展研究拓展;在学习语
言时,要看看与c语言的联系,多思多想,把从各个科目学到的知识通汇贯穿。
在软件工程的学习中,我了解到了软件并非是一些代码这么简单,在开发软件的过程
中,编写代码的工作量其实只占不到所有工程量的30%,而后期的管理和维护更是占了
60%到80%之多。一个完整的工程规划须包括,软件的定义,可行性分析报告,工程开
发方案,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试方
案,测试分析报告,开发进度报告,工程开发总结报告,软件维护手册,软件问题报告,
软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点
真的不是很容易,而恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如
何用最小的开销做出生存期较长的软件,再加上各个阶段都要进展周密的筹划、详细的分
工部署和人员安排,且各阶段要据详细情况不断的反复才能达成,所以代码只是开发软件
这个浩大的工程的一个小小的过程。
而编码的学习中,我更了解到形成自己独特的标准的编码风格是非常重要的事。因为
这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无标准可
言,那么别人怎么能读懂你的程序读不懂程序,维护又从何谈起呢所以,我们在今后的学
习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在标准的根底上形成属于
自己的风格,即方便自己的修改,也方便日后他人的阅读。
在学习中,我们还要注意比拟三种方法的优缺点,例如:传统方法虽然使软件摆脱了
和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数
据,缺乏两者的有机结合。而面向对象方法的程序设计和问题求解更符合人们日常自然的
思维习惯,适合大型、复杂及交互性比拟强的系统。形式化方法那么是一中基于形式化数
学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。在今后的学习中要
注意多读书、多思考、多练习、多讨论,不断熟悉书本的根底,并以此为根底将其扩散开
来,应用于今后的实践。不断锻炼自己,向一名合格的程序设计师迈进。
这次软件工程实训是从20xx.12.26号开始的,截至20xx.12.31号。实训内容是用
java相关知识(主要是jsp)做一个物流配送系统。下面谈谈对这次实训的看法。
因为自己平时对java知识储藏缺乏,特别是jsp这一块根本不了解怎么回事,所以
一拿到这个工程,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我
一个人在战斗了。呵呵,26号,实训开始了,我们的老师是中软国际公司的程序员,一
个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。老师介
绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后
就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当
时看到用jsp,还讲的那么认真,当时我就懊悔了,平时要是多听点,现在老师这么认真
的给我们讲,这是一个多么难得的时机啊。懊悔也没用啊,开始还勉强能理解一点,后来
就直接晕了。然后再给大家介绍了一些即将用到的工具,比方rationalRose,SVN,
MyEclipse等等。接下来的几天就不再细讲了。下面谈谈通过这次实训的心得体会吧。
通过这次实训,让我了解到工程开发的过程,可行性分析——>需求分析——>概要
设计——>详细设计——>代码编写——>测试——>验收。从技术方面上,我开始jsp
根底根本上就是零的,在老师和syz2(另外一个物流小组,我一个人根本上是跟她们做
的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。其实实训开始前,
我还以为做个系统没什么大不了,可是当真正拿到一个工程,我却真的无从下手了,而且
就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。通过这个实训,也让我
了解到,团队协作是多么的重要。一个人的精力是多么的有限。进一步理解到,企业为什
么如此重视团队协作。同时借用老师的话就是团队协作固然重要,但是是建立在个人素质
的根底上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多奉献了。**
老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教
诲。
还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,
我倒是觉得没什么了,不过他倒是很重视这个问题吧。然后他说出来,我也觉得这个问题
确实其实是个大的问题。就是不管你会不会这门技术,会不会做这个东西,态度要正确才
好,就算你不会做,你也应该认真的对待,将来 出身到社会,就不是说像你现在,不会
做就不做,跑去玩游戏了。小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技
术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学
生,可以毫不顾忌的询问各种问题,老师也会尽力为你答复。将来出身社会就不一样了。
虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。不管怎么样,我能对自
己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加
班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这
点,是这次我应该对自己的一个肯定。
这次实训的心得根本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周
褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还
进展了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解
决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储藏不够,我想应
该是这个问题的突发吧,一时没想到怎么处理。相反让我感觉更多的就是老师很认真,很
负责。还要感谢就是syz2小组的倾力支持,辅导。
时间过的很快,转眼间已经实习将近5个月,其中有2个月是属于完全被流放的。
最先在内部系统组参与内部管理系统开发(struts+mysql+spring+hibernate),之后
是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力
被别人甩在后头,但至少具有了一些测试经历。
至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。
1、浅谈测试
一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况
中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于
编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经历总结和想象力。而要做
到高级测试工程师,那么一定要懂编码,因为这是你完全掌握整个系统的方方面面详细运
作的前提。但占主导地位的,还是大型系统的集成测试经历。实际工程中,编码时间一般
只占30%左右,真正消耗时间的是IT阶段的找 bug与对应bug,此阶段根本评定了
coder的编码质量。
2、程序员的困惑
有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,
问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在工
程组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?
有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此根底上去做
详细记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配
置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的
问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段
“源码”才真正属于你。
3、如何调试追踪
如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没
问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的详细值,那是最
好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数
据,我们要先从数据库查询语句去下手,设置断点,一步一步step over,让sql字段(存
取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,
copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能
就是页面调用的错误或者action逻辑的传值问题。
页面错误的调试,根本方法是用右键点击实际网页查看源代码,copy到editplus,
就能看到详细错误发生在那几行。通常有几种常见的错误,例如:缺少对象这种很多时候
是有些被你调用的字段有可能为空的情况出现的,可以加if(xxx=null)语句加保护。追踪
的方法根本就是用alert语句,放在有可能出错的地方。
4、一些习惯
遇到问题先自己思考,无从下手再找高手帮助看看,注意他帮你看的思路,别在一旁
闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比
书多的多。
解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问
题再浪费同样的时间。
把代码写的漂亮,注释、空行、标准一样不能少,可读性是放在第一位。曾经看过一
个高手写的代码,真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自
己也方便别人。
任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会
对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比拟好走了。
在这次软件工程课程中,我学到了很多东西,第一次深刻的体会到了什么叫做用工程
化的思想来编写软件,以前自己也写过一些小型软件,没有做过大型的工程,直到这次课
堂我担任组长并组织组员共同完成“个人图书管理系统”这个工程,第一次和别人合作,
才发现运用工程化的思想来做是如此的有必要。
从这里,我才真正的意识到实施一个软件工程并不是说简单的会编码就能够解决问题
的,我们更多的精力不是放在编码上,编码只是一个很小的模块,只占到那么小的一个局
部。这个事实在很大程度上颠覆了我以前的思想,在我以前的认识中,似乎整个软件就是
编码,除此无它,还好有老师的指导,不然真的会出现老师所说的,撞得头破血流之后才
想起来用软件工程的思想来完成这个工作。
刚真正开始工作之前,我们费了很多的时间来完成一些前端工作,如需求分析和可行
性分析,这块工作在别人看来可能是相对无关紧要,甚至是多于的,其实,换做在以前,
我也会这么认为。可是,我现在算是深深地明白了磨刀不误砍柴工的道理,这些工作的完
成太有必要了,太重要了,要想你的软件有用有市场,能被别人承受和认可,在进展过程
中不会出现崩溃性的问题,这些工作缺一不可。
还有就是接下来的一些设计模块,此模块与软件编码涉及比拟严密,主要是解决一些
参数传递和接口通讯的问题,此模块对我的触动远没有上两个模块对我的影响大,因此再
次也不做过多的介绍。
在整个活动的完成过程中,作为组长,我收获很多,我发现,要是组里有个人不怎么
想做事情时,他对于整个组织的影响是消灭性的,正所谓“一颗老鼠屎,能坏一仓谷”,
以后我的组织里要是出现这样的人,我绝不会给他继续留下来的时机,我会在第一时间将
他去除出去。还有就是,作为组长,你要做的最重要的事情,不是发挥自己的聪明才智,
而是创造出一个平台,让别人去发挥,你所要做得,出了保证这个平台的完整性和公平性
外,还有就是协调好各组员之间的关系。
转眼,出来社会都已大半年,已是半个社会人了。不能再向学生那样,某些时候可以
随心随意。顶岗实习,为我们提供了一个很好的实践时机,可以让我们更好的把理论应用
于实践,在实践中领悟理论,更可以学习到很多书本上学习不到的、甚至比理论知识更实
用的业务知识。而且,这些实习经历,无疑是我们毕业后就业的一大筹码。作为一个成年
人,作为一个社会职业人,任何时候都要守规矩,做好自己的本分,承当起自己所需要承
当的责任。经历了2家公司的工作,我渐渐的认识到,每一份工作或每一个工作环境都无
法尽善尽美,但每一份工作中都有许多珍贵的经历和资源,如失败的沮丧、自我成长的喜
悦、温馨的工作伙伴、值得感谢的客户等等,这些都是工作成功者必须体验的感受和必备
的财富。如果每天怀着感恩的心情去工作,在工作中始终牢记“拥有一份工作,就要懂得
感恩”的道理,你一定会收获很多很多。在你收获很多很多的同时,你会发现自己已经在
锻炼中变得勇敢,坚强,乐观,阔达。这样的你,是不断前进的走在成功的路上的。


发布评论