软件体系结构第三章作业
1、層次系統結構和基于消息的層次系統結構有什么區別?
層次結構將系統進行分級組織,其組織思想是:在層次結構中,每一層向上層提供服務,并作為客戶向下層請求服務。分層系統的優點:支持基于抽象程度遞增的系統設計;支持功能增強;支持重用。分層系統的缺點:并不是每個系統都可以很容易的劃分為分層的模式,甚至即使是層次化的,出于性能的考慮,也不得不吧一些低及或高級的功能綜合起來;很難找到一個合適的、正確的層次抽象方法。
消息總線是系統的連接件、負責消息的分派、傳遞和過濾以及處理結果的返回。消息是構件之間通信的唯一方式。由于構件通過總線進行連接,并不要求各個構件具有相同的地址空間或局限在一臺機器上,因此該風格可以很好的刻畫分布式開發系統,以及CORBA.DCOM和EJB規范的系統。
2、試分析和比較B/S,二層C/S和三層C/S,指出各自的優點和缺點。
二層C/S體系結構將應用一分為二,服務器負責數據管理,客戶機完成與用戶的交互任務。優點(1)C/S體系結構具有強大的數據操作的事務處理能力,模型思想簡單,易于人們理解和接受。(2)對軟硬件的變化有極大的適應性和靈活性,易于對系統進行擴充和縮小。(3)系統中的功能構建充分隔離,節約大量費用。缺點:(1)開發成本較高。(2)客戶端程序設計復雜(3)信息內容和形式單一(4)用戶界面風格不一,使用繁雜不易推廣。(5)軟件移植困難(6)軟件維護和升級困難(7)新技術不能輕易應用。三層CS在上面的基礎上進行了改造,并增加了一個服務器,其優點:(1)允許合理的劃分三層結構的功能,能提高系統和軟件的可維護性和可擴展性。(2)具有良好的可升級性和開放性。(3)應用的各層可以并行開發,可以選擇各自最適合的開發語言。(4)為嚴格的安全管理奠定了堅實的基礎。
B/S風格就是上述三層應用結構的一種實現方式,其具體結構為:瀏覽器/Web服務器/數據庫服務器。優點(1)基于B/S體系結構的軟件,系統安裝,修改和維護全在服務器端解決。(2)提供了異種機,異種網,異種應用服務的聯機,聯網,同意服務的最現實的開放性基礎。缺點(1)缺乏對動態頁面的支持能力,沒有集成有效的數據庫處理能力。(2)在數據查詢等響應速度上,要遠遠低于C/S體系結構。(3)數據提交一般以頁面為單位,數據的動態交互性不強,不利于在線事務處理應用。
3、組織或參與一個采用B/S和C/S混合體系結構的軟件項目的開發,總結開發經驗。
首先,開發者根據一定的原則,將系統的所有子功能分類,決定哪些子功能適合采用C/S,哪些適合采用B/S。適合采用C/S的子功能應具備以下特點:1安全性要求高;2要求具有較強的交互性;3使用范圍小,地點固定;4要求處理大量數據。例如,倉庫管理系統中的入庫單、領料單的輸入功能,財務系統中的憑證輸入功能等等。而適合采用B/S的子功能應具備以下特點:1使用范圍廣,地點靈活;2功能變動頻繁;3安全性、交互性要求不同。例如:企業內部信息發布功能,意見箱輸入功能,公司財務分析表的查詢功能,總裁決策支持系統中的查詢功能等等。
相對于單獨采用C/S或B/S,這種方案的優點在于:1保證敏感數據的安全性,特別是對數據庫的修改和新增記錄加強了控制;2經濟有效地利用企業內部計算機的資源,簡化了一部分可以簡化的客戶端;3既保證了復雜功能的交互性,又保證了一般功能的易用與統一;4系統維護簡便,布局合理;5網絡效率最高。
如果系統開發者在系統設計階段決定采用這種C/S與B/S相結合的模式,那么在系統開發生命周期的如下各個階段相對這種新模式都應有所響應。
在系統設計階段主要考慮的是MIS系統平臺選擇問題。在詳細設計階段,系統開發者需要根據企業自身的業務特點,以及一定的選擇原則,來決定各個子功能采用哪一種模式并在系統說明書上分別注明。在編碼設計階段,系統開發者需要針對采用不同模式的子功能,選用不同的編碼方式(例如:C/S可以采用VB編程環境,而B/S采用ASP方法),然后編譯生成不同的客戶應用及Web服務程序。在安裝調試階段,其特點主要體現在系統的物理結構上,即特定的客戶應用程序將被安裝在特定的使用者的客戶端上,Web服務程序需要被安裝在Web服務器上,而每個客戶端上都將被安裝上瀏覽器,同時,客戶應用的使用者必須接受一定的培訓。在軟件維護階段,針對不同模式的子功能應采取不同維護方式。
4、組織或參與一個采用三層體系結構的軟件項目的開發,總結開發經驗。
三層體系結構包括:用戶界面表示層(USL) 、業務邏輯層(BLL) 、數據訪問層(DAL) 。各層的作用 :1:數據訪問層:主要是對原始數據(數據庫或者文本文件等存放數據的形式)的操作層,而不是指原始數據,也就是說,是對數據的操作,而不是數據庫,具體為業務邏輯層或表示層提供數據服務。2:業務邏輯層:主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理,如果說數據層是積木,那邏輯層就是對這些積木的搭建。3:表示層:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表現成:aspx, 如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。
三層是指邏輯上的三層,即使這三個層放置到一臺機器上。 三層體系的應用程序將業務規則、數據訪問、合法性校驗等工作放到了中間層進行處理。在保證客戶端功能的前提下,為用戶提供一個簡潔的界面。這意味著如果需要修改應用程序代碼,只需要對中間層應用服務器進行修改,而不用修改成千上萬的客戶端應用程序。“中間業務層”的用途有很多,例如:驗證用戶輸入數據、緩存從數據庫中讀取的數據等等….但是,“中間業務層”的實際目的是將“數據訪問層”的最基礎的存儲邏輯組合起來,形成一種業務規則。要保證“數據訪問層”的中的函數功能的原子性!即最小性和不可再分。“數據訪問層”只管負責存儲或讀取數據就可以了。
我們用三層結構主要是使項目結構更清楚,分工更明確,有利于后期的維護和升級。它未必會提升性能,因為當子程序模塊未執行結束時,主程序模塊只能處于等待狀態。這說明將應用程序劃分層次,會帶來其執行速度上的一些損失。但從團隊開發效率角度上來講卻可以感受到大不相同的效果。需要說明一下,三層結構不是.NET的專利,也不是專門用在數據庫上的技術。它是一種更加普適的架構設計理念。此種架構要在數據庫設計上注意表之間的關系,盡力滿足主與子的關系。在功能上對用戶要有一定的限制,不要表現在對于子表的刪除操作一定要慎重,以免造成主表與子表的數據在邏輯上出現的主表的外鍵在子表中沒有相對應的值。
“三層結構”開發模式,入門難度夠高,難于理解和學習。這是對于初學程序設計的人來說的。以這種模式開發出來的軟件,代碼量通常要稍稍多一些。這往往會令初學者淹沒在茫茫的代碼之中。望之生畏,對其產生反感,也是可以理解的。
5、SIS和DSSA分別用在哪些場合?
答:1.DSSA只對某一個 領域進行設計專家知識的提取,存儲和組織,但可以同時使用多種體系結構風格;而在某個體系結構風格中進行體系結構設計專家知識的組織時,可以將提取的公共結構和設計方法擴展到多個領域。
2.DSSA的特定領域參考體系結構通常選用一個或多個適合所研究領域的體系結構風格,并設計一個該領域專用的體系結構分析設計工具。
3.體系結構風格的定義和該風格應用的領域是直交的,提取的設計知識比用DSSA提取的設計專家知識的應用范圍要廣。
4.DSSA和體系結構風格是互為互補的兩項技術。
6、在軟件開發中,采用異構結構有什么好處,其負面影響有哪些?
1).結構有不同的處理能力的強項和弱點,一個系統的體系結構應該根據實際需要進行選擇,以解決實際問題。
2).軟件包,框架,通信以及其他一些體系機構上的問題,目前存在者多中標準。即使再某一段時間內某一標準占據著統治地位,但變動最終是絕對的。
3).工作中,我們總會遇到一些遺留下的代碼,它們仍有效用,但是卻與新系統有某種程度上的不協調。然而在很多場合,將技術與經濟綜合進行考慮時,總是決定不重寫它們。
4).在某一單位中,規定了共享共同的軟件包或相互關系的一些標準,仍會存在解釋或表示習慣上的不同。
負面影響:大多數應用程序只使用10%的代碼實現系統的公開功能,剩下90%的代碼完成系統管理功能:輸入和輸出,用戶界面,文本編輯,基本圖表,標準對話框,通信,數據確認和旁聽追蹤,特定領域的基本定義等。
總結
以上是生活随笔為你收集整理的软件体系结构第三章作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rust房屋建造蓝图_都说蓝图,而不是白
- 下一篇: design.js