天天看點

軟體體系結構 章一

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/1463497

章一

 1)計算機系統:适當地組織在一起的一系列系統元素的集合,這些系統元素互相配合、互相協作,通過對資訊的處理而完成預先定義的目标。

系統元素有:計算機軟體、計算機硬體、人員、資料庫、文檔和過程。

2)軟體過程:是為了獲得高品質軟體産品所需要完成的一系列任務的架構,它規定了完成各項任務的工作步驟。又稱軟體生存周期過程,是在軟體生存周期内達到一定目标而必須實施的一系列相關過程的集合。

3)安裝在軟體生命周期全過程中應完成的任務的性質,在概念上可以把軟體生命周期劃分成問題定義、可行性研究、需求分析、概要設計、詳細設計、編碼和單元測試、綜合測試以及維護等8個階段。

4)瀑布模型的缺點:最終傳遞的産品可能不是使用者真正需要的。

快速原型模型改進了瀑布模型,在各階段加入了使用者回報。

增量模型具有能在軟體開發的早期階段,使投資獲得明顯回報和易于維護的優點,但軟體不具有開放結構。

風險驅動的螺旋模型适用于大規模的内部開發項目。

噴泉模型是一種典型的、适合于面向對象範型的過程模型,其軟體生命周期是循環的。

5)依據複用的對象,軟體複用分為産品複用和過程複用。

産品複用:複用已有的軟體構件,通過構件內建得到新系統。

過程複用:指複用已有的軟體開發過程,使用可複用的應用生成器來自動或半自動地輸出所需系統。

依據對可複用資訊進行複用的方式,軟體複用可分為黑盒複用和白盒複用。

黑盒複用:指對已有構件不需作任何修改,直接複用。

白盒複用:指已有構件并不能完全複合使用者需求,要根據使用者需求進行适應性修改後才可使用。

6)實作軟體複用的關鍵因素:

軟體構件技術 Software Component Technology

領域工程 Domain Engineering

軟體體系結構 Software Architecture

軟體再工程 Software Reengineering

開放系統 Open System

軟體過程 Software Process

7)軟體構件技術

構件:指應用系統中可以明确辨識的構成成分;

可複用構件:指具有相對獨立的功能和可複用價值的構件。

可複用構件的屬性:有用性、可用性、品質、适應性、可移植性。

軟體構件技術是支援軟體複用的核心技術,其主要研究内容有:構件擷取、構件模型、構件描述語言、構件分類與檢索、構件複合組裝、标準化。

8)領域工程:是為一組相似或相近系統的應用工程建立基本能力和必備基礎的過程,它覆寫了建立可複用軟體構件的所有活動。

領域:指一組具有相似或相近軟體需求的應用系統所覆寫的功能區域。

領域工程的3個主要階段:領域分析、領域設計、領域實作。

9)軟體再工程:是一個工程過程,它将逆向工程、重構和正向工程組合起來,将現存系統重新構造為新的形式。

再工程的基礎是對系統的了解,包括對運作系統、源代碼、設計、分析、文檔等的全面了解。

10)開放系統技術:

基本原則:在系統開發中使用接口标準,同時使用符合接口标準的技術。

開放系統技術具有在保持(甚至是提高)系統效率的前提下降低開發成本、縮短開發周期的可能。

開放系統技術為軟體複用提供了良好的支援。特别是分布對象技術。

11)軟體體系結構:是對系統整體結構設計的刻畫,包括全局組織與控制結構,構件間通訊、同步和資料通路的協定,設計元素間的功能配置設定、實體分布、設計元素內建、伸縮性和性能、設計選擇等。

在基于複用的軟體開發中,為複用而開發的軟體體系結構可以作為一種大粒度的、抽象級别較高的軟體構件進行複用,而且軟體體系結構還為構件的組裝提供了基礎和上下文,對于成功的複用具有非常重要的意義。

研究點:軟體體系結構原理與風格、軟體體系結構的描述和制約、特定領域軟體體系結構、構件化軟體體系結構的內建機制等。

12)軟體工廠:是一個以計算機為依托,并由計算機控制的程式設計環境,程式的制作、檢查和使用都應當在此環境中,并用其中的工具來實作。

軟體工廠圍繞軟體設計與開發的目标,将支援模型和方法相關的軟體工具組織在一起,形成一個有機的集合。

軟體生産線中,開發人員分為3類:構件生産者、構件庫管理者和構件複用者。

13)軟體體系結構:指建立系統時的構造範型、構造風格和構造模式,軟體體系結構對于軟體系統的構造所起的是指導性的作用,着重于軟體系統的總體架構。

軟體體系結構的内容:

  (1)軟體的成分及系統架構;

  (2)軟體成分的選擇、各成分之間的互相作用、軟體成分的進一步複合以及指導複合過程的總體模式;

  (3)系統的功能、性能、設計以及從多種方案及選項中進行選擇的決策。

14)軟體體系結構研究動态

目前分為4類:

  (1)研究體系結構的表示;體系結構描述語言ADL(Architectural Description Language)

  (2)體系結構的分類;軟體體系結構分析方法SAAM

  (3)特定領域軟體體系結構架構的研究;

  (4)研究有關軟體體系結構的形式化問題。

研究難點和待解決的問題:

軟體體系結構還不夠成熟,沒有統一的體系結構劃分标準和設計原則,缺乏形式化技術對它進行完整性和一緻性的分析,缺乏有效的計算機輔助工具幫助開發人員進行軟體體系結構的設計。