軟件質量之路(4):建立核心框架 軟件質量管理
關鍵字:建立核心框架
軟件質量的重要性是不言而喻的,但是當所有人都意識到它的重要性的時候,卻很少有人能夠清晰的描述出如何才能夠提高軟件質量。軟件質量框架的目的就在于提出一個評價的原型,幫助我們分析一種方法和技術是否能夠提高軟件質量。本系列文章分日構建、測試驅動開發、建立核心框架、面向組件的大規模軟件架構來進行深入的分析。
框架是一種特殊的軟件,它為軟件開發帶來了高度的重用性,但同時它也需要高技巧的設計。軟件組織使用框架來積累知識,對推動軟件開發是一種有效的方式,但前提是你能夠了解如何設計一個框架。
什么是框架
在軟件開發中出現過各種各樣的框架,開源軟件的興起,使得各種各樣的框架紛紛出現,例如,Apache組織下就擁有諸多的框架類產品,包括國內很熟悉的struts。那么,什么是框架呢?
在設計模式中,Gamma等人為框架給出了一個定義:"框架就是一組協同工作的類,它們為特定類型的軟件構筑了一個可重用的設計。"[Gamma 94,p.26]
框架是針對特定的問題領域的,例如,struts是一個針對Web開發的框架。
框架包括了一組的抽象概念。這些抽象概念來源于問題領域。例如,struts是基于MVC模式進行設計的,所以它必須為model、view、control建立抽象概念。
框架使得這些抽象概念相互協作,并提供了一種擴展的形式,以實現重用。這是框架的具體工作?蚣茉诔橄蟾拍钌线M行工作,定義抽象概念之間的協作方式?蚣芎推胀ㄜ浖蚴穷悗斓膮^別就在于,用戶通過擴展框架來重用該框架。這些擴展點的設計稱為框架設計的核心。例如,在struts1.0中,采用的是類繼承的擴展方式(對Action進行擴展)。
框架實例
spring(http://www.springframework.org)是一個開源的框架,這個框架定位于一個整體的基于J2EE的應用型框架。他的定位哲學是不重新發明輪子。例如,他提供了數據庫訪問機制,但是他的數據訪問機制是基于JDBC、Hibernate和JDO的。重用和再包裝的思路充滿了整個spring框架。國內的軟件產業大都定位在系統集成,這種思路非常適合于國內的軟件組織。使用這個例子的目的也在于此。
框架應該盡可能使用現有的技術。而不要重復投資。
JDBC是一個非;A的數據存取API。它封裝了對關系型數據庫的訪問,但是應該承認,JDBC仍然屬于層次較低的API,所以在使用的時候,我們不得不編寫大量的代碼,來完成一件簡單的工作:
PreparedStatement st = db.prepareStatement("SELECT USER.NAME FROM USER");
ResultSet rs = st.executeQuery();
while(rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
st.close();
文章來源于領測軟件測試網 http://www.kjueaiud.com/