1. 程式人生 > >軟件開發中,什麽是模塊化開發?

軟件開發中,什麽是模塊化開發?

競爭 系列 版本 滿足 嚴重 text 裝系統 集合 自己的

軟件產品可以被看作是由一系列具有特定功能的組件組成,作為一個完整的系統也可以被分解成一系列功能模塊,這些模塊之間的相互作用就形成了系統的所有功能。
所謂模塊是指可組成系統的、具有某種確定獨立功能的半自律性的子系統,可以通過標準的界面和其他同樣的子系統按照一定的規則相互聯系而構成的更加復雜的系統。每個模塊的研發和改進都獨立於其他模塊的研發和改進,每個模塊所特有的信息處理過程都被包含在模塊的內部,如同一個“黑箱”,但是有一個或數個通用的標準界面與系統或其他模塊相互連接。
在軟件的模塊化開發過程中,把一個源代碼的結構分割成一個元系統和一系列的模塊。
元系統指的是一個能夠保持系統運轉的最小的系統。
模塊是一個較大系統的獨特的部件,它能夠由設計者獨立設計出來,同時又可以作為一個整體在系統中運轉。
把一個大系統切割成互相獨立的不同的小系統,可以使一些並不是經常見面的開發者減少必要的交流次數。
另外,一個舊版本的模塊可以被新版的模塊所替換,同時卻又不影響整個系統的運轉。
這樣,在新模塊中所增加的功能就可以及時在現存的系統中體現出來,同時也不需要更改系統中的其他模塊。
高度模塊化的源代碼結構給軟件開發者和使用者均帶來了極大的好處。
開發者可以對具有某種特定功能的模塊進行獨立開發而不需要花時間去協調與其他模塊之間的關系。
並且模塊化開發不僅允許模塊之間的水平開發,而且可以通過對類似模塊之間的創新和競爭(開發新的模塊或者對原有的模塊進行改進)充分改善系統的功能。
另外,作為最終的用戶來說,在安裝系統的時候可以就個人的需求與偏好選擇適合自己的模塊。
模塊化是復雜系統的一個共同特征,模塊化的代碼結構是由松散的組件構成的,是對一個系統完全意義上的分割,而不像完全集成的代碼,各個組件之間存在很強的依賴關系,並不是完全通過界面來交換信息。總結:
第一,             把一個系統分解成各個不同的子模塊,不同的開發者專註於對其中某一模塊的開發,一方面實現了勞動的分工,另一方面也提高了自由軟件開發的效率。基於模塊化的性質,每個模塊在開發出來以後都可以通過一個被稱作是內核的原系統進行信息交流,發揮整個模塊的功能,同時也並不會影響其他模塊功能的發揮。而且在各個不同的模塊整合在一起後,由於外部性的存在,會使整個系統增加的功能要超過該模塊本身的功能。在此過程中實現了價值的分割與整合。
第二,             對於開發者而言,基於模塊化的自由軟件開發具有更大的吸引力,其在參與開發過程中可以得到更高的期望收益。
第三,             在非模塊化的軟件開發過程中,存在著嚴重的“搭便車”現象,當一個開發者選擇參與開發,其余的開發者就會選擇“搭便車”,最終會導致軟件的供給不足;在基於模塊化的開發過程中,所有的開發者都更傾向於參與開發不同的模塊,從而實現整個系統的開發。
MIS軟件開發中的組件模式開發比較復雜,主要的阻力不在代碼的實現過程中,因為這個工作通常只應該占據軟件開發工作量的30%,而對業務需求的深度剖析、業務子系統的劃分和業務組件的規劃會占據約40-50%的工作量。
這些工作體現在設計階段主要是對業務的廣度、深度分析,把業務領域的對象元素進行細化,將業務操作劃分為原子性功能,以此為基礎構成業務組件,進而形成模塊和子系統,同時業務操作之間的約束則需要邏輯化(代碼系統可識別的邏輯);在此過程中,原系統也就形成了,它便是在業務領域中必須的組件、模塊和子系統的集合;外延的組件在原系統上通過組合或熱差拔即能夠滿足不同規模、深度、特性的業務模式運轉。

軟件開發中,什麽是模塊化開發?