




已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1 目錄 第一章 軟件體系結(jié)構(gòu)概論 4 1 就項目管理方面而言 軟件重用項目與非重用項目有哪些不同之處 4 2 實際參與 組織一個軟件重用項目的開發(fā) 然后總結(jié)你是如何組織該項目的開發(fā)的 4 3 為什么要研究軟件體系結(jié)構(gòu) 4 4 根據(jù)軟件體系結(jié)構(gòu)的定義 你認(rèn)為軟件體系結(jié)構(gòu)的模型應(yīng)該由哪些部分組成 5 5 在軟件體系結(jié)構(gòu)的研究和應(yīng)用中 你認(rèn)為還有哪些不足之處 5 6 根據(jù)自己的經(jīng)驗 談?wù)剬浖C的看法 結(jié)合表現(xiàn) 原因 如何克服描述 6 6 1 軟件危機的表現(xiàn) 6 6 2 軟件危機的原因 7 6 3 如何克服軟件危機 8 7 研究軟件體系結(jié)構(gòu)的意義是什么 8 8 從哪些方面評估軟件體系結(jié)構(gòu) 9 第二章 軟件體系結(jié)構(gòu)建模 10 1 選擇一個規(guī)模合適的系統(tǒng) 為其建立 4 1 模型 10 2 引入了軟件體系結(jié)構(gòu)以后 傳統(tǒng)軟件過程發(fā)生了哪些變化 這種變化有什么好處 12 3 軟件體系結(jié)構(gòu)的生命周期模型與軟件生命周期模型有什么關(guān)系 13 第三章 軟件體系結(jié)構(gòu)風(fēng)格 13 1 層次系統(tǒng)結(jié)構(gòu)和基于消息的層次系統(tǒng)結(jié)構(gòu)有什么區(qū)別 13 2 試分析和比較 B S 二層 C S 和三層 C S 指出各自的優(yōu)點和缺點 13 3 SIS 和 DSSA 分別用在哪些場合 14 2 4 在軟件開發(fā)中 采用異構(gòu)結(jié)構(gòu)有什么好處 其負(fù)面影響有哪些 15 第四章 軟件體系結(jié)構(gòu)描述 15 1 體系結(jié)構(gòu)描述有哪些 有哪些標(biāo)準(zhǔn)和規(guī)范 15 2 體系結(jié)構(gòu)描述語言與程序設(shè)計語言的區(qū)別 16 3 選擇一個規(guī)模適中的系統(tǒng) 使用 UML 為其建模 17 第五章 動態(tài)軟件體系結(jié)構(gòu) 17 1 什么是動態(tài)軟件體系結(jié)構(gòu) 動態(tài)軟件體系結(jié)構(gòu)與靜態(tài)軟件體系結(jié)構(gòu)有什么區(qū)別 17 2 基于構(gòu)件的動態(tài)軟件體系結(jié)構(gòu)模型的層次結(jié)構(gòu)是什么 17 第六章 Web 服務(wù)體系結(jié)構(gòu)和 SOA 18 1 什么是 Web 服務(wù)體系結(jié)構(gòu) 與傳統(tǒng)的結(jié)構(gòu)相比 使用 Web 服務(wù)有哪些好處 18 2 在 Web 服務(wù)中 如何實現(xiàn)其松散耦合的特點 18 3 試分析服務(wù)提供者 服務(wù)請求者和服務(wù)代理三者的作用 以及它們之間的工作流 程 18 4 試解釋 Web 服務(wù)棧的層次結(jié)構(gòu) 19 5 Web 服務(wù)有哪些核心技術(shù) 這些技術(shù)是如何在 Web 服務(wù)中發(fā)揮作用的 19 6 從管理的角度看 SOA 有什么優(yōu)點 20 7 在實際開發(fā)中 如何實現(xiàn) Web 服務(wù)和 SOA 結(jié)構(gòu) 20 第七章 基于體系結(jié)構(gòu)的軟件開發(fā) 21 1 請把基于體系結(jié)構(gòu)的軟件開發(fā)模型與其他軟件開發(fā)模型進行比較 21 2 請把基于體系結(jié)構(gòu)的軟件設(shè)計方法與其他軟件設(shè)計方法進行比較 23 3 如何才能提高軟件系統(tǒng)的可演化性 23 第八章 軟件體系結(jié)構(gòu)的分析與測試 24 3 1 什么是軟件體系結(jié)構(gòu)的可靠性 為什么要研究軟件體系結(jié)構(gòu)的可靠性 24 2 如何模型化系統(tǒng)的可靠性 24 3 軟件體系結(jié)構(gòu)風(fēng)險分析有哪些基本步驟 24 4 軟件體系結(jié)構(gòu)測試與程序測試的主要區(qū)別是什么 24 4 第一章 軟件體系結(jié)構(gòu)概論 1 就項目管理方面而言 軟件重用項目與非重用項目有哪些不同之處 答 使用軟件重用技術(shù)可減少重復(fù)工作 提高軟件生產(chǎn)率 縮短開發(fā)周期 同時 由于軟構(gòu) 建大多經(jīng)過嚴(yán)格的質(zhì)量認(rèn)證 因此有助于改善軟件質(zhì)量 大量使用構(gòu)建 軟件的靈活性 和標(biāo)準(zhǔn)化程度可得到提高 或 軟件重用項目需要考慮生產(chǎn)可重用軟部件的機制 同時 軟件重用項目可以減少 開發(fā)活動中大量的重復(fù)性工作 能提高軟件生產(chǎn)率 降低開發(fā)成本 縮短開發(fā)周期 同時由于大量使用軟構(gòu)件 軟件的靈活性和標(biāo)準(zhǔn)化程度也可望得到提高 因此 軟件 重用項目在管理是比非重用項目更節(jié)約管理資源 同時管理起來更方便 2 實際參與 組織一個軟件重用項目的開發(fā) 然后總結(jié)你是如何組織該項目的開發(fā)的 答 參加了一個網(wǎng)頁管理系統(tǒng)的開發(fā) 該項目重復(fù)使用已有的軟件產(chǎn)品用于開發(fā)新的軟件 系統(tǒng) 以達到提高軟件系統(tǒng)的開發(fā)質(zhì)量與效率 降低開發(fā)成本的目的 在過程中使用了代 碼的復(fù)用 設(shè)計結(jié)果的復(fù)用 分析結(jié)果的復(fù)用 測試信息的復(fù)用等 3 為什么要研究軟件體系結(jié)構(gòu) 答 所謂軟件體系結(jié)構(gòu)的分析評估 就是事先通過代價低廉的評估活動來識別軟件結(jié)構(gòu)中 存在的潛在風(fēng)險 找出軟件體系結(jié)構(gòu)中影響系統(tǒng)質(zhì)量的主要因素及改進措施 并在此基礎(chǔ) 上檢驗軟件的質(zhì)量需求是否在具體設(shè)計中得到實現(xiàn) 并預(yù)見未來軟件質(zhì)量 軟件體系結(jié)構(gòu)在軟件開發(fā)和管理中扮演者越來越重要的角色 軟件體系結(jié)構(gòu)設(shè)計對軟件質(zhì) 量有著至關(guān)重要的影響 對此最終確保系統(tǒng)的質(zhì)量有重要的意義 軟件體系結(jié)構(gòu)評估 是 對系統(tǒng)的某些值的關(guān)心的屬性進行評估和判斷 評估的結(jié)果可用于確認(rèn)潛在的風(fēng)險 并檢 查設(shè)計階段系統(tǒng)需求的質(zhì)量 在系統(tǒng)被實際構(gòu)造之前 預(yù)測其屬性質(zhì)量 5 或 答 1 軟件體系結(jié)構(gòu)是系統(tǒng)開發(fā)中不同參與者進行交流和信息傳播的媒介 2 軟件體系結(jié)構(gòu)代表了早期的設(shè)計決策成果 3 軟件體系結(jié)構(gòu)可以作為一種可變換的模型 4 根據(jù)軟件體系結(jié)構(gòu)的定義 你認(rèn)為軟件體系結(jié)構(gòu)的模型應(yīng)該由哪些部分組成 答 構(gòu)件 component 可以是一組代碼 如程序的模塊 也可以是一個獨立的程序 如數(shù)據(jù) 庫的 SQL 服務(wù)器 連接件 connector 是關(guān)系的抽象 用以表示構(gòu)件之間的相互作用 如過程調(diào)用 管 道 遠程過程調(diào)用等 限制 constrain 用于對構(gòu)件和連接件的語義說明 5 在軟件體系結(jié)構(gòu)的研究和應(yīng)用中 你認(rèn)為還有哪些不足之處 答 1 缺乏同意的軟件體系結(jié)構(gòu)的概念 導(dǎo)致體系結(jié)構(gòu)的研究范疇模糊 2 ADL 繁多 缺乏統(tǒng)一的 ADL 的支持 3 軟件體系結(jié)構(gòu)研究缺乏統(tǒng)一的理論模型支持 4 在體系結(jié)構(gòu)描述方便 盡管出現(xiàn)了多種標(biāo)準(zhǔn)規(guī)范或建議標(biāo)準(zhǔn) 但仍很難操作 5 有關(guān)軟件體系結(jié)構(gòu)性質(zhì)的研究尚不充分 不能明確給出一個良體系結(jié)構(gòu)的屬性 或判定標(biāo)準(zhǔn) 沒有給出良體系結(jié)構(gòu)的設(shè)計指導(dǎo)原則 因而對于軟件開發(fā)實踐缺乏有力的促 進作用 6 缺乏有效的支持環(huán)境軟件體系結(jié)構(gòu)理論研究與環(huán)境支持不同步 缺乏有效的體 系結(jié)構(gòu)分析 設(shè)計 方針和驗證工具支持 導(dǎo)致體系結(jié)構(gòu)應(yīng)用上的困難 7 缺乏有效的體系結(jié)構(gòu)復(fù)用方案 8 體系結(jié)構(gòu)發(fā)現(xiàn)方法研究相對欠缺 6 6 根據(jù)自己的經(jīng)驗 談?wù)剬浖C的看法 結(jié)合表現(xiàn) 原因 如何克服描述 6 1 軟件危機的表現(xiàn) 軟件成本日益增長 由于軟件是邏輯 智力產(chǎn)品 軟件的開發(fā)需建立龐大的邏輯體系 這是與其他產(chǎn)品的生產(chǎn) 不一樣的 在軟件開發(fā)過程中 用戶需求變化等各種意想不到的情況層出不窮 令軟件開發(fā)過程很 難保證按預(yù)定的計劃實現(xiàn) 給項目計劃和論證工作帶來了很大的困難 盲目增加軟件開發(fā)人員并不能成比例地提高軟件開發(fā)能力 相反 隨著人員數(shù)量的增 加 人員的組織 協(xié)調(diào) 通信 培訓(xùn)和管理等方面的問題將更為嚴(yán)重 開發(fā)進度難以控制 軟件質(zhì)量差 軟件項目即使能按預(yù)定日期完成 結(jié)果卻不盡人意 1965 年至 1970 年 美國范登堡 基地發(fā)射火箭多次失敗 絕大部分故障是由應(yīng)用程序錯誤造成的 在 軟件作坊 里 由于缺乏工程化思想的指導(dǎo) 程序員幾乎總是習(xí)慣性地以自己 的想法去代替用戶對軟件的需求 軟件設(shè)計帶有隨意性 很多功能只是程序員的 一 廂情愿 而已 這是造成軟件不能令人滿意的重要因素 軟件維護困難 由于在軟件設(shè)計和開發(fā)過程中 沒有嚴(yán)格遵循軟件開發(fā)標(biāo)準(zhǔn) 各種隨意性很大 沒有 完整的真實反映系統(tǒng)狀況的記錄文檔 給軟件維護造成了巨大的困難 特別是在軟件使用過程中 原來的開發(fā)人員可能因各種原因已經(jīng)離開原來的開發(fā)組 織 使得軟件幾乎不可維護 7 6 2 軟件危機的原因 用戶需求不明確 在軟件開發(fā)完成之前 用戶不清楚軟件的具體需求 用戶對軟件需求的描述不精確 可能有遺漏 有二義性 甚至有錯誤 在軟件開發(fā)過程中 用戶還提出修改軟件功能 界面 支撐環(huán)境等方面的要求 開發(fā)人員對用戶需求的理解與用戶本來愿望有差異 缺乏正確的理論指導(dǎo) 缺乏有力的方法學(xué)和工具方面的支持 由于軟件不同于大多數(shù)其他工業(yè)產(chǎn)品 其開發(fā) 過程是復(fù)雜的邏輯思維過程 其產(chǎn)品極大程度地依賴于開發(fā)人員高度的智力投入 由于過 分地依靠程序設(shè)計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性 加劇軟件產(chǎn)品的個性化 也是 發(fā)生軟件危機的一個重要原因 軟件規(guī)模越來越大 隨著軟件應(yīng)用范圍的增廣 軟件規(guī)模愈來愈大 大型軟件項目需要組織一定的人力共 同完成 而多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗 而多數(shù)軟件開發(fā)人員又缺乏管理 方面的經(jīng)驗 各類人員的信息交流不及時 不準(zhǔn)確 有時還會產(chǎn)生誤解 軟件項目開發(fā)人員不能有效地 獨立自主地處理大型軟件的全部關(guān)系和各個分支 因此 容易產(chǎn)生疏漏和錯誤 軟件復(fù)雜度越來越高 軟件不僅僅是在規(guī)模上快速地發(fā)展擴大 而且其復(fù)雜性也急劇地增加 軟件產(chǎn)品的特 殊性和人類智力的局限性 導(dǎo)致人們無力處理 復(fù)雜問題 所謂 復(fù)雜問題 的概念是相對的 一旦人們采用先進的組織形式 開發(fā)方法和工具提 高了軟件開發(fā)效率和能力 新的 更大的 更復(fù)雜的問題又?jǐn)[在人們的面前 8 6 3 如何克服軟件危機 人們面臨的不光是技術(shù)問題 更重要的是管理問題 管理不善必然導(dǎo)致失敗 要提高軟件開發(fā)效率 提高軟件產(chǎn)品質(zhì)量 必須采用工程化的開發(fā)方法與工業(yè)化的生 產(chǎn)技術(shù) 在技術(shù)上 應(yīng)該采用基于重用的軟件生產(chǎn)技術(shù) 在管理上 應(yīng)該采用多維的工程管理 模式 7 研究軟件體系結(jié)構(gòu)的意義是什么 1 體系結(jié)構(gòu)是風(fēng)險承擔(dān)者進行交流的手段 軟件體系結(jié)構(gòu)代表了系統(tǒng)公共的高層次的抽象 這樣 系統(tǒng)的大部分有關(guān)人員 即使不是 全部 能把它作為建立一個互相理解的基礎(chǔ) 形成統(tǒng)一認(rèn)識 互相交流 2 體系結(jié)構(gòu)是早期設(shè)計決策的體現(xiàn) 明確了對系統(tǒng)實現(xiàn)的約束條件 決定了開發(fā)和維護組織的組織結(jié)構(gòu) 制約著系統(tǒng)的質(zhì)量屬性 通過研究軟件體系結(jié)構(gòu)可能預(yù)測軟件的質(zhì)量 使推理和控制更改更簡單 有助于循序漸進的原型設(shè)計 可以作為培訓(xùn)的基礎(chǔ) 3 軟件體系結(jié)構(gòu)是可傳遞和可重用的模型 軟件體系結(jié)構(gòu)級的重用意味著體系結(jié)構(gòu)的決策能在具有相似需求的多個系統(tǒng)中發(fā)生影響 這比代碼級重用的作用更大 9 8 從哪些方面評估軟件體系結(jié)構(gòu) 答 1 性能是指系統(tǒng)的影響能力 即要經(jīng)過多長時間才能對某個事件作出響應(yīng) 或者 在某段事件內(nèi)系統(tǒng)所能處理的事件的個數(shù) 2 可靠性是軟件系統(tǒng)在應(yīng)用或系統(tǒng)錯誤面 前 在意外或錯誤使用的情況下維持軟件系統(tǒng)的功能特性的基本能力 3 可用性是系 統(tǒng)能夠正常運行的時間比例 經(jīng)常用兩次故障間的時間長度或在出現(xiàn)故障時系統(tǒng)能夠恢復(fù) 正常的速度來表示 4 安全性是指系統(tǒng)在向合法用戶提供服務(wù)的同時能夠阻止非授權(quán) 用戶使用的企圖或拒絕服務(wù)的能力 安全性又可劃分為機密性 完整性 不可否認(rèn)性及可 控性等特性 5 可修改性是指能夠快速的以較高的性能代價比對系統(tǒng)進行變更的能力 6 功能性是系統(tǒng)所能完成所期望的工作的能力 7 可變性是指體系結(jié)構(gòu)經(jīng)擴充或變 更而成為新體系結(jié)構(gòu)的能力 8 可集成性是指系統(tǒng)能與其他系統(tǒng)協(xié)作的程度 9 互操作 性是指與其他環(huán)境或者系統(tǒng)本身相互作用的能力 10 第二章 軟件體系結(jié)構(gòu)建模 1 選擇一個規(guī)模合適的系統(tǒng) 為其建立 4 1 模型 邏輯視圖 Logical View 設(shè)計的對象模型 使用面向?qū)ο蟮脑O(shè)計方法時 開發(fā)視圖 Development View 描述了在開發(fā)環(huán)境中軟件的靜態(tài)組織結(jié)構(gòu) 11 進程視圖 Process View 捕捉設(shè)計的并發(fā)和同步特征 物理視圖 Physical View 描述了軟件到硬件的映射 反映了分布式特性 12 架構(gòu)的描述 即所做的各種決定 可以圍繞著這四個視圖來組織 然后由一些用例 use cases 或場景 scenarios 來說明 從而形成了第五個視圖 2 引入了軟件體系結(jié)構(gòu)以后 傳統(tǒng)軟件過程發(fā)生了哪些變化 這種變化有什么好處 答 軟件體系結(jié)構(gòu)的引入使軟件設(shè)計開發(fā)更加具體和形象 它的模型更使得軟件過程更加 方便和多樣化 其好處在于 包括程序員在內(nèi)的絕大多數(shù)系統(tǒng)的利益相關(guān)人員都借助軟件 體系結(jié)構(gòu)來進行彼此理解 協(xié)商 達成共識或者相互溝通的基礎(chǔ) 軟件體系機構(gòu)的模型可 以應(yīng)用到具有相似質(zhì)量屬性和功能需求的系統(tǒng)中 并能夠促進大規(guī)模軟件的系統(tǒng)級復(fù)用 在很多方面使得軟件開發(fā)更加人性化 13 3 軟件體系結(jié)構(gòu)的生命周期模型與軟件生命周期模型有什么關(guān)系 答 軟件體系結(jié)構(gòu)是貫穿于軟件研發(fā)的整個生命周期的系統(tǒng)開發(fā) 運行 維護所實施的全 部工作和任務(wù)的結(jié)構(gòu)框架 給出了軟件開發(fā)活動各階段之間的關(guān)系 軟件體系結(jié)構(gòu)的生命 周期模型為軟件生命周期模型提供了很好的結(jié)構(gòu)依據(jù)和參考 也為其構(gòu)建了很好的開發(fā)方 式 第三章 軟件體系結(jié)構(gòu)風(fēng)格 1 層次系統(tǒng)結(jié)構(gòu)和基于消息的層次系統(tǒng)結(jié)構(gòu)有什么區(qū)別 答 層次結(jié)構(gòu)將系統(tǒng)進行分級組織 其組織思想是 在層次結(jié)構(gòu)中 每一層向上層提供服 務(wù) 并作為客戶向下層請求服務(wù) 分層系統(tǒng)的優(yōu)點 支持基于抽象程度遞增的系統(tǒng)設(shè)計 支持功能增強 支持重用 分層系統(tǒng)的缺點 并不是每個系統(tǒng)都可以很容易的劃分為分層 的模式 甚至即使是層次化的 出于性能的考慮 也不得不吧一些低及或高級的功能綜合 起來 很難找到一個合適的 正確的層次抽象方法 消息總線是系統(tǒng)的連接件 負(fù)責(zé)消息的分派 傳遞和過濾以及處理結(jié)果的返回 消息是構(gòu) 件之間通信的唯一方式 由于構(gòu)件通過總線進行連接 并不要求各個構(gòu)件具有相同的地址 空間或局限在一臺機器上 因此該風(fēng)格可以很好的刻畫分布式開發(fā)系統(tǒng) 以及 CORBA DCOM 和 EJB 規(guī)范的系統(tǒng) 2 試分析和比較 B S 二層 C S 和三層 C S 指出各自的優(yōu)點和缺點 答 二層 C S 體系結(jié)構(gòu)將應(yīng)用一分為二 服務(wù)器負(fù)責(zé)數(shù)據(jù)管理 客戶機完成與用戶的交互 任務(wù) 優(yōu)點 1 C S 體系結(jié)構(gòu)具有強大的數(shù)據(jù)操作的事務(wù)處理能力 模型思想簡單 易于 人們理解和接受 2 對軟硬件的變化有極大的適應(yīng)性和靈活性 易于對系統(tǒng)進行擴充 和縮小 3 系統(tǒng)中的功能構(gòu)建充分隔離 節(jié)約大量費用 缺點 1 開發(fā)成本較高 14 2 客戶端程序設(shè)計復(fù)雜 3 信息內(nèi)容和形式單一 4 用戶界面風(fēng)格不一 使用 繁雜不易推廣 5 軟件移植困難 6 軟件維護和升級困難 7 新技術(shù)不能輕易應(yīng)用 三層 CS 在上面的基礎(chǔ)上進行了改造 并增加了一個服務(wù)器 其優(yōu)點 1 允許合 理的劃分三層結(jié)構(gòu)的功能 能提高系統(tǒng)和軟件的可維護性和可擴展性 2 具有良好的 可升級性和開放性 3 應(yīng)用的各層可以并行開發(fā) 可以選擇各自最適合的開發(fā)語言 4 為嚴(yán)格的安全管理奠定了堅實的基礎(chǔ) B S 風(fēng)格就是上述三層應(yīng)用結(jié)構(gòu)的一種實現(xiàn)方式 其具體結(jié)構(gòu)為 瀏覽器 Web 服務(wù) 器 數(shù)據(jù)庫服務(wù)器 優(yōu)點 1 基于 B S 體系結(jié)構(gòu)的軟件 系統(tǒng)安裝 修改和維護全在服務(wù) 器端解決 2 提供了異種機 異種網(wǎng) 異種應(yīng)用服務(wù)的聯(lián)機 聯(lián)網(wǎng) 同意服務(wù)的最現(xiàn) 實的開放性基礎(chǔ) 缺點 1 缺乏對動態(tài)頁面的支持能力 沒有集成有效的數(shù)據(jù)庫處理能 力 2 在數(shù)據(jù)查詢等響應(yīng)速度上 要遠遠低于 C S 體系結(jié)構(gòu) 3 數(shù)據(jù)提交一般以頁 面為單位 數(shù)據(jù)的動態(tài)交互性不強 不利于在線事務(wù)處理應(yīng)用 3 SIS 和 DSSA 分別用在哪些場合 答 1 DSSA 只對某一個領(lǐng)域進行設(shè)計專家知識的提取 存儲和組織 但可以同時使用多 種體系結(jié)構(gòu)風(fēng)格 而在某個體系結(jié)構(gòu)風(fēng)格中進行體系結(jié)構(gòu)設(shè)計專家知識的組織時 可以將 提取的公共結(jié)構(gòu)和設(shè)計方法擴展到多個領(lǐng)域 2 DSSA 的特定領(lǐng)域參考體系結(jié)構(gòu)通常選用一個或多個適合所研究領(lǐng)域的體系結(jié)構(gòu)風(fēng) 格 并設(shè)計一個該領(lǐng)域?qū)S玫捏w系結(jié)構(gòu)分析設(shè)計工具 3 體系結(jié)構(gòu)風(fēng)格的定義和該風(fēng)格應(yīng)用的領(lǐng)域是直交的 提取的設(shè)計知識比用 DSSA 提取的設(shè)計專家知識的應(yīng)用范圍要廣 4 DSSA 和體系結(jié)構(gòu)風(fēng)格是互為互補的兩項技術(shù) 15 SIS 交互式網(wǎng)絡(luò)互連服務(wù) DSSA 特定領(lǐng)域的軟件體系結(jié)構(gòu) 4 在軟件開發(fā)中 采用異構(gòu)結(jié)構(gòu)有什么好處 其負(fù)面影響有哪些 答 1 結(jié)構(gòu)有不同的處理能力的強項和弱點 一個系統(tǒng)的體系結(jié)構(gòu)應(yīng)該根據(jù)實際需要進行 選擇 以解決實際問題 2 軟件包 框架 通信以及其他一些體系機構(gòu)上的問題 目前存在者多中標(biāo)準(zhǔn) 即使 再某一段時間內(nèi)某一標(biāo)準(zhǔn)占據(jù)著統(tǒng)治地位 但變動最終是絕對的 3 工作中 我們總會遇到一些遺留下的代碼 它們?nèi)杂行в?但是卻與新系統(tǒng)有某種 程度上的不協(xié)調(diào) 然而在很多場合 將技術(shù)與經(jīng)濟綜合進行考慮時 總是決定不重寫它們 4 在某一單位中 規(guī)定了共享共同的軟件包或相互關(guān)系的一些標(biāo)準(zhǔn) 仍會存在解釋或 表示習(xí)慣上的不同 負(fù)面影響 大多數(shù)應(yīng)用程序只使用 10 的代碼實現(xiàn)系統(tǒng)的公開功能 剩下 90 的代 碼完成系統(tǒng)管理功能 輸入和輸出 用戶界面 文本編輯 基本圖表 標(biāo)準(zhǔn)對話框 通信 數(shù)據(jù)確認(rèn)和旁聽追蹤 特定領(lǐng)域的基本定義等 第四章 軟件體系結(jié)構(gòu)描述 1 體系結(jié)構(gòu)描述有哪些 有哪些標(biāo)準(zhǔn)和規(guī)范 體系結(jié)構(gòu)描述方法 1 圖形表達工具 由矩形框和有向線段組合而成 2 模塊內(nèi)連接語言 將一種或幾種傳統(tǒng)程序設(shè)計語言的模塊連接起來的語言 3 基于軟構(gòu)件的系統(tǒng)描述語言 將軟件系統(tǒng)描述成一種是由許多以特定形式相互作用的特 殊軟件實體構(gòu)造組成的組織或系統(tǒng) 4 軟件體系結(jié)構(gòu)描述語言 是參照傳統(tǒng)程序設(shè)計語言的設(shè)計和開發(fā)經(jīng)驗 針對軟件體系結(jié) 16 構(gòu)特點重新設(shè)計 開發(fā)和使用的專門的軟件體系結(jié)構(gòu)描述語言 體系結(jié)構(gòu)描述的標(biāo)準(zhǔn)和規(guī)范 IEEE P1471 于 2000 年 9 月 21 日通過 IEEE SA 標(biāo)準(zhǔn)委員會評審 2 體系結(jié)構(gòu)描述語言與程序設(shè)計語言的區(qū)別 構(gòu)造能力 ADL 能夠使用較小的獨立體系結(jié)構(gòu)元素來建造大型軟件系統(tǒng) 抽象能力 ADL 使得軟件體系結(jié)構(gòu)中的構(gòu)件和連接件描述可以只關(guān)注它們的抽象特性 而不管其具體的實現(xiàn)細節(jié) 重用能力 ADL 使得組成軟件系統(tǒng)的構(gòu)件 連接件甚至是軟件體系結(jié)構(gòu)都成為軟件系統(tǒng) 開發(fā)和設(shè)計的可重用部件 組合能力 ADL 使得其描述的每一系統(tǒng)元素都有其自己的局部結(jié)構(gòu) 這種描述局部結(jié)構(gòu) 的特點使得 ADL 支持軟件系統(tǒng)的動態(tài)變化組合 異構(gòu)能力 ADL 允許多個不同的體系結(jié)構(gòu)描述關(guān)聯(lián)存在 分析和推理能力 ADL 允許對其描述的體系結(jié)構(gòu)進行多種不同的性能和功能上的多種推 理分析 典型元素含義比較 17 3 選擇一個規(guī)模適中的系統(tǒng) 使用 UML 為其建模 第五章 動態(tài)軟件體系結(jié)構(gòu) 1 什么是動態(tài)軟件體系結(jié)構(gòu) 動態(tài)軟件體系結(jié)構(gòu)與靜態(tài)軟件體系結(jié)構(gòu)有什么區(qū)別 答 動態(tài)軟件體系結(jié)構(gòu)的動態(tài)性包括 交互性動態(tài)性 結(jié)構(gòu)化動態(tài)性 體系結(jié)構(gòu)動態(tài)性 由于系統(tǒng)需求 技術(shù) 環(huán)境 分布等因素的變化而最終造成軟件體系結(jié)構(gòu)的變動 稱 之為軟件體系結(jié)構(gòu)演化 軟件系統(tǒng)在運行時刻的體系結(jié)構(gòu)變化稱之為軟件體系結(jié)構(gòu)的動態(tài) 性 動態(tài)軟件體系結(jié)構(gòu)的動態(tài)性包括 交互性動態(tài)性 結(jié)構(gòu)化動態(tài)性 體系結(jié)構(gòu)動態(tài)性 2 基于構(gòu)件的動態(tài)軟件體系結(jié)構(gòu)模型的層次結(jié)構(gòu)是什么 答 基于構(gòu)件的動態(tài)系統(tǒng)結(jié)構(gòu)模型支持運行系統(tǒng)的動態(tài)更新 該模型分為三類 分別是應(yīng) 用層 中間層和體系結(jié)構(gòu)層 1 應(yīng)用層 處于最底層 包括構(gòu)件鏈接 構(gòu)件接口和執(zhí)行 2 中間層 包括連接件配置 構(gòu)件配置 構(gòu)件描述及執(zhí)行 3 體系結(jié)構(gòu)層 位于最上層 控制和管理整個體系結(jié)構(gòu) 包括體系結(jié)構(gòu)配置 體 系結(jié)構(gòu)描述和執(zhí)行 18 第六章 Web 服務(wù)體系結(jié)構(gòu)和 SOA 1 什么是 Web 服務(wù)體系結(jié)構(gòu) 與傳統(tǒng)的結(jié)構(gòu)相比 使用 Web 服務(wù)有哪些好處 答 Web 服務(wù)作為一種新興的 Web 應(yīng)用模式 是一種嶄新的分布式計算模型 是 Web 上數(shù)據(jù)和信息集成的有效機制 Web 服務(wù)就像 Web 上的構(gòu)件編程 開發(fā)人員通過調(diào)用 Web 應(yīng)用編程接口 將 Web 服 務(wù)集成進他們的應(yīng)用程序 就像調(diào)用本地服務(wù)一樣 這主要包括一下模塊內(nèi)容 數(shù)據(jù)層 數(shù)據(jù)訪問層 業(yè)務(wù)層 業(yè)務(wù)面 監(jiān)聽者 Web 服務(wù)的不同描述 應(yīng)用的風(fēng)不是 應(yīng)用到應(yīng)用的交互 平臺無關(guān)性 Web 服務(wù)開發(fā)生命周期 構(gòu)建 部署 運行 管理 Web 服務(wù)的特點 使用標(biāo)準(zhǔn)協(xié)議規(guī)范 使用協(xié)越的規(guī)范性 高度集成能力 完好的封裝性 松散耦合 與傳統(tǒng)的結(jié)構(gòu)相比 具有以下幾個優(yōu)點 高度的通用性和易用性 完全的平臺 語言獨立性 高度的集成性 容易部署和發(fā)布 2 在 Web 服務(wù)中 如何實現(xiàn)其松散耦合的特點 答 C S 結(jié)構(gòu)是松散耦合系統(tǒng) 它們通過消息傳遞機制進行通話 由客戶端發(fā)出請求給服 務(wù)器 服務(wù)器進行相應(yīng)處理后經(jīng)傳遞機制送回客戶端 3 試分析服務(wù)提供者 服務(wù)請求者和服務(wù)代理三者的作用 以及它們之間的工作流程 答 服務(wù)請求者與服務(wù)提供者通過語義進行交互 服務(wù)提供者提交 web 服務(wù)描述給服務(wù)代 理者 服務(wù)代理者返回 web 服務(wù)描述給服務(wù)請求者 19 4 試解釋 Web 服務(wù)棧的層次結(jié)構(gòu) 答 XML 可擴展標(biāo)記語言 SOAP 簡單對象訪問協(xié)議 WSDL web 服務(wù)定義語言 UDDI 統(tǒng)一描述發(fā)現(xiàn)和集成 5 Web 服務(wù)有哪些核心技術(shù) 這些技術(shù)是如何在 Web 服務(wù)中發(fā)揮作用的 答 Web 服務(wù)技術(shù)核心基于可擴展標(biāo)記語言 XML 的標(biāo)準(zhǔn) 包括簡單對象訪問協(xié)議 Web 服務(wù)描述語言和統(tǒng)一描述 發(fā)現(xiàn)和集成協(xié)議 SOAP 定義了三部分 定義了描述消息和如何處理消息的框架的封裝 表達應(yīng)用程序定義 的數(shù)據(jù)類型實例的編碼規(guī)則以及描述遠程調(diào)用和應(yīng)答的協(xié)議和 SOAP 編訂 WSDL 為服務(wù)者提供以 XML 格式描述的 WEB 服務(wù)請求的標(biāo)準(zhǔn)格式 經(jīng)網(wǎng)絡(luò)服務(wù)描述為能 夠進行消息交換的通信端點集合 以表達一個 Web 服務(wù)能做什么 他的位置在哪里 以 20 及如何調(diào)用等信息 UDDL 規(guī)范描述了 Web 的概念 同時也定義了一種編程接口 通過 UDDL 提供的標(biāo)準(zhǔn)接 口 企業(yè)可以發(fā)布自己的 Web 服務(wù)供其他企業(yè)調(diào)用和查詢 業(yè)可以查詢特地服務(wù)的描述 信息 并動態(tài)的綁定到該服務(wù)上 通過 UDDL Web 服務(wù)可以真正實現(xiàn)信息的 一次注冊 到處訪問 6 從管理的角度看 SOA 有什么優(yōu)點 答 1 更易于維護 服務(wù)提供者和服務(wù)和服務(wù)使用者的松散耦合關(guān)系及對開放標(biāo)準(zhǔn)的 采用確保了該特性的實現(xiàn) 2 更高的可用性 該特性在服務(wù)提供者和服務(wù)使用者的松散耦合關(guān)系上得以體現(xiàn) 使 用者無需了解提供者的實現(xiàn)細節(jié) 3 更好的伸縮性 依靠服務(wù)設(shè)計 開發(fā)和部署所采用的架構(gòu)模型實現(xiàn)伸縮性 服務(wù)提 供者可以彼此獨立調(diào)整 以滿足服務(wù)需求 7 在實際開發(fā)中 如何實現(xiàn) Web 服務(wù)和 SOA 結(jié)構(gòu) 答 聲明技術(shù) J2EE 編程模型就是使用聲明技術(shù)提供應(yīng)用程序邏輯和中間件配置分離的一 個例子 抽象 在某些情況下 SOA 基礎(chǔ)結(jié)構(gòu)中可以提供 API 以用于特定的用途 例如 SOA 基礎(chǔ)結(jié)構(gòu)可以提供錯誤報告和審核機制 在設(shè)計此類 API 時應(yīng)非常小心 要注意其 易用性 我們應(yīng)優(yōu)先考慮聲明技術(shù) 而不是對這些機制進行編程配置 同樣 在標(biāo)準(zhǔn) API 可用時 我們應(yīng)通過這些標(biāo)準(zhǔn) API 公開 SOA 基礎(chǔ)結(jié)構(gòu)功能 而不是采用自己開發(fā)編寫的 方式 代碼生成 在無法避免代碼復(fù)雜性的地方 可以使用代碼生成技術(shù) 例如 Web 服務(wù)描 述語言 Web Services Definition Language WSDL 就可以為開發(fā)人員隱藏 21 SOAP HTTP 和 JMS 的復(fù)雜細節(jié) 這是通過組合用 WSDL 表示的可由計算機處理的接 口定義和可從 WSDL 生成相關(guān)調(diào)用代碼的語言特定實現(xiàn)的工具來實現(xiàn)的 工具 在不可避免 SOA 基礎(chǔ)結(jié)構(gòu)的細節(jié)進入開發(fā)人員代碼的情況下 我們可以通過使 用合適的工具擴展開發(fā)環(huán)境來減少開發(fā)人員工作的復(fù)雜性 IBM Rational Software Development Platform 產(chǎn)品所提供的基于 Eclipse 的環(huán)境可 使用自定義插件 代碼片段和用戶指南輕松地進行擴展 模型驅(qū)動的開發(fā) 模型驅(qū)動的開發(fā)技術(shù)可以被視為前面兩種方法的特定復(fù)雜組合 同時 利用了工具和代碼生成功能來簡化開發(fā)體驗 開發(fā)人員生成統(tǒng)一建模語言 Unified Modeling Language UML 模型 此類模型可轉(zhuǎn)換為相應(yīng)的代碼 其中包 含利用 SOA 基礎(chǔ)結(jié)構(gòu)所必需的代碼 總之 在定義面向服務(wù)的體系結(jié)構(gòu)及其基礎(chǔ)結(jié)構(gòu)時 我們必須特別注意開發(fā)人員的需求 當(dāng)為開發(fā)人員提供指南 以告知他們應(yīng)如何開發(fā)或使用服務(wù)時 我們應(yīng)該尋找可促進這些 指導(dǎo)方針遵循的機制 SOA 內(nèi)的控制對其成功甚為關(guān)鍵 第七章 基于體系結(jié)構(gòu)的軟件開發(fā) 1 請把基于體系結(jié)構(gòu)的軟件開發(fā)模型與其他軟件開發(fā)模型進行比較 答 軟件開發(fā)模型有演化模型 螺旋模型 噴泉模型 智能模型等 傳統(tǒng)軟件開發(fā)模 型存在開發(fā)效率不高 不能很好地支持軟件重用等缺點 在多個大中型軟件項目的實踐基礎(chǔ) 上 提出了基于體系結(jié)構(gòu)的軟件開發(fā)模 ABSD ABSD 模型把整個基于體系結(jié)構(gòu)的軟件過程 劃分為體系結(jié)構(gòu)需求 設(shè)計 文檔化 復(fù)審 實現(xiàn) 演化等 6 個子過程 討論了各個子過程 所要完成的工作 給出了 ABSD 模型在勞動和社會保險領(lǐng)域的一個應(yīng)用實例 實踐表明 采 用 ABSD 模型進行軟件項目開發(fā) 具有結(jié)構(gòu)清晰 易于理解 可移植性強 重用粒度大等優(yōu) 點 22 答 一 基于體系結(jié)構(gòu)為基礎(chǔ)的基于構(gòu)件組裝的軟件開發(fā)模型 如基于構(gòu)件的開發(fā)模型和 基于體系結(jié)構(gòu)的開發(fā)模型等 基于體系結(jié)構(gòu)的開發(fā)模型是以軟件體系結(jié)構(gòu)為核心 以基于 構(gòu)件的開發(fā)方法為基礎(chǔ) 然后采用迭代增量方式進行分析和設(shè)計 將功能設(shè)計空間映射到 結(jié)構(gòu)設(shè)計空間 再由結(jié)構(gòu)設(shè)計空間映射到系統(tǒng)設(shè)計空間的過程 特點 是利用需求分析結(jié)果設(shè)計出軟件的總體結(jié)構(gòu) 通過基于構(gòu)件的組裝方法來構(gòu)造軟件 系統(tǒng) 優(yōu)點 軟件復(fù)用 提高了開發(fā)的效率 軟件的結(jié)構(gòu)框架更清晰 有利于系統(tǒng)的設(shè)計 開發(fā) 和維護 缺點 缺乏通用的組裝結(jié)構(gòu)標(biāo)準(zhǔn) 因而引入了較大的風(fēng)險 可重用性和軟件高效性不易協(xié) 調(diào) 客戶的滿意度低 過分依賴于影響產(chǎn)品質(zhì)量 二 以軟件需求完全確定為前提軟件開發(fā)模型 如瀑布模型等 特點 軟件需求在開發(fā)階段已經(jīng)被完全確定 將生命周期的各項活動依順序固定 強調(diào)開 發(fā)的階段性 優(yōu)點 開發(fā)流程簡單 缺點 是開發(fā)后期要改正早期存在的問題需要付出很高的代價 用戶需要等待較長時間才 能夠看到軟件產(chǎn)品 增加了風(fēng)險系數(shù) 三 在開始階段只能提供基本需求的漸進式開發(fā)模型 如螺旋模型和原型實現(xiàn)軟件開發(fā)模 型等 特點 軟件開發(fā)開始階段只有基本的需求 軟件開發(fā)過程的各個活動是迭代的 通過迭代 過程實現(xiàn)軟件的逐步演化 最終得到軟件產(chǎn)品 在此引入了風(fēng)險管理 增加項目成功幾率 優(yōu)點 強調(diào)了其他模型均忽略了的風(fēng)險分析 缺點 由于需求的不完全性 從而為軟件的總體設(shè)計帶來了困難并要求對風(fēng)險技能管理水 23 平的高要求 2 請把基于體系結(jié)構(gòu)的軟件設(shè)計方法與其他軟件設(shè)計方法進行比較 基于體系結(jié)構(gòu)的開發(fā)方法出現(xiàn)了基于構(gòu)件 基于框架 基于模板的開發(fā)技術(shù) 項目利用基 于體系結(jié)構(gòu)開發(fā)的思想 從需求到高層框架設(shè)計 架構(gòu)設(shè)計 平臺實現(xiàn) 充分體現(xiàn)了基于 體系結(jié)構(gòu)開發(fā)中從高層設(shè)計入手 復(fù)用體系結(jié)構(gòu)框架 設(shè)計和實現(xiàn)可復(fù)用的構(gòu)件的原則 此外 與其他軟件設(shè)計方法的區(qū)別還有 1 單個用戶界面和業(yè)務(wù)邏輯的改動不會影響到系統(tǒng)整體 2 開發(fā)人員的組織用戶界面和業(yè)務(wù)邏輯的定制可由領(lǐng)域人員來完成 專業(yè) 計算機人員制作不同粒度的構(gòu)件 完成模型的開發(fā) 3 不同業(yè)務(wù)對象有相似的業(yè)務(wù)邏輯 可直接復(fù)用其構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)注行業(yè)發(fā)展熱點的2025年市場營銷理論考試試題及答案
- 2025年醫(yī)學(xué)專業(yè)執(zhí)業(yè)考試試卷及答案
- 2025年心理測量與評估方法綜合考核試題及答案
- 2025年現(xiàn)代藝術(shù)與文化創(chuàng)新的考試試題及答案
- 2025年心理咨詢師資格考試試卷及答案
- 2025年水資源管理與保護課程考試卷及答案
- 2025年人工智能與機器學(xué)習(xí)基礎(chǔ)試卷及答案
- 北師大版(2024)七年級下冊英語期末復(fù)習(xí):Unit1~6語法練習(xí)100題(含答案)
- 2025年建筑設(shè)計基礎(chǔ)知識測試卷及答案
- 2025年建筑經(jīng)濟與管理綜合能力考試試卷及答案
- (整理)薩提亞溝通模式課件
- 水產(chǎn)品冷凍食品加工行業(yè)解決方案
- 茶知識與科學(xué)飲茶課件
- 手術(shù)通知單模板
- 2021年安康市中心醫(yī)院醫(yī)護人員招聘筆試試題及答案解析
- 醫(yī)院醫(yī)療精神科危險物品管理PPT課件講義
- 第二講:黔東南州優(yōu)勢礦產(chǎn)資源
- 康復(fù)醫(yī)院的設(shè)計要點精選
- 10kv高壓架空電線防護方案概述
- 空調(diào)維保方案及報價(共3頁)
- 石油化工管道施工方案
評論
0/150
提交評論