




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程名稱:軟件工程課程名稱:軟件工程 第第11講講班班 級(jí):級(jí):日日 期:期:教教 室:室:教學(xué)題目:第教學(xué)題目:第6章章 面向數(shù)據(jù)的分析方法。面向數(shù)據(jù)的分析方法。教學(xué)目的:理解教學(xué)目的:理解Warnier圖及圖及DSSD、Jackson系統(tǒng)開系統(tǒng)開 發(fā)方法。發(fā)方法。教學(xué)重點(diǎn):教學(xué)重點(diǎn): Warnier圖及圖及DSSD、Jackson系統(tǒng)開發(fā)方系統(tǒng)開發(fā)方 法。法。教學(xué)難點(diǎn):教學(xué)難點(diǎn): Jackson系統(tǒng)開發(fā)方法。系統(tǒng)開發(fā)方法。教教 具:多媒體教室、電子教案具:多媒體教室、電子教案作作 業(yè):業(yè): 除了面向數(shù)據(jù)流的分析方法,仍有其他一些方法可除了面向數(shù)據(jù)流的分析方法,仍有其他一些方法可供分析人員選
2、擇,這些方法包括面向數(shù)據(jù)結(jié)構(gòu)的系供分析人員選擇,這些方法包括面向數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)開發(fā)方法(統(tǒng)開發(fā)方法(DSSD),),Jackson系統(tǒng)開發(fā)方法系統(tǒng)開發(fā)方法(JSD)以及形式化軟件規(guī)格說明技術(shù)。前兩種統(tǒng))以及形式化軟件規(guī)格說明技術(shù)。前兩種統(tǒng)稱為面向數(shù)據(jù)的需求分析方法。它們的共同特點(diǎn)是:稱為面向數(shù)據(jù)的需求分析方法。它們的共同特點(diǎn)是: 1以信息對(duì)象及其操作為核心進(jìn)行需求分析,這以信息對(duì)象及其操作為核心進(jìn)行需求分析,這 一點(diǎn)與面向?qū)ο蠓治鲇邢嗨浦?。一點(diǎn)與面向?qū)ο蠓治鲇邢嗨浦帯?2認(rèn)為復(fù)合信息對(duì)象具有層次結(jié)構(gòu),并且可按順認(rèn)為復(fù)合信息對(duì)象具有層次結(jié)構(gòu),并且可按順 序、選擇、重復(fù)三種結(jié)構(gòu)分解為成員信息對(duì)
3、象。序、選擇、重復(fù)三種結(jié)構(gòu)分解為成員信息對(duì)象。 3提供將層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機(jī)制,提供將層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機(jī)制, 從而為軟件設(shè)計(jì)奠定較好的基礎(chǔ)。從而為軟件設(shè)計(jì)奠定較好的基礎(chǔ)。 DSSD也叫也叫Warnier-Orr方法。方法。 1974年,法國人年,法國人J.D.Warnier提出了一種提出了一種LCP(Logical Construction of Programs,邏輯構(gòu)造程,邏輯構(gòu)造程序)。他利用順序、選擇、重復(fù)三種結(jié)構(gòu)表示信息序)。他利用順序、選擇、重復(fù)三種結(jié)構(gòu)表示信息的層次分解,并指出可以從信息層次結(jié)構(gòu)推導(dǎo)出程的層次分解,并指出可以從信息層次結(jié)構(gòu)推導(dǎo)出程序結(jié)構(gòu)。序結(jié)
4、構(gòu)。 1981年年Ken Orr對(duì)對(duì)Warnier的工作進(jìn)行了擴(kuò)充,使其的工作進(jìn)行了擴(kuò)充,使其不僅包含了不僅包含了Warnier的信息層次結(jié)構(gòu),還引進(jìn)了數(shù)據(jù)的信息層次結(jié)構(gòu),還引進(jìn)了數(shù)據(jù)流和處理功能,從而發(fā)展成為一種需求分析方法。流和處理功能,從而發(fā)展成為一種需求分析方法。 本節(jié)首先介紹本節(jié)首先介紹Warnier圖,然后以此為基礎(chǔ)闡述圖,然后以此為基礎(chǔ)闡述DSSD方法,其主要內(nèi)容包括:如何創(chuàng)建實(shí)體圖、信方法,其主要內(nèi)容包括:如何創(chuàng)建實(shí)體圖、信息過程圖及息過程圖及Warnier Orr原型圖。原型圖。 Warnier圖又稱為圖又稱為Warnier-Orr圖,可以表示數(shù)據(jù)結(jié)圖,可以表示數(shù)據(jù)結(jié)構(gòu)和程序
5、結(jié)構(gòu)??紤]一個(gè)典型的報(bào)紙自動(dòng)組版系統(tǒng)。構(gòu)和程序結(jié)構(gòu)。考慮一個(gè)典型的報(bào)紙自動(dòng)組版系統(tǒng)。報(bào)紙作為其中重要的信息對(duì)象,具有以下內(nèi)容:報(bào)紙作為其中重要的信息對(duì)象,具有以下內(nèi)容:1首版首版 1)標(biāo)題新聞)標(biāo)題新聞 2)國內(nèi)新聞)國內(nèi)新聞 3)本地新聞)本地新聞2商業(yè)金融版商業(yè)金融版 1)股市行情)股市行情 2)商業(yè)新聞)商業(yè)新聞 3)廣告)廣告3文化體育版文化體育版 1)文化、體育新聞)文化、體育新聞 2)散文)散文 3)新書評(píng)論)新書評(píng)論該信息結(jié)構(gòu)用該信息結(jié)構(gòu)用Warnier圖如圖圖如圖6 1 1所示。所示。圖圖6 1 1 Warnier 圖示例圖示例標(biāo)題新聞標(biāo)題新聞國內(nèi)新聞國內(nèi)新聞本地新聞本地新聞股
6、市行情股市行情(0,1)商業(yè)新聞商業(yè)新聞廣告廣告(1,5)文化、體育新聞文化、體育新聞散文散文 新書評(píng)論新書評(píng)論文化體育版文化體育版首首 版版商業(yè)金融版商業(yè)金融版報(bào)報(bào) 紙紙花括號(hào)內(nèi)的信息條目構(gòu)成順序關(guān)系;花括號(hào)內(nèi)的信息條目構(gòu)成順序關(guān)系;花括號(hào)從左至右排列表示樹型層次結(jié)構(gòu);花括號(hào)從左至右排列表示樹型層次結(jié)構(gòu);符號(hào)符號(hào)“ ”表示不可兼具的選擇關(guān)系;表示不可兼具的選擇關(guān)系;“”表示表示“非非”。圓括號(hào)內(nèi)的數(shù)字表示重復(fù)次數(shù):圓括號(hào)內(nèi)的數(shù)字表示重復(fù)次數(shù): (1,n)表示重復(fù)結(jié)構(gòu),)表示重復(fù)結(jié)構(gòu), (1)或不標(biāo)次數(shù)表示順序結(jié)構(gòu),)或不標(biāo)次數(shù)表示順序結(jié)構(gòu), (0,1)表示選擇結(jié)構(gòu)。)表示選擇結(jié)構(gòu)。 基于基于
7、DSSD需求分析方法的主要步驟是:需求分析方法的主要步驟是: 1)標(biāo)識(shí)與應(yīng)用問題有關(guān)的實(shí)體。)標(biāo)識(shí)與應(yīng)用問題有關(guān)的實(shí)體。 2)創(chuàng)建一種類似于數(shù)據(jù)流圖的信息)創(chuàng)建一種類似于數(shù)據(jù)流圖的信息 過程圖。過程圖。 3)創(chuàng)建)創(chuàng)建Warnier Orr原型圖。原型圖。 在詳細(xì)介紹在詳細(xì)介紹DSSD的具體步驟之前,首先用數(shù)據(jù)流的具體步驟之前,首先用數(shù)據(jù)流圖描述一個(gè)基于計(jì)算機(jī)的軟件專賣店管理系統(tǒng),見圖描述一個(gè)基于計(jì)算機(jī)的軟件專賣店管理系統(tǒng),見圖圖6 1 2。(該數(shù)據(jù)流圖并非。(該數(shù)據(jù)流圖并非DSSD的組成部分,的組成部分,僅用于說明后面將要用到的應(yīng)用問題實(shí)例。)僅用于說明后面將要用到的應(yīng)用問題實(shí)例。)圖圖6
8、1 2 軟件專賣店管理系統(tǒng)的數(shù)據(jù)流軟件專賣店管理系統(tǒng)的數(shù)據(jù)流圖圖結(jié)算系統(tǒng)結(jié)算系統(tǒng)管理系統(tǒng)管理系統(tǒng)客戶客戶訂單處理員接訂單處理員接收并登錄訂單收并登錄訂單郵寄員提取、郵寄員提取、包裝軟件產(chǎn)品包裝軟件產(chǎn)品訂單訂單訂單編號(hào)訂單編號(hào)訂單文件訂單文件訂單編號(hào)訂單編號(hào)客戶姓名、地址客戶姓名、地址預(yù)定日期預(yù)定日期支票編號(hào)支票編號(hào)軟件名稱、編號(hào)軟件名稱、編號(hào)作者作者數(shù)量數(shù)量單價(jià)單價(jià)總價(jià)總價(jià)軟件編號(hào)軟件編號(hào)數(shù)量數(shù)量預(yù)定日期預(yù)定日期客戶姓名、地址客戶姓名、地址郵局郵局郵寄品郵寄品訂單編號(hào)訂單編號(hào) 在在DSSD中,與應(yīng)用問題有關(guān)的實(shí)體及它們之間的中,與應(yīng)用問題有關(guān)的實(shí)體及它們之間的信息流用實(shí)體圖表示。信息流用實(shí)體圖
9、表示。 具體地,分析人員可以通過對(duì)下述問題的回答來具體地,分析人員可以通過對(duì)下述問題的回答來生成實(shí)體圖:生成實(shí)體圖: 1)軟件系統(tǒng)必須處理哪些信息項(xiàng)?)軟件系統(tǒng)必須處理哪些信息項(xiàng)? 2)信息項(xiàng)的生產(chǎn)者和消費(fèi)者分別是哪些實(shí)體?)信息項(xiàng)的生產(chǎn)者和消費(fèi)者分別是哪些實(shí)體? 在上述應(yīng)用問題中,有關(guān)的實(shí)體是:客戶、訂在上述應(yīng)用問題中,有關(guān)的實(shí)體是:客戶、訂單處理員、郵寄員、銀行、結(jié)算員、管理員和郵局,單處理員、郵寄員、銀行、結(jié)算員、管理員和郵局,如圖如圖6 1 3(a)所示。)所示。 訂單處理員的實(shí)體圖如圖訂單處理員的實(shí)體圖如圖6 1 3(b)所示。)所示。注:實(shí)體圖中的結(jié)點(diǎn)表示實(shí)體、有向邊表示實(shí)體之間的
10、信息流。注:實(shí)體圖中的結(jié)點(diǎn)表示實(shí)體、有向邊表示實(shí)體之間的信息流。 (a)信息的生產(chǎn)者和消費(fèi)者)信息的生產(chǎn)者和消費(fèi)者 (b)實(shí)體圖示例)實(shí)體圖示例圖圖6 1 3軟件名稱、軟件名稱、編號(hào)編號(hào)地地 址址訂單編號(hào)訂單編號(hào)支票編號(hào)支票編號(hào)客戶姓名客戶姓名客戶客戶郵寄員郵寄員訂單訂單處理員處理員銀行銀行結(jié)算員結(jié)算員管理員管理員郵局郵局客戶客戶郵寄員郵寄員結(jié)算員結(jié)算員訂訂單單處處理理員員訂單訂單編號(hào)編號(hào)訂單編號(hào)訂單編號(hào)l當(dāng)所有實(shí)體的實(shí)體圖都構(gòu)造完成后,將它們綜合起當(dāng)所有實(shí)體的實(shí)體圖都構(gòu)造完成后,將它們綜合起來便形成整個(gè)目標(biāo)軟件系統(tǒng)的實(shí)體圖。來便形成整個(gè)目標(biāo)軟件系統(tǒng)的實(shí)體圖??蛻艨蛻羿]寄郵寄員員軟件產(chǎn)品庫軟件
11、產(chǎn)品庫結(jié)算員結(jié)算員管理員管理員銀行銀行訂單信息訂單信息= 客戶姓名客戶姓名+ 地址地址+ 軟件名稱與編碼軟件名稱與編碼+ 支票編號(hào)支票編號(hào)郵寄品郵寄品支支付付催催款款軟件軟件 產(chǎn)品產(chǎn)品月報(bào)表月報(bào)表收據(jù)收據(jù)存款存款訂單編號(hào)訂單編號(hào)訂單編號(hào)訂單編號(hào)訂單信息訂單信息訂單編號(hào)訂單編號(hào)訂單訂單處理員處理員 DSSD中的信息中的信息 過程圖與數(shù)據(jù)流圖的作過程圖與數(shù)據(jù)流圖的作用類似,都是用來表示信息流及其處理用類似,都是用來表示信息流及其處理功能的。但是,信息功能的。但是,信息 過程圖從每個(gè)實(shí)過程圖從每個(gè)實(shí)體的輸出信息流開始,逆向?qū)ふ矣糜谏w的輸出信息流開始,逆向?qū)ふ矣糜谏稍撦敵鲂畔⒌妮斎胄畔⒘骷跋鄳?yīng)的處
12、成該輸出信息的輸入信息流及相應(yīng)的處理功能。理功能。圖圖6 1 5 信息信息 過程圖示例過程圖示例郵寄品是由訂單編號(hào)和軟件產(chǎn)品經(jīng)過郵寄品包郵寄品是由訂單編號(hào)和軟件產(chǎn)品經(jīng)過郵寄品包裝過程生成的,訂單編號(hào)又是由客戶訂購信息裝過程生成的,訂單編號(hào)又是由客戶訂購信息和訂單編號(hào)過程生成的。和訂單編號(hào)過程生成的。郵寄品郵寄品訂單編號(hào)訂單編號(hào)軟件產(chǎn)品軟件產(chǎn)品+郵寄品包裝郵寄品包裝訂購信息訂購信息+訂單編號(hào)過程訂單編號(hào)過程 DSSD方法要求分析人員在最后以表格形式給出主要的方法要求分析人員在最后以表格形式給出主要的輸出信息的組成元素(見圖輸出信息的組成元素(見圖6 1 6(a),然后將),然后將其精確地表示為其
13、精確地表示為Warnier Orr圖(見圖圖(見圖6 1 6(b) 姓名姓名 客戶信息客戶信息 地址地址 電話電話 軟件編號(hào)軟件編號(hào)(1n)郵寄品郵寄品 單價(jià)單價(jià)(1n) 總價(jià)總價(jià) 姓名姓名 客戶信息客戶信息 地址地址 電話電話郵寄品郵寄品客戶姓名客戶姓名地地 址址電電 話話總總 價(jià)價(jià)發(fā)件人姓名發(fā)件人姓名 地址地址 電話電話定單編號(hào)定單編號(hào)軟件編號(hào)軟件編號(hào)單單 價(jià)價(jià)數(shù)數(shù) 量量總總 價(jià)價(jià)(a)輸出信息的表格表示)輸出信息的表格表示 (b)Warnier Orr圖圖 圖圖6 1 6 軟件產(chǎn)品軟件產(chǎn)品 信息信息 1975年,英國人年,英國人M.A.Jackson提出了軟件工程領(lǐng)域中提出了軟件工程領(lǐng)域
14、中著名的著名的Jackson方法,當(dāng)時(shí)它只用于軟件設(shè)計(jì)。方法,當(dāng)時(shí)它只用于軟件設(shè)計(jì)。1983年,年,Jackson又對(duì)它進(jìn)行了多方面的擴(kuò)充和完善,最又對(duì)它進(jìn)行了多方面的擴(kuò)充和完善,最終發(fā)展成為一種需求分析方法。終發(fā)展成為一種需求分析方法。 其核心思想是:根據(jù)作用于數(shù)據(jù)的行為序列的結(jié)構(gòu)其核心思想是:根據(jù)作用于數(shù)據(jù)的行為序列的結(jié)構(gòu)(順序、選擇、重復(fù)),建立目標(biāo)軟件系統(tǒng)的模型,(順序、選擇、重復(fù)),建立目標(biāo)軟件系統(tǒng)的模型,然后在軟件設(shè)計(jì)階段將模型轉(zhuǎn)換為相應(yīng)的程序結(jié)構(gòu)。然后在軟件設(shè)計(jì)階段將模型轉(zhuǎn)換為相應(yīng)的程序結(jié)構(gòu)。 Jackson方法在需求分析階段的主要步驟是:方法在需求分析階段的主要步驟是:(1)標(biāo)
15、識(shí)實(shí)體與行為。)標(biāo)識(shí)實(shí)體與行為。(2)生成實(shí)體結(jié)構(gòu)圖。)生成實(shí)體結(jié)構(gòu)圖。(3)創(chuàng)建軟件系統(tǒng)模型。)創(chuàng)建軟件系統(tǒng)模型。 類似于面向?qū)ο蠓治鲋袑?duì)象及其行為的識(shí)別,類似于面向?qū)ο蠓治鲋袑?duì)象及其行為的識(shí)別,Jackson方法針對(duì)初步需求分析形成的用戶方法針對(duì)初步需求分析形成的用戶需求描述進(jìn)行語法分析:需求描述進(jìn)行語法分析: 名詞及名詞短語名詞及名詞短語潛在的實(shí)體,潛在的實(shí)體, 相關(guān)的動(dòng)詞相關(guān)的動(dòng)詞構(gòu)成實(shí)體的潛在行為。構(gòu)成實(shí)體的潛在行為。 分析人員根據(jù)應(yīng)用問題的邊界及自己的理解,分析人員根據(jù)應(yīng)用問題的邊界及自己的理解,決定對(duì)潛在實(shí)體和行為的取舍。決定對(duì)潛在實(shí)體和行為的取舍。 【例【例6.1】北華大學(xué)決定
16、將分處兩地的校園用直達(dá)】北華大學(xué)決定將分處兩地的校園用直達(dá)交通車連接起來。在每個(gè)校園設(shè)一個(gè)站,站內(nèi)配交通車連接起來。在每個(gè)校園設(shè)一個(gè)站,站內(nèi)配置一個(gè)按鈕。學(xué)生通過按鈕請(qǐng)求交通車搭載。交置一個(gè)按鈕。學(xué)生通過按鈕請(qǐng)求交通車搭載。交通車應(yīng)盡快滿足學(xué)生的請(qǐng)求??臻e時(shí),交通車停通車應(yīng)盡快滿足學(xué)生的請(qǐng)求??臻e時(shí),交通車停在任意站等候。在任意站等候。 分析人員可從分析人員可從“大學(xué)大學(xué)”、“校園校園”、“交通交通車車”、“車站車站”、“學(xué)生學(xué)生”、“按鈕按鈕”等名詞中等名詞中選取與應(yīng)用問題相關(guān)的實(shí)體:選取與應(yīng)用問題相關(guān)的實(shí)體:“交通車交通車”、“車車站站”、“按鈕按鈕”。與它們有關(guān)的行為是:。與它們有關(guān)的行
17、為是:“到到站站”、“離站離站”、“按鍵按鍵”?!暗群虻群颉焙秃汀斑\(yùn)行運(yùn)行”可以作為可以作為“交通車交通車”的狀態(tài)。的狀態(tài)。 在在Jackson方法中,實(shí)體結(jié)構(gòu)是指實(shí)體在時(shí)間坐標(biāo)系中方法中,實(shí)體結(jié)構(gòu)是指實(shí)體在時(shí)間坐標(biāo)系中的行為序列。這種序列以順序、選擇和重復(fù)三種結(jié)構(gòu)的行為序列。這種序列以順序、選擇和重復(fù)三種結(jié)構(gòu)進(jìn)行復(fù)合。進(jìn)行復(fù)合。Jackson給出的實(shí)體結(jié)構(gòu)圖的表示機(jī)制如圖給出的實(shí)體結(jié)構(gòu)圖的表示機(jī)制如圖6 2 1所示。其中的子結(jié)點(diǎn)既可以是行為,也可以所示。其中的子結(jié)點(diǎn)既可以是行為,也可以是子實(shí)體。在后一種情況下,子實(shí)體應(yīng)該繼續(xù)分解,是子實(shí)體。在后一種情況下,子實(shí)體應(yīng)該繼續(xù)分解,不能作為實(shí)體結(jié)構(gòu)
18、圖的葉結(jié)點(diǎn)。不能作為實(shí)體結(jié)構(gòu)圖的葉結(jié)點(diǎn)。順序結(jié)構(gòu)順序結(jié)構(gòu) *重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu) 選擇結(jié)構(gòu)選擇結(jié)構(gòu)圖圖6 2 1 實(shí)體結(jié)構(gòu)圖的圖形記實(shí)體結(jié)構(gòu)圖的圖形記號(hào)號(hào) l例例6.1的實(shí)體結(jié)構(gòu)圖如圖的實(shí)體結(jié)構(gòu)圖如圖6 2 2所示。在圖中,所示。在圖中,i 只能取值只能取值1或或2。并且,在。并且,在“站(站(i)”的重復(fù)序列的重復(fù)序列中,中,i首先取首先取2,然后交替變化。交通車首先停在站,然后交替變化。交通車首先停在站1,然后在兩站之間反復(fù)往返運(yùn)行,最后停靠在站,然后在兩站之間反復(fù)往返運(yùn)行,最后停靠在站1。為了刻畫交通車在兩站之間的往返穿梭,引入了虛為了刻畫交通車在兩站之間的往返穿梭,引入了虛擬的概念實(shí)體擬的
19、概念實(shí)體“Shuttle body”。ShuttleShuttle* bodyStation(i)Arrive(i)Leave(i)Arrive(1)ButtonPush*Leave(1) 創(chuàng)建目標(biāo)軟件系統(tǒng)模型的第一步,創(chuàng)建目標(biāo)軟件系統(tǒng)模型的第一步,Jackson方法要方法要求分析人員首先用圖求分析人員首先用圖6 2 3所示的圖形記號(hào)建立所示的圖形記號(hào)建立系統(tǒng)規(guī)格說明圖(系統(tǒng)規(guī)格說明圖(System Specification Diagram)。)。 “數(shù)據(jù)流數(shù)據(jù)流”(Data Stream)記號(hào))記號(hào)表示現(xiàn)實(shí)世表示現(xiàn)實(shí)世界中的過程或裝置不斷地向目標(biāo)軟件系統(tǒng)中的相應(yīng)界中的過程或裝置不斷地向目標(biāo)
20、軟件系統(tǒng)中的相應(yīng)過程發(fā)送數(shù)據(jù),后者以先進(jìn)先出方式消費(fèi)數(shù)據(jù)。兩過程發(fā)送數(shù)據(jù),后者以先進(jìn)先出方式消費(fèi)數(shù)據(jù)。兩者之間的緩沖區(qū)容量是無限的。者之間的緩沖區(qū)容量是無限的。 “狀態(tài)向量狀態(tài)向量”(State Vector)記號(hào))記號(hào)表示在兩者表示在兩者之間存在狀態(tài)向量,發(fā)送方設(shè)置狀態(tài)向量,接收方之間存在狀態(tài)向量,發(fā)送方設(shè)置狀態(tài)向量,接收方讀取狀態(tài)向量。讀取狀態(tài)向量。約定:約定:0 表示現(xiàn)實(shí)世界中的過程或裝置,表示現(xiàn)實(shí)世界中的過程或裝置, 1 表示目標(biāo)軟件系統(tǒng)中的過程表示目標(biāo)軟件系統(tǒng)中的過程圖圖6 2 3 系統(tǒng)規(guī)格說明圖的圖形記號(hào)系統(tǒng)規(guī)格說明圖的圖形記號(hào)過程過程1DS過程過程0過程過程1SV數(shù)據(jù)流(數(shù)據(jù)流(
21、Data Stream)過程過程0狀態(tài)向量(狀態(tài)向量(State Vector) 在前述應(yīng)用問題中,站內(nèi)按鈕和目標(biāo)軟在前述應(yīng)用問題中,站內(nèi)按鈕和目標(biāo)軟件中的按鈕處理過程之間以件中的按鈕處理過程之間以“數(shù)據(jù)流數(shù)據(jù)流”方式連接,交通車和交通車控制過程之方式連接,交通車和交通車控制過程之間則應(yīng)以間則應(yīng)以“狀態(tài)向量狀態(tài)向量”方式連接。見圖方式連接。見圖6 2 4。Button 1DSShuttle 0Shuttle 1SV數(shù)據(jù)流聯(lián)系數(shù)據(jù)流聯(lián)系Button 0狀態(tài)向量聯(lián)系狀態(tài)向量聯(lián)系 創(chuàng)建模型的第二步是利用創(chuàng)建模型的第二步是利用Jackson給出的給出的“結(jié)構(gòu)正文結(jié)構(gòu)正文”(Structure Text
22、)將實(shí)體結(jié)構(gòu)圖和系統(tǒng)規(guī)格說明圖綜)將實(shí)體結(jié)構(gòu)圖和系統(tǒng)規(guī)格說明圖綜合起來,并針對(duì)目標(biāo)軟件系統(tǒng)中的每一過程用正文方合起來,并針對(duì)目標(biāo)軟件系統(tǒng)中的每一過程用正文方式給出更為精確、更為詳盡的描述。式給出更為精確、更為詳盡的描述。BUUTTON_1 Read ButtonDown 信號(hào)信號(hào) PUSH_BODY itr while ButtonDown /* 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) */ PUSH /* 按鍵處理按鍵處理 */ Read ButtonDown 信號(hào)信號(hào) PUSH_BODY endBOTTON_1 endSHUTTLE_1 seq /* 順序結(jié)構(gòu)順序結(jié)構(gòu) */ Read 狀態(tài)向量狀態(tài)向量 WAIT
23、_BODY1 itr while Wait(1) /* 如果狀態(tài)向量如果狀態(tài)向量 中等待標(biāo)志置位,則循環(huán)等待中等待標(biāo)志置位,則循環(huán)等待 */ Read 狀態(tài)向量狀態(tài)向量 WAIT_BODY1 end TRANSIT_BODY1 itr while Transit(1) /* 如果狀態(tài)向如果狀態(tài)向 量中運(yùn)行標(biāo)志置位,則一直運(yùn)行量中運(yùn)行標(biāo)志置位,則一直運(yùn)行 */ Read 狀態(tài)向量狀態(tài)向量 TRANSIT_BODY1 endLeave(1) /* 控制交通車離開站控制交通車離開站1 */SHUTTLE_BODY itr /* 往返重復(fù)運(yùn)行往返重復(fù)運(yùn)行 */ STATION seq Arrive(i
24、) /* 控制交通車減速,準(zhǔn)備??空究刂平煌ㄜ嚋p速,準(zhǔn)備??空緄 */ WAIT_BODY itr while Wait(i) /* 如果狀態(tài)向量如果狀態(tài)向量 中在站中在站i的等待標(biāo)志置位,則循環(huán)等待的等待標(biāo)志置位,則循環(huán)等待 */ Read 狀態(tài)向量狀態(tài)向量 WAIT_BODY end Leave(i) TRANSIT_BODY itr while Wait(i) Read 狀態(tài)向量狀態(tài)向量 TRANSIT_BODY end STATION end SHUTTLE_BODY end Arrive(1) SHUTTLE_1 end圖圖6 2 5 對(duì)應(yīng)于結(jié)構(gòu)正文的結(jié)構(gòu)圖對(duì)應(yīng)于結(jié)構(gòu)正文的結(jié)構(gòu)圖Sh
25、uttle 1Station(i)*Arrive(1)Leave(1)Shuttle body1TRANSit body1wait body1Transit(i)*Transit(1)*Arrive(i)Leave(i)Wait(1)*TRANSit bodywait bodyWait(i)* 前面對(duì)數(shù)據(jù)流圖等語言機(jī)制并未給出數(shù)學(xué)意義上嚴(yán)前面對(duì)數(shù)據(jù)流圖等語言機(jī)制并未給出數(shù)學(xué)意義上嚴(yán)格的語法和語義說明。因此,這些需求模型都或多格的語法和語義說明。因此,這些需求模型都或多或少地帶有不精確性、不完整性,甚至不一致性?;蛏俚貛в胁痪_性、不完整性,甚至不一致性。需求分析完成后,軟件開發(fā)的正確實(shí)施仍有賴
26、于設(shè)需求分析完成后,軟件開發(fā)的正確實(shí)施仍有賴于設(shè)計(jì)人員對(duì)分析人員主觀意圖的揣摩,而不僅僅取決計(jì)人員對(duì)分析人員主觀意圖的揣摩,而不僅僅取決于他們對(duì)需求文檔的客觀理解。于他們對(duì)需求文檔的客觀理解。 許多軟件開發(fā)實(shí)踐都希望借助于形式化方法嚴(yán)格地許多軟件開發(fā)實(shí)踐都希望借助于形式化方法嚴(yán)格地定義用戶需求,并通過數(shù)學(xué)推演而不是代價(jià)昂貴的定義用戶需求,并通過數(shù)學(xué)推演而不是代價(jià)昂貴的失敗教訓(xùn)來確保需求定義的一致性和完整性。本節(jié)失敗教訓(xùn)來確保需求定義的一致性和完整性。本節(jié)簡要介紹形式方法的引入、主要思想、分類、優(yōu)缺簡要介紹形式方法的引入、主要思想、分類、優(yōu)缺點(diǎn)以及軟件形式開發(fā)方法。點(diǎn)以及軟件形式開發(fā)方法。 在傳
27、統(tǒng)的軟件開發(fā)過程中,人們普遍采用許多非形式在傳統(tǒng)的軟件開發(fā)過程中,人們普遍采用許多非形式化的圖形工具和文字符號(hào)工具,例如:數(shù)據(jù)流圖化的圖形工具和文字符號(hào)工具,例如:數(shù)據(jù)流圖(DFD)、模塊結(jié)構(gòu)圖()、模塊結(jié)構(gòu)圖(SC)、)、IPO圖、結(jié)構(gòu)化語言、圖、結(jié)構(gòu)化語言、類程序設(shè)計(jì)語言、判定表、判定樹等,并按照一定的設(shè)類程序設(shè)計(jì)語言、判定表、判定樹等,并按照一定的設(shè)計(jì)原則和有序步驟,或自上而下或循環(huán)往復(fù)逐步開發(fā)出計(jì)原則和有序步驟,或自上而下或循環(huán)往復(fù)逐步開發(fā)出目標(biāo)軟件,同時(shí)手工或輔助編寫有關(guān)設(shè)計(jì)文檔。目標(biāo)軟件,同時(shí)手工或輔助編寫有關(guān)設(shè)計(jì)文檔。 軟件工程的實(shí)踐表明,用戶需求規(guī)格說明的質(zhì)量對(duì)于軟件工程的實(shí)踐
28、表明,用戶需求規(guī)格說明的質(zhì)量對(duì)于后續(xù)的軟件開發(fā)過程是非常重要的。系統(tǒng)分析人員依據(jù)后續(xù)的軟件開發(fā)過程是非常重要的。系統(tǒng)分析人員依據(jù)用戶需求,為目標(biāo)軟件系統(tǒng)創(chuàng)建了需求規(guī)格說明用戶需求,為目標(biāo)軟件系統(tǒng)創(chuàng)建了需求規(guī)格說明(Specification)。設(shè)計(jì)和編程人員根據(jù)這個(gè)需求規(guī)格)。設(shè)計(jì)和編程人員根據(jù)這個(gè)需求規(guī)格說明進(jìn)行系統(tǒng)結(jié)構(gòu)和模塊設(shè)計(jì)及編碼。軟件測試及驗(yàn)收說明進(jìn)行系統(tǒng)結(jié)構(gòu)和模塊設(shè)計(jì)及編碼。軟件測試及驗(yàn)收人員則根據(jù)這個(gè)需求規(guī)格說明驗(yàn)證目標(biāo)系統(tǒng)。人員則根據(jù)這個(gè)需求規(guī)格說明驗(yàn)證目標(biāo)系統(tǒng)。 若采用自然語言描述的規(guī)格說明具有模糊性和若采用自然語言描述的規(guī)格說明具有模糊性和二義性,給下一步的開發(fā)工作造成理解
29、上的困二義性,給下一步的開發(fā)工作造成理解上的困難。同時(shí)自然語言又是非形式化的,無法得到難。同時(shí)自然語言又是非形式化的,無法得到計(jì)算機(jī)的支持,使軟件生成自動(dòng)化幾乎不可能。計(jì)算機(jī)的支持,使軟件生成自動(dòng)化幾乎不可能。 程序設(shè)計(jì)語言著重描述的是程序設(shè)計(jì)語言著重描述的是“如何做如何做”(How to do)而不是)而不是“做什么做什么”(What to do)的問)的問題。因此程序設(shè)計(jì)語言并不太適合描述抽象程題。因此程序設(shè)計(jì)語言并不太適合描述抽象程度較高的需求規(guī)格說明。度較高的需求規(guī)格說明。 近年來,人們正在發(fā)展一種更抽象的程序設(shè)計(jì)語言近年來,人們正在發(fā)展一種更抽象的程序設(shè)計(jì)語言更高級(jí)語言(更高級(jí)語言(
30、Very High Lan-guage),也稱為第四),也稱為第四代語言代語言4GL。這種語言更多地采用了過程抽象和數(shù)據(jù)。這種語言更多地采用了過程抽象和數(shù)據(jù)抽象技術(shù)。但這種語言的出發(fā)點(diǎn)仍在系統(tǒng)的設(shè)計(jì)方面,抽象技術(shù)。但這種語言的出發(fā)點(diǎn)仍在系統(tǒng)的設(shè)計(jì)方面,作為需求規(guī)格的描述語言仍存在不足。作為需求規(guī)格的描述語言仍存在不足。 20世紀(jì)世紀(jì)80年代中期以來,一種專用于需求規(guī)格說明的年代中期以來,一種專用于需求規(guī)格說明的形式規(guī)格說明語言應(yīng)運(yùn)而生。這種形式規(guī)格說明語言形式規(guī)格說明語言應(yīng)運(yùn)而生。這種形式規(guī)格說明語言克服了自然語言和程序設(shè)計(jì)語言的不足,應(yīng)用形式化、克服了自然語言和程序設(shè)計(jì)語言的不足,應(yīng)用形式化
31、、規(guī)范化的數(shù)學(xué)理論,嚴(yán)格定義軟件系統(tǒng)規(guī)范化的數(shù)學(xué)理論,嚴(yán)格定義軟件系統(tǒng)“做什么做什么”的的形式語義模型,并支持自動(dòng)程序轉(zhuǎn)換系統(tǒng)將需求規(guī)格形式語義模型,并支持自動(dòng)程序轉(zhuǎn)換系統(tǒng)將需求規(guī)格說明的語義模型轉(zhuǎn)換為可執(zhí)行代碼。由此產(chǎn)生的軟件說明的語義模型轉(zhuǎn)換為可執(zhí)行代碼。由此產(chǎn)生的軟件形式開發(fā)方法正日益受到各國軟件界的重視。形式開發(fā)方法正日益受到各國軟件界的重視。 形式化需求分析方法的主要思想,是利用形式形式化需求分析方法的主要思想,是利用形式化規(guī)格說明語言嚴(yán)格地定義用戶需求,并采用化規(guī)格說明語言嚴(yán)格地定義用戶需求,并采用數(shù)學(xué)推演的方法證明需求定義的性質(zhì),例如一數(shù)學(xué)推演的方法證明需求定義的性質(zhì),例如一致性
32、、實(shí)時(shí)系統(tǒng)的活性(致性、實(shí)時(shí)系統(tǒng)的活性(liveness)和公平性)和公平性(fairness)等。)等。 從某種意義上講,形式化方法是克服需求分析從某種意義上講,形式化方法是克服需求分析階段中主要困難(不精確性、不一致性和不完階段中主要困難(不精確性、不一致性和不完全性)的有效途徑。全性)的有效途徑。 形式化規(guī)格說明語言包括:嚴(yán)格的語法定義、形式化規(guī)格說明語言包括:嚴(yán)格的語法定義、嚴(yán)格的語義定義以及一系列的數(shù)學(xué)推演規(guī)則。嚴(yán)格的語義定義以及一系列的數(shù)學(xué)推演規(guī)則。 規(guī)格說明語言的語法一般基于集合論、數(shù)理邏規(guī)格說明語言的語法一般基于集合論、數(shù)理邏輯或代數(shù)學(xué)。輯或代數(shù)學(xué)。 規(guī)格說明語言的語義是其所有
33、語法符號(hào)的意義規(guī)格說明語言的語義是其所有語法符號(hào)的意義的數(shù)學(xué)描述。經(jīng)典的語義定義方法包括指稱語的數(shù)學(xué)描述。經(jīng)典的語義定義方法包括指稱語義、代數(shù)語義和操作語義方法。義、代數(shù)語義和操作語義方法。 形式化規(guī)格說明語言的推演規(guī)則一般與其數(shù)學(xué)形式化規(guī)格說明語言的推演規(guī)則一般與其數(shù)學(xué)基礎(chǔ)和語義定義方法密切相關(guān)。例如,以集合基礎(chǔ)和語義定義方法密切相關(guān)。例如,以集合論和謂詞邏輯為基礎(chǔ)的論和謂詞邏輯為基礎(chǔ)的Z語言就包含了原數(shù)學(xué)語言就包含了原數(shù)學(xué)系統(tǒng)中有關(guān)的規(guī)則。規(guī)則必須在規(guī)格說明語言系統(tǒng)中有關(guān)的規(guī)則。規(guī)則必須在規(guī)格說明語言的語義系統(tǒng)中可證。因此,可以認(rèn)為規(guī)則是派的語義系統(tǒng)中可證。因此,可以認(rèn)為規(guī)則是派生的語義定
34、義,它們可以直接應(yīng)用于軟件規(guī)格生的語義定義,它們可以直接應(yīng)用于軟件規(guī)格說明的性質(zhì)證明并簡化推演過程。說明的性質(zhì)證明并簡化推演過程。 形式化方法是應(yīng)用嚴(yán)格的形式符號(hào)和數(shù)學(xué)方法定義或形式化方法是應(yīng)用嚴(yán)格的形式符號(hào)和數(shù)學(xué)方法定義或描述目標(biāo)軟件系統(tǒng)需求規(guī)格說明的一種方法。根據(jù)對(duì)描述目標(biāo)軟件系統(tǒng)需求規(guī)格說明的一種方法。根據(jù)對(duì)需求規(guī)格說明的定義方式,形式方法可分為以下兩大需求規(guī)格說明的定義方式,形式方法可分為以下兩大類:類:1面向模型的形式方法。面向模型的形式方法又稱為面向模型的形式方法。面向模型的形式方法又稱為基于狀態(tài)描述的形式方法。其基本思想是利用域、元基于狀態(tài)描述的形式方法。其基本思想是利用域、元組
35、、集合、序列、映射、包等這些已知特性的數(shù)學(xué)抽組、集合、序列、映射、包等這些已知特性的數(shù)學(xué)抽象概念來為目標(biāo)軟件系統(tǒng)的狀態(tài)特征和行為特征構(gòu)造象概念來為目標(biāo)軟件系統(tǒng)的狀態(tài)特征和行為特征構(gòu)造形式語義模型。語義模型就作為目標(biāo)軟件系統(tǒng)需求規(guī)形式語義模型。語義模型就作為目標(biāo)軟件系統(tǒng)需求規(guī)格的形式說明。面向模型的形式方法的主要代表有:格的形式說明。面向模型的形式方法的主要代表有:VDM方法(維也納開發(fā)方法)、軟件工程方法(維也納開發(fā)方法)、軟件工程Z方法等。方法等。2代數(shù)構(gòu)造形式方法。代數(shù)形式方法為目標(biāo)軟件系統(tǒng)代數(shù)構(gòu)造形式方法。代數(shù)形式方法為目標(biāo)軟件系統(tǒng)的需求規(guī)格說明提供一些特殊的構(gòu)造機(jī)制,并以代數(shù)的需求規(guī)格說明提供一些特殊的構(gòu)造機(jī)制,并以代數(shù)構(gòu)造方式描述目標(biāo)系統(tǒng)的結(jié)構(gòu)、功能。構(gòu)造方式描述目標(biāo)系統(tǒng)的結(jié)構(gòu)、功能。 將形式化方法應(yīng)用于軟件開發(fā)過程稱為軟件形式開發(fā)將形式化方法應(yīng)用于軟件開發(fā)過程稱為軟件形式開發(fā)方法。方法。 其主要內(nèi)容是:其主要內(nèi)容是: 首先
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)養(yǎng)生保健知識(shí)宣傳講課件
- 監(jiān)理品牌選定方案(3篇)
- 2025至2030生物農(nóng)藥產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 農(nóng)業(yè)基地掛牌方案(3篇)
- 院子地磚拆除方案(3篇)
- 智能化技術(shù)在房地產(chǎn)居住配套服務(wù)中的應(yīng)用
- 淺談小學(xué)科學(xué)教學(xué)的重要性
- 高中實(shí)踐感悟300字
- 研究生開題報(bào)告要寫些什么
- 什么叫實(shí)踐研究
- 寵物清潔衛(wèi)生用品貓砂
- 大模型備案-落實(shí)算法安全主體責(zé)任基本情況-XX集團(tuán)有限公司
- 【低空遙感】拓恒技術(shù)有限公司 -提供從無人機(jī)到場景應(yīng)用垂直產(chǎn)業(yè)價(jià)值鏈的整體解決方案項(xiàng)目商業(yè)計(jì)劃書
- 2025-2030中國蔬菜溫室大棚市場消費(fèi)趨勢分析與經(jīng)營管理風(fēng)險(xiǎn)報(bào)告
- 學(xué)校外來人員登記制度
- 店鋪裝修工程施工方案(3篇)
- 腰椎間盤突出癥中醫(yī)護(hù)理查房
- 多重耐藥菌醫(yī)院感染預(yù)防與控制技術(shù)指南(試行)
- 地面注漿施工方案
- 委托種植水果協(xié)議
- 深圳“20+8”之生物醫(yī)藥產(chǎn)業(yè)-前景機(jī)遇與技術(shù)趨勢探析報(bào)告-前瞻產(chǎn)業(yè)研究院
評(píng)論
0/150
提交評(píng)論