軟體工程高階開發技術讀書報告三

2022-03-26 03:12:29 字數 3809 閱讀 3027

(2)變更—傳播機制

①乙個模型可對應多個檢視:如果使用者通過乙個檢視的控制器改變了模

型中的資料,那麼依賴於該資料的其他檢視也應該反映出這樣的變化。

一旦模型的資料發生了變化,模型需要通知所有相關的檢視做出相應的

變化。②維護資料的一致性

③工作原理:模型維護了乙個表;所有檢視還有一些控制器在這個表中登

記了對變更通知的需求;模型狀態的改變將觸發變更—傳播機制,每個表

中登記的檢視和控制器都會收到變更通知。

④這樣的方式可以通過觀察者設計模式完成。

描述:將表示和互動從系統資料中分離出來。系統被設計成有3個彼此互動的邏輯元件組成:

模型元件管理系統資料和在資料上的操作,檢視元件定義和管理如何顯示資料給使用者,控制器元件管理使用者的互動,並傳遞這些互動給檢視和模型。

適用場合:在資料有多個顯示互動方式的時候使用;②也可以在對未來資料的互動和表示需求不明朗的時候使用;③具有靈活人機介面的互動式應用程式:可以靈活選擇不同的資訊顯示方式,可以靈活選擇使用者的輸入方式;④針對不同的使用者角色,提供不同的使用者介面:

不同使用者具有不同許可權,操作的方式也有所不同。

優點:允許資料獨立的改變,不影響表示,反之亦然。支援對相同資料的多種不同方式的表達,對某種方式的變更會傳遞到所有其他的表示。

缺點:可能需要額外的**,當資料模型和互動很賤的時**的複雜度相對比較高。

◆分層體系結構

分離性和獨立性的概念是體系結構設計的基礎,因為分離性和獨立性使得變更得到區域性化。分層的方法支援系統的增量式開發。如乙個層被開發完,該層提供的服務就可以被使用者使用了。

這個體系結構還是可改變和可移植的。如果一層的介面被保留下來,這個層就能被另外的乙個對等層替換。當一層的介面改變或增加了新設施的時候,只有毗鄰的層受影響。

因為分層系統的抽象機依賴的是內層中的抽象機,因此,轉換到其他機器上實現是比較容易的,此時只有內部與具體機器相關的層需要重新實現以適應不同的作業系統或資料庫。

描述:所謂分層式體系結構,是按層次組織軟體的一種軟體體系結構,其中每一層軟體建立在低一層的軟體層上。分層風格適用於可以按照層次結構來組織不同類別的相關服務的應用程式。

特徵:分層結構的主要特徵是第j層的服務只被第j+1層使用——層之間沒有進一步的依賴關係。下圖可以直觀的表示這種特徵:

適用場合:在已有系統的基礎上構建新的設施時使用;當開發團隊由多個分散的小團隊組成,且每個小團隊負責一層的功能時使用;或者是當系統存在多層資訊保安性需求時使用。

優點:①允許在介面保持不變的條件下更換整個一層;②在每一層中可以提供冗餘服務(例如身份驗證)以增加系統的可靠性;③由於對層次的鄰接層數目進行了限制,所以系統易於改進和擴充套件;④每一層的軟體都易於重用,並可為某一層次提供多種可互換的具體實現;⑤分層系統所支援的設計體現了不斷增加的抽象層次,這樣,乙個複雜問題的求解被分解為一系列遞增的步驟;⑥標準化支援;⑦區域性依賴性;⑧可替換性。

缺點:①應當如何界定層次間的劃分是乙個較為複雜的問題;②更改行為的重疊;③降低效率;④不必要的工作;⑤難以認可層的正確粒度。

◆容器體系結構

描述:系統的所有資料在乙個**容器中管理,該**容器可以被所有系統元件訪問。元件間不是直接進行互動,它們只通過容器進行互動。

適用場合:當乙個系統中所生成的大量資訊需要持久儲存時,可以使用該模式。也可以在資料驅動系統中使用該模式,每當在容器中收入資料時將觸發乙個動作或工具。

大多數使用大量資料的系統都是圍繞共享資料庫或容器來組織的。因此,這個模型適合於資料是由乙個元件產生而由其他元件使用的情形。這種型別的系統例子包括指揮和控制系統、管理資訊系統、cad系統和軟體的互動開發環境等。

優點:①元件是獨立的,它們無需知道其他元件的存在;②乙個元件的變更可以傳播到所有的元件;③所有的資料可以得到一致的管理(例如同一時間進行備份),因為它們是存放在同乙個地方。

缺點:①容器是乙個單個失敗點,因而容器中的問題會影響整個系統;②在組織所有通過容器進行的通訊時會比較低效;③將容器分布到多個計算機上會很困難。

把所有適合使用容器的工具組織起來時共享大量資料的一種搞笑方式。這就不需要顯式地把資料從乙個元件傳送到另乙個元件。然而,元件一定要圍繞乙個約定好了的容器資料模型執行。

這不可避免的要在每個工具的特定需求之間做出妥協。若乙個新元件的資料模型與該模型有衝突,那麼要想將它整合到該系統中來可能是很困難或是不可能的。實際上,將容器分不到多台機器上可能是困難的。

在邏輯上,雖然將集中式容器分布到不同的機器上是可能的,但這樣做會引起資料冗餘和不一致性的問題。

◆客戶機-伺服器體系結構

乙個採用客戶機—伺服器模式的系統是由乙個服務集合和相關的伺服器以及訪問和使用這些服務的客戶機組織起來的。這個模型的主要組成部分包括:

1 一組給其他元件提供服務的伺服器。伺服器的例子包括:列印伺服器,提供列印服務;檔案伺服器,提供文件管理服務;編譯伺服器,負責對程式的編譯服務。

2 一組向伺服器請求服務的客戶機。有乙個客戶機程式通常有多個例項,可以在不同計算機上併發進行。

3 乙個連線客戶機和伺服器的網路。絕大多數客戶機—伺服器系統實現為分布式系統,通過網際網路的協議連線在一起。

客戶機—伺服器體系結構經常被認為是分布式系統體系結構,但是執行在分散伺服器上的獨立服務的邏輯模型可以在單個計算機上實現。此外,更重要的好處是分離性和獨立性。服務和伺服器可以改變而不會影響系統其它部分。

客戶機必須知道可用的伺服器的名字以及它們所提供的服務。反之,伺服器沒有必要知道客戶機的身份以及到底有多少客戶機在訪問它們的服務。客戶機通過遠端過程呼叫來獲取伺服器提供的服務,遠端過程呼叫使用乙個請求—回答協議,比如在www上使用的http協議。

本質上,客戶機向伺服器提出請求,然後等待直到它收到回答為止。

描述:在客戶機-伺服器體系結構中,系統的功能是以服務的形態存在的,每乙個服務來自於某個單獨的伺服器。客戶機是那些使用服務和訪問伺服器的使用者。

適用場合:當需要從很多地點訪問共享資料時使用。因為伺服器可以複製,所以也可以在系統負載經常變化時使用。

優點:①該模型的主要優點是伺服器可以分布到網路上;②一般性的功能(例如列印服務)可以被所有的客戶機使用,但並不需要被所有的服務所實現;③客戶機—伺服器模型的最大優勢在於它是乙個分布式體系結構。由許多分布式處理器構成的網路系統可提供更有效的使用。

在這樣的系統中,新增一台伺服器並將它與系統其餘部分整合在一起,或透明地更新伺服器而不影響系統的其他部分是很容易的。

缺點:①每個服務是單個失敗點,所以對阻止拒絕服務攻擊或伺服器失敗缺乏免疫性;②效能也可能是無法預知的,因為它依賴於網路也依賴於系統;③當伺服器屬於不同的機構時,也存在管理方面的問題。

◆管道和過濾器體系結構

最後乙個體繫結構模式是管道和過濾器模式。在這個模型中,函式轉換處理輸入並產生輸出。資料從乙個處理單元流到另乙個處理單元,每經過乙個單元就做一次變換。

輸入資料流經過這些變換直到轉換為輸出。這些轉換可能順序地或者並行地執行,資料加工可以使一項一項的處理,也可以成批的處理。

「管道和過濾器」的名字最早出自unix系統,在unix系統中鏈結程序時可能會用到「管道」。這些管道能從乙個程序到另乙個程序傳遞文字流。遵照這個模型的系統可以通過組合unix命令、使用管道和unix shell控制工具來實現。

「過濾器」這個詞的使用形象的描述了資料從輸入到輸出這樣乙個過程。

描述:系統中資料的處理是這樣組織的,每個處理元件(過濾器)都是分離的並執行某個型別的資料轉換。資料流(如在乙個管道中)從乙個元件流向另乙個元件。

適用場合:一般應用在資料處理應用中(批處理和實物處理),一些不同的階段處理輸入資料,並產生相應的輸出。

優點:①易於理解並支援變換的復用;②工作流風格與很多業務處理體系結構很匹配;③通過新增變換的方式進行進化是很顯然的;④可以實現為順序的系統,也可以實現為併發的系統。

缺點:①在通訊變換間所傳輸的資料格式必須協商好;②每個變換必須解析它的輸入並寫成約定的格式輸出,這增加了系統的負荷,意味著不可能復用使用不相容資料結構的函式變換。

軟體工程專題讀書報告筆記

專題讀書報告3 s201325016趙鵬飛 圖書管理系統 首先需要對圖書館管理系統進行詳細的了解和分析,乙個功能完全滿足基本需要的系統模組圖如下 系統功能需求框圖 在這個功能模組中,提供了使用者錄入 修改 並進行維護基本書籍的途徑。比如在這個模組中可以輸入讀者的資訊 書籍的各項資訊,也可以對這些資訊...

隧道工程讀書報告

在隧道設計上存在重結構 輕防水的傾向。很少有人對排防水進行計算。即使在高水壓地段水壓值的計算也只是考慮結構設計的需要。施工縫 變形縫處理材料也只是按工程模擬法 有些比較還並不同類 選用,很少按材料效能 地下水壓等進行計算。所有這些,都給隧道滲漏水埋下了隱患。水對隧道工程的危害是多方面的 地下水的侵蝕...

光電成像技術讀書報告

光電子成像技術是眼視光研究領域的重要組成部分,在幫助臨床和科研人員獲取人眼生物組織影象 提高眼科醫療水平上起著很重要的作用。近十年來,與波前像差測量 校正相關的技術研究與光電子成像儀器發展引起了廣泛的關注,自適應光學技術與光學相干層析成像儀 共焦掃面雷射檢眼鏡的結合,使得醫生能夠獲得活體人眼眼底細胞...