版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、復(fù)旦大學(xué)軟件工程錢樂秋課件教案2 典型方法有典型方法有Jackson方法和方法和Warnier方法方法 主要特點(diǎn):主要特點(diǎn):以信息對象及其操作為核心進(jìn)行需求分析認(rèn)為復(fù)合信息對象具有層次結(jié)構(gòu),并且可按順序、選擇、重復(fù)三種結(jié)構(gòu)分解為成員信息對象提供由層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機(jī)制,從而為軟件設(shè)計(jì)奠定良好的基礎(chǔ) JSP:Jackson結(jié)構(gòu)程序設(shè)計(jì)方法結(jié)構(gòu)程序設(shè)計(jì)方法 JSD:Jackson系統(tǒng)開發(fā)方法系統(tǒng)開發(fā)方法3 JSP方法方法 JSD方法簡介方法簡介 小結(jié)小結(jié)4 JSD方法簡介方法簡介 小結(jié)小結(jié)5 總結(jié)了總結(jié)了COBOL事務(wù)處理程序中的開發(fā)方事務(wù)處理程序中的開發(fā)方法而發(fā)展起來的,特點(diǎn):法而發(fā)展
2、起來的,特點(diǎn): 重點(diǎn)不是自頂向下逐步求精,而是在數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)上進(jìn)行構(gòu)造 根據(jù)輸入/輸出的數(shù)據(jù)結(jié)構(gòu)建立程序結(jié)構(gòu) 目標(biāo):獲得簡單清晰的設(shè)計(jì)方案目標(biāo):獲得簡單清晰的設(shè)計(jì)方案 設(shè)計(jì)原則:使程序結(jié)構(gòu)與問題結(jié)構(gòu)設(shè)計(jì)原則:使程序結(jié)構(gòu)與問題結(jié)構(gòu)(數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu))相對應(yīng)相對應(yīng)6 一般的數(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)來表示7 JSP方法采用方法采用Jackson圖來表示數(shù)據(jù)結(jié)構(gòu)和圖來表示數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)程序結(jié)構(gòu) 結(jié)構(gòu)圖是一種從左到右閱讀的樹狀層次結(jié)構(gòu)結(jié)構(gòu)圖是一種從左到右閱讀
3、的樹狀層次結(jié)構(gòu)圖圖 數(shù)據(jù)結(jié)構(gòu)圖中方框表示數(shù)據(jù),程序結(jié)構(gòu)圖中方框就表示模塊(過程或函數(shù)) 底部的葉子節(jié)點(diǎn)稱為基本元素在底部枝干以上的節(jié)點(diǎn)稱為結(jié)構(gòu)元素三種元素類型:順序元素、選擇元素、重復(fù)元素8 一個順序元素由一個或多個從左到右的元素組一個順序元素由一個或多個從左到右的元素組成成 每個組成的元素只出現(xiàn)一次每個組成的元素只出現(xiàn)一次9 選擇是選擇是“If Then Else”或或“Case”的結(jié)構(gòu),而且的結(jié)構(gòu),而且必須有兩個或多個元素必須有兩個或多個元素 使用選擇元素時根據(jù)指定的條件從這些子元素中使用選擇元素時根據(jù)指定的條件從這些子元素中選擇一個子元素選擇一個子元素 供選擇的子元素用右上角標(biāo)以小圓的矩
4、形表示供選擇的子元素用右上角標(biāo)以小圓的矩形表示示例:左圖中A、B、C是D的可選項(xiàng),而S是選擇條件 如果需要一個如果需要一個“If A=B Then X Else do nothing”那么需要加入一個空元素那么需要加入一個空元素示例:右圖 中空元素用一個標(biāo)有連字符的矩形表示10 重復(fù)元素僅由一個子元素構(gòu)成,表示重復(fù)元重復(fù)元素僅由一個子元素構(gòu)成,表示重復(fù)元素由子元素重復(fù)素由子元素重復(fù)0次或多次組成次或多次組成 子元素用右上角標(biāo)以星號的矩形表示子元素用右上角標(biāo)以星號的矩形表示 下圖表示元素下圖表示元素D由元素由元素A重復(fù)重復(fù)0次或多次組成,次或多次組成,其中其中I是重復(fù)條件是重復(fù)條件11 結(jié)構(gòu)正文
5、又稱偽碼,完全與結(jié)構(gòu)圖相對應(yīng)結(jié)構(gòu)正文又稱偽碼,完全與結(jié)構(gòu)圖相對應(yīng) 分為:順序結(jié)構(gòu)正文、選擇結(jié)構(gòu)正文、重分為:順序結(jié)構(gòu)正文、選擇結(jié)構(gòu)正文、重復(fù)結(jié)構(gòu)正文復(fù)結(jié)構(gòu)正文 順序結(jié)構(gòu)正文順序結(jié)構(gòu)正文D Seq 順序順序 A; 元素元素D是由一個元素是由一個元素A B; 跟隨一個元素跟隨一個元素B C; 跟隨一個元素跟隨一個元素C組成組成D END 元素元素D是元素是元素A、元素、元素B、元素、元素C的序列的序列12選擇結(jié)構(gòu)正文選擇結(jié)構(gòu)正文D Select cond1 選擇選擇 A 元素元素D或是由一個元素或是由一個元素A Or cond2 B 或是由一個元素或是由一個元素B Or cond3 C 或是由一個
6、元素或是由一個元素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)條件1314例:一個正文文件由若干個記錄組成,每例:一個正文文件由若干個記錄組成,每個記錄是一個字符串,要求統(tǒng)計(jì)每個記錄個記錄是一個字符串,要求統(tǒng)計(jì)每個記錄中空格個數(shù)
7、,以及文件中空格的總數(shù)。中空格個數(shù),以及文件中空格的總數(shù)。要求輸出的格式是:每復(fù)制一行輸入字符要求輸出的格式是:每復(fù)制一行輸入字符串后,另起一行輸出該字符串中的空格數(shù),串后,另起一行輸出該字符串中的空格數(shù),最后輸出文件空格的總數(shù)最后輸出文件空格的總數(shù)15 第第1步步.分析并確定輸入和輸出數(shù)據(jù)結(jié)構(gòu)的分析并確定輸入和輸出數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu),并用邏輯結(jié)構(gòu),并用Jackson圖畫出圖畫出16 第第2步步.找出輸入數(shù)據(jù)結(jié)構(gòu)與輸出數(shù)據(jù)結(jié)構(gòu)找出輸入數(shù)據(jù)結(jié)構(gòu)與輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)元素中有對應(yīng)關(guān)系的數(shù)據(jù)元素有對應(yīng)關(guān)系是指有直接因果關(guān)系,即在程序中可以同時處理的數(shù)據(jù)元素對于表示“重復(fù)”的數(shù)據(jù)元素,只有其
8、重復(fù)次數(shù)和次序都相同時才有對應(yīng)關(guān)系輸入/輸出數(shù)據(jù)結(jié)構(gòu)最高層次的兩個數(shù)據(jù)元素總是有對應(yīng)關(guān)系的17 第第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)層次上畫一個處理框, 在模塊名稱上增加“分析”或“處理”或取一個具有實(shí)際含義的名稱 為輸出數(shù)據(jù)結(jié)構(gòu)圖中剩余的每個數(shù)據(jù)元素,在程序結(jié)構(gòu)圖的相應(yīng)
9、層次上畫上一個處理框18 程序結(jié)構(gòu)圖導(dǎo)出結(jié)果程序結(jié)構(gòu)圖導(dǎo)出結(jié)果19 第第4步步.列出所有操作和條件,并將它們分列出所有操作和條件,并將它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置配到程序結(jié)構(gòu)圖的適當(dāng)位置 首先從輸出操作開始,再回到輸入操作 加入必須的與條件有關(guān)的操作 最后把每個操作都分配到程序結(jié)構(gòu)中去20設(shè)變量設(shè)變量sum存放一行字符串中的空格數(shù);存放一行字符串中的空格數(shù);totalsum存放空格總數(shù);存放空格總數(shù);pointer用用來指示當(dāng)前分析的字符在字符串中的位置,可列出其所有操作,并對其編號來指示當(dāng)前分析的字符在字符串中的位置,可列出其所有操作,并對其編號如下:如下:停止停止 打開文件打開文件 關(guān)閉
10、文件關(guān)閉文件 打印字符串打印字符串 打印空格數(shù)打印空格數(shù) 打印空格總數(shù)打印空格總數(shù) sum:=sum+1 totalsum:=totalsum+1 讀入字符串讀入字符串 sum:=013121113 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),并將 操作按次序操作按次序與相當(dāng)?shù)哪K進(jìn)行關(guān)聯(lián),按從左至右決定先后順序,關(guān)與相當(dāng)?shù)哪K進(jìn)行關(guān)聯(lián),按從左至右決定先后順序,關(guān)聯(lián)后的程序結(jié)構(gòu)圖
11、聯(lián)后的程序結(jié)構(gòu)圖 1312111321 第第5步步.把帶有把帶有操作的程序結(jié)操作的程序結(jié)構(gòu)圖轉(zhuǎn)換成結(jié)構(gòu)圖轉(zhuǎn)換成結(jié)構(gòu)正文,同時構(gòu)正文,同時加入選擇及迭加入選擇及迭代條件代條件統(tǒng)計(jì)空格統(tǒng)計(jì)空格 seq打開文件打開文件讀入字符串讀入字符串totalsum := 0程序體程序體 iter until 文件結(jié)束文件結(jié)束 處理字符串處理字符串 seq 印字符串印字符串 seq 打印字符串打印字符串 印字符串印字符串 end sum := 0 pointer := 1 分析字符串分析字符串 iter until 字符串結(jié)束字符串結(jié)束 分析字符分析字符 select 字符是空格字符是空格 處理空格處理空格 s
12、eq 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ù)打印空格總數(shù)印空格總數(shù)印空格總數(shù) end關(guān)閉
13、文件關(guān)閉文件停止停止統(tǒng)計(jì)空格統(tǒng)計(jì)空格 end22 簡單、易學(xué)、形象直觀、可讀性好簡單、易學(xué)、形象直觀、可讀性好 便于表示層次結(jié)構(gòu)便于表示層次結(jié)構(gòu) 適用于小型數(shù)據(jù)處理系統(tǒng)適用于小型數(shù)據(jù)處理系統(tǒng)23 JSP方法方法 小結(jié)小結(jié)24 JSP廣泛使用十多年后,廣泛使用十多年后,Jackson把它進(jìn)把它進(jìn)行了擴(kuò)充,不再局限于中小規(guī)模范圍的問行了擴(kuò)充,不再局限于中小規(guī)模范圍的問題及順序范圍,新的開發(fā)方法稱為題及順序范圍,新的開發(fā)方法稱為JSD JSD覆蓋了整個系統(tǒng)的分析到實(shí)現(xiàn)覆蓋了整個系統(tǒng)的分析到實(shí)現(xiàn) JSD的本質(zhì):先建立一個現(xiàn)實(shí)模型,然后的本質(zhì):先建立一個現(xiàn)實(shí)模型,然后加入功能性處理,最后階段邏輯系統(tǒng)才轉(zhuǎn)
14、加入功能性處理,最后階段邏輯系統(tǒng)才轉(zhuǎn)換為實(shí)際設(shè)計(jì)換為實(shí)際設(shè)計(jì)25標(biāo)識實(shí)體與行為:建立現(xiàn)實(shí)的模型,列出與系統(tǒng)有關(guān)的實(shí)體表及活動表標(biāo)識實(shí)體與行為:建立現(xiàn)實(shí)的模型,列出與系統(tǒng)有關(guān)的實(shí)體表及活動表生成實(shí)體結(jié)構(gòu)圖:分析實(shí)體表中實(shí)體之間的關(guān)系,形成實(shí)體結(jié)構(gòu)圖生成實(shí)體結(jié)構(gòu)圖:分析實(shí)體表中實(shí)體之間的關(guān)系,形成實(shí)體結(jié)構(gòu)圖創(chuàng)造軟件系統(tǒng)模型:根據(jù)現(xiàn)實(shí)世界,對實(shí)體與行為的組合建創(chuàng)造軟件系統(tǒng)模型:根據(jù)現(xiàn)實(shí)世界,對實(shí)體與行為的組合建立進(jìn)程模型立進(jìn)程模型擴(kuò)充功能性過程:說明系統(tǒng)輸出的功能,必要時在規(guī)格說明擴(kuò)充功能性過程:說明系統(tǒng)輸出的功能,必要時在規(guī)格說明中加入附加的處理中加入附加的處理施加時間控制:開發(fā)者考慮進(jìn)程調(diào)度的某些特征,這些特征施加時間控制:開發(fā)者考慮進(jìn)程調(diào)度的某些特征,這些特征可能影響系統(tǒng)功能所輸出的結(jié)果的正確性及時間關(guān)系可能影響系統(tǒng)功能所輸出的結(jié)果的正確性及時間關(guān)系實(shí)現(xiàn):開發(fā)者考慮運(yùn)行系統(tǒng)的軟硬件方面的問題,采用變換實(shí)現(xiàn):開發(fā)者考慮運(yùn)行系統(tǒng)的軟硬件方面的問題,采用變換技術(shù)、調(diào)度技術(shù)、數(shù)據(jù)庫定義技術(shù)等,以使系統(tǒng)能有效地運(yùn)技術(shù)、調(diào)度技術(shù)、數(shù)據(jù)庫定義技術(shù)等,以使系統(tǒng)能
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5《大學(xué)之道》說課稿 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修上冊
- 福建省南平市吳屯中學(xué)2021-2022學(xué)年高一化學(xué)月考試卷含解析
- 個人續(xù)簽合同:2024年合作合同書意向確認(rèn)版B版
- 2024棄土場租賃合同環(huán)保驗(yàn)收標(biāo)準(zhǔn)范本3篇
- 2023-2024學(xué)年人教版高中信息技術(shù)必修一第二章第三節(jié)《程序設(shè)計(jì)基本知識》說課稿
- 科學(xué)復(fù)習(xí)贏在期末
- 鏡頭下的旅行故事
- 培訓(xùn)服務(wù)合同(2篇)
- 《自救器的使用與創(chuàng)傷急救》培訓(xùn)課件2025
- 2024淘寶代運(yùn)營服務(wù)合作協(xié)議及年度店鋪運(yùn)營策略優(yōu)化協(xié)議3篇
- 第十七屆山東省職業(yè)院校技能大賽市場營銷賽項(xiàng)賽卷第一套
- 塔吊司機(jī)和指揮培訓(xùn)
- 紅色簡約2025蛇年介紹
- 專題3-6 雙曲線的離心率與常用二級結(jié)論【12類題型】(解析版)-A4
- 光伏電站運(yùn)維課件
- 糧庫工程合同范本
- 江蘇省蘇州市2023-2024學(xué)年高一上學(xué)期期末學(xué)業(yè)質(zhì)量陽光指標(biāo)調(diào)研試題+物理 含解析
- 農(nóng)業(yè)合作社線上線下營銷方案
- 研發(fā)實(shí)驗(yàn)室安全培訓(xùn)
- 電信公司網(wǎng)絡(luò)安全管理制度
- 安全生產(chǎn)標(biāo)準(zhǔn)化知識培訓(xùn)考核試卷
評論
0/150
提交評論