在軟件工程中,人們對軟件生命周期的描述和前麵介紹的係統工程的描述很相似,一共經曆了六個階段:規劃分析設計編碼測試運行維護。
我們也可以采用下麵軟件生命周期的三階段過程描述。
(一)軟件定義階段
這一階段主要解決所要開發的軟件能做些什麼,它至少要包括軟件項目規劃和需求分析兩個步驟。
在項目規劃中,人們要確定軟件開發的總目標,給出所開發軟件的功能、技術性能(例如處理能力、輸入/輸出能力和響應時間)、可靠性、可擴充性、保密性、可維護性以及環境適應性等方麵的設想,由軟件開發人員和用戶合作進行可行性分析,並對可利用資源、開發成本、開發效益和開發進度進行設計,製訂實施計劃並提供審批。
在需求分析中,人們要對軟件的需求進行詳細精確的定義,分析數據流,寫出功能說明書及用戶手冊初稿。
(二)軟件開發階段
這一階段主要解決要開發的軟件將怎樣工作。本階段要考慮軟件的總體結構、數據結構和程序結構,以及如何用編程工具來實現的問題。一般這個階段包括軟件設計、程序編製和軟件測試。
(三)軟件維護階段
這一階段主要解決軟件的使用。本階段涉及到對軟件使用中的故障排除,對開發中遺留的錯誤及時確認和修改,也涉及到為了更好適應環境和發揮軟件功能進行新的擴充或修改。
其最終任務是確認係統的更新。
軟件的定義、開發、維護是一個基本順序過程,但是實踐中在前後兩個階段之間總是存在著必要的反複調整。例如,當我們在軟件規劃中確定軟件功能、技術性能以及可靠性、可擴充性時,必然涉及到對於係統結構、基本數據結構、程序結構的設想。反之,當我們在軟件設計中完成了各種結構的設計,才有可能最終確定係統的保密性、可靠性、可擴充性的水平。
如上所述,我們正在討論的係統規劃(項目規劃),在軟件工程中是被當作其在第一階段(軟件定義)中的首要任務。因為有了規劃,才能確定係統的總目標,有了總目標,才能開展係統的需求分析,並進入開發的下一階段工作。
三、管理信息係統工程對係統規劃的研究
建立一個飯店管理信息係統,涉及到飯店經營中的多個環節和多個部門,同時這個信息係統又是整個飯店經營體係(即飯店經營係統)中的一個中樞部分,涉及到計算機軟件、計算機硬件和經營管理組織。對於這樣複雜的任務,我們不能隻限於前麵對係統工程和軟件工程的簡單討論,需要確定具體的管理信息係統工程方法。
係統規劃係統分析係統設計係統實現係統維護
我們所要討論的係統規劃包括:初步調查、係統功能定義、可行性分析、製定實施計劃。
討論至此我們已經可以看出,無論是係統工程、軟件工程還是管理信息係統工程,作為它們的第一步工作都是係統規劃,隻是對係統規劃(在軟件工程中稱為項目規劃)的具體定義相互略有些不同。簡單地講,係統工程的描述比較概括(並強調優化),軟件工程討論的對象在規模和工程難度上又相對較小,管理信息係統工程恰在二者之間,對象的規模比較大而描述也比較細一些。
需要特別指出的是在管理信息係統工程中,對於係統的調查工作、功能定義工作都需要進行兩輪循環。首先在規劃階段,人們要進行係統的初步調查和確定係統總體功能定義、總體結構及總體配置;而後在開發階段,人們還要再次進行細致的工作,即再次完成係統詳細調查、詳細功能定義、詳細結構和具體配置。關於開發階段的工作我們將在下一章討論,下麵先具體討論係統規劃中的初步調查。