版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1 2 典型方法有典型方法有Jackson方法和方法和Warnier方法方法 (1)Jackson方法方法 1975年年,M.A. Jackson-提出了一類軟件開發(fā)方法。這一方法從目標系統(tǒng)的提出了一類軟件開發(fā)方法。這一方法從目標系統(tǒng)的 輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補充其它細節(jié),就可得輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補充其它細節(jié),就可得 到完整的程序結(jié)構(gòu)圖。這一方法對輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)到完整的程序結(jié)構(gòu)圖。這一方法對輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng) 特別有效,如商業(yè)應(yīng)用中的文件表格處理。該方法也可與其它方法結(jié)合,特別有效,如商業(yè)應(yīng)用中的文件表格處理。
2、該方法也可與其它方法結(jié)合, 用于模塊的詳細設(shè)計。用于模塊的詳細設(shè)計。Jackson方法有時也稱為面向數(shù)據(jù)結(jié)構(gòu)的軟件設(shè)計方法有時也稱為面向數(shù)據(jù)結(jié)構(gòu)的軟件設(shè)計 方法。方法。 (2)Warnier方法方法 1974年,年,J.D.Warnier提出的軟件開發(fā)方法與提出的軟件開發(fā)方法與Jackson方法類似。差別有三方法類似。差別有三 點:一是它們使用的圖形工具不同,分別使用點:一是它們使用的圖形工具不同,分別使用Warnier圖和圖和Jackson圖;圖; 另一個差別是使用的偽碼不同;最主要的差別是在構(gòu)造程序框架時,另一個差別是使用的偽碼不同;最主要的差別是在構(gòu)造程序框架時, Warnier方法僅考
3、慮輸入數(shù)據(jù)結(jié)構(gòu),而方法僅考慮輸入數(shù)據(jù)結(jié)構(gòu),而Jackson方法不僅考慮輸入數(shù)據(jù)結(jié)方法不僅考慮輸入數(shù)據(jù)結(jié) 構(gòu),而且還考慮輸出數(shù)據(jù)結(jié)構(gòu)。構(gòu),而且還考慮輸出數(shù)據(jù)結(jié)構(gòu)。 3 主要特點:主要特點: 以信息對象及其操作為核心進行需求分析以信息對象及其操作為核心進行需求分析 認為復(fù)合信息對象具有層次結(jié)構(gòu),并且可認為復(fù)合信息對象具有層次結(jié)構(gòu),并且可 按順序、選擇、重復(fù)三種結(jié)構(gòu)分解為成員按順序、選擇、重復(fù)三種結(jié)構(gòu)分解為成員 信息對象信息對象 提供由層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機提供由層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機 制,從而為軟件設(shè)計奠定良好的基礎(chǔ)制,從而為軟件設(shè)計奠定良好的基礎(chǔ) 4 JSP(Jackson st
4、ructured Programming) Jackson結(jié)構(gòu)程序設(shè)計方法結(jié)構(gòu)程序設(shè)計方法 JSD (Jackson System Development) Jackson系統(tǒng)開發(fā)方法系統(tǒng)開發(fā)方法。 5 JSD方法簡介方法簡介 小結(jié)小結(jié) 6 總結(jié)了總結(jié)了COBOL事務(wù)處理程序中的開發(fā)方事務(wù)處理程序中的開發(fā)方 法而發(fā)展起來的,特點:法而發(fā)展起來的,特點: 重點不是自頂向下逐步求精,而是在數(shù)據(jù)結(jié)構(gòu)基礎(chǔ) 上進行構(gòu)造 根據(jù)輸入/輸出的數(shù)據(jù)結(jié)構(gòu)建立程序結(jié)構(gòu) 目標:獲得簡單清晰的設(shè)計方案目標:獲得簡單清晰的設(shè)計方案 設(shè)計原則:使程序結(jié)構(gòu)與問題結(jié)構(gòu)設(shè)計原則:使程序結(jié)構(gòu)與問題結(jié)構(gòu)(數(shù)據(jù)數(shù)據(jù) 結(jié)構(gòu)結(jié)構(gòu))相對應(yīng)相
5、對應(yīng) 7 一般的數(shù)據(jù)處理系統(tǒng)處理的是具有層次結(jié)一般的數(shù)據(jù)處理系統(tǒng)處理的是具有層次結(jié) 構(gòu)的數(shù)據(jù),因而其問題結(jié)構(gòu)可以用它所處構(gòu)的數(shù)據(jù),因而其問題結(jié)構(gòu)可以用它所處 理的數(shù)據(jù)結(jié)構(gòu)來表示理的數(shù)據(jù)結(jié)構(gòu)來表示 8 JSP方法采用方法采用Jackson圖來表示數(shù)據(jù)結(jié)構(gòu)和程序結(jié)圖來表示數(shù)據(jù)結(jié)構(gòu)和程序結(jié) 構(gòu)構(gòu) 結(jié)構(gòu)圖是一種從左到右閱讀的樹狀層次結(jié)構(gòu)圖結(jié)構(gòu)圖是一種從左到右閱讀的樹狀層次結(jié)構(gòu)圖 數(shù)據(jù)結(jié)構(gòu)圖中方框表示數(shù)據(jù),程序結(jié)構(gòu)圖中方框就表示模數(shù)據(jù)結(jié)構(gòu)圖中方框表示數(shù)據(jù),程序結(jié)構(gòu)圖中方框就表示模 塊塊(過程或函數(shù)過程或函數(shù)) 底部的葉子節(jié)點稱為基本元素底部的葉子節(jié)點稱為基本元素 在底部枝干以上的節(jié)點稱為結(jié)構(gòu)元素在底部枝
6、干以上的節(jié)點稱為結(jié)構(gòu)元素 三種元素類型:順序元素、選擇元素、重復(fù)元素三種元素類型:順序元素、選擇元素、重復(fù)元素 9 一個順序元素由一個或多個從左到右的一個順序元素由一個或多個從左到右的 元素組成元素組成 每個組成的元素只出現(xiàn)一次每個組成的元素只出現(xiàn)一次 圖圖 順序元素順序元素 10 選擇是選擇是“If Then Else”或或“Case”的結(jié)構(gòu),而且必須有的結(jié)構(gòu),而且必須有 兩個或多個元素兩個或多個元素 使用選擇元素時根據(jù)指定的條件從這些子元素中選擇一使用選擇元素時根據(jù)指定的條件從這些子元素中選擇一 個子元素個子元素 供選擇的子元素用右上角標以小圓的矩形表示供選擇的子元素用右上角標以小圓的矩形
7、表示 示例:左圖中A、B、C是D的可選項,而S是選擇條件 如果需要一個如果需要一個“If A=B Then X Else do nothing”那么那么 需要加入一個空元素需要加入一個空元素 示例:右圖 中空元素用一個標有連字符的矩形表示 圖a 選擇元素圖b 空元素 11 重復(fù)元素僅由一個子元素構(gòu)成,表示重復(fù)元素由子重復(fù)元素僅由一個子元素構(gòu)成,表示重復(fù)元素由子 元素重復(fù)元素重復(fù)0次或多次組成次或多次組成 子元素用右上角標以星號的矩形表示子元素用右上角標以星號的矩形表示 下圖表示元素下圖表示元素D由元素由元素A重復(fù)重復(fù)0次或多次組成,其中次或多次組成,其中 I是重復(fù)條件是重復(fù)條件 圖圖 重復(fù)元素
8、重復(fù)元素 12 結(jié)構(gòu)正文完全與結(jié)構(gòu)圖相對應(yīng)結(jié)構(gòu)正文完全與結(jié)構(gòu)圖相對應(yīng) 分為:順序結(jié)構(gòu)正文、選擇結(jié)構(gòu)正文、重復(fù)結(jié)分為:順序結(jié)構(gòu)正文、選擇結(jié)構(gòu)正文、重復(fù)結(jié) 構(gòu)正文構(gòu)正文 順序結(jié)構(gòu)正文順序結(jié)構(gòu)正文 D Seq 順序順序 A; 元素元素D是由一個元素是由一個元素A B; 跟隨一個元素跟隨一個元素B C; 跟隨一個元素跟隨一個元素C組成組成 D END 元素元素D是元素是元素A、元素、元素B、元素、元素C的序列的序列 13 選擇結(jié)構(gòu)正文選擇結(jié)構(gòu)正文 D Select cond1 選擇選擇 A 元素元素D或是由一個元素或是由一個元素A Or cond2 B 或是由一個元素或是由一個元素B Or cond3
9、 C 或是由一個元素或是由一個元素C組成組成 D END cond1、cond2、cond3分別是選擇分別是選擇A,B,C的條件的條件 重復(fù)結(jié)構(gòu)正文重復(fù)結(jié)構(gòu)正文 D Iter until cond 重復(fù)重復(fù) A; 元素元素D是由是由1個或多個元素個或多個元素A組成。組成。 D END 元素元素D 是元素是元素A的重復(fù)的重復(fù) 或或 D Iter while cond A; 元素元素D是由是由0至多個元素至多個元素A組成組成 D END cond為循環(huán)條件為循環(huán)條件 14 15 例例6.2:一個正文文件由若干個記錄組成,:一個正文文件由若干個記錄組成, 每個記錄是一個字符串,要求統(tǒng)計每個記每個記錄
10、是一個字符串,要求統(tǒng)計每個記 錄中空格個數(shù),以及文件中空格的總數(shù)。錄中空格個數(shù),以及文件中空格的總數(shù)。 要求輸出的格式是:每復(fù)制一行輸入字符要求輸出的格式是:每復(fù)制一行輸入字符 串后,另起一行輸出該字符串中的空格數(shù),串后,另起一行輸出該字符串中的空格數(shù), 最后輸出文件空格的總數(shù)最后輸出文件空格的總數(shù) 16 第第1步步.分析并確定輸入和輸出數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)分析并確定輸入和輸出數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié) 構(gòu),并用構(gòu),并用Jackson圖畫出圖畫出 17 第第2步步.找出輸入數(shù)據(jù)結(jié)構(gòu)與輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)找出輸入數(shù)據(jù)結(jié)構(gòu)與輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng) 關(guān)系的數(shù)據(jù)元素關(guān)系的數(shù)據(jù)元素 有對應(yīng)關(guān)系是指有直接因果關(guān)系,即在程
11、序中可以同時處理的數(shù) 據(jù)元素 對于表示“重復(fù)”的數(shù)據(jù)元素,只有其重復(fù)次數(shù)和次序都相同時 才有對應(yīng)關(guān)系 輸入/輸出數(shù)據(jù)結(jié)構(gòu)最高層次的兩個數(shù)據(jù)元素總是有對應(yīng)關(guān)系的 18 第第3步步.從描述數(shù)據(jù)結(jié)構(gòu)的從描述數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描述程圖導(dǎo)出描述程 序結(jié)構(gòu)的序結(jié)構(gòu)的Jackson圖,導(dǎo)出規(guī)則:圖,導(dǎo)出規(guī)則: 有對應(yīng)關(guān)系的數(shù)據(jù)元素,按照它們在數(shù)據(jù)結(jié)構(gòu)圖中的層次在程 序結(jié)構(gòu)圖的相應(yīng)層次上畫一個處理框(如果它們在輸入和輸出圖 中的層次不同,則程序結(jié)構(gòu)圖中處理框?qū)哟闻c較低的那個對應(yīng) 為輸入數(shù)據(jù)結(jié)構(gòu)圖中剩余的每個數(shù)據(jù)元素,在程序結(jié)構(gòu)圖的相 應(yīng)層次上畫一個處理框, 在模塊名稱上增加“分析”或“處理” 或取
12、一個具有實際含義的名稱 為輸出數(shù)據(jù)結(jié)構(gòu)圖中剩余的每個數(shù)據(jù)元素,在程序結(jié)構(gòu)圖的相 應(yīng)層次上畫上一個處理框 19 程序結(jié)構(gòu)圖導(dǎo)出結(jié)果程序結(jié)構(gòu)圖導(dǎo)出結(jié)果 20 第第4步步.列出所有操作和條件,并將它們分配列出所有操作和條件,并將它們分配 到程序結(jié)構(gòu)圖的適當位置到程序結(jié)構(gòu)圖的適當位置 首先從輸出操作開始,再回到輸入操作 加入必須的與條件有關(guān)的操作 最后把每個操作都分配到程序結(jié)構(gòu)中去 21 設(shè)變量設(shè)變量sum存放一行字符串中的空格數(shù);存放一行字符串中的空格數(shù);totalsum存放空格總數(shù);存放空格總數(shù);pointer用來指示當用來指示當 前分析的字符在字符串中的位置,可列出其所有操作,并對其編號如下:前
13、分析的字符在字符串中的位置,可列出其所有操作,并對其編號如下: 停止 打開文件 關(guān)閉文件 打印字符串 打印空格數(shù) 打印空格總數(shù) sum:=sum+1 totalsum:=totalsum+1 讀入字符串 sum:=0 totalsum:=0 pointer:=1 pointer:=pointer+1 條件列表如下:條件列表如下: I(1):文件結(jié)束:文件結(jié)束 I(2):字符串結(jié)束:字符串結(jié)束 S(3):字符是空格:字符是空格 將條件與相應(yīng)的循環(huán)條件關(guān)聯(lián),并將將條件與相應(yīng)的循環(huán)條件關(guān)聯(lián),并將113操作按次序與相應(yīng)的模塊進行關(guān)聯(lián),按從左操作按次序與相應(yīng)的模塊進行關(guān)聯(lián),按從左 至右決定先后順序,關(guān)聯(lián)
14、后的程序結(jié)構(gòu)圖至右決定先后順序,關(guān)聯(lián)后的程序結(jié)構(gòu)圖 22 第第5步步.把帶有操把帶有操 作的程序結(jié)構(gòu)作的程序結(jié)構(gòu) 圖轉(zhuǎn)換成結(jié)構(gòu)圖轉(zhuǎn)換成結(jié)構(gòu) 正文,同時加正文,同時加 入選擇及迭代入選擇及迭代 條件條件 統(tǒng)計空格統(tǒng)計空格 seq 打開文件打開文件 讀入字符串讀入字符串 totalsum := 0 程序體程序體 iter until 文件結(jié)束文件結(jié)束 處理字符串處理字符串 seq 印字符串印字符串 seq 打印字符串打印字符串 印字符串印字符串 end sum := 0 pointer := 1 分析字符串分析字符串 iter until 字符串結(jié)束字符串結(jié)束 分析字符分析字符 select 字符
15、是空格字符是空格 處理空格處理空格 seq sum := sum + 1 pointer := pointer + 1 處理空格處理空格 end 分析字符分析字符 or 字符不是空格字符不是空格 處理非空格處理非空格 seq pointer := pointer + 1 處理非空格處理非空格 end 分析字符分析字符 end 分析字符串分析字符串 end 印空格數(shù)印空格數(shù) seq 打印空格數(shù)打印空格數(shù) 印空格數(shù)印空格數(shù) end totalsum := totalsum + 1 讀入字符串讀入字符串 處理字符串處理字符串 end 程序體程序體 end 印空格總數(shù)印空格總數(shù) seq 打印空格總數(shù)打
16、印空格總數(shù) 印空格總數(shù)印空格總數(shù) end 關(guān)閉文件關(guān)閉文件 停止停止 統(tǒng)計空格統(tǒng)計空格 end 23 簡單、易學(xué)、形象直觀、可讀性好簡單、易學(xué)、形象直觀、可讀性好 便于表示層次結(jié)構(gòu)便于表示層次結(jié)構(gòu) 適用于小型數(shù)據(jù)處理系統(tǒng)適用于小型數(shù)據(jù)處理系統(tǒng) 24 JSP方法方法 小結(jié)小結(jié) 25 JSP廣泛使用十多年后,廣泛使用十多年后,Jackson把它進行了擴充,不把它進行了擴充,不 再局限于中小規(guī)模范圍的問題及順序范圍,新的開發(fā)方再局限于中小規(guī)模范圍的問題及順序范圍,新的開發(fā)方 法稱為法稱為JSD JSD覆蓋了整個系統(tǒng)的分析到實現(xiàn)覆蓋了整個系統(tǒng)的分析到實現(xiàn),是一種面向軟件開是一種面向軟件開 發(fā)全過程的系
17、統(tǒng)化開發(fā)方法。發(fā)全過程的系統(tǒng)化開發(fā)方法。 JSD的本質(zhì):先建立一個現(xiàn)實模型,然后加入功能性處的本質(zhì):先建立一個現(xiàn)實模型,然后加入功能性處 理,最后階段理,最后階段,邏輯系統(tǒng)才轉(zhuǎn)換為實際設(shè)計邏輯系統(tǒng)才轉(zhuǎn)換為實際設(shè)計 它從客觀現(xiàn)實中提取各種客觀實體,并確定各實體的活它從客觀現(xiàn)實中提取各種客觀實體,并確定各實體的活 動以及實體與各種活動之間聯(lián)系,生成反映客觀問題的動以及實體與各種活動之間聯(lián)系,生成反映客觀問題的 進程模型。再在進程模型的基礎(chǔ)上,增加系統(tǒng)功能,確進程模型。再在進程模型的基礎(chǔ)上,增加系統(tǒng)功能,確 定時序關(guān)系,最后實現(xiàn)所設(shè)計的系統(tǒng)。定時序關(guān)系,最后實現(xiàn)所設(shè)計的系統(tǒng)。 26 標識實體與行為:
18、建立現(xiàn)實的模型,列出與系統(tǒng)有關(guān)的實標識實體與行為:建立現(xiàn)實的模型,列出與系統(tǒng)有關(guān)的實 體表及活動表體表及活動表 生成實體結(jié)構(gòu)圖:分析實體表中實體之間的關(guān)系,形成實生成實體結(jié)構(gòu)圖:分析實體表中實體之間的關(guān)系,形成實 體結(jié)構(gòu)圖體結(jié)構(gòu)圖 創(chuàng)造軟件系統(tǒng)模型:根據(jù)現(xiàn)實世界,對實體與行為的組合創(chuàng)造軟件系統(tǒng)模型:根據(jù)現(xiàn)實世界,對實體與行為的組合 建立進程模型建立進程模型 擴充功能性過程:說明系統(tǒng)輸出的功能,必要時在規(guī)格說擴充功能性過程:說明系統(tǒng)輸出的功能,必要時在規(guī)格說 明中加入附加的處理明中加入附加的處理 施加時間控制:開發(fā)者考慮進程調(diào)度的某些特征,這些特施加時間控制:開發(fā)者考慮進程調(diào)度的某些特征,這些特 征可能影響系統(tǒng)功能所輸出的結(jié)果的正確性及時間關(guān)系征可能影響系統(tǒng)功能所輸出的結(jié)果的正確性及時間關(guān)系 實現(xiàn):開發(fā)者考慮運行系統(tǒng)的軟硬件方面的問題,采用變實現(xiàn):開發(fā)者考慮運行系統(tǒng)的軟硬件方面的問題,采用變 換技術(shù)、調(diào)度技術(shù)、數(shù)據(jù)庫定義技術(shù)等,以使系統(tǒng)能有效換技術(shù)、調(diào)度技術(shù)、數(shù)據(jù)庫定義技術(shù)等,以使系統(tǒng)能有效 地運行地運行 27 JSP方法方法 JSD方法簡介方法簡介 28 面向數(shù)據(jù)結(jié)構(gòu)的分析和設(shè)計方法是以數(shù)據(jù)結(jié)構(gòu)為中心,面向數(shù)據(jù)結(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育領(lǐng)域的安全管理創(chuàng)新與實踐
- 科技助力乳腺疾病早期發(fā)現(xiàn)與干預(yù)
- 2025年度個人與企業(yè)租車合作保障協(xié)議3篇
- 2025版?zhèn)€人住宅電梯公寓租賃管理合同
- 2025年度個人貸款合同解除條件合同范本3篇
- 2025年度個人住房抵押貸款延期還款合同3篇
- 2025年度個人土地租賃合同范本7篇
- 學(xué)前兒童科技美術(shù)教育的政策支持與實施策略
- 2025年新型環(huán)保櫥柜銷售服務(wù)合同范本4篇
- 珠海廣東珠海市公安局交通警察支隊金灣大隊招聘輔警2人筆試歷年參考題庫附帶答案詳解
- 天津市部分區(qū)2024-2025學(xué)年九年級(上)期末物理試卷(含答案)
- 保潔服務(wù)質(zhì)量與服務(wù)意識的培訓(xùn)
- 《景觀設(shè)計》課件
- 騰訊人力資源管理
- 2024年安徽省高校分類對口招生考試數(shù)學(xué)試卷真題
- 會所股東合作協(xié)議書范文范本
- 人教版(2024)七年級上冊英語期中復(fù)習(xí)單項選擇100題(含答案)
- 公婆贈予兒媳婦的房產(chǎn)協(xié)議書(2篇)
- 矽塵對神經(jīng)系統(tǒng)的影響研究
- 海南省汽車租賃合同
- 保險投訴處理流程培訓(xùn)
評論
0/150
提交評論