1102-软件结构

一、软件的定义

软件可以认为是程序、文档、数据的合集;生活中我们常见的软件有手机上的app、网站、电脑软件,它们都属于前端。

软件就是前端通过接口把消息发送给后端(就是服务器:相当于电脑的主机)的程序,后端经过一系列的操作后把结果反馈给前端。

二、软件的分类

注:这里的客户端指的是app这种需要安装的

软件的结构类型为C/S和B/S,它们的区别如下:

C/S(Client Server)结构的软件:比如: QQ、 微信

缺点:更新的时候需要用户下载更新包然后再安装,程序员则需要开发客户端与服务端,开发维护成本高,兼容性差。

优点:安全性能高,网络依赖性低,响应速度快。

B/S(Browser Server)结构的软件: 比如: web知乎、哔哩哔哩

优点:软件版本升级的时候不需要用户下载更新包。减轻了系统维护、升级的支出成本,降低了用户的总体成本。

缺点:增加了服务端的压力,依赖网络,易用性不如app。

三、软件的组成

软件的结构分为前端和后端两部分 注: 这里的客户端包括app和网站

1.前端(客户端):根据使用对象和用途不同分为前台和后台。是提供给用户进行操作的程序。

·网站前台是面向访问用户(一般是app或者web)就是给访问网站的人看内容和页面;可以浏览公开发布的内容,用淘宝举例,比如产品信息、用户评价、添加购物车等操作;

·后台是用于对前台的信息管理后台(后台一般为web,比如:淘宝,有商家后台、也有管理员后台),比如管理库存、信息修改、登陆注册、文字图片、影音等其它文件的发布、更新、删除等操作,还有对用户信息、订单信息、访客信息的统计和管理。(就是对网站数据库和文件的操作和管理系统,以使得前台的内容能得到及时更新和调整)

2.后端(服务端):一般包括服务器、服务器软件(tomcat/nignx/iis/apache/gunicorn…)、程序、数据库、运行环境。
·服务器:服务器是一台电脑,也可以理解为一间很大的屋子,里面有很多锁着的门(端口)
·服务器软件:服务器软件是一个中转站,用来解析客户的请求或者打包程序返回的数据,可以理解为打开服务器里锁着的门的钥匙
·程序:程序负责处理服务器软件解析后的用户请求
·数据库:数据库用于存储各种各样的数据
·运行环境:因为程序会使用到各种各样的语言,每种语言也会有不同的运行环境,如果没有配置好运行环境的话,程序将无法运行

四、网络知识

(1)IP地址:IP地址分为公网IP、局域网IP、本机IP
·公网IP:是唯一的,我们在同一个互联网下,只有公网IP可以让每个人都去访问,而公网IP是由电信运营商进行分配的,通过这个公网IP可以找到该电脑,百度搜索IP可以查看自己的公网IP
·局域网IP:在自己家里的路由器会分配给每个连接的设备一个局域网IP,在局域网下,通过局域网IP可以找到该电脑,命令行下(win+R输入cmd)输入ipconfig可以查看自己的局域网IP。只有在同一个局域网下才可以互相访问。

·查看百度的IP地址:win+R输入cmd,输入ping http://www.baidu.com

·本地IP:每一台独立的电脑都有自己的称呼,一般是127.0.0.1或者localhost(就是域名)

(2)域名:域名(例如http://www.baidu.com)由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。由于公网IP比较复杂难以记住,所以可以购买域名来代替公网IP

·域名是相对于网站来说的,ip地址是相对于网络来说的,准确的说是通过dns服务器来完成的,你提交域名,他给你返回一个ip地址,也称之为域名解析),接着做出一个相应,将信息返回。

也就是:输入域名----域名解析服务器(dns)解析成ip地址---访问IP地址---完成访问的内容---返回信息

当我们的计算机想要和一个远程机器连接时,我们可以申请连接该机器ip地址下的DNS,例如:http://www.baidu.com。连接的时候,DNS会提供一个ip地址供服务器去寻找,所以,当我们在网址中输入:http://www.baidu.com,会获取到百度ip,并跳转页面

(3)端口:(就是计算机开的一道门,必须门开着才能进去)一个服务器一般有65535个端口,端口就是服务器的门口,里面可以存放程序、数据库等来供于完成用户的请求。我们登陆的网站输入IP地址后可以加端口号来指明这个请求发向服务器的哪个程序,不输入的话一般会指向默认端口

五、配置环境变量

1.下载JDK安装包后安装,一直点击下一步,建议装在默认的C盘

2.安装好后配置环境:我的电脑>右键>属性>高级系统设置>环境变量>在系统变量中找到Path然后新建,将jdk下bin目录的路径和jdk下的jre的bin目录的路径分别添加确认保存;

3.打开cmd输入java -version和javac -version查看jdk版本,检查是否配置成功