工程:(廣義)由一群人為達到某種目的,在乙個較長時間週期內進行協作活動的過程
軟體工程:是一門研究用工程化方法,構建和維護有效的、實用的和高質量的軟體的學科
軟體危機主要表現
成本日益增長
開發進度難以控制
軟體質量差
維護困難
軟體危機產生原因
使用者需求不明確
缺乏正確的理論指導
軟體規模越來越大
軟體複雜度越來越高
軟體重用:在兩次或多次不同的軟體開發過程中,重複使用相同或相近軟體元素的過程
可重用的元素/軟體元素
程式**
設計文件
需求分析文件
測試用例
設計過程
領域知識
構件定義
語義完整、語法正確、有可重用價值的單位軟體
是軟體重用過程中可以明確辨識的系統
結構上它是語義描述、通訊介面和實現**的複合體
構件規模:不是越大越好,也不是越小越好。具體情況具體分析
實現模型:omg-corba、sun-ejb、ms-dcom
構件模型-青鳥模型=外部介面+內部結構
構件實現:具體實現構件功能的邏輯系統,即**構件
圍繞構件展開的工作:構件獲取—-》構件管理—》構件重用
構件為什麼可以獲取:可根據構件名稱、構件功能描述來查詢相應構件
構件不是在任意情況下都可被重用:構件可能是為某一特定領域服務而構造的
重用技術與領域間的關係
領域具有內聚性、穩定性——前提
可重用資訊具有領域特定性——約束
領域工程包括:領域分析、領域設計、領域實現
構件獲取途徑
由現有構件——使用或適應性修改
由遺留工程——提取
由軟體市場——購買
開發新的構件
構件管理:對大量的構件進行有效的管理,以方便構件的儲存、檢索和提取。
構件描述
實現方法
實現體注釋
生產者生產日期
規模**
版本關聯構件
… …
構件描述不等於構件模型
構件描述:管理角度的細節刻畫
構件模型:本質的抽象描述
構件組織要求
支援構件庫維護
查詢:精確
模糊功能行為檢索
精確描述領域
易於使用
構件組織方法
超文字法
構件分類
構件開發目的:構件重用
構件檢索方法
基於刻面法
構造查詢
檢索構件
排序
基於超文字
乙個或多個關鍵字匹配
返回相關文件
使用者通過超鏈跳轉瀏覽
軟體體系結構定義
(1)dewayne perry和alexander wolf:
構件的集合,包括處理構件、資料構件和連線構件
處理構件負責對資料進行加工,資料構件是被加工的資訊,連線構件把體系結構的不同部分組合連線起來(2)kruchten
軟體體系結構四個角度:概念角度、模組角度、執行角度、**角度
概念角度描述系統的主要構件及它們之間的關係;模組角度包含功能分解與層次結構;執行角度描述了乙個系統的動態結構;**角度描述了各種**和庫函式在開發環境中的組織(3)ieee
對軟體體系結構的定義:軟體體系結構是乙個程式/系統各構件的結構、它們之間的相互關係以及進行設計的原則和隨時間演化的指導方針
(4)我們的定義
軟體體系結構為軟體系統提供了乙個結構、行為和屬性的高階抽象
由構成系統的元素的描述、這些元素的相互作用、指導元素整合的模式以及這些模式的約束組成。軟體體系結構不僅指定了系統的組織結構和拓撲結構,並且顯示了系統需求和構成系統的元素之間的對應關係,提供了一些設計決策的基本原理軟體體系結構的商業週期
軟體體系結構意義
早期設計決策的體現軟體體系結構發展史風險承擔者交流的手段
可傳遞可重用的模型
高層復用製品,企業戰略財富
軟體體系結構 軟體體系結構概論
開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...
一 軟體體系結構概論
軟體危機的表現 軟體成本日益增長 開發進度難以控制 軟體質量差 開發維護困難 軟體危機的原因 使用者需求不明確 缺乏正確的理論知道 軟體規模越來越大 軟體複雜度越來越高 構建的定義 構建是指語義完整 語法正確和可有重用價值的單位軟體,是軟體重用過程中可明確辨識的系統。結構上它是語義描述 通訊介面和實...
軟體體系結構
軟體體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件 資料構建 連線構建。處理構建 負責對資料進行加工 資料構建 是被加工的資訊 連線構建 把體系結構的不同部分組合連線起來 1 作為通訊的手段 2 代表了早期的設計決策結果 3 高層次的設計復用手段 1 軟體體系結構是風險承擔者 又稱涉...