圖書管理系統(tǒng)課程設(shè)計(jì)_第1頁
圖書管理系統(tǒng)課程設(shè)計(jì)_第2頁
圖書管理系統(tǒng)課程設(shè)計(jì)_第3頁
圖書管理系統(tǒng)課程設(shè)計(jì)_第4頁
圖書管理系統(tǒng)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程導(dǎo)論實(shí)驗(yàn)報(bào)告一、 實(shí)驗(yàn)題目:學(xué)生成績管理系統(tǒng)、圖書借閱管理系統(tǒng)、工資管理系統(tǒng)、網(wǎng)絡(luò)訂餐系統(tǒng)、招聘考試成績管理系統(tǒng)二、實(shí)驗(yàn)?zāi)繕?biāo)通過獨(dú)立完成項(xiàng)目開發(fā),加深對(duì)軟件開發(fā)分析過程的流程和方法的理解,建立軟件工程的思想,同時(shí),明確軟件開發(fā)的成本和時(shí)間管理的相關(guān)概念。實(shí)驗(yàn)一實(shí)驗(yàn)要求:. 在實(shí)驗(yàn)題目列出的幾個(gè)系統(tǒng)中選擇一個(gè)作為自己要開發(fā)的軟件系統(tǒng),要求該系統(tǒng)有明確的功能需求,并建立系統(tǒng)的分析模型。. 對(duì)系統(tǒng)進(jìn)行需求分析,掌握ER圖、DFD、DD的設(shè)計(jì)與編寫. 熟悉Visio環(huán)境和基本操作,制作一個(gè)簡單的系統(tǒng)流程圖和數(shù)據(jù)流圖、主要數(shù)據(jù)項(xiàng)的數(shù)據(jù)字典描述及主要加工的邏輯說明(自己選擇結(jié)構(gòu)語言、判定樹、判定表

2、等)。.撰寫需求分析規(guī)格說明書用戶需求分析 作為圖書管理系統(tǒng),其主要的需求人員是借閱者,借閱者對(duì)其的要求可以大體概括如下:1) 能按各種方式,比如書名、編號(hào)、作者等查詢圖書館的藏書情況;2) 能熟悉使用圖書管理系統(tǒng);3) 能方便地借閱圖書、續(xù)借圖書、歸還圖書;4) 能查詢自己的基本資料、借閱圖書情況;5) 能方便圖書管理員對(duì)圖書的錄入登記、注銷;6) 能方便對(duì)新生的登記或注銷已經(jīng)畢業(yè)學(xué)生的信息;7) 能及時(shí)發(fā)布一些學(xué)院學(xué)生借閱圖書超期情況、館內(nèi)藏書情況等。 功能說明 1)、讀者管理系統(tǒng) (1)未注冊者可以進(jìn)入注冊系統(tǒng)進(jìn)行注冊; (2)已注冊借閱者可按姓名、編號(hào)或身份證號(hào)登陸進(jìn)入借閱者檢索系統(tǒng)查

3、詢借閱者 情況; (3)已注冊借閱者可按書名、出版社或作者對(duì)圖書信息進(jìn)行檢索查詢或提出預(yù)約請 求; 2)、圖書管理員管理系統(tǒng) (1)圖書管理員通過圖書管理員身份認(rèn)證進(jìn)入圖書管理員管理系統(tǒng); (2)讀者可借閱在庫圖書; (3)在規(guī)定期限內(nèi)借閱者歸還借閱圖書; (4)讀者在不違規(guī)情況下可繼續(xù)借閱已借閱圖書; (5)讀者可以預(yù)約圖書。 3)、系統(tǒng)管理員管理系統(tǒng) (1)系統(tǒng)管理員通過系統(tǒng)管理員身份認(rèn)證進(jìn)入系統(tǒng)管理員管理系統(tǒng); (2)系統(tǒng)管理員可以對(duì)圖書進(jìn)行圖書管理(如:查詢、刪除、修改圖書資料或圖書 分類查詢修改、刪除管理); (3)系統(tǒng)管理員可以對(duì)借閱者進(jìn)行學(xué)生管理(如:查詢、刪除、修改借閱者信息或

4、 借閱者類別修改、刪除管理,查詢?yōu)g覽借閱者詳細(xì)資料,包括借閱次數(shù),登陸次數(shù), 最后登陸時(shí)間); 4)、罰款管理系統(tǒng) (1)罰款管理員通過罰款管理員身份認(rèn)證進(jìn)入罰款管理系統(tǒng);(2) 罰款處理可以讀取借閱信息表再生成超時(shí)罰款信息表,通過超時(shí)罰款信息表可 以生成罰款單給罰款管理員;(3) 圖書管理員告知罰款系統(tǒng)圖書超時(shí)未還,經(jīng)罰款管理員鑒定后,對(duì)圖書進(jìn)行注銷處理且罰款管理員對(duì)借閱者進(jìn)行罰款處理。DFD頂層流程圖ER模型圖程序流程圖數(shù)據(jù)字典圖書管理系統(tǒng)數(shù)據(jù)流圖中,數(shù)據(jù)信息和處理過程需要通過數(shù)據(jù)字典才能描述清楚。在定義的圖書管理系統(tǒng)數(shù)據(jù)字典中,主要對(duì)數(shù)據(jù)流圖中的數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過程進(jìn)行說明

5、。(1) 數(shù)據(jù)項(xiàng)描述 1)數(shù)據(jù)項(xiàng)名稱:借書證號(hào) 含義說明:惟一標(biāo)識(shí)一個(gè)借書證 類型:字符型 長度:50 邏輯關(guān)系:不允許為空 2)數(shù)據(jù)項(xiàng)名稱:用戶名 含義說明:讀者的名稱 類型:字符型 長度:20 邏輯關(guān)系:不允許為空 3)數(shù)據(jù)項(xiàng)名稱:密碼 含義說明:對(duì)用戶名和操作員管理員進(jìn)行加密 類型;字符型 長度:10 邏輯關(guān)系:允許為空 4)數(shù)據(jù)項(xiàng)名稱:性別 類型:字符型 長度:10 邏輯關(guān)系:允許為空 5)數(shù)據(jù)項(xiàng)名稱:所在系別 類型;字符型 長度:10 邏輯關(guān)系:允許為空 6)數(shù)據(jù)項(xiàng)名稱:所在班級(jí) 類型:字符型 長度:10 邏輯關(guān)系:允許為空 7)數(shù)據(jù)項(xiàng)名稱:操作員名稱 類型:字符型 長度:30 邏輯

6、關(guān)系:不允許為空 8)數(shù)據(jù)項(xiàng)名稱:操作員簡稱 含義說明:惟一標(biāo)識(shí)一個(gè)操作員 類型:字符型 長度:10 邏輯關(guān)系:不允許為空 9)數(shù)據(jù)項(xiàng)名稱:操作員級(jí)別 含義說明:對(duì)操作員和管理員進(jìn)行區(qū)分 類型:字符型 長度:10 邏輯關(guān)系:不允許為空 10)數(shù)據(jù)項(xiàng)名稱:圖書編號(hào) 含義說明:惟一標(biāo)識(shí)一個(gè)圖書 類型:字符型 長度:10 邏輯關(guān)系:不允許為空 11)數(shù)據(jù)項(xiàng)名稱:圖書名稱 類型:字符型 長度:50 邏輯關(guān)系:不允許為空 12)數(shù)據(jù)項(xiàng)名稱:作者 類型:字符型 長度:50 邏輯關(guān)系:不允許為空 13)數(shù)據(jù)項(xiàng)名稱:作者 類型:字符型 長度:50 邏輯關(guān)系:不允許為空 14)數(shù)據(jù)項(xiàng)名稱:作者 類型:字符型 長

7、度:50 邏輯關(guān)系:不允許為空 15)數(shù)據(jù)項(xiàng)名稱:出版社 類型:字符型 長度:50 邏輯關(guān)系:不允許為空 16)數(shù)據(jù)項(xiàng)名稱:出版時(shí)間 類型:日期時(shí)間型 長度:8 邏輯關(guān)系:不允許為空 17)數(shù)據(jù)項(xiàng)名稱:價(jià)格 類型:整型 長度:4 邏輯關(guān)系:不允許為空 18)數(shù)據(jù)項(xiàng)名稱:備注 類型:字符型 長度:200 邏輯關(guān)系:允許為空 19)數(shù)據(jù)項(xiàng)名稱:借書日期 類型:日期時(shí)間 長度:8 邏輯關(guān)系:不允許為空 20)數(shù)據(jù)項(xiàng)名稱:還書日期 類型:日期時(shí)間 長度:8 邏輯關(guān)系:不允許為空(2)數(shù)據(jù)結(jié)構(gòu)描述 1)數(shù)據(jù)流名稱:用戶情況 含義說明:定義了一個(gè)讀者的有關(guān)信息組成結(jié)構(gòu):用戶情況=用戶名+借書證號(hào)+密碼+性

8、別+所在系別+所在班級(jí) 2)數(shù)據(jù)流名稱:操作員情況 含義說明:定義了一個(gè)操作員的有關(guān)信息 組成結(jié)構(gòu):操作員情況=操作員名稱+操作員簡稱+操作員級(jí)別+操作員密碼3) 數(shù)據(jù)流名稱:圖書情況 含義說明:定義了一個(gè)圖書的有關(guān)信息 組成結(jié)構(gòu):圖書情況=圖書編號(hào)+圖書名稱+作者+出版社+出版時(shí)間+價(jià)格+備注(3) 數(shù)據(jù)流(非數(shù)據(jù)項(xiàng))說明 1)數(shù)據(jù)流名稱:借書單 含義:讀者借書時(shí)要填寫的單據(jù) 來源:讀者 去向:審核借書 數(shù)據(jù)流量:250份/天 組成:借書單=借書證號(hào)+圖書編號(hào)+借書日期 2)數(shù)據(jù)流名稱:還書單 含義:讀者還書時(shí)要填寫的單據(jù) 來源:讀者 去向:審核還書 數(shù)據(jù)流量:250份/天 組成:還書單=圖

9、書編號(hào)+還書日期(4) 數(shù)據(jù)存儲(chǔ)說明1) 數(shù)據(jù)存儲(chǔ)名稱:圖書數(shù)據(jù)表 含義說明:存放圖書的有關(guān)信息 組成結(jié)構(gòu):圖書編號(hào)+圖書名稱+作者+出版社+出版時(shí)間+價(jià)格+備注 說明;書號(hào)具有惟一性和非空性 2) 數(shù)據(jù)存儲(chǔ)名稱:用戶信息表 含義說明:存放讀者的注冊信息 組成結(jié)構(gòu):用戶名+借書證號(hào)+密碼+性別+所在系別+所在班級(jí) 說明:證號(hào)具有惟一性和非空性,性別只能是男和女 3) 數(shù)據(jù)存儲(chǔ)名稱:借書記錄 含義說明:存放讀者的借書,還書信息 組成結(jié)構(gòu):借書證號(hào)+圖書編號(hào)+借書日期+還書日期 說明:要求能夠立即查詢(5) 處理過程說明 1)處理過程名稱:圖書管理 輸入:圖書情況, 輸出:圖書記錄 處理說明:對(duì)館

10、內(nèi)所有圖書按圖書編號(hào)進(jìn)行管理,將圖書數(shù)據(jù)數(shù)據(jù)化,存儲(chǔ)圖書數(shù)據(jù)表中。 2)處理過程名稱:讀者管理 輸入:讀者情況, 輸出:讀者記錄 處理說明:建立讀者信息表,對(duì)讀者進(jìn)行統(tǒng)一編號(hào),實(shí)現(xiàn)讀者記錄 表的增刪改維護(hù)功能。 3)處理過程名稱:查看數(shù)目 輸入:借書請求,讀者, 輸出:借書記錄,圖書信息 處理說明:實(shí)現(xiàn)根據(jù)圖書編號(hào)等查詢圖書。 4)處理過程名稱:借書處理 輸入:圖書情況,讀者,借書記錄 輸出:借書記錄 處理說明:確認(rèn)讀者符合借書條件,辦理借書手續(xù)。 5)處理過程名稱:還書處理 輸入:圖書情況, 輸出:借書記錄 處理說明:對(duì)照相應(yīng)的圖書編號(hào)可辦理還書手續(xù)。 6)處理過程名稱:安全管理 輸入:操作

11、員情況,用戶情況 輸出:操作員級(jí)別,操作員記錄,用戶記錄 處理說明:通過用戶名和口令,確認(rèn)用戶身份,保證系統(tǒng)的安全型。實(shí)驗(yàn)2實(shí)驗(yàn)內(nèi)容:采用面向數(shù)據(jù)流的設(shè)計(jì)方法設(shè)計(jì)系統(tǒng)軟件結(jié)構(gòu),使用Visio畫出軟件層次圖。(2學(xué)時(shí))實(shí)驗(yàn)要求: 學(xué)習(xí)總體設(shè)計(jì)的基本方法; 掌握面向數(shù)據(jù)流的設(shè)計(jì)方法; 通過對(duì)實(shí)驗(yàn)(一)中DFD圖的分析,使用Visio畫出軟件層次圖 。編寫出初步的系統(tǒng)設(shè)計(jì)報(bào)告實(shí)驗(yàn)結(jié)果:頂層數(shù)據(jù)流圖:第0層圖:第一層圖:(1):登陸子系統(tǒng)(2):管理子系統(tǒng)(3)查詢子系統(tǒng)第二層圖:(1) :處理新書購入(2)處理學(xué)生借書(3):處理學(xué)生還書(4):處理圖書注銷(5)處理學(xué)生信息查詢(6)處理圖書信息查

12、詢實(shí)驗(yàn)三完成實(shí)驗(yàn)(二)中的兩到三個(gè)主要功能模塊的詳細(xì)設(shè)計(jì);編寫部分代碼(2學(xué)時(shí))要求: 學(xué)習(xí)詳細(xì)設(shè)計(jì)的基本方法; 掌握詳細(xì)設(shè)計(jì)圖形工具的使用方法; 給出主要功能模塊的算法 選擇程序設(shè)計(jì)語言編寫主要功能模塊代碼圖書基本信息錄入模塊首先輸入圖書錄入的編號(hào)(不為0)判斷是否有重復(fù)的編號(hào),若有,則提示用戶該書已存在,若無則繼續(xù)錄入書名、作者、出版社、單價(jià)。 void putin() /*定義錄入函數(shù)*/ int y=1;system("cls");while(y) printf("t請輸入您的書籍的書號(hào):");scanf("%s",libra

13、ry.booklibrary.count.number);printf("t請輸入書名:");scanf("%s",);printf("t請輸入作者名:");scanf("%s",library.booklibrary.count.author);printf("t請輸入出版社:");scanf("%s",library.booklibrary.count.publish);printf("t請輸入出版時(shí)間

14、:");scanf("%s",library.booklibrary.count.time);printf("t請輸入該書的價(jià)格:");fflush(stdin);scanf("%f",&library.booklibrary.count.price);library.count+;printf("n是否繼續(xù)錄入(1.繼續(xù);0,退出錄入):");fflush(stdin);scanf("%d",&y);if (y!=1)y=0;break; save();圖書基本信息查

15、詢模塊用戶先選擇圖書查詢方式(按書名查找或按書號(hào)查找)輸入圖書書名或書號(hào)后,查找出該圖書是否存在,若存在,則顯示該圖書信息,若不存在則提示用戶無此圖書信息。void search_by_author() /*定義按作者名查詢*/ char s320;int flag=1;printf("請輸入要查詢的書的作者: ");fflush(stdin);scanf("%s",s3);printf("圖書號(hào)t圖書名t作者名t出版社t出版日期t圖書價(jià)格n");for(int i=0;i<library.count;i+ )if(strcmp

16、(s3,library.booki.author)=0) flag=0;printf("%st%st%st%st%st%6.2fn",library.booki.number,,library.booki.author,library.booki.publish,library.booki.time,library.booki.price); if (flag)printf("cannot found!");fflush(stdin);getchar();圖書基本信息修改模塊用戶輸入要修改的書名,判斷該書是否存在,若不

17、存在,則提示用戶無此圖書信息;若存在,則提示用戶選擇修改項(xiàng)目,然后提示用戶圖書信息修改完成。void modify()/修改圖書信息char number10;system("cls"); /*清屏*/printf("n Please type in the number of the book you want to delete:");fflush(stdin);scanf("%s",number);int i;for (i=0;i<library.count;i+) if(strcmp(number,library.boo

18、ki.number)=0) printf("圖書號(hào)t圖書名t作者名t出版社t出版日期t圖書價(jià)格n"); printf("%st%st%st%st%st%6.2fn",library.booki.number,,library.booki.author,library.booki.publish,library.booki.time,library.booki.price); break; if (i!=library.count)mbook book;printf("ntt請輸入修改后此圖書的信息n"

19、;);printf("t請輸入圖書號(hào):");scanf("%s",book.number);printf("t請輸入圖書名:");scanf("%s",);printf("t請輸入作者名:");scanf("%s",book.author);printf("t請輸入出版社:");scanf("%s",book.publish);printf("t請輸入出版時(shí)間:");scanf("%s&q

20、uot;,book.time);printf("t請輸入該書的價(jià)格:");fflush(stdin);scanf("%f",&book.price);strcpy(,);strcpy(library.booki.number,book.number);strcpy(library.booki.publish,book.publish);strcpy(library.booki.author,book.author);strcpy(library.booki.time,book.time);li

21、brary.booki.price=book.price;save();elseprintf("n cannot found!n");fflush(stdin);getchar();實(shí)驗(yàn)4對(duì)所選系統(tǒng)完成系統(tǒng)測試(2學(xué)時(shí))實(shí)驗(yàn)要求: 學(xué)習(xí)軟件測試的基本方法; 結(jié)合實(shí)驗(yàn)(三)中的算法,用白盒法中的邏輯覆蓋測試技術(shù),設(shè)計(jì)測試用例; 選擇實(shí)驗(yàn)(三)中給出代碼的模塊進(jìn)行黑盒測試。單元測試 :采用白盒測試法針對(duì)用戶還書、預(yù)約、借書、查詢等功能模塊進(jìn)行測試(1)對(duì)于還書功能模塊,模塊的程序流程圖如下:判定節(jié)點(diǎn)為2,環(huán)形復(fù)雜度為:2+1=3采用路徑覆蓋法,測試用例為:1、測試路徑:0-5

22、輸入條件:retno不存在 預(yù)期輸出:無該圖書2、測試路徑:0-1-4-5 輸入條件:retno存在,borday>90 預(yù)期輸出:接受違約懲罰3、測試路徑:0-1-2-3 輸入條件:retno存在,borday<=90 預(yù)期輸出:成功還書(2)對(duì)于預(yù)約功能模塊,模塊的程序流程圖如下:圖中判定節(jié)點(diǎn)為:2,環(huán)形復(fù)雜度為:2+1+3采用路徑覆蓋法,測試用例如下:1、測試路徑:0-1-6-9 輸入條件:borday>90 預(yù)期輸出:接受違約處罰2、測試路徑:0-1-2-7 輸入條件:borday<=90,borno不存在 預(yù)期輸出:不存在該圖書3、測試路徑:0-1-2-3-8

23、 輸入條件:borday<=90,borno存在,onself不存在 預(yù)期輸出:圖書已借出4、測試路徑:0-1-2-3-4-5 輸入條件:borday<=90,borno存在,onself存在 預(yù)期輸出:預(yù)約成功(3)對(duì)于借書功能模塊,模塊的程序流程圖如下:圖中判定節(jié)點(diǎn)為4,環(huán)形復(fù)雜度為:4+1=5采用路徑覆蓋測試法,測試用例如下:1、測試路徑:0-7 輸入條件:borday>90 預(yù)期輸出:接受違約懲罰2、測試路徑:0-1-8 輸入條件:borday<=90,borno>5 預(yù)期輸出:超出所借數(shù)目的最大3、測試路徑:0-1-2-3-9 輸入條件:borday&l

24、t;=90,borno>5,bookno不存在 預(yù)期輸出:所借圖書編號(hào)不存在4、測試路徑:0-1-2-3-4-10 輸入條件:borday<=90,borno>5,bookno存在,onshelf不存在 預(yù)期輸出:書不在架5、測試路徑:0-1-2-3-4-5-6 輸入條件:borday<=90,borno>5,bookno存在,onshelf存在 預(yù)期輸出:借書成功(4) 對(duì)于查詢功能模塊,模塊的程序流程圖如下:流程圖中判定節(jié)點(diǎn)為2,環(huán)形復(fù)雜度為:2+1=3采用路徑覆蓋測試法,測試用例如下:1、測試路徑:0-1-6 輸入條件:bookno不存在 預(yù)期輸出:要查找的

25、圖書不存在2、測試路徑:0-1-2-3 輸入條件:bookno存在,onself=1 預(yù)期輸出:要查找的圖書已被借走3、測試路徑:0-1-2-4-5 輸入條件:bookno存在,onself=0 預(yù)期輸出:返回查找圖書信息2. )確認(rèn)測試:采用黑盒測試法測試確認(rèn)測試,主要是為了檢測接口功能應(yīng)對(duì)的各種非預(yù)期性輸入時(shí)系統(tǒng)的可靠性和容錯(cuò)性等性能。本小型圖書管理系統(tǒng)將對(duì)用戶和管理員與圖書管理系統(tǒng)之間的交互接口進(jìn)行測試,所以測試的主要內(nèi)容有2個(gè):圖書管理系統(tǒng)和管理員接口,圖書管理系統(tǒng)和讀者接口。(1) 讀者與圖書管理系統(tǒng)之間的接口讀者登陸圖書管理系統(tǒng),應(yīng)受到系統(tǒng)如下的約束:用戶名需要以字母開頭,后面是數(shù)字和字母組合,不能超過最大長度為10,密碼長度不超過6劃分了等價(jià)類,情況如下所示:輸入條件有效等價(jià)類編號(hào)無效等價(jià)類編號(hào)用戶名開頭字母(a-z)1非字母4余下字符數(shù)字和字母組合2非數(shù)字和字母5字符數(shù)小于103大于106有效等價(jià)類的測試用例:測試編號(hào) 輸入條件預(yù)期輸出覆蓋等價(jià)類開頭余下字符個(gè)數(shù)T1add323238add323231、2、3無效等價(jià)類的測試用例:測試編號(hào) 輸入條件預(yù)期輸出覆蓋等價(jià)類開頭

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論