版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程2/110 一種面向數(shù)據(jù)流的傳統(tǒng)軟件開發(fā)方法一種面向數(shù)據(jù)流的傳統(tǒng)軟件開發(fā)方法 以數(shù)據(jù)流為中心構(gòu)建軟件的分析模型以數(shù)據(jù)流為中心構(gòu)建軟件的分析模型和設(shè)計(jì)模型和設(shè)計(jì)模型 分為:分為: 結(jié)構(gòu)化分析(Structured Analysis 簡(jiǎn)稱SA) 結(jié)構(gòu)化設(shè)計(jì)(Structuresd Design 簡(jiǎn)稱SD) 結(jié)構(gòu)化程序設(shè)計(jì)(Structured Programmin 簡(jiǎn)稱SP)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程3/110 結(jié)構(gòu)化分析方法概述結(jié)構(gòu)化分析方法概述 數(shù)據(jù)流圖數(shù)據(jù)流圖 分
2、層數(shù)據(jù)流圖的審查分層數(shù)據(jù)流圖的審查 數(shù)據(jù)字典數(shù)據(jù)字典 描述基本加工的小說明描述基本加工的小說明 結(jié)構(gòu)化設(shè)計(jì)概述結(jié)構(gòu)化設(shè)計(jì)概述 數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 初始結(jié)構(gòu)圖的改進(jìn)初始結(jié)構(gòu)圖的改進(jìn) 小結(jié)小結(jié)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程4/110 數(shù)據(jù)流圖數(shù)據(jù)流圖 分層數(shù)據(jù)流圖的審查分層數(shù)據(jù)流圖的審查 數(shù)據(jù)字典數(shù)據(jù)字典 描述基本加工的小說明描述基本加工的小說明 結(jié)構(gòu)化設(shè)計(jì)概述結(jié)構(gòu)化設(shè)計(jì)概述 數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 初始結(jié)構(gòu)圖的改進(jìn)初始結(jié)構(gòu)圖的改進(jìn) 小結(jié)小結(jié)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算
3、機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程5/110 發(fā)展歷史發(fā)展歷史 提出:20世紀(jì)60年代末到70年代初 成熟:20世紀(jì)70年代末到80年代中期 主要思想:主要思想:抽象抽象與自頂向下的逐層與自頂向下的逐層分解分解(控制復(fù)雜性的兩個(gè)基本手段控制復(fù)雜性的兩個(gè)基本手段) 抽象:在每個(gè)抽象層次上忽略問題的內(nèi)部復(fù)雜性,只關(guān)注整個(gè)問題與外界的聯(lián)系 分解:將問題不斷分解為較小的問題,直到每個(gè)最底層的問題都足夠簡(jiǎn)單為止復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程6/110 抽象:從作為整體的軟件系統(tǒng)開始抽象:從作為整體的軟件系統(tǒng)開始(第一層第一層),每一每一抽象層次上只關(guān)
4、注于系統(tǒng)的輸入輸出抽象層次上只關(guān)注于系統(tǒng)的輸入輸出 分解:將系統(tǒng)不斷分解為子系統(tǒng)、模塊分解:將系統(tǒng)不斷分解為子系統(tǒng)、模塊 隨著分解層次的增加,抽象的級(jí)別越來越低,也隨著分解層次的增加,抽象的級(jí)別越來越低,也越接近問題的解越接近問題的解(算法和數(shù)據(jù)結(jié)構(gòu)算法和數(shù)據(jù)結(jié)構(gòu))2.42.32.22.121431.31.21.1X復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程7/110 理解當(dāng)前的現(xiàn)實(shí)環(huán)境,獲得當(dāng)前系統(tǒng)的具理解當(dāng)前的現(xiàn)實(shí)環(huán)境,獲得當(dāng)前系統(tǒng)的具體模型體模型(物理模型物理模型) 從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的邏輯模型邏輯模
5、型 分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,建立目標(biāo)系統(tǒng)的邏輯模型建立目標(biāo)系統(tǒng)的邏輯模型 為目標(biāo)系統(tǒng)的邏輯模型作補(bǔ)充為目標(biāo)系統(tǒng)的邏輯模型作補(bǔ)充復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程8/110 數(shù)據(jù)字典是模型的核心,它數(shù)據(jù)字典是模型的核心,它包含了軟件使用和產(chǎn)生所有包含了軟件使用和產(chǎn)生所有數(shù)據(jù)的描述數(shù)據(jù)的描述 數(shù)據(jù)流圖:用于功能建模,數(shù)據(jù)流圖:用于功能建模,描述系統(tǒng)的輸入數(shù)據(jù)流如何描述系統(tǒng)的輸入數(shù)據(jù)流如何經(jīng)過一系列的加工變換逐步經(jīng)過一系列的加工變換逐步變換成系統(tǒng)的輸出數(shù)據(jù)流變換成系統(tǒng)的輸出數(shù)據(jù)流 實(shí)體實(shí)體關(guān)系圖:用于數(shù)據(jù)建關(guān)
6、系圖:用于數(shù)據(jù)建模,描述數(shù)據(jù)字典中數(shù)據(jù)之模,描述數(shù)據(jù)字典中數(shù)據(jù)之間的關(guān)系間的關(guān)系實(shí)體實(shí)體-關(guān)系圖關(guān)系圖 數(shù)據(jù)流圖數(shù)據(jù)流圖狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)數(shù)據(jù)字典字典 狀態(tài)轉(zhuǎn)換圖:用于行為建模,描述系統(tǒng)接收哪些外狀態(tài)轉(zhuǎn)換圖:用于行為建模,描述系統(tǒng)接收哪些外部事件,以及在外部事件的作用下的狀態(tài)遷移情況部事件,以及在外部事件的作用下的狀態(tài)遷移情況復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程9/110 結(jié)構(gòu)化分析方法概述結(jié)構(gòu)化分析方法概述 分層數(shù)據(jù)流圖的審查分層數(shù)據(jù)流圖的審查 數(shù)據(jù)字典數(shù)據(jù)字典 描述基本加工的小說明描述基本加工的小說明 結(jié)構(gòu)化設(shè)計(jì)概述結(jié)構(gòu)化設(shè)計(jì)概述 數(shù)據(jù)流圖到
7、軟件體系結(jié)構(gòu)的映射數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 初始結(jié)構(gòu)圖的改進(jìn)初始結(jié)構(gòu)圖的改進(jìn) 小結(jié)小結(jié)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程10/110 Data Flow Diagram(簡(jiǎn)稱簡(jiǎn)稱DFD):描述輸入:描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換數(shù)據(jù)流到輸出數(shù)據(jù)流的變換(即加工即加工)過程,過程,用于對(duì)系統(tǒng)的功能建模,基本元素包括:用于對(duì)系統(tǒng)的功能建模,基本元素包括:數(shù)據(jù)流數(shù)據(jù)流(data flow):由一組固定成分的數(shù)據(jù)組成,代表:由一組固定成分的數(shù)據(jù)組成,代表數(shù)據(jù)的流動(dòng)方向數(shù)據(jù)的流動(dòng)方向加工加工(process):描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換,:描述了
8、輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換,即將輸入數(shù)據(jù)流加工成輸出數(shù)據(jù)流即將輸入數(shù)據(jù)流加工成輸出數(shù)據(jù)流文件文件(file):使用文件、數(shù)據(jù)庫(kù)等保存某些數(shù)據(jù)結(jié)果供以:使用文件、數(shù)據(jù)庫(kù)等保存某些數(shù)據(jù)結(jié)果供以后使用后使用源或宿源或宿(source or sink):由一組固定成分的數(shù)據(jù)組成,:由一組固定成分的數(shù)據(jù)組成,代表數(shù)據(jù)的流動(dòng)方向代表數(shù)據(jù)的流動(dòng)方向復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程11/110 存在于軟件系統(tǒng)之外的人員或組織,表示軟件存在于軟件系統(tǒng)之外的人員或組織,表示軟件系統(tǒng)輸入數(shù)據(jù)的來源和輸出數(shù)據(jù)的去向,因此系統(tǒng)輸入數(shù)據(jù)的來源和輸出數(shù)據(jù)的去向,因此也稱為源點(diǎn)
9、和終點(diǎn)也稱為源點(diǎn)和終點(diǎn) 例如,對(duì)一個(gè)考務(wù)處理系統(tǒng)而言 考生向系統(tǒng)提供報(bào)名單考生向系統(tǒng)提供報(bào)名單(輸入數(shù)據(jù)流輸入數(shù)據(jù)流),所以考生是考試系統(tǒng),所以考生是考試系統(tǒng)(軟件軟件)的一個(gè)源的一個(gè)源 考務(wù)處理系統(tǒng)要將考試成績(jī)的統(tǒng)計(jì)分析表考務(wù)處理系統(tǒng)要將考試成績(jī)的統(tǒng)計(jì)分析表(輸出數(shù)據(jù)流輸出數(shù)據(jù)流)傳遞傳遞給考試中心,所以考試中心是該系統(tǒng)的一個(gè)宿給考試中心,所以考試中心是該系統(tǒng)的一個(gè)宿 源或宿用相同的圖形符號(hào)表示源或宿用相同的圖形符號(hào)表示 當(dāng)數(shù)據(jù)流從該符號(hào)流出時(shí)表示是源當(dāng)數(shù)據(jù)流從該符號(hào)流出時(shí)表示是源 當(dāng)數(shù)據(jù)流流向該符號(hào)時(shí)表示是宿當(dāng)數(shù)據(jù)流流向該符號(hào)時(shí)表示是宿 當(dāng)兩者皆有時(shí)表示既是源又是宿當(dāng)兩者皆有時(shí)表示既是源又
10、是宿 復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程12/110 加工:描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流加工:描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換的變換 每個(gè)加工用一個(gè)定義明確的名字標(biāo)識(shí) 至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出流 可以有多個(gè)輸入數(shù)據(jù)流和多個(gè)輸出數(shù)據(jù)流 文件:保存數(shù)據(jù)信息的外部單元文件:保存數(shù)據(jù)信息的外部單元 每個(gè)文件用一個(gè)定義明確的名字標(biāo)識(shí) 由加工進(jìn)行讀寫 DFD中稱為文件,但在具體實(shí)現(xiàn)時(shí)可以用文件系統(tǒng)實(shí)現(xiàn)也可以用數(shù)據(jù)庫(kù)系統(tǒng)等實(shí)現(xiàn)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程13/110 每個(gè)數(shù)據(jù)流用由一組固定成分的數(shù)據(jù)組成每個(gè)數(shù)據(jù)
11、流用由一組固定成分的數(shù)據(jù)組成并擁有一個(gè)定義明確的名字標(biāo)識(shí)并擁有一個(gè)定義明確的名字標(biāo)識(shí) 如:運(yùn)動(dòng)會(huì)管理系統(tǒng)中,報(bào)名單(數(shù)據(jù)流)由隊(duì)名、姓名、性別、參賽項(xiàng)目等數(shù)據(jù)組成 數(shù)據(jù)流的流向數(shù)據(jù)流的流向 從一個(gè)加工流向另一個(gè)加工 從加工流向文件(寫文件) 從文件流向加工(讀文件) 從源流向加工 從加工流向宿復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程14/110圖書庫(kù)存入庫(kù)單 圖書代理商書庫(kù)管理收費(fèi)制作財(cái)務(wù)報(bào)表財(cái)務(wù)報(bào)表經(jīng)理帳務(wù)數(shù)據(jù)庫(kù)制作發(fā)書單圖書訂購(gòu)核準(zhǔn)的訂購(gòu)單發(fā)書單訂購(gòu)單顧客顧客收費(fèi)數(shù)據(jù)帳單復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程15
12、/110 描述一個(gè)加工的多個(gè)數(shù)據(jù)流之間的關(guān)系描述一個(gè)加工的多個(gè)數(shù)據(jù)流之間的關(guān)系 星號(hào)():表示數(shù)據(jù)流之間存在“與”關(guān)系 所有輸入數(shù)據(jù)流同時(shí)存在時(shí),才能進(jìn)行加工處理所有輸入數(shù)據(jù)流同時(shí)存在時(shí),才能進(jìn)行加工處理 或加工處理的結(jié)果是同時(shí)產(chǎn)生所有輸出數(shù)據(jù)流或加工處理的結(jié)果是同時(shí)產(chǎn)生所有輸出數(shù)據(jù)流 加號(hào)():表示數(shù)據(jù)流之間存在“或”關(guān)系 至少存在一個(gè)輸入數(shù)據(jù)流時(shí)才能進(jìn)行加工處理至少存在一個(gè)輸入數(shù)據(jù)流時(shí)才能進(jìn)行加工處理 或加工處理的結(jié)果是至少產(chǎn)生一個(gè)輸出數(shù)據(jù)流或加工處理的結(jié)果是至少產(chǎn)生一個(gè)輸出數(shù)據(jù)流 異或( ):表示數(shù)據(jù)流之間存在“異或”(互斥)關(guān)系 必須存在且僅存在一個(gè)輸入數(shù)據(jù)流時(shí),才能進(jìn)行加工處理必須存
13、在且僅存在一個(gè)輸入數(shù)據(jù)流時(shí),才能進(jìn)行加工處理 或加工處理的結(jié)果是產(chǎn)生且僅產(chǎn)生一個(gè)輸出數(shù)據(jù)流或加工處理的結(jié)果是產(chǎn)生且僅產(chǎn)生一個(gè)輸出數(shù)據(jù)流復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程16/110 George Miller在著名的論文在著名的論文“神奇的數(shù)神奇的數(shù)字字7加減加減2:我們處理信息的能力的某種:我們處理信息的能力的某種限制限制”中指出:人們?cè)谝欢螘r(shí)間內(nèi)的短期中指出:人們?cè)谝欢螘r(shí)間內(nèi)的短期記憶似乎限制在記憶似乎限制在59件事情之內(nèi)件事情之內(nèi) 根據(jù)自頂向下逐層分解的思想將數(shù)據(jù)流圖根據(jù)自頂向下逐層分解的思想將數(shù)據(jù)流圖畫成層次結(jié)構(gòu)畫成層次結(jié)構(gòu) 每個(gè)層次畫在獨(dú)立
14、的數(shù)據(jù)流圖中,加工個(gè)每個(gè)層次畫在獨(dú)立的數(shù)據(jù)流圖中,加工個(gè)數(shù)可數(shù)可大致大致控制在控制在“7加減加減2”的范圍中的范圍中復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程17/110 頂層圖只有代表整個(gè)軟件系統(tǒng)的頂層圖只有代表整個(gè)軟件系統(tǒng)的1個(gè)加工,個(gè)加工,描述了軟件系統(tǒng)與外界描述了軟件系統(tǒng)與外界(源或宿源或宿)之間的數(shù)之間的數(shù)據(jù)流據(jù)流 頂層圖中的加工經(jīng)分解后的圖稱為頂層圖中的加工經(jīng)分解后的圖稱為0層圖層圖(只有只有1張張) 中間層圖中至少有一個(gè)加工中間層圖中至少有一個(gè)加工(也可以有多也可以有多個(gè)個(gè))在下層圖中分解成一張子圖在下層圖中分解成一張子圖 處于最底層的圖稱為底
15、層圖,其中所有的處于最底層的圖稱為底層圖,其中所有的加工不再分解成新的子圖加工不再分解成新的子圖復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程18/110 頂層圖只有一個(gè)代表整個(gè)軟件系統(tǒng)的加工,頂層圖只有一個(gè)代表整個(gè)軟件系統(tǒng)的加工,該加工不必編號(hào)。該加工不必編號(hào)。 0層圖中的加工編號(hào)分別為層圖中的加工編號(hào)分別為1,2,3, 子圖號(hào):若父圖中的加工號(hào)子圖號(hào):若父圖中的加工號(hào)x分解成某一分解成某一子圖,則該子圖號(hào)記為子圖,則該子圖號(hào)記為“圖圖x” 子圖中加工的編號(hào):若父圖中的加工號(hào)為子圖中加工的編號(hào):若父圖中的加工號(hào)為x的加工分解成某一子圖,則該子圖中的的加工分解成
16、某一子圖,則該子圖中的加工編號(hào)分別為加工編號(hào)分別為x.1、x.2、x.3復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程19/110 簡(jiǎn)化的資格和水平考試的考務(wù)處理系統(tǒng)簡(jiǎn)化的資格和水平考試的考務(wù)處理系統(tǒng) 分成多個(gè)級(jí)別,如初級(jí)程序員、程序員、分成多個(gè)級(jí)別,如初級(jí)程序員、程序員、高級(jí)程序員、系統(tǒng)分析員等,凡滿足一定高級(jí)程序員、系統(tǒng)分析員等,凡滿足一定條件的考生都可參加某一級(jí)別的考試條件的考生都可參加某一級(jí)別的考試 考試的合格標(biāo)準(zhǔn)將根據(jù)每年的考試成績(jī)由考試的合格標(biāo)準(zhǔn)將根據(jù)每年的考試成績(jī)由考試中心確定考試中心確定 考試的閱卷由閱卷站進(jìn)行,因此,閱卷工考試的閱卷由閱卷站進(jìn)行
17、,因此,閱卷工作不包含在軟件系統(tǒng)中作不包含在軟件系統(tǒng)中復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程20/110 1對(duì)考生送來的報(bào)名單進(jìn)行檢查對(duì)考生送來的報(bào)名單進(jìn)行檢查 2對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站給考生,并將匯總后的考生名單送給閱卷站 3對(duì)閱卷站送來的成績(jī)清單進(jìn)行檢查,并根據(jù)對(duì)閱卷站送來的成績(jī)清單進(jìn)行檢查,并根據(jù)考試中心制訂的合格標(biāo)準(zhǔn)審定合格者考試中心制訂的合格標(biāo)準(zhǔn)審定合格者 4制作考生通知單送給考生制作考生通知單送給考生 5進(jìn)行成績(jī)分類統(tǒng)計(jì)進(jìn)行成績(jī)分類統(tǒng)計(jì)(按地區(qū)、年齡、
18、文化程按地區(qū)、年齡、文化程度、職業(yè)、考試級(jí)別等分類度、職業(yè)、考試級(jí)別等分類)和試題難度分析,和試題難度分析,產(chǎn)生統(tǒng)計(jì)分析表產(chǎn)生統(tǒng)計(jì)分析表復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程21/110 報(bào)名單地區(qū)序號(hào)姓名文化程度職業(yè)報(bào)名單地區(qū)序號(hào)姓名文化程度職業(yè)考試級(jí)別通信地址考試級(jí)別通信地址 正式報(bào)名單準(zhǔn)考證號(hào)報(bào)名單正式報(bào)名單準(zhǔn)考證號(hào)報(bào)名單 準(zhǔn)考證地區(qū)序號(hào)姓名準(zhǔn)考證號(hào)考試準(zhǔn)考證地區(qū)序號(hào)姓名準(zhǔn)考證號(hào)考試級(jí)別考場(chǎng)級(jí)別考場(chǎng) 考生名單準(zhǔn)考證號(hào)考試級(jí)別考生名單準(zhǔn)考證號(hào)考試級(jí)別其中其中w表示表示w重復(fù)多次重復(fù)多次 考生名冊(cè)正式報(bào)名單考生名冊(cè)正式報(bào)名單 統(tǒng)計(jì)分析表分類統(tǒng)計(jì)表難度分
19、析表統(tǒng)計(jì)分析表分類統(tǒng)計(jì)表難度分析表 考生通知單準(zhǔn)考證號(hào)姓名通信地址考考生通知單準(zhǔn)考證號(hào)姓名通信地址考試級(jí)別考試成績(jī)合格標(biāo)志試級(jí)別考試成績(jī)合格標(biāo)志復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程22/110 確定源或宿:考生、閱卷站和考試中心確定源或宿:考生、閱卷站和考試中心它們都既是源又是宿 頂層圖唯一的加工:頂層圖唯一的加工:軟件系統(tǒng)軟件系統(tǒng)(考務(wù)處理系統(tǒng)考務(wù)處理系統(tǒng)) 確定數(shù)據(jù)流:系統(tǒng)的輸入確定數(shù)據(jù)流:系統(tǒng)的輸入/輸出信息輸出信息輸入數(shù)據(jù)流:報(bào)名單(來自考生)、成績(jī)清單(來自閱卷站)、合格標(biāo)準(zhǔn)(來自考試中心)輸出數(shù)據(jù)流:準(zhǔn)考證(送往考生)、考生名單(送往閱卷站
20、)、考生通知書(送往考生)、統(tǒng)計(jì)分析表(送往考試中心)額外的輸出流(考慮系統(tǒng)的健壯性):不合格報(bào)名單(返回給考生),錯(cuò)誤成績(jī)清單(返回給閱卷站) 頂層圖通常沒有文件頂層圖通常沒有文件復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程23/110考務(wù)處理系統(tǒng)考試中心考生不合格報(bào)名單閱卷站錯(cuò)誤成績(jī)清單成績(jī)清單考生名單合格標(biāo)準(zhǔn)報(bào)名單準(zhǔn)考證考生通知單統(tǒng)計(jì)分析表復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程24/110 以下確定加工、數(shù)據(jù)流、文件、源或宿的以下確定加工、數(shù)據(jù)流、文件、源或宿的一般方法適用于一般方法適用于0層圖及其各層子圖層圖及其
21、各層子圖 確定加工:將父圖中某加工分解而成的子確定加工:將父圖中某加工分解而成的子加工加工 根據(jù)功能分解來確定加工:將一個(gè)復(fù)雜的功能分解成若干個(gè)較小的功能,較多應(yīng)用于高層DFD中的分解 根據(jù)業(yè)務(wù)處理流程確定加工:分析父圖中待分解加工的業(yè)務(wù)處理流程,業(yè)務(wù)流程中的每一步都可能是一個(gè)子加工 特別要注意在業(yè)務(wù)流程中數(shù)據(jù)流發(fā)生變化或數(shù)據(jù)流的值發(fā)生變化的地方,應(yīng)該存在一個(gè)加工,例如:編制準(zhǔn)考證號(hào)正式報(bào)名單合格報(bào)名單復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程25/110 確定數(shù)據(jù)流確定數(shù)據(jù)流 在父圖中某加工分解而成的子圖中,父圖中相應(yīng)加工的輸入/輸出數(shù)據(jù)流都是且僅是子圖邊
22、界上的輸入/輸出數(shù)據(jù)流 分解后的子加工之間應(yīng)增添相應(yīng)的新數(shù)據(jù)流表示加工過程中的中間數(shù)據(jù) 如果某些中間數(shù)據(jù)需要保存以備后用,那么可以成為流向文件的數(shù)據(jù)流 同一個(gè)源或加工可以有多個(gè)數(shù)據(jù)流流向一個(gè)加工,如果它們不是一起到達(dá)和一起加工的,那么可以將它們分成若干個(gè)數(shù)據(jù)流,例如:讀取銀行卡信息客戶銀行卡數(shù)據(jù)密碼復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程26/110 確定文件確定文件 如果父圖中該加工存在讀寫文件的數(shù)據(jù)流,則相應(yīng)的文件和數(shù)據(jù)流都應(yīng)畫在子圖中 在分解子圖中,如果需要保存某些中間數(shù)據(jù)以備后用,則可以將這些數(shù)據(jù)組成一個(gè)新的文件 新文件(首次出現(xiàn)的文件)至少應(yīng)有一
23、個(gè)加工為其寫入記錄,同時(shí)至少存在另一個(gè)加工來讀該文件的記錄 注意:從父圖中繼承下來的文件在子圖中可能只對(duì)其進(jìn)行讀,或只進(jìn)行寫復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程27/110 確定源和宿確定源和宿 0層圖和其它子圖中通常不必畫出源和宿 有時(shí)為了提高可讀性,可以將頂層圖中的源和宿畫在0層圖中 最終得到考務(wù)處理系統(tǒng)最終得到考務(wù)處理系統(tǒng)0層圖層圖 根據(jù)功能分解方法識(shí)別出兩個(gè)加工:考試報(bào)名、統(tǒng)計(jì)成績(jī) 數(shù)據(jù)流 繼承頂層圖中的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流繼承頂層圖中的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流 定義二個(gè)加工之間的數(shù)據(jù)流:由于這二個(gè)加工分別在考試定義二個(gè)加工之間的數(shù)據(jù)流:由于這
24、二個(gè)加工分別在考試前后進(jìn)行,因此登記報(bào)名單所產(chǎn)生的結(jié)果前后進(jìn)行,因此登記報(bào)名單所產(chǎn)生的結(jié)果“考生名冊(cè)考生名冊(cè)”應(yīng)應(yīng)作為文件保存以便考試后由統(tǒng)計(jì)成績(jī)加工引用作為文件保存以便考試后由統(tǒng)計(jì)成績(jī)加工引用復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程28/110考生名冊(cè)1考試報(bào)名報(bào)名單考生名單不合格報(bào)名單準(zhǔn)考證2統(tǒng)計(jì)成績(jī)統(tǒng)計(jì)分析表合格標(biāo)準(zhǔn)考生通知單錯(cuò)誤成績(jī)清單成績(jī)清單復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程29/110 復(fù)雜的加工可以繼續(xù)分解成復(fù)雜的加工可以繼續(xù)分解成1張張DFD子圖子圖 分解方法分解方法 將該加工看作一個(gè)小系統(tǒng),該加
25、工的輸入/輸出數(shù)據(jù)流就是這個(gè)假設(shè)的小系統(tǒng)的輸入/輸出數(shù)據(jù)流 然后采用畫0層圖的方法,畫出該加工的子圖 以以0層圖中加工層圖中加工1(考試報(bào)名考試報(bào)名)為例為例 根據(jù)業(yè)務(wù)處理流程來確定由加工1的分解 與加工1相關(guān)的業(yè)務(wù)流程:首先檢查考生送來的報(bào)名單,然后編準(zhǔn)考證號(hào),并產(chǎn)生準(zhǔn)考證,最后產(chǎn)生考生名單和考生名冊(cè)(文件)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程30/110 3個(gè)子加工:檢查報(bào)名單、編準(zhǔn)考證號(hào)、登記考個(gè)子加工:檢查報(bào)名單、編準(zhǔn)考證號(hào)、登記考生生 “合格報(bào)名單合格報(bào)名單”和和“正式報(bào)名單正式報(bào)名單”是新增加的是新增加的數(shù)據(jù)流,其它數(shù)據(jù)流都是加工數(shù)據(jù)流,其
26、它數(shù)據(jù)流都是加工1原有的原有的 在加工在加工1的分解中沒有新的文件產(chǎn)生的分解中沒有新的文件產(chǎn)生1.3登記考生考生名單1.2編準(zhǔn)考證號(hào)準(zhǔn)考證 正式報(bào)名單1.1檢查報(bào)名單合格報(bào)名單報(bào)名單不合格報(bào)名單考生名冊(cè)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程31/1102.5分析試題難度難度分析表2.4分類統(tǒng)計(jì)成績(jī)分類統(tǒng)計(jì)表考生名冊(cè)2.3制作通知單考生通知單2.2審定合格者正式成績(jī)清單合格標(biāo)準(zhǔn)試題得分清單2.1檢查成績(jī)清單成績(jī)清單正確成績(jī)清單錯(cuò)誤成績(jī)清單復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程32/110 1畫系統(tǒng)的輸入和輸出畫系統(tǒng)的
27、輸入和輸出 2畫系統(tǒng)內(nèi)部畫系統(tǒng)內(nèi)部 3畫加工內(nèi)部畫加工內(nèi)部 4重復(fù)第重復(fù)第3步,直至每個(gè)尚未分解的加步,直至每個(gè)尚未分解的加工都足夠簡(jiǎn)單工都足夠簡(jiǎn)單(即不必再分解即不必再分解)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程33/110 結(jié)構(gòu)化分析方法概述結(jié)構(gòu)化分析方法概述 數(shù)據(jù)流圖數(shù)據(jù)流圖 數(shù)據(jù)字典數(shù)據(jù)字典 描述基本加工的小說明描述基本加工的小說明 結(jié)構(gòu)化設(shè)計(jì)概述結(jié)構(gòu)化設(shè)計(jì)概述 數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 初始結(jié)構(gòu)圖的改進(jìn)初始結(jié)構(gòu)圖的改進(jìn) 小結(jié)小結(jié)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程34/1
28、10 檢查圖中是否存在錯(cuò)誤或不合理檢查圖中是否存在錯(cuò)誤或不合理(不理想不理想)的部分的部分 一致性:分層DFD中不存在矛盾和沖突 完整性:分層DFD本身的完整性,即是否有遺漏的數(shù)據(jù)流、加工等元素 本節(jié)將從分層本節(jié)將從分層DFD的一致性和完整性、構(gòu)的一致性和完整性、構(gòu)造分層造分層DFD時(shí)需注意的問題以及分解程度時(shí)需注意的問題以及分解程度等幾個(gè)方面來說明如何審查分層等幾個(gè)方面來說明如何審查分層DFD的合的合理性理性復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程35/110 父圖與子圖平衡父圖與子圖平衡任何一張DFD子圖邊界上的輸入/輸出數(shù)據(jù)流必須與其父圖中對(duì)應(yīng)的加工
29、的輸入/輸出數(shù)據(jù)流保持一致 數(shù)據(jù)守恒數(shù)據(jù)守恒一個(gè)加工所有輸出數(shù)據(jù)流中的數(shù)據(jù),必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者能通過該加工的處理而產(chǎn)生多余的數(shù)據(jù)流:加工未使用其輸入數(shù)據(jù)流中的某些數(shù)據(jù)項(xiàng) 局部文件局部文件 一個(gè)加工的輸出數(shù)據(jù)流不能與該加工的輸一個(gè)加工的輸出數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名入數(shù)據(jù)流同名復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程36/110 加工加工2的輸入數(shù)據(jù)流有的輸入數(shù)據(jù)流有M和和N,輸出數(shù)據(jù),輸出數(shù)據(jù)流是流是T 而子圖而子圖(右圖右圖)邊界上的輸入數(shù)據(jù)流是邊界上的輸入數(shù)據(jù)流是N,輸出數(shù)據(jù)流是輸出數(shù)據(jù)流是S和和T123ABCMNT2.
30、12.22.3NPSTQ復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程37/110 注意:如果父圖某加工的一個(gè)數(shù)據(jù)流,對(duì)應(yīng)于子圖中幾注意:如果父圖某加工的一個(gè)數(shù)據(jù)流,對(duì)應(yīng)于子圖中幾個(gè)數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項(xiàng)全體正好個(gè)數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項(xiàng)全體正好等于父圖中的這個(gè)數(shù)據(jù)流,那么它們?nèi)运闶瞧胶獾牡扔诟笀D中的這個(gè)數(shù)據(jù)流,那么它們?nèi)运闶瞧胶獾膃2.52.42.32.22.1b2b1acdb21acde(a) 父圖(b) 子圖a:考生通知單;b:統(tǒng)計(jì)分析表;b1:分類統(tǒng)計(jì)表;b2:難度分析表;c:錯(cuò)誤成績(jī)清單;d成績(jī)清單;e合格標(biāo)準(zhǔn)。復(fù)旦大學(xué)計(jì)
31、算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程38/110由于由于“正式成績(jī)清單正式成績(jī)清單”中缺少中缺少“考生通知單考生通知單”中中的姓名、通信地址等數(shù)據(jù),這些數(shù)據(jù)也無法由加的姓名、通信地址等數(shù)據(jù),這些數(shù)據(jù)也無法由加工工2.3自己產(chǎn)生,因此,加工自己產(chǎn)生,因此,加工2.3不滿足數(shù)據(jù)守恒不滿足數(shù)據(jù)守恒的條件的條件考生名冊(cè)2.5分析試題難度難度分析表2.4分類統(tǒng)計(jì)成績(jī)分類統(tǒng)計(jì)表2.3制作通知單考生通知單2.2審定合格者正式成績(jī)清單合格標(biāo)準(zhǔn)試題得分清單2.1檢查成績(jī)清單成績(jī)清單正確成績(jī)清單錯(cuò)誤成績(jī)清單由此可見:由此可見:1.1.數(shù)據(jù)流的組成對(duì)數(shù)據(jù)流的組成對(duì)DFDDFD是有影響
32、的是有影響的2.2.構(gòu)建構(gòu)建DFDDFD與建立數(shù)據(jù)字典應(yīng)交替進(jìn)行,與建立數(shù)據(jù)字典應(yīng)交替進(jìn)行,以便于對(duì)分層以便于對(duì)分層DFDDFD的校驗(yàn)的校驗(yàn)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程39/110 考慮分層數(shù)據(jù)流中一個(gè)文件應(yīng)畫在哪些考慮分層數(shù)據(jù)流中一個(gè)文件應(yīng)畫在哪些DFD中,中,而不該畫在哪些而不該畫在哪些DFD中中 任何一個(gè)文件都應(yīng)同時(shí)包含讀和寫該文件的數(shù)據(jù)流,除非該文件是當(dāng)前系統(tǒng)與另一個(gè)軟件系統(tǒng)所共享(應(yīng)在需求說明中指明) 在一張DFD中當(dāng)一個(gè)文件作為若干個(gè)加工之間的交界面(一個(gè)寫另一個(gè)讀)時(shí)該文件應(yīng)畫出 在一張DFD中當(dāng)一個(gè)文件僅與一個(gè)加工進(jìn)行讀寫操作,
33、并且在該DFD的父(祖先)圖中未出現(xiàn)過該文件則該文件是相應(yīng)加工的內(nèi)部文件,在當(dāng)前DFD中不應(yīng)畫出 一個(gè)文件一旦在某張DFD中畫出,那么在它的子孫圖中應(yīng)根據(jù)父圖與子圖平衡的原則畫出該文件 在子孫圖中,這個(gè)文件可能只有讀或?qū)懳募械囊环N數(shù)據(jù)流在子孫圖中,這個(gè)文件可能只有讀或?qū)懳募械囊环N數(shù)據(jù)流復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程40/110“試題得分清單試題得分清單”文件是加工文件是加工2的局部文件,根據(jù)抽象原則的局部文件,根據(jù)抽象原則不應(yīng)該將這類表示加工細(xì)節(jié)的局部文件畫在其父圖不應(yīng)該將這類表示加工細(xì)節(jié)的局部文件畫在其父圖(如圖如圖c)中,正確的畫法是圖中
34、,正確的畫法是圖a和和b21(a) 父圖考生名冊(cè)(b) 子圖2.52.42.32.22.1試題得分清單考生名冊(cè)(c) 含局部文件的父圖21試題得分清單考生名冊(cè)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程41/110 同一個(gè)加工的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流即同一個(gè)加工的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流即使組成成份相同,仍應(yīng)對(duì)它們?nèi)〔煌拿菇M成成份相同,仍應(yīng)對(duì)它們?nèi)〔煌拿?,以表示它們是不同?shù)據(jù)流字,以表示它們是不同數(shù)據(jù)流 例如,“報(bào)名單”和“合格報(bào)名單” 允許一個(gè)加工有二個(gè)相同的數(shù)據(jù)流分別流允許一個(gè)加工有二個(gè)相同的數(shù)據(jù)流分別流向二個(gè)不同的加工向二個(gè)不同的加工復(fù)旦大學(xué)計(jì)算機(jī)
35、科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程42/110 每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流據(jù)流 在整套分層數(shù)據(jù)流中,每個(gè)文件應(yīng)至少有一個(gè)在整套分層數(shù)據(jù)流中,每個(gè)文件應(yīng)至少有一個(gè)加工讀該文件,有另一個(gè)加工寫該文件加工讀該文件,有另一個(gè)加工寫該文件 分層數(shù)據(jù)流圖中的每個(gè)數(shù)據(jù)流和文件都必須命分層數(shù)據(jù)流圖中的每個(gè)數(shù)據(jù)流和文件都必須命名名(除了流入或流出文件的數(shù)據(jù)流除了流入或流出文件的數(shù)據(jù)流),并保持與,并保持與數(shù)據(jù)字典的一致數(shù)據(jù)字典的一致 分層分層DFD中的每個(gè)基本加工中的每個(gè)基本加工(即不再分解子圖的即不再分解子圖的加工加工)都
36、應(yīng)有一個(gè)加工規(guī)約都應(yīng)有一個(gè)加工規(guī)約復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程43/110 適當(dāng)命名:每個(gè)數(shù)據(jù)流、加工、文件、源適當(dāng)命名:每個(gè)數(shù)據(jù)流、加工、文件、源和宿都應(yīng)被適應(yīng)地命名,名字應(yīng)符合被命和宿都應(yīng)被適應(yīng)地命名,名字應(yīng)符合被命名對(duì)象的實(shí)際含義名對(duì)象的實(shí)際含義名字應(yīng)反映整個(gè)對(duì)象(如數(shù)據(jù)流、加工),而不是僅反映它的某一部分避免使用空洞的、含義不清的名字,如數(shù)據(jù)、信息、處理、統(tǒng)計(jì)等如果發(fā)現(xiàn)某個(gè)數(shù)據(jù)流或加工難以命名時(shí),往往是DFD分解不當(dāng)?shù)恼髡祝藭r(shí)應(yīng)考慮重新分解 畫數(shù)據(jù)流而不是畫控制流畫數(shù)據(jù)流而不是畫控制流 判斷準(zhǔn)則:這條線上是否有數(shù)據(jù)流過復(fù)旦大學(xué)計(jì)算機(jī)科
37、學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程44/110 避免一個(gè)加工有過多的數(shù)據(jù)流避免一個(gè)加工有過多的數(shù)據(jù)流 當(dāng)一個(gè)加工存在許多數(shù)據(jù)流時(shí)往往意味著分解不合理 解決辦法:重新分解 1)把需要重新分解的某張圖把需要重新分解的某張圖(含有該復(fù)雜加工的圖含有該復(fù)雜加工的圖)的所有子圖的所有子圖連接成一張圖連接成一張圖 2)把連接后的圖重新劃分成幾個(gè)部分,使各部分之間的聯(lián)系最把連接后的圖重新劃分成幾個(gè)部分,使各部分之間的聯(lián)系最小小 3)重新定義父圖,即第重新定義父圖,即第2)步中的每個(gè)部分作為父圖中的一個(gè)加步中的每個(gè)部分作為父圖中的一個(gè)加工工 4)重新建立各子圖,即第重新建立各子圖,
38、即第2)步中的每個(gè)部分都是一張子圖步中的每個(gè)部分都是一張子圖 5)為所有的加工重新命名和編號(hào)為所有的加工重新命名和編號(hào)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程45/110( b ) 原加工2子圖222.12.32.42.5HJICKLEMN( d ) 重新分解后的父圖452321ABHGJICKLDEMFPN( a ) 原父圖34512HABJICKLDEMFPNG( c ) 合并4532.42.52.22.12.31FABHJICKLDEMPNG復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程46/110 分解盡可能均勻分解
39、盡可能均勻 理想目標(biāo):任何兩個(gè)加工的分解層數(shù)之差不超過1 應(yīng)盡可能使分解均勻,對(duì)于分解不均勻的情況應(yīng)重新分解 先考慮穩(wěn)定狀態(tài),忽略瑣碎的枝節(jié)先考慮穩(wěn)定狀態(tài),忽略瑣碎的枝節(jié) 先考慮穩(wěn)定狀態(tài)下的各種問題,暫時(shí)不考慮系統(tǒng)如何啟動(dòng)、如何結(jié)束、出錯(cuò)處理以及性能等問題 隨時(shí)準(zhǔn)備重畫隨時(shí)準(zhǔn)備重畫 對(duì)于一個(gè)復(fù)雜的軟件系統(tǒng),往往要經(jīng)過反復(fù)多次的重畫和修改才能構(gòu)造出完整、合理、滿足用戶需求的分層DFD 分析階段遺漏下來的一個(gè)錯(cuò)誤,到開發(fā)后期要化費(fèi)幾百倍代價(jià)來糾正這個(gè)錯(cuò)誤復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程47/110 可參照以下幾條與分解有關(guān)的原則:可參照以下幾條與分解有
40、關(guān)的原則: 7加減2 分解應(yīng)自然,概念上合理、清晰 只要不影響DFD的易理解性,可適當(dāng)多分解幾個(gè)加工,以減少層數(shù) 一般說來,上層分解得快些(即多分解幾個(gè)加工),下層分解得慢些(即少分解幾個(gè)加工) 分解要均勻復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程48/110 結(jié)構(gòu)化分析方法概述結(jié)構(gòu)化分析方法概述 數(shù)據(jù)流圖數(shù)據(jù)流圖 分層數(shù)據(jù)流圖的審查分層數(shù)據(jù)流圖的審查 描述基本加工的小說明描述基本加工的小說明 結(jié)構(gòu)化設(shè)計(jì)概述結(jié)構(gòu)化設(shè)計(jì)概述 數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 初始結(jié)構(gòu)圖的改進(jìn)初始結(jié)構(gòu)圖的改進(jìn) 小結(jié)小結(jié)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)
41、算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程49/110 數(shù)據(jù)流圖與數(shù)據(jù)字典是密不可分的,兩者數(shù)據(jù)流圖與數(shù)據(jù)字典是密不可分的,兩者結(jié)合起來構(gòu)成軟件的邏輯模型結(jié)合起來構(gòu)成軟件的邏輯模型(分析模型分析模型) 數(shù)據(jù)字典由字典條目組成,每個(gè)條目描述數(shù)據(jù)字典由字典條目組成,每個(gè)條目描述DFD中的一個(gè)元素中的一個(gè)元素 數(shù)據(jù)字典條目包括:數(shù)據(jù)流、文件、數(shù)據(jù)數(shù)據(jù)字典條目包括:數(shù)據(jù)流、文件、數(shù)據(jù)項(xiàng)項(xiàng)(組成數(shù)據(jù)流和文件的數(shù)據(jù)組成數(shù)據(jù)流和文件的數(shù)據(jù))、加工、源、加工、源或宿或宿 加工邏輯的詳細(xì)說明可以用“小說明”來描述(5.5節(jié))復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程50/11
42、0nm83符符 號(hào)號(hào)名名 稱稱舉舉 例例定義為定義為x 表示表示x由由組成組成與與ab 表示表示a和和b,或或a,b表示表示a或或b或或ab表示表示a或或b重復(fù)重復(fù)a 表示表示a重復(fù)重復(fù)0或多次或多次重復(fù)重復(fù)a 表示表示a重復(fù)重復(fù)3到到8次次()可選可選(a) 表示表示a重復(fù)重復(fù)0或或1次次基本數(shù)據(jù)元素基本數(shù)據(jù)元素a 表表a是基本數(shù)據(jù)是基本數(shù)據(jù)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程51/110 不同的開發(fā)組織或團(tuán)隊(duì)可以根據(jù)項(xiàng)目的需不同的開發(fā)組織或團(tuán)隊(duì)可以根據(jù)項(xiàng)目的需要定義字典條目的描述內(nèi)容要定義字典條目的描述內(nèi)容 字典條目中的描述內(nèi)容主要包括字典條目中的
43、描述內(nèi)容主要包括 DFD元素的基本信息(名稱、別名、簡(jiǎn)述、注解) 定義(數(shù)據(jù)類型、數(shù)據(jù)組成) 使用特點(diǎn)(取值范圍、使用頻率、激發(fā)條件) 控制信息(來源、去向、訪問權(quán)限)等復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程52/110 名稱:數(shù)據(jù)流名名稱:數(shù)據(jù)流名(可以是中文名或英文名可以是中文名或英文名) 別名:名稱的另一個(gè)名字別名:名稱的另一個(gè)名字 簡(jiǎn)述:對(duì)數(shù)據(jù)流的簡(jiǎn)單說明簡(jiǎn)述:對(duì)數(shù)據(jù)流的簡(jiǎn)單說明 數(shù)據(jù)流組成數(shù)據(jù)流組成:描述數(shù)據(jù)流由哪些數(shù)據(jù)項(xiàng)組成:描述數(shù)據(jù)流由哪些數(shù)據(jù)項(xiàng)組成 數(shù)據(jù)流來源:描述數(shù)據(jù)流從哪個(gè)加工或源流出數(shù)據(jù)流來源:描述數(shù)據(jù)流從哪個(gè)加工或源流出 數(shù)據(jù)流去
44、向:描述數(shù)據(jù)流流入哪個(gè)加工或宿數(shù)據(jù)流去向:描述數(shù)據(jù)流流入哪個(gè)加工或宿 數(shù)據(jù)量:系統(tǒng)中該數(shù)據(jù)流的總量數(shù)據(jù)量:系統(tǒng)中該數(shù)據(jù)流的總量如考務(wù)處理系統(tǒng)中“報(bào)名單”的總量是100000張或者單位時(shí)間處理的數(shù)據(jù)流數(shù)量,如80000張/天 峰值:某時(shí)段處理的最大數(shù)量峰值:某時(shí)段處理的最大數(shù)量如每天上午9:00至11:00處理60000張表單 注解:對(duì)該數(shù)據(jù)流的其它補(bǔ)充說明注解:對(duì)該數(shù)據(jù)流的其它補(bǔ)充說明復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程53/110 數(shù)據(jù)流組成是數(shù)據(jù)流條目的核心,它列出數(shù)據(jù)流組成是數(shù)據(jù)流條目的核心,它列出組成該數(shù)據(jù)流的各數(shù)據(jù)項(xiàng),例如:組成該數(shù)據(jù)流的各數(shù)
45、據(jù)項(xiàng),例如: 培訓(xùn)報(bào)名單姓名單位課程 運(yùn)動(dòng)員報(bào)名單隊(duì)名姓名性別參賽項(xiàng)目 當(dāng)一個(gè)數(shù)據(jù)流的組成比較復(fù)雜時(shí),可以將當(dāng)一個(gè)數(shù)據(jù)流的組成比較復(fù)雜時(shí),可以將其分解成幾個(gè)數(shù)據(jù)流,例如:其分解成幾個(gè)數(shù)據(jù)流,例如: 課程課程名任課教師教材時(shí)間地點(diǎn) 時(shí)間地點(diǎn)星期幾第幾節(jié)教室3131復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程54/110發(fā)票單位名稱商品名數(shù)量單價(jià)金額發(fā)票單位名稱商品名數(shù)量單價(jià)金額 總金額日期總金額日期(營(yíng)業(yè)員營(yíng)業(yè)員)單位名稱商品名商品名數(shù)量數(shù)量單價(jià)單價(jià)金額金額總金額總金額日期營(yíng)業(yè)員51復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程5
46、5/110名稱:文件名名稱:文件名別名:同數(shù)據(jù)流條目別名:同數(shù)據(jù)流條目簡(jiǎn)述:對(duì)文件的簡(jiǎn)單說明簡(jiǎn)述:對(duì)文件的簡(jiǎn)單說明文件組成文件組成:描述文件的記錄由哪些數(shù)據(jù)項(xiàng)組成:描述文件的記錄由哪些數(shù)據(jù)項(xiàng)組成(與數(shù)據(jù)流條與數(shù)據(jù)流條目中的文件組成描述方法相同目中的文件組成描述方法相同)寫文件的加工:描述哪些加工寫文件寫文件的加工:描述哪些加工寫文件讀文件的加工:描述哪些加工讀文件讀文件的加工:描述哪些加工讀文件文件組織:描述文件的存儲(chǔ)方式文件組織:描述文件的存儲(chǔ)方式(順序、索引順序、索引),排序的關(guān)鍵,排序的關(guān)鍵字字使用權(quán)限:描述各類用戶對(duì)文件讀、寫、修改的使用權(quán)限使用權(quán)限:描述各類用戶對(duì)文件讀、寫、修改的使
47、用權(quán)限數(shù)據(jù)量:文件的最大記錄個(gè)數(shù)數(shù)據(jù)量:文件的最大記錄個(gè)數(shù)存取頻率:描述對(duì)該文件的讀寫頻率存取頻率:描述對(duì)該文件的讀寫頻率注解:對(duì)該文件的其它補(bǔ)充說明注解:對(duì)該文件的其它補(bǔ)充說明復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程56/110名稱:數(shù)據(jù)項(xiàng)名名稱:數(shù)據(jù)項(xiàng)名別名:同數(shù)據(jù)流條目別名:同數(shù)據(jù)流條目簡(jiǎn)述:對(duì)數(shù)據(jù)項(xiàng)的簡(jiǎn)單描述簡(jiǎn)述:對(duì)數(shù)據(jù)項(xiàng)的簡(jiǎn)單描述數(shù)據(jù)類型:描述數(shù)據(jù)項(xiàng)的類型,如整型、實(shí)型、字符串等數(shù)據(jù)類型:描述數(shù)據(jù)項(xiàng)的類型,如整型、實(shí)型、字符串等計(jì)量單位:指明數(shù)據(jù)項(xiàng)值的計(jì)量單位,如公斤、噸等計(jì)量單位:指明數(shù)據(jù)項(xiàng)值的計(jì)量單位,如公斤、噸等取值范圍:描述數(shù)據(jù)項(xiàng)允許的值
48、域,如取值范圍:描述數(shù)據(jù)項(xiàng)允許的值域,如1100編輯方式:描述該數(shù)據(jù)項(xiàng)外部表示的編輯方式,如編輯方式:描述該數(shù)據(jù)項(xiàng)外部表示的編輯方式,如23,345.67與其它數(shù)據(jù)項(xiàng)的關(guān)系:描述該數(shù)據(jù)項(xiàng)與數(shù)據(jù)字典中其它數(shù)據(jù)與其它數(shù)據(jù)項(xiàng)的關(guān)系:描述該數(shù)據(jù)項(xiàng)與數(shù)據(jù)字典中其它數(shù)據(jù)項(xiàng)的關(guān)系項(xiàng)的關(guān)系注解:對(duì)數(shù)據(jù)項(xiàng)的其它補(bǔ)充說明注解:對(duì)數(shù)據(jù)項(xiàng)的其它補(bǔ)充說明復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程57/110名稱:加工名名稱:加工名別名:同數(shù)據(jù)流條目別名:同數(shù)據(jù)流條目加工號(hào)加工號(hào): 加工在加工在DFD中的編號(hào)中的編號(hào)簡(jiǎn)述:對(duì)加工的功能的簡(jiǎn)要說明簡(jiǎn)述:對(duì)加工的功能的簡(jiǎn)要說明輸入數(shù)據(jù)流:描
49、述加工的輸入數(shù)據(jù)流,包括讀哪些文件名輸入數(shù)據(jù)流:描述加工的輸入數(shù)據(jù)流,包括讀哪些文件名輸出數(shù)據(jù)流:描述加工的輸出數(shù)據(jù)流,包括寫哪些文件名輸出數(shù)據(jù)流:描述加工的輸出數(shù)據(jù)流,包括寫哪些文件名加工邏輯加工邏輯:簡(jiǎn)要描述加工邏輯,或者對(duì)加工規(guī)約的索引:簡(jiǎn)要描述加工邏輯,或者對(duì)加工規(guī)約的索引基本加工的加工邏輯用小說明描述,在加工條目中可填寫對(duì)加工規(guī)約的索引非基本加工分解而成的DFD子圖已反映了它的加工邏輯,不必書寫小說明異常處理:描述加工處理過程中可能出現(xiàn)的異常情況,及其處理方異常處理:描述加工處理過程中可能出現(xiàn)的異常情況,及其處理方式式加工激發(fā)條件:描述執(zhí)行加工的條件,如,加工激發(fā)條件:描述執(zhí)行加工的
50、條件,如,“身份認(rèn)證正確身份認(rèn)證正確”,“收到報(bào)名單收到報(bào)名單”執(zhí)行頻率:描述加工的執(zhí)行頻率,如,每月執(zhí)行一次,每天執(zhí)行頻率:描述加工的執(zhí)行頻率,如,每月執(zhí)行一次,每天0點(diǎn)執(zhí)行點(diǎn)執(zhí)行注解:對(duì)加工的其它補(bǔ)充說明注解:對(duì)加工的其它補(bǔ)充說明復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程58/110 名稱:源或宿的名名稱:源或宿的名(外部實(shí)體名外部實(shí)體名) 別名:同數(shù)據(jù)流條目別名:同數(shù)據(jù)流條目 簡(jiǎn)要描述:對(duì)源或宿的簡(jiǎn)要描述簡(jiǎn)要描述:對(duì)源或宿的簡(jiǎn)要描述(包括指明該外包括指明該外部實(shí)體在部實(shí)體在DFD中是用作中是用作“源源”,還是,還是“宿宿”,還,還是是“既是源又是宿既是
51、源又是宿”) 輸入數(shù)據(jù)流:描述源向系統(tǒng)提供哪些輸入數(shù)據(jù)流輸入數(shù)據(jù)流:描述源向系統(tǒng)提供哪些輸入數(shù)據(jù)流 輸出數(shù)據(jù)流:描述系統(tǒng)向宿提供哪些輸出數(shù)據(jù)流輸出數(shù)據(jù)流:描述系統(tǒng)向宿提供哪些輸出數(shù)據(jù)流 注解:對(duì)源或宿的其它補(bǔ)充說明注解:對(duì)源或宿的其它補(bǔ)充說明復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程59/110只有那些有必要補(bǔ)充說明的只有那些有必要補(bǔ)充說明的別名才給出相應(yīng)的別名條目別名才給出相應(yīng)的別名條目別名:別名的名字別名:別名的名字類型:指出別名屬于那個(gè)種類型:指出別名屬于那個(gè)種類類(數(shù)據(jù)流、文件、數(shù)據(jù)、加數(shù)據(jù)流、文件、數(shù)據(jù)、加工、源或宿工、源或宿)基本名:別名的正式名
52、稱基本名:別名的正式名稱(原原名名)簡(jiǎn)述:同正式名稱的簡(jiǎn)述簡(jiǎn)述:同正式名稱的簡(jiǎn)述說明:對(duì)別名的補(bǔ)充說明說明:對(duì)別名的補(bǔ)充說明示例示例原始的數(shù)據(jù)項(xiàng)條目如下:原始的數(shù)據(jù)項(xiàng)條目如下:數(shù)據(jù)項(xiàng)名稱:開戶日期數(shù)據(jù)項(xiàng)名稱:開戶日期別名:開設(shè)日期別名:開設(shè)日期簡(jiǎn)述:客戶建立帳戶的日期簡(jiǎn)述:客戶建立帳戶的日期類型:日期類型:日期注解:年注解:年1949其別名條目如下:其別名條目如下:別名:開設(shè)日期別名:開設(shè)日期類型:數(shù)據(jù)項(xiàng)類型:數(shù)據(jù)項(xiàng)基本名:開戶日期基本名:開戶日期簡(jiǎn)述:客戶建立帳戶的日期簡(jiǎn)述:客戶建立帳戶的日期說明:說明:1986年以后不再使用此別年以后不再使用此別名名復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)
53、科學(xué)與工程系 軟件工程課程軟件工程課程60/110 提倡采用專用的軟件工具或者常用的實(shí)用程序提倡采用專用的軟件工具或者常用的實(shí)用程序(如,正文編輯程序、電子表格如,正文編輯程序、電子表格)來建立數(shù)據(jù)字來建立數(shù)據(jù)字典的電子文檔,其好處是便于字典條目的檢索,典的電子文檔,其好處是便于字典條目的檢索,字典的管理和維護(hù)字典的管理和維護(hù) 如果數(shù)據(jù)字典由輔助繪制如果數(shù)據(jù)字典由輔助繪制DFD的工具自動(dòng)產(chǎn)生的工具自動(dòng)產(chǎn)生的話,那么可以利用數(shù)據(jù)字典來檢查的話,那么可以利用數(shù)據(jù)字典來檢查DFD的一的一致性和完整性,并保持?jǐn)?shù)據(jù)字典與致性和完整性,并保持?jǐn)?shù)據(jù)字典與DFD的一致的一致 如果數(shù)據(jù)字典是由人工制作的,我們可
54、以為每如果數(shù)據(jù)字典是由人工制作的,我們可以為每個(gè)字典條目制作一張卡片,所有卡片按字典條個(gè)字典條目制作一張卡片,所有卡片按字典條目的種類目的種類(數(shù)據(jù)流、文件、加工等數(shù)據(jù)流、文件、加工等)分類成冊(cè),分類成冊(cè),每類卡片按某種約定排序每類卡片按某種約定排序復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程61/110 結(jié)構(gòu)化分析方法概述結(jié)構(gòu)化分析方法概述 數(shù)據(jù)流圖數(shù)據(jù)流圖 分層數(shù)據(jù)流圖的審查分層數(shù)據(jù)流圖的審查 數(shù)據(jù)字典數(shù)據(jù)字典 結(jié)構(gòu)化設(shè)計(jì)概述結(jié)構(gòu)化設(shè)計(jì)概述 數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 初始結(jié)構(gòu)圖的改進(jìn)初始結(jié)構(gòu)圖的改進(jìn) 小結(jié)小結(jié)復(fù)旦大學(xué)計(jì)算機(jī)科
55、學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程62/110 小說明是基本加工的規(guī)約說明,應(yīng)精確地小說明是基本加工的規(guī)約說明,應(yīng)精確地描述用戶要求一個(gè)加工描述用戶要求一個(gè)加工“做什么做什么” 包括加工的激發(fā)條件、加工邏輯、優(yōu)先級(jí)、包括加工的激發(fā)條件、加工邏輯、優(yōu)先級(jí)、執(zhí)行頻率、出錯(cuò)處理等執(zhí)行頻率、出錯(cuò)處理等 最基本的部分是加工邏輯,即該加工的輸最基本的部分是加工邏輯,即該加工的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流之間的邏輯關(guān)系出數(shù)據(jù)流與輸入數(shù)據(jù)流之間的邏輯關(guān)系 加工邏輯不是對(duì)加工的設(shè)計(jì),不涉及數(shù)據(jù)加工邏輯不是對(duì)加工的設(shè)計(jì),不涉及數(shù)據(jù)結(jié)構(gòu)、算法實(shí)現(xiàn)、編程語(yǔ)言等與設(shè)計(jì)和實(shí)結(jié)構(gòu)、算法實(shí)現(xiàn)、編程語(yǔ)言等
56、與設(shè)計(jì)和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)現(xiàn)有關(guān)的細(xì)節(jié)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程63/110 結(jié)構(gòu)化語(yǔ)言:介于自然語(yǔ)言和形式語(yǔ)言之結(jié)構(gòu)化語(yǔ)言:介于自然語(yǔ)言和形式語(yǔ)言之間的一種半形式語(yǔ)言間的一種半形式語(yǔ)言 判定表:適用于加工邏輯包含多個(gè)條件,判定表:適用于加工邏輯包含多個(gè)條件,而不同的條件組合需做不同的動(dòng)作而不同的條件組合需做不同的動(dòng)作 判定樹:判定表的變種,它本質(zhì)上與判定判定樹:判定表的變種,它本質(zhì)上與判定表是相同的,只是表示形式不同表是相同的,只是表示形式不同復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程64/110 沒有嚴(yán)格的
57、語(yǔ)法沒有嚴(yán)格的語(yǔ)法 加工規(guī)約分為若干個(gè)段落,每個(gè)段落可分加工規(guī)約分為若干個(gè)段落,每個(gè)段落可分為內(nèi)外兩層:為內(nèi)外兩層: 外層有嚴(yán)格的語(yǔ)法來描述它的控制結(jié)構(gòu) 如結(jié)構(gòu)化英語(yǔ)中可使用如結(jié)構(gòu)化英語(yǔ)中可使用if_then_else、while_do、repeat_until、for_do、case等結(jié)構(gòu)等結(jié)構(gòu) 內(nèi)層可以用自然語(yǔ)言來描述 允許使用嵌套結(jié)構(gòu)允許使用嵌套結(jié)構(gòu)復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程65/110Case 1 (No BouncedChecks in Customer Record): Write ExemplaryCustomerCitatio
58、n to AnnualSummary.Case 2 (One Bouncedcheck): If YearlyAverageBalance exceeds $ 1000. Remove BouncedCheck from CustomerRecord. Otherwise. Recuce CreditLimit by 10%.Case 3 (Multiple BouncedChecks): For each BouncedCheck. Recuce CreditLimit by 15%. Set CreditRating to Deadbeat. Write ScathingComment t
59、o AnnualSummary. Write CustomerNameandAddress to IRSEnemiesList.復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程66/110 語(yǔ)句力求精煉語(yǔ)句力求精煉 語(yǔ)句必須易讀、易理解、無二義語(yǔ)句必須易讀、易理解、無二義 主要使用祈使句,祈使句中的動(dòng)詞要明確表達(dá)要主要使用祈使句,祈使句中的動(dòng)詞要明確表達(dá)要執(zhí)行的動(dòng)作執(zhí)行的動(dòng)作 所有名字必須是數(shù)據(jù)字典中有定義的名字所有名字必須是數(shù)據(jù)字典中有定義的名字 不使用形容詞、副詞等修飾語(yǔ)不使用形容詞、副詞等修飾語(yǔ) 不使用含義相同的動(dòng)詞,如不使用含義相同的動(dòng)詞,如“修改修改”、
60、“修正修正”等等 可以使用常用的算術(shù)和關(guān)系運(yùn)算符可以使用常用的算術(shù)和關(guān)系運(yùn)算符 總之要盡可能精確、無二義、簡(jiǎn)明扼要、易理解總之要盡可能精確、無二義、簡(jiǎn)明扼要、易理解復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與工程系 軟件工程課程軟件工程課程67/110 判定表的組成元素判定表的組成元素 條件樁(Condition Stub):列出各種條件的對(duì)象,如發(fā)貨單金額,賒欠天數(shù)等,每行寫一個(gè)條件對(duì)象 條件條目(Conditien entry):列出各條件對(duì)象的取值,條件條目的每一列表示了一個(gè)可能的條件組合 動(dòng)作樁(action stub):列出所有可能采取的動(dòng)作,如發(fā)出發(fā)貨單等,每行寫一個(gè)動(dòng)作 動(dòng)作條
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職教育學(xué)(班級(jí)管理基礎(chǔ))試題及答案
- 2025年中職(護(hù)理)無菌操作試題及答案
- 2025年大學(xué)環(huán)境保護(hù)(環(huán)境影響評(píng)價(jià))試題及答案
- 2025年大學(xué)美術(shù)類(素描基礎(chǔ)訓(xùn)練)試題及答案
- 2025年高職農(nóng)業(yè)機(jī)械應(yīng)用技術(shù)(農(nóng)機(jī)故障診斷)試題及答案
- 2025年中職能源動(dòng)力類(能源基礎(chǔ)常識(shí))試題及答案
- 2025年大學(xué)健康運(yùn)營(yíng)管理(管理技術(shù))試題及答案
- 2025年大學(xué)大三(水利工程管理)水庫(kù)調(diào)度運(yùn)行綜合測(cè)試試題及答案
- 2025年高職第二學(xué)年(房地產(chǎn)經(jīng)營(yíng)與管理)房產(chǎn)租賃專項(xiàng)測(cè)試試題及答案
- 2025年中職(烹飪工藝與營(yíng)養(yǎng))中式面點(diǎn)制作基礎(chǔ)試題及答案
- GB/T 43869-2024船舶交通管理系統(tǒng)監(jiān)視雷達(dá)通用技術(shù)要求
- 藥店全年主題活動(dòng)方案設(shè)計(jì)
- 病媒生物防制服務(wù)外包 投標(biāo)方案(技術(shù)方案)
- 年產(chǎn)6萬(wàn)噸環(huán)氧樹脂工藝設(shè)計(jì)
- 軌道線路養(yǎng)護(hù)維修作業(yè)-改道作業(yè)
- 北師大版五年級(jí)數(shù)學(xué)上冊(cè)第七單元《可能性》教案
- 2023-2024學(xué)年上海市閔行區(qū)四上數(shù)學(xué)期末綜合測(cè)試試題含答案
- 解除勞動(dòng)合同證明電子版(6篇)
- 呼吸科規(guī)培疑難病例討論
- 有關(guān)中國(guó)居民死亡態(tài)度的調(diào)查報(bào)告
- 核對(duì)稿100和200單元概述
評(píng)論
0/150
提交評(píng)論