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

下載本文檔

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

文檔簡介

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

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

3、詢借閱者 情況; (3)已注冊借閱者可按書名、出版社或作者對圖書信息進行檢索查詢或提出預(yù)約請 求; 2)、圖書管理員管理系統(tǒng) (1)圖書管理員通過圖書管理員身份認(rè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)證進入系統(tǒng)管理員管理系統(tǒng); (2)系統(tǒng)管理員可以對圖書進行圖書管理(如:查詢、刪除、修改圖書資料或圖書 分類查詢修改、刪除管理); (3)系統(tǒng)管理員可以對借閱者進行學(xué)生管理(如:查詢、刪除、修改借閱者信息或

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

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

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

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

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

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

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

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

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

14、:");scanf("%s",library.booklibrary.count.time);printf("t請輸入該書的價格:");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、詢模塊用戶先選擇圖書查詢方式(按書名查找或按書號查找)輸入圖書書名或書號后,查找出該圖書是否存在,若存在,則顯示該圖書信息,若不存在則提示用戶無此圖書信息。void search_by_author() /*定義按作者名查詢*/ char s320;int flag=1;printf("請輸入要查詢的書的作者: ");fflush(stdin);scanf("%s",s3);printf("圖書號t圖書名t作者名t出版社t出版日期t圖書價格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、存在,則提示用戶無此圖書信息;若存在,則提示用戶選擇修改項目,然后提示用戶圖書信息修改完成。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("圖書號t圖書名t作者名t出版社t出版日期t圖書價格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請輸入圖書號:");scanf("%s",book.number);printf("t請輸入圖書名:");scanf("%s",);printf("t請輸入作者名:");scanf("%s",book.author);printf("t請輸入出版社:");scanf("%s",book.publish);printf("t請輸入出版時間:");scanf("%s&q

20、uot;,book.time);printf("t請輸入該書的價格:");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();實驗4對所選系統(tǒng)完成系統(tǒng)測試(2學(xué)時)實驗要求: 學(xué)習(xí)軟件測試的基本方法; 結(jié)合實驗(三)中的算法,用白盒法中的邏輯覆蓋測試技術(shù),設(shè)計測試用例; 選擇實驗(三)中給出代碼的模塊進行黑盒測試。單元測試 :采用白盒測試法針對用戶還書、預(yù)約、借書、查詢等功能模塊進行測試(1)對于還書功能模塊,模塊的程序流程圖如下: 判定節(jié)點為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)對于預(yù)約功能模塊,模塊的程序流程圖如下:圖中判定節(jié)點為: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-

23、8 輸入條件:borday<=90,borno存在,onself不存在 預(yù)期輸出:圖書已借出4、測試路徑:0-1-2-3-4-5 輸入條件:borday<=90,borno存在,onself存在 預(yù)期輸出:預(yù)約成功(3)對于借書功能模塊,模塊的程序流程圖如下:圖中判定節(jié)點為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&

24、lt;=90,borno>5,bookno不存在 預(yù)期輸出:所借圖書編號不存在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) 對于查詢功能模塊,模塊的程序流程圖如下:流程圖中判定節(jié)點為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)對的各種非預(yù)期性輸入時系統(tǒng)的可靠性和容錯性等性能。本小型圖書管理系統(tǒng)將對用戶和管理員與圖書管理系統(tǒng)之間的交互接口進行測試,所以測試的主要內(nèi)容有2個:圖書管理系統(tǒng)和管理員接口,圖書管理系統(tǒng)和讀者接口。(1) 讀者與圖書管理系統(tǒng)之間的接口讀者登陸圖書管理系統(tǒng),應(yīng)受到系統(tǒng)如下的約束:用戶名需要以字母開頭,后面是數(shù)字和字母組合,不能超過最大長度為10,密碼長度不超過6劃分了等價類,情況如下所示:輸入條件有效等價類編號無效等價類編號用戶名開頭字母(a-z)1非字母4余下字符數(shù)字和字母組合2非數(shù)字和字母5字符數(shù)小于103大于106有效等價類的測試用例:測試編號 輸入條件預(yù)期輸出覆蓋等價類開頭余下字符個數(shù)t1add323238add323231、2、3無效等價類的測試用例:測試編號 輸入條件預(yù)期輸出覆蓋等價類開頭余下字符個數(shù)t12dd323238輸入錯誤2、3、4t2a*>&

溫馨提示

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

最新文檔

評論

0/150

提交評論