信息系統開發的四種方法分別是結構化方法、原型化方法、面向對象方法、面向服務方法。
結構化方法
結構化方法是一種傳統的軟件開發方法,她是由結構化分析、結構化設計和結構化程序設計三部分有機組合而成的。
結構化設計方法是以自頂向下,逐步求精,模塊化為基點,以模塊化,抽象,逐層分解求精,信息隱蔽化局部化和保持模塊獨立為準則的設計軟件的數據架構和模塊架構的方法學。
結構化方法目前主要應用在一些比較成熟的系統上,一般來說國家或者行業層面都有成熟的建設指導意見了(運用這種方法的前提是在開發之初就能全面認 識系統的信息需求),例如做一個戶籍管理系統
我們把一個系統與程序看成是一層一層的。戶籍管理系統可以劃分為:戶籍遷入遷出,人員遷入遷出,戶籍注銷,人員注銷等幾個子系統,而每個子系統又劃分為接收用戶信息,實施處理,提供返回信息等等部分。
(2)模塊化:即將幾個系統分成幾個模塊,每個模塊實現特定的功能,最終整個系統由這些模塊組成。模塊跟模塊之間通過接口傳遞信息,模塊最重要的特點就是獨立性,模塊之間還有上下層的關系,上層模塊調用下層模塊來實現一些功能。
(3)語句結構化:順序結構、分支結構、循環結構,都是常用的語句結構。
結構化分析方法的實質是著眼于數據流,自頂向下,逐層分解,建立系統的處理流程,以數據流圖和數據字典為主要工具,建立系統的邏輯模型。
結構化分析的步驟如下:
(1)通過對用戶的調查,以軟件的需求為線索,獲得當前系統的具體模型
(2)去掉具體模型中非本質因素,抽象出當前系統的邏輯模型
(3)根據計算機的特點分析當前系統與目標系統的差別,建立目標系統的邏輯模型
(4)完善目標系統并補充細節,寫出目標系統的軟件需求規格說明
(5)評審直到確認完全符合用戶對軟件的需求
原型化開發方法
原型法就是在開發時只是開發出一個樣品,而不是完整的軟件,界面什么的不是很完美。然后給客戶使用,然后再由客戶提出的需求再進行修改,知道客戶滿意為止。然后剩下的就是依照這個樣品開發正式的軟件了,這屬于摸著石頭過河的一種辦法。
面向對象方法
面向對象方法學在開始,是編程語言而被引入的。而把對象作為編程的實體最早是上世紀六十年代由Simula 67語言引入思維。在結構化方法學提出幾年之后,上世紀八十年代面向對象方法學逐漸走上歷史的舞臺,并在之后乃至現在大放異彩。面向對象方法學的思想是面向對象,以對象為中心,把數據封裝在對象內部成為對象的屬性,把面向過程的函數轉為對象的行為方法,把對象抽象成為類,用以描述和設計、開發軟件系統。
面向對象的分析方法是利用面向對象的思想進行建模,如實體、關系、屬性等,同時運用封裝、繼承、多態等機制來構造模擬現實系統的方法。
用開公司舉個例子。如果公司就只有幾個人,那么大家總是一起干活,工作可以通過“上帝視角“完全搞清楚每一個細節,于是可以制定非常清晰的、明確的流程來完成這個任務。這個思想接近于傳統結構化的開發。
而如果公司人數變多,達到幾百上千,這種“上帝視角”是完全不可行的。在這樣復雜的公司里,沒有一個人能搞清楚一個工作的所有細節。為此,公司要分很多個部門,每個部門相對的獨立,有自己的章程,辦事方法和規則等。獨立性就意味著“隱藏內部狀態”。比如你只能說申請讓某部門按照章程辦一件事,卻不能說命令部門里的誰誰誰,在什么時候之前一定要辦成。這些內部的細節你管不著。類似的,更高一層,公司之間也存在大量的協作關系。一個汽車供應鏈可能包括幾千個企業,組成了一個商業網絡。通過這種松散的協作關系維系的系統可以無限擴展下去,形成龐大的,復雜的系統。這就是OOP想表達的思想。
面向服務的架構
SOA 是面向服務的架構,即企業的 IT 系統是由服務組成的,也即企業的各個應用系統是由許多標準的服務件“組裝”起來的,組成應用系統中的各個服務之間是一種非常松耦合的關系。
服務基于簡單的“問/答”模型——我問你問題,你給我答案,那么對于“我”來說,“你”就是“服務”。但是答案反饋有同步和異步之分,同步就是我問你問題并在線等待你答復,而異步就是我問完你問題就去忙其他事情了,你有了答案之后再通知我。