【正文】
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 總結(jié)報(bào)告 專 業(yè) 軟件工程 班 級(jí) 軟件 赴日 1101 學(xué) 號(hào) 20212271 姓 名 賈志遠(yuǎn) 日 期 2021年 9月 17日 東北大學(xué)軟件學(xué)院 第一章 需求分析 實(shí)驗(yàn)要求: 設(shè)計(jì)一個(gè)網(wǎng)上拍賣系統(tǒng), 有些 類的頭文件和主函數(shù)已經(jīng)給出,通過頭文件中定義的 部分 和實(shí)驗(yàn)中的提示 來 編寫類 的 代碼, 從而 完成 拍賣 系統(tǒng) 的全部 功能。 實(shí)驗(yàn)共分 五個(gè)部分 , 由淺入深逐漸完善, 而 且只有完成了前一部分實(shí)驗(yàn),才能繼續(xù)進(jìn)行下一部分 的 實(shí)驗(yàn)內(nèi)容。 問題分析: 根據(jù)實(shí)驗(yàn)要求,可知此網(wǎng)上拍賣系統(tǒng)大致包含 以下幾個(gè)部分: 注冊(cè)、登陸、增加廣告、添加子目錄、顯示商品列表、查找廣告、 廣告排序、客戶競(jìng)標(biāo) 。由實(shí)驗(yàn)已給的部分代碼來看,應(yīng)該有以下幾個(gè)部分: 廣告( Advertisement) 、廣告集合( Listing)、目錄( Category)、目錄集合( Categories)、標(biāo)價(jià)( bid)、客戶( Client)、 客戶組( Group),系統(tǒng)應(yīng)圍繞這些 部分 的關(guān)系,編寫各自 的函數(shù),從而 完成 拍賣 系統(tǒng)的功能。 實(shí)驗(yàn)?zāi)康模? 通過實(shí)驗(yàn)進(jìn)一步 了解 線性表、 堆 棧、隊(duì)列、串、數(shù)組、廣義表、樹、圖 以及一些排序算法等數(shù)據(jù)結(jié)構(gòu)內(nèi)容 。培養(yǎng)根據(jù)用戶的要求及系統(tǒng)提供的數(shù)據(jù),設(shè)計(jì)或選擇合適的數(shù)據(jù)結(jié)構(gòu)并能編寫正確的算法解決實(shí)際問題的能力 第二章 系統(tǒng)設(shè)計(jì) 總體設(shè)計(jì) : 先寫好系統(tǒng)的基本骨架 : Date、 Client 、 Advertisement 這三個(gè)類,完成系統(tǒng)的基本功能,然后根據(jù)系統(tǒng)的功能需求編寫相應(yīng)的類完成功能拓展。 具體的類間關(guān)系為: Categories 儲(chǔ)存多個(gè) Category, Category通過 Listing類儲(chǔ)存這個(gè)目錄下的 Advertisement, Listing 是 Advertisement 的集合,而Advertisement 信息中包含多個(gè) Client 對(duì)自己的競(jìng)標(biāo)( bid), Client 又可以對(duì)多個(gè)Advertisement 進(jìn)行競(jìng)標(biāo) 并 發(fā)布 Advertisement, Group 是 Client 的集合, 所以 包含多個(gè) Client。 其他的 是過程類,由 main調(diào)用 processrequest 類,再由 processrequest調(diào)用相應(yīng)的 buildbidpage、 buildpage、 bidhistory類將結(jié)果顯示在頁面中。 體現(xiàn)在 UML類圖中如圖所示: 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)任務(wù)書 3 + g e t B i d s ( ) : p r i o r i t y _ q u e u e B i d amp。 o b j e c t+ g e t T o p D u t c h B i d s ( ) : v i r t u a l v e c t o r B i d o b j e c t n u m b e r : i n t q u a n t i t y : i n t t i t l e : s t r i n g s e l l e r _ e m a i l : s t r i n g b o d y : s t r i n g s t a r t : D a t e c l o s e : D a t e b i d s : p r i o r i t y _ q u e u e B i d O b j e c tA d v e r t i s e m e n t+ o p e r a t o r = = ( i n amp。 r h s : B i d ) : b o o l e m a i l : s t r i n g a m o u n t : f l o a t q u a n t i t y : i n t d a t e : D a t eB i d+ d i s p l a y B i d H i s t o r y ( o u t amp。 o s s , i n * a d : A d v e r t i s e m e n t )b i d h i s t o r y+ b u i l d b i d p a g e ( o u t amp。 o s s , i n p o r t : i n t , i n n u m b e r : i n t )+ d i s p l a y B i d F o r m ( o u t amp。 o s s , i n i n _ a d d r i p : O b j e c t , i n p o r t : i n t , i n n u m b e r : i n t )b u i l d b i d p a g e+ g e t I P ( ) : o b j e c t+ d i s p l a y P a g e H e a d e r ( o u t amp。 o s s )+ d i s p l a y S o r t F i n d ( o u t amp。 o s s , i n i n _ a