软件学习心得
软件学习心得篇1
通过为学期期的实训,我学习了很多关于很多的知识。在老师的正确指导下,顺利的完成了我的实训内容。在此,也有同学的帮助,在他们的帮助下我也受益匪浅。最终,能顺利完成实训的任务也高兴了。
在实训生活中,我了解开发项目的需求、设计、实现、确认以及维护等活动整个过程,让自己开始懂得一点软件工程的知识点。首先,了解需求分析的重要性,比如:需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。所以,需求分析是成功的第一步,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。 然后呢?确实客户的需求的以后我们要做什么呢,那当然是设计和分析。此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。接下来是代码实现,此阶段是将软件设计的结果转换成计算机可运行的程序代码,我们这个项目为五个模块,分别为五个小组成员完成。这阶段我学到很多编程的思想,如:分层思想、mvc、ssh的整合、dao的编写。编号程序之后就是软件测试了,此时在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。最后是软件维护,它是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。
但是,我深深体会到了在许多方面的欠缺和不足,比如:在需求分析时,由于自己的实践经验不够,很难分析需求到位;在编写代码时,由于自己技术知识水平不广,常常遇到技术难题;还有自己没有
良好的编程习惯,不注释,有时连自己也看懵了;编程的结构不好,维修和修改代码是很慢。这次实训让我意识到了自己做为计算机软件工程专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄外,还必须具备良好的心理素质,使自己在以后的途中无论经历什么样的困难,都立于不败之地。“纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而所学的,都是课本上没有而对我们又非常实用的东西,这又给我们的实训增加了浓墨淡采的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。
在这次实训中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中各成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每个成员的意见,使我们的组合达到更加完美。实训过程中,除了要专业知识,包括人际交往,沟通方式及相关礼节方面的内容,对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经理,这是也是实训最大的收获。
这次实训带给我太多的感触,它让我知道工作上的辛苦,事业途中的艰辛。让我知道了实际的工作并不像在学校学习那样轻松。让我学到了很多课堂上更本学不到的东西,仿佛自己一下子成熟了,懂得了做人做事的道理,也懂得了学习的意义,时间的宝贵,人生的真谛。明白人世间一生不可能都是一帆风顺的,只要勇敢去面对人生中的每个驿站!这让我清楚地感到了自己肩上的重任,看清了自己的人生方向,也让我认识到了做软件应支持仔细认真的工作态度,要有一种平和的心态和不耻下问的精神,不管遇到什么事都要总代表地去思考,多听别人的建议,不要太过急燥。人非生而知之,虽然我现在的知识结构还很差,但是我知道要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。这次实训让我在一瞬间长大:我们不可能永远呆在象牙塔中,过着一种无忧无虑的生活,我们总是要走上社会的,而社会,就是要靠我们这些年轻的一代来推动。这就是我们不远千里来实训的心得和感受,而不久后的我,面临是就业压力,还是继续深造,我想我都应该好好经营自己的时间,充实、完善自我,不要让自己的人生留下任何空白!
从初出茅庐,到现在可以熟练的按照流程开发软件,这都与我组每个成员的努力是分不开的。在实训中,教会了我们很多东西,同时
也锻炼了大家踏实、稳重、沟通的能力,每个人都很珍惜这来之不易的实训机会。在工作中,经常会和不同的人打交道,然而他们的态度是不可恭维的,你会感觉到他的不耐烦以及他的高傲,所以这就需要学会沟通的方式及说话技巧,学会灵活面对。
在这学期的实训中,我受益匪浅,不仅专业知识增长了,最主要是懂得了如何更好的为人处事、团队合作,感觉自己比以前成熟多了。正因为学习上有所收获,思想上也就豁然开朗起来。通过这次实训,我觉得要改变以前错误的思想,想把各项工作做好,就必需要不断的学习,不断的充电,也只有不断的学习、充电,才能提高自已的工作能力。古人云,“活到老、学到老”,这句话是很有道理的。
社会的竞争是激烈的,我想我们应该好好把握住大学学习的时间,充实、完善自我,全面发展,攻破电脑,争取做一名出色的程序员。我们深刻的了解到,只有经历过,才知道其中的滋味。
对于我而言,可以说通过这次实训,真真切切的让我了解了什么是软件开发,什么是软件,让我对于软件最初的观点也有了本质性的改变!程序员不仅仅是一份职业,更是一份细心+一份耐心+一份责任心=人生价值的诠释。
软件学习心得篇2
在支付宝测试分析的角色和系统分析的角色是对应的,只不过一个是测试类的另外一个是开发类的。系分下面会有相应开发,测分下面会有相应的测试用例编写和执行人员。也就是说测试分析文档是对测试执行人员的一个指导(在我原来的理解方式上,觉得测试分析人员应该是用例编写人员;而在这里测试分析人员是从业务上去分析的,用例是用例执行人员来写并且执行的)。
而通过这次的这次分析觉得自己的测分还存在以下的问题:
1、太关注开发的内部实现逻辑。建议:将开发内部实现逻辑看成一个黑盒子,测试分析要从这个黑盒子的输入和输出上去看开发内部实现逻辑是不是有问题,而不应该先去了解开发的实现逻辑然后按照他们的思路去分析。
2、分析文档写的过于详细,甚至将用例的步骤都写了出来。建议:测试分析要从全局上去看问题,细节的东西即便是知道的,也要留给之后的用例编写人员去了解(就像系分之后的开发需要去写详细设计的道理一样),这样后面的人才会自己主动去想问题。
3、分析文档要考虑维护性问题,不要出现类似比如还款中状态为“R”这种具体的数据内容。因为我的分析是对后续用例编写人员的一个指导性的文档,所以如果侧分这么写很有可能导致用例也照着这么写,其实不管侧分和用例都不应该具体写到R这么细节,否则的话开发稍作变动我们就要相应变动我们的用例
4、没有明确测试目的。review用例的时候,没有提出每个用例需要明确一个测试目的,让别人来看这个用例的时候能明白到底是怎么回事。
总结:
1、以后写测试分析文档,依据仅仅是prd文档,必须抛开开发实现逻辑部分(即不去看系分文档),待测分出来之后,再去看系分文档,互相看看彼此考虑的是否存在遗漏的地方。等到在写用例的时候再让写用例的人和相应的开发去互相明确更细节的东西。
2、写用例我们目前都是仅仅做到对流程上的每个节点去单独分析,细到看输出的时候会关注到数据库表的一个变化。但是除了以上部分,其实还少了对整体流程的关注,需要增加业务流程的各条路径的一个覆盖,在针对路径的用例中不需要关注到数据库表级那么细。
3、在做流程路径覆盖之前应该画一个路径图,这个图的画法考虑各个入口的不同分开画流程图,分别进行路径覆盖。
软件学习心得篇3
第一,要认清形势。
我觉得任何事情一定要在认清形势的基础上再开始考虑如何计划,这样才能让别人满意你的结果而自己也能获得较大的收获。一开始,_总就强调过,我们不应该把这个项目当成还是课堂的项目,完成老师的硬性要求,而是一个真正的公司的项目。这样我们就可以考虑到时间方面的限制和我们在技术上的优势,而在需求上与甲方PM交涉。我们公司内部在经过一番讨论后,确定了最利于我们完成该项目而又达到甲方PM要求的项目方案,然后与甲方PM进行商榷,在与甲方PM分析了各种情况后,最后终于敲定了让甲方PM满意,而我们自己又认为能完成得比较好的需求。
第二,相信团队合作才可能把项目做到最好。
从整个项目的过程来看,团队合作中需要沟通、分工、协作和监督。只有做好这四项才算是一个好的合作团队。首先,团队合作最基本的技能就是沟通。沟通的目的就是让别人了解你的想法,因为每个人考虑问题的时候总会有各种各样的偏差,我们只有沟通很好的沟通来综合所有人的好的想法,以减少走弯路,而让事情进行的更顺利。我们公司内部的沟通是比较随意的,因为大家都比较熟悉,任何时候有什么想法都会提出来,然后大家一起讨论,并得出最后的结果。而整个项目的进行中很重要的又比较正式的沟通就是与甲方PM的沟通,完成这个项目其实也是与甲方的合作的过程,因为甲方PM是在职人员,他的人生阅历比我们多,而且沟通能力是很强的,我们从与他的沟通中都学到了不少知识与技巧,其中很多都是我们以前做老师给我们的作业项目所没有的但却是很重要的。我们其实也很感谢甲方PM,他很认真负责地跟我们沟通,我们在沟通中用词不当或犯什么错误时,他都会指出来,并改正我们的说法,因此单从与他的沟通中就学到了不少以后工作时将会用到的实在的知识。
其次,团队合作的关键环节就是在有效沟通的基础上进行分工,分工要明确,落实到每个人。由于这个项目时间的限制和语言的不熟,这个项目必须由我们公司所有成员都尽努力才能做好,这样就需要合理的分工。比如我们这个项目中分为总的来说可以分为界面,核心算法,和数据库这三个模块,而算法也分有好几种,只有把它们分配给对各模块感兴趣的人做,让他们在规定的时间里进行钻研努力,才能达到最好的效果。我们组在这方面做的比较好,苏总在我们项目提出时,就根据各人的能力和兴趣把每个人分配在不同的主要任务中,在每周与甲方PM定好下阶段的提交物后,都是仔细地把任务均匀地分配给各个人。因为我们组是按照每人的工作量来最后算成绩的,均匀地分配任务就不会造成组员的不满了。再其次,团队合作中协作是必不可少的。在项目组中各成员都明确了任务后,就需要大家单独工作的同时去配合其他人。尽管大家都有不同的任务,但是相互之间在一些问题互相协作的话,不仅可以提高各个任务进行的速度,也利于对项目中别的模块的了解。
由于我们组的成员都是比较熟悉的,所以在协作方面还是不错的,比如某人搭建完环境后,帮其他的组员在他们自己的电脑上搭好,这样就会节省大量的时间,而这名组员也可以把时间用在别的事情上。而且虽然我们进行了明确的分工,但毕竟是一个项目,之间还是有很大的关联的,这样在编码的时候,都会进行讨论和互相帮助,这样就减少了错误的可能性也节省了时间。最后,项目经理的监督是必不可少的。一个团队中,难免有人会偷懒或拖延,或者完成任务的质量不理想,项目经理就要对这些人进行督促和提出合理的建议。通过监督了解项目的进展、质量、问题等并及时的调整资源利用情况,以保证项目的成功。虽然我们组没有出现上面提到的种.种情况,苏总还是进行了严格的监督,我们每人都是按照苏总给我们的计划提交相应的产品给他,但质量是参差不齐的,苏总都会进行审核,然后给出建议,让我们修改优化后,他才把产品提交给甲方PM,因此甲方PM一直对我们的提交物比较满意,这与苏总的努力是分不开的。
第三,要详细制定计划,并严格按照计划来执行。
这次的项目周期很短,因此计划就显得格外的重要,只有进行详细的计划,我们才有紧迫感,并要求自己抓紧时间完成当天的任务。对比去年的软件工程课,那个项目与这个项目的规模差不多,但是开发周期是真个学期,每个阶段都显得很长,就算制定了一个计划,也没有按照那个计划来,拖个几天是很正常的,今天不能完成明天做,因为有的是时间,这样越来越松懈,就把大量的任务往后压,到最后就拿质量换时间了。而这个项目一开始就让人有很强的紧迫感,计划几乎是细到天的,我们每人组员都要在周报中详细汇报这周中每天做了什么的,PM通过周报来很好地管理进度,当然必要的情况下还是会做相应的变动的。到最后我们的项目如期完成了,而且结果是比较让人满意的,这样的结果对比去年的就会让我以后在做别的事的时候,更加自觉地详细做计划并严格按照计划执行。另外,这样做的好处就是让人感觉每天都很充实,没有虚度光阴,每次我浑浑噩噩地度过一天而没有学到任何东西后,我都有一种罪恶感,感觉对不起父母和关心自己的人,而制定了详细的计划并认真执行的话,每天都会以饱满的精神状态来学习,心情也很好,这样才是健康的生活方式。
虽然通过这门课,我的经验更佳丰富了,个人编程能力,沟通能力等都有了一定提高,但是我也感觉到了自己的诸多不足,比如我的沟通能力还有待提高,这或许不是一两天的问题,但是我会更加注意,并在以后的生活学习中,留心并提高沟通能力。还有不足就是项目期间,热情还不是不够,每次都把相应的任务做完后,就不管了留给PM,然后等下一个任务,而自己却没有更加用心地去考虑如何把整个项目做的更好,或许是因为我不是PM的缘故吧,在以后的项目中,我要改变这种心态,以更加积极的热情去参与项目。