软件开发学习心得

上传人:weil****i173 文档编号:193781938 上传时间:2021-08-23 格式:DOCX 页数:9 大小:22.84KB
返回 下载 相关 举报
软件开发学习心得_第1页
第1页 / 共9页
软件开发学习心得_第2页
第2页 / 共9页
软件开发学习心得_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件开发学习心得》由会员分享,可在线阅读,更多相关《软件开发学习心得(9页珍藏版)》请在金锄头文库上搜索。

1、资料来源:来自本人网络整理!祝您工作顺利!软件开发学习心得 学习软件并非易事,这其中的碰到的困难也有许多。你知道软件开发学习心得是怎样的吗?今日我为大家整理了关于软件开发学习心得,欢送大家阅读! 软件开发学习心得篇一 受某文化公司托付,开发一款用于视频和图像处理的软件,开发难度高,高到从未搞过,开发周期长,长到是我以前工程监控最长开发周期的两倍,开发本钱之底,让我觉得程序员成了高级打字员。首先是需求分析书、产品规格说明书、设计说明书、代码标准说明书、测试方案,光文稿就不知道熬了多久才做完。 紧接着,遇到一系列问题,首先是语言选择,vc+和c#都是可以保证开发完成的选择,但是vc+内存简单报错,

2、界面很难修改,而客户要求的界面质量甚至比程序的功能更严格,没方法,客户就是上帝,上帝做事肯定有他的道理。c#语言易于开发,而且图形界面绘制也易于修改,可以做出客户体验很好的界面,但是在资源的消耗上,让我很惊讶。做到其次个月,也许的界面已经完成时,出现界面刷新的问题,刷新时开头卡,界面不流畅。没方法,改。 开会,总结,技术骨干找问题,拿出解决方案,力争第一次做软件把它做好: 重新做软件开发进度方案和软件测试方案,并且让独立功能demo制作和测试先行; 用direct draw、direct 3d或者opengl中的一个替代c#本身的gdi绘图,将在接下来的开发任务中参加进去。 事无巨细,当我满足

3、的看着界面流畅,功能也已实现时,发觉软件在低辨别率或者小本上根本乱到没法看,甚至是界面功能按钮错位,重叠等等。没方法,改。到底软件的多辨别率兼容和操作系统兼容是必需要做的。 接下来一大堆的费事找了上来,软件出现各种各样想都想不到的问题,终于是按时将第一个版本发布出去,并且开头接下来的晋级开发任务。 最终,给刚刚接手软件开发工程的伴侣一些忠告: 一、相关的文档不是给别人看的,而是给自己看的,相关文档肯定要齐备,而且让全部涉及开发的人员都清晰的知道你文档里所要表达的意思; 二、肯定要留意多做demo,多做试验,一个demo程序员几个钟头就可以完成,甚至更少,但是不做demo,核心程序没有做试验,其

4、他的东西都围绕核心程序做了上去,到时候耽搁的可不是几个钟头 三、程序设计要注重用户体验,当时客户对我要开发软件提出近乎苛刻的要求时我不在意,但是当我自己反复用法软件时有了许多体会,流畅美观的界面带给人心理的快感确实能替代一些尚未开发完好的功能带给用户的遗憾。 四、测试方案屡次进展,分批进展,不要全部开发完成再对软件做测试。 还要坚持三个月,软件马上发布,盼望大家的支持,感谢! 软件开发学习心得篇二 软件开发过程中的任何一个活动都是为了可以产出优秀的代码。所以,代码才是核心。 1. 代码是软件开发的根底 编码是软件开发过程中最根本、最底层的技艺,然而也是最重要的技艺。任何一个领域的专家都需要花费

5、大量的时间来进展根本技艺的熬炼,木匠需要花费大量的时间来熬炼他们对各种工具的把握,厨师那么需要练习刀工和火候。程序员也是一样的,对我们来说,语言的各种特性必需要了然于胸。而对软件的管理也需要从代码做起。 从2000年到如今,国内兴起了一股软件工程热,需求管理、配置管理、甚至CMM。面对纷至沓来的各种方法学、UML、OOA,大家好像已经热衷于这些概念本身了,却往往忽视了软件开发中最根本的元素:代码。在和许多软件组织的接触过程中,我们认为大多数组织急迫需要的并不是这些工程理论,不是说这些理论不重要,而是这些组织的症结不在于此。许多的组织连代码的质量都管理不好,又何谈其它呢?代码管理是根底的根底,从

6、管理的角度上来看,任何一个组织的管理都需要一个从上至下的管理过程,有基层的管理人员,也有高层的管理人员。对代码的管理就是软件开发中的基层管理,它起到的作用就是可以把需求、设计的思路贯彻到最终的代码中。 管理无大事。对软件的管理也是一样,大局部的问题都是由于很小的缘由引起的。例如,一个产品假如后期在debug上花费了大量的时间,那么,这种现象是由于什么缘由引起的?一种可能的缘由是前期的代码设计中对代码质量的把握不严。每一次代码功能的演化并不会产生太多的问题,但是当代码累积越来越多的时候,问题也就渐渐出现了。那么如何解决呢?可以加强QA的力气,也可以引入复审,还可以引入单元测试。总之,要有一种方法

7、对代码进展掌握。 软件的开发过程就象是一部精细的机器,任何一个环节的改变,都会对其它的环节产生影响。把软件过程根据瀑布的形式进展划分是一种分解的处理思路,但同时我们还应当看到不同活动之间的互相影响。软件开发中的生命周期模型也是一个层次模型,从业务建模始终到软件实现,需要跨越数个层次,同样会出现执行不力的状况,例如,代码设计偏离需求、偏离设计的状况比比皆是。 如何避开这种状况呢?这就需要我们从源代码的角度,反思其上游的理论活动,是否足以约束代码设计?就拿XP来说,他解决这个问题的方式是尽快的进入代码开发阶段,从代码开发中发觉问题,并在下一轮的开发中解决。这种思路是正确的,但XP到底是方法论,他不

8、会告知你过于详情的东西,尽管XP已经供应了大量面对代码的理论。因为方法论的抽象级别比拟高,使得他必需舍弃局部的详情。而这篇文章告知你的,就是这些详情。就像我们在下一节中争论的例子,需要在代码中参加对异样的处理,那么,异样的源头在哪里呢?是需求,在需求中,我们发觉了一些业务的非正常的处理序列,发觉了一些业务实体的限制性的要求,所以在代码实现中,就需要有相应的异样处理。在例如,一个优秀的异样处理,还需要让客户端程序员理解可能发生的异样,以保证不同代码间正确的集成。 2. 面对对象的代码 面对对象的代码已经在如今的软件开发中占据了主流的位置,面对对象的思路也有其优势所在,就像后文所争论的,面对对象代

9、码有着非面对对象代码的许多优势,而软件业中许多新的思潮的产生,也都是基于面对对象语言的,所以我们关注的代码将是面对对象代码。 面对对象的思想来自于抽象数据类型。对于面对对象来说,它最重要的改良就是把世间万物都描绘为对象,而类那么描绘了同一种对象的特征,而不是像传统的开发方法那样,根据机器指令的执行挨次来进展设计。当然,面对对象代码最终仍旧是要根据时序来执行的,但是从程序员的角度看来,面对对象代码更侧重于对象之间的交互,多个对象各司其职,互相协作以完成目的。而面对对象技术的进展,也是朝着更加贴近我们世界观的方向进展。从这点来看,有人说完全没有程序设计阅历的人学习面对对象可能会更加的简单,因为他不

10、需要从原先的时序程序的桎梏中摆脱出来,但这未必是事实。面对对象决不是一种简洁的程序设计思路。这是我们的观点,也会在下文中反复的论证。 和全部的职业一样,程序员,或者是面对对象程序员,始终坚持的一点就是严谨。你会看到各种各样优秀的代码,但那决不是一次可以写成的,要不断的尝试,不断的改良。为什么重构和测试优先是灵敏方法中很重要的一项理论?因为程序员不是神,他们需要渐渐改良他们的代码。虽然罗马不是一天可以建成的,但是在编写面对对象代码的过程中,有一些理论是需要坚持的,它表达了我们所说的严谨。 3. 编写并管理面对对象的代码 编写优秀的面对对象代码并不是一件简单的事情,优秀的OO代码如行云流水,糟糕的

11、OO代码让人觉得浑身起鸡皮疙瘩。编写优秀的OO代码要求程序员有肯定的自我修养,可以以抽象的思路对待问题,找到问题的核心并对问题域进展分解。它强调的是一种解题的思路,但这个解不是唯一的。 典型的例子是设计形式,设计形式的确给了我们以很大的启发,通过它,我们可以理解到优秀的代码是如何用于解决实际问题的。但是是不是你必需在软件中照搬设计形式呢?假如你这么做,那么你对设计形式的理解仍旧不够。我曾和在建筑行业的伴侣聊起Christopher Alexander的建筑的永久之道。他很兴奋的告知我,那的确是一本很好的书,可以引发人很深的思索,但是如今也有另外的一种观点,认为美仍旧是无形的,应当发自建筑师的内

12、心。对这句话我思索了很久,其实建筑是给人用法的,因此最重要的是它能都给人带来的价值,隐含在其中的那种活生生的气质,这是建筑师文化底蕴的外在表露。所以,Christopher Alexander在那本书中的目的,也是为了找到一种总结自己观点的方法,来总结自己对人文的认识。至于如今大家对他的思路提出了质疑,那也是一件好事,这说明大家对建筑之道的认识到了新的高度。建筑是这样,软件中的形式也是一样的,我也曾热衷于讨论形式的用法,直到某一天我猛然惊醒,与其沉迷于形式的外表形式,为什么不去讨论隐藏在它背后的文化底蕴呢?武侠小说中常说无招胜有招,形式的应用也应当到达这个境界,你假如可以在不经意间应用形式的思

13、想,那又何必拘泥于形式的形式呢? 编写优秀OO代码虽难,但还有更难的事情,就是让整个开发团队都产出优秀的OO代码。我们刚刚说了,OO对问题的解不是唯一的,但各个不同的优秀解汇合到一起,可能就是一个糟糕的解,这是风格和架构的问题。你如何在团队中制定制度,营造气氛,让优秀OO代码成为团队最终的成果?这些问题,在我看来,要比CMM难得多,这个问题并不是靠花钱就可以解决的。假如可以解决这个问题,这个团队的制造力肯定是惊人的。 4. 面对对象软件开发过程 一般的软件开发过程和面对对象开发过程有着很大的不同。回想我们在非面对对象中开发过程中,最常常采纳的任务安排方法就是以软件模块为单位,这样的好处是安排简

14、洁,不同任务之间耦合程度低,简单操作。害处是几乎无法做到重用,也缺乏整体性的设计。而面对对象软件开发那么不同,它是以类、类集合作为根本单位的。类之间关系错综冗杂(虽然我们提倡低耦合的设计,但类之间的关系仍旧是相对冗杂的)。这种状况下程序员之间互相协作的要求就特别之高,这种关系假如处理恰当,那么可以完全表达出面对对象的威力,否那么,那将会是一场大灾难,面对对象的软件开发过程要养成一些好的习惯: 4. 1 尽量简化和稳定客户端。 个人编程可以是一种享受,但团队开发始终是一项严谨的职业活动,因此多考虑别人,不要设计冗杂的接口,虽然你省事了,但这会给理解和用法你的接口和人造成障碍。 4.2 预备一份简

15、洁的文档,并保持更新。 任凭一种形式的稳定,可以是代码,可以是UML图,也可以是纯粹的文字(估量没几个程序员喜爱这种形式)。只要它可以传达你的代码的目的,那就足够。记住,更新代码后,同时更新你的文档。过期的文档不仅是废纸这么简洁,它会给其它人造成费事。切记! 4. 3 尽可能多的考虑异样和错误的状况。 软件开发学习心得篇三 来到北大青鸟通州校区学习已经快一年了,虽然时间不算太长,但对于我而言,在北大青鸟,我的收获是无法用时间长短来衡量的! 因为在来北大青鸟之前,我从没接触过软件方面的学问,所以刚开头很担忧自己学不了,自卑的心情很严峻。但是细心的班主任发觉了我的问题,总是很耐烦的找我谈心,开导我!渐渐的,我想明白了,不要盲目的和其他同学作比拟,今日的我只需要比昨天的我有进步,我的目的就到达了! 想通了以后,我自己也越来越自信了。就像一只从起跑线上开头爬行的蜗牛,虽然很慢,但是我目的很明确,很坚决!或许许多人会认为学习软件是一门很枯燥的课程,但是我觉得这乏味中也有不少乐趣。例如学习.NET和C#时,我们小组就自己制作了一款小嬉戏,虽然是一款很简洁的小嬉戏,只能有一些一般的攻击动作,但是它

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号