开发软件和游戏需要什么基本功?

计算机网络基础:基础,要了解 软件工程:基础,但是光从书上学不到什么,需要在实际项目中体会 UML建模技术:传统的重量级软件工程衍生出来的辅助工具,用于做软件架构设计,了解即可。近年较为流行的“敏捷软件开发”则摒弃了UML等工具,建议使用脑图、鱼骨图、甚至白板来设计,强调快速沟通,不要过度设计等 软件测试:基础,即便不做专业的测试员,也要了解测试的方法 软件维护:这个说法比较泛泛,一般说来可能就是安装、运维,属必须的技能,不必单独学,慢慢就都会了 数据管理与开发:不知道你指的是什么,我的理解就是数据库的应用。这属于基础,几乎所有的项目、产品都会用到数据库,建议精通一种,了解多种。常用的大型数据库有Oracle、MS SQL Server、PostgreSQL等 C/S项目开发、B/S项目开发:属不同的应用领域,比如B/S就要了解些html、css、js的知识,C/S则至少要掌握一个比较好用的IDE。我认为都应该了解些,不该有明显的短板 3G移动游戏开发:软件开发的一个新领域,由于手机硬件配置以及网络速度的不断升级,原本简单的手机应用已经无法满足用户的需求,所以传统的PC上的软件正在被移植到手机上,其中游戏类软件做为需求量最大的软件,被越来越多的开发商重视。可能需要掌握的技能包括但不限于:嵌入式开发、J2ME、Web开发、数据库应用等 C语言程序设计:做软件开发的最最基础的语言!虽说目前使用纯C开发的产品不多了,但是C的思想可以帮助你更快的理解其他语言,所以,编程必学! C#.NET程序设计:C#只是编程语言的一种,属于.Net平台,是目前比较流行的一种编程语言,其特点是有强大的.Net Framework库可用,有强大的VS IDE可用 Java程序设计:类似于C#,Java也只是编程语言的一种,目前Java与.Net为两大开发平台。同样有大量的框接支持,有不少好的IDE可用 J2EE项目开发:属于“Java程序设计”的一个分支,号称“适用于创建服务器应用程序和服务”,包含许多组件,但是近年来也有很多人诟病它过于庞大、臃肿 综上所述,学软件开发,需要多门学科的基础铺垫,这些学科的知识可能并不会直接被用到,但是需要有所了解,如计算机组成原理、编译器原理、计算机网络等;有些属于基本功,即九阴真经、九阳神功类型的,如算法与数据结构、数据库原理与应用、软件工程等;有些属于工具,不要轻易说“XX语言只不过是个工具而已”这样的话,因为“工欲善其事必先利其器”,我建议一个合格的程序员至少掌握一门编译型语言,如C/C++,和一门解释型语言,如Python、Ruby;最后是应用领域问题,新的领域固然有前景,但是前途未卜,除非你是大牛,不然很容易被日新月异的技术浪潮吞没,而传统开发领域虽然市场接近饱和,但是仍有稳定的产品需求,企业对人才的需求也很稳定,不可能出现有本事没人要的情况。