軟件工程-軟件體系結(jié)構(gòu)_第1頁
軟件工程-軟件體系結(jié)構(gòu)_第2頁
軟件工程-軟件體系結(jié)構(gòu)_第3頁
軟件工程-軟件體系結(jié)構(gòu)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《軟件工程》作業(yè)內(nèi)容:軟件體系結(jié)構(gòu)作業(yè)提交時間:20年月日姓名:學(xué)號:班級:計算機短號:11.3如何評估軟件設(shè)計的質(zhì)量?答:評估一個軟件設(shè)計質(zhì)量如何,首先看該設(shè)計是否能滿足軟件的功能需求。除此之外,軟件的評估還應(yīng)當(dāng)包含可讀性、可復(fù)用性、可擴展性、可維護性等。可讀性:軟件的設(shè)計文檔是否輕易被其他程序員理解。可讀性差的設(shè)計會給大型軟件的開發(fā)和維護過程帶來嚴(yán)重的危害。可復(fù)用性:軟件系統(tǒng)的架構(gòu)、類、組件等單元能否很容易被本項目的其它部分或者其它項目復(fù)用。可擴展性:軟件面對需求變化時,功能或性能擴展的難易程度。可維護性:軟件維護(主要是指軟件錯誤的修改、遺漏功能的添加等)的難易程度。11.6用你自己的話描述軟件體系結(jié)構(gòu)。答:軟件體系結(jié)構(gòu)定義為根據(jù)結(jié)構(gòu)組織模式構(gòu)成的軟件系統(tǒng)族,表達了部件和他們之間的關(guān)系。例如客戶/服務(wù)器(Client?/Server)結(jié)構(gòu)、瀏覽器/服務(wù)器(Browser/Server)結(jié)構(gòu)等。1.體系結(jié)構(gòu)風(fēng)格:體系結(jié)構(gòu)風(fēng)格是描述特定系統(tǒng)組織方式的慣用范例,強調(diào)組織模式和慣用范例。組織模式即靜態(tài)表述的樣例,慣用范例則是反映眾多系統(tǒng)共有的結(jié)構(gòu)和語義。通常,體系結(jié)構(gòu)風(fēng)格獨立于實際問題,強調(diào)了軟件系統(tǒng)中通用的組織結(jié)構(gòu),比如管道線,分層系統(tǒng),客戶機-服務(wù)器等等。體系結(jié)構(gòu)風(fēng)格以這些組織結(jié)構(gòu)定義了一類系統(tǒng)族。2.設(shè)計模式:設(shè)計模式是軟件問題高效和成熟的設(shè)計模板,模板包含了固有問題的解決方案。設(shè)計模式可以看成規(guī)范了的小粒度的結(jié)構(gòu)成分,并且獨立于編程語言或編程范例。設(shè)計模式的應(yīng)用對軟件系統(tǒng)的基礎(chǔ)結(jié)構(gòu)沒有什么影響,但可能對子系統(tǒng)的組織結(jié)構(gòu)有較大影響。每個模式處理系統(tǒng)設(shè)計或?qū)崿F(xiàn)中一種特殊的重復(fù)出現(xiàn)的問題。例如,工廠模式,它為解決抽象部分和實現(xiàn)部分獨立變化的問題提供了一種通用結(jié)構(gòu)。因此,設(shè)計模式更強調(diào)直接復(fù)用的程序結(jié)。3.應(yīng)用框架:應(yīng)用框架是整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件的集合以及構(gòu)件實例間交互的方法。可以說,一個框架是一個可復(fù)用的設(shè)計構(gòu)件,它規(guī)定了應(yīng)用的體系結(jié)構(gòu),間明了整個設(shè)計、協(xié)作構(gòu)件之間的依賴關(guān)系、責(zé)任分配和控制沉程,表現(xiàn)為一組拍象類以及其實例之間協(xié)作的方法,它為構(gòu)件復(fù)用提供了上下文(Context)關(guān)系。在很多情況下,框架通常以構(gòu)件庫的形式出現(xiàn),但構(gòu)件庫只是框架的一個重要部分。框架的關(guān)鍵還在于框架內(nèi)對象間的交互模式和控制流模式。體系結(jié)構(gòu)風(fēng)格、設(shè)計模式和應(yīng)用框架的概念是從不同的目的和出發(fā)點討論軟件體系結(jié)構(gòu),它們之間的概念經(jīng)常互相借鑒和引用。11.10討論作為有效模塊化屬性的信息隱蔽概念和模塊獨立性概念之間的關(guān)系。答:1、信息隱蔽指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說,是不能訪問的。在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的封裝性來實現(xiàn)的。????2、信息隱蔽的概念與模塊的獨立性直接相關(guān)。模塊獨立性:1.模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單?2.模塊獨立性是指模塊內(nèi)部各部分及模塊間的關(guān)系的一種衡量標(biāo)準(zhǔn),由內(nèi)聚和耦合來度量。信息隱蔽是將數(shù)據(jù)結(jié)構(gòu)和處理過程的細節(jié)隱蔽在模塊接口之后,用戶不需要了解模塊內(nèi)部的具體細節(jié)。模塊獨立性是指模塊功能專一且避免與其他模塊過多交互,即高內(nèi)聚低耦合。通過信息隱蔽可以減少潛在的模塊之間的交互,降低耦合,從而利于提高模塊的獨立性;而模塊間較少的交互則利于信息隱蔽,功能單一也能減少模塊間必需的交互,從而利于信息隱蔽。11.11耦合性的概念如何與軟件可移植性相關(guān)聯(lián)?舉例支持你的論述。答:耦合性是2個或多個模塊相關(guān)的程度,可移植性是指軟件從一個平臺/環(huán)境轉(zhuǎn)移到另一個平臺/環(huán)境的難易程度。耦合就是指兩個模塊間關(guān)系如何,互相或者依賴關(guān)系程度大,耦合性就高。所謂“耦合性”是指模塊之間聯(lián)系的緊密程度的一種度量,而軟件的“可移植性”是指將一個軟件系統(tǒng)從一個計算機系統(tǒng)或環(huán)境移植到另一個計算機系統(tǒng)或環(huán)境中運行時所需工作量的大小??梢浦残允怯靡唤M子特性,包括簡明性、模塊獨立性、通用性、可擴充性、硬件獨立性和軟件系統(tǒng)獨立性等,來衡量的。如果一個軟件具有可移植性,它必然耦合性低,這樣模塊獨立性要強。例如,有一個圖形處理軟件,它應(yīng)具有二維幾何圖形處理、三維幾何圖形處理、圖形顯示、外設(shè)控制、數(shù)據(jù)庫管理、用戶界面控制、設(shè)計分析等模塊。如果這些模塊之間都是通過參數(shù)表來傳遞信息,那么它們之間的的耦合就是數(shù)據(jù)耦合或標(biāo)記耦合等,都是低耦合。將來如果想要把它們移植到另一個外部環(huán)境中,這些模塊容易修改(功能內(nèi)聚),且接口清晰,修改可局部化。反言之,如果這些模塊都是功能內(nèi)聚或信息內(nèi)聚的模塊,模塊之間的耦合都是低耦合,也對可移植性有促進。但不能講具有低耦合性模塊結(jié)構(gòu)的軟件一定具有可移植性,因為是否具有可移植性還有其它因素的影響。一般來說,耦合性低移植就方便很多,所以實際開發(fā)中都盡量要求模塊耦合性低,對以后的工程維護和未來可能發(fā)生的向不同環(huán)境移植都有好處。所以耦合性低可移植性就低。11.14“重構(gòu)”意味著迭代地修改整個設(shè)計嗎?如果不是,它意味著什么?答:不是。重構(gòu)是用最簡單的一句話說:就是要在不改變系統(tǒng)功能的情況下,對系統(tǒng)的內(nèi)部結(jié)構(gòu)進行重新調(diào)整。重構(gòu)的最直接目的在于改進軟件系統(tǒng)的內(nèi)部架構(gòu)。一個好的結(jié)構(gòu)可以更加適應(yīng)于需求的變化,更好的滿足客戶的需求,最大限度的延長軟件系統(tǒng)的生命周期。在不改變系統(tǒng)功能的情況下,改變系統(tǒng)的實現(xiàn)方式。12.4在軟件體系結(jié)構(gòu)討論中,經(jīng)常會遇到體系結(jié)構(gòu)風(fēng)格、體系結(jié)構(gòu)模式及框架等術(shù)語,研究并描述這些術(shù)語之間的不同。答:體系結(jié)構(gòu)風(fēng)格描述了系統(tǒng)類別,包括:完成某種功能的一組構(gòu)件,實現(xiàn)構(gòu)件間的“通信、合作和協(xié)調(diào)”的一組連接器,定義構(gòu)件如何集成為一個系統(tǒng)的約束,使設(shè)計者能通過分析系統(tǒng)的構(gòu)成,來理解系統(tǒng)的整體性質(zhì)的語義模型。體系結(jié)構(gòu)模式是在特定環(huán)境和一系列限制與約束下處理特定應(yīng)用問題,能夠作為體系結(jié)構(gòu)設(shè)計基礎(chǔ)的體系結(jié)構(gòu)解決方案??蚣苁且粋€特定應(yīng)用領(lǐng)域問題的體系結(jié)構(gòu)模式,是待實例化的完整系統(tǒng)。體系結(jié)構(gòu)風(fēng)格與體系結(jié)構(gòu)模式概念相似,但體系結(jié)構(gòu)風(fēng)格是一般的,更抽象,模糊的;而體系結(jié)構(gòu)模式則更為具體,是具體環(huán)境下的解決方案。框架也是具體環(huán)境下的解決方案,但從實現(xiàn)角度來說,體系結(jié)構(gòu)模式強調(diào)的是設(shè)計方案,而框架則是實現(xiàn),是針對一類問題的可復(fù)用的實現(xiàn)。作業(yè)心得:通過這次作業(yè)有進一步學(xué)會了軟件設(shè)計的

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論