小编:时间:2023-07-31 21:54:37 来源:火箭下载站整理
各位老铁们好,相信很多人对软件开发领域知识都不是特别的了解,因此呢,今天就来为大家分享下关于软件开发领域知识以及怎样学*开发软件的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本文目录
首先告诉你的是,计算机高级编程语言都是相似相通的,会了一门编程再去学*另一门会很容易。所以先选择一个比较简单的入个门,知道编程这么回事,对编程有一定的了解,然后再去深入学*和研究自己喜欢的那方面。下面主要面向两种人分别推荐,第一种是什么基础都没有的,对电脑也不熟悉的人。另一种是了解一点电脑的基础和使用,会通过百度查询遇到的某些问题,能独立解决一些问题的人。
不同语言输出helloworld
如果你是第一种人。没有任何基础,不了解什么是编程,对计算机也不是很了解,那么推荐C语言。一般来说,计算机相关专业,都会开设C语言课程,C语言是高级语言里边最基础的,并且是面向过程的,所以相比较其他高级语言,学*起来入门简单些。刚开始学*C语言编出来的程序都是黑框框,没有界面,如果想做个正经用的软件,肯定得有界面,这个以后可以通过别的语言学,因为C语言写带界面的程序太麻烦了。因为C语言基础,简单,易上手,所以被大部分学校选为计算机基础课程。
除了上述原因,最重要的一个就是C语言搭建编译环境很方便,下载一个C语言的IDE即可,不需要进行其他的配置,所谓编译环境,就是你写代码并且编译代码的地方,也就是你的工作站,C语言的编译环境,安装一个编译工具就搞定,方便。万事开头难,所有的人学编程刚开始大部分都会在搭建开发环境上卡住一阵,所以一般推荐零基础的同学看视频学*,因为大部分视频都是教你搭建环境的,跟着视频一步步操作,比看书容易些。并且这些基础课程免费的很多,没必要花钱购买。
网易云课堂搜索C语言显示的结果
除了C语言入门,还可以通过学*网页编程语言入门,因为编写网页的语言相比较而言简单点,并且写好网页就能看到界面,有成就感。刚开始接触编程除了了解编程,更应该培养兴趣,增加成就感。不然刚上手就去研究电脑或者手机的带界面的程序,那太难了,打击你的信心。
网页编程可以从HTMl入手学*,这个非常简单,并且这个写好之后用浏览器直接打开就能显示你写的东西,并且这个甚至可以不用编译环境,直接用记事本来写,很省事。你要是不承认这是一门语言的话,可以去学PHP或ASP.NET。这俩也都不难,但是需要搭建开发环境,跟着视频去做的话,也是不难的,就是安装几个工具,这俩语言的优势同样也是写了就能看到成果,并且语法简单。
在学了这些基础课程之后,大家肯定就对编程有了一定的认识,然后根据自己的兴趣,去学*你想开发的软件所用的语言,这时候学起来就比较容易了,以后再怎么学*就有目标了。不了解的事请,总是入门难,一旦入了门,那将得到飞快的提高。
第二种人,就是那些有一点点计算机的使用基础,能善于使用搜索引擎的同学。可以直接上手学*JAVA或者Python,这俩都是面向对象的高级语言,也是目前很火的语言。像这种比较火的语言,或者像C语言那种比较经典的语言,教程资料都比较好找。遇到问题也比较容易能搜到解决方法。这两种语言最大一个问题就是需要搭建环境,这个对于小白来说,还是挺麻烦的,需要安装一些环境,然后配置环境变量,然后设置编译环境,下载一些常用的库等等。在这安装和使用过程中,可能会遇到各种各样的问题,出现各种奇葩问题,有些甚至跟着老师视频一步步操作,最后都无法运行,所以这类语言仅仅适用于那些对计算机使用有点基础的,并且会自己查百度,能自己动手的同学学*。如果身边恰好有个懂这些的朋友,跟着他学*下或者让他帮忙配置下开发环境,也是可以的。
这些一旦入门之后可以直接深入研究,拿JAVA来说,它是跨平台的,写好一个程序,无论是哪个系统,只要他装了java的环境,都可以直接运行这个程序,并且java除了开发软件还能做网站。一旦会使用这些高级语言,你会发现同样实现一个功能,C语言可能需要写几百行代码,而java或者Python可能只需要写几十行代码就能完成。这些高级语言封装了很多功能,你直接调用就可以。所以在实现某些功能的时候更方便。
等你学的差不多的时候,多看看网上别人写的源代码,自己尝试做一些能做的小项目。如果学的是C或者Python这些,可以做一些数学题的运算程序,求面积、体积,或者写个进制转换器之类的。如果学的是HTML或者PHP,尝试自己做个属于自己的小网站,实践是最锻炼人的。这时候尽量买本参考书,因为这本书需要来回翻,所以推荐买实体书。至于买哪一本,可以根据你学*的语言去选择,询问下相关行业前辈的意见或者去搜索下网友的意见。
学*编程之前最好先学*下电脑基础和相关使用技巧、计算机原理,有助于你对计算机软硬件的了解和认识。把打字的速度提升下,毕竟你的任务就是敲代码,速度还是比较重要的。顺便了解下进制转换之类的,玩计算机的,和二进制十六进制打交道有时候比十进制更多。
等大家学一段时间编程之后,你会发现,编程的很多东西其实本质上就是数学、逻辑。精华就是这些数学思维写出来的算法。
最后补充一句,可以在买编程书籍的时候顺便买本劲椎病的预防和治疗,这样的话,凑凑单或许能包邮。
学*软件开发首先你得有兴趣,如果是半路出家的,这点特别重要,我本人就是一个例子。我连高中都没有念过,从DOS开始,一点一滴都是自己摸索出来的,凭的就是兴趣,差不多20个年头,现在依然兴趣不减。
不吹捧自己了,言归正传。以前学开发,要对操作系统有所了解,但现在大多数都是做网页应用,对这方面要求不高,当然如果你是自己做开发,没有专人帮你部署的话,还是需要掌握一些的。这方面的知识,可以帮助你在后期优化应用的性能。
至于具体的东西,如果没有个方向不太好说,那就假定你要学的是网页应用开发。无论后端用什么开发语言,前端都是要掌握的,HTML、JavaScript、CSS这些都是必须熟悉的,然后还得了解HTTP,不用太深,知道数据是怎么来往、报文的格式是怎么样的就可以了。
后端嘛,你需要谨慎选择了,因为这可能关系到你一辈子的幸福??开个玩笑。现在主要有三大阵营,.net、Java、PHP,千万别问我哪个好,根据自己的了解来选择,只能告诉你.net上手相对容易,因为有宇宙第一强大的集成开发环境VisualStudio,而拿来找工作却不如其他的来事,具体的比较可以自行搜索。
对了,还有数据库,不管用哪家的,基本的SQL必须掌握,不管现在的ORM有多牛逼,你总会有需要用到自己写查询的时候。每种数据库的SQL还是有些不同的,先认准一种学透了,其他就会触类旁通的。
以上这些都是些基础的东西,不说熟练吧,要能够基本掌握。切记,不要一上来就拿人家现成的东西来用,特别是前端的,像jQuery、bootstrap、React、VUE.js等等,这些库都很好,但是会把你和本质隔离,不利于巩固自身基本功,只有当你对基本知识都掌握以后再去用,才会事半功倍。
最后,还有一点建议,就是搜索引擎。不管是学知识还是找问题,每天都会用到。如果有条件科学上网的,请用谷歌,否则可以用必应。
学*软件开发不一定都要做程序员,一个IT公司有很多职位都喜欢招收有软件开发相关经验的人。
感谢您的阅读与点赞!如果对您有点帮助,欢迎关注我:「大猫玩程序」列举一下我所了解的职位:
1.软件测试其中软件测试又分为黑盒测试和白盒测试。
黑盒测试的技术含量稍低,基本上都是通过工具或者人工根据测试用例进行相应的测试。
白盒测试需要一定的编程水平,会写一些自动化测试用例,也可以在软件中植入一些代码进行调试。
2.产品经理不管是通信行业还是互联网行业,产品经理都是必不可少的一环,一个产品的诞生到发布,产品经理功不可没,当然网上流传的“产品经理和程序员水火不容”的段子也很多,得罪程序员也是常有的事,毕竟都是为了产品做到最好。
3.项目经理项目经理是一个项目的大管家,产品经理制定产品规格,需求经理制定需求,最后由项目经理指定项目计划,什么时间启动、什么时候发布第一版、什么时候真正上线,一直到这个项目真正退出市场,项目经理才可能从这个项目中抽身出来。
4.软件经理这个职位互联网公司可能是专职做开发的一些Leader,但是在很多通信公司,由于涉及的产品比较复杂庞大,因此需要有一群人专门与软件研发进行打交道,跟进软件的需求开发与版本正常发布。
5.需求经理一些中小型公司,需求经理其实就是产品经理,但是在大型公司,基本上都会有这样一个职位,产品经理确认产品的大体方向,需求经理与客户沟通产品的细节,包括各种硬件参数、软件UI等非常细致的点。现在很多软件开发的朋友,在35岁开始转型,很多都是转向上面这5种职业,有了软件开发的经验,做起这些工作也更加得心应手,很多公司也很欢迎这些程序员进行转型。
上面这5种职位各有优劣,每个职位做到极致,前景都不错,但是还是建议有一定的软件开发经验再转向这些职位,这样你会更加得心应手。
一个产品是怎么从想法一步一步落地为具体成品的,这个过程中会经历一些怎样的必要流程呢,下面大致说一下:
需求整理大部分创业型项目在这个阶段只是一些比较抽象的想法。有一份相对完善的需求文档,不仅有助于创业者自身对项目的理解和周全性分析,如果项目是交由设计公司去完成的话,也更有利于对方准确把握项目的定位和商业模式,以便给出专业的建议和解决方案。下面是需求整理过程中比较关键的点:
(1)清晰认识项目是为了解决什么用户痛点,行业需求?
(2)分析要解决这些痛点或者需求的过程中需要通过哪些有效的功能布局去实施,逐一将核心功能列举并适当完善一下,通过文字或图文的方式描述清楚。
(3)建立完善并且合乎逻辑,功能完整呼应的需求文档不是一件简单的事,如果你是PM(产品经理)出身的话会比较容易上手,否则最好还是由第三方机构协助完成。
预算评估不论项目是由自己团队执行开发,亦或是交由第三方公司代为设计开发,建立在一份完善且有质量的需求文档都是非常有必要的,对需求文档进行人力时间的投入,可以较准确地估算出项目需要投入的预算,同时这些文档后期会有助于产品经理,UI设计师,技术开发人员等等对项目的理解,减少人员沟通中可能存在的误差。
原型设计接下来会根据上面提到的具体需求文档,项目经理进行会进行原型图的设计,包括:(1)功能的结构性布局(2)各分页面的设计(3)页面间业务逻辑的设计
UI设计(1)APPUI:原型图经过反复推敲修正后,UI设计师会进行UI界面相关的配色设计、功能具象化处理、交互设计、以及各种机型、系统的适配。UI设计师经过多次与项目经理沟通修改后,最终的到定稿的高保真设计图。
(2)后台UI:绝大部分APP项目都会有相应的管理后台,虽然后台是用户无法接触到的,但是与APP侧的功能是意义对照的,合理的设计能让后台管理人员快速上手。
开发经过以上几个过程之后,会正式进入到开发阶段,一个完整的APP项目一般包含以下几个板块:
(1)服务器端:编写接口协议文档,服务器环境架设(国内一般都是用阿里云服务器,国外一般用亚马逊),设计数据库和编写API接口。
(2)APP端:根据UI设计图进行界面开发,UI开发完成则进入和服务端接口对接,通过服务端的接口获取数据,编写功能上的逻辑代码。
(3)Web管理端:根据前端的业务逻辑,后台会有相应的功能与之匹配,同样需要编写功能上的逻辑代码。
测试调试APP功能开发完成之后,测试人员会对整项目进行系统性测试。这个环节会调动起项目组内所有人相关人员。而测试这个环节的重要性不亚于前期功能的规划,如果团队没有经过专业系统性训练的测试人员,很可能会导致项目出现与设计初衷存在落差,以及遗漏下一些逻辑上的坑(这些坑是以后给自己带泪跳下去的...)
而完成项目测试调试最重要的环节是问题的管理,追踪各个bug的进度以及状态,包括指派给谁、优先级、修复状态等等,以便有质量地完成问题的处理。
发布到应用市场经过至少两轮的内部测试以及小范围外测(或者完成满足测试要求的周期)后,会进行最终版本的上架,以常用的iOS和Android应用市场为例:
(1)Android:涉及的应用市场很多,主流市场是应用宝、360手机助手、小米商城,不同的应用市场的受众属性会有所不同,流量也有较大的差别,需要根据实际情况选择。
(2)iOS:发布到AppStore(苹果审核比较严格,是否符合最新的上架要求,是否涉及到虚拟货币、是否支持最新环境等等等N多问题都会导致审核是否能通过,这个对经验的要求就很高了,而最坑爹的是,比如某APP存在5个导致不通过的问题,苹果是不会把5个找出来告诉你为什么拒绝的,而是找到一个就马上拒绝你,所以如果经验不足的话上架n次花费几个月都是很有可能的。)
运营迭代产品正式投放到市场之后,会得到用户以及市场本身的一些反馈,从而知道该如何修正或者调整运营策略,当目前系统的功能再也无法满足项目需求时,就需要规划新一版本功能的迭代问题了。(重新经历:需求整理-预算评估-原型设计-UI设计-开发-测试调试-发布这个产品的生命周期)
日常维护在项目正式运作的时候,即便是已经达到相对稳定的阶段,也会有可能出现一些小问题,或者发现一些隐藏得比较深的bug,这个时候就需要有相关的市场人员进行问题的收集以及技术人员对问题作出及时的修复,简单理解就是需要有人值守。
以上是大致的流程,不过由于实际项目往往会涉及到人与人之间的复杂沟通以及协作,还是需要有严谨的管理规范以及弹性的流程控制才能达到较高水准的项目质量的,希望对各位有所帮助。如果有帮助,请点个赞,并关注我!谢谢!
OK,本文到此结束,希望对大家有所帮助。