国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

中國航發(fā)網(wǎng)上商城首頁優(yōu)化課程設(shè)置

中國航發(fā)網(wǎng)上商城首頁,優(yōu)化課程設(shè)置,做網(wǎng)站三大主流框架,如何建立自己網(wǎng)站系列文章目錄 系統(tǒng)架構(gòu)設(shè)計(jì)高級(jí)技能 軟件架構(gòu)概念、架構(gòu)風(fēng)格、ABSD、架構(gòu)復(fù)用、DSSA(一)【系統(tǒng)架構(gòu)設(shè)計(jì)師】 系統(tǒng)架構(gòu)設(shè)計(jì)高級(jí)技能 系統(tǒng)質(zhì)量屬性與架構(gòu)評(píng)估(二)【系統(tǒng)架構(gòu)設(shè)計(jì)師】 系統(tǒng)架構(gòu)設(shè)計(jì)高級(jí)技能 軟件可靠性分析與設(shè)計(jì)…

系列文章目錄

系統(tǒng)架構(gòu)設(shè)計(jì)高級(jí)技能 · 軟件架構(gòu)概念、架構(gòu)風(fēng)格、ABSD、架構(gòu)復(fù)用、DSSA(一)【系統(tǒng)架構(gòu)設(shè)計(jì)師】
系統(tǒng)架構(gòu)設(shè)計(jì)高級(jí)技能 · 系統(tǒng)質(zhì)量屬性與架構(gòu)評(píng)估(二)【系統(tǒng)架構(gòu)設(shè)計(jì)師】
系統(tǒng)架構(gòu)設(shè)計(jì)高級(jí)技能 · 軟件可靠性分析與設(shè)計(jì)(三)【系統(tǒng)架構(gòu)設(shè)計(jì)師】

現(xiàn)在的一切都是為將來的夢想編織翅膀,讓夢想在現(xiàn)實(shí)中展翅高飛。
Now everything is for the future of dream weaving wings, let the dream fly in reality.

系統(tǒng)架構(gòu)設(shè)計(jì) · 基礎(chǔ)(一)【系統(tǒng)架構(gòu)設(shè)計(jì)師】

  • 系列文章目錄
  • 一、軟件架構(gòu)的概念★★★
    • 1.1 軟件架構(gòu)的定義
    • 1.2 軟件架構(gòu)設(shè)計(jì)4 + 1視圖
    • 1.3 軟件架構(gòu)設(shè)計(jì)與生命周期
    • 1.4 軟件架構(gòu)的重要性
  • 二、軟件架構(gòu)的風(fēng)格★★★★★
    • 2.1 軟件架構(gòu)經(jīng)典五大風(fēng)格
      • 2.1.1 數(shù)據(jù)流體系結(jié)構(gòu)風(fēng)格
        • 2.1.1.1 批處理風(fēng)格
        • 2.1.1.2 管道/過濾器風(fēng)格
      • 2.1.2 調(diào)用/返回系結(jié)構(gòu)風(fēng)格
        • 2.1.2.1 主程序/子程序風(fēng)格
        • 2.1.2.2 面向?qū)ο箫L(fēng)格
        • 2.1.2.3 層次結(jié)構(gòu)風(fēng)格
      • 2.1.3 以數(shù)據(jù)為中心系結(jié)構(gòu)風(fēng)格
        • 2.1.3.1 倉庫結(jié)構(gòu)風(fēng)格
        • 2.1.3.2 黑板結(jié)構(gòu)風(fēng)格
        • 2.1.3.3 超文本系統(tǒng)風(fēng)格
      • 2.1.4 虛擬機(jī)體系結(jié)構(gòu)風(fēng)格
        • 2.1.4.1 解釋器風(fēng)格
        • 2.1.4.2 規(guī)則系統(tǒng)風(fēng)格
      • 2.1.5 獨(dú)立構(gòu)件體系結(jié)構(gòu)風(fēng)格
        • 2.1.5.1 進(jìn)程間通信風(fēng)格
        • 2.1.5.2 事件驅(qū)動(dòng)系統(tǒng)風(fēng)格(隱式調(diào)用)
    • 2.2 C2風(fēng)格
    • 2.3 閉環(huán)風(fēng)格
  • 三、基于架構(gòu)的軟件開發(fā)方法(ABSD)★★★★
    • 3.1 體系機(jī)構(gòu)設(shè)計(jì)的方法概述
    • 3.2 基于架構(gòu)的開發(fā)模型(ABSD)
  • 四、特定領(lǐng)域的軟件架構(gòu)(DSSA)★★★
    • 4.1 特定領(lǐng)域的軟件架構(gòu) - 基本活動(dòng)
    • 4.2 特定領(lǐng)域的軟件架構(gòu) - 領(lǐng)域分析機(jī)制
    • 4.3 特定領(lǐng)域的軟件架構(gòu) - 建立過程
  • 五、軟件架構(gòu)的復(fù)用★★★

一、軟件架構(gòu)的概念★★★

1.1 軟件架構(gòu)的定義

軟件架構(gòu)概念

軟件架構(gòu)(Software Architecture) = 軟件體系結(jié)構(gòu)
指系統(tǒng)的一個(gè)或者多個(gè)結(jié)構(gòu),結(jié)構(gòu)包括:
(1)結(jié)構(gòu) - 軟件的構(gòu)件(可能是程序的模塊、類、或者中間件)
(2)屬性 - 構(gòu)件的外部可見屬性
(3)交互作用 - 構(gòu)件之間的相互關(guān)系

軟件架構(gòu)的本質(zhì)

軟件架構(gòu)為軟件系統(tǒng)提供了一個(gè) 結(jié)構(gòu)、行為和屬性的高級(jí)抽象。
軟件架構(gòu)風(fēng)格是特定應(yīng)用領(lǐng)域的 慣用模式,架構(gòu)定義 一個(gè)詞匯表和一組約束。

軟件架構(gòu)的作用

軟件架構(gòu)是 項(xiàng)目干系人進(jìn)行交流的手段
軟件架構(gòu)是 可傳遞和可復(fù)用的模型,通過研究軟件架構(gòu)可能預(yù)測軟件的質(zhì)量。
軟件架構(gòu)使推理和控制的更改更加簡單, 有助于循序漸進(jìn)的原型設(shè)計(jì),可以作為培訓(xùn)的基礎(chǔ)。

需求分析 → 架構(gòu)(彌補(bǔ)需求到設(shè)計(jì)的鴻溝)→ 軟件設(shè)計(jì)
架構(gòu)設(shè)計(jì)就是需求分配,既 將滿足的需求的職責(zé)分配到組件上

軟件架構(gòu)設(shè)計(jì)通過多種視圖全面描述 - 4 + 1 視圖。

1.2 軟件架構(gòu)設(shè)計(jì)4 + 1視圖

視角與視圖:
從不同的視角來檢查,所以會(huì)有不同的視圖。
在這里插入圖片描述

圖1_1 軟件架構(gòu)4+ 1視圖

Kruchten在1995年提出了一個(gè)“4+1”的視圖模型?!?+1”視圖模型從5個(gè)不同的視角包括邏輯視圖、進(jìn)程視圖、物理視圖、開發(fā)視圖和場景視圖來描述軟件架構(gòu)。每一個(gè)視圖只關(guān)心系統(tǒng)的一個(gè)側(cè)面,5個(gè)視圖結(jié)合在一起才能反映系統(tǒng)的軟件架構(gòu)的全部內(nèi)容。

邏輯視圖:主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)。邏輯視圖設(shè)計(jì)中要注意的主要問題是要保持一個(gè)單一的、內(nèi)聚的對象模型貫穿整個(gè)系統(tǒng),且描述對象模型和對象之間的關(guān)系。

開發(fā)視圖:也稱為模塊視圖,主要側(cè)重于軟件模塊的組織和管理。開發(fā)視圖通過系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來描述。可以在確定了軟件包含的所有元素之后描述完整的開發(fā)角度,也可以在確定每個(gè)元素之前,列出開發(fā)視圖原則。

進(jìn)程視圖:也稱為過程視圖。側(cè)重于系統(tǒng)的運(yùn)行特性,主要關(guān)注一些非功能性的需求,例如系統(tǒng)的性能和可用性。進(jìn)程視圖強(qiáng)調(diào)并發(fā)性、分布性、系統(tǒng)集成性和容錯(cuò)能力,以及邏輯視圖中的主要抽象的進(jìn)程結(jié)構(gòu)。進(jìn)程視圖可以描述成多層抽象,每個(gè)級(jí)別分別關(guān)注不同的方面。

物理視圖:主要考慮如何把軟件映射到硬件上,它通常要考慮到解決系統(tǒng)拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝、通信等問題。

場景:可以看作是那些重要系統(tǒng)活動(dòng)的抽象,它使四個(gè)視圖有機(jī)地聯(lián)系起來,從某種意義上說,場景是最重要的需求抽象。在開發(fā)架構(gòu)時(shí),它可以幫助設(shè)計(jì)者找到架構(gòu)的構(gòu)件和它們之間的作用關(guān)系。同時(shí),也可以用場景來分析一個(gè)特定的視圖,或描述不同視圖構(gòu)件間是如何相互作用的。場景可以用文本表示,也可以用圖形表示。

邏輯視圖和開發(fā)視圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),而進(jìn)程視圖和物理視圖描述系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)。對于不同的軟件系統(tǒng)來說,側(cè)重的角度也有所不同。例如,對于管理信息系統(tǒng)來說,比較側(cè)重于從邏輯視圖和開發(fā)視圖來描述系統(tǒng),而對于實(shí)時(shí)控制系統(tǒng)來說,則比較注重于從進(jìn)程視圖和物理視圖來描述系統(tǒng)。

1.3 軟件架構(gòu)設(shè)計(jì)與生命周期

軟件架構(gòu)是貫穿整個(gè)生命周期的,不同階段的作用和意義不同,各階段架構(gòu)工作表現(xiàn)表:

階段作用和意義
需求分析階段有利于各階段參與者的交流,也易于維護(hù)各階段的可追蹤性。
軟件需求模型向軟件架構(gòu)模型轉(zhuǎn)換關(guān)注兩個(gè)問題:
1)如何根據(jù)需求模型構(gòu)建軟件架構(gòu)模型
2)如何保證模型轉(zhuǎn)換的可追蹤性
設(shè)計(jì)階段關(guān)注最早和最多的階段。
這一階段的研究主要包括:
1)軟件架構(gòu)模型的描述
2)軟件架構(gòu)模型的設(shè)計(jì)與分析方法
3)軟件架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)與復(fù)用
架構(gòu)模型的描述研究包括:
①組成SA(軟件架構(gòu))模型 - 構(gòu)件和連接的建模
②架構(gòu)描述語言(Architecture Describe Language,ADL)
③多視圖 - 4 + 1視圖
ADL三個(gè)基本元素:
1)構(gòu)件:計(jì)算或數(shù)據(jù)存儲(chǔ)單元,包括構(gòu)件和相應(yīng)的構(gòu)件接口
2)連接件:用于構(gòu)件之間交互建模的體系結(jié)構(gòu)構(gòu)造塊及其支配這些交互的規(guī)則
3)架構(gòu)配置:描述體系結(jié)構(gòu)的構(gòu)件和連接件的連接圖
ADL是建模用的,是一些偽代碼
實(shí)現(xiàn)階段有效實(shí)現(xiàn)從軟件架構(gòu)設(shè)計(jì)向?qū)崿F(xiàn)的轉(zhuǎn)換。
這一階段架構(gòu)研究包括:
1)基于架構(gòu)開發(fā)過程的支持
2)尋求從架構(gòu)向?qū)崿F(xiàn)過渡的途徑
3)研究基于架構(gòu)的測試技術(shù)
構(gòu)件組裝階段可復(fù)用構(gòu)件組裝的設(shè)計(jì)能夠提高系統(tǒng)實(shí)現(xiàn)的效率。
這一階段的研究內(nèi)容包括:
1)如何支持可復(fù)用構(gòu)件的互聯(lián),即對架構(gòu)設(shè)計(jì)模型中規(guī)約的連接子的實(shí)現(xiàn)提供支持
2)組裝過程中,如何檢測并消除架構(gòu)失配問題
適配問題主要包括:
①構(gòu)件本身適配
②連接子(互聯(lián)機(jī)制)的失配
③部分和整體的失配
部署階段組織和展示部署階段的軟硬件架構(gòu)、評(píng)估分析部署方案。
部署階段的軟件架構(gòu)對軟件部署的作用:
1)提供高層的體系結(jié)構(gòu)視圖描述部署階段的軟硬件模型
2)基于軟件架構(gòu)模型可以分析部署方案的質(zhì)量屬性從而選擇合理的部署方案
后開發(fā)階段 主要圍繞維護(hù)、演化、復(fù)用進(jìn)行。
部署安裝后(后開發(fā)階段)的系統(tǒng)架構(gòu)研究方向包括:
1)動(dòng)態(tài)軟件體系結(jié)構(gòu)
2)體系結(jié)構(gòu)恢復(fù)與重建

1.4 軟件架構(gòu)的重要性

軟件架構(gòu)設(shè)計(jì)是降低成本、改進(jìn)質(zhì)量、按時(shí)和按需交付產(chǎn)品的關(guān)鍵因素。

二、軟件架構(gòu)的風(fēng)格★★★★★

  • 架構(gòu)風(fēng)格定義了用于描述系統(tǒng)的術(shù)語表和一組指導(dǎo)構(gòu)建系統(tǒng)的規(guī)則。
  • 架構(gòu)風(fēng)格反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語義特性,并指導(dǎo)如何將各個(gè)構(gòu)件有效地組織成一個(gè)完整的系統(tǒng)。
  • 軟件架構(gòu)風(fēng)格是特定應(yīng)用領(lǐng)域的慣用模式,架構(gòu)定義一個(gè)詞匯表和一組約束。

2.1 軟件架構(gòu)經(jīng)典五大風(fēng)格

五大架構(gòu)風(fēng)格子風(fēng)格
數(shù)據(jù)流風(fēng)格批處理、管道-過濾器
調(diào)用/返回風(fēng)格程序/子程序、面向?qū)ο?、層次結(jié)構(gòu)
以數(shù)據(jù)為中心風(fēng)格數(shù)據(jù)庫系統(tǒng)、黑板系統(tǒng)、超文本系統(tǒng)
虛擬機(jī)風(fēng)格解釋器、規(guī)則系統(tǒng)
獨(dú)立構(gòu)件風(fēng)格進(jìn)程通信、事件驅(qū)動(dòng)系統(tǒng)(隱式調(diào)用)

2.1.1 數(shù)據(jù)流體系結(jié)構(gòu)風(fēng)格

在這里插入圖片描述

圖2_1 數(shù)據(jù)流風(fēng)格

優(yōu)點(diǎn)缺點(diǎn)典型實(shí)例
1、松耦合【高內(nèi)聚-低耦合】
2、良好的重用性/可維護(hù)性
3、可擴(kuò)展性【標(biāo)準(zhǔn)接口適配】
4、良好的隱蔽性
5、支持并行
1、交互性較差
2、復(fù)雜性高
3、性能較差(每個(gè)過濾器都需要解析與合成數(shù)據(jù))
傳統(tǒng)編譯器
網(wǎng)絡(luò)報(bào)文處理

2.1.1.1 批處理風(fēng)格

批處理風(fēng)格的每一步處理都是獨(dú)立的,并且每一步是順序執(zhí)行的。數(shù)據(jù)必須是完整的,以整體的方式傳遞。

2.1.1.2 管道/過濾器風(fēng)格

在管道/過濾器風(fēng)格的軟件架構(gòu)中,每個(gè)構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,經(jīng)過內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。

2.1.2 調(diào)用/返回系結(jié)構(gòu)風(fēng)格

在這里插入圖片描述

圖2_2 調(diào)用/返回風(fēng)格

2.1.2.1 主程序/子程序風(fēng)格

主程序/子程序風(fēng)格是結(jié)構(gòu)化開發(fā)時(shí)期的經(jīng)典架構(gòu)風(fēng)格。這種風(fēng)格一般采用單線程控制,把問題劃分為若干處理步驟,構(gòu)件即為主程序和子程序。子程序通??珊铣蔀槟K。過程調(diào)用作為交互機(jī)制,即充當(dāng)連接件。

2.1.2.2 面向?qū)ο箫L(fēng)格

這種風(fēng)格的構(gòu)件是對象,或者說是抽象數(shù)據(jù)類型的實(shí)例。對象是一種被稱作管理者的構(gòu)件,它負(fù)責(zé)保持資源的完整性。對象是通過函數(shù)和過程的調(diào)用來交互的。

2.1.2.3 層次結(jié)構(gòu)風(fēng)格

層次系統(tǒng)組織成一個(gè)層次結(jié)構(gòu),每一層為上層服務(wù),并作為下層客戶。在一些層次系統(tǒng)中,除了一些精心挑選的輸出函數(shù)外,內(nèi)部的層只對相鄰的層可見

2.1.3 以數(shù)據(jù)為中心系結(jié)構(gòu)風(fēng)格

在這里插入圖片描述

圖2_3 以數(shù)據(jù)為中心系結(jié)構(gòu)風(fēng)格

2.1.3.1 倉庫結(jié)構(gòu)風(fēng)格

數(shù)據(jù)庫系統(tǒng)是倉庫風(fēng)格最常見的形式。在數(shù)據(jù)庫系統(tǒng)中,構(gòu)件主要有兩大類,一類是中央共享數(shù)據(jù)源,保存當(dāng)前系統(tǒng)的數(shù)據(jù)狀態(tài);另一類是多個(gè)獨(dú)立處理單元,處理單元對數(shù)據(jù)元素進(jìn)行操作。

2.1.3.2 黑板結(jié)構(gòu)風(fēng)格

黑板系統(tǒng)包括知識(shí)源、黑板和控制三個(gè)部分。知識(shí)源包括若干獨(dú)立計(jì)算的不同單元,提供解決問題的知識(shí)。知識(shí)源響應(yīng)黑板的變化,也只修改黑板;黑板是一個(gè)全局?jǐn)?shù)據(jù)庫,包含問題域解空間的全部狀態(tài),是知識(shí)源相互作用的唯一媒介;知識(shí)源響應(yīng)是通過黑板狀態(tài)的變化來控制的。黑板系統(tǒng)通常應(yīng)用在對于解決問題沒有確定性算法的軟件中,例如,信號(hào)處理、問題規(guī)劃和編譯器優(yōu)化等。語音識(shí)別、知識(shí)推理。

2.1.3.3 超文本系統(tǒng)風(fēng)格

超文本系統(tǒng)中出現(xiàn)的構(gòu)件以網(wǎng)狀鏈接方式相互連接,用戶可以在構(gòu)件之間進(jìn)行按照人類的聯(lián)想思維方式任意跳轉(zhuǎn)到相關(guān)構(gòu)件。超文本是一種非線性的網(wǎng)狀信息組織方法,它以結(jié)點(diǎn)為基本單位,鏈作為結(jié)點(diǎn)之間的聯(lián)想式關(guān)聯(lián)。超文本系統(tǒng)通常應(yīng)用在互聯(lián)網(wǎng)領(lǐng)域。

2.1.4 虛擬機(jī)體系結(jié)構(gòu)風(fēng)格

在這里插入圖片描述

圖2_4 虛擬機(jī)體系結(jié)構(gòu)風(fēng)格

2.1.4.1 解釋器風(fēng)格

解釋器通常包括一個(gè)完成解釋工作的解釋引擎、一個(gè)包含將被解釋的代碼的存儲(chǔ)區(qū)、一個(gè)記錄解釋引擎當(dāng)前工作狀態(tài)的數(shù)據(jù)結(jié)構(gòu),以及一個(gè)記錄源代碼被解釋執(zhí)行的進(jìn)度的數(shù)據(jù)結(jié)構(gòu)。具有解釋器風(fēng)格的軟件中含有一個(gè)虛擬機(jī),可以仿真硬件的執(zhí)行過程和一些關(guān)鍵應(yīng)用,其缺點(diǎn)是執(zhí)行效率比較低。

2.1.4.2 規(guī)則系統(tǒng)風(fēng)格

基于規(guī)則的系統(tǒng)包括規(guī)則集、規(guī)則解釋器、規(guī)則/數(shù)據(jù)選擇器和工作內(nèi)存,一般用在人工智能領(lǐng)域和DSS中。

2.1.5 獨(dú)立構(gòu)件體系結(jié)構(gòu)風(fēng)格

在這里插入圖片描述

圖2_5 獨(dú)立構(gòu)件體系結(jié)構(gòu)風(fēng)格

2.1.5.1 進(jìn)程間通信風(fēng)格

構(gòu)件是獨(dú)立的過程,連接件是消息傳遞,構(gòu)件通常是命名過程,消息傳遞的方式可以是點(diǎn)對點(diǎn),異步或者同步的方式,以及遠(yuǎn)程過程方法調(diào)用等。

2.1.5.2 事件驅(qū)動(dòng)系統(tǒng)風(fēng)格(隱式調(diào)用)

構(gòu)件不直接調(diào)用一個(gè)過程,而是觸發(fā)或廣播一個(gè)或多個(gè)事件。這種風(fēng)格中的構(gòu)件是匿名的過程,它們之間交互的連接件往往是以過程之間的隱式調(diào)用(implicit invocation)來實(shí)現(xiàn)的?;谑录碾[式調(diào)用風(fēng)格的主要優(yōu)點(diǎn)是為軟件復(fù)用提供了強(qiáng)大的支持,為構(gòu)件的維護(hù)和演化帶來了方便,其缺點(diǎn)是構(gòu)件放棄了對系統(tǒng)計(jì)算的控制。

2.2 C2風(fēng)格

C2風(fēng)格通過連接件連接構(gòu)件或某個(gè)構(gòu)件組,構(gòu)件與構(gòu)件之間無連接。

軟件體系結(jié)構(gòu)設(shè)計(jì)的一個(gè)核心問題就是能否使用重復(fù)的體系結(jié)構(gòu)模式,即能否達(dá)到體系結(jié)構(gòu)級(jí)的軟件重用。

C2 = EBI(基于事件的集成)+ LCS(分層客戶端服務(wù)器)

C2是一種基于構(gòu)件和消息的架構(gòu)風(fēng)格,可用于創(chuàng)建靈活的,可伸縮的軟件系統(tǒng)??梢詫⒓軜?gòu)看作是按照一定規(guī)則由連接件如消息路由設(shè)備連接的許多構(gòu)件組成的層次網(wǎng)絡(luò)系統(tǒng)中的構(gòu)件和連接件都有一個(gè)“頂部”和“底部”;一個(gè)構(gòu)件的“頂部”或“底部”可以連接到一個(gè)連接件的“底部”或“頂部”;對于一個(gè)連接件,和其相連的構(gòu)件或連接件的數(shù)量沒有限制,但是構(gòu)件和構(gòu)件之間不能直接相連。
在這里插入圖片描述

圖2_6 C2體系結(jié)構(gòu)風(fēng)格

C2架構(gòu)的基本規(guī)則:

  • 構(gòu)件和連接件都有一個(gè)頂部和一個(gè)底部。
  • 構(gòu)件的頂部要連接到連接件的底部,構(gòu)件的底部要連接到連接件的頂部,構(gòu)件之間不允許直連。
  • 一個(gè)連接件可以和任意數(shù)目的其他構(gòu)件和連接件連接。
  • 當(dāng)兩個(gè)連接件進(jìn)行直接連接時(shí),必須由其中一個(gè)的底部到另一個(gè)的頂部。

2.3 閉環(huán)風(fēng)格

在這里插入圖片描述

圖2_7 閉環(huán)控制體系結(jié)構(gòu)風(fēng)格

  • 適用于嵌入式系統(tǒng),用于解決簡單閉環(huán)控制問題。
  • 經(jīng)典應(yīng)用:空調(diào)溫控,定速巡航。

三、基于架構(gòu)的軟件開發(fā)方法(ABSD)★★★★

3.1 體系機(jī)構(gòu)設(shè)計(jì)的方法概述

基于架構(gòu)的軟件設(shè)計(jì)(ABSD,Architecture-Based Software Design)是一種架構(gòu)驅(qū)動(dòng)方法,架構(gòu)驅(qū)動(dòng)也就是說架構(gòu)先行,需求獲取和分析還沒有完成就開始架構(gòu)設(shè)計(jì),需求獲取和分析與架構(gòu)設(shè)計(jì)并行,例如產(chǎn)品線系統(tǒng)和長期運(yùn)行的系統(tǒng),我們不可能開始就能決定所有的需求。

ABSD強(qiáng)調(diào)由業(yè)務(wù)、質(zhì)量和功能需求的組合驅(qū)動(dòng)架構(gòu)設(shè)計(jì) ,強(qiáng)調(diào)采用 視角和視圖描述軟件架構(gòu) ,采用 用例(功能需求)和質(zhì)量場景(質(zhì)量需求) 描述需求 。

ABSD方法有三個(gè)基礎(chǔ):

  • 第一個(gè)基礎(chǔ)是功能的分解。在功能分解中,ABSD方法使用已有的基于模塊的內(nèi)聚和耦合技術(shù)。
  • 第二個(gè)基礎(chǔ)是通過選擇架構(gòu)風(fēng)格來實(shí)現(xiàn)質(zhì)量和業(yè)務(wù)需求。
  • 第三個(gè)基礎(chǔ)是軟件模板的使用。

3.2 基于架構(gòu)的開發(fā)模型(ABSD)

傳統(tǒng)的軟件開發(fā)過程是問題定義,需求分析,軟件設(shè)計(jì),實(shí)現(xiàn),測試。ABSD把整個(gè)軟件過程分成六個(gè)部分,架構(gòu)需求,設(shè)計(jì),文檔化,復(fù)審,實(shí)現(xiàn),演化六個(gè)步驟。
在這里插入圖片描述

圖3_1 基于架構(gòu)軟件的開發(fā)過程

在這里插入圖片描述

圖3_2 基于架構(gòu)軟件的需求、設(shè)計(jì)、實(shí)現(xiàn)、演化過程

四、特定領(lǐng)域的軟件架構(gòu)(DSSA)★★★

DSSA(Domain Specific Software Architecture)特定領(lǐng)域軟件架構(gòu),可以看做開發(fā)產(chǎn)品線的一個(gè)方法或理論,目標(biāo)就是支持一個(gè)特定領(lǐng)域中多應(yīng)用的生成。

4.1 特定領(lǐng)域的軟件架構(gòu) - 基本活動(dòng)

在這里插入圖片描述

圖4_1 基本活動(dòng)

(1)建立領(lǐng)域模型,一個(gè)嚴(yán)格定義的問題域或解決域。其中,垂直域是在相同領(lǐng)域中深入;水平域是在不同領(lǐng)域中平移。
(2)具有普遍性,使其可以用于領(lǐng)域中某個(gè)特定應(yīng)用的開發(fā)。
(3)對整個(gè)領(lǐng)域的合適程序的抽象。
(4)具備該領(lǐng)域固定的、典型的在開發(fā)過程中的。可復(fù)用元素。

4.2 特定領(lǐng)域的軟件架構(gòu) - 領(lǐng)域分析機(jī)制

在這里插入圖片描述

圖4_2 領(lǐng)域分析機(jī)制

4.3 特定領(lǐng)域的軟件架構(gòu) - 建立過程

在這里插入圖片描述

圖4_3 建立過程

五、軟件架構(gòu)的復(fù)用★★★

  • 軟件架構(gòu)復(fù)用的定義及分類
    軟件架構(gòu)復(fù)用是系統(tǒng)化的軟件開發(fā)過程:開發(fā)一組基本的軟件構(gòu)件模塊,以覆蓋不同的需求/體系結(jié)構(gòu)之間的相似性,提高系統(tǒng)開發(fā)的效率、質(zhì)量和性能。

  • 軟件架構(gòu)復(fù)用的原因
    減少開發(fā)工作、減少開發(fā)時(shí)間、降低開發(fā)成本、提高生產(chǎn)力、提高產(chǎn)品質(zhì)量,更好的互操作性。

  • 軟件架構(gòu)復(fù)用的對象及形式
    可復(fù)用的資產(chǎn)包括:需求、架構(gòu)設(shè)計(jì)、元素、建模分析、測試、項(xiàng)目規(guī)劃、過程+方法+工具、人員、樣本系統(tǒng)、缺陷消除。
    一般形式的復(fù)用包括:函數(shù)的復(fù)用、庫的復(fù)用、面向?qū)ο箝_發(fā)中的類、接口和包的復(fù)用。

  • 軟件架構(gòu)復(fù)用的基本過程
    (1) 首先構(gòu)建/獲取可復(fù)用的軟件資產(chǎn)(復(fù)用前提);
    (2) 管理可復(fù)用資產(chǎn);
    (3) 使用可復(fù)用資產(chǎn)。

http://aloenet.com.cn/news/44690.html

相關(guān)文章:

  • 黑色網(wǎng)站后臺(tái)公司網(wǎng)站推廣
  • 網(wǎng)站flash制作教程友鏈目錄網(wǎng)
  • 做網(wǎng)站 做應(yīng)用網(wǎng)絡(luò)推廣引流是做什么的
  • 網(wǎng)站建設(shè)目標(biāo)及需求百度搜索排名怎么收費(fèi)
  • 一個(gè)好的網(wǎng)站建設(shè)優(yōu)化大師官網(wǎng)登錄入口
  • 淘寶客的網(wǎng)站是自己做的嗎深圳專業(yè)seo外包
  • 做網(wǎng)站開發(fā)需要學(xué)那些東西安裝百度到手機(jī)桌面
  • 網(wǎng)頁設(shè)計(jì)素材網(wǎng)站有哪些怎么自己弄一個(gè)網(wǎng)站
  • 學(xué)室內(nèi)設(shè)計(jì)真的那么慘嗎北京seo專員
  • 自己做的小網(wǎng)站如何發(fā)布軟文范例
  • 重慶模板網(wǎng)站多少錢烘焙甜點(diǎn)培訓(xùn)學(xué)校
  • 制作網(wǎng)站程序黑帽seo培訓(xùn)大神
  • 手機(jī)在線銷售網(wǎng)站 - 百度百度人工客服電話怎么轉(zhuǎn)人工
  • 學(xué)習(xí)做網(wǎng)站的網(wǎng)站愛站關(guān)鍵詞挖掘工具
  • 網(wǎng)游網(wǎng)站開發(fā)如何做好搜索引擎優(yōu)化工作
  • 關(guān)注建設(shè)銀行網(wǎng)站如何讓網(wǎng)站被百度收錄
  • 貴陽建設(shè)網(wǎng)站公司5118
  • 做帶會(huì)員后臺(tái)的網(wǎng)站用什么軟件阿里指數(shù)官方網(wǎng)站
  • 醫(yī)療圖片做網(wǎng)站圖片鎮(zhèn)江網(wǎng)絡(luò)
  • 沈陽順天建設(shè)集團(tuán)網(wǎng)站成都seo經(jīng)理
  • 微信平臺(tái)制作網(wǎng)站開發(fā)站長之家怎么用
  • 做阿里巴巴網(wǎng)站免費(fèi)的網(wǎng)站域名查詢
  • 品牌宣傳網(wǎng)站建設(shè)網(wǎng)站賣鏈接
  • 百度云免費(fèi)空間seo主要做什么工作
  • 肇東網(wǎng)站建設(shè)知了seo
  • 怎么做網(wǎng)站的輪播圖荊門今日頭條新聞發(fā)布
  • 中國做的比較好的網(wǎng)站網(wǎng)站提交收錄軟件
  • 網(wǎng)站開發(fā) 哪個(gè)工具更快seo網(wǎng)站關(guān)鍵詞排名軟件
  • cms做企業(yè)網(wǎng)站6長沙網(wǎng)站seo方法
  • 石家莊網(wǎng)站建設(shè)案例數(shù)據(jù)指數(shù)