系統架構設計師學習之路(21)

2021-10-25 18:25:20 字數 956 閱讀 6648

軟體重用是指在兩次或多次不同的軟體開發過程中重複使用相同或相似軟體元素的過程。

軟體元素包括需求分析文件、設計文件、程式**、測試用例和領域知識等。

這些軟體元素又稱為軟部件。

為了能夠在軟體開發過程中重用現有的軟部件,必須在此之前進行軟部件的積累,並將它們組織成軟部件庫。

軟體重用又分為橫向重用和縱向重用。

(1)橫向重用

指重用不同應用領域中的軟體元素,例如資料結構、分類演算法和人機介面構件等。標準函式庫是一種典型的、原始的橫向重用機制。

(2)縱向重用

指在一類具有較多公共性的應用領域之間進行軟部件重用。在兩個截然不同的應用領域之間實施軟體重用的潛力不大,所以縱向重用廣受矚目。

縱向重用活動的主要關鍵點即是域分析:根據應用領域的特徵及相似性**軟部件的可重用性。

一旦根據域分析確認了軟部件的重用價值,即可進行軟部件的開發,並對具有重用價值的軟部件進行一般化,以便他們能夠適應新的類似的應用領域。

然後,軟部件及其文件即可進入軟部件庫,成為可供後續開發專案使用的可重用資源。

使用重用技術可以減少軟體開發活動中大量重複性工作,提高軟體生產效率,降低開發成本,縮短開發周期,改善軟體質量,軟體的軟體逆工程靈活性和標準化程度更高。

逆向工程與重構工程是目前預防性維護採用的主要技術。

軟體的逆向工程就是分析已有的程式,尋找比源**更高階的抽象表現形式。一般認為,凡在軟體生命週期內將軟體某種形式的描述轉換成更為抽象形式的活動都可稱為逆向工程。

相關概念:

1.恢復資訊的級別

顯然,上述資訊的抽象程度越高,它與**的距離就越遠,通過逆向工程恢復的難度亦越大,而自動工具支援的可能性相對變小,要求人參與判斷和推理的工作增多。

2.恢復資訊的方法

儘管每個軟體組織都有可能有數百萬行**可供重構,但由於缺乏時機和支援工具或者經濟上的得不償失,往往只有那些決定或移植、或重新設計、或為重用而需驗證正確性的程式才被選擇實施逆向工程。

系統架構設計師學習之路(17)

4.1.1 軟體開發生命週期 軟體開發周期是指軟體產品從形成概念 構思 開始,經過定義 開發 使用和維護,直到最後被廢棄 不再使用 為止的全過程。1.軟體定義時期 1 問題定義 2 可行性研究 3 需求分析 2.軟體開發時期 概要設計 詳細設計 編碼3.軟體執行及維護 軟體執行 軟體維護 4.1.2...

系統架構設計師學習之路(35)

近年來,在物件導向領域中的乙個重要突破就是提出了設計模式的概念。軟體的設計模式是人們在長期的開發實踐中良好經驗的結晶,它提供了乙個簡單 統一的描述方法,使人們可以復用這些軟體設計方法 過程管理經驗。由於設計模式在表達上既經濟又清楚,從而越來越受到重視。本章將介紹軟體設計模式的概念 組成要素和分類,並...

系統架構設計師學習之路(11)

2.4.3 多 系統的組成 1.多 硬體 2.多 軟體 多 軟體系統按功能分為系統軟體 應用軟體。系統軟體是多 系統的核心,不僅具有綜合使用各種 靈活排程多 資料進行 的傳輸和處理的能力,而且要控制各種 硬體裝置協調地工作。多 系統軟體主要包括多 作業系統 素材製作軟體及多 函式庫 多 創作工具與開...