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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]軟件工程ppt-05詳細(xì)設(shè)計(jì)(編輯修改稿)

2025-02-17 22:38 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 外層語(yǔ)法是確定的,而內(nèi)層語(yǔ)法則不確定。外層語(yǔ)法描述控制結(jié)構(gòu)它用類似于一般程序設(shè)計(jì)語(yǔ)言控制結(jié)構(gòu)的關(guān)鍵字: 如 : IFTHENELSE , WHILEDO REPEATUNTIL,DO CASE, DO WHILE 等表示。 有時(shí)還用關(guān)鍵字反排,表示控制結(jié)構(gòu)結(jié)束: DO OD IF FI 例如: if X is not negative then return(square root of X as a real number)。 else return(square root of X as an imaginary number)。 外層語(yǔ)法 IFELSETHEN是確定的,內(nèi)層操作“ square root of X ” 是不確定的。 ? 提供全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊特征。能對(duì) PDL正文進(jìn)行結(jié)構(gòu)分割,使之變得易于理解。 ? 為了區(qū)別關(guān)鍵字,規(guī)定關(guān)鍵字一律大寫,其它單詞一律小寫?;蛘咭?guī)定關(guān)鍵字加下劃線,或者規(guī)定它們?yōu)楹隗w字。 PDL的特點(diǎn): ? 內(nèi)語(yǔ)法使用自然語(yǔ)言來描述處理特性。內(nèi)語(yǔ)法比較靈活,只要寫清楚就可以,不必考慮語(yǔ)法錯(cuò),以利于人們可把主要精力放在描述算法的邏輯上。 ? 有數(shù)據(jù)說明機(jī)制,包括簡(jiǎn)單的 (如標(biāo)量和數(shù)組 )與復(fù)雜的 (如鏈表和層次結(jié)構(gòu) )的數(shù)據(jù)結(jié)構(gòu)。 ? 有子程序定義與調(diào)用機(jī)制,用以表達(dá)各種方式的接口說明。 PDL的特點(diǎn): 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì) 軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng)。許多應(yīng)用系統(tǒng)中,信息往往具有清晰的層次結(jié)構(gòu),輸入 /輸出數(shù)據(jù)有明顯的對(duì)應(yīng)關(guān)系。問題求解方法的構(gòu)造往往依賴于問題描述的數(shù)據(jù)結(jié)構(gòu),即使求解同一問題,使用的數(shù)據(jù)結(jié)構(gòu)不同,相應(yīng)的求解算法也不同。因此軟件設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)有極大的相關(guān)性。如果一個(gè)數(shù)據(jù)結(jié)構(gòu)具有選擇性質(zhì),那么應(yīng)該使用條件選擇結(jié)構(gòu)處理;如果一個(gè)數(shù)據(jù)結(jié)構(gòu)具有重復(fù)性,則一定要求使用循環(huán)控制結(jié)構(gòu)處理;如果一個(gè)數(shù)據(jù)結(jié)構(gòu)具有層次組織,則軟件控制結(jié)構(gòu)也要求是分層的。由此提出了一類面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。 Jackson方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法的代表之一。 1. 概念 Jachson方法是面向 數(shù)據(jù)結(jié)構(gòu) 的設(shè)計(jì)方法。 2. JSP用于開發(fā)規(guī)模較小的數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)。該方法定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,它根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,即程序結(jié)構(gòu),而不是軟件的體系結(jié)構(gòu)。 Jackson方法 3. 特點(diǎn) Jackson方法有自己的描述工具 ——Jackson結(jié)構(gòu)圖,用 3種基本結(jié)構(gòu)(順序、選擇和重復(fù))來表示。其特點(diǎn)是: ① 能對(duì)結(jié)構(gòu)進(jìn)行自頂向下的分解,因此可以表示層次結(jié)構(gòu)。 ② 結(jié)構(gòu)易讀,形象直觀。 ③ 既能表示數(shù)據(jù)結(jié)構(gòu)也能表示程序結(jié)構(gòu),且表示的是組成關(guān)系。 Jackson方法 4. JSP設(shè)計(jì)步驟 ① 分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用 Jackson結(jié)構(gòu)圖表示這些數(shù)據(jù)結(jié)構(gòu)。 ② 找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元,對(duì)應(yīng)關(guān)系指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系。 ③ 按一定的規(guī)則由輸入、輸出的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)。 ④ 列出基本操作與條件,并把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。 ⑤ 用偽碼(也稱圖解邏輯)寫出程序。 Jackson方法 優(yōu)缺點(diǎn) Jackson方法對(duì)問題分析的基本思想仍然是自頂而下,逐步求精,問題求解層次化和模塊化。它與 SD方法的區(qū)別僅僅在于主要以 數(shù)據(jù)結(jié)構(gòu) (而不是數(shù)據(jù)流驅(qū)動(dòng))來建立程序模塊和控制結(jié)構(gòu)。 對(duì)于數(shù)據(jù)結(jié)構(gòu)與問題結(jié)構(gòu)密切相關(guān)的系統(tǒng),該方法導(dǎo)出的系統(tǒng)設(shè)計(jì)易于理解,當(dāng)問題發(fā)生局部變化時(shí),也易于修改。特別適用于具有良好層次數(shù)據(jù)結(jié)構(gòu)的輸入 /輸出設(shè)計(jì),典型的如商業(yè)應(yīng)用中文件表格處理。 Jackson方法 6. JSP設(shè)計(jì)中結(jié)構(gòu)沖突的解決方法 在 JSP設(shè)計(jì)中,如果輸入數(shù)據(jù)和輸出數(shù)據(jù)結(jié)構(gòu)之間找不到對(duì)應(yīng)關(guān)系,稱為結(jié)構(gòu)沖突。在工程實(shí)踐中,實(shí)施 Jackson方法的主要問題是結(jié)構(gòu)沖突。 解決方法是: 引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個(gè)程序結(jié)構(gòu),再利用中間文件將把它們聯(lián)系起來,構(gòu)成一個(gè)系統(tǒng)的整體。 Jackson方法 程序復(fù)雜度的定量度量 如何使軟件結(jié)構(gòu)復(fù)雜度和軟件質(zhì)量的評(píng)價(jià)能夠量化是軟件工程研究的課題之一 。 軟件復(fù)雜度 、 軟件質(zhì)量的量化評(píng)判 , 是客觀評(píng)估軟件質(zhì)量 , 計(jì)算開發(fā)進(jìn)度 ,衡量軟件成本的基礎(chǔ) , 也是估計(jì)軟件殘存錯(cuò)誤的依據(jù) 。 目前比較流行的軟件復(fù)雜度度量方法有兩種:一是由 McCabe提出的根據(jù) 程序流程圖的結(jié)構(gòu)復(fù)雜度 對(duì)軟件復(fù)雜度和質(zhì)量進(jìn)行量度;二是由 Halstead提出的根據(jù)程序中包含的 運(yùn)算操作符和操作數(shù)個(gè)數(shù) 對(duì)程序復(fù)雜度進(jìn)行度量的行代碼度量方法。 ?程序復(fù)雜性主要指 模塊內(nèi)程序的復(fù)雜性 。它直接關(guān)聯(lián)到軟件開發(fā)費(fèi)用的多少,開發(fā)周期的長(zhǎng)短和軟件內(nèi)部潛伏錯(cuò)誤的多少。 ?減少程序復(fù)雜性,可提高軟件的簡(jiǎn)單性和可理解性,并使軟件開發(fā)費(fèi)用減少,開發(fā)周期縮短,軟件內(nèi)部潛藏錯(cuò)誤減少 。 程序復(fù)雜度的定量度量 復(fù)雜性度量需要滿足的假設(shè) ?為了度量程序復(fù)雜性,要求: ? 它可以用來計(jì)算任何一個(gè)程序的復(fù)雜性; ? 對(duì)于不合理的程序,例如對(duì)于長(zhǎng)度動(dòng)態(tài)增長(zhǎng)的程序,或者對(duì)于原則上無法排錯(cuò)的程序,不應(yīng)當(dāng)使用它進(jìn)行復(fù)雜性計(jì)算; ? 如果程序中指令條數(shù)、附加存儲(chǔ)量、計(jì)算時(shí)間增多,不會(huì)減少程序的復(fù)雜性。 代碼行度量法 ?源代碼行數(shù)度量法基于兩個(gè)前提: ? 程序復(fù)雜性隨著程序規(guī)模的增加不均衡地增長(zhǎng); ? 控制程序規(guī)模的方法最好是采用分而治之的辦法。將一個(gè)大程序分解成若干個(gè)簡(jiǎn)單的可理解的程序段。 ?方法的基本考慮是 統(tǒng)計(jì)一個(gè)程序模塊的源代碼行數(shù)目,并以源代碼行數(shù)做為程序復(fù)雜性的度量。 ?設(shè) 每行代碼的出錯(cuò)率 為 每 100行源程序中可能有的錯(cuò)誤數(shù)目 。 ?Thayer曾指出, 程序出錯(cuò)率的估算范圍是從 %~ 7%之間 ,即每100行源程序中可能存在 ~ 7個(gè)錯(cuò)誤。他還指出,每行代碼的出錯(cuò)率與源程序行數(shù)之間不存在簡(jiǎn)單的線性關(guān)系。 ?Lipow指出,對(duì)于 小程序 ,每行代碼出錯(cuò)率為 %~ % ;對(duì)于 大程序 ,每行代碼的出錯(cuò)率增加到 %~ % 之間,這只是考慮了程序的可執(zhí)行部分,沒有包括程序中的說明部分。 ?Lipow及其他研究者得出一個(gè)結(jié)論:對(duì)于少于 100個(gè)語(yǔ)句的小程序,源代碼行數(shù)與出錯(cuò)率是線性相關(guān)的。隨著程序的增大,出錯(cuò)率以非線性方式增長(zhǎng)。 McCabe度量法 ?McCabe度量法,又稱環(huán)路復(fù)雜性度量,是一種 基于程序控制流 的復(fù)雜性度量方法。 ?它 基于一個(gè)程序模塊的程序圖中環(huán)路的個(gè)數(shù) ,因此計(jì)算它先要畫出程序圖。 ?程序圖是退化的程序流程圖。流程圖中每個(gè)處理都退化成一個(gè)結(jié)點(diǎn),流線變成連接不同結(jié)點(diǎn)的有向弧。 基本控制結(jié)構(gòu)的結(jié)點(diǎn)化處理 A B A B C 分支 A B 順序 當(dāng)循環(huán) A B 直到循環(huán) 圖 7 基本控制結(jié)構(gòu)的結(jié)點(diǎn)化處理 ?程序圖僅描述程序內(nèi)部的控制流程,完全不表現(xiàn)對(duì)數(shù)據(jù)的具體操作,以及分支和循環(huán)的具體條件。 ?計(jì)算環(huán)路復(fù)雜性的方法: 根據(jù)圖論,在一個(gè)強(qiáng)連通的有向圖 G中,環(huán)的個(gè)數(shù)由以下公式給出: V(G)= m- n+ p 其中, V(G)是有向圖 G中環(huán)路個(gè)數(shù),m是圖 G中弧數(shù) , n是圖 G中結(jié)點(diǎn)數(shù),p是圖 G中的強(qiáng)連通分量個(gè)數(shù)。 ?Myers建議,對(duì)于復(fù)合判定,例如,(A= 0)∩(C= D)∪ (X= ?A?) 算做三個(gè)判定。 ?為使圖成為強(qiáng)連通圖,從圖的入口點(diǎn)到出口點(diǎn)加一條用虛線表示的有向邊,使圖成為強(qiáng)連通圖。這樣就可以使用上式計(jì)算環(huán)路復(fù)雜性。 ?在例示中,結(jié)點(diǎn)數(shù) n= 11, 弧數(shù) m= 13, p= 1, 則有 V(G)= m- n+ p= 13- 11+ 1= 3. ?等于程序圖中弧所封閉的區(qū)域數(shù)。 幾點(diǎn)說明 ?環(huán)路復(fù)雜度取決于程序控制結(jié)構(gòu)的復(fù)雜度。當(dāng)程序的分支數(shù)目或循環(huán)數(shù)目增加時(shí)其復(fù)雜度也增加。 環(huán)路復(fù)雜度與程序中覆蓋的路徑條數(shù)有關(guān) 。 ?
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1