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