軟件設(shè)計(jì)師考試 | 第十二章 軟件系統(tǒng)分析與設(shè)計(jì) | 結(jié)構(gòu)化分析與設(shè)計(jì)

結(jié)構(gòu)化分析將數(shù)據(jù)和處理(加工)作為分析對象,數(shù)據(jù)的分析結(jié)果表示了現(xiàn)實(shí)世界中實(shí)體的屬性及其之間的相互關(guān)系,而處理的分析結(jié)果則展現(xiàn)了系統(tǒng)對數(shù)據(jù)的加工和轉(zhuǎn)換。

面向數(shù)據(jù)流建模是將系統(tǒng)建模成輸入-處理-輸出的模型,即流入軟件的數(shù)據(jù)對象,經(jīng)由處理的轉(zhuǎn)換,最后以結(jié)果數(shù)據(jù)對象的形式流出軟件。

下面通過一個(gè)案例來說明如何應(yīng)用結(jié)構(gòu)化分析、總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)技術(shù)。

(一)需求說明

需求說明

(二)結(jié)構(gòu)化分析

結(jié)構(gòu)化分析的最終結(jié)果是得到系統(tǒng)的數(shù)據(jù)流圖、數(shù)據(jù)字典和加工說明。

1. 界定系統(tǒng)的邊界

購入新書、讀者借書、讀者還書和圖書注銷將來都是由圖書管理員來操作系統(tǒng),因此 圖書管理員 將是系統(tǒng)的外部實(shí)體之一。
當(dāng)讀者借書超期時(shí),系統(tǒng)會(huì)給讀者一個(gè)罰款單信息,那么認(rèn)為 圖書管理系統(tǒng)系統(tǒng)時(shí)鐘 都是系統(tǒng)的外部實(shí)體。

2. 畫出第0層圖

根據(jù)外部實(shí)體,得出系統(tǒng)不完整的第0層數(shù)據(jù)流圖,如下圖所示:

不完整的第0層數(shù)據(jù)流圖

在不完整的第0層數(shù)據(jù)流圖上分析外部實(shí)體與系統(tǒng)間的數(shù)據(jù)流,因?yàn)?管理員 的兩大工作任務(wù)是 分析管理任務(wù)查詢?nèi)蝿?wù) ,因此管理員會(huì)向系統(tǒng)輸入 管理請求 信息與 查詢請求 信息,根據(jù)輸入的管理請求,系統(tǒng)將會(huì)對一些存儲(chǔ)文件進(jìn)行修改;對查詢請求,系統(tǒng)則會(huì)給出讀者、圖書與借閱的統(tǒng)計(jì)信息。

系統(tǒng)時(shí)鐘 主要是為圖書管理系統(tǒng) 提供系統(tǒng)時(shí)間 。

將不完整的0層圖補(bǔ)充數(shù)據(jù)流可得完整的0層圖,如下圖所示:

第0層數(shù)據(jù)流圖

3. 對0層圖進(jìn)一步細(xì)化

得到完整的第0層圖后,再對數(shù)據(jù)流圖中的圖書管理系統(tǒng)進(jìn)一步細(xì)化。

根據(jù)需求得知,系統(tǒng)主要分為 管理任務(wù)查詢?nèi)蝿?wù) ,因此可以將其細(xì)化為兩個(gè)大的處理,如下圖所示:

第1層數(shù)據(jù)流圖

對管理進(jìn)行進(jìn)一步細(xì)化,管理處理分為 ** 購書** 、借書 、 還書清理 4項(xiàng)任務(wù),因此將管理分解為4個(gè)處理,另外需要一個(gè)單獨(dú)的處理根據(jù)管理請求的類型進(jìn)行請求分派。細(xì)化后的數(shù)據(jù)流圖如下圖所示:

處理2的第2層數(shù)據(jù)流圖

同樣地,可以對處理1也進(jìn)行細(xì)化,細(xì)化完成后,對得到的數(shù)據(jù)流圖進(jìn)行轉(zhuǎn)化,從而形成系統(tǒng)的總體設(shè)計(jì)。


(三)總體設(shè)計(jì)

總體設(shè)計(jì)是給出數(shù)據(jù)流圖中的各個(gè)處理轉(zhuǎn)換為模塊后模塊與模塊之間的調(diào)用關(guān)系,后續(xù)需要根據(jù)總體設(shè)計(jì)給出模塊的詳細(xì)設(shè)計(jì)。

通過采用事務(wù)型的變換方式對數(shù)據(jù)流圖進(jìn)行變換,得到系統(tǒng)的總體結(jié)構(gòu)。如下圖所示:


系統(tǒng)總體結(jié)構(gòu)圖

(四)詳細(xì)設(shè)計(jì)

以借書為例,采用程序流程圖的形式描述借書模塊的詳細(xì)設(shè)計(jì)。

分析借書的輸入是讀者信息和借書信息,需要讀者信息的讀者借書證號,借書信息給出了讀者已經(jīng)借閱了多少本書,如果讀者借閱的書籍?dāng)?shù)目尚未超出系統(tǒng)的限制,則允許繼續(xù)借書,并把新的借書信息寫入借書文件;否則,拒絕借書。

該模塊的詳細(xì)流程圖如下圖所示:


借書模塊流程圖

完成每一個(gè)模塊的詳細(xì)設(shè)計(jì),即可將詳細(xì)設(shè)計(jì)轉(zhuǎn)換成程序代碼,從而實(shí)現(xiàn)整個(gè)管理系統(tǒng)。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容