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版本,檢查是否配置成功