軟件工程軟件設(shè)計(jì)概要PPT課件_第1頁(yè)
軟件工程軟件設(shè)計(jì)概要PPT課件_第2頁(yè)
軟件工程軟件設(shè)計(jì)概要PPT課件_第3頁(yè)
軟件工程軟件設(shè)計(jì)概要PPT課件_第4頁(yè)
軟件工程軟件設(shè)計(jì)概要PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、場(chǎng)景互動(dòng) 1 根據(jù)下列需求陳述給出對(duì)應(yīng)的實(shí)現(xiàn)方式。 網(wǎng)上銀行身份驗(yàn)證功能: 根據(jù)用戶的銀行客戶號(hào)與密碼進(jìn)行登錄,完成初步身份驗(yàn)證。系統(tǒng)將會(huì)隨機(jī)向該用戶手機(jī)發(fā)送動(dòng)態(tài)密碼。用戶再根據(jù)接收到的動(dòng)態(tài)密碼再次進(jìn)行登錄,并確認(rèn)合法身份。并將驗(yàn)證結(jié)果告知用戶。 請(qǐng)按照自己理解的方式描述出該功能的實(shí)現(xiàn)方式。第1頁(yè)/共56頁(yè)(1)分析過(guò)程第2頁(yè)/共56頁(yè)(2)分解結(jié)構(gòu)第3頁(yè)/共56頁(yè)1.變換流 變換流 如果信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,精加工處理后,再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng),則具有上述特征的數(shù)據(jù)流稱為變換流。第4頁(yè)/共56頁(yè)(1)變換分析 變換分

2、析步驟 重畫(huà)數(shù)據(jù)流圖; 區(qū)分有效(邏輯)輸入、有效(邏輯)輸出和中心變換部分; 進(jìn)行一級(jí)分解,設(shè)計(jì)上層模塊; 進(jìn)行二級(jí)分解,設(shè)計(jì)輸入、輸出和中心變換部分的中、下層模塊。第5頁(yè)/共56頁(yè)(2)變換型軟件結(jié)構(gòu)圖 變換型軟件結(jié)構(gòu) 變換型數(shù)據(jù)處理問(wèn)題的工作過(guò)程大致分為三步,即取得數(shù)據(jù),變換數(shù)據(jù)和給出數(shù)據(jù); 相應(yīng)于取得數(shù)據(jù)、變換數(shù)據(jù)、給出數(shù)據(jù),變換型系統(tǒng)結(jié)構(gòu); 圖由輸入、中心變換和輸出等三部分組成。第6頁(yè)/共56頁(yè)例子例子第7頁(yè)/共56頁(yè)1格式格式檢查檢查3產(chǎn)生產(chǎn)生收據(jù)收據(jù)2計(jì)算計(jì)算匯費(fèi)匯費(fèi)4記賬記賬匯款單匯款單合格的合格的匯款單匯款單處理后的處理后的匯款單匯款單收據(jù)收據(jù)明細(xì)賬明細(xì)賬變換中心變換中心輸出

3、輸出輸入輸入業(yè)務(wù)業(yè)務(wù)數(shù)據(jù)數(shù)據(jù)練習(xí)第8頁(yè)/共56頁(yè)匯款處理系統(tǒng)匯款處理系統(tǒng)取得合格取得合格匯款單匯款單計(jì)算計(jì)算匯費(fèi)匯費(fèi)記賬記賬輸出處理后輸出處理后的匯款單的匯款單輸入?yún)R款單輸入?yún)R款單格式檢查格式檢查產(chǎn)生收據(jù)產(chǎn)生收據(jù)打印收據(jù)打印收據(jù)合格的合格的匯款單匯款單處理后的處理后的匯款單匯款單合格的合格的匯款單匯款單業(yè)務(wù)數(shù)據(jù)業(yè)務(wù)數(shù)據(jù)處理后的處理后的匯款單匯款單匯款單匯款單合格的合格的匯款單匯款單匯款單匯款單處理后的處理后的匯款單匯款單收據(jù)收據(jù)收據(jù)收據(jù)業(yè)務(wù)數(shù)據(jù)業(yè)務(wù)數(shù)據(jù)第9頁(yè)/共56頁(yè) 結(jié)構(gòu)化分析方法功能建模舉例 某圖書(shū)管理系統(tǒng) (1) 借書(shū):圖書(shū)管理員輸入讀者的借書(shū)證。系統(tǒng)首先檢查借書(shū)證是否有效,若有效,對(duì)于

4、第一次借書(shū)的讀者,在讀者賬戶文件上建立檔案。否則,查閱讀者賬戶,檢查該讀者所借圖書(shū)是否超過(guò)10本,若已達(dá)到10本,拒借,未達(dá)10本,辦理借書(shū)(檢查庫(kù)存目錄,修改庫(kù)存詳情、庫(kù)存目錄、讀者賬戶文件并將讀者借書(shū)情況登入圖書(shū)借閱文件中)。 (2)還書(shū):圖書(shū)管理員獲得欲還圖書(shū),并從讀者賬戶文件和圖書(shū)借閱文件中讀出與讀者有關(guān)的記錄,查閱所借日期,如果超期(3個(gè)月)作罰款處理,并記錄到圖書(shū)借閱文件中。否則,修改庫(kù)存詳情、讀者賬戶、庫(kù)存目錄和圖書(shū)借閱文件。 (3)查詢:系統(tǒng)可根據(jù)圖書(shū)管理員的查詢請(qǐng)求,通過(guò)讀者賬戶文件、庫(kù)存目錄等文件查詢讀者情況、圖書(shū)借閱情況及庫(kù)存情況,打印各種統(tǒng)計(jì)表。 請(qǐng)根據(jù)給定的數(shù)據(jù)流圖構(gòu)

5、建起軟件結(jié)構(gòu)圖。第10頁(yè)/共56頁(yè) 圖書(shū)借閱過(guò)程的數(shù)據(jù)流圖。第11頁(yè)/共56頁(yè) 參考軟件結(jié)構(gòu)圖第12頁(yè)/共56頁(yè) 改進(jìn)后的軟件結(jié)構(gòu)圖第13頁(yè)/共56頁(yè) 進(jìn)行變換分析時(shí)需注意的內(nèi)容 在選擇模塊設(shè)計(jì)的次序時(shí),必須對(duì)一個(gè)模塊的全部直接下屬模塊都設(shè)計(jì)完成之后,才能轉(zhuǎn)向另一個(gè)模塊的下層模塊的設(shè)計(jì)。 在設(shè)計(jì)下層模塊時(shí),應(yīng)考慮模塊的耦合和內(nèi)聚問(wèn)題,以提高初始結(jié)構(gòu)圖的質(zhì)量。 使用“黑箱”技術(shù) 在設(shè)計(jì)當(dāng)前模塊時(shí),先把這個(gè)模塊的所有下層模塊定義成“黑箱”,在設(shè)計(jì)中利用它們時(shí),暫時(shí)不考慮其內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)。在這一步定義好的“黑箱”,在下一步就可以對(duì)它們進(jìn)行設(shè)計(jì)和加工。這樣,又會(huì)導(dǎo)致更多的“黑箱”。最后,全部“黑箱”的

6、內(nèi)容和結(jié)構(gòu)應(yīng)完全被確定。第14頁(yè)/共56頁(yè) 在模塊劃分時(shí),一個(gè)模塊的直接下屬模塊一般在5個(gè)左右。如果直接下屬模塊超過(guò)10個(gè),可設(shè)中間層次。 如果出現(xiàn)了以下情況,就停止模塊的功能分解: 當(dāng)模塊不能再細(xì)分為明顯的子任務(wù)時(shí); 當(dāng)分解成用戶提供的模塊或程序庫(kù)的子程序時(shí); 當(dāng)模塊的界面是輸入輸出設(shè)備傳送的信息時(shí); 當(dāng)模塊不宜再分解得過(guò)小時(shí)。 變換分析是軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的主要方法。第15頁(yè)/共56頁(yè)場(chǎng)景互動(dòng) 2 銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:儲(chǔ)戶填寫(xiě)的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人相關(guān)信息,并印出存款收據(jù)給儲(chǔ)戶;如果是取款,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確,則系統(tǒng)計(jì)算

7、利率并印利息清單給儲(chǔ)戶。第16頁(yè)/共56頁(yè)第17頁(yè)/共56頁(yè)第18頁(yè)/共56頁(yè)第19頁(yè)/共56頁(yè)第20頁(yè)/共56頁(yè)2.事務(wù)流 事務(wù)流 在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能。這種數(shù)據(jù)流就叫做事務(wù)流。事務(wù)中心TT1T2T3T4數(shù)據(jù)流事務(wù)流數(shù)據(jù)路徑第21頁(yè)/共56頁(yè)(1)事務(wù)分析v事務(wù)分析具體步驟v識(shí)別事務(wù)源v利用數(shù)據(jù)流圖和數(shù)據(jù)詞典,從問(wèn)題定義和需求分析的結(jié)果中,找出各種需要處理的事務(wù)。通常,事務(wù)來(lái)自物理輸入裝置。有時(shí),設(shè)計(jì)人員還必須區(qū)別系統(tǒng)的輸入、中心加工和輸出中產(chǎn)生的事務(wù)。v規(guī)定適當(dāng)?shù)氖聞?wù)型結(jié)構(gòu) 在確定了該數(shù)據(jù)流圖具有事務(wù)型特征之后,根

8、據(jù)模塊劃分理論,建立適當(dāng)?shù)氖聞?wù)型結(jié)構(gòu)。第22頁(yè)/共56頁(yè) 事務(wù)分析具體步驟(續(xù)) 識(shí)別各種事務(wù)和它們定義的操作 從問(wèn)題定義和需求分析中找出的事務(wù)及其操作所必需的全部信息,對(duì)于系統(tǒng)內(nèi)部產(chǎn)生的事務(wù),必須仔細(xì)地定義它們的操作。 注意利用公用模塊 在事務(wù)分析的過(guò)程中,如果不同事務(wù)的一些中間模塊可由具有類(lèi)似的語(yǔ)法和語(yǔ)義的若干個(gè)低層模塊組成,則可以把這些低層模塊構(gòu)造成公用模塊。第23頁(yè)/共56頁(yè) 事務(wù)分析具體步驟(續(xù)) 對(duì)每一事務(wù),或?qū)β?lián)系密切的一組事務(wù),建立一個(gè)事務(wù)處理模塊;如果發(fā)現(xiàn)在系統(tǒng)中有類(lèi)似的事務(wù),可以把它們組成一個(gè)事務(wù)處理模塊。 對(duì)事務(wù)處理模塊規(guī)定它們?nèi)康南聦硬僮髂K 對(duì)操作模塊規(guī)定它們的全部

9、細(xì)節(jié)模塊第24頁(yè)/共56頁(yè)(2)事務(wù)型軟件結(jié)構(gòu)圖 事務(wù)型系統(tǒng)結(jié)構(gòu) 它接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個(gè)適當(dāng)?shù)奶幚韱卧缓蠼o出結(jié)果。 在事務(wù)型系統(tǒng)結(jié)構(gòu)圖中,事務(wù)中心模塊按所接受的事務(wù)的類(lèi)型,選擇某一事務(wù)處理模塊執(zhí)行。各事務(wù)處理模塊并列。每個(gè)事務(wù)處理模塊可能要調(diào)用若干個(gè)操作模塊,而操作模塊又可能調(diào)用若干個(gè)細(xì)節(jié)模塊。第25頁(yè)/共56頁(yè)事務(wù)中心TT1T2T3T4數(shù)據(jù)流事務(wù)流數(shù)據(jù)路徑第26頁(yè)/共56頁(yè)第27頁(yè)/共56頁(yè)例子例子第28頁(yè)/共56頁(yè)第29頁(yè)/共56頁(yè) 調(diào)整后的軟件結(jié)構(gòu)圖第30頁(yè)/共56頁(yè)經(jīng)典思路對(duì)應(yīng)的程序代碼 main() /MEMBER s,t;total = 0;in

10、it();while(1)mainMenu(); 第31頁(yè)/共56頁(yè)調(diào)整思路對(duì)應(yīng)代碼 main()int select;int style=0;/初始默認(rèn)按編號(hào)升序排序MEMBER *head=loadFromFile(style);/從文件讀入數(shù)據(jù),組成鏈表 while(1)showMenu();printf(請(qǐng)選擇(08):n);scanf(%d,&select);while(getchar()!=n)/清除行輸入緩沖區(qū)continue;第32頁(yè)/共56頁(yè)調(diào)整思路對(duì)應(yīng)代碼(續(xù))switch(select)case 1:showAll(head);break; case 2:addM

11、ember(head);break;case 3:deleteByNumber(head);break;case 4:queryByName(head);break;case 5:queryByNumber(head);break;case 6:sortByName(head);break;case 7:sortBySalary(head);break;case 8:reportControl(head);break;case 0:printf(Byebye!n); freeList(head);/釋放鏈表內(nèi)存 exit(0);default :printf(選擇錯(cuò)誤,請(qǐng)重新選擇!n);第33

12、頁(yè)/共56頁(yè) 結(jié)構(gòu)化分析方法功能建模舉例 某圖書(shū)管理系統(tǒng) (1) 借書(shū):圖書(shū)管理員輸入讀者的借書(shū)證。系統(tǒng)首先檢查借書(shū)證是否有效,若有效,對(duì)于第一次借書(shū)的讀者,在讀者賬戶文件上建立檔案。否則,查閱讀者賬戶,檢查該讀者所借圖書(shū)是否超過(guò)10本,若已達(dá)到10本,拒借,未達(dá)10本,辦理借書(shū)(檢查庫(kù)存目錄,修改庫(kù)存詳情、庫(kù)存目錄、讀者賬戶文件并將讀者借書(shū)情況登入圖書(shū)借閱文件中)。 (2)還書(shū):圖書(shū)管理員獲得欲還圖書(shū),并從讀者賬戶文件和圖書(shū)借閱文件中讀出與讀者有關(guān)的記錄,查閱所借日期,如果超期(3個(gè)月)作罰款處理,并記錄到圖書(shū)借閱文件中。否則,修改庫(kù)存詳情、讀者賬戶、庫(kù)存目錄和圖書(shū)借閱文件。 (3)查詢:系

13、統(tǒng)可根據(jù)圖書(shū)管理員的查詢請(qǐng)求,通過(guò)讀者賬戶文件、庫(kù)存目錄等文件查詢讀者情況、圖書(shū)借閱情況及庫(kù)存情況,打印各種統(tǒng)計(jì)表。 請(qǐng)根據(jù)給定的數(shù)據(jù)流圖構(gòu)建起軟件結(jié)構(gòu)圖。第34頁(yè)/共56頁(yè) 一層數(shù)據(jù)流圖(主圖)第35頁(yè)/共56頁(yè) 一層數(shù)據(jù)流圖的軟件結(jié)構(gòu)圖第36頁(yè)/共56頁(yè) 軟件結(jié)構(gòu)圖的類(lèi)型 軟件結(jié)構(gòu)圖的類(lèi)型源于數(shù)據(jù)流圖的類(lèi)型,根據(jù)不同的數(shù)據(jù)流類(lèi)型將會(huì)產(chǎn)生對(duì)應(yīng)的軟件結(jié)構(gòu)圖。 數(shù)據(jù)流圖的類(lèi)型 變換型數(shù)據(jù)流圖 事務(wù)性數(shù)據(jù)流圖 對(duì)應(yīng)的軟件結(jié)構(gòu)圖 變換型軟件結(jié)構(gòu)圖 事務(wù)性軟件結(jié)構(gòu)圖3.軟件結(jié)構(gòu)圖類(lèi)型一般,一個(gè)大型的軟件系統(tǒng)是變換型結(jié)構(gòu)和事務(wù)型一般,一個(gè)大型的軟件系統(tǒng)是變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)的混合結(jié)構(gòu)。所以,我們通常利

14、用以變換分析結(jié)構(gòu)的混合結(jié)構(gòu)。所以,我們通常利用以變換分析為主,事務(wù)分析為輔的方式進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)。為主,事務(wù)分析為輔的方式進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)。第37頁(yè)/共56頁(yè)練習(xí)1第38頁(yè)/共56頁(yè)第39頁(yè)/共56頁(yè)練習(xí)2第40頁(yè)/共56頁(yè)練習(xí)3根據(jù)下面變換型的數(shù)據(jù)流圖設(shè)計(jì)出對(duì)應(yīng)的初始軟件結(jié)構(gòu)圖。根據(jù)下面變換型的數(shù)據(jù)流圖設(shè)計(jì)出對(duì)應(yīng)的初始軟件結(jié)構(gòu)圖。第41頁(yè)/共56頁(yè)例子步驟1:評(píng)審和精化軟件的數(shù)據(jù)流圖。住宅安全系統(tǒng)頂層圖(第0層圖)控制面板傳感器控制面板顯示器報(bào)警器電話線用戶命令和數(shù)據(jù)傳感器狀態(tài)顯示信息警報(bào)類(lèi)型電話號(hào)碼音住宅安全系統(tǒng)第42頁(yè)/共56頁(yè)控制面板傳感器用戶命令和數(shù)據(jù)監(jiān)控傳感器用戶操作配置系統(tǒng)處理密

15、碼啟動(dòng)/停止系統(tǒng)顯示信息和狀態(tài)控制面板顯示器報(bào)警器電話線配置信息密碼配置請(qǐng)求啟動(dòng)/停止有效的ID 信息。配置數(shù)據(jù)配置數(shù)據(jù)配置數(shù)據(jù)A/D信息傳感器信息傳感器狀態(tài)警報(bào)類(lèi)型電話號(hào)碼音住宅安全系統(tǒng)的第1層DFD圖第43頁(yè)/共56頁(yè)步驟步驟2:確定:確定DFD含有變換流還是事務(wù)流含有變換流還是事務(wù)流第44頁(yè)/共56頁(yè)讀取傳感器獲取反饋信息建立報(bào)警環(huán)境選擇電話號(hào)碼與電話線路建立聯(lián)系生成脈沖格式化顯示內(nèi)容生成顯示內(nèi)容生成報(bào)警信號(hào)配置信息配置數(shù)據(jù)傳感器ID類(lèi)型,位置格式化的ID,類(lèi)型,位置傳感器信息警報(bào)類(lèi)型警報(bào)數(shù)據(jù)傳感器狀態(tài)傳感器ID,設(shè)置警報(bào)狀況代碼,傳感器ID,時(shí)間信息數(shù)字列表電話號(hào)碼電話號(hào)碼音就緒電話號(hào)

16、碼音具有邊界的監(jiān)視傳感器加工的第3層DFD圖步驟步驟3:刻畫(huà)輸入和輸出流的邊界:刻畫(huà)輸入和輸出流的邊界,隔離變換中心。隔離變換中心。 輸入流被描述成信息從外部形式變換為內(nèi)部信輸入流被描述成信息從外部形式變換為內(nèi)部信 息的路徑。息的路徑。 輸出流是信息從內(nèi)部形式變換為外部形式的路徑。輸出流是信息從內(nèi)部形式變換為外部形式的路徑。第45頁(yè)/共56頁(yè)步驟步驟4:完成軟件結(jié)構(gòu)的頂層模塊和第一層結(jié)構(gòu)圖:完成軟件結(jié)構(gòu)的頂層模塊和第一層結(jié)構(gòu)圖第46頁(yè)/共56頁(yè)步驟步驟5:完成軟件結(jié)構(gòu)的第二層結(jié)構(gòu)轉(zhuǎn)化:完成軟件結(jié)構(gòu)的第二層結(jié)構(gòu)轉(zhuǎn)化第47頁(yè)/共56頁(yè)完成軟件結(jié)構(gòu)的第一次迭代完成軟件結(jié)構(gòu)的第一次迭代第48頁(yè)/共56

17、頁(yè)監(jiān)視傳感器主控模塊警報(bào)輸出控制模塊產(chǎn)生顯示信息生成報(bào)警信號(hào)與電話線路建立聯(lián)系生成脈沖獲取反饋信息讀取傳感器建立報(bào)警環(huán)境步驟步驟6:用提高軟件質(zhì)量的啟發(fā)信息,精化第一次迭:用提高軟件質(zhì)量的啟發(fā)信息,精化第一次迭 代得到的程序結(jié)構(gòu)代得到的程序結(jié)構(gòu)第49頁(yè)/共56頁(yè) 事務(wù)分析 事務(wù)分析方法的具體步驟 重畫(huà)數(shù)據(jù)流圖 確定事務(wù)流和變換流 標(biāo)識(shí)事務(wù)中心、事務(wù)接收路徑和事務(wù)處理路徑 設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層 設(shè)計(jì)軟件結(jié)構(gòu)的第二層第50頁(yè)/共56頁(yè)具有邊界的用戶交互子系統(tǒng)的第2層DFD步驟步驟1:評(píng)審和精化軟件的數(shù)據(jù)流圖:評(píng)審和精化軟件的數(shù)據(jù)流圖步驟步驟2:確定:確定DFD含有變換流還是事務(wù)流特征。含有變換流還是事務(wù)流特征。步驟步驟3:標(biāo)識(shí)事務(wù)中心和每條動(dòng)作路徑上的流特征。:標(biāo)識(shí)事務(wù)中心

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論