1. 程序开发,程序开发的步骤?
软件开发一般分为五个阶段:
1.问题的定义及规划 此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
2.需求分析 在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。“唯一不变的是变化本身”,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3.软件设计 此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。
4.程序编码 此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。
5.软件测试 在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。
2. 产品开发与软件开发的区别?
大家知道,产品研发和项目开发过程和资源投入是有本质上的区别。
相对来说,项目开发来的容易一些,因为需求收集来的容易,需求主要来自特定客户,最后开发的功能只要满足特定客户就可以了。但是产品研发就不一样,考虑的面要更广,它不是为了满足单一的客户,而是要满足一定量的客户群,高度跟项目不一样。配置性和扩展性方面考虑的会比项目多一些。我在这里抛砖引玉,主要是想听听大家的意见,一个产品或者平台的研发,什么样的过程才算合适和合理,还有就是应该配备什么样的资源。
之前我们是这么做的:
可行性分析、产品规划(做的不到位)、业务蓝图设计
软件系统分析(为了满足一定的客户群,这块做起来很困难、跟业务蓝图衔接)
设计
编码
测试
主要在前期规划和需求分析特别费劲
3. 没有学历可以学习软件开发?
作为一名IT行业的从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。
首先,没有学历也是可以学习软件开发技术的,而且有机会成为软件工程师。
当前的软件开发可以简单的划分为两种岗位,一种是对于基础知识结构要求比较高的研发级岗位,主要的工作内容集中在平台研发上,另一种是对于基础知识结构要求相对比较少的应用级开发岗位,主要的工作内容集中在具体业务逻辑的实现上。目前IT行业内以应用级程序员居多,研发级程序员多集中在新兴领域,比如大数据、云计算、人工智能等领域,这些领域目前正处在高速发展期,需要研发级人才来完成大量的技术攻关。
对于没有学历的人来说,可以选择从基础的编程语言开始学起,然后在学习编程语言的过程中陆续补学相关的知识结构。比如前端开发岗位就比较适合基础薄弱的学习者,一方面前端开发的学习难度相对较低,另一方面前端开发的实验环境比较好搭建,实验比较容易上手。
前端开发在当前的移动互联网时代和大数据时代被赋予了更多的含义,知识结构也在进一步丰富,包括传统的Html、CSS、JavaScript技术为代表的Web前端开发,以及以Android、iOS为代表的移动端开发,另外还包括大数据呈现端的开发(基于平台)等等。对于初学者来说,可以从Html开始学起,其中JavaScript需要重点关注。
虽然没有学历也可以学习软件开发技术,但是要想在软件开发领域走得更远,或者获得发展空间更大的工作岗位,应该考虑逐步提升自身的学历。目前提升学历的渠道有很多,可以根据自身的实际情况进行选择,比如成人教育、自学考试等都是不错的选择。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!
4. 为什么国内就做不出来一个像苹果iOS流畅系统?
像芯片啊,网络啊,系统啊核心工程设计软件啊。这些东西都是第三次工业革命,最顶层的科技成果。美国不允许他势力范围外的国家染指这个领域。
如果染指亦或并购,亦或制裁总之你不能发展。
美国人搞全球化的核心本质就是,基本放弃第一第二次工业革命的领域绝大部分产品的生产制造。全力攻坚第三次产业革命以及未来的的第四次产业革命。这样美国就可以借助其科技领域的霸主以为,万世立于山巅,成为不败之国。这已经40年的历史了。
在这个过程中日本受益最大,日本借助其美国附庸国的身份,成功的从第一二次工业革命的生产制造大国,转型进入第三第四次工业革命领域,成为目前仅次于美国掌握尖端科技最多的国家。当然美国人允许日本人这么干的条件就是永久的军事占领。
其次就是中国受益最大,用中国人勤劳双手,成功接收了美日放弃的第一二次工业革命的,几乎整个产业链系统。使中国从一个1979年发电量2800亿千瓦的工业落后国家,一跃成为世界工厂,gdp世界第二的,发电量7.5万亿千瓦,常年世界第一的工业强国。
但中国不是附庸国,中国的天然大国地位注定了,我们要生存就必须继续发展。否则就永远是别人嘴边的肥肉。所以就算有瓦协封锁,有美国的打压,再艰难我们也要攻坚两弹一星,再艰难也要攻坚硅晶半导体,再艰难我们也要向第三次工业革命以及第四次工业革命迈进。
至于你说的操作系统,华为在做,其他公司也在做,只是很难建立生态,也就意味着很难民用化。说实在的以前跟多亲美派,留美派都沉浸在科技无国界,产业自由的神话之中,觉得我们没必要搞这些,其实全世界都有这种迷思。川普一下子就把这个神话戳破了。我们得感谢他,如果不这样,可能50年100年我们也发展不起来。
5. 软件备案有什么用?
我们开发者开发的软件开发成功后,进入到上线的阶段就需要进行备案备案主要就等同于将软件交与相关部门检查,是否存在违法和涉及不良信息等功能的检查,如果没有任何问题就可以按照流程继续走下去,如果有问题,那就会被当场驳回。
6. 学习软件工程和软件开发怎么入门?
写在开始之前:应该学习哪种语言,我觉得应该根据你的工作需要或者说你的发展方向而定。基本上两大类吧:C/C++和Java。比如,如果你要做企业级应用的你应该学习Java和C#;如果你想做嵌入式,那么应该学好C语言;其他情况下,在你不知道要做什么之前你可以选择学习C/C++。学会这两大类中的一类,对于你学习其他语言都将是比较轻松,包括脚本语言,动态语言…… 1、我的入门是从学习C语言开始的(其实课程是C++),这是我们学校的公共课,我上课比较认真(虽然老师讲得很差,而且一段时间后,我就发现自己的基础掌握比她好,当然理解深度没她好),因此,我认为对于完全没有基础的人而言,听别人讲比较容易入门。当时的教材是学校自己编的,挺烂的。 建议一(以C/C++为例),对于刚想进入编程的人(就是从来都没有接触过编程的人),最好是听课的方式(自己看的话估计要很慢,而且很痛苦),可以找视频或者培训等。C语言推荐入门教材:谭浩强的C语言,最新版是第三版,不过第二版应该也可以了(蓝色的)。说明一下:坚决不同意直接看K&R的《The C programming language》,这本书绝对不是初学者可以看懂的,里面讲语法的并不多,语法都是合在程序里面讲。不过这本书非常好,入门以后一定要看的一本书。 当然可以从C++直接入门,C++之父强烈推荐从C++直接入手。C++推荐入门教材:钱能的C++(红色的,清华大学出版),这本书第一版不是ISO C++,不过比较经典,作者现在也出了第二版了,第二版好像不是太好。国外的最好的入门教材据说是:《Acclerated C++》作者是Koenig和Moo夫妇,非常厉害。他们的著作还有《c陷阱与缺陷》《c++沉思录》。《Acclerated C++》这本入门的书我没有看过,我觉得还是先找本国内的书好好看,看的差不多了,国外的经典书籍随便看就会觉得很有味道,否则你可能会很受打击。 入门的书至少要看两三遍(要彻底理解哦 ):)。如果是C++,我建议后面类的部分至少要理解三到五遍。说明一下,c++模板的部分可以先不用看,如果有兴趣的话,等把c++学的差不多了,我觉得可以把模板、STL、泛型编程结合起来学习,这个又是一个很大的工作量了,又得下很大的功夫。所以说,C++博大精深啊。 建议二、学习过程中要结合简单的算法,像冒泡还有类似c语言程序百例这样的小例子做做;更进一步应该做点大一点的项目,最好是控制台程序。或者你已经着手学习win32、MFC或linux,你也可以结合平台做点小的项目。 2、第一阶段是最苦的,接下来相对就知道应该怎么去学习了。这时候假设你已经有了扎实的c++基础。这是你可以选择也应该选择发展方向了,做企业级应用,还是系统开发,嵌入式设计或者游戏开发…… 那时我其实并没有考虑那么多,因为我不是学计算机的,因此我就把参加一些计算机之类的考试当作学习目标。我当时其实C++语言基础已经很不错了,但是上机实践很少(那时我没有电脑),因此参加省计算机二级,全国计算机三级和全国计算机四级考试,结果上机都没有通过。我很郁闷,二级的时候是我不知道怎么样进那个DOS界面把题目调出来,三级的时候是很快就编好了,也通过运行了,可是成绩出来却不及格,四级的时候是编好了,可能是我那题目比较难,好像用了两次循环,结果那破机器竟然承受不了。后来一乱就毁了(当然主要是上机太少了)。不过我那些上机都没有去补考。二级和三级的时候是自恃水平已经远远超过考试要求了(^_^,见笑了,可能是因为等级考试还是比较简单的),四级的时候则因为自己已经通过高级程序员考试,觉得补考上机好像没必要。(我高程和四级都是在2003年考的)。 建议三:定位学习方向(见附录一)并好好学习计算机基础知识。在你还不确定学习方向,或者你还在大学本科期间,那么我认为应该先把计算机的基础知识好好学习一下。我认为计算机必学的基础课程而且要精学——首先是数据结构,其次是操作系统、软件工程,数据库。这四门课不管你将来想从事哪个方向的基本上都会用到。当然,有时间的话,其他基础课都是应该掌握的,离散数学、组成原理、体系结构、网络、编译原理甚至跨学科的。方向是很重要的,因为知识其实是无限的,一个小小的领域就够你研究很久了。本科生可能还没有什么方向的感觉,但是到了研究生你一定要清楚自己到底想要做什么,要往哪个方面发展,不要盲目学,瞎学乱学,否则最后可能看似什么都会,其实什么都不会。 我也曾经学习过Java一段时间,这篇文章既然是谈编程语言的入门学习,我也简单说一说。因为有了比较C++扎实的语言基础,所以Java学起来比较轻松。我先找了国内一本薄薄的教材很快看了一遍(几乎都理解,但是只看了一遍),空闲的时间配合清华张孝详老师的java视频。以后其实才算我真正要开始入门JAVA的学习,我用了是《core java》中文第六版(本来想用候捷翻译的第二版的《Thinking in Java》,发现被同学弄丢了),这本书我差不多用了20天才把里面的知识都搞懂,当然包括程序风格的模拟,最重要的时我把有关GUI编程的那三章里面的程序例子几乎可以默写出来(当然,那是因为我理解了,其实这样就变成了我的知识了),里面的API我也记得差不多了。(说明:Java里面的GUI编程没什么用处了,建议大家先跳过,GUI不是Java的长处,如果以后需要的话再查手册或者再记忆学习)。 其实学习了C++以后,学习Java是比较容易了,但是建议不要两种都学啦,他们的用途是不一样的,你应该熟悉其中一种,更重要的是熟悉其应用领域所需要的专业知识甚至平台,以及使用他们的企业,有创业计划的还应该考虑一下他们的应用领域,最重要的是思考他们的潜在的应用领域。 对于初级的学习就讲到这里,接下去的学习其实都是高级部分,先不介绍了,因为:一、我自己都还没有学懂,这里乱吹会误人子弟。 二、高级东西的学习很多,有很多选择,又需要很多繁琐的知识,可能也一下子没办法讲清楚。
7. 本科程序员与硕士程序员之间有什么区别?
在网上看到一个985毕业的研究生吐槽,他说他今年刚研究生毕业,应聘程序员岗位,工资只有25K,而他之前的本科同学,也是985院校毕业,工作三年,现在都已经达到30K的水平,以后还会涨。
这位研究生非常郁闷,觉得心酸,当初还不如本科毕业后就工作,也许现在能积攒下很多经验,也有一定的存款,工资也能上涨。
他想知道,自己选择继续读研有错吗?本科毕业后,是该工作还是该读研呢?
网友看到他的经历后,也纷纷评论:
“学校里学的东西,对于工作上未必能有帮助。付出相同努力的情况下,三年的工作经验要比三年的硕士经历对你今后的职业生涯更有帮助。所以,千万不要因为害怕工作、逃避现实而选择去读研究生,机会成本太高,得不偿失。”
“读不读研取决于你自己的人生规划,不过,根据我自己的工作经验觉得最好还是读研。读研期间完全可以实习,积累工作经验,不仅能提高自己的业务水平,尽快地融入社会,还能自给自足,不向家里要钱,自己赚生活费和学费。”
“如果是名牌大学的研究生,当然是读研比较好。学历上有了更好的提升,以后求职薪酬会更高,能够进入一个更好的平台。不要放弃自己的兴趣和理想,坚持下去你会有意外的回报,特别是在迷茫时要沉下来积累。”
“随着年龄增长,人的精力和学习能力在减退,但是面子却在变薄,犯错成本飞涨。越晚工作,适应工作的时间越长,压力也越大。所以,想干点什么、学点什么就要趁早。”
“选择比努力更重要,视野也比努力重要,但坚持更重要。喜欢不喜欢专业都是深入研究才有体会的。继续读书,你能看到专业的发展前景,眼光很重要,任何事情都有风险,但是更好的学历和更宽的视角会吸引你继续走下去。”
“人生是场接力赛,自己再熬3年多学些知识,考验一下自己的意志力也是件好事,当然选择下来工作也是完全可以的,因为社会上能学的东西远远多于校园。即使读研,我也推荐在职读研,还可以认识不少行业内人士。如果将来工作,有需要读研,公司会让你读,或者你自己再读,都比脱产读研要好。”
看完了本篇文章,你们觉得是读研好还是下来工作好呢?