软件开发心得体会.docx
- 文档编号:9975016
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:13
- 大小:29.80KB
软件开发心得体会.docx
《软件开发心得体会.docx》由会员分享,可在线阅读,更多相关《软件开发心得体会.docx(13页珍藏版)》请在冰豆网上搜索。
软件开发心得体会
软件开发心得体会
软件开发心得体会
受某文化公司委托,开发一款用于视频和图像处理的软件,开发难度高,高到从未搞过,开发周期长,长到是我以前工程监控最长开发周期的两倍,开发本钱之底,让我觉得程序员成了高级打字员。
首先是需求分析书、产品规格说明书、设计说明书、代码标准说明书、测试方案,光文稿就不知道熬了多久才做完。
紧接着,遇到一系列问题,首先是语言选择,vc++和c#都是可以保证开发完成的选择,但是vc++内存容易报错,界面很难修改,而客户要求的界面质量甚至比程序的功能更严格,没方法,客户就是上帝,上帝做事一定有他的道理。
c#语言易于开发,而且图形界面绘制也易于修改,可以做出客户体验很好的界面,但是在资源的消耗上,让我很吃惊。
做到第二个月,大概的界面已经完成时,出现界面刷新的问题,刷新时开始卡,界面不流畅。
没方法,改。
开会,总结,技术骨干找问题,拿出解决方案,力争第一次做软件把它做好:
重新做软件开发进度方案和软件测试方案,并且让独立功能demo制作和测试先行;
用directdraw、direct3d或者opengl中的一个替代c#本身的gdi绘图,将在接下来的开发任务中参加进去。
事无巨细,当我满意的看着界面流畅,功能也已实现时,发现软件在低分辨率或者小本上根本乱到没法看,甚至是界面功能按钮错位,重叠等等。
没方法,改。
毕竟软件的多分辨率兼容和操作系统兼容是必须要做的。
接下来一大堆的麻烦找了上来,软件出现各种各样想都想不到的问题,总算是按时将第一个版本出去,并且开始接下来的升级开发任务。
最后,给刚刚接手软件开发工程的朋友一些忠告:
一、相关的文档不是给别人看的,而是给自己看的,相关文档一定要齐备,而且让所有涉及开发的人员都清楚的知道你文档里所要表达的意思;
二、一定要注意多做demo,多做实验,一个demo程序员几个钟头就可以完成,甚至更少,但是不做demo,核心程序没有做实验,其他的东西都围绕核心程序做了上去,到时候耽误的可不是几个钟头。
三、程序设计要注重用户体验,当初客户对我要开发软件提出近乎苛刻的要求时我不在意,但是当我自己反复使用软件时有了很多体会,流畅美观的界面带给人心理的快感确实能替代一些尚未开发完整的功能带给用户的遗憾。
四、测试方案屡次进行,分批进行,不要全部开发完成再对软件做测试。
还要坚持三个月,软件马上,希望大家的支持,谢谢!
!
!
作为一个软件开发人员,记得在我第一天进入公司实习的时候,首先要的就是编程标准.相信每个搞开发的同学都跟我一样吧.
编程标准在学校里是十分不重视的.老师也不会硬性地要求学生要遵照怎样的标准去编写代码,实验或者作业什么的,只要能实现功能就ok了.但是公司却不一样,公司的代码并不是一个人编写,别人很可能需要阅读甚至修改你的代码,阅读一个不符合标准的代码,所需要的时间可能比重新开发还要漫长.代码标准的重要性是不言而喻的.当然,作为一个开发人员的前提,我还是公司里的一个员工(虽然不是正式的...).我还必须遵守员工的标准.
其实员工标准也没有什么特别多的要求,个人认为就跟上学差不多,虽然标准是差不多,心态上却有着很大的差异.原因无他,你到学校是自己交钱上学,上班却是别人发工资给你.拿了人家钱,还要扰乱人家的标准,这种事我还真干不出来.看来钱不管到哪里都是一个问题,呵呵
感悟二:
我其实是一种很唯心的动物
其实本来,我是写"人其实是一种很唯心的动物",但不知道别人是不是也这样,虽然我觉得是,却无从考究,还是严谨点.
为什么说我唯心呢?
当我心里把自己当作一个学生,跟把自己当作一个上班族时,在各种细节上都会不一样,例如那有点虚无缥缈的"气质",或者是说话的语气.
这个大概是"站在不同的高度,看到不同的风景"吧.正如老总看的是公司开展方向,主管却在看业绩,经理在看工程,小弟们在看代码...
感悟三:
设计模式很重要
设计模式是我到公司才接触的事物,主要是讲述一种面向接口的编程思维,按照设计模式所编写的代码,会比学校那种直接实现功能的代码繁琐一点,增加很多看似多余的虚类或者接口.但是这种代码更加具有拓展性,更好地把数据封装起来.在增加状态,增加类的时候,并不需要修改正多代码,这种代码对于版本升级尤其重要.
在公司培训学习中,我总能很快地掌握各种设计模式的要领,获得上司的好评.但是我明白,设计模式真要应用到代码中去,是要培养一种习惯.
个人观点好似说得有点多了,下面说说我这3个月里的实习情况.总的而言,我到公司接触了2个平台,一个是现在很火的android,另一个那么是nokia的qt.android用的根本是java语言,其中还会带点xml语言;而qt用的那么是c++.
对于这2个平台,用着的感觉其实大同小异,用我上司的话说,根底打好了,语言就不应该是障碍.感觉挺有道理的.想当年我作为一个vb助教,却没半点vb根底,对vb那些根底问题还是可以比拟轻松地解决,这跟我其他程序语言根底比拟好有着密不可分的关系.
android平台的一个根本窗口是一个activity,除了根本的activity外,还提供listactivity和tabactivity这些拓展的子类,每一个activity都可以看作一个窗口,一个进程可以有多个activity,每个activity都拥有一个view,view可以通过xml设定,当使用activity的子类时,必须注意这些子类的xml必须含有特定id的控件,或者不用xml实现view,系统会有一个默认的xml去实现那些一个根底view并且实现必要的id.
在谈到view,那么就必须说到layout了,android的layout很强大,最根底的是横向或竖向的排列布局,另外还有网格,表格布局等等.掌握好布局的方法可以让我们对界面设计事半功倍.
android有趣东西有很多,在我完成那个移植应用的时候,android总能给我一些惊喜,例如popwindows这个设计,他作用是弹出一个窗口等,或者你可以把他看作一个acticity,效率却比activity快很多.利用popwindows,你可以做出风格各异的消息框,菜单栏,下拉菜单等等.
另外还有一个抽屉类也很特别,他就像触屏系统的解锁一样,拖动手柄,便可拉出一个界面,这种设计大大地节省应用的空间,减少切换界面的操作,从而降低应用的功耗.告诉大家一个很多人不注意的地方,android应用如果进行横竖屏幕切换的时候,进程会完全关闭后,再重新翻开的,因为android做了保存状态的操作,所以很多人会以为屏幕切换后,进程还是本来的进程.
qt跟android有很多共通点,例如android的activity就如qt的qwidget,当然,他们的状态机有着很大的区别.
qt最大的特点是他的信号槽,通过信号和槽的连接,可以把很多类与类间相关的函数连接在一起,甚至可以传递参数
实习心得
从学生到走上工作岗位,一步步的熟悉和认识着周围的环境,熟悉这社会生存之道!
在这里我学到了我离开校园的第一笔知识,这些都是从书本上学不到的知识,从体验公司的文化到亲身接触公司的每个部门的人员,从公司的季刊杂志上,从其他员工的言谈中,有好的信息,也有不好的耳闻,总之,我的感觉中,我们的公司还是在不断前进开展。
从学校迈入社会,华润以自己的姿态给我这样一个良好的锻炼平台。
从学生到工作,华润以自己的品质和精神让我了解和洞察并融入社会这个大家庭,华润为我创造了这样一座桥梁。
融入华润,融入社会,我以华润的精神强化自己,以华润的记纪律标准自己,每一天努力,每一步的行动,都让我逐步提高和完善自己,以至于在这个平凡的岗位上做到一个合格称职的职业人。
工作中有苦有乐,产线上同事之间的互帮互助,让我充分体会到与人协作,共谋开展,合作共利的快乐。
产线5s让我深刻认识到良好整洁的工作环境是工作效率和品质保证。
产线纪律是我标准和端正自己的工作态度,保证每一颗电路的品质。
在这样的环境下,在这样的气氛中,我也渐渐养成了良好的工作习惯和责任意识,努力将这份工作做到更好。
从华润到社会大家庭,从一颗细小的电路到做人做事,不容置疑每一步都至关重要。
“千里之行,始于足下”,我想,一切都从身边做起,从细节做起,从小事做起,从当下这份工作做起。
播种行为,收获习惯;播种习惯,收获性格;播种性格,收获命运。
一点一滴的积累,一点一滴的进步都将决定和影响着我的将来!
首先,我们学习通用编程:
任何类类型的所有值都可以同object类型的变量来代替。
封装:
就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instancefield)。
重载:
当多个方法具有相同的名字而含有不同的参数时,便发生重载。
编译器必须挑选出调用哪个方法。
数组列表:
ArrayList动态数组列表,是一个类库,定义在java.util包中,可自动调节数组的大小。
class类object类中的getclass方法返回class类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。
Java中对内存的分配是动态的,它采用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变。
程序运行中Java系统自动对内存进行扫描,对长期不用的空间作为”垃圾”进行收集,使得系统资源得到更充分地利用.按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且防止了了由于内存管理方面的过失而导致系统出问题。
而C语言通过malloc()和free()这两个库函数来分别实现分配内存和释放内存空间的,C++语言中那么通过运算符new和来分配和释放内存,总之,Java语言是一个纯的面向对象程序设计语言。
Java语言是分布式的。
Java语言支持Inter应用的开发,在根本的Java应用编程接口中有一个网络应用编程接口(java),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java语言是健壮的。
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的平安检查机制使得Java更具健壮性。
Java语言是平安的。
Java通常被用在网络环境中,为此,Java提供了一个平安机制以防恶意代码的攻击。
除了Java语言具有的许多平安特性以外,Java对通过网络下载的类具有一个平安防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供平安管理机制(类SecurityManager)让Java应用设置平安哨兵。
Java语言是体系结构中立的。
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
Java语言是可移植的。
这种可移植性体系结构中立性,另外,Java还严格规定了各个根本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
Java是高性能的。
与那些解释型的高级脚本语言相比,Java确实是高性能的。
事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的开展越来越接近于C++。
Java语言是多线程的。
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创立。
通常有两种方法来创立线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创立的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
刚开始时张宇老师先教我们配置JAVA的'编程工具和运行环境,然后教我们学JSP,在此期间,我们自学了JAVA,又学了Tomcat的使用及MySql和HTML语言,当我们JSP入门后,陈老师开始教我们学习JSF框架,但由于学校的安排,刚开始学,陈老师便去了苏州,由在苏州带队的孔祥盛老师回来教我们,在孔老师的安排下,我们又学习了SQLServer20xx和Struts框架,教我们学会了Javawebstudio的使用。
总之,
在两位老师的细心辅导下,我们有了很大的进步,知识得到了扩充,认识得到了加深,也使得我们的自学能力得到了很大的提高,在此,我向两位老师表示由衷地感谢。
这次实训是三年中所学知识的一次汇总,是三年来学习能力的一次集中表达,有的知识在这次实训中用不到,但以后会用到,我敢说肯定会用到。
因为好多东西都是厚积而薄发,所学的知识在关键的时刻也许只有一种用得上,但这一种也许足以成就我们的人生,到那时我们才能真正体会到知识的伟大,才能真正了解老师的重要性。
我觉得要成为一个合格的程序员,首先要具备的是一种自学能力,遇到了问题自己要有能力去解决,当你尝试了各种方法,实在无能为力时再去请教别人,这时你所学的知识你一生都不会忘记,它将成为你一生的财富。
有句话说得好:
进攻是最好的防守!
当你遇到了问题,你要试着去解决,编程嘛,想到了就要去试,你的面前就一台电脑而已,它又不会爆炸,你怕什么呢?
我不敢说我的观点一定正确,每个人有每个人的想法,也正是因为大家的观点各不相同,才使得IT业这个新兴的产业在短短的几十年中得到了长足的开展,给人类社会创造了超过以往人类社会所创造的价值的总和,这不能不令人惊叹,也正是因为如此,它才使得我对它产生了强烈地好奇心和探索欲。
未来的社会是信息的社会,信息业所创造的财富在人类社会中占据首位,经济、军事、教育、医学、农业等领域无一不用到信息业所产生的科技成果。
我能感受到它所创造的经济效益会有多大,所以,我要说:
我爱编程,海枯石烂,矢志不渝!
我是一个新技术的狂热追随者,每次上网时总要到MLDN上逛一下,当看到短短的几行代码却能产生令人惊叹的功能时,我就被编程者的那种魅力所折服,我想成为其中的一员,我为自己现在所学习的专业感到自豪。
在我学习的过程中我也遇到了很多的问题,可是我却发现我遇到的好多问题在网上总能找到答案,我才明白我遇到的问题很多人都遇到过,并且他们也把解决的方法到了网上,以使我们这些初学者少走些弯路,我觉得他们太善良了,同时我也明白了自己是多么的渺小,我正在走前人走过的路,到底前面的路有多长多远,我不知。
他们是开路先锋,他们为我们学习新技术新知识铺平了道路,我们所要做的就是把他们所创造和创造的东西掌握使用而已,并且知识量又很大,当我看到有无穷无尽地学习资源供我享用时,我只能说,他们像太阳一样照耀着我成长,他们太好了。
当我看到程序代码,我就有一种特别的感觉,让我不断想成为一名编程高手,如果真的有一天,我的理想会实现,我会加倍努力好好学编程,永远不改变!
通过三个月的实训,我感到自己学到了很多东西,虽说不精,但已经入门,于世间万物之中,遇见我所遇见的事物;于千万年之中,时间的无涯荒野里,没有早一步,也没有晚一步,刚巧赶上了,上苍让我有时机接触编程,给了我一条路。
我很清楚以后的路还很长,再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
任何业绩的质变都于量变的积累,成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成,让我们将事前的忧虑,换为事前的思考和方案吧!
在实训的过程中,我深深感觉到自身所学知识的有限,有些知识点以前没有学过,但我也没有去研究,实训时突然间觉得自己真的有点无知,虽然现在去看依然可以解决问题,但要浪费许多时间,这一点是我必须在以后的学习中加以改良的地方,同时也要催促自己在学习的过程中不断的完善自我。
另外一点,也是在实训中必不可少的局部,就是同学之间的互相帮助。
所谓”当局者迷,旁观者清”,有些东西感觉自己做的是时候明明没什么错误,偏偏程序运行时就是有错误,让其他同学帮助看了一下,发现其实是个很小的错误。
所以说,相互帮助是很重要的一点,这在以后的工作或生活中也是很关键的。
俗话说:
“要想为事业多添一把火,自己就得多添一捆材”。
此次实训,我深深体会到了积累知识的重要性。
在实训当中我们遇到了不少难题,但是经过我们大家的讨论和老师细心的一一指导,问题得到了解决。
两个月的实训结束了,收获颇丰,同时也更深刻的认识到要做一个合格的程序员并非我以前想像的那么容易,最重要的还是细致严谨。
社会是不会要一个一无是处的人的,所以我们要更多更快地从一个学生向工作者转变,总的来说我对这次实习还是比拟满意的,它使我学到了很多东西,为我以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空。
这次软件工程实训是从20xx。
12。
26号开始的,截至20xx12。
31号。
实训内容是用java相关知识(主要是jsp)做一个物流配送系统。
下面谈谈对这次实训的看法。
因为自己平时对java知识储藏缺乏,特别是jsp这一块根本不了解怎么回事,所以一拿到这个工程,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了。
呵呵,26号,实训开始了,我们的老师是中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。
老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就懊悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的时机啊。
懊悔也没用啊,开始还勉强能理解一点,后来就直接晕了。
然后再给大家介绍了一些即将用到的工具,比方rationalRose,SVN,MyEclipse等等。
接下来的几天就不再细讲了。
下面谈谈通过这次实训的心得体会吧。
通过这次实训,让我了解到工程开发的过程,可行性分析——>需求分析——>概要设计——>详细设计——>代码编写——>测试——>验收。
从技术方面上,我开始jsp根底根本上就是零的,在老师和syz2(另外一个物流小组,我一个人根本上是跟她们做的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。
其实实训开始前,我还以为做个系统没什么大不了,可是当真正拿到一个工程,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。
通过这个实训,也让我了解到,团队协作是多么的重要。
一个人的精力是多么的有限。
进一步理解到,企业为什么如此重视团队协作。
同时借用老师的话就是团队协作固然重要,但是是建立在个人素质的根底上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多奉献了。
**老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导。
还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个问题吧。
然后他说出来,我也觉得这个问题确实其实是个大的问题。
就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了。
小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各种问题,老师也会尽力为你答复。
将来出身社会就不一样了。
虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。
不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自己的一个肯定。
这次实训的心得根本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储藏不够,我想应该是这个问题的突发吧,一时没想到怎么处理。
相反让我感觉更多的就是老师很认真,很负责。
还要感谢就是syz2小组的倾力支持,辅导。
在大学里的最后一个冬天,我完成了3个月的实习,实习对我而言是一个难忘的体验,让我不管做人还是做事都改变了很多。
总的来说,虽然说不上乐在其中,但实习确实是一段充实而有意义的事。
实习期间积蓄了太多太多的感悟。
借此时机跟大家分享一二。
感悟一:
当我们进入社会工作,就先要进入各种标准中去。
作为一个软件开发人员,记得在我第一天进入公司实习的时候,首先要学习的就是编程标准。
相信每个搞开发的同学都跟我一样吧。
编程标准在学校里是十分不重视的。
老师也不会硬性地要求学生要遵照怎样的标准去编写代码,实验或者作业什么的,只要能实现功能就ok了。
但是公司却不一样,公司的代码并不是一个人编写,别人很可能需要阅读甚至修改你的代码,阅读一个不符合标准的代码,所需要的时间可能比重新开发还要漫长。
代码标准的重要性是不言而喻的。
当然,作为一个开发人员的前提,我还是公司里的一个员工(虽然不是正式的。
。
。
)。
我还必须遵守员工的标准。
其实员工标准也没有什么特别多的要求,个人认为就跟上学差不多,虽然标准是差不多,心态上却有着很大的差异。
原因无他,你到学校是自己交钱上学,上班却是别人发工资给你。
拿了人家钱,还要扰乱人家的标准,这种事我还真干不出来。
看来钱不管到哪里都是一个问题,呵呵
感悟二:
我其实是一种很唯心的动物
其实本来,我是写"人其实是一种很唯心的动物",但不知道别人是不是也这样,虽然我觉得是,却无从考究,还是严谨点。
为什么说我唯心呢?
当我心里把自己当作一个学生,跟把自己当作一个上班族时,在各种细节上都会不一样,例如那有点虚无缥缈的"气质",或者是说话的语气。
这个大概是"站在不同的高度,看到不同的风景"吧。
正如老总看的是公司开展方向,主管却在看业绩,经理在看工程,小弟们在看代码。
。
。
感悟三:
设计模式很重要
设计模式是我到公司才接触的事物,主要是讲述一种面向接口的编程思维,按照设计模式所编写的代码,会比学校那种直接实现功能的代码繁琐一点,增加很多看似多余的虚类或者接口。
但是这种代码更加具有拓展性,更好地把数据封装起来。
在增加状态,增加类的时候,并不需要修改正多代码,这种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 心得体会