freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]軟件工程課件(已修改)

2024-10-31 04:22 本頁面
 

【正文】 軟件工程 2021 第七章 實(shí)現(xiàn) 1 第七章 實(shí)現(xiàn) 2 軟件工程 2021 第七章 實(shí)現(xiàn) 第七章內(nèi)容概要 ? 編碼 ? 軟件測(cè)試基礎(chǔ) ? 單元測(cè)試 ? 集成測(cè)試 ? 確認(rèn)測(cè)試 ? 白盒測(cè)試技術(shù) ? 黑盒測(cè)試技術(shù) ? 調(diào)試 ? 軟件可靠性 ★ 3 軟件工程 2021 第七章 實(shí)現(xiàn) ? 編碼和測(cè)試統(tǒng)稱為實(shí)現(xiàn) ? 編碼就是把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語言書寫的程序。 ? 軟件測(cè)試很重要,它對(duì)軟件可靠性的影響巨大 ? 軟件測(cè)試在軟件生命周期中橫跨兩個(gè)階段 ? 測(cè)試工作量占軟件開發(fā)總成本的 40%以上 ? 測(cè)試的目標(biāo)是發(fā)現(xiàn)錯(cuò)誤,調(diào)試的目的是診斷并改正錯(cuò)誤 ? 測(cè)試是確定可靠性模型的依據(jù) 實(shí)現(xiàn)概述 4 軟件工程 2021 第七章 實(shí)現(xiàn) ? 編碼階段的任務(wù)是把詳細(xì)設(shè)計(jì)階段中用 偽代碼 寫成的程序轉(zhuǎn)換成用程序設(shè)計(jì)語言實(shí)現(xiàn)的程序。 ? 程序設(shè)計(jì)語言的 特性 和程序設(shè)計(jì) 風(fēng)格 會(huì)深刻地影響軟件的質(zhì)量和可維護(hù)性。 ? 為保證編碼的質(zhì)量,程序員必須深刻理解、熟練掌握并正確地運(yùn)用程序設(shè)計(jì)語言的特性。此外,還要求源程序具有良好的結(jié)構(gòu)性和良好的程序設(shè)計(jì)風(fēng)格。 從設(shè)計(jì)向編碼過渡 5 軟件工程 2021 第七章 實(shí)現(xiàn) ? 系統(tǒng)用戶的要求。 ? 可以使用的編譯程序。 ? 可以得到的軟件工具。 ? 工程規(guī)模。 ? 程序員的知識(shí)。 ? 軟件可移植性要求。 ? 軟件的應(yīng)用領(lǐng)域。 選擇程序設(shè)計(jì)語言的實(shí)用標(biāo)準(zhǔn) 6 軟件工程 2021 第七章 實(shí)現(xiàn) ? 好程序的代碼邏輯簡(jiǎn)明清晰、易讀易懂: ? 程序的內(nèi)部文檔 ? 數(shù)據(jù)說明 ? 語句構(gòu)造 ? 輸入/輸出方法 ? 效率問題 編碼風(fēng)格 7 軟件工程 2021 第七章 實(shí)現(xiàn) ? 標(biāo)識(shí)符的命名: ? 標(biāo)識(shí)符即符號(hào)名,包括模塊名、變量名、常量名、標(biāo)號(hào)名、子程序名、數(shù)據(jù)區(qū)名以及緩沖區(qū)名等。 ? 這些名字應(yīng)能反映它所代表的實(shí)際東西,應(yīng)有一定實(shí)際意義。 (例如,表示次數(shù)的量用 Times,表示總量的用 Total,表示平均值的用 Average,表示和的量用 Sum等。 ) ? 名字不是越長(zhǎng)越好,應(yīng)當(dāng)選擇精煉的意義明確的名字。 ? 必要時(shí)可使用縮寫名字,但這時(shí)要注意縮寫規(guī)則要一致,并且要給每一個(gè)名字加注釋。 ? 在一個(gè)程序中,一個(gè)變量只應(yīng)用于一種用途。 編碼風(fēng)格:程序的內(nèi)部文檔 8 軟件工程 2021 第七章 實(shí)現(xiàn) ? 程序的注解 : ? 夾在程序中的注釋是程序員與日后的程序讀者之間通信的重要手段。 ? 注釋決不是可有可無的。 ? 一些正規(guī)的程序文本中,注釋行的數(shù)量占到整個(gè)源程序的 1/ 3到 1/ 2,甚至更多。 ? 注釋分為 序言性注釋 和 功能性注釋 。 編碼風(fēng)格:程序的內(nèi)部文檔 9 軟件工程 2021 第七章 實(shí)現(xiàn) ? 序言性注釋: ? 通常置于每個(gè)程序模塊的開頭部分,它應(yīng)當(dāng)給出程序的整體說明,對(duì)于理解程序本身具有引導(dǎo)作用。有些軟件開發(fā)部門對(duì)序言性注釋做了明確而嚴(yán)格的規(guī)定,要求程序編制者逐項(xiàng)列出。 ? 有關(guān)項(xiàng)目包括: ? 程序標(biāo)題; ? 有關(guān)本模塊功能和目的的說明; ? 主要算法; ? 接口說明:包括調(diào)用形式,參數(shù)描述,子程序清單; ? 有關(guān)數(shù)據(jù)描述:重要的變量及其用途,約束或限制條件,以及其它有關(guān)信息; ? 模塊位置:在哪一個(gè)源文件中,或隸屬于哪一個(gè)軟件包; ? 開發(fā)簡(jiǎn)歷:模塊設(shè)計(jì)者,復(fù)審者,復(fù)審日期,修改日期及有關(guān)說明等。 編碼風(fēng)格:程序的內(nèi)部文檔 10 軟件工程 2021 第七章 實(shí)現(xiàn) ? 功能性注釋 : ? 功能性注釋嵌在源程序體中,用以描述其后的語句或程序段是在 做什么工作 ,或是執(zhí)行了下面的語句會(huì)怎么樣。而 不要解釋下面怎么做 。 編碼風(fēng)格:程序的內(nèi)部文檔 11 軟件工程 2021 第七章 實(shí)現(xiàn) ? 視覺組織 : ? 空格、空行和縮進(jìn)。 ? 恰當(dāng)?shù)乩每崭?,可以突出運(yùn)算的優(yōu)先性。 ? 自然的程序段之間可用空行隔開。 ? 縮進(jìn)也叫做向右縮格或移行。它是指程序中的各行不必都在左端對(duì)齊,都從第一格起排列。這樣做使程序完全分不清層次關(guān)系。 ? 對(duì)于選擇語句和循環(huán)語句,把其中的程序段語句向右做階梯式移行。使程序的邏輯結(jié)構(gòu)更加清晰。 編碼風(fēng)格:程序的內(nèi)部文檔 12 軟件工程 2021 第七章 實(shí)現(xiàn) ? 在設(shè)計(jì)階段已經(jīng)確定了數(shù)據(jù)結(jié)構(gòu)的組織及其復(fù)雜性。在編寫程序時(shí),則需要注意數(shù)據(jù)說明的風(fēng)格。 ? 為了使程序中數(shù)據(jù)說明更易于理解和維護(hù),必須注意以下幾點(diǎn): ? 數(shù)據(jù)說明的次序應(yīng)當(dāng)規(guī)范化; ? 說明語句中變量安排有序化; ? 使用注釋說明復(fù)雜數(shù)據(jù)結(jié)構(gòu)。 編碼風(fēng)格:數(shù)據(jù)說明 13 軟件工程 2021 第七章 實(shí)現(xiàn) ? 數(shù)據(jù)說明的次序應(yīng)當(dāng)規(guī)范化: ? 數(shù)據(jù)說明次序規(guī)范化,使數(shù)據(jù)屬性容易查找,也有利于測(cè)試,排錯(cuò)和維護(hù)。 ? 原則上,數(shù)據(jù)說明的次序與語法無關(guān),其次序是任意的。但出于閱讀、理解和維護(hù)的需要,最好使其規(guī)范化,使說明的先后次序固定。 ? 例如,在類型說明中可按如下順序排列: ① 整型量說明 ② 實(shí)型量說明 ③ 字符量說明 ④ 邏輯量說明 編碼風(fēng)格:數(shù)據(jù)說明 14 軟件工程 2021 第七章 實(shí)現(xiàn) ? 說明語句中變量安排有序化 : ? 當(dāng)多個(gè)變量名在一個(gè)說明語句中說明時(shí),應(yīng)當(dāng)對(duì)這些變量按字母的順序排列。 例如,把 integer size, length, width, cost, price 寫成 integer cost, length, price , size, width 編碼風(fēng)格:數(shù)據(jù)說明 15 軟件工程 2021 第七章 實(shí)現(xiàn) ? 使用注釋說明復(fù)雜數(shù)據(jù)結(jié)構(gòu) : ? 如果設(shè)計(jì)了一個(gè)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),應(yīng)當(dāng)使用注釋來說明在程序?qū)崿F(xiàn)時(shí)這個(gè)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。 ? 例如 , 對(duì) C的鏈表結(jié)構(gòu)和 Pascal中用戶自定義的數(shù)據(jù)類型,都應(yīng)當(dāng)在注釋中做必要的補(bǔ)充說明。 編碼風(fēng)格:數(shù)據(jù)說明 16 軟件工程 2021 第七章 實(shí)現(xiàn) ? 在設(shè)計(jì)階段確定了軟件的邏輯流結(jié)構(gòu),但構(gòu)造單個(gè)語句則是編碼階段的任務(wù)。語句構(gòu)造力求簡(jiǎn)單、直接,不能為了片面追求效率而使語句復(fù)雜化。 ? 下面是關(guān)于語句構(gòu)造的一些啟發(fā)規(guī)則: 編碼風(fēng)格:語句構(gòu)造 17 軟件工程 2021 第七章 實(shí)現(xiàn) 1. 在一行內(nèi)只寫一條語句。 。 “ 非 ” 條件的測(cè)試。 IF NOT ((CHAR‘0’) OR (CHAR9)) THEN… … IF (CHAR=‘0’) AND (CHAR=9) THEN … … 。 算次序清晰直觀。 編碼風(fēng)格:語句構(gòu)造 18 軟件工程 2021 第七章 實(shí)現(xiàn) ,程序編寫要做到清晰第一,效率第二。不要為了追求效率而喪失了清晰性。事實(shí)上,程序效率的提高主要應(yīng)通過選擇高效的算法來實(shí)現(xiàn)。 ? 對(duì)比下面兩個(gè)程序段,哪個(gè)更清楚表達(dá)了自己的意圖? 編碼風(fēng)格:語句構(gòu)造 A[ I ] =A[ I ]+ A[ T ];A[ T ]=A[ I ]- A[ T ];A[ I ] =A[ I ]- A[ T ]; WORK = A[ T ]; A[ T ] = A[ I ]; A[ I ] = WORK; 19 軟件工程 2021 第七章 實(shí)現(xiàn) 。 ? 對(duì)比下面兩個(gè)程序段,哪個(gè)更直接地表達(dá)了自己的意圖? 編碼風(fēng)格:語句構(gòu)造 for ( i = 1。 i = n。 i++ ) for ( j = 1。 j = n。 j++ ) V[i][j] = ( i/ j ) * ( j/ i ) for ( i= 1。 i = n。 i++ ) for ( j= 1。 j = n。 j++ ) if ( i == j ) V[i][j] = 1。 else V[i][j] = 0。 20 軟件工程 2021 第七章 實(shí)現(xiàn) , 然后才要求提高速度。反過來說,在使程序高速運(yùn)行時(shí),首先要保證它是正確的。 9. 讓編譯程序做簡(jiǎn)單的優(yōu)化。 10. 盡可能使用庫函數(shù)。 。例如,有的程序員為了追求效率, 將 X=A [I] + 1/A [I] 寫成 AI=A[I]。 X=AI+1/AI,將一個(gè)計(jì)算公式拆成了幾行。 12. 避免不必要的轉(zhuǎn)移。同時(shí)如果能保持程序可讀性,則不必用 GOTO語句。 編碼風(fēng)格:語句構(gòu)造 21 軟件工程 2021 第七章 實(shí)現(xiàn) 。 14. 避免使用空的 ELSE語句和 IF… THEN IF… 的語句。這種結(jié)構(gòu)容 易使讀者產(chǎn)生誤解。例如: IF (CHAR=?A?) THEN IF (CHAR=?Z?) THEN PRINT “This is a letter.” ELSE PRINT “This is not a letter.” 15. 不要單獨(dú)進(jìn)行浮點(diǎn)數(shù)的比較,而是采用 |x0x1|1e6等類似形式來比較。 16. 盡可能用通俗易懂的偽碼來描述程序的流程,然后再翻譯成必須使用的語言。 …… 編碼風(fēng)格:語句構(gòu)造 22 軟件工程 2021 第七章 實(shí)現(xiàn) ? 對(duì)于語句構(gòu)造,可以列舉出很多實(shí)踐總結(jié)出來的經(jīng)驗(yàn)規(guī)則。但是再多的規(guī)則都不如經(jīng)常反躬自?。? “ 如果我不是編碼的人,那么能看懂它嗎? ” 編碼風(fēng)格:語句構(gòu)造 23 軟件工程 2021 第七章 實(shí)現(xiàn) ? 關(guān)于輸入和輸出有下列的啟發(fā)規(guī)則: ,識(shí)別錯(cuò)誤的輸入,以保證每個(gè)數(shù)據(jù)的有效性; ,必要時(shí)報(bào)告輸入狀態(tài)信息; ,并保持簡(jiǎn)單的輸入格式; ,應(yīng)允許使用自由格式輸入; ; ,最好使用輸入結(jié)束標(biāo)志,而不要由用戶指定輸入數(shù)據(jù)數(shù)目; 編碼風(fēng)格:輸入/輸出 24 軟件工程 2021 第七章 實(shí)現(xiàn) ,要在屏幕上使用提示符 明確提示交互輸入的請(qǐng)求,指明可使用選擇項(xiàng)的種類和取值范圍。同時(shí),在數(shù)據(jù)輸入的過程中和輸入結(jié)束時(shí),也要在屏幕上給出狀態(tài)信息; /輸出格式有嚴(yán)格要求時(shí),應(yīng)保持輸入格式與輸入語句要求的一致性; ,并設(shè)計(jì)輸出報(bào)表格式。 輸入/輸出風(fēng)格還受到許多其它因素的影響。如輸入/輸出設(shè)備(例如終端的類型,圖形設(shè)備,數(shù)字化轉(zhuǎn)換設(shè)備等)、用戶的熟練程度、以及通信環(huán)境等。 編碼風(fēng)格:輸入/輸出 25 軟件工程 2021 第七章 實(shí)現(xiàn) ? 效率是性能要求,因此應(yīng)該在需求分析階段確定效率方面的要求。 ? 效率是靠好設(shè)計(jì)來提高的。 ? 程序的效率和程序的簡(jiǎn)單程度是一致的,不要犧牲程序的清晰性和可讀性來不必要地提高效率。 編碼風(fēng)格:效率問題 26 軟件工程 2021 第七章 實(shí)現(xiàn) ? 程序運(yùn)行時(shí)間:源程序的效率直接由詳細(xì)設(shè)計(jì)階段確定的 算法的效率 決定,但是,寫 程序的風(fēng)格 也能對(duì)程序的執(zhí)行速度和存儲(chǔ)器要求產(chǎn)生影響。 ? 寫程序之前先簡(jiǎn)化算術(shù)的和邏輯的表達(dá)式; ? 仔細(xì)研究嵌套的循環(huán),以確定是否有語句可以從內(nèi)層往外移; ? 盡量避免使用多維數(shù)組; ? 盡量避免使用指針和復(fù)雜的表; ? 使用執(zhí)行時(shí)間短的算術(shù)運(yùn)算; ? 不要混合使用不同的數(shù)據(jù)類型; ? 盡量使用整數(shù)運(yùn)算和布爾表達(dá)式。 編碼風(fēng)格:效率問題 27 軟件工程 2021 第七章 實(shí)現(xiàn) ? 存儲(chǔ)器效率: ? 在大中型計(jì)算機(jī)中必須考慮操作系統(tǒng)頁式調(diào)度的特點(diǎn),一般說來,采用結(jié)構(gòu)化程序設(shè)計(jì),將程序功能合理分塊,使每個(gè)模塊或一組密切相關(guān)模塊的程序體積大小與每頁的容量相匹配,可減少頁面調(diào)度和內(nèi)外存交換,提高存儲(chǔ)效率。 ? 在微處理機(jī)中如果要求使用最少的存儲(chǔ)單元,則應(yīng)選用可生成較短目標(biāo)代碼切存儲(chǔ)壓縮性能優(yōu)良的編譯程序,在非常必要時(shí)可以使用匯編語言。 ? 提高執(zhí)行效率的技術(shù)通常也能提高存儲(chǔ)器效率。提高存儲(chǔ)器效率的關(guān)鍵同樣是 “ 簡(jiǎn)單 ” 。 編碼風(fēng)格:效率問題 28 軟件工程 2021 第七章 實(shí)現(xiàn) ? 輸入輸出的效率: ? 簡(jiǎn)單清晰是提高人機(jī)通信效率的關(guān)鍵 ? 硬件之間的通信效率是很復(fù)雜的問題,但是,從寫程序的角度看,卻有些簡(jiǎn)單的原則可以提高輸入輸出的效率 ? 所有輸入輸出都應(yīng)該有緩沖,以減少用于通信的額外開銷; ? 對(duì)二級(jí)存儲(chǔ)器 (如磁盤 )應(yīng)選用最簡(jiǎn)單的訪問方法; ? 二級(jí)存儲(chǔ)器的輸
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1