心得体会是一种对自己思考和行动的回顾,也是一种对他人分享和启示的表达方式。小编为大家收集了一些关于心得体会的范文,供大家参考和学习。
优质软件工程实践心得(模板14篇)篇一
软件工程是指对软件开发过程的系统化、规范化和可重复性的管理,它的实践包括了需求分析、设计、编码、测试等环节。在我进行软件工程实践的过程中,我深入感受到了软件工程的重要性和作用。下面将结合我个人的实践经验,总结出几点心得体会。
首先,软件工程要注重需求分析。需求分析是软件工程的第一步,也是最关键的一步。在软件开发前,我们要充分了解用户的需求,将用户的需求转化为软件功能的设计。在我的实践中,我通过与用户的充分沟通和交流,从用户的角度去思考问题,才能更准确地进行需求分析,为开发人员提供明确的指导。在需求分析中,我还学会了倾听,不断与用户确认需求,以及及时调整和改进设计方案,确保软件符合用户需求。
其次,软件工程要注重团队合作。软件工程往往需要多个人员合作才能完成,因此团队合作是至关重要的。在实践过程中,我明白到只有优秀的团队才能取得优秀的成果。在团队中,每个成员都需要明确自己的分工和责任,并与其他成员紧密合作。我们要相互学习和分享经验,不断提高自身的技术水平。同时,团队中要注重沟通,及时解决问题,避免产生因为沟通不畅导致的误会和冲突。通过良好的团队合作,我们能够充分发挥每个人的优势,提高开发效率和质量。
第三,软件工程要注重代码质量。在软件开发过程中,代码是最基础也是最核心的部分。良好的代码质量能够提高软件的可维护性和可扩展性,降低后期维护的难度。在我的实践中,我始终坚持编写规范的、可读性强的代码。我学会了合理地命名变量和函数,注释代码,遵循一致的代码风格。同时,我还注重代码的复用,避免重复造轮子,提高编码效率。通过不断改进代码质量,我们能够减少错误和bug的产生,提高软件的稳定性和可靠性。
第四,软件工程要注重测试。在软件开发的过程中,测试是不可或缺的环节。通过测试,我们能够发现和解决问题,保证软件的质量。在我的实践中,我学会了制定测试计划和编写测试用例,以覆盖不同的测试场景。我注重对代码的单元测试,确保各个模块的代码正确运行。在进行集成测试时,我也注重了软件与外部系统的集成情况,确保软件在各种场景下都能够正常工作。通过测试,我们能够及时发现问题并进行修复,保证软件的正确性和可靠性。
最后,软件工程要注重持续改进。软件工程是一个不断迭代的过程,我们要在实践中不断总结经验,寻找不足,进行改进。在我的实践中,我经常与团队成员进行经验交流,分享自己的心得体会。同时,也要注重学习新的技术和方法,关注行业的最新动态,及时更新自己的知识体系。通过持续改进,我们能够不断提高软件工程的水平和效率。
综上所述,软件工程与实践需要注重多个方面的因素。需求分析、团队合作、代码质量、测试以及持续改进都是软件工程实践中不可忽视的环节。通过不断的实践和总结,我们能够提高软件开发的水平和质量,为用户提供更好的产品和服务。希望我的经验与体会能够对其他正在学习软件工程的人们有所帮助。
优质软件工程实践心得(模板14篇)篇二
这次软件工程实训是从20__.12.26号开始的,截至20__.12.31号。实训内容是用java相关知识(主要是jsp)做一个物流配送系统。下面谈谈对这次实训的看法。
因为自己平时对java知识储备不足,特别是jsp这一块基本不了解怎么回事,所以一拿到这个项目,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了。呵呵,26号,实训开始了,我们的老师是来自中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就后悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的机会啊。后悔也没用啊,开始还勉强能理解一点,后来就直接晕了。然后再给大家介绍了一些即将用到的工具,比如rationalrose,svn,myeclipse等等。接下来的几天就不再细讲了。下面谈谈通过这次实训的心得体会吧。
通过这次实训,让我了解到工程开发的过程,可行性分析――需求分析――概要设计――详细设计――代码编写――测试――验收。从技术方面上,我开始jsp基础基本上就是零的,在老师和syz2(另外一个物流小组,我一个人基本上是跟她们做的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。其实实训开始前,我还以为做个系统没什么大不了,可是当真正拿到一个项目,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。通过这个实训,也让我了解到,团队协作是多么的重要。一个人的精力是多么的有限。进一步理解到,企业为什么如此重视团队协作。同时借用老师的话就是团队协作固然重要,但是是建立在个人素质的基础上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多贡献了。__老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导。
还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个问题吧。然后他说出来,我也觉得这个问题确实其实是个大的问题。就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了。小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各种问题,老师也会尽力为你回答。将来出身社会就不一样了。虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自己的一个肯定。
这次实训的心得基本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储备不够,我想应该是这个问题的突发吧,一时没想到怎么处理。相反让我感觉更多的就是老师很认真,很负责。还要感谢就是syz2小组的倾力支持,辅导。
优质软件工程实践心得(模板14篇)篇三
转眼之间,20xx年两个月的实习期即将结束,回顾这两个月的实习工作,感触很深,收获颇丰。这两个月,在领导和同事们的悉心关怀和指导下,通过我自身的不懈努力,我学到了人生难得的工作经验和社会见识。我将从以下几个方面总结计算机通信岗位工作实习这段时间自己体会和心得:
在计算机通信岗位工作的实习过程中,我始终把学习作为获得新知识、掌握方法、提高能力、解决问题的一条重要途径和方法,切实做到用理论武装头脑、指导实践、推动工作。思想上积极进取,积极的把自己现有的知识用于社会实践中,在实践中也才能检验知识的有用性。在这两个月的实习工作中给我的感触就是:我们在学校学到了很多的理论知识,但很少用于社会实践中,这样理论和实践就大大的脱节了,以至于在以后的学习和生活中找不到方向,无法学以致用。同时,在工作中不断的学习也是弥补自己的不足的有效方式。信息时代,瞬息万变,社会在变化,人也在变化,所以你一天不学习,你就会落伍。通过这两个月的实习,并结合计算机通信岗位工作的实际情况,认真学习的计算机通信岗位工作各项政策制度、管理制度和工作条例,使工作中的困难有了最有力地解决武器。通过这些工作条例的学习使我进一步加深了对各项工作的理解,可以求真务实的开展各项工作。
在计算机通信岗位工作中我都本着认真负责的态度去对待每项工作。虽然开始由于经验不足和认识不够,觉得在计算机通信岗位工作中找不到事情做,不能得到锻炼的目的,但我迅速从自身出发寻找原因,和同事交流,认识到自己的不足,以至于迅速的转变自己的角色和工作定位。为使自己尽快熟悉工作,进入角色,我一方面抓紧时间查看相关资料,熟悉自己的工作职责,另一方面我虚心向领导、同事请教使自己对计算机通信岗位工作的情况有了一个比较系统、全面的认知和了解。根据计算机通信岗位工作的实际情况,结合自身的优势,把握工作。
从大学校门跨入到计算机通信岗位工作岗位,一开始我难以适应角色的转变,不能发现问题,从而解决问题,认为没有多少事情可以做,我就有一点失望,开始的热情有点消退,完全找不到方向。但我还是尽量保持当初的那份热情,想干有用的事的态度,不断的做好一些杂事,同时也勇于协助同事做好各项工作,慢慢的就找到了自己的角色,明白自己该干什么,这就是一个热情的问题,只要我保持极大的热情,相信自己一定会得到认可,没有不会做,没有做不好,只有你愿不愿意做。转变自己的角色,从一位学生到一位工作人员的转变,不仅仅是角色的变化,更是思想观念的转变。
在工作间能得到领导的充分信任,并在按时完成上级分配给我的各项工作的同时,还能积极主动地协助其他同事处理一些内务工作。个人的能力只有融入团队,才能实现的价值。实习期的工作,让我充分认识到团队精神的重要性。
团队的精髓是共同进步。没有共同进步,相互合作,团队如同一盘散沙。相互合作,团队就会齐心协力,成为一个强有力的集体。很多人经常把团队和工作团体混为一谈,其实两者之间存在本质上的区别。优秀的工作团体与团队一样,具有能够一起分享信息、观点和创意,共同决策以帮助每个成员能够更好地工作,同时强化个人工作标准的特点。但工作团体主要是把工作目标分解到个人,其本质上是注重个人目标和责任,工作团体目标只是个人目标的简单总和,工作团体的成员不会为超出自己义务范围的结果负责,也不会尝试那种因为多名成员共同工作而带来的增值效应。
几个月来,我虽然努力做了一些工作,但距离领导的要求还有不小差距,如理论水平、工作能力上还有待进一步提高,对计算机通信岗位工作岗位还不够熟悉等等,这些问题,我决心实习报告在今后的工作和学习中努力加以改进和解决,使自己更好地做好本职工作。
针对实习期工作存在的不足和问题,在以后的工作中我打算做好以下几点:
1.做好实习期工作计划,继续加强对计算机通信岗位工作岗位各种制度和业务的学习,做到全面深入的了解各种制度和业务。
2.以实践带学习全方位提高自己的工作能力。在注重学习的同时狠抓实践,在实践中利用所学知识用知识指导实践全方位的提高自己的工作能力和工作水平。
3.踏实做好本职工作。在以后的工作和学习中,我将以更加积极的工作态度更加热情的工作作风把自己的本职工作做好。在工作中任劳任怨力争“没有只有更好”。
4.继续在做好本职工作的同时,为单位做一些力所能及的工作,为单位做出自己应有的贡献。
优质软件工程实践心得(模板14篇)篇四
软件工程作为一门专业,对于计算机科学领域的学生来说,无疑是必学的一门课程。在我学习软件工程这门课程的过程中,我不仅学到了很多关于软件开发的知识和技能,还深刻体会到了实践对于提升能力的重要性。下面我将分享一下我在软件工程学习和实践中的心得体会。
第一段:软件工程的重要性。
软件工程是一门独具特色的学科,它将计算机科学、数学和工程学等多个学科相结合,旨在提高软件开发的效率和质量。在软件工程的学习过程中,我深入了解了软件开发的全过程,并且学会了使用各种软件开发工具和技术。通过软件工程的学习,我懂得了软件开发不仅仅是一项技术活,更是一种工程化的过程,需要有系统性的规划和管理。
第二段:实践带来的启发。
在软件工程的学习中,理论知识固然重要,但实践才是检验知识和技能的关键。通过实践,我学到了很多书本上所没有的东西。在实践中,我不断遇到问题,并且需要去解决这些问题,这锻炼了我的独立思考和问题解决能力。同时,实践也让我深刻认识到团队合作的重要性,只有团队的协作,才能完成一个复杂的软件开发项目。
在软件工程课程中,我们进行了一系列的实践项目,从小规模的个人项目到大规模的团队项目。通过这些实践项目,我深入理解了软件开发中的需求分析、设计、编码、测试等各个阶段的重要性。其中一个印象深刻的项目是一个在线购物平台的开发。在这个项目中,我负责了一部分功能的设计和开发,通过与团队成员的密切合作,我成功地完成了我的任务,并且在整个开发过程中保持了良好的沟通和协调。
第四段:实践带来的挑战和收获。
在软件工程的实践中,我也遇到了一些挑战。比如,当我遇到一些难以解决的问题时,我需要持续不断地尝试和搜索解决方案。同时,团队合作也是一个挑战,因为每个人都有不同的意见和方式,需要取舍和协调。但正是通过这些挑战,我才能不断提升自己的技术和能力。
第五段:软件工程对我的影响。
通过软件工程的学习和实践,我不仅掌握了软件开发的知识和技巧,还培养了解决问题的能力和团队合作的意识。软件工程让我明白了软件开发不仅仅是写代码,还需要考虑到项目的需求、规划和问题解决。此外,软件工程也培养了我对细节的关注和追求完美的态度。总体而言,软件工程对我个人的成长和发展起到了重要的推动作用。
总结:
软件工程作为一门专业,不仅提供了关于软件开发的知识和技能,更培养了我们的思考问题和解决问题的能力。通过实践,我们不仅能够将理论知识转化为实际技能,还能够感受到软件开发的工程化过程和团队合作的重要性。软件工程的学习和实践让我受益匪浅,对我今后的学业和职业发展也起到了积极的促进作用。
优质软件工程实践心得(模板14篇)篇五
在这次软件工程课程中,我学到了很多东西,第一次深刻的体会到了什么叫做用工程化的思想来编写软件,以前自己也写过一些小型软件,没有做过大型的项目,直到这次课堂我担任组长并组织组员共同完成“个人图书管理系统”这个项目,第一次和别人合作,才发现运用工程化的思想来做是如此的有必要。
从这里,我才真正的意识到实施一个软件工程并不是说简单的会编码就能够解决问题的,我们更多的精力不是放在编码上,编码只是一个很小的模块,只占到那么小的一个部分。这个事实在很大程度上颠覆了我以前的思想,在我以前的认识中,似乎整个软件就是编码,除此无它,还好有老师的指导,不然真的会出现老师所说的,撞得头破血流之后才想起来用软件工程的思想来完成这个工作。
刚真正开始工作之前,我们费了很多的时间来完成一些前端工作,如需求分析和可行性分析,这块工作在别人看来可能是相对无关紧要,甚至是多于的,其实,换做在以前,我也会这么认为。可是,我现在算是深深地明白了磨刀不误砍柴工的道理,这些工作的完成太有必要了,太重要了,要想你的软件有用有市场,能被别人接受和认可,在进行过程中不会出现崩溃性的问题,这些工作缺一不可。
还有就是接下来的一些设计模块,此模块与软件编码涉及比较紧密,主要是解决一些参数传递和接口通讯的问题,此模块对我的触动远没有上两个模块对我的影响大,因此再次也不做过多的介绍。
在整个活动的完成过程中,作为组长,我收获很多,我发现,要是组里有个人不怎么想做事情时,他对于整个组织的影响是毁灭性的,正所谓“一颗老鼠屎,能坏一仓谷”,以后我的组织里要是出现这样的人,我绝不会给他继续留下来的机会,我会在第一时间将他清除出去。还有就是,作为组长,你要做的最重要的事情,不是发挥自己的聪明才智,而是创造出一个平台,让别人去发挥,你所要做得,出了保证这个平台的完整性和公平性外,还有就是协调好各组员之间的关系。
优质软件工程实践心得(模板14篇)篇六
软件工程是21世纪最重要的技术领域之一,它在现代社会的发展中起着至关重要的作用。作为一名软件工程师,我在这个领域中经历了许多实践,积累了宝贵的经验。在本文中,我将分享关于软件工程与实践的心得体会,包括需求分析与设计、编码与测试、项目管理与协作等方面。
首先,需求分析与设计是软件开发过程中至关重要的一环。需求分析的目的是明确用户的需求和软件的功能。通过与客户的沟通和调研,我们可以更好地理解用户的需求,并将其转化为软件的功能需求。此外,设计阶段是将需求转化为具体的系统设计的过程。在设计阶段,我们需要细致地制定系统的结构、功能和界面设计。我发现,在需求分析和设计阶段,与客户的良好沟通是至关重要的。只有与客户保持紧密的合作和反馈,我们才能更好地满足他们的需求,并确保软件的质量和可靠性。
其次,编码与测试是软件开发过程中的关键步骤。编码是将设计的结果转化为实际的可执行代码的过程。在编码阶段,我们需要遵循良好的编码规范和标准,保证代码的可读性和可维护性。同时,测试也是不可忽视的一环。通过测试,我们可以验证软件的功能和性能,发现并修复潜在的问题。在我的实践中,我意识到编码与测试是紧密相关的。只有在编码过程中注重测试,我们才能尽早地发现问题并解决,从而提高软件的质量。
除了技术方面的实践,项目管理与协作也是软件开发中的重要环节。在一个软件项目中,多个人员和团队需要协同合作,共同完成项目的开发。良好的项目管理和协作能够提高团队的工作效率和协调性。在我的经验中,我发现一个有效的项目管理工具和方法对项目的顺利进行至关重要。例如,使用敏捷开发方法,可以将项目分解为多个小的迭代周期,并及时调整计划和需求,以适应变化的需求。此外,团队成员之间的良好沟通和合作也是项目成功的关键。只有通过充分的沟通和合作,团队成员才能互相了解并协同工作,共同解决问题。
综上所述,软件工程与实践是一个复杂而重要的领域。在实践中,我深刻认识到软件工程从需求分析与设计到编码测试以及项目管理与协作的各个环节相互联系,缺一不可。同时,沟通和合作也是软件工程实践中不可或缺的要素。我相信,在未来的实践中,我会继续学习和提升自己的技能,为软件工程领域的发展做出更大的贡献。
优质软件工程实践心得(模板14篇)篇七
学习软件工程一个学期以来,我在陈烨老师的教导下确实获益匪浅。软件工程这门课,让我对软件的认识有了大大的提升,从一开始对软件工程的一无所知,到现在一学期下来的不断学习,懂得了许多的知识。
软件不仅仅是程序,而是思想在硬件上的载体和体现,软件工程与其说是一门课程,不如说是一门思想。让我懂得如何去分析和处理问题的过程,综合解决问题。
在这段时间的学习中,我明白了一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告等多个文档,而软件的生存周期可分为八个阶段,分别是问题定义,可行性研究,需求分析,概要设计,详细设计,程序设计,测试,文档,技术支持,售后服务。而可行性包括经济,技术,法律和社会。了解了许多软件开发模型,比如瀑布模型,增量模型和螺旋模型,也了解了uml对象面向对象建模,知道如何画流图,硕果累累。其实软件和程序是两个不同的概念,软件除了程序还要有使用和维护该程序所需要的全部文档。包括需求文档、设计文档、测试文档、维护文档以及使用手册。
软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,需要很好的基础知识的理解和掌握,所以说学好软件工程不是仅仅书多看几遍就可以成功,而是要多注意结合实际,多思考,面对错误不要一范就问,要尝试自己去解决,然后举一反三。
软件工程这门课在我们毕业之后,是我们实际要运用的一项非常有用的技能,这门课让我意识到理论学习很重要,而实践更重要,实践是检验真理的唯一标准,只有实践和理论相结合,才能使效益最大化。软件工程的课虽然快要结束了,但是我对软件工程的学习才刚刚开始,有了这些基本知识做铺垫,在以后做项目的时候将会是解决问题的有效措施。
优质软件工程实践心得(模板14篇)篇八
软件工程(softwareengineering,简称为se)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件工程的原则有以下四项基本原则:1)选取适宜开发范型;2)采用合适的设计方法;3)提供高质量的工程支持;4)重视开发过程的管理。
据说上个世纪60年代的程序员都是天才,写程式就像写日记一样,吃过晚饭没事干随手就可以写几个出来玩,第二天还可以拿去卖钱。所以那时候程序员在大家眼中,跟那些搞美术,音乐的是一类的,被称为“艺术家”。
但事过境迁,就像任何人都不会嫌钱多一样,永远都不会有人嫌cpu快的。于是,随之而来的就是硬件的迅猛发展和越来越变态的软件。记得以前常去同学家拷游戏,通常几张软盘就可以搞定,而现在的游戏,两三张cd-rom都算少的了。像如此庞大复杂的怪物,就算你是如何的天才,一个人肯定是搞不定的,否则,等你把程式写出来,人家intel连奔腾n都开发出来了。既要开发大型的软件还要追求速度(这样才能赚钱),于是很自然地,合作的概念被提了出来。
在开始合作的初期,由于大家都习惯了当很有个性的“艺术家”,结果可想而知,一个是毕加索派的,而另一个是意大利印象派的,再加上一个画泼墨山水画的,要是像这样凑出来的东西都能不出问题的话,那么bill早就转行了。所以,那时侯的大型软件,据说“蓝屏”比windows98还多。
马克思告诉我们,万物都是从量变到质变的。随着问题的不断涌现,一些master们开始尝试去总结经验,并归纳了一些规范去指导软件的分析,设计,实现,测试,维护,人员交流协作,项目预算及时限控制等方方面面,这就是软件工程的前身。
软件工程到现在已发展了30多年,可以说是相当成熟的了。现在开发软件,据说都是一大帮人排排坐,按着一整套的规章制度来干活。于是,软件开发成了“工程”,程序员也就沦为“工人”了。
软件工程,说白了,就是这样一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。简单来说,就是对于总体的组织和对于局部的实现。
开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和debug。除了第一步外,其余的步骤应该是一个循环的过程。既然软件开发是一个具有不可预知性和变化性的`动态的过程,那么,对其每一个步骤的组织,即周期模型,就必须包容它的这种性质。
具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。文档的作用在于以下3个方面:一是可以帮助整理思路。把要完成的目标,系统的结构,每一个模块的功能等整理一下,然后分门别类地写下来,这样在开发的过程中,就有据可依,在需要回过头来修改设计的时候,也有证可考。二是便于交流。想象一下开会时的情形。一大帮子人争先恐后,激烈辩论,然后会终人散,思想灵感也就随之散了,结果是开了半天会,什么也没讨论出来。这就是后来会议记录被发明出来的原因。在脑子里的东西一多,就会散而且乱,用语言表达的时候,很容易会丢三落四,别人也很难把握住你的思想。但经过整理写在纸上以后,则会清晰得多,无论是别人还是自己,看起来都可以一目了然。三是可以作为以后维护时的参考资料。有一句名言:“笔和纸永远都比大脑可靠”,意思就是说,放在大脑里的东西说不准哪天就忘了,但写在纸上的东西,只要不发生什么意外,一般是丢不了的。当过了一段时间,你需要再回过头来修改你的程序的时候,你就会发现,你以前写下的文档实在太有价值了。别指望你的源代码,对于复杂一点的程序来说,单纯的源代码几乎会扼杀掉你所有的时间。
可行性分析就是关于当前项目能不能干的分析结果。主要考虑的方面包括:是否能把这个项目开发出来;假如可以的话,预计需要多少时间,能否满足客人的时间要求;需要多少人力和资金的投入;最重要的是,这个项目能否赚钱,能赚多少。还要对可能存在的风险进行评估。
时间飞逝,不知不觉间《软件工程》的学习完了。在这将近半学期的学习中,虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。
在以前,我一直对软件存在一些偏见或则是误解,认为软件就是程序,软件的开发就是编写程序,只要编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。一个人,只要会编程,就能写软件,就是程序员;一个公司,只要招聘一些程序员,就能开发好的软件产品。只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。
但是通过了《软件工程》这门课的学习,使我认识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。
而且在以前,我一直以为软件的开发其实是一件很轻松快乐的事情,只要一天坐在电脑旁敲敲键盘,那么一切就可以了,但是现在我才发现,我以前的很多的思想是多么的肤浅可笑。编程其实是一种乐趣和苦恼共存的一项创造性活动。因为编程不仅能够满足我们内心深处进行创造的渴望,而且还能愉悦我们内在的情感。
而且通过学习《软件工程》,我还学到了很多其他的东西。比如通过学习《软件工程》,特别是教员的课程讲解和每次用实际的软件现场的讲解,为我提供了一个尽早接触世界工作和真实项目的机会。让我知道如何在以最小的成本中,训练自己的基本工程素质和能力,如何激发自己的积极性等。而且通过学习《软件工程》,还让我认识和培养了我的团队协作能力,特别是对于我们这些在校的学生来说,这种学习更是能让我在以后工作中少走很多的弯路。
所以,通过《软件工程》的学习,我是真的学习到了很多有用的东西,让我明白了很多的道理。在此我对教员的辛勤教育表示感谢,因为是你让我学习到了这些,是我获益良多。
优质软件工程实践心得(模板14篇)篇九
综合利用所学的专业知识,培养软件开发的技能;掌握android操作系统的编程技巧,体会企业软件开发与学习过程中编写软件的不同;提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实基础。
悟:
(a)实践前准备:自xx年清明节前后,我和我的组员就开始接受山西西太行信息有限公司的公开课的培训,当时经电子与计算机技术学院于一老师介绍由陈川老师主要带领我们重新温习了一遍关于java语言的基本知识,在这将近一个月的学习过程中我们逐渐重新拾起了即将被遗忘的java知识,走出了以前认识上的误区,使我在java这一块又有了一定的的优势,为以后我们用java语言做开发打下了很好的基础。自xx年5月1日,我们开始了真正的基于android操作系统的软件开发,虽然我们是利用课余时间进行学习,但是学习的效果真的很好,我们基本上晚上都会学到很晚才回宿舍。刚开始的时候我感到很不适应,感到学习的java语言不能够充分的的到利用,只能够用一些和系统相关的东西,但是随着学习的深入,我发现android操作系统也是一个很强大的手机操作系统,它有着很好的发展前景。并且移动互联网在在中国有着大的市场,所以我对我正在从事的android手机软件开发给予了很大的希望。这一个月的培训我们主要学习了android操作系统的五大系统组件:activity、service、sqlite、contentprovider、intent、broadcastrecever,同时我也学到了一些课堂上学不到得东西,对外面的市场的情况也有了更深刻的了解。
(b)实践过程:xx年7月1日到xx年7月31日是我正式暑假实践的时间段,我们一行十六个人,大三的十一人大二的六人。我们被分了两个小组,每个小组八个人,上课时间一般是下午两点到五点半或者下午五点半到晚上八点半,其余的时间是我们自己写代码的时间。每天的任务量都有所不同,有时候把自己的任务做完了剩下的时间就自由支配。这一个月我们的主要任务是做一个腾讯微博android手机客户端,每天陈老师都会给我们传授一些做软件的经验和一些新的知识点,然后我们根据具体的要求编写文档,编写代码,第二天交由陈老师点评。
(1)可恶的文档:刚开始的时候感觉很不适应,以前上课就是学习关于编程的知识,但是做项目的第一天陈老师要求我们写文档,我们用的是gb8568—88格式的文档,第一次写即感觉很枯燥又感觉不会写。对于写文档我们都有想通的反应,就是莫名奇妙的反感,但是陈老师还是不依不饶的要求我们写要我们查资料,我们也很没办法只能按照要求写文档。但是由于我们不知道在文档上写些什么,陈老师看我们很为难也有所让步,带领我们写了软件需求说明书,后来我们依次写了概要设计说明书、详细设计说明书,后来又写了测试计划、用户手册。当时的感觉就是知道的知识太少,对着文档一个词一个词的硬挤,但是当文档写完的时候还是很有成就感的。其实在写文档的过程中我们也渐渐的明白了文档的重要性,我们只是在学校编写程序的时间久了习惯了上来就写代码的坏习惯,忽略了软件工程中的很重要的部分-----分析阶段和设计阶段。可能是因为以前做的软件都很小,一旦项目稍微大一点,那在编写代码阶段将付出不可估量的代价甚至最终将以失败告终。其实我们都学过软件工程,而且在考试的时候成绩还不是很差,但是到真正需要这些知识的时候我感觉却忘记了如何下手,这也就是所谓的纸上谈兵吧,所以我感觉大学生缺少的正是一种动手能力。知识本身没有价值,有价值的是运用知识解决问题。
(2)该死的bug:写完文档感觉写代码就轻松了,但是事与愿违啊。由于以前没做过开放平台的客户端,中间涉及到同腾讯公司微博开放平台接洽的问题,开始真的很不适应,不知道怎么下手。当知道下手的时候不免出现了各种各样的bug:腾讯服务器故障啦、实验室断网啦、模拟器连不上网啦、代码错误啦等等。为了弄好这些bug有时真是忙的焦头烂额,因为可能因为自己写的代码有问题导致大家的代码都不能运行,作为团队的一员谁都不想拖后腿。但有时候我也找不到问题所在,只能请高手指教或者找老师为我排忧解难。只可惜我当时掌握的排错方式只有打印输出和查看日志,根本没接触过单元测试。其实多遇到一些bug还真不是坏事情,我现在开始明白编写代码最重要的是快速查找资料和排除错误的能力。首先我们不可能记住java语言或者android操作系统中所有的类和方法,所以能够快速找到我们所需要功能的类或者方法是很重要的。其次对于程序工作者来说遇到bug是很正常的事情,遇到不能解决的问题也是很常见的,重要的是能够正确的处理这些问题,并总结经验为以后的开发做好铺垫。遇到问题是要保持好的心态,千万不能焦躁,细心的一点点的分析问题,必的时候可以去网络上查找一些资料。但是不要遇到问题就上网查找,我感觉现在自己动手处理题很重要,上网查与吃现成饭没有本质的区别。网络可以帮我们开阔视野,但不要让网络阻碍了我们自我发展的机会。编写软件过程中要及时记录,这既可以让我们总结更多的经验,也可以为后来者提供一些宝贵的资料。毕竟都有成长的时候。
(3)痛苦的合并:这是我第一次这么正式的和这么多的人一起开发软件,更何况还有不认识的人在一个组,这给我们的沟通带来了很大的不便,尤其是最后代码合并的时候,很多的问题都一拥而上。我们当时用了一个软件visualsvn,这是一款团队开发的软件,当代码写的可以组合的时候我们就用这个软件在eclipse下共同开发。但开始的时候我们也会为了自己的代码正确而被迫修改别人的代码,最后弄得大家的代码不能够正确的运行,然后所有人都会停下来共同寻找错误,改正错误。这是团队开发时候很忌讳的问题,并且大家还都不好意思开口说谁错了,毕竟都不是很熟悉。直到大家开始慢慢适应这种团队开发之后,这样的情况才慢慢的被避免,效率也有所提高。这次的团队开发让我明白,在团队开发中根本不存在自我,你所做的任何事情都应从整个团队出发,以团队的利益为重,不能自私。尤其是在团队中千万不能应付,你的应付很可能会给他人带来很多不便,甚至造成更大的损失。因此teamwork很重要,必须谨慎!
(4)唉,完美:每次写完代码让陈老师点评都会发现很多问题,有时候是代码冗余度太大,有时候时代码不够安全,有时候是技术上不是很完善。对我们来说目标就是编写的软件能用,只要大家写的软件合并后能够正常运行,一切就ok了。但是这些是远远不够的,面向对象的思想和软件工程的一些常识我们都没涉及到,异步加载图片在陈老师讲之前我们也从来没有想到过,这些问题让我深深的体会到我们的创新能力的要求远远不够,我们对完美的渴求度远远不够。没有最好,只有更好。这句话真是非常经典,作为软件开发者永远没有标准答案,没有最好的软件,只有不断的学习不断的追求才能发现好的东西,找到更好的创意。虽然最后腾讯微博客户端能够成功的运行了,但是我意识到我所掌握的知识远远不够,在这个实践中却是暴露了很多的问题。但愿天天能做到更好!
1、一个假期结束了,留下了很多的回忆,因为这个暑假是很有意义的。在这三十一天里每天都学到了新的知识,每天都遇到了新的问题,每天都在进步这,也让我有时间更加清晰的认识了软件工程这门课程和设计模式在软件开发中的重要性,编写代码知识软件开发的一小部分,只有真正的这种开发才能体会到软件工程的意义。
2、团队的凝聚力关系着每一个软件开发人员的发展前途,每一个人的努力都会得到回报,同样一个人的失误也会影响到整个团队,因此正确处理好人际关系是很重要的。
3、注重产品的价值,做好市场调研是成败的决定性因素。4、掌握好一门技术你可以吃饱,但是你要想很富有,必须懂得很多。队友可以帮助你一时帮不了一世,要注重个人能力发展!
优质软件工程实践心得(模板14篇)篇十
软件工程心得体会未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。
经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。
在划分模块后明确了各自分工,渐渐形成良性循环。在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。学习能力体现在能尽快接受新的知识,顺应变化,学为所用。
上《软件工程导论》这门课,我的收获大概如下:我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。
其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和debug。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的'过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。
1、可行性分析就是关于当前项目能不能干的分析结果。
2、项目描述这是在决定立项以后,对当前项目的一份扼要说明。
3、需求分析就是对客户要求的功能的定义。
4、软件设计这就是对程序的每一个模块的详细设计的说明文档。
5、开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。
6、测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。
优质软件工程实践心得(模板14篇)篇十一
软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。你知道软件工程。
是什么吗?接下来就是本站小编为大家整理的关于软件工程心得体会,供大家阅读!
时间飞逝,不知不觉间《软件工程》的学习已经过了大半了。在这将近半学期的学习中,虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。
在以前,我一直对软件存在一些偏见或则是误解,认为软件就是程序,软件的开发就是编写程序,只要编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。一个人,只要会编程,就能写软件,就是程序员;一个公司,只要招聘一些程序员,就能开发好的软件产品。只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。
但是通过了《软件工程》这门课的学习,使我认识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。
而且在以前,我一直以为软件的开发其实是一件很轻松快乐的事情,只要一天坐在电脑旁敲敲键盘,那么一切就可以了,但是现在我才发现,我以前的很多的思想是多么的肤浅可笑。编程其实是一种乐趣和苦恼共存的一项创造性活动。因为编程不仅能够满足我们内心深处进行创造的渴望,而且还能愉悦我们内在的情感。
而且通过学习《软件工程》,我还学到了很多其他的东西。比如通过学习《软件工程》,特别是老师每次用实际的软件现场的讲解,为我提供了一个尽早接触世界工作和真实项目的机会。让我知道如何在以最小的成本中,训练自己的基本工程素质和能力,如何激发自己的积极性等。而且通过学习《软件工程》,还让我认识和培养了我的团队协作能力,特别是对于我们这些在校的学生来说,这种学习更是能让我在以后工作中少走很多的弯路。
所以,通过《软件工程》的学习,我是真的学习到了很多有用的东西,让我明白了很多的道理。在此我对老师的辛勤教育表示感谢,因为是你让我学习到了这些,是我获益良多。
软件工程心得体会未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。
经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。
在划分模块后明确了各自分工,渐渐形成良性循环。在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。学习能力体现在能尽快接受新的知识,顺应变化,学为所用。
上《软件工程导论》这门课,我的收获大概如下:我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。
其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和debug。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。1.可行性分析就是关于当前项目能不能干的分析结果。
2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。
3.需求分析就是对客户要求的功能的定义。
4.软件设计这就是对程序的每一个模块的详细设计的说明文档。
5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。
6.测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。
共
2
页,当前第。
1
页
1
2
优质软件工程实践心得(模板14篇)篇十二
综合利用所学的专业知识,培养软件开发的技能;掌握android操作系统的编程技巧,体会企业软件开发与学习过程中编写软件的不同;提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实基础。
a) 实践前准备:
自xx年清明节前后,我和我的组员就开始接受山西西太行信息有限公司的公开课的培训,当时经电子与计算机技术学院于一老师介绍由陈川老师主要带领我们重新温习了一遍关于java语言的基本知识,在这将近一个月的学习过程中我们逐渐重新拾起了即将被遗忘的java 知识,走出了以前认识上的误区,使我在java这一块又有了一定的的优势,为以后我们用java语言做开发打下了很好的基础。
自xx年5月1日,我们开始了真正的基于android操作系统的软件开发,虽然我们是利用课余时间进行学习,但是学习的效果真的很好,我们基本上晚上都会学到很晚才回宿舍。刚开始的时候我感到很不适应,感到学习的java语言不能够充分的的到利用,只能够用一些和系统相关的东西,但是随着学习的深入,我发现android操作系统也是一个很强大的手机操作系统,它有着很好的发展前景。
并且移动互联网在在中国有着大的市场,所以我对我正在从事的android手机软件开发给予了很大的希望。这一个月的培训我们主要学习了android操作系统的五大系统组件:activity、service、sqlite、content provider、intent、broadcastrecever,同时我也学到了一些课堂上学不到得东西,对外面的市场的情况也有了更深刻的了解。
b) 实践过程:
xx年7月1日到xx年7月31日是我正式暑假实践的时间段,
我们一行十六个人,大三的十一人大二的六人。我们被分了两个小组,每个小组八个人,上课时间一般是下午两点到五点半或者下午五点半到晚上八点半,其余的时间是我们自己写代码的时间。每天的任务量都有所不同,有时候把自己的任务做完了剩下的时间就自由支配。这一个月我们的主要任务是做一个腾讯微博android手机客户端,每天陈老师都会给我们传授一些做软件的经验和一些新的知识点,然后我们根据具体的要求编写文档,编写代码,第二天交由陈老师点评。
1) 可恶的文档:刚开始的时候感觉很不适应,以前上课就是学习关于编程的知识,但是做项目的第一天陈老师要求我们写文档,我们用的是gb8568—88格式的文档,第一次写即感觉很枯燥又感觉不会写。对于写文档我们都有想通的反应,就是莫名奇妙的反感,但是陈老师还是不依不饶的要求我们写要我们查资料,我们也很没办法只能按照要求写文档。但是由于我们不知道在文档上写些什么,陈老师看我们很为难也有所让步,带领我们写了软件需求说明书,后来我们依次写了概要设计说明书、详细设计说明书,后来又写了测试计划、用户手册。当时的感觉就是知道的知识太少,对着文档一个词一个词的硬挤,但是当文档写完的时候还是很有成就感的。
其实在写文档的过程中我们也渐渐的明白了文档的重要性,我们只是
在学校编写程序的时间久了习惯了上来就写代码的坏习惯,忽略了软件工程中的很重要的部分-----分析阶段和设计阶段。可能是因为以前做的软件都很小,一旦项目稍微大一点,那在编写代码阶段将付出不可估量的代价甚至最终将以失败告终。其实我们都学过软件工程,而且在考试的时候成绩还不是很差,但是到真正需要这些知识的时候我感觉却忘记了如何下手,这也就是所谓的纸上谈兵吧,所以我感觉大学生缺少的正是一种动手能力。知识本身没有价值,有价值的是运用知识解决问题。
2) 该死的bug:写完文档感觉写代码就轻松了,但是事与愿违啊。由于以前没做过开放平台的客户端,中间涉及到同腾讯公司微博开放平台接洽的问题,开始真的很不适应,不知道怎么下手。当知道下手的时候不免出现了各种各样的bug:腾讯服务器故障啦、实验室断网啦、模拟器连不上网啦、代码错误啦等等。为了弄好这些bug有时真是忙的焦头烂额,因为可能因为自己写的代码有问题导致大家的代码都不能运行,作为团队的一员谁都不想拖后腿。但有时候我也找不到问题所在,只能请高手指教或者找老师为我排忧解难。只可惜我当时掌握的排错方式只有打印输出和查看日志,根本没接触过单元测试。
其实多遇到一些bug还真不是坏事情,我现在开始明白编写代码最重要的是快速查找资料和排除错误的能力。首先我们不可能记住java语言或者android操作系统中所有的类和方法,所以能够快速找到我们所需要功能的类或者方法是很重要的。其次对于程序工作者来说遇到bug是很正常的事情,遇到不能解决的问题也是很常见的,重要的是能够正确的处理这些问题,并总结经验为以后的开发做好铺垫。遇到问题是要保持好的心态,千万不能焦躁,细心的一点点的分析问题,必的时候可以去网络上查找一些资料。但是不要遇到问题就上网查找,我感觉现在自己动手处理题很重要,上网查与吃现成饭没有本质的区别。网络可以帮我们开阔视野,但不要让网络阻碍了我们自我发展的机会。编写软件过程中要及时记录,这既可以让我们总结更多的经验,也可以为后来者提供一些宝贵的资料。毕竟都有成长的时候。
3) 痛苦的合并:这是我第一次这么正式的和这么多的人一起开发软件,更何况还有不认识的人在一个组,这给我们的沟通带来了很大的不便,尤其是最后代码合并的时候,很多的问题都一拥而上。我们当时用了一个软件visualsvn,这是一款团队开发的软件,当代码写的可以组合的时候我们就用这个软件在eclipse下共同开发。
但开始的时候我们也会为了自己的代码正确而被迫修改别人的代码,最后弄得大家的代码不能够正确的运行,然后所有人都会停下来共同寻找错误,改正错误。这是团队开发时候很忌讳的问题,并且大家还都不好意思开口说谁错了,毕竟都不是很熟悉。直到大家开始慢慢适应这种团队开发之后,这样的情况才慢慢的被避免,效率也有所提高。
这次的团队开发让我明白,在团队开发中根本不存在自我,你所做的任何事情都应从整个团队出发,以团队的利益为重,不能自私。尤其是在团队中千万不能应付,你的应付很可能会给他人带来很多不便,甚至造成更大的损失。因此teamwork很重要,必须谨慎!
4) 唉,完美:每次写完代码让陈老师点评都会发现很多问题,有时候是代码
冗余度太大,有时候时代码不够安全,有时候是技术上不是很完善。对我们来说目标就是编写的软件能用,只要大家写的软件合并后能够正常运行,一切就ok了。但是这些是远远不够的,面向对象的思想和软件工程的一些常识我们都没涉及到,异步加载图片在陈老师讲之前我们也从来没有想到过,这些问题让我深深的体会到我们的创新能力的要求远远不够,我们对完美的渴求度远远不够。
没有最好,只有更好。这句话真是非常经典,作为软件开发者永远没有标准答案,没有最好的软件,只有不断的学习不断的追求才能发现好的东西,找到更好的创意。虽然最后腾讯微博客户端能够成功的运行了,但是我意识到我所掌握的知识远远不够,在这个实践中却是暴露了很多的问题。但愿天天能做到更好!
1、一个假期结束了,留下了很多的回忆,因为这个暑假是很有意义的。在这三十一天里每天都学到了新的知识,每天都遇到了新的问题,每天都在进步这,也让我有时间更加清晰的认识了软件工程这门课程和设计模式在软件开发中的重要性,编写代码知识软件开发的一小部分,只有真正的这种开发才能体会到软件工程的意义。
2、团队的凝聚力关系着每一个软件开发人员的发展前途,每一个人的努力都会得到回报,同样一个人的失误也会影响到整个团队,因此正确处理好人际关系是很重要的。
3、注重产品的价值,做好市场调研是成败的决定性因素。4、掌握好一门技术你可以吃饱,但是你要想很富有,必须懂得很多。队友可以帮助你一时帮不了一世,要注重个人能力发展!
优质软件工程实践心得(模板14篇)篇十三
在本学期的软件工程课程的学习中,我们学习了十一章的内容。
第一章软件与软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。
第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。
还引出了工具uml。
第三章软件需求获取与结构化分析方法,本章详细介绍了需求获取与需求分析阶段的任务以及结构化分析方法,画分层的数据流图、e-r图以及状态图式本节的重点。
第四章结构化分析方法,这一章重点讲解了使用变换型映射方法和事务型映射方法生成初始的模块结构以及模块结构的改进。
第五章编码,这一章重点讲解了编码的风格及规范,还告诉我们编码规范说带来的好处,并告诫我们将来一点要形成好的编码风格。
第六章软件测试方法,本章讲解了软件测试相关的概念及重要性,软件测试与开发各个阶段的关系;还介绍了白盒测试技术以及黑河测试技术。
第七章统一建模语言uml概述,本章详细介绍了uml的基本模式、事物、关系及建模时用到的各种图进行了介绍。
第八章面向对象分析,这一章主要讲解了面向对象分析的3种模型,包括功能模型、静态模型和动态模型。
第九章软件体系结构与设计模式,本章对软件体系结构的'基本概念、典型风格等进行了讲解。
第十章面向对象设计,本章的重点是对面向对象分析时建立的对象模型进行调整和细化。
第十一章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。
要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则:软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。
软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
我们学习了详细设计的方法,其原则是过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。
包括程序流程图、n-s图、pad图、hipo图。
程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。
它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。
优质软件工程实践心得(模板14篇)篇十四
软件工程心得要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的软件工程心得样本能让你事半功倍,下面分享【软件工程心得优秀6篇】,供你选择借鉴。
转眼之间,两个月的实习期即将结束,回顾这两个月的实习工作,感触很深,收获颇丰。这两个月,在领导和同事们的悉心关怀和指导下,通过我自身的不懈努力,我学到了人生难得的工作经验和社会见识。我将从以下几个方面总结软件工程岗位工作实习这段时间自己体会和心得:
一、努力学习,理论结合实践,不断提高自身工作能力。
在软件工程岗位工作的实习过程中,我始终把学习作为获得新知识、掌握方法、提高能力、解决问题的一条重要途径和方法,切实做到用理论武装头脑、指导实践、推动工作。思想上积极进取,积极的把自己现有的知识用于社会实践中,在实践中也才能检验知识的有用性。在这两个月的实习工作中给我最大的感触就是:我们在学校学到了很多的理论知识,但很少用于社会实践中,这样理论和实践就大大的脱节了,以至于在以后的学习和生活中找不到方向,无法学以致用。同时,在工作中不断的学习也是弥补自己的不足的有效方式。信息时代,瞬息万变,社会在变化,人也在变化,所以你一天不学习,你就会落伍。通过这两个月的实习,并结合软件工程岗位工作的实际情况,认真学习的软件工程岗位工作各项政策制度、管理制度和工作条例,使工作中的困难有了最有力地解决武器。通过这些工作条例的学习使我进一步加深了对各项工作的理解,可以求真务实的开展各项工作。
二、围绕工作,突出重点,尽心尽力履行职责。
在软件工程岗位工作中我都本着认真负责的态度去对待每项工作。虽然开始由于经验不足和认识不够,觉得在软件工程岗位工作中找不到事情做,不能得到锻炼的目的,但我迅速从自身出发寻找原因,和同事交流,认识到自己的不足,以至于迅速的转变自己的角色和工作定位。为使自己尽快熟悉工作,进入角色,我一方面抓紧时间查看相关资料,熟悉自己的工作职责,另一方面我虚心向领导、同事请教使自己对软件工程岗位工作的情况有了一个比较系统、全面的认知和了解。根据软件工程岗位工作的实际情况,结合自身的优势,把握工作的重点和难点,尽心尽力完成软件工程岗位工作的任务。两个月的实习工作,我经常得到了同事的好评和领导的赞许。
三、转变角色,以极大的热情投入到工作中。
从大学校门跨入到软件工程岗位工作岗位,一开始我难以适应角色的转变,不能发现问题,从而解决问题,认为没有多少事情可以做,我就有一点失望,开始的热情有点消退,完全找不到方向。但我还是尽量保持当初的那份热情,想干有用的事的态度,不断的做好一些杂事,同时也勇于协助同事做好各项工作,慢慢的就找到了自己的角色,明白自己该干什么,这就是一个热情的问题,只要我保持极大的热情,相信自己一定会得到认可,没有不会做,没有做不好,只有你愿不愿意做。转变自己的角色,从一位学生到一位工作人员的转变,不仅仅是角色的变化,更是思想观念的转变。
四、发扬团队精神,在完成本职工作的同时协同其他同事。
在工作间能得到领导的充分信任,并在按时完成上级分配给我的各项工作的同时,还能积极主动地协助其他同事处理一些内务工作。个人的能力只有融入团队,才能实现最大的价值。实习期的工作,让我充分认识到团队精神的重要性。
团队的精髓是共同进步。没有共同进步,相互合作,团队如同一盘散沙。相互合作,团队就会齐心协力,成为一个强有力的集体。很多人经常把团队和工作团体混为一谈,其实两者之间存在本质上的区别。优秀的工作团体与团队一样,具有能够一起分享信息、观点和创意,共同决策以帮助每个成员能够更好地工作,同时强化个人工作标准的特点。但工作团体主要是把工作目标分解到个人,其本质上是注重个人目标和责任,工作团体目标只是个人目标的简单总和,工作团体的成员不会为超出自己义务范围的结果负责,也不会尝试那种因为多名成员共同工作而带来的增值效应。
五、存在的问题。
几个月来,我虽然努力做了一些工作,但距离领导的要求还有不小差距,如理论水平、工作能力上还有待进一步提高,对软件工程岗位工作岗位还不够熟悉等等,这些问题,我决心实习报告在今后的工作和学习中努力加以改进和解决,使自己更好地做好本职工作。
时间飞逝,不知不觉间《软件工程》的学习已经过了大半了。在这将近半学期的学习中,虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。
在以前,我一直对软件存在一些偏见或则是误解,认为软件就是程序,软件的开发就是编写程序,只要编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。一个人,只要会编程,就能写软件,就是程序员;一个公司,只要招聘一些程序员,就能开发好的软件产品。只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。
但是通过了《软件工程》这门课的学习,使我认识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。
而且在以前,我一直以为软件的开发其实是一件很轻松快乐的事情,只要一天坐在电脑旁敲敲键盘,那么一切就可以了,但是现在我才发现,我以前的很多的思想是多么的肤浅可笑。编程其实是一种乐趣和苦恼共存的一项创造性活动。因为编程不仅能够满足我们内心深处进行创造的渴望,而且还能愉悦我们内在的情感。
而且通过学习《软件工程》,我还学到了很多其他的东西。比如通过学习《软件工程》,特别是老师每次用实际的软件现场的讲解,为我提供了一个尽早接触世界工作和真实项目的机会。让我知道如何在以最小的成本中,训练自己的基本工程素质和能力,如何激发自己的积极性等。而且通过学习《软件工程》,还让我认识和培养了我的团队协作能力,特别是对于我们这些在校的学生来说,这种学习更是能让我在以后工作中少走很多的弯路。
所以,通过《软件工程》的学习,我是真的学习到了很多有用的东西,让我明白了很多的道理。在此我对老师的辛勤教育表示感谢,因为是你让我学习到了这些,是我获益良多。
时间过的很快,转眼间已经实习将近5个月,其中有2个月是属于完全被流放的。最先在内部系统组参与内部管理系统开发(struts+mysql+spring+hibernate),之后是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。
至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。
1、浅谈测试。
一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是it阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。
2、程序员的困惑。
有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。
3、如何调试追踪。
如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步stepover,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。
页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误,例如:缺少对象这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(___=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。
4、一些习惯。
遇到问题先自己思考,无从下手再找高手帮忙看看,注意他帮你看的思路,别在一旁闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多。
解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问题再浪费同样的时间。
把代码写的漂亮,注释、空行、规范一样不能少,可读性是放在第一位。曾经看过一个高手写的代码,真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自己也方便别人。
任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比较好走了。
在这次软件工程课程中,我学到了很多东西,第一次深刻的体会到了什么叫做用工程化的思想来编写软件,以前自己也写过一些小型软件,没有做过大型的项目,直到这次课堂我担任组长并组织组员共同完成“个人图书管理系统”这个项目,第一次和别人合作,才发现运用工程化的思想来做是如此的有必要。
从这里,我才真正的意识到实施一个软件工程并不是说简单的会编码就能够解决问题的,我们更多的精力不是放在编码上,编码只是一个很小的模块,只占到那么小的一个部分。这个事实在很大程度上颠覆了我以前的思想,在我以前的认识中,似乎整个软件就是编码,除此无它,还好有老师的指导,不然真的会出现老师所说的,撞得头破血流之后才想起来用软件工程的思想来完成这个工作。
刚真正开始工作之前,我们费了很多的时间来完成一些前端工作,如需求分析和可行性分析,这块工作在别人看来可能是相对无关紧要,甚至是多于的,其实,换做在以前,我也会这么认为。可是,我现在算是深深地明白了磨刀不误砍柴工的道理,这些工作的完成太有必要了,太重要了,要想你的软件有用有市场,能被别人接受和认可,在进行过程中不会出现崩溃性的问题,这些工作缺一不可。
还有就是接下来的一些设计模块,此模块与软件编码涉及比较紧密,主要是解决一些参数传递和接口通讯的问题,此模块对我的触动远没有上两个模块对我的影响大,因此再次也不做过多的介绍。
在整个活动的完成过程中,作为组长,我收获很多,我发现,要是组里有个人不怎么想做事情时,他对于整个组织的影响是毁灭性的,正所谓“一颗老鼠屎,能坏一仓谷”,以后我的组织里要是出现这样的人,我绝不会给他继续留下来的机会,我会在第一时间将他清除出去。还有就是,作为组长,你要做的最重要的事情,不是发挥自己的聪明才智,而是创造出一个平台,让别人去发挥,你所要做得,出了保证这个平台的完整性和公平性外,还有就是协调好各组员之间的关系。
在本学期的软件工程课程的学习中,我们学习了十一章的内容。第一章软件与软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。还引出了工具uml。第三章软件需求获取与结构化分析方法,本章详细介绍了需求获取与需求分析阶段的任务以及结构化分析方法,画分层的数据流图、e-r图以及状态图式本节的重点。第四章结构化分析方法,这一章重点讲解了使用变换型映射方法和事务型映射方法生成初始的模块结构以及模块结构的改进。第五章编码,这一章重点讲解了编码的风格及规范,还告诉我们编码规范说带来的好处,并告诫我们将来一点要形成好的编码风格。第六章软件测试方法,本章讲解了软件测试相关的概念及重要性,软件测试与开发各个阶段的关系;还介绍了白盒测试技术以及黑河测试技术。第七章统一建模语言uml概述,本章详细介绍了uml的基本模式、事物、关系及建模时用到的各种图进行了介绍。第八章面向对象分析,这一章主要讲解了面向对象分析的3种模型,包括功能模型、静态模型和动态模型。第九章软件体系结构与设计模式,本章对软件体系结构的基本概念、典型风格等进行了讲解。第十章面向对象设计,本章的重点是对面向对象分析时建立的对象模型进行调整和细化。第十一章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。
要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则:软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。在流程图中只能使用下述的五种基本控制结构:顺序型;选择型;while型循环;until型循环;多情况型选择。
n-s图:一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为n-s图。在n-s图中,为了表示五种基本控制结构,规定了五种图形构件。顺序型;选择型;while重复型;until重复型;多分支选择型。
pad图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。pad也设置了五种基本控制结构的图示,并允许递归使用。
hipo图:hipo图是由一组ipo图加一张hc图组成。它是美国ibm公司在软件设计中使用的主要表达工具。
hc图既是层次图,用于表示软件的分层结构。hc图中的每一个模块,均可用一张ipo图来描述。ipo图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入—处理—输出三者之间的联系。
还有测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。
静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。
动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。
还学习了其他很多工具、语言、方法等,虽然不是都学得很透彻,但我相信在今后的学习中一定会慢慢的完善的。
软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展;在学习语言时,要看看与c语言的联系,多思多想,把从各个科目学到的知识通汇贯通。
在软件工程的学习中,我了解到了软件并非是一些代码这么简单,在开发软件的过程中,编写代码的工作量其实只占不到所有工程量的30%,而后期的管理和维护更是占了60%到80%之多。一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告,开发进度报告,项目开发总结报告,软件维护手册,软件问题报告,软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点真的不是很容易,而恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如何用最小的开销做出生存期较长的软件,再加上各个阶段都要进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。
而编码的学习中,我更了解到形成自己独特的规范的编码风格是非常重要的事。因为这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无规范可言,那么别人怎么能读懂你的程序?读不懂程序,维护又从何谈起呢?所以,我们在今后的学习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在规范的基础上形成属于自己的风格,即方便自己的修改,也方便日后他人的阅读。
在学习中,我们还要注意比较三种方法的优缺点,例如:传统方法虽然使软件摆脱了混乱和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比较强的系统。形式化方法则是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。
在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并以此为基础将其扩散开来,应用于今后的实践。不断锻炼自己,向一名合格的程序设计师迈进。
这次软件工程实训是从__年__月__日号开始的,截至__年__月__日号。实训内容是用java相关知识(主要是jsp)做一个物流配送系统。下面谈谈对这次实训的看法。
因为自己平时对java知识储备不足,特别是jsp这一块基本不了解怎么回事,所以一拿到这个项目,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了。呵呵,26号,实训开始了,我们的老师是来自中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就后悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的机会啊。后悔也没用啊,开始还勉强能理解一点,后来就直接晕了。然后再给大家介绍了一些即将用到的工具,比如rationalrose,svn,myeclipse等等。接下来的几天就不再细讲了。下面谈谈通过这次实训的心得体会吧。
通过这次实训,让我了解到工程开发的过程,可行性分析——需求分析——概要设计——详细设计——代码编写——测试——验收。从技术方面上,我开始jsp基础基本上就是零的,在老师和syz2(另外一个物流小组,我一个人基本上是跟她们做的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。其实实训开始前,我还以为做个系统没什么大不了,可是当真正拿到一个项目,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。通过这个实训,也让我了解到,团队协作是多么的重要。一个人的精力是多么的有限。进一步理解到,企业为什么如此重视团队协作。同时借用老师的话就是团队协作固然重要,但是是建立在个人素质的基础上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多贡献了。__老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导。
还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个问题吧。然后他说出来,我也觉得这个问题确实其实是个大的问题。就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了。小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各种问题,老师也会尽力为你回答。将来出身社会就不一样了。虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自己的一个肯定。
这次实训的心得基本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储备不够,我想应该是这个问题的突发吧,一时没想到怎么处理。相反让我感觉更多的就是老师很认真,很负责。还要感谢就是syz2小组的倾力支持,辅导。