軟件的詳細設(shè)計和編碼 -_第1頁
軟件的詳細設(shè)計和編碼 -_第2頁
軟件的詳細設(shè)計和編碼 -_第3頁
軟件的詳細設(shè)計和編碼 -_第4頁
軟件的詳細設(shè)計和編碼 -_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章

軟件的詳細設(shè)計和編碼§1 詳細設(shè)計工具詳細設(shè)計的目標詳細設(shè)計的目標是提出分模塊的、無歧義的描述軟件的控制流向、處理功能、數(shù)據(jù)組織、過程細節(jié)等設(shè)計表示,以便在程序設(shè)計時可以嚴格遵循進行程序編制。圖形工具流程圖推薦采用只含三種基本表示的結(jié)構(gòu)方式。第四章

軟件的詳細設(shè)計和編碼While

do和repeat

until在描述能力上是等價的。第四章

軟件的詳細設(shè)計和編碼aPaPb

=

Fbb

=Twhile

do:repeat

until:FFTT第四章

軟件的詳細設(shè)計和編碼顯然,流程圖簡單易用,但實在非常靈活,容易被濫用。應(yīng)硬性附加若干規(guī)定。為了方便,也可以適當放寬,例如,可以允許使用GO

TO,但只能向

下轉(zhuǎn)移,而且不能破壞每種基本結(jié)構(gòu)只能有一個輸入和一個輸出的規(guī)則,等等??梢岳肔CP方法對現(xiàn)有的非結(jié)構(gòu)化的流程圖加以改造。當然,這種限制可能帶來效率降低、增加復(fù)雜性(如增加判定條件)??驁D(N-S圖)框圖可以嚴格地保證只能使用三種基本結(jié)構(gòu)。第四章

軟件的詳細設(shè)計和編碼A

B

CA

BAAAtxftxfyyyy1y2y3y4ABCDx1tfBCDEx2tf第四章

軟件的詳細設(shè)計和編碼IPO/DB圖在框圖的基礎(chǔ)上,給出了數(shù)據(jù)的流向以及標明數(shù)據(jù)的源和潭。DBoutputinput

process第四章

軟件的詳細設(shè)計和編碼表格工具:抉擇表動作規(guī)則號12344條x1TFTTFx2FTF件x3FTFTFx4TTFFabc╳╳╳╳╳╳╳╳第四章

軟件的詳細設(shè)計和編碼語言工具:偽碼【例】給定非結(jié)構(gòu)化流程圖,假定處理1中不改變B的值。①為什么說此圖是非結(jié)構(gòu)化的。②列出真值表并化簡。③畫出等價的結(jié)構(gòu)化流程圖。④畫出等價的N-S圖。⑤偽碼表示。第四章

軟件的詳細設(shè)計和編碼開始A1B62D89結(jié)束7C54F

TFTTBF3FTFT第四章

軟件的詳細設(shè)計和編碼①非結(jié)構(gòu)化是顯然的,僅舉一例:判定C出現(xiàn)了兩個出口。②列出真值表:ABCD0000000100100011010001010110123456789╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳第四章

軟件的詳細設(shè)計和編碼續(xù)表:A

B

C

D011110001001101010111100110111101111╳1

2

3

4

5

6

7

8

9╳

╳╳

╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳第四章

軟件的詳細設(shè)計和編碼化簡:

1=a;2=B;3=Ab;4=AbC;5=Abc;6=ab;7=B+Abc+abD;8=abd;9=abD;③畫出結(jié)構(gòu)化的流程圖用小寫字母表示“非”,x表示非x。第四章

軟件的詳細設(shè)計和編碼開始A1BB237C4627FTFTFTFT結(jié)構(gòu)化流程圖:第四章

軟件的詳細設(shè)計和編碼D57897結(jié)束TF續(xù)圖:第四章

軟件的詳細設(shè)計和編碼④NS圖:AtfBtf123c4577Btf26Dtf897第四章

軟件的詳細設(shè)計和編碼§2

編碼1.

編碼階段的任務(wù)將軟件的設(shè)計表示翻譯成機器可以理解的形式,即將軟件詳細設(shè)計文檔翻譯成程序設(shè)計語言的實現(xiàn)形式。編碼是軟件設(shè)計的最后階段,相對而言比較簡單。討論編碼是為了使源程序變得更加容易理解和維護。增加程序的可讀性。工作量估算:約為整個軟件開發(fā)的20-30%。時間估計:約為開發(fā)周期的20-25%。第四章

軟件的詳細設(shè)計和編碼程序設(shè)計語言的特性

(1)心理特性由于目前程序設(shè)計語言與人們熟悉的自然語言存在很大的差別,程序設(shè)計語言要求人們改變思考和處理問題的方法以適應(yīng)語言的特定限制。語言的心理特性對編程階段有極大的影響。一致性:語言使用相容記號的程度。例如“+”:整數(shù)加、實數(shù)加、向量加、取后加1(x+),等等。一致性太強,影響可讀性,容易混淆;太弱又使編程人員需要記憶更多的記號。影響簡潔性。第四章

軟件的詳細設(shè)計和編碼歧義性:符合語法規(guī)則的語句可以產(chǎn)生不同的語義理解的程度。例如,if

A

then

if

C

then

D

else

E;簡潔性:程序員必須記憶的面向代碼的信息數(shù)量,如運算符、保留字、分隔符等。局部性:語言支持結(jié)構(gòu)化構(gòu)造和模塊化的能力。局部性與靈活性是一對矛盾。線性:語言支持作用域的能力。存在域與作用域的關(guān)系?!袄^承法則”:里層分程序繼承外層分程序定義的數(shù)據(jù)結(jié)構(gòu)。第四章

軟件的詳細設(shè)計和編碼(2)工程特性由于程序設(shè)計語言是工程項目中使用的工具,語言的工程特性將直接影響它的使用??煞g性:語言支持從軟件設(shè)計表示翻譯到程序的能力。這里包括人們使用語言構(gòu)造程序的能力、使用的方便程度和可操縱性等。功效性:語言編譯程序根據(jù)源代碼產(chǎn)生的目標代碼的運行效率、目標代碼的質(zhì)量、所耗費的資源等??梢浦残裕赫Z言對不同硬件、操作系統(tǒng)等環(huán)境的適應(yīng)能力,為適應(yīng)環(huán)境需要增加的工作量。第四章

軟件的詳細設(shè)計和編碼開發(fā)工具:為支持編程人員的軟件工具的數(shù)量、支持能力等??删S護性:語言支持對程序的修改、擴充的能力,包括分塊編譯、與不同語言編制的目標程序連接、裝配的能力等。(3)技術(shù)特性語言的技術(shù)特性主要是指語言的表達能力、適用范圍等與語言本身有關(guān)的特性。記號的特性基本語言成分第四章

軟件的詳細設(shè)計和編碼模塊特性語法和語義數(shù)據(jù)類型可執(zhí)行語句與非執(zhí)行語句語言的分類語言的分類直接與分類的觀點相關(guān)。對計算機的依賴程度:低級語言、高級語言使用方式:交互式語言、非交互式語言使用領(lǐng)域:通用語言、專用語言第四章

軟件的詳細設(shè)計和編碼從語言的綜合特性:基礎(chǔ)語言:Algol、Fortran、Cobol、Basic等結(jié)構(gòu)化語言:Pascal、C、PL/1、Ada等面向?qū)ο笳Z言:C++、VC++、Eiffel等人工智能預(yù)言:Lisp、Prolog等。編程風(fēng)格應(yīng)該說,不同的編程人員有不同的編程風(fēng)格。但為了使程序簡明、清晰,這里強調(diào)的是一些注意事項。第四章

軟件的詳細設(shè)計和編碼提供盡可能多的注釋統(tǒng)一格式的前奏注釋(說明模塊或子程序)合理的功能注釋(說明功能語句)編制清楚,避免技巧性太強語句構(gòu)造力求簡單直接,不要繁瑣臃腫數(shù)據(jù)說明清楚,變量起名盡可能與其的含義相聯(lián)系注意輸入輸出數(shù)據(jù)的格式,盡可能美觀程序的書寫注意層次,層次應(yīng)體現(xiàn)內(nèi)容第四章

軟件的詳細設(shè)計和編碼應(yīng)該注意的一些問題應(yīng)該注意程序的運算效率,包括:在編程之前,化簡算數(shù)表達式和邏輯表達式,例如:進行因式分解,避免出現(xiàn)乘方;(a+b)╳(a+b)=

a2+2ab+b2避免使用多維數(shù)組;避免使用指針和復(fù)雜的表格;仔細檢查嵌套循環(huán),盡可能將語句移向外層;盡可能使用定點運算;等等。

溫馨提示

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

評論

0/150

提交評論