第一篇:zzf软件工程心得体会
软件开发特别是大型软件是一项浩大的工程,需要几个人、十几个人、几十个人甚至几百个人合作开发几个月、十几个月甚至几年。要保证系统的协调性、统一性和连续性,就需要在开发之前制定严格、详细的开发规范。开发规范的制定需要花费一定的时间和精力,但是“磨刀不误砍柴功”,它相当于把今后开发过程中开发人员都要遇到的问题提前做了一个考虑。有了开发规范,在后续的开发过程中,设计人员就不必每次考虑如何为一个字段命名,编程人员也不必去想某个程序的结构和布局应当 怎样,测试人员也有了判断程序对错的标准。开发规范在项目开发工作中起着事前约定的作用,需要所有开发人员共同遵守。它约束开发人员的行为和设计、编程风格,使不同子系统和模块的设计、编程人员达成默契,以便形成整个系统的和谐步调和统一风格,也便于今后的系统维护和扩展工作。
最初接触软工的时候以为是一门程序设计的课程,主要讲述的是软件的编写。结果上了课以后才发现这确实是一门有关软件的课程,虽然不教授具体的代码编写,但是这确确实实是一门有关软件开发的课程,是一门对于我们来讲必不可少的课程。有的人会觉得会编写代码就可以了啊,但是他忽视了我们现阶段接触的软件开发都是比较简单的,工作量较小的课题。然而当项目的规模变得越发巨大而且越来越复杂的时候,我们就需要软件工程这门学科来让大家理清设计思路,并且学会分工合作。在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。这让我们收益匪浅。在课程设计的过程中,我们发现让大家齐心协力去完成工作并没有那么简单,每个人的时间规划都不一样,擅长的也不相同!也许未来我们面对的团队合作会更加的困难。调整了心态才能够行更远的路,收获成功。
第二篇:软件工程心得体会
《软件工程》的感悟
时间飞逝,不知不觉间《软件工程》的学习已经过了大半了。在这将近半学期的学习中,虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。
在以前,我一直对软件存在一些偏见或则是误解,认为软件就是程序,软件的开发就是编写程序,只要编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。一个人,只要会编程,就能写软件,就是程序员;一个公司,只要招聘一些程序员,就能开发好的软件产品。只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。
但是通过了《软件工程》这门课的学习,使我认识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。
而且在以前,我一直以为软件的开发其实是一件很轻松快乐的事情,只要一天坐在电脑旁敲敲键盘,那么一切就可以了,但是现在我才发现,我以前的很多的思想是多么的肤浅可笑。编程其实是一种乐趣和苦恼共存的一项创造性活动。因为编程不仅能够满足我们内心深处进行创造的渴望,而且还能愉悦我们内在的情感。
而且通过学习《软件工程》,我还学到了很多其他的东西。比如通过学习《软件工程》,特别是老师每次用实际的软件现场的讲解,为我提供了一个尽早接触世界工作和真实项目的机会。让我知道如何在以最小的成本中,训练自己的基本工程素质和能力,如何激发自己的积极性等。而且通过学习《软件工程》,还让我认识和培养了我的团队协作能力,特别是对于我们这些在校的学生来说,这种学习更是能让我在以后工作中少走很多的弯路。
所以,通过《软件工程》的学习,我是真的学习到了很多有用的东西,让我明白了很多的道理。在此我对老师的辛勤教育表示感谢,因为是你让我学习到了这些,是我获益良多。
第三篇:软件工程心得体会(推荐)
软件工程学习心得
这个学期我学习了软件测试这门专业课程,在学期即将结束的时候,我也对这门课程建立基本的了解。软件测试这门课程作为软件工程专业中一门很重要的课程,已经在软件领域占据了不可替代的角色,当一个软件从雏形到真正的在一台计算机是哪个运行的时候,谁也不能保证计算机软件能一步到位的满足人们的需求。所以就有了软件测试,其目的的:第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事情。
我认为,在整个庞大的软件工程中,不管是需求分析、架构设计,甚至是最后的debug,都会产生引入不管的机会,这就要去作为一个软件测试师要掌握丰富的软件工程原理和知识。测试的工作将会存在于整个项目周期,即在项目开始时需要各种分析调研时就开始了,尤其是在形成需求规格说明书时就有对文档的测试需求,甚至主导整个项目的走向。
软件测试对逻辑思维、学习能力、反应思维要求很高,是否有严密的思维和逆向思维也非常重要。做测试还要考虑到所有出错的可能性,有时候还要用一些非常规的测试方法。软件测试还很注重软件性能问题,也
就是要保证软件运行得很好;在不同环境下,考虑软件 的兼容性同样重要。对于测试人员来讲,会比开发人员更加重视软件产品的质量问题。在测试过程中,测试者可能会为可会的需求角度考虑更多,由此我们可以认为测试人员有权利决定产品是否可以发布。然而,通过一个学期的学习,我们又不得不懂得,软件测试人员不是万能的,测试人员在面对一个设计烂编码的软件时,也是无法不低头的,再怎么测试它也变不成优秀的软件。
通过课上的理论和课下的实践,以及在网上和一些论坛里讨论和学习,使我对测试有了大致的接触和深入的了解。以下就是我在软件测试方面的认识:
每项测试都包括三个部分,一组操作,一组预期结果和一组实际结果。另外要尽量用最少的测试用例覆盖软件功能的绝大方面。考虑到各个方面的原因,我们应考虑尽可能多的条件下的测试,这样我们的测试才能更具有全面性和普遍性。大体上我们的测试可以分一下几个方面:
(1)边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。
(2)非法测试,例如在输入数字的地方输入字母。
(3)跟踪测试,跟踪一条数据的流程,保证数据的正确性。
(4)在开始测试之前应保证数据的正确性,然后再从系统中找出各种BUG。
(5)接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。
(6)代码重用测试,在开发过程中有些模块功能几乎相同,开发人员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。
(7)突发事件测试,服务器上可能发生意外情况的测试,如网络中断,电源断电等极端的情况。
(8)外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。
(9)系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。
(10)用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是由用户操作上不方便引起的。
虽然课程已经接近尾声,我却开始对软件测试产生浓厚兴趣,也增加了我对其的知识,在以后的大学课余时间中我一定会更加努力,永不放弃,世上无难事,只怕有心人!通过刻苦钻研,相信有付出就一定有回报,总有一天,我定能在计算机和软件测试方面有所成就。
第四篇:软件工程心得体会
软件工程心得体会
未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。
曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。
经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。
吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。在划分模块后明确了各自分工,渐渐形成良性循环。
在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。
学习能力体现在能尽快接受新的知识,顺应变化,学为所用。上《软件工程导论》这门课,我的收获大概如下:
我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。
其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和DEBUG。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。
具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。
1.可行性分析就是关于当前项目能不能干的分析结果。
2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。3.需求分析就是对客户要求的功能的定义。
4.软件设计这就是对程序的每一个模块的详细设计的说明文档。5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。
6.测试分析 用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。
第五篇:软件工程的心得体会(模版)
软件工程心得
我本来可以很快完成心得体会的,回味那段美好的时光。或许未来的某一天,我重新翻开这个实验报告,又会想到那段日子,想起组里的每个人,怀念我们的实验。
现在回想起大学的生活,真的是愧疚比高兴多一点,“浪费了不少时间啊!”。正像老师所说的,我用学强势知识的大好时光浪费在学习一些垃圾知识上。也许这是我自身的错。如果把一个人的一生看成是一个软件产品的生存周期,我想我在本科求学时,就没有做好需求分析,以致于生命的项目出现了设计错误。“软件工程的重点不是在编程,而是怎么你才能进行好的管理”,这是曹老师第一次理论课里给我们树立的第一个观点。在曹老师给我们讲这一口号时,我心里就在犯嘀咕:软件工程和项目管理需要什么商业智慧,会编程开发不就行了么。而且自信自己也曾经所谓的研究过几本有关软件工程方面的著作,对软件工程这门课程根本就没往心里去,只是觉得既然开了这门课,混两个学分就得了。然而,在经过曹老师旁征博引、引经据典的阐释下,我发现以前的观点确实幼稚的可笑。确实,如果一个搞技术的人不懂得商业之道,不能彻底地明白一个企业的根本目标,不能真正了解用户的需求,那么他就不能开发正确的产品和正确地开发产品,因而所开发出来的产品就不能满足客户乃至社会需求,导致产品开发的失败进而使企业蒙受巨大的损失。
这门课的内容紧贴市场,将商业的观念灌入课堂,给我们讲解在今后的职业生涯中如何赚钱,且观点独到。从小学到现在,这样的内容是汗牛充栋的书海中所没有的,是我们传统教育所接触不到的。正因为这样,它使我感觉到:我终于在课本上看到了实话,在课堂中听到了实话。正是这种独特的见解给了我独特的感受,给我了一种全新的理念,给了我一次思想的洗礼。而被传统教育所桎梏了这么多年的我们,正需要这样崭新的,符合时代的观念来打破我们头脑中的顽固的迂腐的思想。也许通过这门课的学习,使我在以后的工作生涯中,我会在做某件事之前首先考虑这件事值不值得做,有没有商业利益,怎样才能将商业利益最大化。当然我所说的事情是指商业上的事情,不是生活中的每一件事情。但是我也明白了生活中不能只有商业这个概念,还要有亲情,爱情,友情。好朋友在生活的道路上是不可少的。所以我会在今后的人生道路上,职业生涯中无形的坚持这一准则。
在实验过程中,我做的是软件设计的需求分析和总体设计阶段,在这以前倒是也做过类似的课题,但是没有这次做的这么严格,以前就是做个东西能运行就行了,但是现在不同,不仅仅似能运行的问题,许多商业的因素我们必须考虑,例如:软件设计的是不是符合用户的要求,即使符合用户要求,那么我们是否能在软件在完成之后让用户满意的用,而不是让产品成为玻璃球,一碰就碎,我们的设计是否为以后的维护做了很好的铺垫,等等。这些我们必须考虑,所以通过这次的实验,我学到的不止是怎么进行一个软件工程,也使我学到了在很多地方学不到的知识。在这个实验以前,我总是认为只要自己努力做,没有干不成的事情。现在想起来那时的想法是多么幼稚,在某个领域不是那个人或是那个天才能干了的,只有通过大家的努力,众志成城,才能很好的完成每一件事情。这不只是在做软件工程上,在其它方面也是一样的。
原来的我,写程序、开发软件的观点思路有偏激的趋势,总将目光局限在某些技术和功能的实现上,失去了宏观的角度。而现在的我,有了新的理念作支撑,我将不遗余力地将这些新方法、新思路贯彻到今后的学习和工作中去。
软件工程已经结束了,但是我觉得这并没有结束,这是一个好的开端,因为它留给里我们的是改变了的思维方式,做事的方法,和对事物的不同的理解。可能这只是我人生的一个小小的经历,但是我觉得它给我在以后的道路上做了一个标记,使我知道怎么做才是对的,怎么做才能做好。最后让我用一句话结尾吧,“梦已经结束,但是梦还会开始”。