《软件工程学习心得体会(21篇).docx》由会员分享,可在线阅读,更多相关《软件工程学习心得体会(21篇).docx(85页珍藏版)》请在第一文库网上搜索。
1、软件工程学习心得体会(21篇)软件工程学习心得体会(通用21篇)软件工程学习心得体会篇1学习了这门课程,还有老师们的多元化教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则:软件工程目标:生产具有正确性、可用
2、性以及开销合宜的产品。正确性指软件产品到达预期功能的程度。可用性指软件根本构造、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不管在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。软件工程过程:生产一个最终能满足需求且到达工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统
3、构造,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据构造说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后确实认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。Pad图:它是用构造化程序设计思想表现程序逻辑构造的图形工具。Pad也设置了五种根本控制构造的图示,并允许递归使用。hipo图:hipo图是由一组ipo图加一张he图组成。它
4、是美国ibm公司在软件设计中使用的主要表达工具。he图既是层次图,用于表示软件的分层构造。he图中的每一个模块,均可用一张ip。图来描述。ipo图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入处理输出三者之间的联系。还有测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做构造检查、流程分析、符号执行来找出软件错误。动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的
5、全体称为函数的值域,函数那么描述了输入的定义域与输出值域的关系。还学习了其他很多工具、语言、方法等,虽然不是都学得很透彻,但我相信在今后的学习中一定会慢慢的完善的。软件工程对于初学者来说,知识根底较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标终究是什么,根据自己的实际工作出发,有针对
6、性的在相应的学习方向上进展提软件工程对于初学者来说,知识根底较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标终究是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进展提高,制定出详细的学习规划。还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向
7、对象及其方法学这一专业科目进展研究拓展;在学习语言时,要看看与C语言的联系,多思多想,把从各个科目学到的知识通汇贯穿。在软件工程的学习中,我了解到了软件并非是一些代码这么简单,在开发软件的过程中,编写代码的工作量其实只占不到所有工程量的30%,而后期的管理和维护更是占了60%到80%之多。一个完整的工程规划须包括,软件的定义,可行性分析报告,工程开发方案,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试方案,测试分析报告,开发进度报告,工程开发总结报告,软件维护手册,软件问题报告,软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点真的不是很容易,而
8、恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如何用最小的开销做出生存期较长的软件,再加上各个阶段都要进展周密的筹划、详细的分工部署和人员安排,且各阶段要据详细情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。而编码的学习中,我更了解到形成自己独特的标准的编码风格是非常重要的事。因为这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无标准可言,那么别人怎么能读懂你的程序读不懂程序,维护又从何谈起呢所以,我们在今后的学习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在标准的根底上形成属于自己的风格,即方便自己的修改,也方便日后他人的
9、阅读。在学习中,我们还要注意比拟三种方法的优缺点,例如:传统方法虽然使软件摆脱了和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比拟强的系统。形式化方法那么是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的根底,并以此为根底将其扩散开来,应用于今后的实践。不断锻炼自己,向一名合格的程序设计师迈进。这次软件工程实训是从20_.12.26号开始的,截至20_.12.
10、31号。实训内容是用java相关知识(主要是jsp)做一个物流配送系统。下面谈谈对这次实训的看法。因为自己平时对java知识储藏缺乏,特别是jsp这一块根本不了解怎么回事,所以一拿到这个工程,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了。呵呵,26号,实训开始了,我们的老师是中软国际公司的程序员,一个是周祺,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真
11、,当时我就懊悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的时机啊。懊悔也没用啊,开始还勉强能理解一点,后来就直接晕了。然后再给大家介绍了一些即将用到的工具,比方rationa1Rose,SVN,MyECIiPSe等等。接下来的几天就不再细讲To下面谈谈通过这次实训的心得体会吧。通过这次实训,让我了解到工程开发的过程,可行性分析一需求分析一一概要设计一一详细设计一一代码编写一一测试一一验收。从技术方面上,我开始jsp根底根本上就是零的,在老师和syz2(另外一个物流小组,我一个人根本上是跟她们做的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。其实实训开始前,
12、我还以为做个系统没什么大不了,可是当真正拿到一个工程,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。通过这个实训,也让我了解到,团队协作是多么的重要。一个人的精力是多么的有限。进一步理解到,企业为什么如此重视团队协作。同时借用老师的话就是团队协作虽然重要,但是是建立在个人素质的根底上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多奉献了。老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教诲。还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个问题吧。然后他说
13、出来,我也觉得这个问题确实其实是个大的问题。就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了。小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各种问题,老师也会尽力为你答复。将来出身社会就不一样了。虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶
14、段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自己的一个肯定。这次实训的心得根本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周祺,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进展了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储藏不够,我想应该是这个问题的突发吧,一时没想到怎么处理。相反让我感觉更多的就是老师很认真,很负责。还要感谢就是syz2小组的倾力支持,辅导。时间过的很快,转眼间已经实习将近5个月,其中有2个月是属于完全被流放的。最先在内部系统
15、组参与内部管理系统开发(struts+mysq1+spring+hibernate),之后是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经历。至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。1、浅谈测试一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经历总结和想象力。而要做到高级测试工程师,那么一定要懂编码,因为这是你完全掌握整个系统的方方面面详细运作的.前提
16、。但占主导地位的,还是大型系统的集成测试经历。实际工程中,编码时间一般只占30%左右,真正消耗时间的是IT阶段的找bug与对应bug,此阶段根本评定了COder的编码质量。2、程序员的困惑有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在工程组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此根底上去做详细记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。3、如何调试追踪如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运