1.开发一个软件需要具备什么知识
需要掌握一门编程语言,以及这么编程语言所需要的开发工具.
常用的编程语言有C/C++语言,对应的开发工具一般是VC6,VS2008,VS2010,VS2012.
Basic语言,对应的开发工具有VB6,VB.net,其中VB.net包含在VS2008,2010,和2012里
C#,对应开发工具是VS2008,2010,2012
易语言,对应易语言,中文编程,入门很容易,还有强大的开发库支持.
asm,也就是汇编语言,这个一般用在嵌入式编程,或者逆向工程,能读懂即可.
Java,这个我不熟悉,对应eclipse开发工具.
如果对英文比较头疼,可以选择易语言入门.
C#也是比较容易的.
不过要真走编程,开发软件这条路,C/C++是必须掌握的.
2.做一个软件开发人员需要哪些基础
艺术主要就是做设计,由平面设计,到3D设计,适用范围有广告设计,网页设计,建筑设计,游戏场景,模拟真实世界的很多3D构造.这方面的确是需要有艺术细胞和艺术修养的,否则做出来东西不好判断. 而技术则比较简单,行就是行,不行就是不行. 程序首先是可以使用的,然后才是健壮性,好不好用问题是后话. 硬件开发需要比较深厚的功底,常用C/C++,需要有集成电子线路的基础. 网络方向以CISCO公司和华为公司为代表,需要深入的研究网络结构.现在很多公司以发展网络安全为主的业务进行拓展. 软件开发,常见的有,网站开发,属于B/S结构,另外一类为C/S结构. 网站开发已经逐步向整合办公靠近.C/S的内容就多了,QQ就是一个例子. 常见语言:C/C++,C#,VB,JAVA,ASP,PB,等,需要了解数据库知识. 初学者可以考虑从java,vb,c#任意选择一门,深入下去,很快就有收获的。
3.软件开发一般要学习什么知识
如何成为好的程序员?How To Become a good Programmer?首先问你一个问题:你们在学校都学些什么课程?问这个问题的原因是,我认为学校的计算机科学基础课很重要。
如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。
用处大得很哪。比如,操作系统课里讲到的多线程的东西在系统编程里很有用。
又比如,尽管你将来不会去涉及电脑的硬件,计算机架构里的知识对分析算法的性能(快慢等等)很有用。可以把计算机语言和开发工具比作文字,而把计算机科学的知识比做思想。
只有思想,不会行文,不行;但是,行文流畅,思想空洞,也不行。大学的阶段正是打好基础,丰富思想的年代。
成为一名好的程序员,不是简单地通过学几门课程就能做到的。我个人认为成为一名好的程序员的要素有:1。
扎实的基础知识;2。很强的解决问题的能力;3。
熟练的编程调试能力;4。创新能力;5。
团队合作能力;6。持续的自学能力;7。
好奇心 这些能力和品质(甚至可以说是习惯)都应该从大学阶段就着手培养,并且从身边的小事开始培养。比如,很多中国的大学毕业生都缺乏编程和调试经验。
学习C语言,考试过关就算学会了。课题项目中,只要程序能够编译,运行,并且输入输出满足要求就了事了。
但是,写程序的时候是否想过如何把程序写得更加精炼,高效,高质量?对程序调试中出现的问题是否刨根问底知道原因,还是不求甚解搪塞过去算数?还有,很多中国的大学毕业生对于知识的掌握肤浅,机械,没有好奇心,不会刨根问底。比如,学会了C++,有没有看过一个object在编译后,在汇编代码中是如何被初始化的?这个object的各个成员在内存中是如何放的?在一个成员函数被调用的时候编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到。
但是,你是否有过好奇心去知道?最后,一些中国学生的大问题就是死记硬背,没有学到某种算法技术的根本原理,没有应变和创新的能力。比如,有个问题是如何在不用额外内存的情况下把一棵树的同一层节点都连起来。
很多学生都能够回答这是一个广度遍历的问题。但是,课本上说了广度遍历是一定要有额外数据结构辅助的(队列)。
所以,不给额外内存怎么行?请看,课本上说的用队列的方法记住了,但是就是不知道为什么要用队列。如果深刻掌握了这个队列的作用,那么这个问题是很容易的。
举了这么多例子,我想说明的事,想成为一位好程序员(其实从事任何一个行业都是如此),重要的是要养成一个钻研,好奇,创新,动手,合作,不满足于填鸭,不满足于考试交差,不满足于表象的一种优秀的习惯。这不是学几门课能够一蹴而就的。
当然,如果你的在校课程不能使你满足,我以及论坛上的朋友可能能够给你推荐一些书或科目。我觉得要提高编程的能力,有一位良师很重要。
这位良师可以是在编程方面比你走在前面的同学,也可以是学校里你帮他做项目的老师,也可以是校外公司里的老师或老板。很多东西在实际的项目中,有一位良师察看你的程序,帮你指出不足,手把手地指导你调试,会对你很有帮助。
所以,当学会了书本上的基本知识以后,可以努力寻找一些有实用性的项目,借机在项目中找到高手指导。这个项目可以在学校找,也可以到校外找。
一开始不要计较报酬,甚至如果能够寻到高手指点,白干也行。其次是读好的源代码。
多读好的源代码就象多读好的文章,会有利于自己写作。能够读懂别人的代码也是一门硬功夫。
将来很多项目中你不会重头做,而是在半途加入(一般文档又不很齐全),因此需要能够很快读懂别人代码和想法的能力。再次是看一些编程方面的好书。
Writing Solid Code是一本很经典的书。最近出的Writing Secure Code也不错。
在你熟练掌握C以后,可以学一下C++并熟悉面向对象的程序设计思路。在掌握C++的基础上可以看一下Design Patterns。
看你要把编程学到多么专业。到一定程度,你会发现如果没有学过数据结构,算法原理,编译原理和操作系统,可能在某些方面会遇到一些障碍。
所以,如果有精力和条件的话,可以同时了解这些方面的知识。最后,我要提醒你不要因为编程这一业余爱好而影响了你本专业的课程,除非你决定转行。
对很多在校学生来说,本专业的成绩很重要,因为这个成绩可能会影响到将 来找工作,申请研究生院等等。英语也很重要。
我读翻译的计算机书总觉得隔了一层,翻得不贴切。能够直接阅读英文资料更好。
计算机专业修炼和武侠小说中功夫修炼都是一样的:金庸先生小说中提到高手习武包括内功和外功,其实这个道理在计算机专业同学中一样适用!内功包括:基本心法和高级心法 基本心法需要每个习武者必须修炼,包括:数据结构、编译原理、计算机组成原理、高等数学、线性代数以及外语等。高级心法根据个人需要定,比如:网络类需要学习包括TCP/IP原理等;软件工程需要学习包括软件工程的基础课程。
外功包括:基本招。
4.软件技术专业需要学哪些专业知识
需要学习:
面向对象程序设计、软件工程与项目管理、软件测试、.NET/Java Web程序开发、.NET/Java企业级开发、3G/4G手机软件开发等、计算机网络与通讯、网络操作系统、多媒体技术与应用、大型数据库处理技术这些专业知识。
软件技术专业是计算机科学的一个分支,和软件科学与技术专业相比较,软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求没有那么高。
扩展资料
本专业培养具有一定的理论知识,掌握至少一种主流软件开发平台,具有较强编程能力的高级实用型专业人才。
严格来说计算机专业和软件专业是完全不同的两个专业,计算机专业学习的内容比较宽泛,主要包括计算机硬件知识,像数字逻辑、单片机等科目。
目前国内新兴的软件外包专业就是软件技术专业的典型,软件外包专业主要承担来自欧美。
参考资料来源:百度百科——软件技术专业
5.开发手机客户端软件需要哪些专业知识和工具
献给计算机专业的同学
1.首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。如果
你不热爱她,或者只因为这是个热门专业,那么极力要求你放弃这个专业,因为计算机是
一把双刃剑,学好了你会飞黄腾达,学不好你毕业后会极其痛苦,高不成低不就,没有发
展潜力,如同学英语专业的人到了美国一样。
2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做网站
挣钱,不要想靠点击率增加广告,这个在4年前已经过时,如果你现在仍然这么想,千万别
说出来,因为我会觉得你很土。计算级专业的成就感总是伴随着身体上的痛苦而来,肩周
炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎,不夸张,这么帅的我工作了两
个月以后发现开始掉头发了。
3.搞明白计算机“科学”与“技术”的含义。做网页,做图片,做flash,玩游戏,上网,
听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这通通不叫计算机科学
与技术,如果你是计算机的学生,会做以上事情,那是你应该的,不会做,也没什么丢人
的,我们需要的不是让别人称作“高手”。
4.明确你最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优
秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。如果你是软件
方向,请你在学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、
编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,他对你有用。软
件工程绝对不是背背就能过的课,计算机理论可能是一个人就能研究出来,软件工程是成
千万网软件工程师几十年来失败的教训凝结成的结晶,请认真听课。不要问我应该学什么
语言,计算机专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把”hello
world”做出来。如果说有必须学的两种语言,那他们是c++与java,学他们不是在学语言,
而是在学thinking in c++,thinking in java,一个是软件的基础理论,一个是面向对象
的基础理论,从来没有人听说过“thinking in basic”。如果你说c++过时了,那么千万
别告诉别人你的名字,因为很丢人。山科大的老师只会教给你c,不会教给你++,所以不要
被他蒙蔽,大胆的问他++,如果他不会,干脆换老师。学硬件的同学在认真听听以上课程
后,学精除了政治以外的其他课程。
6.软件开发需要哪些知识和技能
开发过程 软件开发过程分为5个阶段:分析 软件需求分析就是回答做什么的问题。
它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。
需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。
在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。
设计 软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。
可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。
概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
编码 软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的”源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试 软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。
如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。
两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。
用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。
其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
黑盒法。维护 维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。
即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。
在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。
然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
编辑本段开发平台 软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开平台应运而生。
平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,目前国内的管理软件市场,软件开发平台的应用已经成为一种趋势。
由于开发环境、开发人员、功能定位、行业背景等的不同,不同品牌的平台存在较大差别。编辑本段开发环境 软件开发环境在欧洲又叫集成式项目支援环境(Integrated Project Support Environment,IPSE)。
软件开发环境的主要组成成分是软件工具。人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件开发环境。
7.软件开发需要一些什么样的基础知识
软件开发你指的是手机端还是客户端,还有就是软件开发也分很多种啊,不知道你所说的是什么,我只能做为最基础的软件开发,用C类语言比方,用C编的程序从宏观上看其实就是一个大的函数,软件,分为几种,我想你说的那种属于有好看的外观不是在DOS中显示的不是用于后台整理数据的那种软件吧?
1. 软件的构成是多方面的,上面说的那个大函数是主体,那么,调用它来组成软件整体的其中一个东西叫脚本。
2. 好看的外壳,也就是交互界面,需要另外的软件的组成部分——图片(像)。怎么组成在一起?有的是脚本有的是编程语言中的函数。
3. 最后,一个完整的普通的软件 = 图片 + 脚本(各种)+主体程序(核心) + 。..
看完这些,相信你有一个大概了吧,多看一下c语言,c++,java这三种就可以搞定软件开发了,不过数据库一样也要学习。