软件工程实践的心得_第1页
软件工程实践的心得_第2页
软件工程实践的心得_第3页
软件工程实践的心得_第4页
软件工程实践的心得_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程实践的心得软件是计算机系统中与硬件互相依存的另一部分,它包括程序、相关数据及其说明文档。软件工程是针对软件这一具有特别性质的产品的工程化方法。下面是带来的五篇软件工程实践的心得,希望对大家有所帮忙!软件工程实践的心得1这学期学习了软件工程实践这门课,我觉得这是对上学期的软件工程课程学习的检验,上学期学习软件工程只是我们浅显的熟悉,相比之下,这学期就更加全面的说明了开发一个工程所需要的步骤以及开发工程过程中所需要留意的诸多详情。假如说上学期的课程注意理论根底的话,那么这学期的软工实践,顾名思义,就是侧重我们动手操作的力量。原来我认为开发一个工程最重要的就是写代码,似乎整个软件都是编代码,

2、由于自己动手力量不强所以就很排斥做工程。可是经过我们学习软工课程到团队做工程再到学习软件工程实践课程之后,我才真正意识到实施一个软件工程工程并不是说简洁的会编码就能够解决问题的,由于一个软件的生命周期分为三个时期:软件定义时期、开发时期、维护时期,而这三个时期整体又分为七个阶段,他们分别是:问题定义、可行性研讨、需求分析、总体设计、具体设计、编码和单元测试、综合测试,由此可看出,当我们开发一个工程时,更多的精力不是放在编码上,编码只是一个很小的模块,而是工程的整体结构上。在写软工实践体会之前,我想在这里总结一下上学期三人团队做工程的相关事宜。上学期我们三人团队依据软件开发的步骤开发一个名为“西

3、大老乡荟”的社交系统,主要是为西高校子提供一个找老乡的平台。虽然只进行到具体设计阶段,没有进一步完成,但是我还是从中学到许多东西的。首先要先确定工程主题,也就是这个工程用来做什么,可以解决什么问题。接着就是这个工程是否有研讨的必要以及是否有解决的方法,针对我们的工程,我们对西大的一些同学做了问卷调查,并从调查中连续完善系统本身的做用户。第三步依据我们确定的工程主题进行需求分析,这一步骤当时做的不是很好,比方所画E-R图、数据流图等都有考虑不周的问题,导致接下来的概要设计、具体设计进行的很困难,有些步骤甚至还需要返工。从我们在需求分析中显现的问题,使我们明白了软件定义阶段对于一个工程的开发是至关

4、重要的,当软件定义阶段完成时必需要用正式的文档精确的地记录目标系统的需求。只有前期的准备工作做得好,后面的工作才能顺当进行。虽然工程最终没有完全完成,但是至少我们已经初步体会到软件工程开发的步骤,以及每一步所需要完成的文档等内容。这学期的软件工程实践虽然不是亲自动手开发一个系统,但是张元平老师以“物联网物流仓储管理系统”为主给我们讲解了一个真实系统的开发过程,从方案到工程系统的发布实施,以及每一步必需生成的文档。我主要从以下五个方面谈一下我的心得体会。第1、行业背景说明方面对于一个软件系统的开发,第一步就是问题定义,了解所开发系统的行业背景,制定方案。当我们方案确定以后就要对工程系统本身进行可

5、行性研讨,主要从技术可行性、经济可行性和操作可行性三个方面着手。就比方物联网物流仓库管理系统的行业背景说明文档中非常具体地分析了当下物联网物盛行业的整体业务说明、应用背景、将来进展趋势以及相关应用案例等四个方面,工程团队中系统分析员就可以依据这份文档以及相关的调查资料对将要开发系统的进行定义等工作。原来我们写这类文档的时分就是草草了事,不会做得这么具体,而这次看到大型工程的行业背景说明也是这么具体,也让自己熟悉到不管是软件开发的那个阶段都要仔细对待,这些琐碎的文档都是后期开发工程的支撑,只要它们做的透彻,后面的开发工作才能更顺当的进行。第2、工程需求说明方面这部分工程需求说明就是软件定义时期中

6、需求分析阶段,而该阶段的主要目的就是了解用户的需要,依据用户的需要确定系统必需完成那些工作,并对目标系统提出完好、精确、清楚、详细的要求。在需求分析结束之前系统分析人员要写出一份需求规格说明,即为物联网物流仓储管理系统工程需求说明文档。我们可以看出该文档也是非常具体,相比之下我们之前做工程时写的需求规格说明书就非常不合格,不仅格式不正确内容也是少之又少。在这方面,这篇文档给我启发很大。首先就是文档的格式,要美观整齐,让人看着舒适便利。其次就是文档的内容,原来它不是很重要,写文档的时分也不明白怎么写就借鉴下网上的内容,结果根本就没有把自己工程的需求写明白,以至于自己最终都有些糊涂,所以依据从前的

7、经验教训我会对这部分更加重视。第3、系统概要设计方面这部分内容分说的是软件设计时期的概要设计阶段,该阶段的主要目的就是完成系统的功能、设计软件的结构、模块组成以及模块之间的关系。在概要设计阶段,我们可以站在全局的高度上,花较少的本钱,从抽象的层次上分析比照多种可能的系统完成方案和软件结构,从中选出最正确方案和最合理的结构。在这个阶段还会详细画出E-R图、数据流图等方面的设计。比方物联网物流仓库管理系统的系统概要设计从工程概述、设计约束、功能单元与功能模块设计、数据E-R图设计、总体设计、界面设计等六个方面介绍,通过读这个文档,我觉得最重要的还是总体设计,分别从规律架构设计、物理架构设计、技术架

8、构设计设计系统。在这个阶段中模块要做到高内聚低耦合,这样开发出来的系统才会具有更高的独立性。在原来做工程时没有编写过这类文档,在该阶段只是画了结构图、层次图以及相关的模块划分,对该类文档尚未重视。通过张老师的讲解和自己的学习,我相信在以后做工程的时分肯定会留意到这类文档的编写。第4、具体设计与分析方面具体设计阶段就是把概要设计阶段的每个模块进一步设计,确定每个模块所需要的算法和数据结构。在这个阶段还是需要我们设计出程序的具体规格说明,而不是编写程序。在具体设计阶段,系统设计人员可以通过运用程序流程图、盒图、PAD图等过程设计的工具和Jackson图等面对数据结构的设计工具进一步设计系统相关接口

9、,主要包括界面设计接口、业务单设计接口、单元模块设计接口等,这些对于以后的编码工作都是极其重要的。第5、编码和测试方案方面关于编码,我认为编码要想做的完善必备条件就是前面的软件定义和软件设计时期要按部就班的做,文档肯定要按要求书写,不能偷懒也不能草草书写。对于编码也要有相应的文档书写标准,要使源程序代码的规律简明清楚、易读易懂。这样尽管我们不是设计系统的人员,当看到源程序代码的时分也能简单读懂代码的意思。其次就是测试的内容,从测试的文档中我们可以得出,其实测试在软件开发中同样占据了重要的地位,它主要就是尽可能多的找到问题并排解其中的潜藏的错误,最终把一个高质量的软件系统交给用户运用。它要求测试

10、人员也要有很高的技术水平。软件工程实践的心得2时间过的很快,转瞬间已经实习将近5个月,其中有2个月是属于完全被流放的。最先在内部系统组参与内部管理系统开发(struts+mysql+spring+hibernate),之后是络交换机软件的脚本测试。如今又回来内部系统,虽然在脚本组期间,编码力量被别人甩在后头,但至少具有了一些测试经验。至少自己做的东西,是真正交付到了客户手上,到也略微有些成就感。1、浅谈测试始终以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们

11、靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则肯定要懂编码,由于这是你完全把握整个系统的方方面面详细运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际工程中,编码时间一般只占30%左右,真正消耗时间的是it阶段的找bug与对应bug,此阶段根本评定了coder的编码质量。2、程序员的困惑有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样力量有关,debug追踪力量,也称调试。在工程组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?有位同事告知我:代码看几遍都没用,要去抄,例如一个查询模块,在此根底上去

12、做详细记录的历史记录查询模块,你可能会觉得很简洁,但实际情况却往往报一堆异样,配置问题触及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。3、如何调试追踪假如你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,肯定没问题。显现问题的时分,不要光看代码,要用实际行动去追踪运行期间的详细值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步stepover,让sql字段(存取

13、最终sql语句的字符串)运行到有值,inspect进去看,假如还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,假如是对的,有可能就是页面调用的错误或者action规律的传值问题。页面错误的调试,根本方法是用右键点击页查看源代码,copy到editplus,就能看到详细错误发生在那几行。通常有几种常见的错误,例如:缺少对象这种许多时分是有些被你调用的字段有可能为空的情况显现的,可以加if(XX=null)语句加爱护。追踪的方法根本就是用alert语句,放在有可能出错的地方。4、一些习惯遇到问题先自己思索,无从下手再找高手帮忙看看,留意他帮你看的思路,别在一旁

14、闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多。解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问题再铺张同样的时间。把代码写的漂亮,注释、空行、标准一样不能少,可读性是放在第一位。曾经看过一个高手写的代码,真的一看就是不同水平的人写的,几乎很完善,读起来很流畅,便利自己也便利别人。任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比拟好走了。软件工程实践的心得3在这次软件工程课程中,我学到了许多东西,第一次深入的体会到了什么叫做用工程化的思想来

15、编写软件,从前自己也写过一些小型软件,没有做过大型的工程,直到这次课堂我担任组长并组织组员共同完成“个人图书管理系统”这个工程,第一次和别人合作,才发现运用工程化的思想来做是如此的有必要。从这里,我才真正的意识到实施一个软件工程并不是说简洁的会编码就能够解决问题的,我们更多的精力不是放在编码上,编码只是一个很小的模块,只占到那么小的一个部分。这个现实在很大程度上颠覆了我从前的思想,在我从前的熟悉中,似乎整个软件就是编码,除此无它,还好有老师的指导,不然真的会显现老师所说的,撞得头破血流之后才想起来用软件工程的思想来完成这个工作。刚真正开头工作之前,我们费了许多的时间来完成一些前端工作,如需求分

16、析和可行性分析,这块工作在别人看来可能是相对无关紧要,甚至是多于的,其实,换做在从前,我也会这么认为。可是,我如今算是深深地明白了磨刀不误砍柴工的道理,这些工作的完成太有必要了,太重要了,要想你的软件有用有市场,能被别人接受和认可,在进行过程中不会显现崩溃性的问题,这些工作缺一不行。还有就是接下来的一些设计模块,此模块与软件编码触及比拟紧密,主要是解决一些参数传递和接口通讯的问题,此模块对我的触动远没有上两个模块对我的影响大,因此再次也不做过多的介绍。在整个活动的完成过程中,作为组长,我收获许多,我发现,要是组里有个人不怎么想做事情时,他对于整个组织的影响是消灭性的,正所谓“一颗老鼠屎,能坏一

17、仓谷”,以后我的组织里要是显现这样的人,我绝不会给他连续留下来的时机,我会在第一时间将他去除出去。还有就是,作为组长,你要做的最重要的事情,不是发挥自己的聪慧才智,而是制造出一个平台,让别人去发挥,你所要做得,出了保证这个平台的完好性和公正性外,还有就是协调好各组员之间的关系。软件工程实践的心得4在这次软件工程课程中,我学到了许多东西,第一次深入的体会到了什么叫做用工程化的思想来编写软件,从前自己也写过一些小型软件,没有做过大型的工程,直到这次课堂我担任组长并组织组员共同完成“个人图书管理系统”这个工程,第一次和别人合作,才发现运用工程化的思想来做是如此的有必要。从这里,我才真正的意识到实施一

18、个软件工程并不是说简洁的会编码就能够解决问题的,我们更多的精力不是放在编码上,编码只是一个很小的模块,只占到那么小的一个部分。这个现实在很大程度上颠覆了我从前的思想,在我从前的熟悉中,似乎整个软件就是编码,除此无它,还好有老师的指导,不然真的会显现老师所说的,撞得头破血流之后才想起来用软件工程的思想来完成这个工作。刚真正开头工作之前,我们费了许多的时间来完成一些前端工作,如需求分析和可行性分析,这块工作在别人看来可能是相对无关紧要,甚至是多于的,其实,换做在从前,我也会这么认为。可是,我如今算是深深地明白了磨刀不误砍柴工的道理,这些工作的完成太有必要了,太重要了,要想你的软件有用有市场,能被别

19、人接受和认可,在进行过程中不会显现崩溃性的问题,这些工作缺一不行。还有就是接下来的一些设计模块,此模块与软件编码触及比拟紧密,主要是解决一些参数传递和接口通讯的问题,此模块对我的触动远没有上两个模块对我的影响大,因此再次也不做过多的介绍。在整个活动的完成过程中,作为组长,我收获许多,我发现,要是组里有个人不怎么想做事情时,他对于整个组织的影响是消灭性的,正所谓“一颗老鼠屎,能坏一仓谷”,以后我的组织里要是显现这样的人,我绝不会给他连续留下来的时机,我会在第一时间将他去除出去。还有就是,作为组长,你要做的最重要的事情,不是发挥自己的聪慧才智,而是制造出一个平台,让别人去发挥,你所要做得,出了保证

20、这个平台的完好性和公正性外,还有就是协调好各组员之间的关系。这就是我的实习感想。软件工程实践的心得5时间过的很快,转瞬间已经实习将近5个月,其中有2个月是属于完全被流放的。最先在内部系统组参与内部管理系统开发(struts+mysql+spring+hibernate),之后是去做网络交换机软件的脚本测试。如今又回来内部系统,虽然在脚本组期间,编码力量被别人甩在后头,但至少具有了一些测试经验。至少自己做的东西,是真正交付到了客户手上,到也略微有些成就感。1、浅谈测试始终以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bu

21、g,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则肯定要懂编码,由于这是你完全把握整个系统的方方面面详细运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际工程中,编码时间一般只占30%左右,真正消耗时间的是IT阶段的找bug与对应bug,此阶段根本评定了coder的编码质量。2、程序员的困惑有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样力量有关,debug追踪力量,也称调试。在工程组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?有位同事告知我:代码看几遍都没用,要去抄,例如一个查询模块,在此根底上去做详细记录的历史记录查询模块,你可能会觉得很简洁,但实际情况却往往报一堆异样,配置问题触及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。3、如何调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论