天天看點

《系統分析與設計方法及實踐》一1.3 軟體系統開發範型

範型的意思是指模型或模式;而在軟體工程學科中,範型用來表示一套涵蓋整個軟體生産過程的技術的集合。目前使用得最廣泛的軟體工程方法學,分别是結構化開發範型和面向對象開發範型。

結構化開發範型自1968年被提出,經過了多年的發展,形成了一套完整的體系。構成結構化開發範型的技術包括結構化分析、結構化設計、結構化程式設計和結構化測試,這些技術在以資料為主的系統或小型系統方面得到廣泛應用。采用結構化技術來完成軟體系統開發的各項任務,并使用适當的軟體工具或軟體系統開發環境來支援結構化技術的運用。這種範型把軟體的生命周期依次劃分為若幹個階段,然後順序地完成每個階段的任務。采用這種範型開發軟體的時候,從對問題的抽象邏輯分析開始,一個階段接一個階段地進行開發,進而降低了整個軟體開發工程的困難程度。引入結構化開發範型所帶來的主要改進展現在軟體工業上。結構化開發範型在工業領域的運用是軟體工程被大規模采納的主要原因。

結構化開發範型獲得成功的原因是,結構化技術考慮問題要麼面向行為,要麼面向資料。軟體的基本組成部分包括軟體的行為和這些行為操作的資料。有些結構化技術,如資料流分析是面向行為的,這些技術集中處理産品的行為,資料則是次要的。反之,有些結構化技術,如jsp系統開發技術是面向資料的,這些技術以資料為中心,在資料上操作的行為則是次要的。

随着軟體系統的規模不斷擴大,結構化開發範型越來越難以應付。也就是說,結構化開發範型處理5000行或50 000行代碼是有效的,然而,當今的軟體系統,50 000行或5 000 000行甚至更多行代碼的産品非常普遍。

面向對象開發範型把資料和行為看成同等重要,即将對象視作一個融合了資料及在其上操作的行為的、統一的軟體元件。對象的概念符合業務或領域的客觀實際,反映了實際存在的事物,也符合人們分析業務本質的習慣。

面向對象技術自20世紀90年代提出以來得到快速發展,并被應用于各種各樣的軟體開發中。面向對象技術将資料和資料上的操作封裝在一起,對外封閉,實作了資訊隐藏的目的。使用這個對象的使用者隻需知道其暴露的方法,通過這些方法來完成各種各樣的任務,完全不需要知道對象内部的細節,保證了相對獨立性。

面向對象技術的優勢主要展現在維護階段。相對于結構化技術,面向對象開發範型無論對象的内部細節如何變化,隻要對象提供的方法(即接口)保持不變,則整個軟體産品的其他部分就不會受到影響,不需要了解對象内部的變化。是以,面向對象開發範型使維護更快、更容易,同時産生回歸錯誤的機會也大大降低。

面向對象開發範型使開發變得相對容易。大多數情況下,一個對象對應實體世界中的一個事物。軟體産品中的對象和現實世界的同等對應物之間的密切對應關系,促進了更優化的軟體開發。對象是獨立的實體,是以面向對象開發範型促進了複用,降低了開發維護的時間和費用。

目前,傳統的結構化開發範型仍然是人們在開發軟體時使用得十分廣泛的軟體工程方法學。廣大軟體工程師對這種範型比較熟悉,而且在開發某些類型的軟體時也比較有效,是以,在相當長一段時期内這種方法學還會有生命力。此外,如果沒有完全了解傳統範型,也就不能深入了解這種範型與面向對象開發範型的差别以及面向對象開發範型為何優于傳統範型。在使用結構化開發範型時,分析階段和設計階段過渡太快,而面向對象開發範型是一種疊代的從一個階段向另一個階段過渡的範型,比結構化開發範型平滑得多,進而降低了開發過程中的故障數。