国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

結(jié)構(gòu)化與面向?qū)ο蠓治龇椒ㄖg關(guān)系的研究

2010-05-13 09:17:24白桂梅
現(xiàn)代電子技術(shù) 2009年20期

摘 要:通過(guò)對(duì)具體實(shí)例的剖析,揭示DFD與UML之間的對(duì)應(yīng)關(guān)系,從而提出結(jié)構(gòu)化軟件分析方法與面向?qū)ο筌浖治龇椒ù嬖诘膶?duì)應(yīng)關(guān)系,在軟件需求分析方法上實(shí)現(xiàn)了二者的相互轉(zhuǎn)換,這種對(duì)應(yīng)與轉(zhuǎn)換關(guān)系對(duì)現(xiàn)有結(jié)構(gòu)化軟件的維護(hù)及再工程具有指導(dǎo)意義。

關(guān)鍵詞:結(jié)構(gòu)化開(kāi)發(fā)方法;面向?qū)ο箝_(kāi)發(fā)方法;UML;DFD;E-R圖

中圖分類(lèi)號(hào):TP311.5文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1004-373X(2009)20-137-03

Research of Corresponding Relation between Structured Analysis and Object-oriented Analysis

BAI Guimei

(Luoyang Institute of Science and Technology,Luoyang,471023,China)

Abstract:With studying of an example,the relation between DFD and UML diagram is discovered.So the corresponding relation between structured analysis and object-oriented analysis is raised.The analysis transforming from one to another is realized.This relation has directing signification of structured software′s maintenance or reengineering.

Keywords:structured development method;object-oriented development method;UML;DFD;E-R diagram

0 引 言

對(duì)傳統(tǒng)的結(jié)構(gòu)化軟件開(kāi)發(fā)方法,在需求分析階段要對(duì)系統(tǒng)中數(shù)據(jù)的加工過(guò)程(即從開(kāi)始的數(shù)據(jù)輸入到最終系統(tǒng)輸出數(shù)據(jù)的加工處理過(guò)程)用數(shù)據(jù)流圖(DFD)加以描述,對(duì)系統(tǒng)所涉及的永久性數(shù)據(jù)的存儲(chǔ)與組織用實(shí)體關(guān)系(E-R)圖來(lái)描述。進(jìn)入軟件設(shè)計(jì)階段后,DFD將轉(zhuǎn)換為系統(tǒng)結(jié)構(gòu)(SC)圖,E-R圖則被轉(zhuǎn)換為數(shù)據(jù)庫(kù)中的表[1]。

面向?qū)ο蟮姆治龇椒?需求分析階段首先要給出UML圖中的用例圖與類(lèi)圖[2]。用例圖是由系統(tǒng)之外的執(zhí)行者(稱(chēng)為主角或角色)與執(zhí)行者感受到的一系列動(dòng)作(稱(chēng)為用例)所構(gòu)成,用例圖包括主角、用例以及主角與用例之間的聯(lián)系[3]。類(lèi)圖則要從問(wèn)題域的研究、描述中抽象提取。在初步的用例圖與類(lèi)圖的基礎(chǔ)上可根據(jù)需要分析給出UML的其他圖,比如狀態(tài)圖、順序圖、活動(dòng)圖、協(xié)作圖等[4]。進(jìn)入設(shè)計(jì)階段后需進(jìn)一步規(guī)劃、設(shè)計(jì)類(lèi)的屬性與方法,給出方法體的實(shí)現(xiàn)流程。

1 結(jié)構(gòu)化分析方法與面向?qū)ο蠓治龇椒ǖ膶?duì)應(yīng)關(guān)系

以實(shí)例說(shuō)明系統(tǒng)結(jié)構(gòu)化分析方法與面向?qū)ο蠓治龇椒ǖ膶?duì)應(yīng)關(guān)系。在超市型書(shū)店中,顧客可以從書(shū)架上自由選書(shū),然后到收款臺(tái)付款和打印單據(jù)。為方便顧客,書(shū)店還向顧客提供查詢(xún)服務(wù),可以依據(jù)顧客提供的信息,如書(shū)號(hào)、書(shū)名、作者或出版社,查詢(xún)書(shū)店中有無(wú)相應(yīng)的圖書(shū)。書(shū)店管理人員日常需要詳細(xì)記錄進(jìn)書(shū)與售書(shū)情況,需要經(jīng)常查詢(xún)庫(kù)存書(shū)和銷(xiāo)售情況,還要統(tǒng)計(jì)銷(xiāo)售量、銷(xiāo)售利潤(rùn)最大的圖書(shū)(比如10種)信息,為書(shū)店進(jìn)書(shū)提供依據(jù)[5]。書(shū)店只設(shè)一個(gè)收款臺(tái),用一臺(tái)微機(jī)即可實(shí)現(xiàn)經(jīng)營(yíng)管理。

從系統(tǒng)功能的角度分析,該系統(tǒng)應(yīng)包括以下四個(gè)部分。

(1) 進(jìn)書(shū)登記。登記本店購(gòu)進(jìn)圖書(shū)的書(shū)名、書(shū)號(hào)、作者、出版社、進(jìn)價(jià)、定價(jià)、庫(kù)存數(shù)等信息;

(2) 售書(shū)登記。登記售書(shū)日期、書(shū)號(hào)、售出數(shù)量、單據(jù)號(hào)、開(kāi)單人等消息,打印銷(xiāo)售單據(jù);

(3) 查詢(xún)統(tǒng)計(jì)與報(bào)表。隨時(shí)顯示和打印給定時(shí)間段內(nèi)的售書(shū)情況,并結(jié)算銷(xiāo)售金額與利潤(rùn);統(tǒng)計(jì)銷(xiāo)售量、銷(xiāo)售利潤(rùn)最大的10種圖書(shū);隨時(shí)顯示和打印庫(kù)存書(shū)清單;

(4) 購(gòu)書(shū)查詢(xún)??刹樵?xún)有無(wú)某書(shū)號(hào)、書(shū)名、作者、出版社的書(shū)。

1.1 系統(tǒng)E-R圖

系統(tǒng)所包含的實(shí)體有庫(kù)存書(shū)、單據(jù),二者之間具有售書(shū)關(guān)系,所對(duì)應(yīng)的E-R圖如圖1所示。

圖1 系統(tǒng)E-R圖

1.2 系統(tǒng)的DFD

DFD是自頂向下逐步細(xì)化的層次圖,其中包含四種元素,即用矩形框表示的起點(diǎn)與終點(diǎn);有向線(xiàn)表示的數(shù)據(jù)流;圓角框表示的加工;以及雙橫線(xiàn)表示的文件。該系統(tǒng)所對(duì)應(yīng)的DFD如圖2~圖5所示[2,4]。

圖2 頂層DFD

圖3 一層DFD

圖4 二層DFD

圖5 三層DFD

數(shù)據(jù)字典的內(nèi)容如下:

(1) 文件條目

庫(kù)存表=0{入庫(kù)書(shū)目+進(jìn)書(shū)日期+庫(kù)存數(shù)+封面+備注}m

售書(shū)表=0{書(shū)號(hào)+單據(jù)號(hào)+數(shù)量}m

單據(jù)表=0{單據(jù)號(hào)+開(kāi)單日期+開(kāi)單人+購(gòu)書(shū)單位+總金額}m

(2) 數(shù)據(jù)流條目

書(shū)目=書(shū)號(hào)+書(shū)名+作者+出版社

入庫(kù)書(shū)目=書(shū)目+進(jìn)價(jià)+定價(jià)

售書(shū)輸入=1{書(shū)號(hào)+數(shù)量}m

購(gòu)書(shū)單=單據(jù)號(hào)+1{書(shū)名+定價(jià)+數(shù)量}m+總金額+付款金額+找零+開(kāi)單日期

查詢(xún)選擇=[客戶(hù)查詢(xún)輸入|管理員查詢(xún)選擇]

客戶(hù)查詢(xún)輸入=[書(shū)號(hào)|書(shū)名|作者|出版社|書(shū)名+作者|書(shū)名+出版社|作者+出版社]

客戶(hù)查詢(xún)結(jié)果=書(shū)目+庫(kù)存數(shù)+封面

起止日期=起始日期+終止日期

管理員查詢(xún)選擇=[銷(xiāo)售額選擇|銷(xiāo)售量最大選擇|銷(xiāo)售利潤(rùn)最大選擇]+ 起止日期

管理員查詢(xún)結(jié)果=銷(xiāo)售額查詢(xún)結(jié)果+銷(xiāo)售量最大查詢(xún)結(jié)果+銷(xiāo)售利潤(rùn)最大查詢(xún)結(jié)果

報(bào)表選擇=庫(kù)存清單選擇+售書(shū)選擇+單據(jù)選擇

報(bào)表輸出結(jié)果=庫(kù)存清單+售書(shū)報(bào)表+單據(jù)報(bào)表

庫(kù)存清單=1{序號(hào)+入庫(kù)書(shū)目+進(jìn)書(shū)日期+庫(kù)存數(shù)}m+書(shū)種數(shù)+總數(shù)量+總金額+報(bào)表生成日期

售書(shū)報(bào)表=1{書(shū)號(hào)+書(shū)名+1{單據(jù)號(hào)+數(shù)量+開(kāi)單日期+開(kāi)單人+購(gòu)書(shū)單位}n+售出數(shù)}m+銷(xiāo)售書(shū)種數(shù)+總金額+利潤(rùn)總計(jì)+起止日期

單據(jù)報(bào)表=1{單據(jù)號(hào)+開(kāi)單日期+開(kāi)單人+購(gòu)書(shū)單位+1{書(shū)號(hào)+書(shū)名+數(shù)量+定價(jià)}n+合計(jì)金額}m+銷(xiāo)售書(shū)種數(shù)+總金額+利潤(rùn)總計(jì)+起止日期

客戶(hù)查詢(xún)輸入|=[書(shū)號(hào)|書(shū)名|作者|出版社|書(shū)名+作者|書(shū)名+出版社|作者+出版社]

管理員查詢(xún)選擇=[銷(xiāo)售額選擇|銷(xiāo)售量最大選擇|銷(xiāo)售利潤(rùn)最大選擇]+起止日期

銷(xiāo)售額查詢(xún)結(jié)果=0{書(shū)目+銷(xiāo)售數(shù)量+銷(xiāo)售金額}m+起止日期

銷(xiāo)售量最大查詢(xún)結(jié)果=0{書(shū)目+銷(xiāo)售數(shù)量}10+起止日期

銷(xiāo)售利潤(rùn)最大查詢(xún)結(jié)果=0{書(shū)目+銷(xiāo)售利潤(rùn)}10+起止日期

(3) 加工條目

基于數(shù)據(jù)流圖中所標(biāo)加工的清晰性,加工條目不再列出。

1.3 系統(tǒng)用例圖與DFD的對(duì)應(yīng)關(guān)系

DFD與UML的用例圖有直接的對(duì)應(yīng)關(guān)系,即DFD中的起點(diǎn)、終點(diǎn)就是用例圖中的主角,DFD中的加工是用例圖中的用例,下層對(duì)上層加工的細(xì)化對(duì)應(yīng)用例圖中用例的包含關(guān)系(《include》)[6],該系統(tǒng)的用例圖如圖6所示。

圖6 用例圖

DFD中判斷加工對(duì)應(yīng)用例圖中的擴(kuò)展關(guān)系(《extend》),如圖7所示的部分DFD,其對(duì)應(yīng)的部分用例圖如圖8所示[7]。

圖7 部分DFD

圖8 部分用例圖

1.4 系統(tǒng)類(lèi)圖

從系統(tǒng)的DFD,E-R圖及對(duì)問(wèn)題域的描述,使用名詞、動(dòng)詞分析法先找出候選類(lèi)及其屬性與操作[8],再通過(guò)CRC(Class Responsibility Collaborator)分析與RUP(Rational Unified Process)構(gòu)造型進(jìn)一步確定類(lèi)(及其屬性與操作)[9],可提取出如圖9所示的系統(tǒng)類(lèi)圖。由圖9可知,類(lèi)圖與DFD,E-R圖也緊密相關(guān)。

圖9 系統(tǒng)類(lèi)圖

2 結(jié) 語(yǔ)

以上通過(guò)具體實(shí)例說(shuō)明了DFD,E-R圖與UML的用例圖、類(lèi)圖的對(duì)應(yīng)關(guān)系,亦即傳統(tǒng)的結(jié)構(gòu)化分析方法與面向?qū)ο蠓治龇椒ㄖg的對(duì)應(yīng)關(guān)系。需要強(qiáng)調(diào)的是不管是傳統(tǒng)的結(jié)構(gòu)化軟件開(kāi)發(fā)方法,還是面向?qū)ο蟮能浖_(kāi)發(fā)方法,各階段都是循環(huán)往復(fù)的迭代過(guò)程[10],需求分析階段也不例外,它也是一個(gè)不斷修正、完善的過(guò)程。

參考文獻(xiàn)

[1]孫家廣,劉強(qiáng).軟件工程理論、方法與實(shí)踐[M].北京:高等教育出版社,2005.

[2]齊治昌,譚慶平,寧洪.軟件工程[M].2版.北京:高等教育出版社,2004.

[3]國(guó)剛.UML與Rational Rose 2003軟件工程統(tǒng)一建模原理與實(shí)踐教程[M].北京:電子工業(yè)出版社,2007.

[4]Bernd Oestereich.軟件開(kāi)發(fā)方式——UML 面向?qū)ο蠓治雠c設(shè)計(jì)[M].2版.姜南,譯.北京:電子工業(yè)出版社,2004.

[5]高春玲,張文學(xué),白桂梅.數(shù)據(jù)庫(kù)原理及應(yīng)用Visual FoxPro[M].2版.北京:電子工業(yè)出版社,2005.

[6]王強(qiáng),張曉鵬.用UML活動(dòng)圖集成用例的研究[J].計(jì)算機(jī)工程,2004,30(3):80-81.

[7]鄧安遠(yuǎn),王道乾,文俊浩.基于UML的期貨公司管理平臺(tái)的分析與建模[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(1):259-261.

[8]Leon Starr.How to Build Articulate Class Models[EB/OL].http://www.modelint.com/,August 6,2008.

[9]Andrew Watson.UMLsR vs.DSLs:A False Dichotomy[EB/OL].http://www.omg.org/docs/omg/08-09-03.pdf,2008.

[10]Roger S Pressman.軟件工程:實(shí)踐者之路[M].5版.北京:清華大學(xué)出版社,2005.

泰州市| 绥滨县| 怀集县| 华池县| 冕宁县| 宾阳县| 安陆市| 奇台县| 许昌县| 禄丰县| 峨山| 和平县| 江川县| 离岛区| 阜南县| 临沂市| 孝昌县| 义马市| 夏邑县| 方山县| 大同市| 探索| 甘泉县| 德昌县| 漳州市| 怀远县| 威宁| 宁津县| 互助| 南城县| 沙湾县| 博爱县| 波密县| 调兵山市| 芦山县| 江华| 嵊州市| 双鸭山市| 虞城县| 泸州市| 新源县|