軟體開發,尤其是商業軟體開發,是乙個系統工程。開發者,尤其是管理者需要系統地去考慮和控制整個開發過程中的每個環節,以保證軟體的質量。下面首先從軟體架構談起,結合我自己的開發經驗,跟大家共同**一下如何通過軟體平台化保證產品質量。
為什麼平台化?
按照物件導向設計思想和重構理論,軟體開發過程中要盡量不要對已有**進行改,而是採用增量式的開發方式,以避免對老**進行修改時引入新的bug。為什麼要這樣呢?因為**編寫出來後是要進行測試的,通過測試來發現和解決**中存在的bug。當一段**編寫完成並測試通過後,我們就可以說這段**基本上沒有bug了,是穩定的(最起碼在當前可預知的條件下是穩定的)。如果對這段已經穩定的**進行了修改,那穩定就被打破了,也就無法保證這段**沒有bug了,必須要進行新的、全面的測試和修改後才可以重新說這段**是穩定的。可是實際的商用軟體開發過程中,我們能保證可以對被修改的**重新做一遍完整的測試嗎?你可以說「我可以」。但是如果你的老闆告訴你這**實現的功能明天就要交付給客戶,那你還可以說「我可以」?好,如果你是乙個高手,通過一宿的加班,你還是可以說「我可以」。那如果你修改的這段**剛好是乙個剛剛生病住院的兄弟寫的,而你只是臨時頂替他,並且你不完全熟悉這段**的細節,那你還可以說「我可以」嗎?不熟悉**的情況下你還能夠保證測試的全面性嗎?
在商用軟體開發過程中,這種情況應該是會經常遇到的。進度緊張、加班加點、人員離職。。。。。。一系列的問題都在不停的干擾著我們以理想的方式去完成軟體的開發。這種情況下,我們所要做的,只有提高效率。不必要的工作盡量不去做,也就有了上面說的增量式開發的理論。最起碼,增量式開發方式可以減少你做一些不必要的測試工作,也可以減少對老**的修改引入新bug的風險。大家常說的到高內聚和低耦合,其實也就是這個道理。
言歸正傳,為什麼軟體架構設計要平台化呢?
要解釋這個問題,需要首先說明什麼是平台。按照我的理解,平台應該是在一定的需求範圍之內,封裝了為實現這些需求而必須具備的一些基本功能和執行邏輯的軟體框架。這個框架式和具體的業務無關的,僅僅定義了一些為實現這些業務而必須具備的介面。並通過這些介面搭建起來的乙個完整的、可執行的軟體框架。在這個平台之上,可以根據不同的需求,對平台定義的介面進行實現,來實現具體的業務。(描述得比較抽象,請大家慢慢體會)
綜上所述,平台化,就是要把軟體開發人員從紛繁的開發工作中解放出來,讓他們可以把主要精力都集中到業務相關功能的開發上來,提公升開發效率。這就是平台化的目的。
好了,天也不早了,洗洗睡了。後面有時間,再和大家進一步**如何實現軟體架構的平台化。
管理軟體向「平台化」發展
管理軟體正迎來第三次革命。日前,在由it權威研究機構計世資訊 ccwre search 主辦的 管理軟體技術發展趨勢研討會 上,與會代表一致認為 管理軟體第三次革命的主題是 平台化 即管理軟體向業務基礎軟體平台遷移。管理軟體此前經歷了兩次技術變革。第一次是從dos平台轉移到windows平台 第二次...
軟體平台構建
mplab c for pic18 v3.35 upgrade version的安裝程式到microchip的 有 破解程式乙個,對v3.35有效 原理是建立假檔案,騙過c18 upgrade version的安裝程式 先執行執行破解程式,選擇c18即將要安裝的路徑後按儲存 之後直接執行c18 up...
軟體外包平台
專案眾包 無憂案例 程式設計師客棧 快碼眾包 kuaima.co coding碼市 猿團 oschina眾包 zb.oschina.net 碼易眾包平台 geekmayi.com 人人開發 rrkf.com 帝天科技 外包團隊,不是眾包平台 碼客幫 www.make8.com 我愛方案網 kb.52...