發展
計算機系統工程的思想最初源於問題求解的思維活動。隨著這種求解活動的模型化,理論上建立了相應的計算模型。而微電子、數位技術的發展,逐步將抽象化的計算模型予以邏輯上、物理上的實現。計算機的發明,標誌著計算機系統工程的建立。
組成部分
1.系統分析員
毫無疑問系統分析員是計算機系統工程中最重要和最活躍的元素之一。
(1)系統分析員的職責與工作
系統分析員(亦稱為系統工程師)的責任就是要在總的系統(宏元素)結構中定義那些基於計算機系統的特定元素。系統分析員的工作:
①與用戶研究、設計系統目標和系統的約束條件,確定系統的邊界;
②準確定義系統目標及其構成,將系統目標分解成層次清晰、儘可能相互獨立的多個子系統,設計出各個子系統的功能、性能、接口和信息結構,用規範的技術文檔表達系統的構成——即設計方案;
③把所有系統的功能逐個分配到“基於計算機系統的系統元素”中。
功能是指系統運行所具備的目標能力;性能是指以怎樣的狀態實現這些功能;接口是系統各個部分之間、系統與外部之間的聯繫以及聯繫的狀態和方式。
2.硬體和硬體工程
系統分析員選擇某種硬體元件的組合以構成基於計算機系統的硬體元素。在選擇硬體時,要考慮以下幾個特性:
(1)對各種元件打包,形成一些單獨的構件塊;
(2)各個元件之間的接口應當是標準的;
(3)可以有多種配置的候選方案;
(4)比較各個方案的性能、成本、有效性。
3.軟體和軟體工程
在基於計算機的系統中,軟體和軟體工程的主要任務是把系統的某些功能和性能分配給軟體系統。在某種情況下,把功能簡單地看作是一個順序的數據處理過程的實現,對性能不顯示地定義;在另一些情況下,功能是對內部各個系統元素的協調和對其他並發程式的控制,而性能則顯示地定義為回響和等待時間等。
4.人與人類工程
基於計算機的系統一般離不開人這一元素。人可以直接與軟硬體互動,通過特定對話方式來驅動系統的功能實現,並且對系統的開發和維護負責。
近年來,人們對基於計算機系統中人這一元素的看法有了改變。早期基於計算機的系統總是把著眼點放在硬體與軟體易於實現上,並強迫用戶按系統規定的方式與系統通信,而完全不考慮人是否容易理解。現在,已經把“用戶友好性”放在優先的位置,基於計算機系統的人類工程已成為系統開發中一個重要的步驟。
5.資料庫和資料庫工程
資料庫工程,包括資料庫分析、設計和實現,是一門技術學科。
資料庫工程是一個重要的研究課題,但是,並不是所有的基於計算機的系統都使用資料庫。對於使用資料庫的系統來說,這種信息倉庫往往是所有功能的數據核心;對於不使用資料庫的系統來說,數據分析和設計仍然是最基本的軟體工程活動(因為程式是數據結構與算法的總稱)。資料庫工程的主要內容是定義查詢類型、數據存取關係和數據容量,它們總稱為數據設計。
工作過程
在開始構造一個新的基於計算機的系統時,計算機系統工程師(系統分析人員和系統開發人員)首先根據用戶定義的系統目標和約束條件進行系統可行性研究和系統需求分析,此時必須做大量、細緻的研究、論證工作,如有必要,還需建造系統或其中關鍵部分的原型,以便正確、完整地確定系統的功能需求和性能需求。然後,系統工程師將系統功能和性能分配到系統各要素之中。需要指出,為各個系統要素指派功能和性能可能存在多種實現方法,系統工程師應提出多種預選的方案,然後根據系統設計目標和約束條件並按照一定的原則設計並選擇最佳方案。比如,在成本、進度、系統資源、系統性能、支撐環境等方面進行取捨和折衷。在此基礎上,對系統需求進行分解並分配給硬體、軟體等系統要素,進而生成硬體、軟體等系統要素的需求,並分別通過硬體工程、軟體工程、人機工程、資料庫工程等幾個子工程予以實現。