軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第1頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第2頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第3頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第4頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章 軟件設(shè)計(jì)過(guò)程(guòchéng)

1清華大學(xué)出版社共二十七頁(yè)內(nèi)容提要(nèirónɡtíyào)4.1 軟件設(shè)計(jì)基礎(chǔ)(jīchǔ)

4.2 軟件體系結(jié)構(gòu)設(shè)計(jì) 4.3 高可信軟件設(shè)計(jì) 4.3.1可信軟件的特點(diǎn) 4.3.2容錯(cuò)設(shè)計(jì) 4.3.3軟件失效模式和影響分析 4.3.4軟件故障樹分析 4.3.5形式化方法 4.3.6凈室方法 4.4 軟件設(shè)計(jì)規(guī)格說(shuō)明 4.5 軟件設(shè)計(jì)評(píng)審 4.6 小結(jié) 2清華大學(xué)出版社共二十七頁(yè)4.1 軟件設(shè)計(jì)基礎(chǔ)(jīchǔ)軟件設(shè)計(jì)基本概念,是過(guò)去數(shù)十年里陸續(xù)提出的,軟件設(shè)計(jì)者根據(jù)這組概念進(jìn)行設(shè)計(jì)決策。它們可以幫助軟件工程師回答下述問(wèn)題(wèntí):能使用什么標(biāo)準(zhǔn)將軟件劃分為單個(gè)構(gòu)件?如何將功能或數(shù)據(jù)結(jié)構(gòu)與軟件的概念性表示分離開(kāi)?是否存在定義軟件設(shè)計(jì)的技術(shù)質(zhì)量的統(tǒng)一標(biāo)準(zhǔn)?3清華大學(xué)出版社共二十七頁(yè)軟件設(shè)計(jì)的迭代(diédài)

第一層含義是,針對(duì)給定的需求模型,通過(guò)多次從抽象到具體的設(shè)計(jì)(shèjì)過(guò)程,得出足夠精細(xì)的設(shè)計(jì)(shèjì)模型以供軟件實(shí)現(xiàn)之用。第二層含義是,軟件需求經(jīng)常發(fā)生變化或者不完整,在需求模型發(fā)生變化并更新完成后,第一層含義的設(shè)計(jì)過(guò)程再隨之展開(kāi),直至獲得最終的目標(biāo)軟件產(chǎn)品。4清華大學(xué)出版社共二十七頁(yè)軟件設(shè)計(jì)的一般(yībān)過(guò)程從工程管理(guǎnlǐ)的角度,可以將軟件設(shè)計(jì)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。但對(duì)于面向?qū)ο笤O(shè)計(jì)方法來(lái)說(shuō),其設(shè)計(jì)過(guò)程從概念模型逐步精化到實(shí)現(xiàn)模型,并且不斷的進(jìn)行迭代,設(shè)計(jì)過(guò)程已經(jīng)很難用概念設(shè)計(jì)和詳細(xì)設(shè)計(jì)來(lái)進(jìn)行明確的區(qū)分。此外,在設(shè)計(jì)過(guò)程中還包括對(duì)設(shè)計(jì)進(jìn)行計(jì)劃評(píng)審等活動(dòng)。5清華大學(xué)出版社共二十七頁(yè)2. 軟件設(shè)計(jì)的主要(zhǔyào)活動(dòng)(1)軟件設(shè)計(jì)計(jì)劃(jìhuà)(2)體系結(jié)構(gòu)設(shè)計(jì)(3)界面設(shè)計(jì)(4)模塊/子系統(tǒng)設(shè)計(jì)(5)過(guò)程/算法設(shè)計(jì)(6)數(shù)據(jù)模型設(shè)計(jì)6清華大學(xué)出版社共二十七頁(yè)軟件結(jié)構(gòu)有關(guān)(yǒuguān)概念7清華大學(xué)出版社共二十七頁(yè)4.2 軟件體系結(jié)構(gòu)設(shè)計(jì)(shèjì)1. 多視圖(shìtú)建模8清華大學(xué)出版社共二十七頁(yè)“4+1”模型(móxíng)

邏輯視圖,也稱概念視圖,主要是支持系統(tǒng)功能需求的抽象描述,即系統(tǒng)最終將提供給用戶什么樣的服務(wù),邏輯視圖描述了系統(tǒng)的功能需求及其之間的相互關(guān)系。開(kāi)發(fā)視圖,也稱模塊視圖,主要側(cè)重于描述系統(tǒng)的組織,與邏輯視圖密切相關(guān),都描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。過(guò)程視圖,主要側(cè)重于描述系統(tǒng)的動(dòng)態(tài)行為(xíngwéi),即系統(tǒng)運(yùn)行時(shí)所表現(xiàn)出來(lái)的相關(guān)特性,著重解決系統(tǒng)的可靠性、吞吐量、并發(fā)性、分布性和容錯(cuò)性。物理視圖,描述如何把系統(tǒng)軟件元素映射到硬件上,通常要考慮系統(tǒng)的性能、規(guī)模和容錯(cuò)等問(wèn)題,展示了軟件在生命周期的不同階段中所需要的物理環(huán)境、硬件配置和分布狀況。場(chǎng)景視圖,場(chǎng)景是用戶需求和系統(tǒng)功能實(shí)例的抽象,設(shè)計(jì)者通過(guò)分析如何滿足每個(gè)場(chǎng)景所要求的約束來(lái)分析軟件的體系結(jié)構(gòu)。9清華大學(xué)出版社共二十七頁(yè)2. 基于評(píng)估(pínɡɡū)與轉(zhuǎn)換的設(shè)計(jì)方法其中,對(duì)體系結(jié)構(gòu)進(jìn)行轉(zhuǎn)換可以(kěyǐ)通過(guò)下述三種方式:使用合適的體系結(jié)構(gòu)風(fēng)格和模式,或者設(shè)計(jì)模式來(lái)改進(jìn)體系結(jié)構(gòu)設(shè)計(jì)。把非功能需求轉(zhuǎn)化為功能性解決方案,該功能性方案可以與問(wèn)題域無(wú)關(guān),但可以滿足質(zhì)量屬性的要求。采用“分而治之”的方式,可以把系統(tǒng)級(jí)的質(zhì)量需求分配到子系統(tǒng)或模塊中,或者把質(zhì)量需求分解為多個(gè)與功能相關(guān)的質(zhì)量需求,分解后的質(zhì)量需求能夠比較容易得到滿足。10清華大學(xué)出版社共二十七頁(yè)基于(jīyú)評(píng)估與轉(zhuǎn)換的設(shè)計(jì)方法11清華大學(xué)出版社共二十七頁(yè)3. 模式驅(qū)動(dòng)(qūdònɡ)的設(shè)計(jì)方法常用的軟件體系結(jié)構(gòu)風(fēng)格如下:數(shù)據(jù)流風(fēng)格:批處理和管道/過(guò)濾器。調(diào)用/返回風(fēng)格:主程序/子程序、層次結(jié)構(gòu)和客戶機(jī)/服務(wù)器。面向?qū)ο箫L(fēng)格。獨(dú)立部件風(fēng)格:進(jìn)程通訊和事件驅(qū)動(dòng)。虛擬機(jī)風(fēng)格:解釋器和基于規(guī)則(guīzé)的系統(tǒng)。數(shù)據(jù)共享風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng)和黑板系統(tǒng)。12清華大學(xué)出版社共二十七頁(yè)模式驅(qū)動(dòng)的設(shè)計(jì)(shèjì)方法流程13清華大學(xué)出版社共二十七頁(yè)4. 領(lǐng)域(lǐnɡyù)特定的軟件體系結(jié)構(gòu)設(shè)計(jì)領(lǐng)域特定的軟件體系結(jié)構(gòu)(DomainSpecificSoftwareArchitecture,DSSA)是領(lǐng)域工程的核心部分,領(lǐng)域工程分析應(yīng)用領(lǐng)域的共同特征和可變特征,對(duì)刻畫這些特征的對(duì)象和操作進(jìn)行選擇(xuǎnzé)和抽象,形成領(lǐng)域模型,并進(jìn)一步生成DSSA。DSSA與體系結(jié)構(gòu)風(fēng)格的區(qū)別在于:DSSA與軟件體系結(jié)構(gòu)風(fēng)格是從不同角度出發(fā)研究問(wèn)題的兩種結(jié)果,前者從問(wèn)題域出發(fā),而后者從解決域出發(fā)。DSSA只在某個(gè)特定領(lǐng)域中進(jìn)行經(jīng)驗(yàn)知識(shí)的提取、總結(jié)與組織,但可以同時(shí)使用多種軟件體系結(jié)構(gòu)風(fēng)格;而一種軟件體系結(jié)構(gòu)風(fēng)格所呈現(xiàn)的公共結(jié)構(gòu)和設(shè)計(jì)方法可以擴(kuò)展到多個(gè)應(yīng)用領(lǐng)域。DSSA的體系結(jié)構(gòu)表示和工具一般只適用于一個(gè)較小的范圍,在其它領(lǐng)域中是不適用并難以復(fù)用的。14清華大學(xué)出版社共二十七頁(yè)5. 軟件產(chǎn)品線方法(fāngfǎ)軟件產(chǎn)品線(SoftwareProductLine,SPL)是指一組可管理的,具有公共特性的軟件應(yīng)用系統(tǒng)的集合。在利用軟件產(chǎn)品線方法構(gòu)建一個(gè)應(yīng)用系統(tǒng)時(shí),主要的工作是組裝和繁衍,而不是創(chuàng)造,其重要的活動(dòng)是集成而不是編程。軟件產(chǎn)品線的主要組成部分,包括(bāokuò)核心資源和軟件產(chǎn)品集合兩部分。15清華大學(xué)出版社共二十七頁(yè)軟件產(chǎn)品線過(guò)程(guòchéng)模型16清華大學(xué)出版社共二十七頁(yè)6. 其它(qítā)軟件體系結(jié)構(gòu)設(shè)計(jì)方法(1)基于目標(biāo)圖推理的體系結(jié)構(gòu)設(shè)計(jì)方法:該方法的目標(biāo),是使模式背后的推理結(jié)構(gòu)顯式化,并且服從于系統(tǒng)的分析;該方法使用目標(biāo)圖,表達(dá)模式在各種需求上的應(yīng)用效果。(2)基于屬性的體系結(jié)構(gòu)設(shè)計(jì)方法:是對(duì)通常體系結(jié)構(gòu)風(fēng)格描述(miáoshù)的一種擴(kuò)充,用于獲取結(jié)構(gòu)化分析SA(StructuredAnalysis)層次上的結(jié)構(gòu)和分析技巧,顯式地把推理框架(定性或定量)與體系結(jié)構(gòu)風(fēng)格關(guān)聯(lián)起來(lái)。17清華大學(xué)出版社共二十七頁(yè)4.3 高可信軟件設(shè)計(jì)4.3.1可信軟件的特點(diǎn)可靠性(reliability):在規(guī)定的環(huán)境下、規(guī)定的時(shí)間內(nèi)軟件無(wú)失效運(yùn)行的能力;可靠安全性(safety):軟件運(yùn)行不引起危險(xiǎn)、災(zāi)難的能力;保密安全性(security):軟件系統(tǒng)對(duì)數(shù)據(jù)和信息提供保密性、完整性、可用性、真實(shí)性保障的能力;生存性(survivability):軟件在受到攻擊或失效出現(xiàn)時(shí)連續(xù)提供服務(wù)并在規(guī)定時(shí)間內(nèi)恢復(fù)所有服務(wù)的能力;容錯(cuò)性(faulttolerance):軟件在故障(硬件、環(huán)境異常)出現(xiàn)時(shí)保證(bǎozhèng)提供服務(wù)的能力;實(shí)時(shí)性(realtime):軟件在指定的時(shí)間內(nèi)完成反應(yīng)或提交輸出的能力。18清華大學(xué)出版社共二十七頁(yè)4.3.2容錯(cuò)(rónɡcuò)設(shè)計(jì)(1)恢復(fù)(huīfù)塊技術(shù)19清華大學(xué)出版社共二十七頁(yè)(2)N-版本(bǎnběn)編程20清華大學(xué)出版社共二十七頁(yè)4.3.3軟件失效模式(móshì)和影響分析設(shè)計(jì)到的幾個(gè)相關(guān)概念和含義如下:軟件失效(softwarefailure)。軟件失效就是泛指程序在運(yùn)行中喪失了全部或部分功能、出現(xiàn)偏離預(yù)期的正常狀態(tài)的事件。軟件失效模式(softwarefailuremode)。軟件失效模式是指軟件失效的不同類型,通常用于描述軟件失效發(fā)生(fāshēng)的方式以及對(duì)設(shè)備運(yùn)行可能產(chǎn)生的影響。軟件失效的影響(softwarefailureeffect)。軟件失效的影響是指軟件失效模式對(duì)軟件系統(tǒng)的運(yùn)行、功能或狀態(tài)等造成的后果。21清華大學(xué)出版社共二十七頁(yè)軟件系統(tǒng)級(jí)FMEA過(guò)程(guòchéng)

22清華大學(xué)出版社共二十七頁(yè)4.3.4軟件故障樹分析4.3.5形式化方法形式化方法是關(guān)于在計(jì)算系統(tǒng)的開(kāi)發(fā)中進(jìn)行嚴(yán)格推理的理論、技術(shù)和工具,它主要包括形式規(guī)約技術(shù)(FormalSpecification)和形式驗(yàn)證技術(shù)(FormalVerification)。4.3.6凈室方法傳統(tǒng)的軟件工程建模、形式化方法、程序驗(yàn)證(正確性證明(zhèngmíng))、以及統(tǒng)計(jì)SQA的集成使用已經(jīng)組合成一種可以導(dǎo)致極高質(zhì)量軟件的技術(shù)。凈室軟件工程(Cleanroomsoftwareengineering)是一種在軟件開(kāi)發(fā)過(guò)程中強(qiáng)調(diào)在軟件中建立正確性的需要的方法。代替?zhèn)鹘y(tǒng)的分析、設(shè)計(jì)、編碼、測(cè)試和調(diào)試周期,凈室方法建議一種不同的觀點(diǎn)。23清華大學(xué)出版社共二十七頁(yè)4.4 軟件設(shè)計(jì)規(guī)格(guīgé)說(shuō)明軟件設(shè)計(jì)過(guò)程中的各個(gè)活動(dòng)(huódòng)的結(jié)果最終應(yīng)該文檔化,形成正式的軟件設(shè)計(jì)規(guī)格說(shuō)明,作為軟件設(shè)計(jì)的輸出。形成的軟件設(shè)計(jì)規(guī)格說(shuō)明將被評(píng)審,并作為后續(xù)軟件實(shí)現(xiàn)活動(dòng)的依據(jù)。軟件設(shè)計(jì)規(guī)格說(shuō)明并沒(méi)有統(tǒng)一的格式,例如IEEE標(biāo)準(zhǔn)、ISO標(biāo)準(zhǔn)以及我國(guó)的國(guó)家標(biāo)準(zhǔn)、各行業(yè)標(biāo)準(zhǔn)所建議的格式都不盡相同。使用不同的軟件設(shè)計(jì)方法學(xué)所得到的設(shè)計(jì)模型也會(huì)有很大區(qū)別,導(dǎo)致設(shè)計(jì)規(guī)格說(shuō)明的結(jié)構(gòu)也會(huì)明顯不同。24清華大學(xué)出版社共二十七頁(yè)4.5 軟件設(shè)計(jì)評(píng)審(pínɡshěn)設(shè)計(jì)評(píng)審中需要重點(diǎn)關(guān)注的內(nèi)容包括:設(shè)計(jì)模型是否能夠充分地、無(wú)遺漏地支持所有軟件需求的實(shí)現(xiàn);設(shè)計(jì)模型是否已經(jīng)精化(jīnɡhuà)至合理的程度,可以確保合格的軟件實(shí)現(xiàn)工程師能夠構(gòu)造出符合軟件設(shè)計(jì)者期望的目標(biāo)軟件系統(tǒng);設(shè)計(jì)模型的質(zhì)量屬性,即,設(shè)計(jì)模型是否已經(jīng)經(jīng)過(guò)充分的優(yōu)化,以確保依照設(shè)計(jì)模型構(gòu)造出來(lái)的目標(biāo)軟件產(chǎn)品能夠表現(xiàn)出良好的軟件質(zhì)量屬性。25清華大學(xué)出版社共二十七頁(yè)4.6 小結(jié)(xiǎojié)軟件設(shè)計(jì)是軟件開(kāi)發(fā)過(guò)程的一個(gè)(yīɡè)核心環(huán)節(jié),設(shè)計(jì)質(zhì)量很大程度上決定了最終軟件產(chǎn)品的質(zhì)量。首先對(duì)軟件設(shè)計(jì)的基本概念進(jìn)行介紹包括抽象和逐步求精、模塊化和信息隱藏、高內(nèi)聚和低耦合等,然后對(duì)設(shè)計(jì)過(guò)程、設(shè)計(jì)質(zhì)量、軟件體系結(jié)構(gòu)設(shè)計(jì)、高可信軟件設(shè)計(jì)進(jìn)行了介紹介紹了軟件設(shè)計(jì)規(guī)格說(shuō)明和軟件設(shè)計(jì)評(píng)審。軟件設(shè)計(jì)過(guò)程中的各個(gè)活動(dòng)的結(jié)果最終應(yīng)該形成正式的軟件設(shè)計(jì)規(guī)格說(shuō)明,作為軟件設(shè)計(jì)的輸出。軟件設(shè)計(jì)規(guī)格說(shuō)明必須要進(jìn)行評(píng)審,只有通過(guò)評(píng)審后才能成為后續(xù)軟件實(shí)現(xiàn)活動(dòng)的正式依據(jù)。26清華大學(xué)出版社共二十七頁(yè)內(nèi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論