第一章 系統分析與設計簡介
1-1 資訊系統
一、資訊系統簡介
[資訊系統] 13 | 85,86,88,92(2),93(2),94(2),95,96,97(2)
85地三、86高三、88高三、92調三、92檢三、93退三、93電員晉高、94警三、94專檢、95身三、96關簡、97高二、97地三
(一)定義
是指可記載、保存各種活動的資料,然後加以整理、分析、計算,產生有意義、有價值的資訊。這類資訊可供決策者制定決策與行動時參考。
(二)組成元件
1.硬體:伺服器、工作站、網路、通訊設備、光纖纜線。
2.軟體:系統軟體、應用軟體。
3.資料:資料→資訊→知識。
4.程序:實際的日常作業。
5.人員:內部使用者、外部使用者。
(三)資訊系統架構
[資訊系統架構] 4 | 98,103,106,107
98關簡、103高三、106外四、107鐵高
1.集中式架構(Centralized Architecture):
(1)定義:
a.以集中式的大型主機 (mainframe) 來儲存一個資訊系統所有的資料、程式和介面元件供多人使用。
b.使用者透過終端機 (或以 PC 來模擬終端機) 與系統互動。
c.所有真正的處理和工作都在主機上完成。
(2)優點:
a.系統管理單純,因為所有的資源均由主機作業系統分配與管理。
b.屬於封閉式作業系統,這種作業系統再與其他系統的連接上雖然有極大的問題,但是在資料安全上卻比較容易控制。
(3)缺點:
a.主機工作負擔較重。
b.主機更替成本高。
c.維護成本重。
d.只能處理文字模式的介面,無法支援圖形使用者介面 (GUI)。
e.缺乏彈性的環境。
2.檔案伺服器架構(File Server Architecture):
(1)定義:
a.在區域網路中,由檔案伺服器 (File Server) 負責需求排班與管理、傳送與保存資料。
b.當客戶端 (Client) 向伺服端提出需求時,伺服端會將相關的檔案完整的傳送至客戶端進行處理,然後在客戶端處理資料的運算,等完成之後再將檔案傳回檔案伺服器儲存。
(2)優點:
a.用戶端處理資料可以降低檔案伺服器處理資料的負擔。
b.可以使用圖形使用者介面 (GUI)。
(3)缺點:
a.由於每次伺服器都是傳送資料所在的完整的檔案至客戶端,因此,過大的資料流量易造成系統的瓶頸。
b.所有計算都在用戶端完成,其個人電腦最好都有不錯的運算能力 (所謂的複雜型用戶端)。
c.必須處理複雜的資料鎖定 (data lock) 問題,資料庫整合性必須妥協。
3.主從式架構(Client/Server Architecture):客戶端-伺服器架構 / 分散式架構
(1)定義:
a.是一種網路架構,它把客戶端與伺服器區分開來。
b.前端的應用程式 (Client) 扮演者和使用者溝通的角色,強調簡單而且具備親和力的使用界面,以提供使用者進行查詢、修改、列印等輸入或輸出的作業,而後端的伺服器 (Server) 則負責執行前端應用程式所傳來的命令,並將處理的結果回傳給前端的應用程式,直接將結果顯示在使用者的眼前。至於網路系統則構築了前端應用程式與後端伺服處理器之間的互通管道。
c.透過網路連接散置各處的電腦,例如 2-Tier、3-Tier。
d.每一個客戶端軟體都可以向一個伺服器或應用程式伺服器發出請求。
e.有很多不同類型的伺服器,例如文件伺服器、遊戲伺服器等。
f.例如在維基百科閱讀文章時,電腦和網頁瀏覽器就被當做一個客戶端,同時,組成維基百科的電腦、資料庫和應用程式就被當做伺服器。當網頁瀏覽器向維基百科請求一個指定的文章時,維基百科伺服器從維基百科的資料庫中找出所有該文章需要的訊息,結合成一個網頁,再發送回瀏覽器。
(2)主從式架構(Client/Server architecture):主從式架構的組成要件
a.一個主從式架構主要由客戶端 (Client)、伺服器端 (Server) 與網路 (Network) 三個部分組成。
b.用戶端(Client):客戶端(Client) / 前端(front-end)
一般的個人電腦加上網路卡。透過一特定介面 (API) 與 Server 溝通,以向 Server 端提出請求,並且執行 DBMS 上的應用程式,並以適當的方式呈現出來。
c.伺服器端(Server):伺服器(Server) / 亦稱為後端(back-end)
DBMS 本身。依 Client 端需求提供服務給使用者的應用程式。負責運算、存放共同的資料以及應付客戶端需求的主機。
d.應用程式可以分為展現 (Presentation)、處理 (Processing)、與資料管理 (Data Management) 等部份,再分別由客戶端或伺服器端來完成。
e.客戶端透過網路提出要求,而伺服器端則透過網路回應此要求。
f.使用者介面程式和應用程式可以在用戶端執行。等到需要存取 DBMS 時,程式會建立一個到伺服端 DBMS 的連結,建立好之後,用戶端程式便可以和 DBMS 溝通。例如 ODBC 提供一種能讓用戶端程式呼叫 DBMS 的應用程式介面 (API),條件是用戶端和伺服端都要同時安裝需要的軟體。
g.網路環境:即連接客戶端及伺服器的線路及軟體。
[2-Tier]
Client 端直接與 Server 端相連來存取資料,沒有透過代理程式。
[3-Tier]
Client 端透過 Application Layer 與 Database Server 端相連來存取資料。
(3)主從式架構的優點:
a.可以達到軟體專業分工的目標,電腦作業將不受時空的影響限制,各項作業採用功能模組的分配、設計、開發、建置具備更大的彈性與便利。
b.所有的工作採用分散處理的方式,將人機介面處理完全交由客戶端 (Client) 的個人電腦或工作站負責,而主機或伺服器 (Server) 將只負責資料庫方面的資料處理工作,大幅降低主機或伺服器的工作量。
c.在主從式架構下的系統與傳統迷你及大型電腦相比,規模將大幅縮小,成本也將大幅降低,傳統迷你及大型電腦不論硬體、軟體、週邊設備都相當昂貴,同時系統又具封閉性,不容易替換產品。
d.由於 UNIX、Windows、網路等相關技術的問世,以及電腦硬體成本的大量生產導致價格大幅滑落後,採用主從架構使得電腦應用系統趨於普及,進而增加企業競爭力。
e.採集中控管,易於存取及管理。
f.簡單且與現有的系統相容性高。
g.適用於大規模的網路。
(4)主從式架構的缺點:
a.當程式需要修改或新增功能時,需分別進行修改,花費的時間及成本大,且系統較為複雜。
b.資料的安全性也有所影響,因為可能有部份資料是儲存在客戶端。
c.伺服器端的設備需求較高。
d.伺服器端的作業系統較複雜,管理人員必須接受訓練,才能妥善管理。
(5)2-Tier與3-Tier的比較:
比較 |
優點 |
缺點 |
2-Tier |
可藉由 Client 本身的運算能力分擔 Server 處理資料的負荷 |
1.針對不同的 Server 系統,需設計不同 Client 端介面 2.Client 越多,connection 越多, Server 負擔也越重 |
3-Tier |
可用中間的應用程式伺服器整合後端不同 Server,Client 只需面對單一的 agent 介面 |
規模不斷擴大後,中間端將成為此架構的瓶頸 |
※參考資料:
1.http://blog.cwke.org/2010/11/client-server-and-web-based.html
2.http://lips.lis.ntu.edu.tw/ycchuang/study/othersubject/datawarehouse/ClientServ.htm
3.https://tw.knowledge.yahoo.com/question/question?qid=1509102409574
4.http://www.gaya.org.tw/journal/m32/32-main4.htm
5.http://zh.wikipedia.org/wiki/%E4%B8%BB%E5%BE%9E%E5%BC%8F%E6%9E%B6%E6%A7%8B
6.http://www.ascc.sinica.edu.tw/iascc/nl/84/1109/03.html
4.Web-based架構(Web-based Architecture):網際網路(Intemet-based)架構
(1)定義:
透過網路傳輸形成數位化虛擬世界,使用者僅需透過瀏覽器 (Browser) 便可存取所需資訊。
(2)優點:
a.跨平台:任何作業系統只要能打開瀏覽器的都可以使用。
b.節省IT人員的時間以及維護成本:
不需要公司的 IT 人員維護每一台 PC 上面的軟體。
c.使用介面學習容易。
d.資料集中管理。
e.任何地點、任何時間都可以輕鬆操作:適合跨國公司或是常出差的人員。
(3)缺點:
a.受限於 Browser 的功能,無法作太多控制及變化 (如 HTML 弄個 BOM Tree)。
b.開發人員要學的工具及語言不少,至少 Browser Script (如 JavaScript 或 VBScript)、HTML (用 Front page 或 Dreamweaver 編寫) 及動態網頁語言 (如 ASP、JSP、PHP)。
※Web Server:
專門只處理 HTTP request 與 response,當收到 HTTP request 之後,需要商業邏輯 (business logic) 的部分就從 Application Server 取,最後把 result 轉為HTTP response。
※參考資料:
http://james687.logdown.com/posts/2014/06/07/web-server-application-server
※Application Server:
接受 Web Server 的 request,執行完商業邏輯 (business logic) 之後,把 result 回給 Web Server (過程中可能需要到資料庫存取資料)。
※參考資料:
http://james687.logdown.com/posts/2014/06/07/web-server-application-server
※三層式架構(Three-tier architecture):
106外四
(一)定義
1.三層式架構與傳統兩層式架構最大的差異處,為將商業邏輯 (business logic) 單獨分離出來,以減輕放置於用戶端或伺服器端電腦的負擔。
2.三層是指展示層 (Presentation Tier)、商業邏輯層 (Business Logic Tier)、和資料層 (Data Tier)。
3.將應用程式代理者 (Application agent) 置於 Client 與 Server 中間,存放商業邏輯 (Business logic),以處理 Client 與 Server 間往來的業務。
4.可以整合後端不同的 Server,以統一的方式呈現內部的資料。
(二)架構
1.展示層(Presentation Tier):
(1)個別用戶端的電腦上安裝了具備圖形化操作介面 (GUI) 的程式,而這些程式可以透過特定格式的表單,供使用者輸入適當的資訊,和將結果顯示出來,以便與伺服器進行互動。例如瀏覽器或其他用戶端應用程式。
(2)近年各種網頁服務應用日益盛行,使得單一伺服器已漸無法負擔熱門網站快速成長的網路流量。為了快速提供對用戶的服務,網頁伺服器通常採用負載平衡技術來縮短對用戶端的回應時間或是降低伺服器的負荷。
(3)網站受到攻擊事件時有所聞,未做好防禦就可能資料外洩或是系統癱瘓無法提供服務,要如何面對攻擊也成為系統管理人員重要責任。
2.商業邏輯層(Business Logic Tier):
(1)負責運算邏輯的處理程式於伺服器電腦上執行,其功能是接受來自用戶端的請求,並且決定何種資訊可以被傳送至用戶端。
(2)做為使用者介面與資料庫的橋樑,負責商業法則 (Business Rules)、與業務有關的資料處理、網站伺服器 (Web Server) 等工作,譬如使用 IIS 的網站伺服器,得撰寫 ASP 程式,並透過 DCOM 與 MTS (Microsoft Transaction Server) 的元件相溝通,再透過 ODBC 或 OLE DB 等機制與各種資料庫相連結。
(3)應用伺服器隨時可能因某個硬體元件故障造成停機。
3.資料層(Data Tier):
(1)包含了儲存大量資料的資料庫,以及用來管理維護這些資料的軟體。
(2)負責資料庫或訊息的處理 [如使用 SQL Server 資料庫的預儲程序 (stored procedures),或使用 MSMQ 做訊息的處理等]。
(3)資料服務層負責提供資料給商業邏輯層,再傳送至使用者介面層,所以用戶端無法直接存取資料庫的內容,必須透過運算邏輯層的連接,因而提高了系統的安全性。
(4)資料庫伺服器硬體故障或是當機等天災人禍而無法提供服務。
※參考資料:
1.http://www.borg.com.tw/Eip/books/doc/run9811.htm
2.http://www.ee.nuu.edu.tw/board/cnews.php?id=47
3.http://webcache.googleusercontent.com/search?q=cache:QWwAiRLLx-0J:www.ceci.org.tw/book/52/ch52_2.htm+&cd=12&hl=zh-TW&ct=clnk&gl=tw
※三層式主從架構的可能設計方式:
103高三
1.分散式展示(Distributed Presentation):
功能 |
客戶端 |
伺服端 |
資料管理 |
無 |
所有資料管理 |
資料分析 |
無 |
所有資料分析 |
資料展示 |
客戶端將伺服端展示的資料重新格式化展示 |
伺服端展示資料後傳送給客戶端 |
2.遠端展示(Remote Presentation):
功能 |
客戶端 |
伺服端 |
資料管理 |
無 |
所有資料管理 |
資料分析 |
無 |
所有資料分析 |
資料展示 |
在伺服端分析後的資料格式化後傳送給客戶端展示 |
無 |
3.遠端資料管理(Remote Data Management):
功能 |
客戶端 |
伺服端 |
資料管理 |
無 |
所有資料管理 |
資料分析 |
從伺服端分析接收原始資料 (raw data) 並且分析 |
無 |
資料展示 |
所有資料展示 |
無 |
4.分散式功能(Distributed Function):
功能 |
客戶端 |
伺服端 |
資料管理 |
無 |
所有資料管理 |
資料分析 |
從伺服端選取資料並且由客戶端分析 |
從伺服端選取資料並且分析,然後傳送給客戶端 |
資料展示 |
所有資料展示都經過伺服端及客戶端的分析 |
無 |
5.分散式資料庫(Distributed Database):
功能 |
客戶端 |
伺服端 |
資料管理 |
本地資料管理 |
在伺服端的資料分享管理 |
資料分析 |
從客戶端及伺服端接收資料並且分析 |
無 |
資料展示 |
所有資料展示 |
無 |
6.分散式處理(Distributed Processing):
功能 |
客戶端 |
伺服端 |
資料管理 |
本地資料管理 |
在伺服端的資料分享管理 |
資料分析 |
從客戶端及伺服端接收資料並且分析 |
資料從伺服端接收並且分析,然後傳送給客戶端做更深入分析及展示 |
資料展示 |
所有資料展示 |
無 |
※參考資料:系統設計與應用系統架構.ppt