軟體體系結構 1概論

2021-10-11 03:21:58 字數 2568 閱讀 9347

工程:(廣義)由一群人為達到某種目的,在乙個較長時間週期內進行協作活動的過程

軟體工程:是一門研究用工程化方法,構建和維護有效的、實用的和高質量的軟體的學科

軟體危機主要表現

成本日益增長

開發進度難以控制

軟體質量差

維護困難

軟體危機產生原因

使用者需求不明確

缺乏正確的理論指導

軟體規模越來越大

軟體複雜度越來越高

軟體重用:在兩次或多次不同的軟體開發過程中,重複使用相同或相近軟體元素的過程

可重用的元素/軟體元素

程式**

設計文件

需求分析文件

測試用例

設計過程

領域知識

構件定義

語義完整、語法正確、有可重用價值的單位軟體

是軟體重用過程中可以明確辨識的系統

結構上它是語義描述、通訊介面和實現**的複合體

構件規模:不是越大越好,也不是越小越好。具體情況具體分析

實現模型:omg-corba、sun-ejb、ms-dcom

構件模型-青鳥模型=外部介面+內部結構

構件實現:具體實現構件功能的邏輯系統,即**構件

圍繞構件展開的工作:構件獲取—-》構件管理—》構件重用

構件為什麼可以獲取:可根據構件名稱、構件功能描述來查詢相應構件

構件不是在任意情況下都可被重用:構件可能是為某一特定領域服務而構造的

重用技術與領域間的關係

領域具有內聚性、穩定性——前提

可重用資訊具有領域特定性——約束

領域工程包括:領域分析、領域設計、領域實現

構件獲取途徑

由現有構件——使用或適應性修改

由遺留工程——提取

由軟體市場——購買

開發新的構件

構件管理:對大量的構件進行有效的管理,以方便構件的儲存、檢索和提取。

構件描述

實現方法

實現體注釋

生產者生產日期

規模**

版本關聯構件

… …

構件描述不等於構件模型

構件描述:管理角度的細節刻畫

構件模型:本質的抽象描述

構件組織要求

支援構件庫維護

查詢:精確

模糊功能行為檢索

精確描述領域

易於使用

構件組織方法

超文字法

構件分類

構件開發目的:構件重用

構件檢索方法

基於刻面法

構造查詢

檢索構件

排序

基於超文字

乙個或多個關鍵字匹配

返回相關文件

使用者通過超鏈跳轉瀏覽

軟體體系結構定義

(1)dewayne perry和alexander wolf:

構件的集合,包括處理構件、資料構件和連線構件

處理構件負責對資料進行加工,資料構件是被加工的資訊,連線構件把體系結構的不同部分組合連線起來

(2)kruchten

軟體體系結構四個角度:概念角度、模組角度、執行角度、**角度

概念角度描述系統的主要構件及它們之間的關係;模組角度包含功能分解與層次結構;執行角度描述了乙個系統的動態結構;**角度描述了各種**和庫函式在開發環境中的組織

(3)ieee

對軟體體系結構的定義:軟體體系結構是乙個程式/系統各構件的結構、它們之間的相互關係以及進行設計的原則和隨時間演化的指導方針

(4)我們的定義

軟體體系結構為軟體系統提供了乙個結構、行為和屬性的高階抽象

由構成系統的元素的描述、這些元素的相互作用、指導元素整合的模式以及這些模式的約束組成。軟體體系結構不僅指定了系統的組織結構和拓撲結構,並且顯示了系統需求和構成系統的元素之間的對應關係,提供了一些設計決策的基本原理

軟體體系結構的商業週期

軟體體系結構意義

早期設計決策的體現

風險承擔者交流的手段

可傳遞可重用的模型

高層復用製品,企業戰略財富

軟體體系結構發展史

軟體體系結構 軟體體系結構概論

開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...

一 軟體體系結構概論

軟體危機的表現 軟體成本日益增長 開發進度難以控制 軟體質量差 開發維護困難 軟體危機的原因 使用者需求不明確 缺乏正確的理論知道 軟體規模越來越大 軟體複雜度越來越高 構建的定義 構建是指語義完整 語法正確和可有重用價值的單位軟體,是軟體重用過程中可明確辨識的系統。結構上它是語義描述 通訊介面和實...

軟體體系結構

軟體體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件 資料構建 連線構建。處理構建 負責對資料進行加工 資料構建 是被加工的資訊 連線構建 把體系結構的不同部分組合連線起來 1 作為通訊的手段 2 代表了早期的設計決策結果 3 高層次的設計復用手段 1 軟體體系結構是風險承擔者 又稱涉...