軟件構件是指應用系統中能夠明確辨識的構成成分,可複用構件是指具備相對獨立功能和可複用價值的構件。目前,構件的概念即包括源代碼,也包括需求、需求規約、系統和軟件的體系結構、文檔、測試計劃、測試用例和數據以及其餘對開發活動有用的信息,這些信息均可以稱爲可複用軟件構件。軟件構件技術是支持軟件複用的核心技術,其主要研究內容包括:如何有目的的進行構件生產和從已有系統中挖掘提取構件;構件的本質特徵及構件間的關係是什麼樣的;如何描述構件;如何對構件進行分類、組織及檢索等。
研究實踐代表,因爲某個特定領域須要的軟件具備類似的需求,所以軟件複用在特定領域內更容易得到成功,由此出現了領域工程。領域工程是爲一組類似或相近系統的應用工程創建基本能力和必備基礎的過程,它涵蓋了創建可複用軟件構件的全部活動。包括美國卡內基·梅隆大學軟件工程研究所(CMU/SEI)在內的許多研究機構已經提出了一些領域分析方法。
若是軟件複用僅停留在代碼階段,開發人員獲得的好處是有限的。軟件體系結構技術使軟件複用從代碼複用發展到設計複用和過程複用。在建築工程領域人們用體系結構表達建築的總體結構,軟件工程研究中引人體系結構這個術語,其核心內容是軟件系統的結構,它包括以下一些實體:構件、構件之間的交互關係、限制、構件和鏈接件構成的拓撲結構、設計原則與指導方針。
2.2工程管理的角度
參考其餘成熟工程領域中的作法,軟件工程也研究管理學理論在軟件工程中的應用。軟件項目管理方法拋棄了之前我的的做坊式開發方式,根據管理科學的理論,結合軟件產品開發的實際,保證工程化系統開發方法的順利實施。爲了使軟件項目可以按照預約的成本、進度、質量順利完成,軟件管理方法對成本、人員、進度、質量、風險、文檔等進行分析管理和控制。進行軟件項目管理有利於將開發人員的我的開發能力轉化成企業的開發能力,企業的軟件開發能力越高,代表這個企業的軟件生產越趨向於成熟,其開發風險也越小。軟件項目管理已是公認的軟件開發企業的核心競爭力之一。
根據在前面提到的軟件與其餘產品的區別,軟件項目管理具備一些與其餘項目管理不一樣的特性軟件項目管理中遵循着一些原則,例如:軟件項目中須要平衡需求、資源、工期、質量這四個要素之間的關係;大規模的項目要拆分紅幾個小項目,從而減少項目的管理風險,而且使目標具體明確;依靠一套規範的過程來實時控制項目進度,並確保項目經理可以及時
發現問題、解決問題,保證項目具備很高的可見度;針對不一樣項目的特色,制訂不一樣的項目管理的方針政策;合理控制項目組的規模控制原則;有效的積累知識,作到人員的專業化培養。
目前在軟件項目管理方面有國際標準化組織專門爲軟件行業定製的ISO9003標準,它給出了衡量軟件質量的準則;美國卡內基·梅隆大學軟件工程研究所提出的CMM(CapabilityMaturityModel,能力成熟度模型)則提供了一整套較爲完善的軟件研發項目管理的方法。
3軟件工程的新發展
20世紀末開始流行的Internet給人們提供了一種全球範圍的信息基礎設施,造成了一個資源豐富的計算平臺,將來如何在Internet平臺上進一步整合資源,造成巨型的、高效的、可信的虛擬環境,使全部資源可以高效、可信地爲全部用戶服務,成爲軟件技術的研究熱點。
Internet平臺具備一些傳統軟件平臺不具有的特徵:分佈性、節點的高度自治性、開放性、異構性、不可預測性、鏈接環境的多樣性等。這對軟件工程的發展提出了新的問題。軟件工程須要新的理論、方法和技術和平臺來應對這個問題。目前投入很大精力研究的中間件技術就是這方面的典型表明。
綜上所述,Internet及其上應用的快速發展與普及,使計算機軟件所面臨的環境開始從靜態封閉逐步走向開放、動態和多變。軟件系統爲了適應這樣一種發展趨勢,將會逐步呈現出柔性、多目標、連續反應式的網構軟件系統的形態。面對這種新型的軟件形態,傳統的軟件理論、方法、技術和平臺面臨了一系列挑戰。從宏觀上看,這種挑戰爲咱們研究軟件理論、方法和技術提供了可貴的機遇,使咱們有可能創建一套適合於Internet開放、動態和多變環境的新型軟件理論、方法和技術體系。從微觀的角度來看,Internet的發展將使系統軟件和支撐平臺的研究重點開始從操做系統等轉向新型中間件平臺,而網構軟件的理論、方法和技術的突破必將致使在創建新型中間件平臺創新技術方面的突破