软件的结构
前言
在现代的社会当中,其实我们每天都在上网,不管是使用手机或者电脑,其实我们都在是使用的是软件,通过使用软件来便利我们的生活,那么问题来了,软件是什么,软件的结构又是什么呢?一、软件是什么?
软件是程序、文档、数据的一个集合。
软件的结构:
1、用户端/前端
2、服务端/后端
我们平时是怎么上网的呢?
- 我们在手机或者电脑的浏览器上进行上网
- 我们通过各种APP来上网(需要联网)
那我们上网的整个流程是怎样的,其中的过程是怎么发生的的呢?
下面我们就慢慢细说
-
客户端/前端:
所谓的前端和客户端,可以理解成呈现在我们面前的画面、网页等,比如,我们打开一个网页、APP里面呈现的,这就是前端/用户端,将信息直接呈现在用户面前。1.1 前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。
- 服务端/后端:
后端是在后台工作的,控制着前端的内容,主要负责程序设计架构思想,管理数据库等。后端更多的是与数据库进行交互以处理相应的业务逻辑,需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。
2.1 后端也包括:
(1)程序的运行环境:程序要运行要提供的环境,有些windows自带了就不用安装,有些则需自行安装
(2)服务器软件:提供访问的服务
(3)数据库:储存系统的所有数据
(4)后端程序:程序员写的代码
二、服务器:(运行服务端的机器)
服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。(其实,服务器跟电脑主机没什么区别,电脑主机也可以作为一个服务器)
三、操作系统:
- windows:一般在个人电脑上使用
(1)商业的(贵)
(2)图形化页面(容易导致死机) - linux:企业的服务器上使用
(1)开源的(不要钱)
(2)图形化页面可以不装(不容易导致死机) - OSX(苹果)
(1)贵
(2)苹果电脑的操作系统,和苹果电脑绑定售卖
而且服务器是常年运行的,服务器死机会导致很严重问题,所以企业一般为了控制成本和兼顾性能,大都选择linux作为服务器的操作系统。
四、数据库:
数据库是存放数据的仓库。
比如我们发的朋友圈,就会以数据的形式在腾讯的数据库中存储,我们查看朋友圈时,就会访问到腾讯的服务器,最后从服务器中返回我们朋友圈的数据,呈现在用户面前。
数据库也分为:(关系指的是表与表之间的关系)
(1)关系型数据库:Mysql、Oracle、SQL server
(2)非关系型数据库:redis、mangodb
mysql可以理解为我们电脑里的硬盘,读写数据时较慢
redis相当于手机或电脑的运行内存,速度比mysql快上千倍,一般用于储存临时的数据(比如登录时)
那我们的上网的流程大概理解为:
前端、后端以及数据库都可以在服务器中运行
说白了,服务器就是提供访问服务的
那前后端和数据库是怎么连接起来的呢?
前端和后端服务器中都存有对方的ip地址,可以通过接口来连接前后端
后端连接数据库也是如此,在后端服务器中存有数据库的地址,可以把后端和数据库连接起来
这样,我们就可以从服务器上获取我们需要的信息了
这样,我们就明白,我们平时上网的过程了吧,是不是很有意思