独立开发一套软件系统需要开发者精通哪些技术?
恕我直言,这种问题多半来自非行内人员,有些傻白甜。不过就着救苦救难的二精神,羊羊羊还是瞎扯几句。作为只懂点C++的前程序猿来说,要想独立开发一个软件系统,一个字难,两个字很难,三个字特别难。当然也不是没有,不过那种人大多都是大腕,比如说linux的创始人,本渣猿肯定比不上他老人家了。哦,对了,还有求大侠,当年一个人做了WPS,震惊全宇宙,让大叔我当年佩服的50体投地。不过伴随着软件系统的发展壮大,现在很少听说这样的侠客行了,更多的是以开源的形式,一群人共同开发,公司内更是如此。扯远了哈哈,真要自己开发一个软件系统,比如说10年前很多个人游戏开发者,独自开发一个游戏。既当美工玩PS,又做策划做PPT,还做程序员扒拉C++,可能还要涉及到某些脚本语言。吭哧吭哧了很久(一般以年为单位),好不容易整出来一个游戏,又做市场,玩销售,玩运营,上市了还不错,大多数就然后没有然后了。很多很多,说出来都是泪。就拿做个游戏来说吧,至少熟悉PS,3DMAX吧,知道怎么做PPT吧(当然全部是TEXT的PPT也可以,不过看起来很LOW),要知道常见的开发工具吧,VS.NET20XX各种版本,Eclipse 各种版本,Studio各种版本,知道很多开源的游戏引擎吧(物理的,3D的),各种脚本语言,现在比较流行的游戏开发IDE,(U3D,Unreal等等,Unreal我琢磨了很久还是不懂,然后就没有然后了哈哈),还要会做后端,哪怕找个开源的服务器端,你至少要会数据库操作吧,哦,对了,还要会做网站(至少要会架设网站吧),现在做手游的很多,这就要会android应用开发基本流程吧,要回在IOS系统应用开发吧,虽然u3d能自动导出适应不同平台的app,可是一旦出现问题,您得上平台去调试吧?哦对了,您得知道怎么玩github,否则万一遇到个网络大V,一旦让他们知道您连github都不会玩,您就成了鄙视链的最底层。哈哈,苦哈哈的等游戏开发完了,您立马华丽转身做测试,一边测试,一边修改完善,同时您还得找个平台上去运营吧,虽然现在很多大公司会有平台入口给您接入,可您得学会跟他们怎么接入吧。还得学会怎么从他们的平台找到对您有用的数据。不同的平台不同的接口,不停的造轮子。还有很多话,不说了,哈哈,说出来都是泪,当然说的都不对,杠精勿喷,谢谢!
软件可大可小 主要看你有啥技术才能接啥活,一个人开发软件倒真不是啥问题,就是开发时间长一些,维护累一点,有时候会忙不过来,别觉得奇怪我们那时候小公司都是这样的。
我一个人就做过10几套系统 如ERP MRP 财务软件等等 。
谢邀。作为程序员我自己表示并没有达到独立开发一套企业级的软件系统,如果只是一个比较普通的小项目,也是需要一定技术素养的。
由于软件种类过多,所需技术千变万化,这里只用B/S架构的传统web项目作为案例。独立开发系统,首先你要明确自己需要做什么,为什么人群做,怎么做。what,who,how,WWH就包含了所需要的技能。
what,做什么,这需要软件工程的知识,设计一款软件应该严格按照软件工程的思维去设计,而不是凭空浮想联翩,有一些产品经理不懂技术设计的功能令人啼笑皆非。
who,这款软件为谁而设计的,这特别重要,因为这将影响业务逻辑以及数据库设计,数据库设计是软件开发非常核心的部分,尤其是数据量庞大的项目,调优可不是容易活。
how,怎样做。这就涉及软件的开发,相关的技术活比较多。首先是精通一门编程语言,这里举例java,你要懂Java的web运用,熟悉适用项目的[_a***_],知道怎么搭框架,比如基本的SSM框架,尤其是spring框架的掌握,然后在嵌入技术比如安全框架shiro,缓存数据Redis。
需要架构的好,设计模式至少得熟悉,J***a源码至少得熟读。性能要调好,那可能jvm也得去碰一碰。除此之外,你还需要Linux的技术,这是用于服务器的运维,你还要懂前端,不然怎么和你的服务器进行数据交互。
需要独立开发系统需要很多方面的技术,但是独立开发优秀实用的系统则需要良好的技术素养和高效高质量的团队。
宇文笑一句话: