軟件集成是指根據軟件需求,把現有軟件構件重新組合,以較低的成本、較高的效率實現目的要求的技術。
軟件需求:
軟件需求是:
(1)用戶解決問題或達到目標所需條件或權能(Capability)。
(2)系統或系統部件要滿足合同、標準、規范或其它正式規定文檔所需具有的條件或權能。
(3)一種反映上面(1)或(2)所述條件或權能的文檔說明。它包括功能性需求及非功能性需求,非功能性需求對設計和實現提出了限制,比如性能要求,質量標準,或者設計限制。
軟件需求包括三個不同的層次—業務需求、用戶需求和功能需求—也包括非功能需求。
業務需求( business requirement)反映了組織機構或客戶對系統、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。
用戶需求(user requirement)文檔描述了用戶使用產品必須要完成的任務,這在使用實例(use case)文檔或方案腳本(scenario)說明中予以說明。
功能需求(functional requirement)定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足了業務需求。所謂特性(feature)是指邏輯上相關的功能需求的集合,給用戶提供處理能力并滿足業務需求。
軟件復用:
軟件復用(SoftWare Reuse)是將已有軟件的各種有關知識用于建立新的軟件,以縮減軟件開發和維護的花費。軟件復用是提高軟件生產力和質量的一種重要技術。早期的軟件復用主要是代碼級復用,被復用的知識專指程序,后來擴大到包括領域知識、開發經驗、設計決定、體系結構、需求、設計、代碼和文檔等一切有關方面。
軟件復用是一種計算機軟件工程方法和理論。60年代的“軟件危機”使程序設計人員明白難于維護的軟件成本是極其高昂的,當軟件的規模不斷擴大時,這種軟件的綜合成本可以說是沒有人能負擔的,并且即使投入了高昂的資金也難以得到可靠的產品,而軟件重用的思想是解決這一問題的根本方法。
軟件復用的主要思想是,將軟件看成是由不同功能部分的“組件”所組成的有機體,每一個組件在設計編寫時可以被設計成完成同類工作的通用工具,這樣,如果完成各種工作的組件被建立起來以后,編寫一特定軟件的工作就變成了將各種不同組件組織連接起來的簡單問題,這對于軟件產品的最終質量和維護工作都有本質性的改變。