版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五講可靠性與程序設(shè)計(jì)風(fēng)格第1頁(yè),共18頁(yè),2023年,2月20日,星期一1.什么是軟件可靠性
軟件可靠性在特定環(huán)境特定時(shí)間內(nèi)程序不是擺地運(yùn)行的概率信息安全可靠性:訪問(wèn)控制、加密程序運(yùn)行可靠性:編程風(fēng)格、測(cè)試軟件錯(cuò)誤統(tǒng)計(jì)
功能錯(cuò):占整個(gè)軟件錯(cuò)誤27%,是需求分析設(shè)計(jì)不完整而引起的系統(tǒng)錯(cuò):占整個(gè)軟件錯(cuò)誤16%,是總體設(shè)計(jì)錯(cuò)誤而引起的數(shù)據(jù)錯(cuò):占整個(gè)軟件錯(cuò)誤10%,由編碼錯(cuò)誤引起的編碼錯(cuò):占整個(gè)軟件錯(cuò)誤4%,程序員編碼錯(cuò)誤引起的其它錯(cuò):占整個(gè)軟件錯(cuò)誤4%,由文檔錯(cuò)和硬件錯(cuò)所引起的第2頁(yè),共18頁(yè),2023年,2月20日,星期一軟件錯(cuò)誤分類詞法錯(cuò)誤:打字錯(cuò)誤語(yǔ)法錯(cuò)誤:編譯錯(cuò)誤語(yǔ)義錯(cuò)誤:連接錯(cuò)誤邏輯錯(cuò)誤:運(yùn)行錯(cuò)誤錯(cuò)誤越“高級(jí)”,解決代價(jià)越高昂非常難以發(fā)現(xiàn)的錯(cuò)誤常常是小錯(cuò)誤第3頁(yè),共18頁(yè),2023年,2月20日,星期一2.軟件測(cè)試評(píng)審和測(cè)試是發(fā)現(xiàn)錯(cuò)誤的主要途徑軟件測(cè)試就是為了盡可能多地發(fā)現(xiàn)錯(cuò)誤和缺陷軟件測(cè)試不能證明軟件沒(méi)有錯(cuò)誤第4頁(yè),共18頁(yè),2023年,2月20日,星期一測(cè)試用例:測(cè)試數(shù)據(jù)+預(yù)期結(jié)果不僅設(shè)計(jì)合法的測(cè)試用例,也要設(shè)計(jì)非法的和非預(yù)期的測(cè)試用例用少量測(cè)試用例發(fā)現(xiàn)盡可能多的錯(cuò)誤測(cè)試用例、測(cè)試計(jì)劃、測(cè)試統(tǒng)計(jì)都應(yīng)保留應(yīng)避免程序員測(cè)試自己的程序徹底測(cè)試整個(gè)軟件錯(cuò)誤群集:若發(fā)現(xiàn)錯(cuò)誤數(shù)目多,則殘存錯(cuò)誤數(shù)目也比較多
第5頁(yè),共18頁(yè),2023年,2月20日,星期一單元測(cè)試模塊接口測(cè)試局部數(shù)據(jù)結(jié)構(gòu)測(cè)試路徑測(cè)試錯(cuò)誤處理測(cè)試邊界測(cè)試:±1驅(qū)動(dòng)模塊:相當(dāng)于所測(cè)模塊的主程序。它接收不同測(cè)試用例的測(cè)試數(shù)據(jù),并把這些數(shù)據(jù)傳給所測(cè)模塊,最后輸出實(shí)測(cè)結(jié)果樁模塊:也稱存根模塊、連接模塊。用以代替所測(cè)模塊調(diào)用的子模塊。樁模塊不需要具備子模塊所有功能,但也不能什么事情都不做,要模擬實(shí)際子模塊的功能第6頁(yè),共18頁(yè),2023年,2月20日,星期一組裝測(cè)試:也叫做集成測(cè)試或聯(lián)合測(cè)試,發(fā)現(xiàn)與接口相聯(lián)系的問(wèn)題
數(shù)據(jù)穿過(guò)接口時(shí)可能會(huì)丟失某個(gè)模塊可能會(huì)破壞另一個(gè)模塊的功能各子模塊組合起來(lái)可能達(dá)不到預(yù)期要求的主功能全局?jǐn)?shù)據(jù)結(jié)構(gòu)可能出問(wèn)題單個(gè)模塊可以接受的誤差,裝配以后可能會(huì)放大(或積累)到不能接受的程度確認(rèn)測(cè)試:又稱驗(yàn)收測(cè)試驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致軟件需求規(guī)格說(shuō)明書既是軟件開發(fā)依據(jù),也是軟件驗(yàn)收標(biāo)準(zhǔn)
第7頁(yè),共18頁(yè),2023年,2月20日,星期一黑盒測(cè)試:又稱功能測(cè)試,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程等價(jià)類劃分:把所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分成若干個(gè)等價(jià)類,從每個(gè)等價(jià)類中只取一組數(shù)據(jù)作為測(cè)試數(shù)據(jù)邊界值分析:處理邊界情況時(shí)程序最容易發(fā)生錯(cuò)誤。選取剛好等于、稍小于和稍大于等價(jià)類邊界值的數(shù)據(jù)作為測(cè)試數(shù)據(jù)錯(cuò)誤推測(cè):靠直覺(jué)和經(jīng)驗(yàn)列舉出程序中可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并且根據(jù)它們選擇測(cè)試方案,作為輔助手段綜合策略:將各種技術(shù)結(jié)合起來(lái),取長(zhǎng)補(bǔ)短,形成綜合的測(cè)試策略第8頁(yè),共18頁(yè),2023年,2月20日,星期一白盒測(cè)試:又稱結(jié)構(gòu)測(cè)試,完全了解程序的結(jié)構(gòu)和處理過(guò)程邏輯覆蓋一系列測(cè)試過(guò)程逐漸進(jìn)行越來(lái)越完整的通路測(cè)試語(yǔ)句覆蓋:至少每個(gè)語(yǔ)句應(yīng)該執(zhí)行一次判定覆蓋:又叫分支覆蓋,不僅每個(gè)語(yǔ)句必須至少執(zhí)行一次,而且每個(gè)判定的每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次條件覆蓋:不僅每個(gè)語(yǔ)句至少執(zhí)行一次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果。條件覆蓋通常比判定覆蓋強(qiáng)、更細(xì)判定/條件覆蓋:使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果;也可能有相反的情況條件組合覆蓋:選取足夠多的測(cè)試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次路徑覆蓋:每條可能路徑都至少執(zhí)行一次第9頁(yè),共18頁(yè),2023年,2月20日,星期一3.軟件糾錯(cuò)
軟件測(cè)試:盡可能多地暴露程序中的錯(cuò)誤軟件調(diào)試:發(fā)現(xiàn)錯(cuò)誤的最終目的是為了改正錯(cuò)誤
調(diào)試方法輸出存儲(chǔ)器內(nèi)容適當(dāng)插入打印語(yǔ)句使用專門的調(diào)試工具:設(shè)置斷點(diǎn)調(diào)試策略試探法:分析錯(cuò)誤征兆,猜想故障的大致位置回溯法:人工沿程序的控制流往回追蹤程序代碼,直到找出錯(cuò)誤的根源或確定故障范圍為止歸納法:收集、整理數(shù)據(jù),發(fā)現(xiàn)規(guī)律,提出假設(shè),證明假設(shè)演繹法:從一般原理出發(fā),經(jīng)過(guò)刪除和精化推導(dǎo)出結(jié)論第10頁(yè),共18頁(yè),2023年,2月20日,星期一4.編程風(fēng)格高效+技巧安全+可靠時(shí)間、空間效率可用性、可維護(hù)性、可移植性良好的編程風(fēng)格可以減少軟件錯(cuò)誤程序設(shè)計(jì)風(fēng)格源程序文檔化:標(biāo)識(shí)符名,注釋,視覺(jué)組織數(shù)據(jù)說(shuō)明:變量名,排列順序語(yǔ)句構(gòu)造:易讀>效率,避免復(fù)雜的語(yǔ)句輸入和輸出:校驗(yàn),允許缺省值,輸出加注釋效率:追求效率要建立在不損害程序可讀性或可靠性基礎(chǔ)之上。要先使程序正確、再提高效率,要先使程序清晰,再提高程序效率第11頁(yè),共18頁(yè),2023年,2月20日,星期一命名約定當(dāng)同時(shí)多個(gè)程序員合作從事一個(gè)項(xiàng)目時(shí)當(dāng)把程序移交給另一個(gè)程序員修改和維護(hù)時(shí)當(dāng)其他程序員評(píng)審程序時(shí)當(dāng)程序過(guò)大需要分部分考慮時(shí)當(dāng)一個(gè)項(xiàng)目中頻繁使用不常見詞匯命名約定可以強(qiáng)化相關(guān)項(xiàng)之間的關(guān)系命名約定可以彌補(bǔ)語(yǔ)言的缺陷命名約定可以幫助程序員更快熟悉項(xiàng)目的代碼命名約定可以防止一個(gè)變量多名命名約定可以增強(qiáng)程序的可讀性第12頁(yè),共18頁(yè),2023年,2月20日,星期一命名注意事項(xiàng)堅(jiān)持使用英語(yǔ)命名,不用漢語(yǔ)拼音及縮寫名稱最佳長(zhǎng)度:介于MaximumNumberOfPointsSince1896和x之間名稱的作用域:短名稱總是不好么?反義詞可以保持名稱的連續(xù)性:add/removebegin/endcreate/destroyinsert/deletefirst/lastget/releaseincrement/decrementput/getup/downlock/unlockmin/maxnext/previousold/newopen/closeshow/hidesource/destinationstart/stop循環(huán)變量:i/j/k狀態(tài)變量:Flag/StatusFlag/PrintFlag/DataReady/Type臨時(shí)變量:temp/t/x邏輯變量:Done/Error/Found/Success常量:PI/CYCLES_NEEDED第13頁(yè),共18頁(yè),2023年,2月20日,星期一匈牙利命名法:見名知義小寫前綴與大小寫混合的單詞組合一整套對(duì)子程序和變量的詳細(xì)命名約定發(fā)明者CharlesSimonyi原為匈牙利人組成部分基本類型、一個(gè)以上前綴、一個(gè)限定詞基本類型(小寫):程序語(yǔ)言中沒(méi)有的抽象數(shù)據(jù)類型例如:wn:窗口scr:屏幕區(qū)fon:字體ch:字符pa:段落WNwnMain;SCRscrUserWorkspace;前綴(小寫):標(biāo)準(zhǔn)化的,可以與基本類型組合 例如:a:數(shù)組c:數(shù)目e:數(shù)組元素g:全局變量
i:數(shù)組下標(biāo)m:模塊層次的變量p(lp,np):指針h:處理限定記號(hào)(大小寫混合):名稱的描述部分舉例:achDeleteichMinpachInsertcscrMenu第14頁(yè),共18頁(yè),2023年,2月20日,星期一注釋:源代碼中的文檔代碼的重復(fù):沒(méi)有附加信息代碼的解釋:應(yīng)當(dāng)改進(jìn)代碼代碼中的標(biāo)記:開發(fā)記錄提示,后續(xù)的工作代碼的總結(jié):增加可讀性代碼意圖的描述:?jiǎn)栴}一級(jí)的注釋要注釋還是不要注釋注釋一定要準(zhǔn)確不精確的(錯(cuò)誤的)注釋比沒(méi)有注釋更糟第15頁(yè),共18頁(yè),2023年,2月20日,星期一序言性注釋安排在每個(gè)程序模塊的起始部分,對(duì)程序的整體說(shuō)明,對(duì)于理解程序本身具有引導(dǎo)作用程序或模塊的功能方面的說(shuō)明:程序或模塊標(biāo)題、功能界面描述:調(diào)用形式、輸入輸出參數(shù)的意義、引用的子程序重要變量的使用、限制及其它信息開發(fā)歷史:編者(日期)、審查者(日期)、修改(日期)功能性注釋嵌入在源程序體內(nèi),描述其后的語(yǔ)句或程序段的處理功能描述的對(duì)象是一段程序,而不是每一個(gè)語(yǔ)句適當(dāng)使用縮進(jìn)和空行,使程序與注釋容易區(qū)別第16頁(yè),共18頁(yè),2023年,2月20日,星期一空間布局每行僅寫一條語(yǔ)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋七年級(jí)數(shù)學(xué)上冊(cè) 第3章 整式及其加減3.1 字母表示數(shù)說(shuō)課稿(新版)北師大版
- 2023三年級(jí)數(shù)學(xué)上冊(cè) 四 兩、三位數(shù)除以一位數(shù) 2兩位數(shù)除以一位數(shù)第3課時(shí) 倍數(shù)的問(wèn)題說(shuō)課稿 冀教版001
- 2024-2025學(xué)年高中語(yǔ)文 第四單元 第17課 與妻書說(shuō)課稿 粵教版必修2
- 2024年秋九年級(jí)化學(xué)上冊(cè) 第3章 物質(zhì)構(gòu)成的奧秘 第2節(jié) 組成物質(zhì)的化學(xué)元素 第1課時(shí) 元素與元素符號(hào)說(shuō)課稿 滬教版
- 二零二五年度運(yùn)輸車隊(duì)租賃及維保一體化服務(wù)合同2篇
- 派員擔(dān)任法定代表人協(xié)議書(2篇)
- 2024-2025版新教材高中化學(xué) 第2章 第3節(jié) 第2課時(shí) 氣體摩爾體積說(shuō)課稿 新人教版必修第一冊(cè)
- 二零二五年監(jiān)護(hù)協(xié)議書:監(jiān)護(hù)職責(zé)與被監(jiān)護(hù)人的責(zé)任3篇
- 2025年度農(nóng)業(yè)機(jī)械聘用駕駛員安全協(xié)議
- 7 湯姆 · 索亞歷險(xiǎn)記(節(jié)選) (說(shuō)課稿)2023-2024學(xué)年-部編版語(yǔ)文六年級(jí)下冊(cè)
- 員工提前辭工管理制度
- 環(huán)衛(wèi)一體化運(yùn)營(yíng)方案
- 科技進(jìn)步類現(xiàn)代軌道交通綜合體設(shè)計(jì)理論與關(guān)鍵技術(shù)公
- 源代碼審計(jì)報(bào)告模板
- 含碘對(duì)比劑靜脈外滲護(hù)理管理實(shí)踐指南
- 干式變壓器知識(shí)大全課件
- 重大危險(xiǎn)源公示牌(完整)-2
- 高中地理學(xué)情分析方案和報(bào)告
- 關(guān)于進(jìn)行小區(qū)第一屆業(yè)主委員會(huì)選舉投票的公告
- 部編人教版五年級(jí)道德與法治下冊(cè)全冊(cè)課件(完整版)
- 廣西貴港市2023年中考物理試題(原卷版)
評(píng)論
0/150
提交評(píng)論