软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。
软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。
系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具),是支持计算机系统正常运行并实现用户操作的那部分软件。
系统软件一般是在计算机系统购买时随机携带的,也可以根据需要另行安装。
应用软件(Application)是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合。
应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。
图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。
在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
C/S结构在技术上已经很成熟,它的主要特点是交互性强、具有安全的存取模式、响应速度快、利于处理大量数据。但是C/S结构缺少通用性,系统维护、升级需要重新设计和开发,增加了维护和管理的难度,进一步的数据拓展困难较多,所以C/S结构只限于小型的局域网。
B/S架构即浏览器和服务器架构模式,是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构。
在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。
B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
在操作系统还是文字界面的时代,大家用电脑的主要作用就是文字处理、计算,没什么娱乐。玩游戏都是字符形式的:你输入一个命令,然后电脑在黑白界面显示个文字或者数字,表示结果,想想就没什么乐趣。
在90年代末,国内开始使用互联网。那个时候用电话线上网,网速非常慢,大概16~256千字节(K),现在我们都是兆(M)这中间差别是1000倍。
从数字上看就知道那个时候网速有多慢了。但是那个时候大家也不觉得慢,为什么?因为那个时候大家上网只能看新闻,而且刚开始的时候所有的新闻都是文字新闻,连没有图片都没有,到后面慢慢网速快了,新闻中才有图片,不像现在,新闻中都有视频。
我记得当时的浏览器还有一项功能,就是不显示图片,只显示文字,这样可以减少流量,增加显示速度。
所以在2000年左右出现了很多网站,专门显示新闻的,例如搜狐、新浪、雅虎、网易等等。大家上网除了看新闻,没别的事情可以做。
在这个时候,游戏兴起了。但是也都是单机版游戏,不用联网。游戏的发展,也催生了一大批电脑用户,人们用电脑的用户又扩大了,也越来越有趣了。
2002年左右,是互联网的低谷,因为前几年大家的热情,各路投资、各个公司纷纷投入互联网,但是除了做新闻网站,没别的事情可以做,没有内容,没有应用,做来做去也就看看新闻,不知道在互联网上还能做什么?所以大家都认为互联网就是个泡沫,纷纷撤出。
马云最初创业的时候也是做的企业黄页,类似企业的信息查询网站,也以失败告终。
2003年的非典,可以说从另外一个方面极大的推广了互联网应用。大家都不能出门,既不用上班,也不能逛街,那干什么?只能在家玩了。这个时候淘宝出现了。大家在家也能逛街了,购物了。非典极大的推广了淘宝的使用。
刚开始淘宝还只局限在某些商品的购买,但是现在,大家看到了,几乎无所不能。
和大家讲这么多,其实是想说:这个社会是有很多行业的,而现在互联网已经融入到这个社会的各行各业,没有哪个行业不涉及互联网。
今后的企业都会是互联网企业,不利用互联网的企业必然会被淘汰。为什么?互联网其实就是个工具,就是个平台,它能极大的减少人和人之间的距离,减少沟通成本,提高沟通效率。
我们90年代上学的时候,相互的交流都靠写信,一来一回需要几个月。你这封信写的问题,等对方回答,等收到回信之后几个月过去了,你都忘了上封信说的啥问题了。
而现在,几乎都是在进行实时沟通。所以说互联网就是一个工具,一个具备先进生产力的工具。别人都在用互联网提高生产率,你不用,那么你就会落后,就得挨打!举个例子:就好像我们去北京,人家都坐高铁,你非得坐大巴,走国道,你说你打赢别人吗?
所以,今后的企业都会是互联网企业,所有的企业都会,都必须使用互联网。互联网会涉及到我们的方方面面。
现在互联网解决了我们的购物,餐饮,今后会进一步涉及到金融、教育、医疗,下一步重点发展就是智能设备、无人驾驶汽车,等等等等。
其实我们国家的互联网的发展已经超过欧美发达国家了。我们现在出门可以只带手机,连钱包都不用。这在欧美也是做不到的。
随着互联网应用的普及,会需要越来越多的软件开发人员。因为所有的功能都需要软件来完成,没有软件的硬件,是没有任何用处的。例如一台笔记本,不装软件,那基本就没什么用处。
所以软件人才的需求量会越来越大!这是科技的发展,是时代的要求,是人类社会发展的潮流,是必然趋势,而不会是昙花一现。
这也就是解释了为什么总理会提出“互联网+”,并且把互联网作为国家战略。“互联网+”简单来说就是用互联网改造所有行业,改造所有企业。
这样的话,互联网的开发人才需求会小吗?
第一点:第三方交易系统。回答Java的使用在金融行业使用的是比较广泛的,很多银行,证券他们的服务软件,还有交易平台 Murex ,都是 Java 编写,并与许多的银行前台所连接,提供服务。
第二点:网站建设。Java以强大的前端能力和各种厉害的框架在网站开发领域,占据着很大的份额。并且我们可以运用许多不同的框架来创建web项目。像政府机构,医院,保险以及其他的很多的部门网站都是以Java为基础来开发。
第三点:移动互联应用。可以说Java的另一个强大的领域莫过于安卓系统和手机app了,当你打开手机,随便一个app应用就是由Java来编写的。
第四点:大数据技术。Java大数据可以说是现在比较火热的职业,而且薪资待遇都是万元起步的,但是Java大数据的要求比较高,学历也更加看重,如果这方面学的好话,找工作也是比较容易的。
第五点:嵌入式开发领域。一些产品已经把大量Java标准版库的高生产率引入到嵌入式开发领域。从Java切入嵌入式系统的领地算起的大约5~7年之后,针对硬实时和深度嵌入式系统的Java产品已经呈现一片生机盎然的景象。