软件开发知识储备(软件开发知识储备方案)
今天给各位分享软件开发知识储备的知识,其中也会对软件开发知识储备方案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、软件开发的基础知识
- 2、学软件开发需要有什么基础?
- 3、软件开发需要学什么?
软件开发的基础知识
软件因计算机而存在,而计算机的实质是数学,所以计算机的知识本质上就是数学知识,
也可以这么说数学知识也是计算机的基础知识,计算机的基础知识也是软件的基础知识。在。软件发展的过程中,软件的知识也在慢慢地积累,很多软件知识与数学并无直接的联系,而。在这里我们所要说的就是纯软件的基础知识。
我们可以把软件的知识分为两个部分,专业技能知识和领域知识或说行业知识。
1,专业技能知识
一门编程语言及库
你可以在书店里找到各色各样的关于编程方面的书籍,但是我建议你只需要深入地掌握
一门便可,而且任何程序员都需要熟悉C语言。你所深入掌握的语言可有多种选择。如果你从事的是驱动程序开发,我想必须要掌握汇编语言,C语言也是个不错的选择,而如果是做UI的话C++也许更好,Java语言比较适合网络程序的开发,当然JavaScript在google肯定很受推崇。
对于程序员来说,编程语言就相当于游侠手中的武器,可以是长剑,也可是以是短剑,可以是大刀,也可以是匕首。这些武器各有所长,而要发挥这些武器的长处必须基于一套路数上,那么对于程序员来说就是基于某一种编程语言的代码库。如GNUC的库就是libc或ulibc。如果你是用C语言,而且你是在类UNIX平台下开发,那么你就必须正确理解libc的工作原理,你代码里所调用的每一个函数的输入与输出,可能的错误,可能的歧义,对系统可能产生的影响。比如某一个函数是否是可再入的,还是不可再入的,如果出现了多线程同时调用的情况会发生什么错误等等细节上的问题。
一种编程思想
全世界都惊叹于毛泽东的领导和军事才能,而在他的才能表象之后是什么,是他的革命
精神,是他的睿智的思想。编程也一样,如果没有了编程思想就没有了指导前进的动力,就没有了创造的灵感的土壤。软件知识发展到现在比较常用的编程思想就是结构化(模块化)和面向对象化(设计模式)。
有些语言是在模块化大行其道的历史背景下被发明出来的,如C语言,而有些语言则是为了满足面向对象的编程思想而构造出来的,如C++。有一部分程序员会认为C语言是结构化的编程语言无法实现面向对象的编程思想。其实不然,C语言同样可以很好地实现面向对象的编程思想,只不过有些面向对象的工作由程序员来做而已。同样,面向对象的编程语言也可以用于写模块化的程序。
一种信仰
就我所接触过的系统里,Windows我只会安装,使用,VC/VB也只能做一些简单的开发,而MACOS体验过一次安装,不过最终还是失败了,iPhone的系统还没有机会体验过。曾经在AIX下做过开发,目前正在Fedora9下做开发,目标板的CPU是SH4,将来也可能是MIPS。
不管是MACOS,Windows,UNIX,Linux等都有各自的追随着,我把这种现像称为信仰。就拿我自己来说,我信仰Linux,Linux内核的源代码对于我来说就是神话。
我觉得在Linux下工作是一件很娱悦的事情。如果你每每解决一些比较棘手的问题,都会
有一种成就感,这是在Windows平台下感受不到的。所以对于这一信仰,我觉得至少需要知道它的安装,启动,配置,安全,如引导程序GRUB,ftp,telnet,sshd,smbd,named等等服务器的配置,网络安全的配置等等。
如果你要在Linux下进行开发,你必须了解Linux的API,标准库,也就是libc。如果你
的程序是多线程的,你还得掌握libpthread.so里的函数使用方法。GCC,GDB,LD,AS,AR,以
及Makefile和make等等工具的使用。如果你能掌握find,awk,sed,grep,od,nm,objdump
等实用工具的话,将会大大提高你的工作效率。
这,就是我的信仰。
总之一句话,一种编程语言及库,一种编程思想和一种信仰。一切OK!
2,领域知识/行业知识
我记得我的第一份工作是银行的交易开发程序员,当时是一家外包公司把我外派到工商
银行,我对工商银行的业务一无所知。不过初出茅庐不怕虎,硬是一个人完成了一个我一无所知的项目,而仅凭我对自己技术实力的自信。
但事后我却有些后怕,因为我并不明白,为什么那个整数要乘以个0.456存入到数据库,
也不知道银行对数据的精确度是多大,等等细节上的问题我一无所知。那我只能求上天保佑,哪天不要多扣了人家的钱,天啊,这事我也做了?!当然不至于那么严重:)
后来我确实发现自己对于银行这套业务系统了解起来比较吃力,我宁愿花点时间写些小
的C程序也不愿花时间去肯那些苦涩的业务流程文档。所以在那家公司呆満一年后我辞职了。
我想,大部分程序员都想做一些相对技术含量高的开发工作,像那种整天与数据和数据
库打交道的开发工作,随便有点志向的程序员也不愿意去做,当然如果钱足够多的话我还是愿意的:)
但现在我发现我错了。因为这部分也是软件知识的一部分。就拿我目前的工作来说,技术上不会有太大的困难,但是蓝光规格以及其涉及到的规格相当的多,恐怕没有十年时间无法做到精通。这就是领域知识或说是行业知识。有些人一生只做一件事,还不一定能做好,而我现在只做了不到两年,虽觉时间不长但也不短,纵是一无所获。
所以,我觉得自己仍不是一名合格的开发者。软件开发的基础知识包括专业知识和行业
知识,如果基础知识不完整,那么这个程序员不会是一个合格且高效的程序员。
学软件开发需要有什么基础?
初级软件开发一般有两个方向,一个是java体系,需要学习的内容有:java、j2EE、ORACLE\DB2\MYSQL(包括JAVA的延伸技术 JS、 JSP、 AJAX等)。另一个方向就是.NET体系,需要掌握的是:ASP.NET、 C#、MFC+SQLSERVER 等技术,计算机软件的基础是数据结构、算法设计、数据库和编译原理。
企业里主要区分前端技术和后台技术。前端技术除了asp,jsp以外,还有adobe公司的设计工具,以及javascript,action script,flex,flash和现在最流行的html5技术,后台的除了java,.net,c#,还有php, c++,ColdFusion,objective-c 等。
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
软件开发需要学什么?
一、重视基础课的学习 计算机科学虽然是高科技的象征,但又受到其它专业发展的制约。计算机专业知识的学习同样要加强一些相关知识的学习。 计算机软件开发往往会涉及到算法,而且在语言结构上会用到数学知识,因此高等数学、离散数学、线性代数等数学知识的学习也有一定需求。尤其是软件开发高手,开发过程会涉及数学方面往往会更多一些。 有些专家曾表示,计算机学习过程往往是由硬件开始,走向软件,但最终又会走向硬件。刚开始学习硬件便于我们了解计算机,学习软件便于我们应用计算机再深一步学习硬件,便于我们去创新地提高计算机办事效率、开发计算机。一个软件开发高手非常注重程序效率,而效率却往往与计算机硬件知识是紧密相关。 要自始自终地加强英语的学习。因为目前的计算机程序设计语言主要是外国开发的,编代码的主要语句往往是英文,中文通常是做解释和说明用。一些教材书籍翻译得不太准确,不如直接看HLP来得快。而且在高级语言中很多的语句、表达式就是用英文句子,如SQL中的许多语句。有一定的英文基础,在计算机学习上可以事半功倍。 二、重视编程基本功的学习 学习软件需要什么?不要急首先当我们走进书店时,计算机软件开发的书籍名目繁多,让人眼花缭乱。从何处着手学习、用哪种软件呢?也有很多计算机软件开发速成书,如《24小时学会JAVA》等,从书名看很能吸引人。但从实际效果来看,没有雄厚的编程基础很难学精这些快速入门书籍。一个优秀的程序员也不是十天半个月就能够造就出来的,必须要扎扎实实学好编程基础知识,要经历一个漫长且辛苦的学习和程序开发过程。因此计算机专业学生,首先要做好吃苦的准备。 当我们在学习一些基础课如java,C语言等,我们会感觉到似乎这些没什么大作用,这些近似于低级语言的东西好像再努力也难成大器呀!的确,一些代码编程的学习要远比窗体开发难得多,所有的语句都得通过每个表达式来输入,鼠标点击几下的开发方式当然比键盘输入代码开发容易得多,仅学习窗体开发系统可以使人在短期内开发一些功能简单的系统,但很难成大器。人们大多数喜欢窗体软件开发。 这也是中国软件业发展多年还未能走向软件强国的一个原因之一,计算机教育应该重视代码编程的教育, 专业学生也不能忽视代码开发的学习。 如果你要问C语言这种代码开发功能具有多大的用处,大名鼎鼎的UNIX操作系统就是使用C语言书写的。 而且我们玩的所有游戏几乎也是使用C语言编写的。 学习C语言的难度比学习汇编语言的难度小多了,而且C语言是一门“必修课”所以每一位立志成为电脑编程者的用户都必须征服C语言这座山峰。 三、 理论联系实践 学习编写程序,不仅要领悟教师的各种知识点,多看教材,还要结合课程重视上机的练习。很多学生在理解教师知识点和看教材上花了很多时间,却不重视上机的练习,最终会走向“书呆子”类,很难在软件开发中占有一席之地。在看教材、听课的同时,要将知识点在上机过程中做第二消化,这样便比光消化课本会强得多。当然每次上机应该做好准备,很多学生是无目标的上机,其学习效率当然会很低。上机前要计划一下上机做些什么,要有一些新思路来设计和调试程序。只有在上机过程中不断发现问题,解决问题,才能逐步迈向程序员之路。又一些同学光重视上机, 忽视理论的学习,这些同学刚开始好像进步快,但到了一定的层次,就会停滞不前了。因此,实操要与理论同步,紧密结合,方可为编程打下扎实的基础。 总结学习软件需要什么?软件编程需要实践。 四、 深入学习,练就高手 经过一定时间的学习、实践,你已经具备了较扎实的计算机编程方法和技巧。但你学习的还只是一些DOS下的、功能相对简单的语言,比如在10年前,Windows 98已经占据了计算机操作系统的主导地位,要想练成高手,不学习Windows 98下的编程是不行的。正因为你有了上面的基础,学习起新的语言来更是轻车熟路。那么对于比较有一定水平的人来说在来研究学习软件需要什么?的话那就应该看看现在现在最流行的语言:Visual C++、Microsoft Access、Visual FoxPro 、Powersoft PowerBuilder、 Visual Basic, Visual J++和Visual InterDev,Borland Delphi、Java。软件编程需要深入。 总之,学习软件需要什么?实际和其他的一些技术错不多,只要你肯吃苦,没什么学不成的,所以只有想不到没有做不到,告诫软件爱好着要想掌握它,就要实践、实践、再实践。当学到了一种新的技术或知识时,多实践是巩固学习的一种最好最有效的方法。
软件开发知识储备的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件开发知识储备方案、软件开发知识储备的信息别忘了在本站进行查找喔。