圖書(shū)借閱管理系統(tǒng)_第1頁(yè)
圖書(shū)借閱管理系統(tǒng)_第2頁(yè)
圖書(shū)借閱管理系統(tǒng)_第3頁(yè)
圖書(shū)借閱管理系統(tǒng)_第4頁(yè)
圖書(shū)借閱管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程實(shí)驗(yàn)報(bào)告題目:圖書(shū)借閱管理系統(tǒng)試驗(yàn)一試驗(yàn)要求:=1\*GB3①.在實(shí)驗(yàn)題目列出的幾個(gè)系統(tǒng)中選擇一個(gè)作為自己要開(kāi)發(fā)的軟件系統(tǒng),要求該系統(tǒng)有明確的功能需求,并建立系統(tǒng)的分析模型。=2\*GB3②.對(duì)系統(tǒng)進(jìn)行需求分析,掌握ER圖、DFD、DD的設(shè)計(jì)與編寫(xiě)=3\*GB3③.熟悉Visio環(huán)境和根本操作,制作一個(gè)簡(jiǎn)單的系統(tǒng)流程圖和數(shù)據(jù)流圖、主要數(shù)據(jù)項(xiàng)的數(shù)據(jù)字典描述及主要加工的邏輯說(shuō)明〔自己選擇結(jié)構(gòu)語(yǔ)言、判定樹(shù)、判定表等〕。=4\*GB3④.撰寫(xiě)需求分析規(guī)格說(shuō)明書(shū)試驗(yàn)步驟:選擇圖書(shū)借閱管理系統(tǒng)為要開(kāi)發(fā)的軟甲系統(tǒng),該系統(tǒng)要求能夠具有圖書(shū)管理和會(huì)員管理的功能,并且能夠具有增加圖書(shū)、查詢(xún)圖書(shū)、刪除圖書(shū)、圖書(shū)借閱——借書(shū)、還書(shū)的功能,還具有增加會(huì)員、查詢(xún)會(huì)員、刪除會(huì)員、借書(shū)信息等功能。功能需求2.1總體功能需求圖書(shū)館管理信息系統(tǒng)是針對(duì)圖書(shū)館的大量業(yè)務(wù)處理工作用計(jì)算機(jī)進(jìn)行全面現(xiàn)代化管理.主要包括讀者管理、書(shū)籍管理、和借閱信息管理,等幾個(gè)方面的功能,以實(shí)現(xiàn)用戶(hù)方便的借書(shū).還書(shū).查詢(xún)所需書(shū)籍等需求。2.2具體系統(tǒng)功能需求描述1〕圖書(shū)管理功能圖書(shū)管理功能模塊要求具有增加圖書(shū)、查詢(xún)圖書(shū)、刪除圖書(shū)、圖書(shū)借閱——借書(shū)、還書(shū)以及借閱信息的功能。2〕會(huì)員管理功能會(huì)員管理功能要求具有增加會(huì)員、查詢(xún)會(huì)員、刪除會(huì)員等功能。ER圖設(shè)計(jì)ER圖中包含了實(shí)體〔即數(shù)據(jù)對(duì)象〕、關(guān)系和屬性3種根本成分。數(shù)據(jù)流圖DFD設(shè)計(jì)1〕頂層數(shù)據(jù)流圖2〕更新圖書(shū)數(shù)據(jù)流圖3〕借書(shū)數(shù)據(jù)流圖4〕還書(shū)數(shù)據(jù)流圖5數(shù)據(jù)字典DD設(shè)計(jì)1)讀者表列名數(shù)據(jù)類(lèi)型位數(shù)是否為空讀者號(hào)varchar50否讀者姓名varchar50否讀者性別varchar20否聯(lián)系varchar12是最大借書(shū)量int否所在系varchar50否生效日期Datetime是失效日期Datetime是違章?tīng)顟B(tài)Varchar50是累計(jì)借書(shū)Int是備注varchar100是2)管理員表列名數(shù)據(jù)類(lèi)型位數(shù)是否為空工作號(hào)varchar12否密碼varchar50否姓名Varchar12是性別varchar2否Varchar12是備注varchar100是3)借閱表列名數(shù)據(jù)類(lèi)型位數(shù)是否為空工作號(hào)bigint1,1否ISBNVarchar50否讀者學(xué)號(hào)Varchar50否借書(shū)日期Datetime否還書(shū)日期Datetime否真實(shí)還書(shū)日期Datetime是是否續(xù)借Varchar50是備注varchar100是4)圖書(shū)列名數(shù)據(jù)類(lèi)型位數(shù)是否為空書(shū)籍編號(hào)Bigint1,1否ISBNVarchar50否書(shū)名Varchar50否作者Varchar50是出版社Varchar50是價(jià)格Money是出版日期Datetime是庫(kù)存量Int是狀態(tài)varchar50是實(shí)驗(yàn)二采用面向數(shù)據(jù)流的設(shè)計(jì)方法設(shè)計(jì)系統(tǒng)軟件結(jié)構(gòu),使用Visio畫(huà)出軟件層次圖實(shí)驗(yàn)要求:=1\*GB3①學(xué)習(xí)總體設(shè)計(jì)的根本方法;=2\*GB3②掌握面向數(shù)據(jù)流的設(shè)計(jì)方法;=3\*GB3③通過(guò)對(duì)實(shí)驗(yàn)〔一〕中DFD圖的分析,使用Visio畫(huà)出軟件層次圖。=4\*GB3④編寫(xiě)出初步的系統(tǒng)設(shè)計(jì)報(bào)告實(shí)驗(yàn)步驟:根據(jù)實(shí)驗(yàn)〔一〕DFD圖,使用Visio2023畫(huà)出軟件層次圖實(shí)驗(yàn)〔三〕完成實(shí)驗(yàn)〔二〕中的兩到三個(gè)主要功能模塊的詳細(xì)設(shè)計(jì);編寫(xiě)局部代碼實(shí)驗(yàn)要求:=1\*GB3①學(xué)習(xí)詳細(xì)設(shè)計(jì)的根本方法;=2\*GB3②掌握詳細(xì)設(shè)計(jì)圖形工具的使用方法;=3\*GB3③給出主要功能模塊的算法=4\*GB3④選擇程序設(shè)計(jì)語(yǔ)言編寫(xiě)主要功能模塊代碼。實(shí)驗(yàn)步驟:圖書(shū)管理子模塊詳細(xì)設(shè)計(jì)1〕功能描述在此模塊中要求管理員對(duì)圖書(shū)管理系統(tǒng)定期核查,產(chǎn)生圖書(shū)訂購(gòu)表;采購(gòu)員根據(jù)訂購(gòu)表采購(gòu)圖書(shū);新書(shū)入庫(kù);管理員對(duì)圖書(shū)進(jìn)行管理,更新圖書(shū)系統(tǒng),刪除破損、壞舊圖書(shū)。2〕程序流程圖3〕功能代碼實(shí)現(xiàn)privatevoidBind()//DataGridView數(shù)據(jù)綁定{stringsql="";switch(FrmMain.MenuCode){case1:sql="SELECT[UKCode],[UKName]FROM[t_User_Kind]ORDERBY[UKCode]";break;case2:sql="SELECT[RCode],[RName]FROM[LibMIS].[dbo].[t_Right]ORDERBY[RCode]";break;case3:sql="SELECT[BKCode],[BKName]FROM[LibMIS].[dbo].[t_Book_Kind]";break;}DataTabledt=dbobj.dt(sql);//讀數(shù)據(jù)dGV.DataSource=dt;//制定DataGridView數(shù)據(jù)源if(dt.Rows.Count>0){//修改界面顯示內(nèi)容switch(FrmMain.MenuCode){case1:dGV.Columns[0].HeaderText="用戶(hù)類(lèi)別編碼";dGV.Columns[1].HeaderText="用戶(hù)類(lèi)別名稱(chēng)";break;case2:…….case3:…….}}//控制各按鈕與文本框的操作性,如單擊“增加〞、“修改〞按鈕后文本框可編輯,//同時(shí)“增加〞、“修改〞按鈕失效?!氨4妯暋ⅰ叭∠暟粹o有效。privatevoidOpreateEnable(BooleanYN){txtCode.ReadOnly=!YN;txtName.ReadOnly=!YN;butAdd.Enabled=!YN;butUpdate.Enabled=!YN;butDelete.Enabled=!YN;butExit.Enabled=!YN;butSave.Enabled=YN;butCancel.Enabled=YN;}privatevoidbutAdd_Click(objectsender,EventArgse)//增加代碼{IsAdd=true;//用于在保存時(shí),區(qū)分是新增,還是修改OpreateEnable(true);txtCode.Text="";txtName.Text="";sCode="";sName="";}privatevoidbutUpdate_Click(objectsender,EventArgse)//修改{IsAdd=false;OpreateEnable(true);txtCode.ReadOnly=true;}privatevoiddGV_Click(objectsender,EventArgse)//單擊DataGridView時(shí)在文本框中顯示選定數(shù)據(jù){inti=dGV.CurrentCell.RowIndex;txtCode.Text=dGV[0,i].Value.ToString();txtName.Text=dGV[1,i].Value.ToString();sCode=txtCode.Text.ToString();sName=txtName.Text.ToString();}privatevoidbutCancel_Click(objectsender,EventArgse)//取消修改或新增數(shù)據(jù){OpreateEnable(false);txtCode.Text=sCode;txtName.Text=sName;}privatevoidbutSave_Click(objectsender,EventArgse)//保存新增或修改數(shù)據(jù){if(FrmMain.MenuCode==1||FrmMain.MenuCode==2){if(txtCode.Text.Trim().Length!=2)//限定用戶(hù)類(lèi)別編碼與權(quán)限編碼長(zhǎng)度為2位{MessageBox.Show("編碼長(zhǎng)度為兩位字符!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}if(txtName.Text.Trim().Length>20){MessageBox.Show("名稱(chēng)長(zhǎng)度不能超過(guò)20個(gè)字符!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}else{if(txtCode.Text.Trim().Length>10){MessageBox.Show("編碼長(zhǎng)度不能超過(guò)10個(gè)字符!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}if(txtName.Text.Trim().Length>20){MessageBox.Show("名稱(chēng)長(zhǎng)度不能超過(guò)40個(gè)字符!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}stringstrSql="";if(IsAdd)//調(diào)用存儲(chǔ)過(guò)程完成數(shù)據(jù)保存strSql="Pr_Code_Insert";elsestrSql="Pr_Code_UPDATE";sCode=txtCode.Text.ToString();sName=txtName.Text.ToString();if(dbobj.CodeManage(sCode,sName,strSql,FrmMain.MenuCode)>0){MessageBox.Show("更新成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);Bind();}else{MessageBox.Show("更新失??!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);txtCode.Text=sCode;txtName.Text=sName;}OpreateEnable(false);}privatevoidbutDelete_Click(objectsender,EventArgse)//刪除數(shù)據(jù){stringstrSql="Pr_Code_Delete";sCode=txtCode.Text.ToString();sName=txtName.Text.ToString();if(dbobj.CodeManage(sCode,sName,strSql,FrmMain.MenuCode)>0)MessageBox.Show("刪除成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);elseMessageBox.Show("刪除失??!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);Bind();txtCode.Text="";txtName.Text="";}圖書(shū)借閱子模塊詳細(xì)設(shè)計(jì)功能描述在此模塊中要求讀者結(jié)束之前必須對(duì)圖書(shū)信息庫(kù)進(jìn)行查詢(xún),如想借圖書(shū)當(dāng)前有剩余那么可借,管理員對(duì)相應(yīng)圖書(shū)信息進(jìn)行更新;反之,當(dāng)有讀者還書(shū)時(shí),也對(duì)圖書(shū)信息進(jìn)行更新。程序流程圖功能代碼實(shí)現(xiàn)DBClsdbobj=newDBCls();protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){GVBind();stringsql="SELECT[BName],[BBDate],[BBNumber],[InLibrary]FROM[LibMIS].[dbo].[v_Bespeaking_Books]";//預(yù)約圖書(shū)sql=sql+"WHERERLCNumber='"+Session["RLCNumber"].ToString()+"'";DataTabledt=dbobj.dt(sql);GridView2.DataSource=dt;GridView2.DataBind();}}privatevoidGVBind()//借閱信息{stringsql="SELECT[LRSNumber],[RLCNumber],[LRLDate],[LRMDate],[LRIsRenew],[LRRTimes],[BName],[Status]";sql=sql+"FROM[LibMIS].[dbo].[v_Reader_Borrow_Book]WHERERLCNumber='"+Session["RLCNumber"].ToString()+"'";DataTabledt=dbobj.dt(sql);GridView1.DataSource=dt;GridView1.DataBind();}protectedvoidChkAll_CheckedChanged(objectsender,EventArgse)//全選{Booleanb;if(ChkAll.Checked==false)b=false;elseb=true;for(inti=0;i<GridView1.Rows.Count;i++){CheckBoxchk=(CheckBox)GridView1.Rows[i].FindControl("CheckBox1");if(GridView1.Rows[i].Cells[4].Text.ToString()=="超期")chk.Checked=false;elsechk.Checked=b;}}protectedvoidbutReNew_Click(objectsender,EventArgse)//續(xù)借{strings="";intBKRTimes=Convert.ToInt16(Session["BKRTimes"]);stringLRSNumber="";strings1="";intj=0;for(inti=0;i<GridView1.Rows.Count;i++){CheckBoxchk=(CheckBox)GridView1.Rows[i].FindControl("CheckBox1");if(chk.Checked){s1=GridView1.Rows[i].Cells[6].Text;if(s1==" ")j=1;elsej=Convert.ToInt16(GridView1.Rows[i].Cells[6].Text)+1;if(j<BKRTimes){LRSNumber=GridView1.DataKeys[i].Value.ToString();try{dbobj.ReNewBook(LRSNumber,Session["RKCode"].ToString());}catch(Exceptionex){throwex;return;}}elses=s+GridView1.Rows[i].Cells[0].Text+",";}}GVBind();}實(shí)驗(yàn)〔四〕對(duì)所選系統(tǒng)完成系統(tǒng)測(cè)試〔2學(xué)時(shí)〕實(shí)驗(yàn)要求:=1\*GB3①學(xué)習(xí)軟件測(cè)試的根本方法;=2\*GB3②結(jié)合實(shí)驗(yàn)〔三〕中的算法,用白盒法中的邏輯覆蓋測(cè)試技術(shù),設(shè)計(jì)測(cè)試用例;=3\*GB3③選擇實(shí)驗(yàn)〔三〕中給出代碼的模塊進(jìn)行黑盒測(cè)試。實(shí)驗(yàn)步驟:白盒測(cè)試白盒測(cè)試也稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。1.1邏輯覆蓋有選擇的執(zhí)行程序中某些最具代表性的通路是對(duì)窮盡測(cè)試的唯一可行的代替方法。通過(guò)邏輯覆蓋中的兩種覆蓋來(lái)測(cè)試流通管理模塊下各子模塊的通路。依據(jù)是詳細(xì)設(shè)計(jì)階段的流通管理各子模塊程序流程圖。即預(yù)定流程圖,圖書(shū)借閱流程圖,圖書(shū)歸還流程圖和圖書(shū)喪失、損害處理流程圖。1)結(jié)束模塊中的條件組合覆蓋條件編號(hào)借書(shū)證號(hào)合法確認(rèn)操作繼續(xù)操作執(zhí)行路徑1YYYabcdefgd2YYNabcdefgh3YN—abcded4N——abcb2〕圖書(shū)歸還模塊中的條件組合覆蓋條件編號(hào)圖書(shū)超期繼續(xù)操作執(zhí)行路徑1YYabcdefb2YNabcdefg3NYabcefb4NNabcefg組合1:圖書(shū)超期(Y)、繼續(xù)操作(N)和圖書(shū)超期(N)、繼續(xù)操作(Y)覆蓋路徑:abcdefg和abcefb組合2:圖書(shū)超期(N)、繼續(xù)操作(N)和圖書(shū)超期(Y)、繼續(xù)操作(Y)覆蓋路徑:abcefg和abcdefb2黑盒測(cè)試黑盒測(cè)試〔Black-boxTesting,又稱(chēng)為功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試〕是把測(cè)試對(duì)象作一個(gè)黑盒子。利用黑盒測(cè)試法進(jìn)行動(dòng)態(tài)測(cè)試時(shí),需要測(cè)試軟件產(chǎn)品的功能,不需測(cè)試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過(guò)程。

采用黑盒技術(shù)設(shè)計(jì)測(cè)試用例的方法有:等價(jià)類(lèi)劃分、邊界值分析、錯(cuò)誤推

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論