面向數(shù)據(jù)的分析方法_第1頁
面向數(shù)據(jù)的分析方法_第2頁
面向數(shù)據(jù)的分析方法_第3頁
面向數(shù)據(jù)的分析方法_第4頁
面向數(shù)據(jù)的分析方法_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

面向數(shù)據(jù)的分析方法第1頁,共34頁,2023年,2月20日,星期四第6章面向數(shù)據(jù)的分析方法與形式化方法除了面向數(shù)據(jù)流的分析方法,仍有其他一些方法可供分析人員選擇,這些方法包括面向數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)開發(fā)方法(DSSD),Jackson系統(tǒng)開發(fā)方法(JSD)以及形式化軟件規(guī)格說明技術(shù)。前兩種統(tǒng)稱為面向數(shù)據(jù)的需求分析方法。它們的共同特點是:

1.以信息對象及其操作為核心進行需求分析,這一點與面向?qū)ο蠓治鲇邢嗨浦帯?/p>

2.認為復合信息對象具有層次結(jié)構(gòu),并且可按順序、選擇、重復三種結(jié)構(gòu)分解為成員信息對象。

3.提供將層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機制,從而為軟件設計奠定較好的基礎。第2頁,共34頁,2023年,2月20日,星期四6.1面向數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)開發(fā)方法DSSD也叫Warnier-Orr方法。1974年,法國人J.D.Warnier提出了一種LCP(LogicalConstructionofPrograms,邏輯構(gòu)造程序)。他利用順序、選擇、重復三種結(jié)構(gòu)表示信息的層次分解,并指出可以從信息層次結(jié)構(gòu)推導出程序結(jié)構(gòu)。1981年KenOrr對Warnier的工作進行了擴充,使其不僅包含了Warnier的信息層次結(jié)構(gòu),還引進了數(shù)據(jù)流和處理功能,從而發(fā)展成為一種需求分析方法。本節(jié)首先介紹Warnier圖,然后以此為基礎闡述DSSD方法,其主要內(nèi)容包括:如何創(chuàng)建實體圖、信息過程圖及Warnier?Orr原型圖。第3頁,共34頁,2023年,2月20日,星期四Warnier圖Warnier圖又稱為Warnier-Orr圖,可以表示數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)??紤]一個典型的報紙自動組版系統(tǒng)。報紙作為其中重要的信息對象,具有以下內(nèi)容:1.首版

1)標題新聞

2)國內(nèi)新聞

3)本地新聞2.商業(yè)金融版

1)股市行情

2)商業(yè)新聞

3)廣告3.文化體育版

1)文化、體育新聞

2)散文

3)新書評論該信息結(jié)構(gòu)用Warnier圖如圖6?1?1所示。第4頁,共34頁,2023年,2月20日,星期四Warnier圖圖6?1?1Warnier圖示例標題新聞國內(nèi)新聞本地新聞股市行情(0,1)商業(yè)新聞廣告(1,5)文化、體育新聞散文新書評論文化體育版首版商業(yè)金融版報紙第5頁,共34頁,2023年,2月20日,星期四Warnier圖花括號內(nèi)的信息條目構(gòu)成順序關系;花括號從左至右排列表示樹型層次結(jié)構(gòu);符號“⊕”表示不可兼具的選擇關系;“ ̄”表示“非”。圓括號內(nèi)的數(shù)字表示重復次數(shù):(1,n)表示重復結(jié)構(gòu),(1)或不標次數(shù)表示順序結(jié)構(gòu),(0,1)表示選擇結(jié)構(gòu)。第6頁,共34頁,2023年,2月20日,星期四6.1.2DSSD方法基于DSSD需求分析方法的主要步驟是:

1)標識與應用問題有關的實體。

2)創(chuàng)建一種類似于數(shù)據(jù)流圖的信息?過程圖。

3)創(chuàng)建Warnier?Orr原型圖。在詳細介紹DSSD的具體步驟之前,首先用數(shù)據(jù)流圖描述一個基于計算機的軟件專賣店管理系統(tǒng),見圖6?1?2。(該數(shù)據(jù)流圖并非DSSD的組成部分,僅用于說明后面將要用到的應用問題實例。)第7頁,共34頁,2023年,2月20日,星期四圖6?1?2軟件專賣店管理系統(tǒng)的數(shù)據(jù)流圖結(jié)算系統(tǒng)管理系統(tǒng)客戶訂單處理員接收并登錄訂單郵寄員提取、包裝軟件產(chǎn)品訂單訂單編號訂單文件訂單編號客戶姓名、地址預定日期支票編號軟件名稱、編號作者數(shù)量單價總價軟件編號數(shù)量預定日期客戶姓名、地址郵局郵寄品訂單編號第8頁,共34頁,2023年,2月20日,星期四1.標識實體圖在DSSD中,與應用問題有關的實體及它們之間的信息流用實體圖表示。具體地,分析人員可以通過對下述問題的回答來生成實體圖:

1)軟件系統(tǒng)必須處理哪些信息項?

2)信息項的生產(chǎn)者和消費者分別是哪些實體?在上述應用問題中,有關的實體是:客戶、訂單處理員、郵寄員、銀行、結(jié)算員、管理員和郵局,如圖6?1?3(a)所示。訂單處理員的實體圖如圖6?1?3(b)所示。第9頁,共34頁,2023年,2月20日,星期四注:實體圖中的結(jié)點表示實體、有向邊表示實體之間的信息流。(a)信息的生產(chǎn)者和消費者(b)實體圖示例圖6?1?3軟件名稱、編號地址訂單編號支票編號客戶姓名客戶郵寄員訂單處理員銀行結(jié)算員管理員郵局客戶郵寄員結(jié)算員訂單處理員訂單編號訂單編號第10頁,共34頁,2023年,2月20日,星期四圖6?1?4組合實體圖示例當所有實體的實體圖都構(gòu)造完成后,將它們綜合起來便形成整個目標軟件系統(tǒng)的實體圖。客戶郵寄員軟件產(chǎn)品庫結(jié)算員管理員銀行訂單信息=

客戶姓名+

地址+

軟件名稱與編碼+

支票編號郵寄品支付催款軟件產(chǎn)品月報表收據(jù)存款訂單編號訂單編號訂單信息訂單編號訂單處理員第11頁,共34頁,2023年,2月20日,星期四2.創(chuàng)建信息?過程圖DSSD中的信息?過程圖與數(shù)據(jù)流圖的作用類似,都是用來表示信息流及其處理功能的。但是,信息?過程圖從每個實體的輸出信息流開始,逆向?qū)ふ矣糜谏稍撦敵鲂畔⒌妮斎胄畔⒘骷跋鄳奶幚砉δ堋5?2頁,共34頁,2023年,2月20日,星期四2.創(chuàng)建信息?過程圖圖6?1?5信息?過程圖示例郵寄品是由訂單編號和軟件產(chǎn)品經(jīng)過郵寄品包裝過程生成的,訂單編號又是由客戶訂購信息和訂單編號過程生成的。郵寄品訂單編號軟件產(chǎn)品+郵寄品包裝訂購信息+訂單編號過程第13頁,共34頁,2023年,2月20日,星期四3.創(chuàng)建Warnier?Orr原型圖DSSD方法要求分析人員在最后以表格形式給出主要的輸出信息的組成元素(見圖6?1?6(a)),然后將其精確地表示為Warnier?Orr圖(見圖6?1?6(b))姓名客戶信息地址電話軟件編號(1~n)郵寄品單價(1~n)

總價姓名客戶信息地址電話郵寄品客戶姓名——地址——電話——總價——發(fā)件人姓名——

地址——

電話——定單編號——軟件編號——單價——數(shù)量——總價——(a)輸出信息的表格表示(b)Warnier?Orr圖

圖6?1?6軟件產(chǎn)品信息第14頁,共34頁,2023年,2月20日,星期四6.2Jackson系統(tǒng)開發(fā)方法1975年,英國人M.A.Jackson提出了軟件工程領域中著名的Jackson方法,當時它只用于軟件設計。1983年,Jackson又對它進行了多方面的擴充和完善,最終發(fā)展成為一種需求分析方法。其核心思想是:根據(jù)作用于數(shù)據(jù)的行為序列的結(jié)構(gòu)(順序、選擇、重復),建立目標軟件系統(tǒng)的模型,然后在軟件設計階段將模型轉(zhuǎn)換為相應的程序結(jié)構(gòu)。Jackson方法在需求分析階段的主要步驟是:(1)標識實體與行為。(2)生成實體結(jié)構(gòu)圖。(3)創(chuàng)建軟件系統(tǒng)模型。第15頁,共34頁,2023年,2月20日,星期四6.2.1標識實體與行為類似于面向?qū)ο蠓治鲋袑ο蠹捌湫袨榈淖R別,Jackson方法針對初步需求分析形成的用戶需求描述進行語法分析:名詞及名詞短語——潛在的實體,相關的動詞——構(gòu)成實體的潛在行為。分析人員根據(jù)應用問題的邊界及自己的理解,決定對潛在實體和行為的取舍。

第16頁,共34頁,2023年,2月20日,星期四6.2.1標識實體與行為【例6.1】北華大學決定將分處兩地的校園用直達交通車連接起來。在每個校園設一個站,站內(nèi)配置一個按鈕。學生通過按鈕請求交通車搭載。交通車應盡快滿足學生的請求??臻e時,交通車停在任意站等候。分析人員可從“大學”、“校園”、“交通車”、“車站”、“學生”、“按鈕”等名詞中選取與應用問題相關的實體:“交通車”、“車站”、“按鈕”。與它們有關的行為是:“到站”、“離站”、“按鍵”。“等候”和“運行”可以作為“交通車”的狀態(tài)。第17頁,共34頁,2023年,2月20日,星期四6.2.2生成實體結(jié)構(gòu)圖在Jackson方法中,實體結(jié)構(gòu)是指實體在時間坐標系中的行為序列。這種序列以順序、選擇和重復三種結(jié)構(gòu)進行復合。Jackson給出的實體結(jié)構(gòu)圖的表示機制如圖6?2?1所示。其中的子結(jié)點既可以是行為,也可以是子實體。在后一種情況下,子實體應該繼續(xù)分解,不能作為實體結(jié)構(gòu)圖的葉結(jié)點。順序結(jié)構(gòu)*重復結(jié)構(gòu)

°

°選擇結(jié)構(gòu)圖6?2?1實體結(jié)構(gòu)圖的圖形記號第18頁,共34頁,2023年,2月20日,星期四圖6?2?2實體結(jié)構(gòu)圖示例例6.1的實體結(jié)構(gòu)圖如圖6?2?2所示。在圖中,i只能取值1或2。并且,在“站(i)”的重復序列中,i首先取2,然后交替變化。交通車首先停在站1,然后在兩站之間反復往返運行,最后??吭谡?。為了刻畫交通車在兩站之間的往返穿梭,引入了虛擬的概念實體“Shuttlebody”。ShuttleShuttle*bodyStation(i)Arrive(i)Leave(i)Arrive(1)ButtonPush*Leave(1)第19頁,共34頁,2023年,2月20日,星期四6.2.3創(chuàng)建軟件系統(tǒng)模型創(chuàng)建目標軟件系統(tǒng)模型的第一步,Jackson方法要求分析人員首先用圖6?2?3所示的圖形記號建立系統(tǒng)規(guī)格說明圖(SystemSpecificationDiagram)?!皵?shù)據(jù)流”(DataStream)記號——表示現(xiàn)實世界中的過程或裝置不斷地向目標軟件系統(tǒng)中的相應過程發(fā)送數(shù)據(jù),后者以先進先出方式消費數(shù)據(jù)。兩者之間的緩沖區(qū)容量是無限的?!盃顟B(tài)向量”(StateVector)記號——表示在兩者之間存在狀態(tài)向量,發(fā)送方設置狀態(tài)向量,接收方讀取狀態(tài)向量。第20頁,共34頁,2023年,2月20日,星期四約定:0表示現(xiàn)實世界中的過程或裝置,

1表示目標軟件系統(tǒng)中的過程圖6?2?3系統(tǒng)規(guī)格說明圖的圖形記號過程1DS過程0過程1SV數(shù)據(jù)流(DataStream)過程0狀態(tài)向量(StateVector)第21頁,共34頁,2023年,2月20日,星期四圖6?2?4系統(tǒng)規(guī)格說明圖示例在前述應用問題中,站內(nèi)按鈕和目標軟件中的按鈕處理過程之間以“數(shù)據(jù)流”方式連接,交通車和交通車控制過程之間則應以“狀態(tài)向量”方式連接。見圖6?2?4。Button?1DSShuttle?0Shuttle?1SV數(shù)據(jù)流聯(lián)系Button?0狀態(tài)向量聯(lián)系第22頁,共34頁,2023年,2月20日,星期四創(chuàng)建模型的第二步是利用Jackson給出的“結(jié)構(gòu)正文”(StructureText)將實體結(jié)構(gòu)圖和系統(tǒng)規(guī)格說明圖綜合起來,并針對目標軟件系統(tǒng)中的每一過程用正文方式給出更為精確、更為詳盡的描述。BUUTTON_1ReadButtonDown信號

PUSH_BODYitrwhileButtonDown/*循環(huán)結(jié)構(gòu)*/PUSH/*按鍵處理*/ReadButtonDown信號

PUSH_BODYendBOTTON_1end第23頁,共34頁,2023年,2月20日,星期四6.2.3創(chuàng)建軟件系統(tǒng)模型SHUTTLE_1seq/*順序結(jié)構(gòu)*/Read狀態(tài)向量

WAIT_BODY1itrwhileWait(1)/*如果狀態(tài)向量中等待標志置位,則循環(huán)等待*/Read狀態(tài)向量

WAIT_BODY1endTRANSIT_BODY1itrwhileTransit(1)/*如果狀態(tài)向量中運行標志置位,則一直運行*/Read狀態(tài)向量

TRANSIT_BODY1endLeave(1)/*控制交通車離開站1*/第24頁,共34頁,2023年,2月20日,星期四SHUTTLE_BODYitr/*往返重復運行*/STATIONseqArrive(i)/*控制交通車減速,準備??空緄*/WAIT_BODYitrwhileWait(i)/*如果狀態(tài)向量中在站i的等待標志置位,則循環(huán)等待*/Read狀態(tài)向量

WAIT_BODYendLeave(i)TRANSIT_BODYitrwhileWait(i)Read狀態(tài)向量

TRANSIT_BODYendSTATIONendSHUTTLE_BODYendArrive(1)

SHUTTLE_1end第25頁,共34頁,2023年,2月20日,星期四圖6?2?5對應于結(jié)構(gòu)正文的結(jié)構(gòu)圖Shuttle?1Station(i)*Arrive(1)Leave(1)Shuttle?body1TRANSit?body1wait?body1Transit(i)*Transit(1)*Arrive(i)Leave(i)Wait(1)*TRANSit?bodywait?bodyWait(i)*第26頁,共34頁,2023年,2月20日,星期四6.3形式化方法簡介前面對數(shù)據(jù)流圖等語言機制并未給出數(shù)學意義上嚴格的語法和語義說明。因此,這些需求模型都或多或少地帶有不精確性、不完整性,甚至不一致性。需求分析完成后,軟件開發(fā)的正確實施仍有賴于設計人員對分析人員主觀意圖的揣摩,而不僅僅取決于他們對需求文檔的客觀理解。許多軟件開發(fā)實踐都希望借助于形式化方法嚴格地定義用戶需求,并通過數(shù)學推演而不是代價昂貴的失敗教訓來確保需求定義的一致性和完整性。本節(jié)簡要介紹形式方法的引入、主要思想、分類、優(yōu)缺點以及軟件形式開發(fā)方法。第27頁,共34頁,2023年,2月20日,星期四6.3.1形式化方法的引入在傳統(tǒng)的軟件開發(fā)過程中,人們普遍采用許多非形式化的圖形工具和文字符號工具,例如:數(shù)據(jù)流圖(DFD)、模塊結(jié)構(gòu)圖(SC)、IPO圖、結(jié)構(gòu)化語言、類程序設計語言、判定表、判定樹等,并按照一定的設計原則和有序步驟,或自上而下或循環(huán)往復逐步開發(fā)出目標軟件,同時手工或輔助編寫有關設計文檔。軟件工程的實踐表明,用戶需求規(guī)格說明的質(zhì)量對于后續(xù)的軟件開發(fā)過程是非常重要的。系統(tǒng)分析人員依據(jù)用戶需求,為目標軟件系統(tǒng)創(chuàng)建了需求規(guī)格說明(Specification)。設計和編程人員根據(jù)這個需求規(guī)格說明進行系統(tǒng)結(jié)構(gòu)和模塊設計及編碼。軟件測試及驗收人員則根據(jù)這個需求規(guī)格說明驗證目標系統(tǒng)。第28頁,共34頁,2023年,2月20日,星期四6.3.1形式化方法的引入若采用自然語言描述的規(guī)格說明具有模糊性和二義性,給下一步的開發(fā)工作造成理解上的困難。同時自然語言又是非形式化的,無法得到計算機的支持,使軟件生成自動化幾乎不可能。程序設計語言著重描述的是“如何做”(Howtodo)而不是“做什么”(Whattodo)的問題。因此程序設計語言并不太適合描述抽象程度較高的需求規(guī)格說明。第29頁,共34頁,2023年,2月20日,星期四6.3.1形式化方法的引入近年來,人們正在發(fā)展一種更抽象的程序設計語言——更高級語言(VeryHighLan-guage),也稱為第四代語言4GL。這種語言更多地采用了過程抽象和數(shù)據(jù)抽象技術(shù)。但這種語言的出發(fā)點仍在系統(tǒng)的設計方面,作為需求規(guī)格的描述語言仍存在不足。20世紀80年代中期以來,一種專用于需求規(guī)格說明的形式規(guī)格說明語言應運而生。這種形式規(guī)格說明語言克服了自然語言和程序設計語言的不足,應用形式化、規(guī)范化的數(shù)學理論,嚴格定義軟件系統(tǒng)“做什么”的形式語義模型,并支持自動程序轉(zhuǎn)換系統(tǒng)將需求規(guī)格說明的語義模型轉(zhuǎn)換為可執(zhí)行代碼。由此產(chǎn)生的軟件形式開發(fā)方法正日益受到各國軟件界的重視。第30頁,共34頁,2023年,2月20日,星期四6.3.2形式方式的主要思想形式化需求分析方法的主要思想,是利用形式化規(guī)格說明語言嚴格地定義用戶需求,并采用數(shù)學推演的方法證明需求定義的性質(zhì),例如一致性、實時系統(tǒng)的活性(liveness)和公平性(fairness)等。從某種意義上講,形式化方法是克服需求分析階段中主要困難(不精確性、不一致性和不完全性)的有效途徑。形式化規(guī)格說明語言包括:嚴格的語法定義、嚴格的語義定義以及一系列的數(shù)學推演規(guī)則。第31頁,共34

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論