軟件工程編碼設(shè)計_第1頁
軟件工程編碼設(shè)計_第2頁
軟件工程編碼設(shè)計_第3頁
軟件工程編碼設(shè)計_第4頁
軟件工程編碼設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件編碼軟件編碼姓名:周寧班級:計研131目錄 1.編碼的目的 2.源程序的要求 3.程序設(shè)計語言 4.編碼風(fēng)格 5.小結(jié)2一.編碼的目的使用選定的程序設(shè)計語言,把模塊的過程性描述翻譯使用選定的程序設(shè)計語言,把模塊的過程性描述翻譯為用語言書寫的源程序為用語言書寫的源程序( (源代碼源代碼) )。3模塊的過程性描述(不可執(zhí)行的)源程序(可執(zhí)行的)編碼二源程序的要求41.源程序的正確性是對程序質(zhì)量的最基本要求;2.源程序的簡明清晰,才便于驗證源代碼和模塊規(guī)格說明的一致性,容易進(jìn)行測試和維護(hù);3.源程序的清晰與效率之間常存在矛盾,要求清晰性好的程序一般效率較低,而要求效率高的程序一般清晰性較差。對于

2、大多數(shù)模塊,編碼時應(yīng)該把簡明清晰放在第一位。4.除了編碼階段產(chǎn)生源代碼外,在測試階段也需要編寫一些測試程序,用于對軟件的測試。三程序設(shè)計語言(三程序設(shè)計語言(1/31/3)5一一. .程序設(shè)計語言的發(fā)展程序設(shè)計語言的發(fā)展按軟件工程的觀點(diǎn),語言的發(fā)展大致可分為四代、三個階段。如圖:按軟件工程的觀點(diǎn),語言的發(fā)展大致可分為四代、三個階段。如圖:面向機(jī)器的語言高級語言(第三代)甚高級語言機(jī)器語言(第一代)現(xiàn)代語言匯編語言(第二代)基礎(chǔ)語言專用語言第四代語言三程序設(shè)計語言(三程序設(shè)計語言(2/32/3)二.程序設(shè)計語言的特點(diǎn)程序設(shè)計語言的特點(diǎn)1.名字說明:程序中使用對象的名字,能為編譯程序所檢查和識別;

3、名字說明:程序中使用對象的名字,能為編譯程序所檢查和識別;2.類型說明類型說明:定義對象的類型,確定該對象的使用方式;定義對象的類型,確定該對象的使用方式;3.初始化初始化:為變量提供適當(dāng)?shù)某跏贾祷蛴上到y(tǒng)給變量賦一特殊的表明尚未初始化為變量提供適當(dāng)?shù)某跏贾祷蛴上到y(tǒng)給變量賦一特殊的表明尚未初始化的值;的值;4.程序?qū)ο蟮木植啃猿绦驅(qū)ο蟮木植啃?程序中真正需要的那部分才能訪問的對象;程序中真正需要的那部分才能訪問的對象;5.程序模塊程序模塊:控制程序?qū)ο蟮拿?;控制程序?qū)ο蟮拿郑?.循環(huán)控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu):如如FORFOR語句、語句、WHILE-DOWHILE-DO語句、語句、REPEAT-U

4、NTILREPEAT-UNTIL語句等;語句等;7.7.分支控制結(jié)構(gòu)分支控制結(jié)構(gòu): :如如IFIF語句、語句、CASECASE語句語句等;等;8.異常處理異常處理:為程序運(yùn)行過程中發(fā)生的錯誤和意外事件提供檢測和處理上的幫助為程序運(yùn)行過程中發(fā)生的錯誤和意外事件提供檢測和處理上的幫助9.獨(dú)立編譯獨(dú)立編譯:能分別編譯各個程序單元。能分別編譯各個程序單元。6三程序設(shè)計語言(三程序設(shè)計語言(3/33/3)三.程序設(shè)計語言的選擇程序設(shè)計語言的選擇1.為用戶熟悉、便于用戶維護(hù)的語言。為用戶熟悉、便于用戶維護(hù)的語言。2.運(yùn)行目標(biāo)系統(tǒng)的環(huán)境中可以提供的編譯程序所能選用的語言。運(yùn)行目標(biāo)系統(tǒng)的環(huán)境中可以提供的編譯程

5、序所能選用的語言。3.根據(jù)可以得到的軟件工具根據(jù)可以得到的軟件工具,能在支持程序開發(fā)中可以利用的語言。能在支持程序開發(fā)中可以利用的語言。4.根據(jù)工程規(guī)模的大小、目標(biāo)系統(tǒng)應(yīng)用范圍選擇專用的語言根據(jù)工程規(guī)模的大小、目標(biāo)系統(tǒng)應(yīng)用范圍選擇專用的語言5.程序員熟悉的語言。程序員熟悉的語言。6.標(biāo)準(zhǔn)化程度高、程序可移植性好的語言。標(biāo)準(zhǔn)化程度高、程序可移植性好的語言。7.根據(jù)算法與計算的復(fù)雜性、數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。根據(jù)算法與計算的復(fù)雜性、數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。8.根據(jù)實時要求系統(tǒng)需要的響應(yīng)速度和效率。根據(jù)實時要求系統(tǒng)需要的響應(yīng)速度和效率。7四. 編碼風(fēng)格編碼風(fēng)格(1/5)編碼風(fēng)格也稱程序設(shè)計風(fēng)格,應(yīng)遵循如下規(guī)則:

6、編碼風(fēng)格也稱程序設(shè)計風(fēng)格,應(yīng)遵循如下規(guī)則: 1. 1.程序內(nèi)部的文檔:程序內(nèi)部的文檔:應(yīng)包括適當(dāng)?shù)臉?biāo)識符、適當(dāng)?shù)淖⒔?、程序清單的合理布局與應(yīng)包括適當(dāng)?shù)臉?biāo)識符、適當(dāng)?shù)淖⒔狻⒊绦蚯鍐蔚暮侠聿季峙c清晰的程序?qū)哟谓Y(jié)構(gòu)。清晰的程序?qū)哟谓Y(jié)構(gòu)。2.數(shù)據(jù)說明數(shù)據(jù)說明: (1)按照數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)類型確定的按照數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)類型確定的說明次序說明次序做到標(biāo)準(zhǔn)化;做到標(biāo)準(zhǔn)化; (2)變量名稱盡量變量名稱盡量有意義有意義,雖然有時字符串長一些,但這樣可提高程序的可讀性。,雖然有時字符串長一些,但這樣可提高程序的可讀性。當(dāng)多個變量名字在一個語句中說明時當(dāng)多個變量名字在一個語句中說明時,應(yīng)按字母次序排列;應(yīng)按字母次序排列

7、; (3)如果設(shè)計時使用了如果設(shè)計時使用了復(fù)雜的數(shù)據(jù)結(jié)構(gòu)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),應(yīng)在注解中說明在程序設(shè)計語言中實現(xiàn)應(yīng)在注解中說明在程序設(shè)計語言中實現(xiàn)這個數(shù)據(jù)結(jié)構(gòu)的方法。這個數(shù)據(jù)結(jié)構(gòu)的方法。3.3.使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)( (單入口單入口/ /單出口單出口) ),確保源程序清晰可讀。,確保源程序清晰可讀。8四.編碼風(fēng)格編碼風(fēng)格(2/5)4.4.語句的構(gòu)造簡單明了語句的構(gòu)造簡單明了(1)(1)不要為了節(jié)省空間將多個語句寫在同一行;不要為了節(jié)省空間將多個語句寫在同一行;(2)(2)盡量避免復(fù)雜的條件及盡量避免復(fù)雜的條件及“非非”條件的測試;條件的測試;(3)(3)避免大量使用循環(huán)嵌套和條件嵌套

8、;避免大量使用循環(huán)嵌套和條件嵌套;(4)(4)使用括號使邏輯表達(dá)式和算術(shù)表達(dá)式的運(yùn)算順使用括號使邏輯表達(dá)式和算術(shù)表達(dá)式的運(yùn)算順序清晰直觀。序清晰直觀。9四.編碼風(fēng)格編碼風(fēng)格(3/5)5.5.輸入輸入/輸出輸出(1)對所有輸入數(shù)據(jù)都要進(jìn)行校檢對所有輸入數(shù)據(jù)都要進(jìn)行校檢,防止對程序的有意或無意的破壞;防止對程序的有意或無意的破壞;(2)檢查輸入項重要組合的合法性,剔除模糊的輸入值;檢查輸入項重要組合的合法性,剔除模糊的輸入值;(3)輸入格式力求簡單、一致,并盡可能采用自由格式輸入;輸入格式力求簡單、一致,并盡可能采用自由格式輸入;(4)使用數(shù)據(jù)結(jié)束或文件結(jié)束標(biāo)志來終止輸入,不要讓用戶來計算輸入的項

9、數(shù)或記錄使用數(shù)據(jù)結(jié)束或文件結(jié)束標(biāo)志來終止輸入,不要讓用戶來計算輸入的項數(shù)或記錄數(shù);數(shù);(5)向用戶明確提示向用戶明確提示“請輸入請輸入”的提示信息的提示信息,同時說明允許的選擇范圍和邊界值;同時說明允許的選擇范圍和邊界值;(6)所有輸出的報表、報告具有良好的格式;所有輸出的報表、報告具有良好的格式;(7)標(biāo)志所有的輸出數(shù)據(jù),加以必要的說明;標(biāo)志所有的輸出數(shù)據(jù),加以必要的說明;(8)對于具有大量人對于具有大量人-機(jī)交互的系統(tǒng),能對用戶提供機(jī)交互的系統(tǒng),能對用戶提供“在線在線”幫助,對產(chǎn)生重要后果幫助,對產(chǎn)生重要后果的請求給出醒目的提示,發(fā)生錯誤時能迅速恢復(fù)正常。的請求給出醒目的提示,發(fā)生錯誤時能

10、迅速恢復(fù)正常。10四.編碼風(fēng)格編碼風(fēng)格(4/5)6.程序清晰與效率之間的關(guān)系程序清晰與效率之間的關(guān)系1.處理程序正確性、清晰與效率之間的關(guān)系時的處理程序正確性、清晰與效率之間的關(guān)系時的原則:原則:(1)先求正確后求快;先求正確后求快;(2)先求清楚后求快;先求清楚后求快;(3)求快不忘保持程序正確;求快不忘保持程序正確;(4)保持程序簡單以求快;保持程序簡單以求快;(5)書寫清楚書寫清楚,不為不為“效率效率”犧牲清晰。犧牲清晰。11四.編碼風(fēng)格編碼風(fēng)格(5/5)2.在清晰與效率之間的取舍在清晰與效率之間的取舍12編碼要編碼要求求用用GOTO GOTO 與其它技巧消除重復(fù)編碼與其它技巧消除重復(fù)編碼用限制用限制GOTO GOTO 保證控制流的局限保證控制流的局限性性用單入出口保證控制流的直線用單入出口保證控制流的直線性性效率第一效率第一( (對個別模塊對個別模塊) )清晰第一清晰第一( (對大多數(shù)模塊對大多數(shù)模塊) )小結(jié)小結(jié)131.編碼的目的是把詳細(xì)設(shè)計的結(jié)果翻譯成用選定語言書寫的源程序。2.程序的質(zhì)量主要是由設(shè)計的質(zhì)量決定的。但是,編碼的風(fēng)格和使用的語言,對編碼質(zhì)量也有重要的影響。3.良好的編碼風(fēng)格,應(yīng)該以結(jié)構(gòu)

溫馨提示

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

最新文檔

評論

0/150

提交評論