![圖書(shū)資料管理系統(tǒng)項(xiàng)目測(cè)試分析樣本_第1頁(yè)](http://file4.renrendoc.com/view12/M07/01/00/wKhkGWX2JEyAd2uyAACW2AyCqKw816.jpg)
![圖書(shū)資料管理系統(tǒng)項(xiàng)目測(cè)試分析樣本_第2頁(yè)](http://file4.renrendoc.com/view12/M07/01/00/wKhkGWX2JEyAd2uyAACW2AyCqKw8162.jpg)
![圖書(shū)資料管理系統(tǒng)項(xiàng)目測(cè)試分析樣本_第3頁(yè)](http://file4.renrendoc.com/view12/M07/01/00/wKhkGWX2JEyAd2uyAACW2AyCqKw8163.jpg)
![圖書(shū)資料管理系統(tǒng)項(xiàng)目測(cè)試分析樣本_第4頁(yè)](http://file4.renrendoc.com/view12/M07/01/00/wKhkGWX2JEyAd2uyAACW2AyCqKw8164.jpg)
![圖書(shū)資料管理系統(tǒng)項(xiàng)目測(cè)試分析樣本_第5頁(yè)](http://file4.renrendoc.com/view12/M07/01/00/wKhkGWX2JEyAd2uyAACW2AyCqKw8165.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
文檔編號(hào):HHIT-SECD-ZXR111-02T-08版本號(hào):V1.0圖書(shū)資料管理系統(tǒng)測(cè)試分析闡明書(shū)項(xiàng)目名稱(chēng)圖書(shū)資料管理系統(tǒng)項(xiàng)目負(fù)責(zé)人陳麗娜項(xiàng)目開(kāi)發(fā)單位淮海工學(xué)院計(jì)算機(jī)科學(xué)系中新軟111班第2項(xiàng)目組項(xiàng)目構(gòu)成員陳麗娜陳加成董昊鑫馬翔張鼎??樒鹬箷r(shí)間11月7日至11月9日11月9日軟件工程課程設(shè)計(jì)項(xiàng)目組任務(wù)分派單(組長(zhǎng)用)班級(jí):中新軟111組別:02組長(zhǎng)姓名:陳麗娜時(shí)間:11月9日項(xiàng)目名稱(chēng):圖書(shū)資料管理系統(tǒng)階段名稱(chēng):測(cè)試分析序號(hào)學(xué)號(hào)姓名任務(wù)名稱(chēng)詳細(xì)任務(wù)內(nèi)容完畢原則起止日期驗(yàn)收成績(jī)1陳麗娜測(cè)試概要、測(cè)試成果及發(fā)現(xiàn)編寫(xiě)第二節(jié)和第三節(jié),整頓四個(gè)模塊代碼,界面以及測(cè)試成果匯總各成員設(shè)計(jì)成果11/7-11/9902陳加成對(duì)軟件功能結(jié)論、分析摘要編寫(xiě)第六節(jié)、第七節(jié)對(duì)軟件功能結(jié)論、分析摘要完畢相應(yīng)報(bào)告某些11/7-11/9703董昊鑫引言編寫(xiě)第一節(jié)引言某些完畢相應(yīng)報(bào)告某些11/7-11/9704馬翔集成測(cè)試、在綜合測(cè)試編寫(xiě)第四節(jié)和第五節(jié)測(cè)試分析完畢相應(yīng)報(bào)告某些11/7-11/9905張鼎測(cè)試資源消耗編寫(xiě)第八節(jié)測(cè)試資源消耗完畢相應(yīng)報(bào)告某些11/7-11/9606??槪ㄕ?qǐng)假)未完畢有關(guān)任務(wù)完畢相應(yīng)報(bào)告某些11/7-11/901、本表由組長(zhǎng)為其成員每次上機(jī)實(shí)踐分派任務(wù)使用,應(yīng)認(rèn)真填寫(xiě)有關(guān)任務(wù)名稱(chēng)、內(nèi)容、完畢原則等信息;2、本表在每次任務(wù)完畢后,由組長(zhǎng)按照完畢原則驗(yàn)收,并給出每個(gè)成員成績(jī)?cè)u(píng)估(每人平均70分制),除組長(zhǎng)保存一份外,應(yīng)及時(shí)上報(bào)任課教師(電子和紙質(zhì)文檔同步上報(bào))。目錄1.引言 31.1編寫(xiě)目 31.2背景 41.3定義 41.4參照資料 42.測(cè)試概要 43.測(cè)試成果及發(fā)現(xiàn) 53.1測(cè)試1(顧客登錄模塊) 53.3.1軟件界面 53.1.2測(cè)試代碼 63.2測(cè)試2(圖書(shū)信息管理模塊) 103.2.1軟件界面 103.2.2測(cè)試代碼 123.2.2.1添加圖書(shū)信息代碼 123.2.2.2修改圖書(shū)信息代碼 123.2.2.3查找圖書(shū)信息代碼 133.2.2.4主界面代碼 143.2.3運(yùn)營(yíng)成果 163.3測(cè)試3(圖書(shū)借閱信息管理模塊) 183.3.1軟件界面 183.3.2測(cè)試代碼 193.4測(cè)試4(圖書(shū)報(bào)損管理模塊) 243.4.1軟件界面 243.4.2測(cè)試代碼 243.4.3運(yùn)營(yíng)成果 274.集成測(cè)試成果及發(fā)現(xiàn) 284.1集成測(cè)試 284.2源代碼 284.3測(cè)試 285.綜合測(cè)試成果及發(fā)現(xiàn) 305.1綜合測(cè)試 305.2源代碼 305.3測(cè)試 366.對(duì)軟件功能結(jié)論 416.1登錄功能 416.1.1能力 416.1.2限制 416.2圖書(shū)信息管理功能 416.2.1能力 416.2.2限制 416.3圖書(shū)借閱管理功能 426.3.1能力 426.3.2限制 426.4圖書(shū)報(bào)損管理功能 426.4.1能力 426.4.2限制 427.分析摘要 427.1能力 427.2缺陷和限制 427.3建議 437.4評(píng)價(jià) 438.測(cè)試資源消耗 431.引言【董昊鑫】1.1編寫(xiě)目擬定測(cè)試方略、范疇和辦法;使項(xiàng)目測(cè)試工作所有參加人員(客戶方參加人員、測(cè)試管理者、測(cè)試人員)對(duì)本項(xiàng)目測(cè)試目的、范疇、方略、辦法、組織、資源等有一種清晰結(jié)識(shí);使項(xiàng)目測(cè)試工作所有參加人員理解測(cè)試控制過(guò)程;從方略角度闡明本項(xiàng)目測(cè)試組織和管理,指引測(cè)試進(jìn)展,并作為項(xiàng)目測(cè)試工作實(shí)行根據(jù);預(yù)期讀者為軟件開(kāi)發(fā)人員。1.2背景項(xiàng)目名稱(chēng):圖書(shū)資料管理信息系統(tǒng)項(xiàng)目版本:V1.0項(xiàng)目提出方:淮海工學(xué)院圖書(shū)館項(xiàng)目開(kāi)發(fā)方:陳麗娜陳加成董昊鑫馬翔張鼎祝俊崢項(xiàng)目使用方:淮海工學(xué)院圖書(shū)館圖書(shū)資料管理系統(tǒng)是圖書(shū)館管理工作中不可缺少某些,對(duì)于圖書(shū)館管理者和使用者來(lái)說(shuō)都是非常重要,在以往,人們使用老式手工方式或性能較低圖書(shū)管理系統(tǒng)管理圖書(shū)館尋常事務(wù),操作流程比較繁瑣,效率相稱(chēng)低。同步隨著圖書(shū)館規(guī)模不斷擴(kuò)大,圖書(shū)數(shù)量不斷增長(zhǎng),關(guān)于圖書(shū)各種信息也在成倍增。面對(duì)如此龐大信息量,一種成功圖書(shū)資料管理系統(tǒng)可以提供迅速圖書(shū)信息檢索功能、快捷圖書(shū)借閱、歸還功能以及圖書(shū)損害解決功能,為管理者與讀者提供充分信息和快捷數(shù)據(jù)解決手段,從而實(shí)現(xiàn)圖書(shū)信息管理系統(tǒng)化、規(guī)范化和自動(dòng)化,達(dá)到圖書(shū)資料集中、統(tǒng)一管理目的。1.3定義Oracle11g:系統(tǒng)服務(wù)器所使用數(shù)據(jù)庫(kù)管理系統(tǒng)。PL/SQL:一種用于訪問(wèn)查詢(xún)數(shù)據(jù)庫(kù)語(yǔ)言事務(wù)流:數(shù)據(jù)進(jìn)入模塊后也許有各種途徑進(jìn)行解決。主鍵:數(shù)據(jù)庫(kù)表中核心域。值互不相似。外部主鍵:數(shù)據(jù)庫(kù)表中與其她表主鍵關(guān)聯(lián)域。1.4參照資料=1\*GB3①王先國(guó)等.軟件工程實(shí)踐教程.北京:電子工業(yè)出版社,=2\*GB3②李龍澎.軟件工程課程設(shè)計(jì).北京:機(jī)械工業(yè)出版社,=3\*GB3③張海藩.軟件工程導(dǎo)論.北京:清華大學(xué)出版社,=4\*GB3④《圖書(shū)管理信息系統(tǒng)面向?qū)ο笮枨蠓治雠c設(shè)計(jì)規(guī)格闡明書(shū)》2.測(cè)試概要【馬翔】測(cè)試模塊,測(cè)試內(nèi)容及差別與因素如表8-1所示:測(cè)試模塊測(cè)試內(nèi)容成果與測(cè)試籌劃差別因素登錄模塊測(cè)試在使用有效數(shù)據(jù)時(shí)可以進(jìn)入相應(yīng)主界面;在使用無(wú)效數(shù)據(jù)時(shí)顯示相應(yīng)錯(cuò)誤消息或警告消息無(wú)差別書(shū)籍信息管理模塊測(cè)試在使用有效數(shù)據(jù)時(shí)可以進(jìn)行對(duì)的增刪改查操作;在使用無(wú)效數(shù)據(jù)時(shí)顯示相應(yīng)錯(cuò)誤消息或警告消息。無(wú)差別圖書(shū)借閱信息管理模塊測(cè)試在使用有效數(shù)據(jù)時(shí)將圖書(shū)信息搜索出來(lái)進(jìn)行確認(rèn)借閱操作;在使用無(wú)效數(shù)據(jù)時(shí)顯示相應(yīng)錯(cuò)誤消息或警告消息。無(wú)差別圖書(shū)報(bào)損管理模塊測(cè)試在使用有效數(shù)據(jù)時(shí)將圖書(shū)借閱信息搜索出來(lái)進(jìn)行確認(rèn)歸還操作;在使用無(wú)效數(shù)據(jù)時(shí)顯示相應(yīng)錯(cuò)誤消息或警告消息。無(wú)差別顧客界面測(cè)試通過(guò)瀏覽測(cè)試對(duì)象可對(duì)的反映系統(tǒng)功能和需求,這種瀏覽涉及窗口與窗口之間、字段與字段之間瀏覽,已經(jīng)各種訪問(wèn)辦法(鼠標(biāo)移動(dòng)和快捷鍵)使用;通過(guò)瀏覽測(cè)試對(duì)象可對(duì)的反映系統(tǒng)功能和需求,這種瀏覽涉及窗口與窗口之間、字段與字段之間瀏覽,已經(jīng)各種訪問(wèn)辦法(鼠標(biāo)移動(dòng)和快捷鍵)使用。無(wú)差別性能測(cè)試通過(guò)修改腳本增長(zhǎng)每項(xiàng)事務(wù)迭代次數(shù),并在一臺(tái)計(jì)算機(jī)上運(yùn)營(yíng)(以單個(gè)顧客、單個(gè)事務(wù)為基準(zhǔn)),并在多臺(tái)虛擬客戶機(jī)上重復(fù)。無(wú)差別負(fù)載測(cè)試(運(yùn)營(yíng)時(shí)間)核算所指定業(yè)務(wù)在不同工作量條件下性能行為時(shí)間。無(wú)差別表8-1測(cè)試模塊、測(cè)試內(nèi)容及差別與因素3.測(cè)試成果及發(fā)現(xiàn)【陳麗娜】3.1測(cè)試1(顧客登錄模塊)3.3.1軟件界面系統(tǒng)登錄界面如8-1圖所示:圖8-1系統(tǒng)登錄界面3.1.2測(cè)試代碼#include<stdio.h>#include<string.h>#include<stdlib.h>classUser{public: intuser_id; charusername[20]; charuserpass[20]; chartype[2]; User(charname[],charpass[]) { strcpy(username,name); strcpy(userpass,pass); }};voidlogin(Useruser){ inti=2; boolflag=true; charuserna[20],userpa[20]; printf("請(qǐng)輸入顧客名:\n"); while(scanf("%s",&userna)) { if(strcmp(userna,user.username)) printf("該顧客名不存在!\n"); else break; } printf("請(qǐng)輸入密碼:\n"); while(scanf("%s",&userpa)&&i) { if(!strcmp(userpa,user.userpass)) { printf("登陸成功!\n"); break; } else { i--; printf("密碼錯(cuò)誤!尚有%d次機(jī)會(huì)\n",i+1); } } }voidmenu(){ printf("\t\t顧客登陸模塊\n"); printf("\t====================\n"); printf("\t\t1.普通顧客\n"); printf("\t\t2.管理員\n"); printf("\t====================\n");}intmain(){ Useraduser("admin","admin"); Usercouser("user","123");start:menu(); intchoice; printf("請(qǐng)輸入你顧客類(lèi)型:"); scanf("%d",&choice); switch(choice) { case1: login(couser); system("pause"); system("cls"); gotostart; break; case2: login(aduser); system("pause"); system("cls"); gotostart; break; } return0;}顧客登錄測(cè)試:普通顧客登錄成功如圖8-2所示:圖8-2普通顧客登錄成功普通顧客顧客名錯(cuò)誤如圖8-3所示:圖8-3普通顧客顧客名錯(cuò)誤如圖普通顧客密碼錯(cuò)誤如圖8-4所示:圖8-4普通顧客密碼錯(cuò)誤如管理員登錄成功如圖8-5所示:圖8-5管理員登錄成功管理員顧客名錯(cuò)誤如圖8-6所示:圖8-6管理員顧客名錯(cuò)誤管理員密碼錯(cuò)誤如圖8-7所示:圖8-7管理員密碼錯(cuò)誤如3.2測(cè)試2(圖書(shū)信息管理模塊)3.2.1軟件界面添加圖書(shū)界面如圖8-8所示圖8-8添加圖書(shū)界面刪除圖書(shū)界面如圖8-9所示圖8-9刪除圖書(shū)界面修改圖書(shū)信息界面如圖8-10所示圖8-10修改圖書(shū)信息界面查詢(xún)圖書(shū)界面如圖8-11所示圖8-11查詢(xún)圖書(shū)界面3.2.2測(cè)試代碼3.2.2.1添加圖書(shū)信息代碼BookaddBook(){ Bookbook; printf("請(qǐng)依照提示輸入圖書(shū)信息:\n"); part1: printf("\t圖書(shū)ID:"); scanf("%s",&book.book_id); if(strcmp(book.book_id,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart1; } printf("\t圖書(shū)名稱(chēng):"); scanf("%s",&book.bookname); printf("\t作者:"); scanf("%s",&book.author); part2: printf("\t價(jià)格:"); scanf("%s",&book.price); if(strcmp(book.price,price1)<=0) { printf("價(jià)格應(yīng)為正,請(qǐng)重新輸入"); gotopart2; } printf("\t狀態(tài):"); scanf("%s",&book.state); returnbook;}3.2.2.2修改圖書(shū)信息代碼voidmodifyBook(Bookbook){ intchoice; charname[25],auth[25],pric[25],stat[5]; printf("選取要修改選項(xiàng):\n"); printf("\t1.圖書(shū)名\t2.作者\(yùn)t3.價(jià)格\t4.狀態(tài)\n"); part3: printf("請(qǐng)選取:"); scanf("%d",&choice); if(choice<1||choice>4){ printf("選項(xiàng)為1-4之間數(shù)字!"); gotopart3; } switch(choice) { case1: printf("請(qǐng)輸入新圖書(shū)名:"); scanf("%s",&name); strcpy(book.bookname,name); printf("修改圖書(shū)名成功!\n"); break; case2: printf("請(qǐng)輸入新作者:"); scanf("%s",&auth); strcpy(book.author,auth); printf("修改作者成功!\n"); break; case3: printf("請(qǐng)輸入新價(jià)格:"); part4: scanf("%s",&pric); if(strcmp(pric,price1)<=0) { printf("價(jià)格應(yīng)為正,請(qǐng)重新輸入"); gotopart4; } strcpy(book.price,pric); printf("修改價(jià)格成功!\n"); break; case4: printf("請(qǐng)輸入新?tīng)顟B(tài):"); scanf("%s",&stat); strcpy(book.state,stat); printf("修改狀態(tài)成功!\n"); break; }}3.2.2.3查找圖書(shū)信息代碼BooksearchBookByID(Bookbook[],intlen,charid[]){ Bookbook1; boolflag=true; for(inti=0;i<len;i++) { if(!strcmp(book[i].book_id,id)) { printf("查詢(xún)成果為:\n"); printBook(book[i]); book1=book[i]; flag=false; } } if(flag) { printf("該圖書(shū)未找到!\n"); } returnbook1;}BooksearchBookByID1(Bookbook[],intlen,charid[]){ Bookbook1; boolflag=true; for(inti=0;i<len;i++) { if(!strcmp(book[i].book_id,id)) { printf("圖書(shū)信息已刪除!\n"); book1=book[i]; flag=false; } } if(flag) { printf("該圖書(shū)未找到!\n"); } returnbook1;}3.2.2.4主界面代碼voidmenu(){ printf("\t\t圖書(shū)管理模塊\n"); printf("\t\t==================\n"); printf("\t\t1.添加圖書(shū)\n"); printf("\t\t2.查找圖書(shū)\n"); printf("\t\t3.修改圖書(shū)信息\n"); printf("\t\t4.刪除圖書(shū)信息\n");}intmain(){start:menu(); intchoice; boolflag=true; charid[10],id2[10],id3[10]; printf("請(qǐng)輸入你選?。?); scanf("%d",&choice); if(choice<1||choice>4){ printf("選項(xiàng)為1-4之間數(shù)字!\n"); gotostart; } switch(choice) { case1: while(flag) { book[bookCount++]=addBook(); printf("與否還要繼續(xù)輸入?輸入y繼續(xù),輸入n返回主菜單.."); fflush(stdin); //清空輸入緩存 if(getchar()=='n') flag=false; } system("cls"); gotostart; break; case2: part5: printf("請(qǐng)輸入要查找圖書(shū)ID:"); scanf("%s",&id); if(strcmp(id,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart5; } Bookbo=searchBookByID(book,bookCount,id); system("pause"); system("cls"); gotostart; break; case3: part6: printf("請(qǐng)輸入要修改圖書(shū)ID:"); scanf("%s",&id2); if(strcmp(id2,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart6; } Bookbok=searchBookByID(book,bookCount,id2); modifyBook(bok); system("pause"); system("cls"); gotostart; break; case4: part7: printf("請(qǐng)輸入要?jiǎng)h除圖書(shū)ID:"); scanf("%s",&id3); if(strcmp(id3,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart7; } Bookboo=searchBookByID1(book,bookCount,id3); deleteBook(boo); system("pause"); system("cls"); gotostart; break; } return0;3.2.3運(yùn)營(yíng)成果未查找到該圖書(shū)編號(hào)如圖8-12所示圖8-12未查找到該圖書(shū)編號(hào)查找到該圖書(shū)如圖8-13所示圖8-13查找到該圖書(shū)修改圖書(shū)名成功如圖8-14所示圖8-14修改圖書(shū)名成功3.3測(cè)試3(圖書(shū)借閱信息管理模塊)3.3.1軟件界面圖書(shū)借閱管理模塊主界面如圖8-15所示:圖8-15圖書(shū)借閱信息管理主界面圖書(shū)借閱界面如圖8-16所示圖8-16圖書(shū)借閱模塊圖書(shū)歸還界面如圖8-17所示:圖8-17圖書(shū)歸還模塊圖書(shū)續(xù)借模塊如圖8-18所示圖8-18圖書(shū)續(xù)借模塊3.3.2測(cè)試代碼#include<stdio.h>#include<string.h>#include<stdlib.h>intrecordCount=0;classRecord{public: intrecord_id; charbookname[25]; chardebit[25]; chartime[25];};RecordaddRecord(){ Recordrecord; printf("請(qǐng)依照提示輸入借書(shū)記錄有關(guān)信息:\n"); printf("\t記錄編號(hào):"); scanf("%d",&record.record_id); printf("\t圖書(shū)名稱(chēng):"); scanf("%s",&record.bookname); printf("\t借書(shū)人:"); scanf("%s",&record.debit); printf("\t借書(shū)時(shí)間:"); scanf("%s",&record.time); returnrecord;}Recordrecord[30];voidsearchRecordById(Recordrecord[],intlen,intid){ boolflag=true; for(inti=0;i<len;i++) { if(record[i].record_id==id) { printf("查詢(xún)成果為:\n"); printf("\t記錄ID\t圖書(shū)名稱(chēng)\t借書(shū)人\t借閱時(shí)間\n"); printf("\t%d\t%s\t%s\t%s\n",record[i].record_id,record[i].bookname,record[i].debit,record[i].time); flag=false; } if(flag) printf("該記錄未找到!\n"); }}voiddeleteRecordById(Recordrecord[],intlen,intid){ boolflag=true; for(inti=0;i<len;i++) { if(record[i].record_id==id) { record[i].record_id=0; strcpy(record[i].bookname,""); strcpy(record[i].debit,""); strcpy(record[i].time,""); flag=false; } if(flag) printf("該記錄未找到!\n"); else printf("記錄刪除成功!\n"); }}voidmenu(){ printf("\t\t圖書(shū)借閱信息管理模塊\n"); printf("\t=============================\n"); printf("\t\t1.添加借閱記錄\n"); printf("\t\t2.查找借閱記錄\n"); printf("\t\t3.刪除借閱記錄\n"); printf("\t=============================\n");}intmain(){start:menu(); intchoice; boolflag=true; intid,id1; printf("請(qǐng)輸入你選?。?); scanf("%d",&choice); switch(choice) { case1: while(flag) { record[recordCount++]=addRecord(); printf("與否還要繼續(xù)輸入?輸入y繼續(xù),輸入n返回主菜單.."); fflush(stdin); //清空輸入緩存 if(getchar()=='n') flag=false; } system("cls"); gotostart; break; case2: printf("請(qǐng)輸入要查找記錄ID:"); scanf("%d",&id); searchRecordById(record,recordCount,id); system("pause"); system("cls"); gotostart; break; case3: printf("請(qǐng)輸入要?jiǎng)h除記錄ID:"); scanf("%d",&id1); deleteRecordById(record,recordCount,id1); system("pause"); system("cls"); gotostart; break; } return0;}運(yùn)營(yíng)成果:添加借閱記錄如圖8-19所示:圖8-19添加借閱查找借閱記錄如圖8-20所示:圖8-20查找記錄查找失敗如圖8-21所示圖8-21查找失敗刪除借閱記錄如圖8-22所示圖8-22刪除成功刪除失敗如圖8-23所示:圖8-23刪除失敗3.4測(cè)試4(圖書(shū)報(bào)損管理模塊)3.4.1軟件界面圖書(shū)報(bào)損管理界面如圖8-24所示圖8-24圖書(shū)報(bào)損管理界面3.4.2測(cè)試代碼#include<stdio.h>#include<string.h>#include<stdlib.h>intbookCount=0;classDamageBook{public:intbook_id;charbookname[25];charauthor[25];charprice[25];charstate[5];};DamageBookdabook[30];DamageBookaddDamageBook(){DamageBookbook;printf("請(qǐng)依照提示輸入報(bào)損圖書(shū)信息:\n");printf("\t圖書(shū)編號(hào):");scanf("%d",&book.book_id);printf("\t圖書(shū)名稱(chēng):");scanf("%s",&book.bookname);printf("\t作者:");scanf("%s",&book.author);printf("\t價(jià)格:");scanf("%s",&book.price);printf("\t狀態(tài):");scanf("%s",&book.state);returnbook;}voidprintBook(DamageBookbook){printf("該報(bào)損圖書(shū)信息為:\n");printf("圖書(shū)編號(hào)\t圖書(shū)名\t作者\(yùn)t價(jià)格\t狀態(tài)\n");printf("%d\t%s\t%s\t%s\t%s\t%s\n",book.book_id,book.bookname,book.author,book.price,book.state);}voidsearchDamageBookById(DamageBookbook[],intlen,intid){boolflag=true;for(inti=0;i<len;i++){if(book[i].book_id==id){printf("查詢(xún)成果為:\n");printBook(book[i]);flag=false;}}if(flag){printf("該圖書(shū)未找到!\n");}}voidmenu(){printf("\t\t圖書(shū)報(bào)損模塊\n");printf("\t====================\n");printf("\t\t1.添加報(bào)損圖書(shū)\n");printf("\t\t2.查找報(bào)損圖書(shū)\n");printf("\t====================\n");}intmain(){start:menu();intchoice;boolflag=true;intid;printf("請(qǐng)輸入你選?。?);scanf("%d",&choice);switch(choice){case1:while(flag){dabook[bookCount++]=addDamageBook();printf("與否還要繼續(xù)輸入?輸入y繼續(xù),輸入n返回主菜單..");fflush(stdin);//清空輸入緩存if(getchar()=='n')flag=false;}system("cls");gotostart;break;case2:printf("請(qǐng)輸入要查找報(bào)損圖書(shū)編號(hào):");scanf("%d",&id);searchDamageBookById(dabook,bookCount,id);system("pause");system("cls");gotostart;break;}return0;}3.4.3運(yùn)營(yíng)成果菜單界面如圖8-25所示圖8-25菜單界面添加破損圖書(shū)信息如圖8-26所示圖8-26添加破損圖書(shū)信息查詢(xún)數(shù)據(jù)庫(kù)中不存在破損圖書(shū)圖8-27所示圖8-27查詢(xún)數(shù)據(jù)庫(kù)中不存在破損圖書(shū)查詢(xún)已有破損圖書(shū)信息如圖8-28圖8-28查詢(xún)已有破損圖書(shū)信息4.集成測(cè)試成果及發(fā)現(xiàn)【馬翔】4.1集成測(cè)試顧客信息管理系統(tǒng)模塊分為顧客信息添加子系統(tǒng)、顧客信息修改子系統(tǒng)、顧客信息刪除子系統(tǒng)和顧客信息查詢(xún)子系統(tǒng),在測(cè)試籌劃階段,重要針對(duì)上述所有子系統(tǒng)進(jìn)行設(shè)計(jì)測(cè)試用例,下面開(kāi)始對(duì)員工信息管理系統(tǒng)模塊進(jìn)行集成測(cè)試。4.2源代碼4.3測(cè)試1)測(cè)試用例1a.輸入:i=1b.預(yù)期輸出:請(qǐng)依照提示輸入圖書(shū)信息c.測(cè)試輸出:如圖8-29所示圖8-29d.結(jié)論:預(yù)期輸出與測(cè)試輸出一致。2)測(cè)試用例2a.輸入:i=2b.預(yù)期輸出:請(qǐng)輸入要查找圖書(shū)ID:c.測(cè)試輸出:如圖8-30所示圖8-30d.結(jié)論:預(yù)期輸出與測(cè)試輸出一致。3)測(cè)試用例3a.輸入:i=3b.預(yù)期輸出:請(qǐng)輸入要修改圖書(shū)ID:c.測(cè)試輸出:如圖8-31所示圖8-31d.結(jié)論:預(yù)期輸出與測(cè)試輸出一致。4)測(cè)試用例4a.輸入:i=4b.預(yù)期輸出:請(qǐng)輸入要?jiǎng)h除圖書(shū)ID:c.測(cè)試輸出:如圖8-32所示 圖8-32d.結(jié)論:預(yù)期輸出與測(cè)試輸出一致。5.綜合測(cè)試成果及發(fā)現(xiàn)【馬翔】5.1綜合測(cè)試綜合測(cè)試重要測(cè)試系統(tǒng)功能,這里重要測(cè)試圖書(shū)管理系統(tǒng)功能,運(yùn)用黑盒測(cè)試中檔價(jià)劃分辦法,并運(yùn)用測(cè)試籌劃階段設(shè)計(jì)測(cè)試用例進(jìn)行綜合測(cè)試。5.2源代碼#include<stdio.h>#include<string.h>#include<stdlib.h>intbookCount=0;charid1[10]="0";charprice1[25]="0";classBook{public: charbook_id[10]; charbookname[25]; charauthor[25]; charprice[25]; charstate[5];};Bookbook[35];voidprintBook(Bookbook){ printf("該圖書(shū)信息為:\n"); printf("圖書(shū)id\t圖書(shū)名\t作者\(yùn)t價(jià)格\t狀態(tài)\n"); printf("%s\t%s\t%s\t%s\t%s\n",book.book_id,book.bookname,book.author,book.price,book.state);}BookaddBook(){ Bookbook; printf("請(qǐng)依照提示輸入圖書(shū)信息:\n"); part1: printf("\t圖書(shū)ID:"); scanf("%s",&book.book_id); if(strcmp(book.book_id,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart1; } printf("\t圖書(shū)名稱(chēng):"); scanf("%s",&book.bookname); printf("\t作者:"); scanf("%s",&book.author); part2: printf("\t價(jià)格:"); scanf("%s",&book.price); if(strcmp(book.price,price1)<=0) { printf("價(jià)格應(yīng)為正,請(qǐng)重新輸入"); gotopart2; } printf("\t狀態(tài):"); scanf("%s",&book.state); returnbook;}voidmodifyBook(Bookbook){ intchoice; charname[25],auth[25],pric[25],stat[5]; printf("選取要修改選項(xiàng):\n"); printf("\t1.圖書(shū)名\t2.作者\(yùn)t3.價(jià)格\t4.狀態(tài)\n"); part3: printf("請(qǐng)選取:"); scanf("%d",&choice); if(choice<1||choice>4){ printf("選項(xiàng)為1-4之間數(shù)字!"); gotopart3; } switch(choice) { case1: printf("請(qǐng)輸入新圖書(shū)名:"); scanf("%s",&name); strcpy(book.bookname,name); printf("修改圖書(shū)名成功!\n"); break; case2: printf("請(qǐng)輸入新作者:"); scanf("%s",&auth); strcpy(book.author,auth); printf("修改作者成功!\n"); break; case3: printf("請(qǐng)輸入新價(jià)格:"); part4: scanf("%s",&pric); if(strcmp(book.price,price1)<=0) { printf("價(jià)格應(yīng)為正,請(qǐng)重新輸入"); gotopart4; } strcpy(book.price,pric); printf("修改價(jià)格成功!\n"); break; case4: printf("請(qǐng)輸入新?tīng)顟B(tài):"); scanf("%s",&stat); strcpy(book.state,stat); printf("修改狀態(tài)成功!\n"); break; }}BooksearchBookByID(Bookbook[],intlen,charid[]){ Bookbook1; boolflag=true; for(inti=0;i<len;i++) { if(!strcmp(book[i].book_id,id)) { printf("查詢(xún)成果為:\n"); printBook(book[i]); book1=book[i]; flag=false; } } if(flag) { printf("該圖書(shū)未找到!\n"); } returnbook1;}BooksearchBookByID1(Bookbook[],intlen,charid[]){ Bookbook1; boolflag=true; for(inti=0;i<len;i++) { if(!strcmp(book[i].book_id,id)) { printf("圖書(shū)信息已刪除!\n"); book1=book[i]; flag=false; } } if(flag) { printf("該圖書(shū)未找到!\n"); } returnbook1;}voiddeleteBook(Bookbook){ memset(book.book_id,'\0',sizeof(book.book_id)); memset(book.bookname,'\0',sizeof(book.bookname)); memset(book.author,'\0',sizeof(book.author)); memset(book.price,'\0',sizeof(book.price)); memset(book.state,'\0',sizeof(book.state));}voidmenu(){ printf("\t\t圖書(shū)管理模塊\n"); printf("\t\t==================\n"); printf("\t\t1.添加圖書(shū)\n"); printf("\t\t2.查找圖書(shū)\n"); printf("\t\t3.修改圖書(shū)信息\n"); printf("\t\t4.刪除圖書(shū)信息\n");}intmain(){start:menu(); intchoice; boolflag=true; charid[10],id2[10],id3[10]; printf("請(qǐng)輸入你選?。?); scanf("%d",&choice); if(choice<1||choice>4){ printf("選項(xiàng)為1-4之間數(shù)字!\n"); gotostart; } switch(choice) { case1: while(flag) { book[bookCount++]=addBook(); printf("與否還要繼續(xù)輸入?輸入y繼續(xù),輸入n返回主菜單.."); fflush(stdin); //清空輸入緩存 if(getchar()=='n') flag=false; } system("cls"); gotostart; break; case2: part5: printf("請(qǐng)輸入要查找圖書(shū)ID:"); scanf("%s",&id); if(strcmp(id,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart5; } Bookbo=searchBookByID(book,bookCount,id); system("pause"); system("cls"); gotostart; break; case3: part6: printf("請(qǐng)輸入要修改圖書(shū)ID:"); scanf("%s",&id2); if(strcmp(id2,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart6; } Bookbok=searchBookByID(book,bookCount,id2); modifyBook(bok); system("pause"); system("cls"); gotostart; break; case4: part7: printf("請(qǐng)輸入要?jiǎng)h除圖書(shū)ID:"); scanf("%s",&id3); if(strcmp(id3,id1)<=0) { printf("圖書(shū)編號(hào)應(yīng)為正,請(qǐng)重新輸入"); gotopart7; } Bookboo=searchBookByID1(book,bookCount,id3); deleteBook(boo); system("pause"); system("cls"); gotostart; break; } return0;}5.3測(cè)試【馬翔】測(cè)試籌劃中設(shè)計(jì)好測(cè)試用例:(1)添加Ⅰ、書(shū)籍信息輸入對(duì)的:輸入:圖書(shū)編號(hào):10001圖
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聯(lián)創(chuàng)聯(lián)建協(xié)議書(shū)
- 供應(yīng)商保密協(xié)議承諾書(shū)
- 馬鈴薯種薯購(gòu)銷(xiāo)合同書(shū)
- 2025年山東貨運(yùn)從業(yè)資格證答題技巧與方法
- 電力項(xiàng)目開(kāi)發(fā)合同(2篇)
- 電力合同結(jié)束協(xié)議(2篇)
- 2024秋六年級(jí)語(yǔ)文上冊(cè) 第一單元 4 花之歌說(shuō)課稿 新人教版
- 六年級(jí)上冊(cè)數(shù)學(xué)計(jì)算題200道(含答案)
- 川教版信息技術(shù)(2019)五年級(jí)上冊(cè)第三單元 圖形化編程之聰明的角色 3 克隆躲避隕石-說(shuō)課稿
- 服務(wù)員月初工作計(jì)劃范本
- 職位管理手冊(cè)
- IPQC首檢巡檢操作培訓(xùn)
- 餐飲空間設(shè)計(jì)課件ppt
- 肉制品加工技術(shù)完整版ppt課件全套教程(最新)
- (中職)Dreamweaver-CC網(wǎng)頁(yè)設(shè)計(jì)與制作(3版)電子課件(完整版)
- 東南大學(xué) 固體物理課件
- 行政人事助理崗位月度KPI績(jī)效考核表
- 紀(jì)檢監(jiān)察機(jī)關(guān)派駐機(jī)構(gòu)工作規(guī)則全文詳解PPT
- BP-2C 微機(jī)母線保護(hù)裝置技術(shù)說(shuō)明書(shū) (3)
- 硫酸分公司30萬(wàn)噸硫磺制酸試車(chē)方案
- 電子電路基礎(chǔ)習(xí)題解答
評(píng)論
0/150
提交評(píng)論