 資訊系統(Information System)泛指為了特定目的而存在,用來蒐集、保存各種活動的資料,然後加以整理、分析、計算,產生有意義、有價值的資訊,這類資訊包含企業所需生產、管理及競爭的相關訊息,可提供決策者制定決策與行動時參考,以支援組織經營管理,並提升組織效能,進而為組織獲取利益,常見的資訊系統包含: • 交易處理系統(Transaction Processing System, TPS):處理商業活動或交易資料,例如訂單輸入系統以及POS(Point of Sale)前台收銀系統。 • 管理資訊系統(Management Information System, MIS):從交易處理系統取得原始資料,保存紀錄並轉化成有意義的資訊,以結構化的報表呈現給管理者,例如會計管理系統,以及POS後台系統。 • 決策支援系統(Decision Support System, DSS):由不同來源蒐集與特定決策相關的資料,產生有助決策者制定決策時參考的資訊。 • 企業支援規劃(Enterprise Resource Planning, ERP)系統:整合與規劃企業資源包含了生產、配銷、人力資源、研發與財務等企業各功能性部門的作業,目的在提供整體性、一致性與即時性的有效資訊,例如上下游供應鏈管理系統。
現今的資訊系統多依賴於電腦技術建置而成,組成元件包含人員、硬體、軟體、資料及網路等五大資源,彼此相互依存以維持資訊系統正常運作。 • 人員:包含資訊專業人員以及業務單位之使用者。 • 硬體:包含主機和周邊設備,如個人電腦、伺服器、印表機等。 • 軟體:包含程式和程序,如系統應用軟體及資訊處理指令等。 • 資料:包含資料庫和知識庫等。 • 網路:用來收集於傳播資訊的通訊媒體和網路技術。 資訊系統組成
主流的資訊系統架構,可分為集中式架構、主從式架構及Web-based應用系統架構。 集中式架構的特徵,是由集中式大型主機(Mainframe)一手包辦所有的工作內容,包含資源分配、應用程式執行及儲存資料等,此種架構又以IBM公司所推出的大型主機產品為代表,通常可處理大筆的資料量,並支援多位使用者同時透過終端機登入系統進行各自操作。此架構好處為維護管理容易,但缺點為主機成本高昂。 主從式架構特徵是區分使用者端(Client)與伺服器端(Server)兩種角色,使用者端主動提出服務請求並等待伺服器的回應,伺服器端則被動接收服務請求,並在處理完成後將結果回傳給使用者端。使用情境例如,使用者端向檔案伺服器要求傳送特定檔案,伺服器接收到請求,並判斷檔案存取權限後,將檔案傳送給使用者端,完成所需的服務。傳統主從式架構為二層式主從式架構,使用者端為展示層,也就是使用者實際接觸到的應用程式,負責商業邏輯運算並提供操作介面,而伺服器端則為資料層,例如使用資料庫進行資料儲存。這種架構好處為分散運算資源,減輕了伺服器的工作量,但缺點為維護管理不便,一旦需要異動應用程式,必須逐一在各個使用者端進行更新,較為費時費力。三層式主從式架構則將商業邏輯層獨立出來,當需要修正商業邏輯時,僅需更改商業邏輯層的應用程式即可,不需要逐一更新展示層,因此提高了應用程式開發及維護的便利性,但缺點是若使用規模持續擴大後,應用程式層容易成為此架構的效能瓶頸。也可將商業邏輯層進一步細分,成為更多階層的多層式主從式架構。 Web-based應用系統架構與傳統的主從式架構最大的差別,在於使用者端透過Web瀏覽器即可向Web伺服器發送存取要求。Web伺服器又可分為靜態及動態,靜態Web伺服器單純提供文件、音訊或視訊等資料內容,於使用者端瀏覽器呈現,使用二層式主從式架構即可應付這種相對簡單的設計。動態Web伺服器則可處理使用者端輸入的資料,讓站台提供更多的功能服務,由於運作機制較為複雜,故常使用三層式(以上)的主從式架構;使用情境例如使用者透過瀏覽器填寫帳號註冊或產品訂購表單,傳送至Web應用程式伺服器進行商業邏輯處理,並儲存至後端資料庫。Web-based應用系統架構已成為現今最流行的架構,優點為使用便利性高,不限連線裝置類型或時間地點,皆可透過網際網路存取站台資源及服務。而系統開發人員也可專注於伺服器端的Web應用程式開發與維護工作,不需要特別為使用者端開發操作介面程式,只要處理好瀏覽器相容性等問題即可。但另一方面,Web站台帶來方便性的同時,也無時無刻面臨資訊安全的威脅,且駭客攻擊技術日益精進,使得開發及管理人員必須耗費更多的心力,才能確保資訊系統的安全性。 規模較大的資訊系統開發專案,可能包含數萬甚至百萬行以上的程式碼, 由於複雜性高,在設計與開發系統時,應採用具有計畫性及組織性的方法才能確保系統品質,做出正確及符合使用者需求的成品。 系統開發生命週期(System Development Life Cycle, SDLC)將系統開發過程分解為多個階段,並定義了每個階段需要完成的任務,又可以瀑布式模型(Waterfall Model)為代表,其最早強調應於系統開發專案起始到結束的過程,應具有完整的生命週期,將週期內各個階段依固定次序由上而下相互銜接,並要求完整經歷所有階段,就如同瀑布流水一般。 典型的瀑布式模型可分為: • 研究規劃階段:界定系統發展目標,分析專案時程、人力、經費及技術,決定系統發展的可行性與範疇。 • 需求分析階段:定義系統需求,目的在決定「系統需要做什麼?」。此階段通常以功能需求為優先考量,但亦包含效能、可靠度及安全等需求。 • 系統設計階段:分析系統需求並定義解決方案,目的在決定「系統要如何做?」。此階段可進一步細分為概要設計與詳細設計,概要設計是將各項需求轉化為意義明確的模組,例如身分驗證模組、商業運算模組等;而詳細設計則可針對每一個模組內部運作方式進行更具體的描述,可能包括系統架構、商業邏輯規則、演算法及底層的組成元件等。 • 開發實作階段:依設計進行系統實作,為建構活動中的重要階段,例如撰寫程式碼以實現系統功能。 • 測試驗證階段:利用測試活動找出系統問題與錯誤,或是驗證需求是否已被滿足。常見測試類型包含功能測試、效能測試及安全測試等。 • 系統部署階段:部署泛指將系統投入上線正式運作而進行的所有活動,包括安裝與建置軟硬體、設定功能參數等。 • 系統維運階段:系統實際上線後,為了確保運行過程穩定可靠,或是依需求調整運作環境,所以需要更新系統元件、調整功能參數、修補錯誤與弱點等活動。 • 現今已有許多SDLC方法論被建立,大多數是以瀑布式模型為主軸並加以改良,如螺旋模型(Spiral Model)[1]、V模型( V-model)[2],以及反覆式與漸進式模型(Iterative and Incremental Model)[3]等。
|