《軟件工程第06章》由會員分享,可在線閱讀,更多相關(guān)《軟件工程第06章(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,*,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,第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ū)ο蠓治鲇邢嗨浦帯?2認(rèn)為復(fù)合信息對象具有層次結(jié)構(gòu),并且可按順,序、選擇、重復(fù)三種結(jié)構(gòu)分解為成員信息對象。,3提供將層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機制,,從而為軟件設(shè)計奠定較好的基礎(chǔ)。,
2、6.1,面,面向數(shù),據(jù),據(jù)結(jié)構(gòu)的,系,系統(tǒng)開發(fā),方,方法,DSSD,也,也叫Warnier-Orr方法。,1974,年,年,法國,人,人J.D.Warnier,提,提出了一,種,種LCP,(,(LogicalConstruction ofPrograms,邏輯,構(gòu),構(gòu)造程序,),)。他利,用,用順序、,選,選擇、重,復(fù),復(fù)三種結(jié),構(gòu),構(gòu)表示信,息,息的層次,分,分解,并,指,指出可以,從,從信息層,次,次結(jié)構(gòu)推,導(dǎo),導(dǎo)出程序,結(jié),結(jié)構(gòu)。,1981,年,年KenOrr,對,對Warnier,的,的工作進,行,行了擴充,,,,使其不,僅,僅包含了Warnier的,信,信息層次,結(jié),結(jié)構(gòu),還,引,引
3、進了數(shù),據(jù),據(jù)流和處,理,理功能,,從,從而發(fā)展,成,成為一種,需,需求分析,方,方法。,本節(jié)首先,介,介紹Warnier圖,然,后,后以此為,基,基礎(chǔ)闡述DSSD,方,方法,其,主,主要內(nèi)容,包,包括:如,何,何創(chuàng)建實,體,體圖、信,息,息過程圖,及,及Warnier,Orr,原,原型圖。,Warnier圖,Warnier圖,又,又稱為Warnier-Orr圖,,可,可以表示,數(shù),數(shù)據(jù)結(jié)構(gòu),和,和程序結(jié),構(gòu),構(gòu)??紤],一,一個典型,的,的報紙自,動,動組版系,統(tǒng),統(tǒng)。報紙,作,作為其中,重,重要的信,息,息對象,,具,具有以下,內(nèi),內(nèi)容:,1首版,1)標(biāo)題,新,新聞,2)國內(nèi),新,新聞,3)
4、本地,新,新聞,2商業(yè),金,金融版,1)股市,行,行情,2)商業(yè),新,新聞,3)廣告,3文化,體,體育版,1)文化,、,、體育新,聞,聞,2)散文,3)新書,評,評論,該信息結(jié),構(gòu),構(gòu)用Warnier圖如圖611所示。,Warnier圖,圖61,1Warnier,圖,圖示例,標(biāo)題新聞,國內(nèi)新聞,本地新聞,股市行情(0,1),商業(yè)新聞,廣告(1,5),文化、體育新聞,散文,新書評論,文化體育版,首 版,商業(yè)金融版,報 紙,Warnier圖,花括號內(nèi),的,的信息條,目,目構(gòu)成順,序,序關(guān)系;,花括號從,左,左至右排,列,列表示樹,型,型層次結(jié),構(gòu),構(gòu);,符號“,”,”表示不,可,可兼具的,選,選擇
5、關(guān)系,;,;,“”表,示,示“非”,。,。,圓括號內(nèi),的,的數(shù)字表,示,示重復(fù)次,數(shù),數(shù):,(1,n,),)表示重,復(fù),復(fù)結(jié)構(gòu),,(1)或,不,不標(biāo)次數(shù),表,表示順序,結(jié),結(jié)構(gòu),,(0,1,),)表示選,擇,擇結(jié)構(gòu)。,6.1.2 DSSD方,法,法,基于DSSD需求,分,分析方法,的,的主要步,驟,驟是:,1)標(biāo)識,與,與應(yīng)用問,題,題有關(guān)的,實,實體。,2)創(chuàng)建,一,一種類似,于,于數(shù)據(jù)流,圖,圖的信息,過程圖,。,。,3)創(chuàng)建WarnierOrr原,型,型圖。,在詳細(xì)介,紹,紹DSSD的具體,步,步驟之前,,,,首先用,數(shù),數(shù)據(jù)流圖,描,描述一個,基,基于計算,機,機的軟件,專,專賣店管,
6、理,理系統(tǒng),,見,見圖612。,(,(該數(shù)據(jù),流,流圖并非DSSD,的,的組成部,分,分,僅用,于,于說明后,面,面將要用,到,到的應(yīng)用,問,問題實例,。,。),圖61,2 軟,件,件專賣店,管,管理系統(tǒng),的,的數(shù)據(jù)流,圖,圖,結(jié)算系統(tǒng),管理系統(tǒng),客戶,訂單處理,員,員接收并,登,登錄訂單,郵寄員提,取,取、包裝,軟,軟件產(chǎn)品,訂單,訂單編號,訂單文件,訂單編號,客戶姓名,、,、地址,預(yù)定日期,支票編號,軟件名稱,、,、編號,作者,數(shù)量,單價,總價,軟件編號,數(shù)量,預(yù)定日期,客戶姓名、地,址,址,郵局,郵寄品,訂單編號,1標(biāo)識實體,圖,圖,在DSSD中,,,,與應(yīng)用問題,有,有關(guān)的實體及,它,
7、它們之間的信,息,息流用實體圖,表,表示。,具體地,分析,人,人員可以通過,對,對下述問題的,回,回答來生成實,體,體圖:,1)軟件系統(tǒng),必,必須處理哪些,信,信息項?,2)信息項的,生,生產(chǎn)者和消費,者,者分別是哪些,實,實體?,在上述應(yīng)用問,題,題中,有關(guān)的,實,實體是:客戶,、,、訂單處理員,、,、郵寄員、銀,行,行、結(jié)算員、,管,管理員和郵局,,,,如圖61,3(a)所,示,示。,訂單處理員的,實,實體圖如圖6,13(b,),)所示。,注:實體圖中,的,的結(jié)點表示實,體,體、有向邊表,示,示實體之間的,信,信息流。,(a)信息的,生,生產(chǎn)者和消費,者,者,(,(b)實體,圖,圖示例,圖
8、613,軟件名稱、,編號,地 址,訂單編號,支票編號,客戶姓名,客戶,郵寄員,訂單,處理員,銀行,結(jié)算員,管理員,郵局,客戶,郵寄員,結(jié)算員,訂單處理員,訂單,編號,訂單編號,圖614,組,組合實體,圖,圖示例,當(dāng)所有實體的,實,實體圖都構(gòu)造,完,完成后,將它,們,們綜合起來便,形,形成整個目標(biāo),軟,軟件系統(tǒng)的實,體,體圖。,客戶,郵寄員,軟件產(chǎn)品庫,結(jié)算員,管理員,銀行,訂單信息=,客戶姓名+,地址+,軟件名稱與編,碼,碼+,支票編號,郵寄品,支付,催款,軟件 產(chǎn)品,月報表,收據(jù),存款,訂單編號,訂單編號,訂單信息,訂單編號,訂單,處理員,2創(chuàng)建信息,過程圖,DSSD中的,信,信息過程圖,與
9、,與數(shù)據(jù)流圖的,作,作用類似,都,是,是用來表示信,息,息流及其處理,功,功能的。但是,,,,信息過程,圖,圖從每個實體,的,的輸出信息流,開,開始,逆向?qū)?找,找用于生成該,輸,輸出信息的輸,入,入信息流及相,應(yīng),應(yīng)的處理功能,。,。,2創(chuàng)建信息,過程圖,圖615,信,信息過,程,程圖示例,郵寄品是由訂,單,單編號和軟件,產(chǎn),產(chǎn)品經(jīng)過郵寄,品,品包裝過程生,成,成的,訂單編,號,號又是由客戶,訂,訂購信息和訂,單,單編號過程生,成,成的。,郵寄品,訂單編號,軟件產(chǎn)品,+,郵寄品包裝,訂購信息,+,訂單編號過程,3創(chuàng)建WarnierOrr原型圖,DSSD方法,要,要求分析人員,在,在最后以表格
10、,形,形式給出主要,的,的輸出信息的,組,組成元素(見,圖,圖616,(,(a),然,后,后將其精確地,表,表示為WarnierOrr圖(見圖616(b),姓名,客戶信息,地,地址,電話,軟件編號(1n),郵寄品,單,單,價,價(1n),總價,姓名,客戶信息,地,地址,電話,郵寄品,客戶姓名,地 址,電 話,總 價,發(fā)件人姓名,地址,電話,定單編號,軟件編號,單 價,數(shù) 量,總 價,(a)輸出信,息,息的表格表示,(,(b,),)WarnierOrr,圖,圖,圖616,軟件產(chǎn)品,信息,6.2 Jackson,系,系統(tǒng)開發(fā)方法,1975年,,英,英國人M.A.Jackson提出了軟,件,件工程領(lǐng)
11、域中,著,著名的Jackson方法,,,,當(dāng)時它只用,于,于軟件設(shè)計。1983年,Jackson又對它進行,了,了多方面的擴,充,充和完善,最,終,終發(fā)展成為一,種,種需求分析方,法,法。,其核心思想是,:,:根據(jù)作用于,數(shù),數(shù)據(jù)的行為序,列,列的結(jié)構(gòu)(順,序,序、選擇、重,復(fù),復(fù)),建立目,標(biāo),標(biāo)軟件系統(tǒng)的,模,模型,然后在,軟,軟件設(shè)計階段,將,將模型轉(zhuǎn)換為,相,相應(yīng)的程序結(jié),構(gòu),構(gòu)。,Jackson方法在需求,分,分析階段的主,要,要步驟是:,(1)標(biāo)識實,體,體與行為。,(2)生成實,體,體結(jié)構(gòu)圖。,(3)創(chuàng)建軟,件,件系統(tǒng)模型。,6.2.1,標(biāo),標(biāo)識實體與,行,行為,類似于面向?qū)?象
12、,象分析中對象,及,及其行為的識,別,別,Jackson方法針,對,對初步需求分,析,析形成的用戶,需,需求描述進行,語,語法分析:,名詞,及,及名,詞,詞短,語,語,潛,在,在的,實,實體,,,,,相關(guān),的,的動,詞,詞,構(gòu),成,成實,體,體的,潛,潛在,行,行為,。,。,分析,人,人員,根,根據(jù),應(yīng),應(yīng)用,問,問題,的,的邊,界,界及,自,自己,的,的理,解,解,,決,決定,對,對潛,在,在實,體,體和,行,行為,的,的取,舍,舍。,6.2.1,標(biāo),標(biāo),識,識實,體,體與,行,行為,【例6.1】,北,北華,大,大學(xué),決,決定,將,將分,處,處兩,地,地的,校,校園,用,用直,達(dá),達(dá)交,通,
13、通車,連,連接,起,起來,。,。在,每,每個,校,校園,設(shè),設(shè)一,個,個站,,,,站,內(nèi),內(nèi)配,置,置一,個,個按,鈕,鈕。,學(xué),學(xué)生,通,通過,按,按鈕,請,請求,交,交通,車,車搭,載,載。,交,交通,車,車應(yīng),盡,盡快,滿,滿足,學(xué),學(xué)生,的,的請,求,求。,空,空閑,時,時,,交,交通,車,車停,在,在任,意,意站,等,等候,。,。,分析,人,人員,可,可從,“,“大,學(xué),學(xué)”,、,、“,校,校園,”,”、,“,“交,通,通車,”,”、,“,“車,站,站”,、,、“,學(xué),學(xué)生,”,”、,“,“按,鈕,鈕”,等,等名,詞,詞中,選,選取,與,與應(yīng),用,用問,題,題相,關(guān),關(guān)的,實,實體,
14、:,:“,交,交通,車,車”,、,、“,車,車站,”,”、,“,“按,鈕,鈕”,。,。與,它,它們,有,有關(guān),的,的行,為,為是,:,:“,到,到站,”,”、,“,“離,站,站”,、,、“,按,按鍵,”,”。,“,“等,候,候”,和,和“,運,運行,”,”可,以,以作,為,為“,交,交通,車,車”,的,的狀,態(tài),態(tài)。,6.2.2,生,生,成,成實,體,體結(jié),構(gòu),構(gòu)圖,在Jackson,方,方法,中,中,,實,實體,結(jié),結(jié)構(gòu),是,是指,實,實體,在,在時,間,間坐,標(biāo),標(biāo)系,中,中的,行,行為,序,序列,。,。這,種,種序,列,列以,順,順序,、,、選,擇,擇和,重,重復(fù),三,三種,結(jié),結(jié)構(gòu),進
15、,進行,復(fù),復(fù)合,。,。Jackson,給,給出,的,的實,體,體結(jié),構(gòu),構(gòu)圖,的,的表,示,示機,制,制如,圖,圖6,2,1,所,所示,。,。其,中,中的,子,子結(jié),點,點既,可,可以,是,是行,為,為,,也,也可,以,以是,子,子實,體,體。,在,在后,一,一種,情,情況,下,下,,子,子實,體,體應(yīng),該,該繼,續(xù),續(xù)分,解,解,,不,不能,作,作為,實,實體,結(jié),結(jié)構(gòu),圖,圖的,葉,葉結(jié),點,點。,順序,結(jié),結(jié)構(gòu),*,重復(fù),結(jié),結(jié)構(gòu),選擇,結(jié),結(jié)構(gòu),圖6,2,1,實,實體,結(jié),結(jié)構(gòu),圖,圖的,圖,圖形,記,記號,圖6,2,2,實,實體,結(jié),結(jié)構(gòu),圖,圖示,例,例,例6.1,的,的實,體,
16、體結(jié),構(gòu),構(gòu)圖,如,如圖622所,示,示。,在,在圖,中,中,i,只,只能,取,取值1或2。,并,并且,,,,在,“,“站,(,(i,),)”,的,的重,復(fù),復(fù)序,列,列中,,,,i,首,首先,取,取2,,,,然,后,后交,替,替變,化,化。,交,交通,車,車首,先,先停,在,在站1,,然,然后,在,在兩,站,站之,間,間反,復(fù),復(fù)往,返,返運,行,行,,最,最后,停,???在,在站1。,為,為了,刻,刻畫,交,交通,車,車在,兩,兩站,之,之間,的,的往,返,返穿,梭,梭,,引,引入,了,了虛,擬,擬的,概,概念,實,實體,“,“Shuttlebody”,。,。,Shuttle,Shuttle*body,Station(i),Arrive(i),Leave(i),Arrive(1),Button,Push,*,Leave(1),6.2.3,創(chuàng),創(chuàng),建,建軟,件,件系,統(tǒng),統(tǒng)模,型,型,創(chuàng)建,目,目標(biāo),軟,軟件,系,系統(tǒng),模,模型,的,的第,一,一步,,,,Jackson,方,方法,要,要求,分,分析,人,人員,首,首先,用,用圖623所,示,示的,圖,圖形,記,記號,建,建立,系,系