面向數(shù)據(jù)的分析方法_第1頁(yè)
面向數(shù)據(jù)的分析方法_第2頁(yè)
面向數(shù)據(jù)的分析方法_第3頁(yè)
面向數(shù)據(jù)的分析方法_第4頁(yè)
面向數(shù)據(jù)的分析方法_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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、課程名稱:軟件工程課程名稱:軟件工程 第第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ī)格說(shuō)明技術(shù)。前兩種統(tǒng))以及形式化軟件規(guī)格說(shuō)明技術(shù)。前兩種統(tǒng) 稱為面向數(shù)據(jù)的需求分析方法。它們的共同特點(diǎn)是:稱為面向數(shù)據(jù)的需求分析方法。它們的共同特點(diǎn)是: 1以信息對(duì)象及其操作為核心進(jìn)行需求分析,這以信息對(duì)象及其操作為核心進(jìn)行需求分析,這 一點(diǎn)與面向?qū)ο蠓治鲇邢嗨浦帯R稽c(diǎn)與面向?qū)ο蠓治鲇邢嗨浦帯?2認(rèn)為復(fù)合信息對(duì)象具有層次結(jié)構(gòu),并且可按順認(rèn)為復(fù)合信息對(duì)象具有層次結(jié)構(gòu),并且可按順 序、選擇、重

3、復(fù)三種結(jié)構(gòu)分解為成員信息對(duì)象。序、選擇、重復(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年,法國(guó)人年,法國(guó)人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)出程的層次分解,并指出可以從

4、信息層次結(jié)構(gòu)推導(dǎo)出程 序結(jié)構(gòu)。序結(jié)構(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í)體圖、信 息過(guò)程圖及息過(guò)程圖及Warnier Orr原型圖。原型圖。 Warnier圖又稱為圖又稱為Warnier-Orr圖

5、,可以表示數(shù)據(jù)結(jié)圖,可以表示數(shù)據(jù)結(jié) 構(gòu)和程序結(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)國(guó)內(nèi)新聞)國(guó)內(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 圖示例

6、圖示例 標(biāo)題新聞標(biāo)題新聞 國(guó)內(nèi)新聞國(guó)內(nèi)新聞 本地新聞本地新聞 股市行情股市行情(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ù)表

7、示順序結(jié)構(gòu),)或不標(biāo)次數(shù)表示順序結(jié)構(gòu), (0,1)表示選擇結(jié)構(gòu)。)表示選擇結(jié)構(gòu)。 基于基于DSSD需求分析方法的主要步驟是:需求分析方法的主要步驟是: 1)標(biāo)識(shí)與應(yīng)用問(wèn)題有關(guān)的實(shí)體。)標(biāo)識(shí)與應(yīng)用問(wèn)題有關(guān)的實(shí)體。 2)創(chuàng)建一種類似于數(shù)據(jù)流圖的信息)創(chuàng)建一種類似于數(shù)據(jù)流圖的信息 過(guò)程圖。過(guò)程圖。 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的組成部分,的組成

8、部分, 僅用于說(shuō)明后面將要用到的應(yīng)用問(wèn)題實(shí)例。)僅用于說(shuō)明后面將要用到的應(yīng)用問(wèn)題實(shí)例。) 圖圖6 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ù)定日期 客戶姓名、地址客戶姓名、地址 郵局郵局

9、 郵寄品郵寄品 訂單編號(hào)訂單編號(hào) 在在DSSD中,與應(yīng)用問(wèn)題有關(guān)的實(shí)體及它們之間的中,與應(yīng)用問(wèn)題有關(guān)的實(shí)體及它們之間的 信息流用實(shí)體圖表示。信息流用實(shí)體圖表示。 具體地,分析人員可以通過(guò)對(duì)下述問(wèn)題的回答來(lái)具體地,分析人員可以通過(guò)對(duì)下述問(wèn)題的回答來(lái) 生成實(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)用問(wèn)題中,有關(guān)的實(shí)體是:客戶、訂在上述應(yīng)用問(wèn)題中,有關(guān)的實(shí)體是:客戶、訂 單處理員、郵寄員、銀行、結(jié)算員、管理員和郵局,單處理員、郵寄員、銀行、結(jié)算員、管理員和郵局, 如

10、圖如圖6 1 3(a)所示。)所示。 訂單處理員的實(shí)體圖如圖訂單處理員的實(shí)體圖如圖6 1 3(b)所示。)所示。 注:實(shí)體圖中的結(jié)點(diǎn)表示實(shí)體、有向邊表示實(shí)體之間的信息流。注:實(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)編

11、號(hào) 訂單編號(hào)訂單編號(hào) 圖圖6 1 4 組合實(shí)體圖示例組合實(shí)體圖示例 當(dāng)所有實(shí)體的實(shí)體圖都構(gòu)造完成后,將它們綜合起當(dāng)所有實(shí)體的實(shí)體圖都構(gòu)造完成后,將它們綜合起 來(lái)便形成整個(gè)目標(biāo)軟件系統(tǒng)的實(shí)體圖。來(lái)便形成整個(gè)目標(biāo)軟件系統(tǒng)的實(shí)體圖。 客戶客戶郵寄郵寄 員員 軟件產(chǎn)品庫(kù)軟件產(chǎn)品庫(kù) 結(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) 訂單訂單 處理員處理員

12、 DSSD中的信息中的信息 過(guò)程圖與數(shù)據(jù)流圖的作過(guò)程圖與數(shù)據(jù)流圖的作 用類似,都是用來(lái)表示信息流及其處理用類似,都是用來(lái)表示信息流及其處理 功能的。但是,信息功能的。但是,信息 過(guò)程圖從每個(gè)實(shí)過(guò)程圖從每個(gè)實(shí) 體的輸出信息流開始,逆向?qū)ふ矣糜谏w的輸出信息流開始,逆向?qū)ふ矣糜谏?成該輸出信息的輸入信息流及相應(yīng)的處成該輸出信息的輸入信息流及相應(yīng)的處 理功能。理功能。 圖圖6 1 5 信息信息 過(guò)程圖示例過(guò)程圖示例 郵寄品是由訂單編號(hào)和軟件產(chǎn)品經(jīng)過(guò)郵寄品包郵寄品是由訂單編號(hào)和軟件產(chǎn)品經(jīng)過(guò)郵寄品包 裝過(guò)程生成的,訂單編號(hào)又是由客戶訂購(gòu)信息裝過(guò)程生成的,訂單編號(hào)又是由客戶訂購(gòu)信息 和訂單編號(hào)過(guò)程生成的。

13、和訂單編號(hào)過(guò)程生成的。 郵寄品郵寄品 訂單編號(hào)訂單編號(hào) 軟件產(chǎn)品軟件產(chǎn)品 + 郵寄品包裝郵寄品包裝 訂購(gòu)信息訂購(gòu)信息 + 訂單編號(hào)過(guò)程訂單編號(hào)過(guò)程 DSSD方法要求分析人員在最后以表格形式給出主要的方法要求分析人員在最后以表格形式給出主要的 輸出信息的組成元素(見圖輸出信息的組成元素(見圖6 1 6(a),然后將),然后將 其精確地表示為其精確地表示為Warnier Orr圖(見圖圖(見圖6 1 6(b) 姓名姓名 客戶信息客戶信息 地址地址 電話電話 軟件編號(hào)軟件編號(hào)(1n) 郵寄品郵寄品 單價(jià)單價(jià)(1n) 總價(jià)總價(jià) 姓名姓名 客戶信息客戶信息 地址地址 電話電話 郵寄品郵寄品 客戶姓名客戶

14、姓名 地地 址址 電電 話話 總總 價(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年,英國(guó)人年,英國(guó)人M.A.Jackson提出了軟件工程領(lǐng)域中提出了軟件工程領(lǐng)域中 著名的著名的Jackson方法,當(dāng)時(shí)它只用于軟件設(shè)計(jì)。方法,當(dāng)時(shí)它只用于軟件設(shè)計(jì)。1983 年,年,Jackson又對(duì)它進(jìn)行了多方面的擴(kuò)充和完善,最又對(duì)它進(jìn)行了多方面的擴(kuò)充和完善,最 終發(fā)展成為一種需求分析方法。終發(fā)展成為一種需

15、求分析方法。 其核心思想是:根據(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)識(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方

16、法針對(duì)初步需求分析形成的用戶方法針對(duì)初步需求分析形成的用戶 需求描述進(jìn)行語(yǔ)法分析:需求描述進(jìn)行語(yǔ)法分析: 名詞及名詞短語(yǔ)名詞及名詞短語(yǔ)潛在的實(shí)體,潛在的實(shí)體, 相關(guān)的動(dòng)詞相關(guān)的動(dòng)詞構(gòu)成實(shí)體的潛在行為。構(gòu)成實(shí)體的潛在行為。 分析人員根據(jù)應(yīng)用問(wèn)題的邊界及自己的理解,分析人員根據(jù)應(yīng)用問(wèn)題的邊界及自己的理解, 決定對(duì)潛在實(shí)體和行為的取舍。決定對(duì)潛在實(shí)體和行為的取舍。 【例【例6.1】北華大學(xué)決定將分處兩地的校園用直達(dá)】北華大學(xué)決定將分處兩地的校園用直達(dá) 交通車連接起來(lái)。在每個(gè)校園設(shè)一個(gè)站,站內(nèi)配交通車連接起來(lái)。在每個(gè)校園設(shè)一個(gè)站,站內(nèi)配 置一個(gè)按鈕。學(xué)生通過(guò)按鈕請(qǐng)求交通車搭載。交置一個(gè)按鈕。學(xué)生通過(guò)按

17、鈕請(qǐng)求交通車搭載。交 通車應(yīng)盡快滿足學(xué)生的請(qǐng)求??臻e時(shí),交通車停通車應(yīng)盡快滿足學(xué)生的請(qǐng)求??臻e時(shí),交通車停 在任意站等候。在任意站等候。 分析人員可從分析人員可從“大學(xué)大學(xué)”、“校園校園”、“交通交通 車車”、“車站車站”、“學(xué)生學(xué)生”、“按鈕按鈕”等名詞中等名詞中 選取與應(yīng)用問(wèn)題相關(guān)的實(shí)體:選取與應(yīng)用問(wèn)題相關(guān)的實(shí)體:“交通車交通車”、“車車 站站”、“按鈕按鈕”。與它們有關(guān)的行為是:。與它們有關(guān)的行為是:“到到 站站”、“離站離站”、“按鍵按鍵”?!暗群虻群颉焙秃汀斑\(yùn)行運(yùn)行” 可以作為可以作為“交通車交通車”的狀態(tài)。的狀態(tài)。 在在Jackson方法中,實(shí)體結(jié)構(gòu)是指實(shí)體在時(shí)間坐標(biāo)系中方法中,實(shí)

18、體結(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)圖的葉結(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) 圖圖6 2 2 實(shí)體結(jié)

19、構(gòu)圖示例實(shí)體結(jié)構(gòu)圖示例 例例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í)體擬的概念實(shí)體“Shuttle body”。 Shuttle Shuttle* body Station(i) Arrive(i

20、)Leave(i) Arrive(1)Button Push* 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ī)格說(shuō)明圖(系統(tǒng)規(guī)格說(shuō)明圖(System Specification Diagram)。)。 “數(shù)據(jù)流數(shù)據(jù)流”(Data Stream)記號(hào))記號(hào)表示現(xiàn)實(shí)世界表示現(xiàn)實(shí)世界 中的過(guò)程或裝置不斷地向目標(biāo)軟件系統(tǒng)中的相應(yīng)過(guò)中的過(guò)程或裝置不斷地向目標(biāo)軟件系統(tǒng)中的相應(yīng)過(guò) 程發(fā)送數(shù)據(jù),后者以先進(jìn)先出方式消費(fèi)數(shù)據(jù)。兩者程發(fā)送數(shù)據(jù),后者以先進(jìn)先出方式消費(fèi)數(shù)

21、據(jù)。兩者 之間的緩沖區(qū)容量是無(wú)限的。之間的緩沖區(qū)容量是無(wú)限的。 “狀態(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í)世界中的過(guò)程或裝置,表示現(xiàn)實(shí)世界中的過(guò)程或裝置, 1 表示目標(biāo)軟件系統(tǒng)中的過(guò)程表示目標(biāo)軟件系統(tǒng)中的過(guò)程 圖圖6 2 3 系統(tǒng)規(guī)格說(shuō)明圖的圖形記號(hào)系統(tǒng)規(guī)格說(shuō)明圖的圖形記號(hào) 過(guò)程過(guò)程1DS 過(guò)程過(guò)程0過(guò)程過(guò)程1 SV 數(shù)據(jù)流(數(shù)據(jù)流(Data Stream) 過(guò)程過(guò)程0 狀態(tài)向量(狀態(tài)向量(State Vector

22、) 圖圖6 2 4 系統(tǒng)規(guī)格說(shuō)明圖示例系統(tǒng)規(guī)格說(shuō)明圖示例 在前述應(yīng)用問(wèn)題中,站內(nèi)按鈕和目標(biāo)軟在前述應(yīng)用問(wèn)題中,站內(nèi)按鈕和目標(biāo)軟 件中的按鈕處理過(guò)程之間以件中的按鈕處理過(guò)程之間以“數(shù)據(jù)流數(shù)據(jù)流” 方式連接,交通車和交通車控制過(guò)程之方式連接,交通車和交通車控制過(guò)程之 間則應(yīng)以間則應(yīng)以“狀態(tài)向量狀態(tài)向量”方式連接。見圖方式連接。見圖 6 2 4。 Button 1 DS Shuttle 0 Shuttle 1 SV 數(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 Tex

23、t)將實(shí)體結(jié)構(gòu)圖和系統(tǒng)規(guī)格說(shuō)明圖綜)將實(shí)體結(jié)構(gòu)圖和系統(tǒng)規(guī)格說(shuō)明圖綜 合起來(lái),并針對(duì)目標(biāo)軟件系統(tǒng)中的每一過(guò)程用正文方合起來(lái),并針對(duì)目標(biāo)軟件系統(tǒng)中的每一過(guò)程用正文方 式給出更為精確、更為詳盡的描述。式給出更為精確、更為詳盡的描述。 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 end BOTTON_1 end SHUTTLE_1 seq /* 順序結(jié)構(gòu)順序結(jié)構(gòu) */ Read 狀態(tài)向量狀態(tài)向

24、量 WAIT_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 end Leave(1) /* 控制交通車離開站控制交通車離開站1 */ SHUTTLE_BODY itr /* 往返重復(fù)運(yùn)行往返重復(fù)運(yùn)行 */ STATION seq

25、Arrive(i) /* 控制交通車減速,準(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é)

26、構(gòu)正文的結(jié)構(gòu)圖 Shuttle 1 Station(i)* Arrive(1)Leave(1) Shuttle body1 TRANSit body1 wait body1 Transit(i)* Transit(1)* Arrive(i)Leave(i) Wait(1)* TRANSit body wait body Wait(i)* 前面對(duì)數(shù)據(jù)流圖等語(yǔ)言機(jī)制并未給出數(shù)學(xué)意義上嚴(yán)前面對(duì)數(shù)據(jù)流圖等語(yǔ)言機(jī)制并未給出數(shù)學(xué)意義上嚴(yán) 格的語(yǔ)法和語(yǔ)義說(shuō)明。因此,這些需求模型都或多格的語(yǔ)法和語(yǔ)義說(shuō)明。因此,這些需求模型都或多 或少地帶有不精確性、不完整性,甚至不一致性。或少地帶有不精確性、不完整性,甚至不

27、一致性。 需求分析完成后,軟件開發(fā)的正確實(shí)施仍有賴于設(shè)需求分析完成后,軟件開發(fā)的正確實(shí)施仍有賴于設(shè) 計(jì)人員對(duì)分析人員主觀意圖的揣摩,而不僅僅取決計(jì)人員對(duì)分析人員主觀意圖的揣摩,而不僅僅取決 于他們對(duì)需求文檔的客觀理解。于他們對(duì)需求文檔的客觀理解。 許多軟件開發(fā)實(shí)踐都希望借助于形式化方法嚴(yán)格地許多軟件開發(fā)實(shí)踐都希望借助于形式化方法嚴(yán)格地 定義用戶需求,并通過(guò)數(shù)學(xué)推演而不是代價(jià)昂貴的定義用戶需求,并通過(guò)數(shù)學(xué)推演而不是代價(jià)昂貴的 失敗教訓(xùn)來(lái)確保需求定義的一致性和完整性。本節(jié)失敗教訓(xùn)來(lái)確保需求定義的一致性和完整性。本節(jié) 簡(jiǎn)要介紹形式方法的引入、主要思想、分類、優(yōu)缺簡(jiǎn)要介紹形式方法的引入、主要思想、分類

28、、優(yōu)缺 點(diǎn)以及軟件形式開發(fā)方法。點(diǎn)以及軟件形式開發(fā)方法。 在傳統(tǒng)的軟件開發(fā)過(guò)程中,人們普遍采用許多非形式在傳統(tǒng)的軟件開發(fā)過(guò)程中,人們普遍采用許多非形式 化的圖形工具和文字符號(hào)工具,例如:數(shù)據(jù)流圖化的圖形工具和文字符號(hào)工具,例如:數(shù)據(jù)流圖 (DFD)、模塊結(jié)構(gòu)圖()、模塊結(jié)構(gòu)圖(SC)、)、IPO圖、結(jié)構(gòu)化語(yǔ)言、圖、結(jié)構(gòu)化語(yǔ)言、 類程序設(shè)計(jì)語(yǔ)言、判定表、判定樹等,并按照一定的設(shè)類程序設(shè)計(jì)語(yǔ)言、判定表、判定樹等,并按照一定的設(shè) 計(jì)原則和有序步驟,或自上而下或循環(huán)往復(fù)逐步開發(fā)出計(jì)原則和有序步驟,或自上而下或循環(huán)往復(fù)逐步開發(fā)出 目標(biāo)軟件,同時(shí)手工或輔助編寫有關(guān)設(shè)計(jì)文檔。目標(biāo)軟件,同時(shí)手工或輔助編寫有關(guān)

29、設(shè)計(jì)文檔。 軟件工程的實(shí)踐表明,用戶需求規(guī)格說(shuō)明的質(zhì)量對(duì)于軟件工程的實(shí)踐表明,用戶需求規(guī)格說(shuō)明的質(zhì)量對(duì)于 后續(xù)的軟件開發(fā)過(guò)程是非常重要的。系統(tǒng)分析人員依據(jù)后續(xù)的軟件開發(fā)過(guò)程是非常重要的。系統(tǒng)分析人員依據(jù) 用戶需求,為目標(biāo)軟件系統(tǒng)創(chuàng)建了需求規(guī)格說(shuō)明用戶需求,為目標(biāo)軟件系統(tǒng)創(chuàng)建了需求規(guī)格說(shuō)明 (Specification)。設(shè)計(jì)和編程人員根據(jù)這個(gè)需求規(guī)格)。設(shè)計(jì)和編程人員根據(jù)這個(gè)需求規(guī)格 說(shuō)明進(jìn)行系統(tǒng)結(jié)構(gòu)和模塊設(shè)計(jì)及編碼。軟件測(cè)試及驗(yàn)收說(shuō)明進(jìn)行系統(tǒng)結(jié)構(gòu)和模塊設(shè)計(jì)及編碼。軟件測(cè)試及驗(yàn)收 人員則根據(jù)這個(gè)需求規(guī)格說(shuō)明驗(yàn)證目標(biāo)系統(tǒng)。人員則根據(jù)這個(gè)需求規(guī)格說(shuō)明驗(yàn)證目標(biāo)系統(tǒng)。 若采用自然語(yǔ)言描述的規(guī)格說(shuō)明具有

30、模糊性和若采用自然語(yǔ)言描述的規(guī)格說(shuō)明具有模糊性和 二義性,給下一步的開發(fā)工作造成理解上的困二義性,給下一步的開發(fā)工作造成理解上的困 難。同時(shí)自然語(yǔ)言又是非形式化的,無(wú)法得到難。同時(shí)自然語(yǔ)言又是非形式化的,無(wú)法得到 計(jì)算機(jī)的支持,使軟件生成自動(dòng)化幾乎不可能。計(jì)算機(jī)的支持,使軟件生成自動(dòng)化幾乎不可能。 程序設(shè)計(jì)語(yǔ)言著重描述的是程序設(shè)計(jì)語(yǔ)言著重描述的是“如何做如何做”(How to do)而不是)而不是“做什么做什么”(What to do)的問(wèn))的問(wèn) 題。因此程序設(shè)計(jì)語(yǔ)言并不太適合描述抽象程題。因此程序設(shè)計(jì)語(yǔ)言并不太適合描述抽象程 度較高的需求規(guī)格說(shuō)明。度較高的需求規(guī)格說(shuō)明。 近年來(lái),人們正在發(fā)展

31、一種更抽象的程序設(shè)計(jì)語(yǔ)言近年來(lái),人們正在發(fā)展一種更抽象的程序設(shè)計(jì)語(yǔ)言 更高級(jí)語(yǔ)言(更高級(jí)語(yǔ)言(Very High Lan-guage),也稱為第四),也稱為第四 代語(yǔ)言代語(yǔ)言4GL。這種語(yǔ)言更多地采用了過(guò)程抽象和數(shù)據(jù)。這種語(yǔ)言更多地采用了過(guò)程抽象和數(shù)據(jù) 抽象技術(shù)。但這種語(yǔ)言的出發(fā)點(diǎn)仍在系統(tǒng)的設(shè)計(jì)方面,抽象技術(shù)。但這種語(yǔ)言的出發(fā)點(diǎn)仍在系統(tǒng)的設(shè)計(jì)方面, 作為需求規(guī)格的描述語(yǔ)言仍存在不足。作為需求規(guī)格的描述語(yǔ)言仍存在不足。 20世紀(jì)世紀(jì)80年代中期以來(lái),一種專用于需求規(guī)格說(shuō)明的年代中期以來(lái),一種專用于需求規(guī)格說(shuō)明的 形式規(guī)格說(shuō)明語(yǔ)言應(yīng)運(yùn)而生。這種形式規(guī)格說(shuō)明語(yǔ)言形式規(guī)格說(shuō)明語(yǔ)言應(yīng)運(yùn)而生。這種形式規(guī)格

32、說(shuō)明語(yǔ)言 克服了自然語(yǔ)言和程序設(shè)計(jì)語(yǔ)言的不足,應(yīng)用形式化、克服了自然語(yǔ)言和程序設(shè)計(jì)語(yǔ)言的不足,應(yīng)用形式化、 規(guī)范化的數(shù)學(xué)理論,嚴(yán)格定義軟件系統(tǒng)規(guī)范化的數(shù)學(xué)理論,嚴(yán)格定義軟件系統(tǒng)“做什么做什么”的的 形式語(yǔ)義模型,并支持自動(dòng)程序轉(zhuǎn)換系統(tǒng)將需求規(guī)格形式語(yǔ)義模型,并支持自動(dòng)程序轉(zhuǎn)換系統(tǒng)將需求規(guī)格 說(shuō)明的語(yǔ)義模型轉(zhuǎn)換為可執(zhí)行代碼。由此產(chǎn)生的軟件說(shuō)明的語(yǔ)義模型轉(zhuǎn)換為可執(zhí)行代碼。由此產(chǎn)生的軟件 形式開發(fā)方法正日益受到各國(guó)軟件界的重視。形式開發(fā)方法正日益受到各國(guó)軟件界的重視。 形式化需求分析方法的主要思想,是利用形式形式化需求分析方法的主要思想,是利用形式 化規(guī)格說(shuō)明語(yǔ)言嚴(yán)格地定義用戶需求,并采用化規(guī)格說(shuō)明

33、語(yǔ)言嚴(yán)格地定義用戶需求,并采用 數(shù)學(xué)推演的方法證明需求定義的性質(zhì),例如一數(shù)學(xué)推演的方法證明需求定義的性質(zhì),例如一 致性、實(shí)時(shí)系統(tǒng)的活性(致性、實(shí)時(shí)系統(tǒng)的活性(liveness)和公平性)和公平性 (fairness)等。)等。 從某種意義上講,形式化方法是克服需求分析從某種意義上講,形式化方法是克服需求分析 階段中主要困難(不精確性、不一致性和不完階段中主要困難(不精確性、不一致性和不完 全性)的有效途徑。全性)的有效途徑。 形式化規(guī)格說(shuō)明語(yǔ)言包括:嚴(yán)格的語(yǔ)法定義、形式化規(guī)格說(shuō)明語(yǔ)言包括:嚴(yán)格的語(yǔ)法定義、 嚴(yán)格的語(yǔ)義定義以及一系列的數(shù)學(xué)推演規(guī)則。嚴(yán)格的語(yǔ)義定義以及一系列的數(shù)學(xué)推演規(guī)則。 規(guī)格說(shuō)

34、明語(yǔ)言的語(yǔ)法一般基于集合論、數(shù)理邏規(guī)格說(shuō)明語(yǔ)言的語(yǔ)法一般基于集合論、數(shù)理邏 輯或代數(shù)學(xué)。輯或代數(shù)學(xué)。 規(guī)格說(shuō)明語(yǔ)言的語(yǔ)義是其所有語(yǔ)法符號(hào)的意義規(guī)格說(shuō)明語(yǔ)言的語(yǔ)義是其所有語(yǔ)法符號(hào)的意義 的數(shù)學(xué)描述。經(jīng)典的語(yǔ)義定義方法包括指稱語(yǔ)的數(shù)學(xué)描述。經(jīng)典的語(yǔ)義定義方法包括指稱語(yǔ) 義、代數(shù)語(yǔ)義和操作語(yǔ)義方法。義、代數(shù)語(yǔ)義和操作語(yǔ)義方法。 形式化規(guī)格說(shuō)明語(yǔ)言的推演規(guī)則一般與其數(shù)學(xué)形式化規(guī)格說(shuō)明語(yǔ)言的推演規(guī)則一般與其數(shù)學(xué) 基礎(chǔ)和語(yǔ)義定義方法密切相關(guān)。例如,以集合基礎(chǔ)和語(yǔ)義定義方法密切相關(guān)。例如,以集合 論和謂詞邏輯為基礎(chǔ)的論和謂詞邏輯為基礎(chǔ)的Z語(yǔ)言就包含了原數(shù)學(xué)語(yǔ)言就包含了原數(shù)學(xué) 系統(tǒng)中有關(guān)的規(guī)則。規(guī)則必須在規(guī)格

35、說(shuō)明語(yǔ)言系統(tǒng)中有關(guān)的規(guī)則。規(guī)則必須在規(guī)格說(shuō)明語(yǔ)言 的語(yǔ)義系統(tǒng)中可證。因此,可以認(rèn)為規(guī)則是派的語(yǔ)義系統(tǒng)中可證。因此,可以認(rèn)為規(guī)則是派 生的語(yǔ)義定義,它們可以直接應(yīng)用于軟件規(guī)格生的語(yǔ)義定義,它們可以直接應(yīng)用于軟件規(guī)格 說(shuō)明的性質(zhì)證明并簡(jiǎn)化推演過(guò)程。說(shuō)明的性質(zhì)證明并簡(jiǎn)化推演過(guò)程。 形式化方法是應(yīng)用嚴(yán)格的形式符號(hào)和數(shù)學(xué)方法定義或形式化方法是應(yīng)用嚴(yán)格的形式符號(hào)和數(shù)學(xué)方法定義或 描述目標(biāo)軟件系統(tǒng)需求規(guī)格說(shuō)明的一種方法。根據(jù)對(duì)描述目標(biāo)軟件系統(tǒng)需求規(guī)格說(shuō)明的一種方法。根據(jù)對(duì) 需求規(guī)格說(shuō)明的定義方式,形式方法可分為以下兩大需求規(guī)格說(shuō)明的定義方式,形式方法可分為以下兩大 類:類: 1面向模型的形式方法。面向模型的

36、形式方法又稱為面向模型的形式方法。面向模型的形式方法又稱為 基于狀態(tài)描述的形式方法。其基本思想是利用域、元基于狀態(tài)描述的形式方法。其基本思想是利用域、元 組、集合、序列、映射、包等這些已知特性的數(shù)學(xué)抽組、集合、序列、映射、包等這些已知特性的數(shù)學(xué)抽 象概念來(lái)為目標(biāo)軟件系統(tǒng)的狀態(tài)特征和行為特征構(gòu)造象概念來(lái)為目標(biāo)軟件系統(tǒng)的狀態(tài)特征和行為特征構(gòu)造 形式語(yǔ)義模型。語(yǔ)義模型就作為目標(biāo)軟件系統(tǒng)需求規(guī)形式語(yǔ)義模型。語(yǔ)義模型就作為目標(biāo)軟件系統(tǒng)需求規(guī) 格的形式說(shuō)明。面向模型的形式方法的主要代表有:格的形式說(shuō)明。面向模型的形式方法的主要代表有: VDM方法(維也納開發(fā)方法)、軟件工程方法(維也納開發(fā)方法)、軟件工程Z方法等。方法等。 2代數(shù)構(gòu)造形式方法。代數(shù)形式方法為目標(biāo)軟件系統(tǒng)代數(shù)構(gòu)造形式方法。代數(shù)形式方法為目標(biāo)軟件系統(tǒng) 的需求規(guī)格說(shuō)明提供一些特殊的構(gòu)造機(jī)制,并以代數(shù)的需求規(guī)格說(shuō)明提供一些特殊的構(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ā)過(guò)程稱為軟件形式開發(fā)將形式化方法應(yīng)用于軟件開發(fā)過(guò)程稱為軟件形式開發(fā) 方法。方法

溫馨提示

  • 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)論