为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

软件学习方法

2017-09-19 10页 doc 249KB 10阅读

用户头像

is_751406

暂无简介

举报
软件学习方法 软件工程师学习程序方法-----破坏源程序 当你看到这个标题的时候肯定回以为是不是作者写错了标题,告诉你没有,学习java语言就是要有创新精神,你只有不断突破前人的你才会有进步。下面我把这一剂良药送给你。     Java 作为一门编程语言,最好的学习方法就是写代码。当你学习一个类以后,你就可以自己写个简单的例子程序来运行一下,看看有什么结果,然后再多调用几个类的方 法,看看运行结果,这样非常直观的把类给学会了,而且记忆非常深刻。然后不应该满足把代码调通,你应该想想看如果我不这样写,换个方式,再试试行不行。记得哪个高人说...
软件学习方法
软件工程师学习程序-----破坏源程序 当你看到这个标题的时候肯定回以为是不是作者写错了标题,告诉你没有,学习java语言就是要有创新精神,你只有不断突破前人的你才会有进步。下面我把这一剂良药送给你。     Java 作为一门编程语言,最好的学习方法就是写代码。当你学习一个类以后,你就可以自己写个简单的例子程序来运行一下,看看有什么结果,然后再多调用几个类的方 法,看看运行结果,这样非常直观的把类给学会了,而且记忆非常深刻。然后不应该满足把代码调通,你应该想想看如果我不这样写,换个方式,再试试行不行。记得哪个高人说过学习编程就是个破坏的过程,把书上的例子,自己学习Documentation编写的例子在运行通过以后,不断的尝试着用不同的方法实现, 不断的尝试破坏代码的结构,看看它会有什么结果。通过这样的方式,你会很彻底的很精通的掌握Java。举个例子,我们都编过Hello World这个程序。 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }     很多初学者不是很理解为什么main方法一定要这样来定义public static void main(String[] args),能不能不这样写?包括我刚学习Java的时候也有这样的疑问。想知道答案吗?很简单,你把main改个名字运行一下,看看报什么错误,然后根 据出错信息进行分析;把main的public取掉,在试试看,报什么错误;static去掉还能不能运行;不知道main方法是否一定要传一个 String[]数组的,把String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成 别的名字,看看运行结果如何。我当初学习Java的时候就是这样做的,把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么main方法是这样定义的了。     此外,我对于static,public,private,Exception,try{ }catch {}finally{}等等一开始都不是很懂,都是把参考书上面的例子运行成功,然后就开始破坏它,不断的根据自己心里面的疑问来重新改写程序,看看能不 能运行,运行出来是个什么样子,是否可以得到预期的结果。这样虽然比较费时间,不过一个例子程序这样反复破坏几次之后。我就对这个相关的知识彻底学通了。 有时候甚至故意写一些错误的代码来运行,看看能否得到预期的运行错误。这样对于编程的掌握是及其深刻的。其中特别值得一提的是JDK有一个非常棒的调试功 能-verbose。     javac –verbose 以及其它很多JDK工具都有这个选项 -verbose 可以显 示在命令执行的过程中,JVM都依次加载哪里Class,通过这些宝贵的调试信息,可以帮助我们分析出JVM在执行的过程中都干了些什么。另外,自 己在学习过程中,写的很多的这种破坏例程,应该有意识的分门别类的保存下来,在工作中积累的典型例程也应该定期整理,日积月累,自己就有了一个代码库了。遇到类似的问题,到代码库里面 Copy & Paste ,Search & Replace,就好了,极大提高了开发速度。最理想的情况是把一些通用的例程自己再抽象一层,形成一个通用的类库,封装好。那么可复用性就更强了。所以 我觉得其实不是特别需要例程的,自己写的破坏例程就是最好的例子,如果你实在对自己写的代码不放心的话,我强烈推荐你看看JDK基础类库的Java源代 码。在JDK安装目录下面会有一个src.zip,解开来就可以完整的看到整个JDK基础类库,也就是rt.jar的Java源代码,你可以参考一下Sun是怎么写Java程序的,规范是什么样子的。我自己在学习Java的类库的时候,当有些地方理解的不是很清楚的时候,或者想更加清晰的理解运作的细节的时候,往往会打开相应的类的源代码,通过看源代码,所有的问题都会一扫而空。     以上就是我给大家介绍的java学习方法。这个方法我用了感觉十分有效,不信你就试试吧! 学习面向对象开发的方法 面向对象的分析 面向对象分析的目的是对客观世界的系统进行建模。 分析模型有三种用途:用来明确问题需求;为用户和开发人员提供明确需求;为用户和开发人员提供一个协商的基础,作为后继的和实现的框架。 (一) 面向对象的分析 系统分析的第一步是:陈述需求。分析者必须同用户一块工作来提炼需求,因为这样才表示了用户的真实意图,其中涉及对需求的分析及查找丢失的信息。 (二)建立对象模型 1.确定类 构造对象模型的第一步是标出来自问题域的相关的对象类,对象包括物理实体和概念。所有类在应用中都必须有意义,在问题陈述中,并非所有类都是明显给出的。有些是隐含在问题域或一般知识中的。 2.准备数据字典 为所有建模实体准备一个数据字典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。 3.确定关联 两个或多个类之间的相互依赖就是关联。一种依赖表示一种关联,可用各种方式来实现关联,但在分析模型中应删除实现的考虑,以便设计时更为灵活。关联常用描述性动词或动词词组来表示,其中有物理位置的表示、传导的动作、通信、所有者关系、条件的满足等。从问题陈述中抽取所有可能的关联表述,把它们记下来,但不要过早去细化这些表述。 4.确定属性 属性是个体对象的性质,属性通常用修饰性的名词词组来表示.形容词常常表示具体的可枚举的属性值,属性不可能在问题陈述中完全表述出来,必须借助于应用域的知识及对客观世界的知识才可以找到它们。只考虑与具体应用直接相关的属性,不要考虑那些超出问题范围的属性。首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。按下列删除不必要的和不正确的属性: (1) 对象:若实体的独立存在比它的值重要,那么这个实体不是属性而是对象。如在邮政目录中,"城市"是一个属性,然而在人口普查中,"城市"则被看作是对象。在具体应用中,具有自身性质的实体一定是对象。 (2) 定词:若属性值取决于某种具体上下文,则可考虑把该属性重新表述为一个限定词。 (3) 名称:名称常常作为限定词而不是对象的属性,当名称不依赖于上下文关系时,名称即为一个对象属性,尤其是它不惟一时。 (4) 标识符:在考虑对象模糊性时,引入对象标识符表示,在对象模型中不列出这些对象标识符,它是隐含在对象模型中,只列出存在于应用域的属性。 (5) 内部值:若属性描述了对外不透明的对象的内部状态,则应从对象模型中删除该属性。 (6) 细化:忽略那些不可能对大多数操作有影响的属性。 (三)建立动态模型 1.准备脚本     动态分析从寻找事件开始,然后确定各对象的可能事件顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。 2.确定事件     确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作,可以发现正常事件,但不能遗漏条件和异常事件。 3.准备事件跟踪表     把脚本表示成一个事件跟踪表,即不同对象之间的事件排序表,对象为表中的列,给每个对象分配一个独立的列。 4.构造状态图     对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。 (四)建立功能建模 功能模型用来说明值是如何计算的,表明值之间的依赖关系及相关的功能,数据流图有助于表示功能依赖关系,其中的处理应于状态图的活动和动作,其中的数据流对应于对象图中的对象或属性。 1.确定输入值、输出值     先列出输入、输出值,输入、输出值是系统与外界之间的事件的参数。 2.建立数据流图     数据流图说明输出值是怎样从输入值得来的,数据流图通常按层次组织。 学习总结 通过在北大青鸟的学习,获得了很多知识,离梦想的软件工程师又近了一步。在学习中的过程中,也遇到了很多的困难,不过通过自己的努力学习,总归是会战胜困难的,在这一过程中也有自己的一点点吧。总体来说归纳成以下几点: 一、多打代码 多打代码有以下几个好处:1、加深对学习内容的巩固。2、能够记忆课本中的英文单词和使用的关键字。3、能熟悉各种语法,比如学C++时感觉太难了,循环、函数、结构体、算法等总是让人头大了,可是如果按时完成老师布置的作业,还有课后上机练习,再加上自己多打代码感觉一下思路就通了,也不需要死记硬背要用到英文单词了。 二、多问 在我们学习过程中难免会遇到难懂和难理解的问题,如果这些问题让我们自己来解决的话,那么会花费许多时间,也伤神费力。即使自己弄懂了,明白了,可是时间不等人。假如你问一下老师或同学,可能三言两语的就能让你茅塞顿开了,这样不是更划算吗?只是让你开个口、打个电话或者发个邮件就能节约大量的时间,我认为这是个学习的好帮手。 三、利用好时间 学习中不可能只有学习臆见事情,还有许多琐事困扰着我们,如:生活上、社会上这些都要花费我们的时间去处理的,那么在学校学习的时间能有多少?能够吗?能让我们学好吗?所以我们要学习利用好时间,这样可以让我们事半功倍的。 四、要有恒心 比如我吧,开学时雄心勃勃,可是后来渐渐失去了兴趣。刚开始制定的学习都不能实现了。这就与你的性格有关了,后来觉得学习效果明显下降了,成绩越来越跟不上了,就下定决心改掉这种状态,中心制定计划并认证实施。现在在学习上感觉明显不同了。 以上的小心得是我个人的总结,我想这也适用与很多学生吧。只要认真对待每一件事情,一定就会有进步、有回报的。 学习感想 来到北大青鸟学习已经快一年了,虽然这个时间不算太长,但是于我而言,在这里我的收获是完全无法用时间的长短来衡量的!     因为在此之前从未接触过软件方面的东西,所以刚开始我很担心自己学不了这个,自卑的情绪很严重。细心的班主任发现了我的问题,总是很耐心的找我谈心,开导我!慢慢的,我想明白了,不要盲目的和其他同学作比较,今天的我只需要比昨天的我有进步,我的目的就达到了!     纠结的思想理顺了,心情就明朗了许多,人也越来越自信了。我就像一只从起跑线上开始爬行的蜗牛,虽然我很慢,但是我目标很明确,很坚定!或许很多人会认为学习软件是一门很枯燥的课程,但是我觉得这乏味中也有不少乐趣。譬如深入学习.NET和C#时我们制作出来的"魔幻战士",虽然是一款很简单的小游戏,只能有一些普通的攻击动作,但是它就是我们的学习成果呀。玩着自己编写出来的小软件,想着以后能开发出更厉害更完善的系统,岂不更有学习的动力!再比如学完JavaScript后我们作出来的小型的招聘网站,有许多在网页上飘呀飘的动态广告,还有填写注册信息是给出的各种提示等等,我们之前见过很多,但现在自己可以用编程来实现,不觉得一件很有成就感的事情吗?     学习软件并非易事,这其中的碰到拦路虎也不少。就拿我来说吧,刚开始接触三层架构的时候,我上课听得像是坐飞机哦,真的是一头雾水,也会很烦躁。可是静下来仔细想想,只有自己掌握那些别人都不会的知识,以后工作才会更得心应手啊!所以调整好心态,强迫自己反复的看书,查资料,一遍遍的练习,终于攻下了这道难题。困难有很多,但是只要肯下功夫,肯钻研,一切都可以迎刃而解!     在学习软件的过程中,我觉得很重要的一点就是不要偷懒,要反复的练习,这样你才会掌握得更扎实,基础打得好,后期的学习才会更省力,学起来才会更有动力!另外,我觉得课余的时间相对来说比较多,应该好好的利用起来,不要局限于课本,要主动的去学习更多的知识和技能,为以后的工作准备更多的必杀技!     既然选择了远方,就注定风雨无阻。这是我最喜欢一句话,而且我坚信,努力总有回报,坚持不懈,就可以成功!
/
本文档为【软件学习方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索