承德石油高等專科學校計算機與信息工程系 李磊
在我國軟件開發技術領域,軟件開發企業大部分規模不大,標準化程度不高,屬于中小企業。中小軟件企業與大型軟件開發企業相比較,在風險管理、人員組織管理、軟件項目管理等方面顯得資源缺乏,管理不規范,好多軟件項目都是就事論事,可重用性不高,同時軟件容易形成漏洞遭受攻擊,質量不高。在資源稀缺的情況下,很容易形成小部分人或幾個人組成的開發團隊掌握整個企業重要信息的現象,項目開發的任務就落在這幾個人組成的開發團隊身上,加重了核心開發人員的負擔,同時由于是一些企業重要信息不方便向全部項目組成員公開,造成了團隊成員之間信息交流不通暢,所有的不利因素使得軟件企業時刻都處在風險值較高的范圍內。在這種情境下,中小型軟件企業軟件開發的效率和質量必然受限制。它們迫切需要尋找一種能提高軟件開發效率的方法,用來改良現有的開發流程管理體系,或者盡快找到新的解決方法來指導開發,對產品或項目質量進行跟蹤管控。
隨著軟件技術的不斷發展,各種人性化設計、大眾化的操作系統和開發工具等在帶來便捷的同時,也使得軟件開發日益復雜化,在進行軟件開發時需要各個軟件、組件協同工作。開發人員配備安排不協調不得當會導致潛在問題的產生,甚至影響整個系統。比如由于團隊成員間溝通不暢通而間接造成代碼冗余高、開發周期長,產品可靠性可重用性低下、質量低劣,維護困難,用戶抱怨使用不便,項目風險增加等。事實表明,軟件開發行業需要高效率的開發以規避軟件企業的風險。
再者,傳統Web 開發方式需要處理的業務邏輯和處理方式都有類似之處,但編寫代碼的過程大都顯得重復和乏味。有些時候模塊間的耦合度在沒有降低處理的情況下,就直接把頁面表現與邏輯實現混雜在一起,造成代碼編寫效率不高。對開發者而言,選擇一個功能完備并且操作簡潔的開發框架輔助完成復雜流程的開發工作,會對開發效率的提升起到很大的幫助作用。
種種現象表明在軟件開發行業建立起敏捷的、工廠式模塊化的軟件生產模式已成為軟件行業發展的迫切需要,而且這種工廠式模塊化開發模式逐漸發展成為中小企業進行軟件開發首選的實踐模式。
在Web 軟件開發過程中,MVC 設計模式已是一種被眾多軟件項目開發實踐應用并被廣泛推崇的標準設計模式,MVC 是模型(Model)、視圖(View)、控制器(Controller)的縮寫。模型層的操作對象是數據庫和數據表,負責完成數據的增刪改查的交互操作。控制層主要任務是業務邏輯處理,具體任務是接收視圖層發送的請求,并按照業務邏輯和模型層進行交互,最后把處理的結果返還給視圖層。視圖層負責把控制層處理的結果數據進行封裝以網頁形式展現給用戶。MVC 模型如圖1 所示,MVC 模式的軟件設計理念提供了良好的軟件制作途徑。實踐證明,在中等開發規模以上的軟件企業中,應用MVC 模式開發軟件獲得的高效便捷的好處要遠遠大于它所帶來的額外工作和復雜性。基于MVC 的開發框架并不少見,但由于Django 是一個高效的、減少重復代碼、具備新穎簡潔開發模式和巨大的發展潛力的Web框架,在軟件生產過程中Django 成為Web 開發的首選框架。

圖1 Web 開發中的MVC
敏捷式開發是一種與傳統開發模式完全不同的開發模式:傳統開發模式大多采用瀑布模型作為系統開發的藍圖,每個開發步驟必須嚴格遵守開發計劃,且必須有對應的開發文檔,注重開發進程和開發工具的使用,把簽訂合同作為工作目標。而敏捷式開發過程對于采用什么樣的開發模型、開發文檔并不關心,更側重于注重開發團隊成員之間的關系、所開發的軟件產品的質量,注重開發過程中與客戶經常溝通常調整開發計劃、協同工作,實現開發過程的“敏捷”。
軟件工廠是指為了降低軟件開發成本、提高開發效率,把以前使用過的可重復利用的組件配置到特定應用程序而搭建的開發環境,是開發模式、開發模型和開發工具的綜合運用。目前,軟件開發一般都是由程序員按照軟件需求,依照瀑布模型人工手動的方式編寫代碼,這種方式的缺陷是編寫代碼的速度緩慢、經濟成本高、容易出錯,軟件代碼的可重用性、安全性、算法的性能以及其他軟件質量方面出現產品缺陷,造成嚴重的問題。同時軟件開發人員為了工作必須面對不斷更新發展變化的軟件技術開發平臺,必須適應不斷變化的用戶需求,不斷學習新開發技術,嘗試使用更新的開發工具,這就需要一種既能為軟件開發者提供簡潔明了的開發便利,又能在短時間內給用戶帶來效益的方法。軟件工廠的優勢恰好符合這個需求,可以解決上述問題,它使得軟件生產條理化、系統化。工廠式的軟件開發管理模式能確保制作軟件的過程如同現實工廠生產零部件一樣,實現軟件產品加工過程的規范、標準,軟件項目實施人員對軟件零件進行隨意組合;軟件工廠還能隨著用戶需求變化而變化,解決了用戶需求不確定性問題;軟件工廠把已經開發的組件收集起來形成自己的資源,并盡可能組織利用這些資源,使軟件組件的可重用性大大提高,開發人員的工作量明顯減少,開發成本降低;軟件工廠采用并行流水式作業,使多個項目并行開發,可以實現批量生產。零件式、模塊化的組裝方式提升了軟件系統的拓展空間;利用軟件工廠進行軟件開發,用戶可以控制項目進度、周期、資金成本、項目質量,開發速度得到提高,項目效益和成功性得到保障;軟件工廠使維護工作只需針對需要維護的對象展開,工作量大大減少。軟件工廠件能夠大幅度提高效率,實現大規模的定制,這將會促進應用軟件產業根本性的變革。
基于MVC 的軟件開發模式已經在軟件開發行業形成一種規范,通過這種設計思想開發的軟件實現了軟件開發的模塊化,開發效率和傳統的瀑布式開發模式相比大大提升,在MVC 的基礎上又注入敏捷式、工廠化的軟件開發思想,使得開發并行流水化,降低了開發成本,縮短了開發周期,提高了軟件開發的速度和效率。