軟件工程圖書管理系統(tǒng)樣本_第1頁(yè)
軟件工程圖書管理系統(tǒng)樣本_第2頁(yè)
軟件工程圖書管理系統(tǒng)樣本_第3頁(yè)
軟件工程圖書管理系統(tǒng)樣本_第4頁(yè)
軟件工程圖書管理系統(tǒng)樣本_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。軟件工程項(xiàng)目實(shí)踐報(bào)告課題名稱圖書管理系統(tǒng)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)開發(fā)組長(zhǎng)名字1072485開發(fā)組員名字1072485名字3072509名字2072417名字4072351名字5072513指導(dǎo)老師朱XX小組編號(hào)第一組完成時(shí)間12月

具體分工序號(hào)學(xué)號(hào)姓名角色承擔(dān)的工作(簡(jiǎn)介)頁(yè)碼備注1072485名字1組長(zhǎng)需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼4-614-1617-2234-392.1--4.225.1-5.22072351名字4副組長(zhǎng)測(cè)試40-476.1-6.33072509名字3副組長(zhǎng)需求分析詳細(xì)設(shè)計(jì)6-811-1222-272.4-2.52.7-2.94.23-4.254072513名字5組員可行性研究需求分析1-39-111.1-1.62.65062417名字2組員總體設(shè)計(jì)詳細(xì)設(shè)計(jì)12-1428-333.14.26-4.28

目錄TOC\o"1-3"\u1可行性研究與項(xiàng)目開發(fā)計(jì)劃 11.1引言 11.1.1問題定義 11.1.2背景 11.1.3編寫目的 11.2可行性研究的前景 11.2.1要求 11.2.2目標(biāo) 11.2.3條件、假定和限制 21.2.4進(jìn)行可行性研究的方法 21.2.5評(píng)價(jià)尺度 21.3所建議的系統(tǒng) 21.3.1對(duì)所建議系統(tǒng)的說(shuō)明 21.3.2影響 21.3.3局限性 31.3.4技術(shù)條件方面的可行性 31.4社會(huì)因素方面的可行性 31.4.1法律方面的可行性 31.4.2使用方面的可行性 31.5結(jié)論 31.6工作進(jìn)度表 32需求分析 42.1需求定義 42.1.1圖書信息查詢/借書信息查詢 42.1.2新書入庫(kù)/修改圖書信息 42.1.3借閱圖書/歸還圖書 42.2目標(biāo)系統(tǒng)的數(shù)據(jù)分析與建模 52.3目標(biāo)系統(tǒng)的功能需求與建模 62.4目標(biāo)系統(tǒng)的行為需求與建模 62.5數(shù)據(jù)字典 82.6IPO圖 92.7目標(biāo)系統(tǒng)的性能需求 112.7.1數(shù)據(jù)精確度 112.7.2響應(yīng)時(shí)間 112.8運(yùn)行需求 112.8.1用戶界面 112.8.2故障處理 112.9其它需求 112.9.1可使用性 112.9.2安全性 112.9.3可維護(hù)性 122.9.4可移植性 123總體設(shè)計(jì) 133.1系統(tǒng)設(shè)計(jì) 133.1.1系統(tǒng)功能分析 133.1.2運(yùn)行環(huán)境 133.1.3層次圖和結(jié)構(gòu)圖 133.2數(shù)據(jù)庫(kù)設(shè)計(jì) 143.2.1數(shù)據(jù)庫(kù)需求分析 143.2.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 143.2.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 154詳細(xì)設(shè)計(jì) 174.1人機(jī)界面設(shè)計(jì) 174.1.1設(shè)計(jì)概述 174.1.2系統(tǒng)響應(yīng)時(shí)間 184.1.3出錯(cuò)信息處理 184.2功能模塊設(shè)計(jì) 194.2.1用戶登錄模塊 194.2.2圖書館書籍查詢模塊 214.2.3已借書籍查詢模塊 224.2.4新增圖書模塊 244.2.5刪除圖書模塊 264.2.6修改圖書信息 284.2.7借閱圖書模塊 304.2.8歸還圖書模塊 325編碼 345.1開發(fā)環(huán)境 345.2運(yùn)行結(jié)果 345.2.1登錄模塊 345.2.2書籍查詢模塊 355.2.3已借書籍查詢模塊 365.2.4借書模塊 365.2.5還書模塊 375.2.6新書入庫(kù) 385.2.7刪除書籍 385.2.8書籍信息修改 396測(cè)試 406.1測(cè)試計(jì)劃 406.1.1測(cè)試計(jì)劃名稱 406.1.2引言 40問題定義 40背景 40編寫目的 406.1.3測(cè)試項(xiàng) 406.1.4被測(cè)試的特性 416.1.5不被測(cè)試的特性 416.1.6方法 416.1.7項(xiàng)經(jīng)過(guò)準(zhǔn)則 426.1.8暫停標(biāo)準(zhǔn)和再啟動(dòng)要求 426.1.9應(yīng)提供的測(cè)試文件 426.1.10測(cè)試任務(wù) 426.1.11環(huán)境要求 426.2測(cè)試日志 426.2.1圖書館書籍查詢模塊測(cè)試日志 426.2.2已借書籍查詢模塊測(cè)試日志 436.2.3借閱圖書模塊測(cè)試日志 446.2.4歸還圖書模塊測(cè)試日志 456.2.5新增圖書模塊測(cè)試日志 456.2.6刪除圖書模塊測(cè)試日志 456.2.7修改書籍信息模塊測(cè)試日志 466.2.8借閱人子系統(tǒng)測(cè)試日志 466.2.9管理員子系統(tǒng)測(cè)試日志 466.2.10登錄模塊測(cè)試日志 466.2.11系統(tǒng)集成測(cè)試日志 476.3測(cè)試總結(jié) 477 總結(jié) 487.1項(xiàng)目總結(jié) 487.2個(gè)人總結(jié) 487.2.1名字1個(gè)人總結(jié) 487.2.2名字5個(gè)人總結(jié) 497.2.3名字2個(gè)人總結(jié) 497.2.4名字3個(gè)人總結(jié) 497.2.5名字4個(gè)人總結(jié) 508附錄 518.1登錄界面代碼 518.2管理員界面代碼 528.3借閱人代碼 591可行性研究與項(xiàng)目開發(fā)計(jì)劃1.1引言1.1.1問題定義圖書管理系統(tǒng)是指應(yīng)用電子計(jì)算機(jī)為讀者提供方便的圖書借閱環(huán)境,并能滿足所有授權(quán)用戶對(duì)信息的各種功能需求的計(jì)算機(jī)應(yīng)用軟件系統(tǒng)。1.1.2背景所建議開發(fā)的軟件系統(tǒng)的名稱:圖書管理系統(tǒng)本項(xiàng)目的任務(wù)提出者:名字1、名字3、名字5、名字2、名字4開發(fā)者:名字1、名字3、名字5、名字2、名字4產(chǎn)品用戶:圖書管理員、借閱者1.1.3編寫目的可行性研究報(bào)告是為”圖書管理系統(tǒng)”開發(fā)的可能性、可行性、必要性提供論據(jù),并導(dǎo)出系統(tǒng)的邏輯模型,探索出若干種可供選擇的主要解法,為開發(fā)人員進(jìn)行系統(tǒng)總體規(guī)劃設(shè)計(jì)及具體實(shí)施開發(fā)工程提供必要的參考資料,在系統(tǒng)開發(fā)完成后期為系統(tǒng)的測(cè)試、驗(yàn)收提供幫助。其編寫過(guò)程由名字1、名字3、名字5、名字2、名字4合作完成,預(yù)期讀者是從事”圖書管理系統(tǒng)”開發(fā)的五個(gè)人。1.2可行性研究的前景1.2.1要求a.功能:這是一個(gè)圖書管理系統(tǒng),主要負(fù)責(zé)查詢、添加、刪除、修改書庫(kù)的信息;查詢持卡人的借書情況;處理借書,還書,續(xù)借等事務(wù);統(tǒng)計(jì)圖書流動(dòng)情況。b.?dāng)?shù)據(jù)的來(lái)源:由學(xué)校圖書館提供

。c.輸入要求:數(shù)據(jù)完整,詳實(shí)。輸出要求:簡(jiǎn)捷,快速,實(shí)時(shí)。d.處理流程和數(shù)據(jù)流程用圖表的方式:表示出最基本的數(shù)據(jù)流程和處理流程,并輔之以敘述。e.在安全與保密方面:登陸系統(tǒng)時(shí),需驗(yàn)證身份和密碼,只有圖書管理員才能對(duì)書籍信息進(jìn)行修改以及處理借書還書等操作。1.2.2目標(biāo)a.圖書管理系統(tǒng)能夠方便圖書借閱管理,只需一臺(tái)電腦和一個(gè)管理員就能輕松完成。b.提高對(duì)新書入庫(kù)、借閱圖書、借閱信息統(tǒng)計(jì)以及學(xué)生信息管理的速度。c.減少人力的投入的同時(shí)提高了信息處理的精度和準(zhǔn)確度,在輸入無(wú)誤的基礎(chǔ)上可保證數(shù)據(jù)的正確性。d.改進(jìn)了管理服務(wù)的質(zhì)量,可由系統(tǒng)對(duì)入庫(kù)圖書進(jìn)行自動(dòng)分類、歸類,借閱圖書的分類和次數(shù),學(xué)生信息整理、借閱情況登記入檔。e.改進(jìn)人員的利用率,減少了前臺(tái)操作人員,更多的人員可用于為借閱者服務(wù)、更新采購(gòu)圖書等其它事物,節(jié)省人力資源。1.2.3條件、假定和限制a.信息來(lái)源單一,客戶需求分析主要來(lái)源于對(duì)圖書管理員的采訪和咨詢。b.技術(shù)方面本組人員對(duì)SQL還不熟悉,還處于學(xué)習(xí)階段。c.進(jìn)行系統(tǒng)方案選擇比較的時(shí)間較短,只有一至兩個(gè)星期。d.系統(tǒng)完成截止時(shí)間最晚為本學(xué)期期末。1.2.4進(jìn)行可行性研究的方法復(fù)查系統(tǒng)規(guī)模和目標(biāo);對(duì)已有圖書管理系統(tǒng)進(jìn)行分析和研究;導(dǎo)出新系統(tǒng)的高層邏輯模型,并導(dǎo)出和評(píng)價(jià)供選擇的解法。1.2.5評(píng)價(jià)尺度本軟件開發(fā)項(xiàng)目為一個(gè)學(xué)生項(xiàng)目,由各組員通力協(xié)作、自主研發(fā),充分調(diào)動(dòng)主觀能動(dòng)性,故為零成本項(xiàng)目,并由于時(shí)間有限,因此開發(fā)時(shí)間也不會(huì)太長(zhǎng),操作界面方便即可。1.3所建議的系統(tǒng)1.3.1對(duì)所建議系統(tǒng)的說(shuō)明該軟件是一個(gè)圖書管理系統(tǒng)。1)功能概括:a.信息來(lái)源單一,客戶需求分析主要來(lái)源于對(duì)圖書管理員的采訪和咨詢。b技術(shù)方面本組人員對(duì)SQL不熟悉,還處于學(xué)習(xí)階段。c.進(jìn)行系統(tǒng)方案選擇比較的時(shí)間較短,只有一至兩個(gè)星期。d.系統(tǒng)完成截止時(shí)間最晚為本學(xué)期期末。2)系統(tǒng)環(huán)境以及工具:a.運(yùn)行環(huán)境:WindowsXPb.編程語(yǔ)言:C#c.數(shù)據(jù)庫(kù):SQL1.3.2影響a.對(duì)設(shè)備的影響:沒有什么特殊的要求,該系統(tǒng)的信息量不是太大,一般的PC機(jī)都能使用。b.對(duì)軟件的影響:WindowsXP、C#和MSSQLc.對(duì)用戶單位機(jī)構(gòu)的影響:使用該系統(tǒng),客戶原有體系幾乎不需要太大的變化。該操作簡(jiǎn)單,使用人員會(huì)計(jì)算機(jī)基本操作即可??隙〞?huì)很快提高工作效率,減輕勞動(dòng)負(fù)擔(dān)。1.3.3局限性由于我們都是在校學(xué)生,缺乏實(shí)踐經(jīng)驗(yàn),我們的圖書管理系統(tǒng)做的比較不健全,只是適用性的東西。該系統(tǒng)工作量小,一般情況下不會(huì)由于信息量大而造成麻煩。有關(guān)數(shù)據(jù)庫(kù)的存儲(chǔ)量,就當(dāng)前而言,客戶的藏書量不是很大。如果日后有所擴(kuò)大,能夠在原有基礎(chǔ)上作相應(yīng)的擴(kuò)充,這在SQL中是很容易辦到的。1.3.4技術(shù)條件方面的可行性技術(shù)方面,雖然我們對(duì)SQL不熟悉,可是本組同學(xué)有較強(qiáng)的鉆研精神和學(xué)習(xí)能力,相信經(jīng)過(guò)小組組員間的協(xié)作,我們能夠順利完成圖書管理系統(tǒng)的開發(fā)。1.4社會(huì)因素方面的可行性1.4.1法律方面的可行性法律方面我們已經(jīng)調(diào)查研究過(guò),我們用的軟件都是正版的,此軟件不存在侵犯專利權(quán)、侵犯版權(quán)等問題,因此在法律方面是可行的。1.4.2使用方面的可行性我們的軟件操作簡(jiǎn)單,運(yùn)行方便,用我們的軟件來(lái)管理圖書是沒有什么困難的,因此在使用方面是可行的。1.5結(jié)論綜上,此系統(tǒng)邏輯模型架構(gòu)清晰,功能明確,有較強(qiáng)的實(shí)用性,在技術(shù)上可實(shí)現(xiàn),故為一個(gè)可行的項(xiàng)目。1.6工作進(jìn)度表可行性研究1周需求分析2周總體設(shè)計(jì)1周詳細(xì)設(shè)計(jì)1周編碼與測(cè)試3周總結(jié)1周

2需求分析2.1需求定義2.1.1圖書信息查詢/借書信息查詢圖書館主要向讀者提供圖書借閱的服務(wù)。讀者為了借閱圖書,一般情況下,需要在借書之前查詢所要借閱的圖書情況,因此圖書館需要為讀者提供圖書查詢功能。例如,讀者可能想借閱某方面的書,但不知道圖書館在該方面有哪些圖書可供借閱,因此需要對(duì)圖書館的圖書進(jìn)行查詢;或者,讀者知道想借閱的圖書信息,但不知道該圖書館是否有該書或不知道圖書在圖書館的位置、是否被借出、是否能夠借閱等信息,這也需要使用圖書查詢功能。一般的圖書查詢中,讀者是經(jīng)過(guò)圖書登記卡、瀏覽圖書登記卡中的信息得到圖書信息的。讀者在查詢圖書時(shí),能夠依據(jù)以下條件查詢:1)圖書的ID2)圖書的名稱3)圖書的作者4)圖書的出版社5)圖書是否在庫(kù)中經(jīng)過(guò)圖書查詢,讀者獲得圖書館是否有自己想要的圖書,該圖書的簡(jiǎn)單信息以及圖書在圖書館的借閱位置等信息。2.1.2新書入庫(kù)/修改圖書信息為了能正常運(yùn)行,圖書館要及時(shí)更新館藏圖書。對(duì)于新書,要購(gòu)進(jìn),供讀者借閱;因此要設(shè)計(jì)到圖書的批量入庫(kù)。對(duì)于批量入庫(kù),圖書管理員要批量登記圖書的信息,包括圖書ID、圖書名稱、作者、出版社等信息。在錄入書時(shí)難免出現(xiàn)錯(cuò)誤,因此增加修改圖書信息功能2.1.3借閱圖書/歸還圖書圖書館的基本功能之一就是為讀者提供借閱服務(wù),讀者經(jīng)過(guò)借閱這一過(guò)程,能夠把圖書帶出圖書館,從而使讀者能夠更方便的瀏覽圖書。借書過(guò)程中,圖書管理員要對(duì)讀者的借書資格進(jìn)行審查,對(duì)符合借書條件的讀者,允許其借書,對(duì)其借書記錄進(jìn)行登記;對(duì)沒有借書資格的讀者,禁止其借書。具體的步驟如下:1)讀者向圖書管理員提交請(qǐng)求和圖書借閱卡2)圖書管理員檢查讀者提供的借閱卡,如果該借閱證真實(shí)準(zhǔn)確,讀者已經(jīng)借閱的圖書并沒有超過(guò)允許借書量,而且讀者沒有逾期未還的圖書,則允許讀者借書,否則,讀者不能從圖書館借書。3)讀者拿到要借閱的圖書,同時(shí)拿到自己的借閱卡,借書過(guò)程完畢。4)當(dāng)借閱圖書的數(shù)量超過(guò)5本或者出現(xiàn)未按期歸還圖書的情況,則不好進(jìn)行借閱處理。圖書館的另一基本功能就是為讀者提供還書服務(wù),讀者在一本圖書借閱期滿之前把該圖書還給圖書館,一般的還書步驟如下:1)讀者把所借的圖書和自己的借閱卡交給圖書管理員。2)圖書管理員對(duì)圖書進(jìn)行檢查,看有無(wú)損壞,如果出現(xiàn)圖書的損壞情況,讀者應(yīng)進(jìn)行相應(yīng)的賠償。3)圖書管理員查看是否超過(guò)規(guī)定借閱期限,如果已經(jīng)過(guò)期,則讀者要按規(guī)定交納罰金。4)圖書管理員進(jìn)行登記,同時(shí)把還書信息記入借閱卡。5)讀者拿回自己的借閱卡,還書過(guò)程借書。6)讀者逾期未歸還圖書超過(guò)三天,將按照每本每天進(jìn)行一定的罰款。2.2目標(biāo)系統(tǒng)的數(shù)據(jù)分析與建模數(shù)據(jù)的概念模型用E-R圖表示如下:

2.3目標(biāo)系統(tǒng)的功能需求與建模2.4目標(biāo)系統(tǒng)的行為需求與建模用狀態(tài)圖來(lái)描述系統(tǒng)的行為模型

2.5數(shù)據(jù)字典名字:圖書記錄名字:圖書記錄別名:描述:記錄圖書館中的圖書的信息定義:圖書記錄=書的ID+書名+作者+出版社+是否在庫(kù)中位置:數(shù)據(jù)庫(kù)名字:借閱記錄別名:描述:記錄圖書館中的圖書的借閱情況定義:借閱記錄=書的ID+借閱人ID+借出時(shí)間位置:數(shù)據(jù)庫(kù)名字:用戶記錄別名:描述:記錄訪問圖書館的用戶的信息定義:用戶記錄=用戶名+密碼+權(quán)限位置:數(shù)據(jù)庫(kù)

2.6IPO圖IPO表IPO表被調(diào)用:管理員調(diào)用:輸入:部分書信息/無(wú)輸出:部分書信息/無(wú)處理:在書籍表中查詢符合要求的記錄局部數(shù)據(jù)元素:注釋:系統(tǒng):圖書管理系統(tǒng)模塊:圖書查詢(管理員)編號(hào):NO.001IPO表被調(diào)用:管理員調(diào)用:輸入:新增書的信息輸出:處理:在書籍表中修改相應(yīng)的記錄局部數(shù)據(jù)元素:注釋:系統(tǒng):圖書管理系統(tǒng)模塊:增加新圖書編號(hào):NO.002IPO表被調(diào)用:管理員調(diào)用:輸入:書的ID及修改后的信息輸出:部分書信息/無(wú)處理:在書籍表中修改相應(yīng)記錄局部數(shù)據(jù)元素:注釋:IPO表被調(diào)用:管理員調(diào)用:輸入:欲刪除書籍的ID輸出:處理:刪除書籍表中的相應(yīng)記錄局部數(shù)據(jù)元素:注釋:系統(tǒng):圖書管理系統(tǒng)模塊:刪除書籍編號(hào):NO.004系統(tǒng):圖書管理系統(tǒng)模塊:圖書信息修改編號(hào):NO.003IPO表IPO表被調(diào)用:用戶調(diào)用:輸入:部分書信息/無(wú)輸出:完整圖書信息處理:在書籍表中查詢符合要求的記錄局部數(shù)據(jù)元素:注釋:系統(tǒng):圖書管理系統(tǒng)模塊:圖書查詢(用戶)編號(hào):NO.005IPO表被調(diào)用:管理員類調(diào)用:借閱記錄輸入:輸出:所有結(jié)束記錄處理:輸出借閱記錄表中所有內(nèi)容局部數(shù)據(jù)元素:注釋:系統(tǒng):圖書管理系統(tǒng)模塊:借閱記錄查詢編號(hào):NO.006IPO表被調(diào)用:管理員調(diào)用:(借閱記錄)修改模塊輸入:書籍ID、借閱人ID和結(jié)束時(shí)間輸出:書籍ID、借書ID處理:創(chuàng)立一個(gè)新的借書項(xiàng)并向修改模塊發(fā)送書ID局部數(shù)據(jù)元素:注釋:IPO表被調(diào)用:管理員調(diào)用:(借閱記錄)修改模塊輸入:借書ID輸出:書ID處理:刪除借閱記錄中相應(yīng)借書項(xiàng),返回所還書的ID局部數(shù)據(jù)元素:注釋:系統(tǒng):圖書管理系統(tǒng)模塊:還書編號(hào):NO.008系統(tǒng):圖書管理系統(tǒng)模塊:借書編號(hào):NO.007系統(tǒng):系統(tǒng):圖書管理系統(tǒng)模塊:查閱借書記錄編號(hào):NO.009注釋:局部數(shù)據(jù)元素:處理:返回借閱人所借書的借書項(xiàng)輸出:借書ID輸入:借閱人ID調(diào)用:(借閱記錄)被調(diào)用:借閱人注釋:局部數(shù)據(jù)元素:處理:返回借閱人所借書的借書項(xiàng)輸出:借書ID輸入:借閱人ID調(diào)用:(借閱記錄)被調(diào)用:借閱人IPO表2.7目標(biāo)系統(tǒng)的性能需求2.7.1數(shù)據(jù)精確度用戶的各種查詢操作,管理員的各種更新操作均要求準(zhǔn)確無(wú)誤地進(jìn)行數(shù)據(jù)庫(kù)操作,給出正確的操作結(jié)果。2.7.2響應(yīng)時(shí)間對(duì)于用戶的各種操作請(qǐng)求應(yīng)盡快給出響應(yīng),響應(yīng)時(shí)間應(yīng)控制在2s左右。2.8運(yùn)行需求2.8.1用戶界面用戶界面友好,與用戶完成互動(dòng),滿足用戶需求,方便用戶操作。2.8.2故障處理目標(biāo)系統(tǒng)應(yīng)對(duì)于能預(yù)測(cè)到的故障均進(jìn)行預(yù)處理,從而能夠有效的防止故障的發(fā)生,方便進(jìn)行故障處理。2.9其它需求2.9.1可使用性目標(biāo)系統(tǒng)應(yīng)該能夠隨時(shí)處于正常工作狀態(tài),以方便用戶隨時(shí)進(jìn)行查詢和管理。2.9.2安全性目標(biāo)系統(tǒng)應(yīng)該能夠保證用戶的個(gè)人信息安全,由管理員統(tǒng)一進(jìn)行管理,而每個(gè)用戶只可查看和修改個(gè)人信息。2.9.3可維護(hù)性目標(biāo)系統(tǒng)應(yīng)該具有良好的可維護(hù)性,以便在不花費(fèi)很大代價(jià)的前提下被長(zhǎng)時(shí)間使用。2.9.4可移植性目標(biāo)系統(tǒng)應(yīng)該具有良好的可移植性,以方便在不同平臺(tái)上使用。

3總體設(shè)計(jì)3.1系統(tǒng)設(shè)計(jì)3.1.1系統(tǒng)功能分析圖書管理系統(tǒng)應(yīng)具備的功能如下:1)進(jìn)入系統(tǒng)前需要身份驗(yàn)證、用戶名、密碼,輸入正確后方可進(jìn)入。2)用戶能夠查詢書庫(kù)中書的信息和已借的書籍信息。3)圖書管理員能夠根據(jù)需要進(jìn)行書庫(kù)管理,包括添加書籍,刪除書籍,查詢書籍信息,修改書籍信息等。3.1.2運(yùn)行環(huán)境WindowsXP、VisualStudio和SQL3.1.3層次圖和結(jié)構(gòu)圖3.2數(shù)據(jù)庫(kù)設(shè)計(jì)3.2.1數(shù)據(jù)庫(kù)需求分析在需求分析的基礎(chǔ)上,結(jié)合數(shù)據(jù)流程圖,經(jīng)過(guò)對(duì)圖書管理系統(tǒng)的工作內(nèi)容和數(shù)據(jù)流程的分析,設(shè)置以下的數(shù)據(jù)結(jié)構(gòu)和相關(guān)數(shù)據(jù)項(xiàng):(1)用戶種類信息:包括的數(shù)據(jù)項(xiàng)有:用戶ID,用戶密碼,用戶權(quán)限。(2)書籍信息:包括的數(shù)據(jù)項(xiàng)有:書的ID,書名,作者,出版社,是否在庫(kù)中。(3)借閱信息:包括借閱人ID,書籍ID,借出時(shí)間。根據(jù)以上分析得出的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)項(xiàng),進(jìn)一步進(jìn)行數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì)。3.2.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)3.2.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)將概念結(jié)構(gòu)設(shè)計(jì)階段得到的各個(gè)數(shù)據(jù)結(jié)構(gòu)及E-R圖轉(zhuǎn)換為SQL數(shù)據(jù)庫(kù)系統(tǒng)支持的數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)。圖書館管理信息系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表格的設(shè)計(jì)結(jié)果如下所示,每個(gè)表格對(duì)應(yīng)數(shù)據(jù)庫(kù)中的一張表格,詳細(xì)描述了各表格的存儲(chǔ)信息規(guī)范。

表TableUser列名數(shù)據(jù)類型備注IDvarchar(50)主鍵書名varchar(50)無(wú)作者varchar(50)無(wú)出版社varchar(50)無(wú)是否在庫(kù)中Bit無(wú)表TableRecord列名數(shù)據(jù)類型備注書的IDvarchar(50)無(wú)借書人IDvarchar(50)無(wú)借書時(shí)間Datetime無(wú)表TableBook列名數(shù)據(jù)類型備注用戶名varchar(50)無(wú)權(quán)限varchar(50)無(wú)密碼int無(wú)

4詳細(xì)設(shè)計(jì)4.1人機(jī)界面設(shè)計(jì)4.1.1設(shè)計(jì)概述人機(jī)界面設(shè)計(jì)是接口設(shè)計(jì)的一個(gè)重要的組成部分。對(duì)于交互式系統(tǒng)來(lái)說(shuō),人機(jī)界面設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì),體系結(jié)構(gòu)設(shè)計(jì)及過(guò)程設(shè)計(jì)一樣重要。圖書管理系統(tǒng)是基于對(duì)話框設(shè)計(jì)的,用到了三個(gè)對(duì)話框,分別為登錄對(duì)話框,書庫(kù)管理員對(duì)話框和借閱人對(duì)話框。在用戶登入時(shí)驗(yàn)證用戶身份,如果是合法用戶,則根據(jù)數(shù)據(jù)庫(kù)中記錄的用戶權(quán)限轉(zhuǎn)到管理員界面或者借閱人界面。登錄界面書庫(kù)管理員界面借閱人界面4.1.2系統(tǒng)響應(yīng)時(shí)間對(duì)于用戶的各種操作請(qǐng)求應(yīng)盡快給出響應(yīng),響應(yīng)時(shí)間應(yīng)控制在1s左右。4.1.3出錯(cuò)信息處理對(duì)于用戶不符合要求的輸入,系統(tǒng)會(huì)給出錯(cuò)誤提示,并告知其錯(cuò)誤原因。

4.2功能模塊設(shè)計(jì)4.2.1用戶登錄模塊此模塊用于用戶從登錄界面進(jìn)入主界面,經(jīng)過(guò)判斷用戶名,用戶密碼的正確性來(lái)驗(yàn)證用戶的合法性。根據(jù)用戶的權(quán)限不同跳至管理員界面和借閱人界面。輸入:用戶名,密碼輸出:管理員或借閱人界面流程邏輯

4.2.2圖書館書籍查詢模塊此模塊用于實(shí)現(xiàn)用戶對(duì)圖書館中的書籍查詢的功能。根據(jù)用戶輸入的相應(yīng)的圖書信息在數(shù)據(jù)庫(kù)中搜索,給出用戶相應(yīng)的圖書信息。輸入:書的ID,書名,作者,出版社,是否在庫(kù)中輸出:符合要求的相關(guān)圖書信息流程邏輯4.2.3已借書籍查詢模塊此模塊用于查詢某用戶已借的書籍。如果是在管理員界面下則輸入要查詢用戶的ID,如果在借閱人界面下則無(wú)需輸入。輸入:用戶名/無(wú)輸出:該用戶已借的書籍 流程邏輯

4.2.4新增圖書模塊此模塊實(shí)現(xiàn)新書的登記功能。用戶需輸入新書的詳細(xì)信息,如果書的ID不與庫(kù)中已有書籍ID相沖突,則系統(tǒng)將信息保存在數(shù)據(jù)庫(kù)中后,新書登記成功。否則輸出失敗原因。輸入:書的ID,書名,作者,出版社,是否在庫(kù)中輸出:添加成功消息/失敗原因流程邏輯

4.2.5刪除圖書模塊此模塊實(shí)現(xiàn)書的刪除功能。用戶需輸入要?jiǎng)h除書的ID,如果書庫(kù)中有ID為該ID的書,則系統(tǒng)將刪除數(shù)據(jù)庫(kù)中該書的相關(guān)信息,并顯示刪除書籍成功,否則提示失敗原因。輸入:書的ID輸出:刪除成功消息/失敗原因流程邏輯

4.2.6修改圖書信息此模塊實(shí)現(xiàn)書的信息修改功能。用戶需輸入書的ID和要修改的信息,如果書庫(kù)中有ID為該ID的書,則系統(tǒng)將更新數(shù)據(jù)庫(kù)中與該書相關(guān)的信息,并顯示信息修改成功,否則輸出失敗原因。輸入:書的ID,書名,作者,出版社,是否在庫(kù)中輸出:修改成功消息/失敗原因流程邏輯

4.2.7借閱圖書模塊此模塊用于圖書的借閱,系統(tǒng)根據(jù)借閱人ID是否合法,借閱人是否滿足借閱條件(已借書籍小于5本且沒有書超期不還(30天)),書的ID是否合法,書是否在庫(kù)中來(lái)決定是否允許借閱。如果允許,則修改數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù)并輸出借閱成功的消息。否則輸出借閱失敗的原因。輸入:借閱人ID,書的ID輸出:借閱成功消息/借閱失敗的原因流程邏輯

4.2.8歸還圖書模塊此模塊用于圖書的歸還,系統(tǒng)根據(jù)書的ID是否合法,書是否在庫(kù)中來(lái)決定是否允許歸還。如果允許,則修改數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù)并輸出歸還成功的消息。否則輸出歸還失敗的原因。輸入:書籍ID輸出:歸還成功消息或歸還失敗原因流程邏輯

5編碼5.1開發(fā)環(huán)境 WindowsXP、VisualStudioC#、SqlServer5.2運(yùn)行結(jié)果5.2.1登錄模塊

5.2.2書籍查詢模塊

5.2.3已借書籍查詢模塊5.2.4借書模塊5.2.5還書模塊

5.2.6新書入庫(kù)5.2.7刪除書籍

5.2.8書籍信息修改

6測(cè)試6.1測(cè)試計(jì)劃6.1.1測(cè)試計(jì)劃名稱圖書管理系統(tǒng)測(cè)試計(jì)劃6.1.2引言問題定義圖書管理系統(tǒng)是指應(yīng)用電子計(jì)算機(jī)為讀者提供方便的圖書借閱環(huán)境,并能滿足所有授權(quán)用戶對(duì)信息的各種功能需求的計(jì)算機(jī)應(yīng)用軟件系統(tǒng)。背景所建議開發(fā)的軟件系統(tǒng)的名稱:圖書管理系統(tǒng)本項(xiàng)目的任務(wù)提出者:名字1、名字3、名字5、名字2、名字4開發(fā)者:名字1、名字3、名字5、名字2、名字4產(chǎn)品用戶:圖書管理員、借閱者編寫目的可行性研究報(bào)告是為”圖書管理系統(tǒng)”開發(fā)的可能性、可行性、必要性提供論據(jù),并導(dǎo)出系統(tǒng)的邏輯模型,探索出若干種可供選擇的主要解法,為開發(fā)人員進(jìn)行系統(tǒng)總體規(guī)劃設(shè)計(jì)及具體實(shí)施開發(fā)工程提供必要的參考資料,在系統(tǒng)開發(fā)完成后期為系統(tǒng)的測(cè)試、驗(yàn)收提供幫助。其編寫過(guò)程由名字1、名字3、名字5、名字2、名字4合作完成,預(yù)期讀者是從事”圖書管理系統(tǒng)”開發(fā)的五個(gè)人。6.1.3測(cè)試項(xiàng)測(cè)試項(xiàng)名稱版本修訂級(jí)別開始測(cè)試前邏輯或物理變換要求用戶登錄模塊1.01.0其余模塊均已測(cè)試完畢圖書館書籍查詢模塊1.01.0無(wú)已借書籍查詢模塊1.01.0無(wú)新增圖書模塊1.01.0無(wú)刪除圖書模塊1.01.0無(wú)修改圖書信息模塊1.01.0無(wú)借閱圖書模塊1.01.0無(wú)歸還圖書模塊1.01.0無(wú)

6.1.4被測(cè)試的特性測(cè)試項(xiàng)名稱被測(cè)試的特性用戶登錄模塊判斷用戶名,用戶密碼的正確性來(lái)驗(yàn)證用戶的合法性。根據(jù)用戶的權(quán)限不同跳至管理員界面和借閱人界面。圖書館書籍查詢模塊根據(jù)用戶輸入的相應(yīng)的圖書信息在數(shù)據(jù)庫(kù)中搜索,給出用戶相應(yīng)的圖書信息。已借書籍查詢模塊此模塊用于查詢某用戶已借的書籍。如果是在管理員界面下則輸入要查詢用戶的ID,如果在借閱人界面下則無(wú)需輸入。新增圖書模塊用戶需輸入新書的詳細(xì)信息,如果書的ID不與庫(kù)中已有書籍ID相沖突,則系統(tǒng)將信息保存在數(shù)據(jù)庫(kù)中后,新書登記成功。否則輸出失敗原因。刪除圖書模塊用戶需輸入要?jiǎng)h除書的ID,如果書庫(kù)中有ID為該ID的書,則系統(tǒng)將刪除數(shù)據(jù)庫(kù)中該書的相關(guān)信息,并顯示刪除書籍成功,否則提示失敗原因。修改圖書信息模塊用戶需輸入書的ID和要修改的信息,如果書庫(kù)中有ID為該ID的書,則系統(tǒng)將更新數(shù)據(jù)庫(kù)中與該書相關(guān)的信息,并顯示信息修改成功,否則輸出失敗原因。借閱圖書模塊根據(jù)借閱人ID是否合法,借閱人是否滿足借閱條件(已借書籍小于5本且沒有書超期不還(30天)),書的ID是否合法,書是否在庫(kù)中來(lái)決定是否允許借閱。如果允許,則修改數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù)并輸出借閱成功的消息。否則輸出借閱失敗的原因。歸還圖書模塊根據(jù)書的ID是否合法,書是否在庫(kù)中來(lái)決定是否允許歸還。如果允許,則修改數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù)并輸出歸還成功的消息。否則輸出歸還失敗的原因。6.1.5不被測(cè)試的特性工程中各模塊使用的所有由微軟提供的模塊,如編輯框控件、按鈕控件,所表現(xiàn)出來(lái)的特性。不測(cè)試的原因是這些模塊在微軟提供給用戶前已經(jīng)過(guò)測(cè)試,其可靠性已有保證,無(wú)需再度測(cè)試。6.1.6方法本測(cè)試使用自底向上的測(cè)試方法。測(cè)試流程如下圖所示。

6.1.7項(xiàng)經(jīng)過(guò)準(zhǔn)則如下表所示,每個(gè)模塊在規(guī)定的輸入下能得到正確的輸出。測(cè)試項(xiàng)名稱輸入輸出用戶登錄模塊用戶名、密碼管理員或借閱人界面圖書館書籍查詢模塊書的ID,書名,作者,出版社,是否在庫(kù)中符合要求的相關(guān)圖書信息已借書籍查詢模塊用戶名/無(wú)該用戶已借的書籍新增圖書模塊書的ID,書名,作者,出版社,是否在庫(kù)中添加成功消息/失敗原因刪除圖書模塊書的ID刪除成功消息/失敗原因修改圖書信息模塊書的ID,書名,作者,出版社,是否在庫(kù)中修改成功消息/失敗原因借閱圖書模塊借閱人ID,書的ID借閱成功消息/借閱失敗的原因歸還圖書模塊書籍ID歸還成功消息或歸還失敗原因6.1.8暫停標(biāo)準(zhǔn)和再啟動(dòng)要求暫停標(biāo)準(zhǔn):某模塊在規(guī)定輸入下未得到正確的輸出。再啟動(dòng)要求:導(dǎo)致錯(cuò)誤輸出的錯(cuò)誤被找到并改正。6.1.9應(yīng)提供的測(cè)試文件項(xiàng)目總體設(shè)計(jì)與詳細(xì)設(shè)計(jì),全部工程文件(含源代碼文件,應(yīng)用程序文件等)。6.1.10測(cè)試任務(wù)盡可能的排除系統(tǒng)錯(cuò)誤并提供系統(tǒng)可靠性預(yù)測(cè)。6.1.11環(huán)境要求MicrosoftWindowsvista系統(tǒng)或MicrosoftWindowsXP系統(tǒng),VisualStudio編譯、連接、調(diào)試。6.2測(cè)試日志6.2.1圖書館書籍查詢模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人GetData()單元代碼審查經(jīng)過(guò)/12/5名字4SearchConditon()單元,且stock==0白盒測(cè)試經(jīng)過(guò)/12/5名字4SearchConditon()單元,且stock==1白盒測(cè)試經(jīng)過(guò)/12/5名字4SearchConditon()單元,且stock==2白盒測(cè)試經(jīng)過(guò)/12/5名字4SearchNow()單元代碼審查經(jīng)過(guò)/12/5名字4模塊測(cè)試,輸入:無(wú)正確輸出:書庫(kù)中所有書籍黑盒測(cè)試輸出書庫(kù)中所有書籍經(jīng)過(guò)/12/6名字4模塊測(cè)試輸入:ID=1正確輸出:ID為1的書的信息黑盒測(cè)試輸出ID為1的書的信息,經(jīng)過(guò)/12/6名字4模塊測(cè)試,輸入:ID=100正確輸出:沒有符合要求的圖書黑盒測(cè)試輸出:沒有符合要求的圖書,經(jīng)過(guò)/12/6名字4模塊測(cè)試,輸入:作者名=金庸正確輸出:書庫(kù)中的所有作者為金庸的書籍黑盒測(cè)試輸出書庫(kù)中的所有作者為金庸的書籍,經(jīng)過(guò)/12/6名字4模塊測(cè)試,輸入:作者名=梁羽生正確輸出:沒有符合要求的圖書黑盒測(cè)試輸出:沒有符合要求的圖書,經(jīng)過(guò)/12/6名字4模塊測(cè)試,輸入:是否在庫(kù)中=是正確輸出:書庫(kù)中的所有在庫(kù)的書黑盒測(cè)試輸出書庫(kù)中的所有在庫(kù)的書,經(jīng)過(guò)/12/6名字4模塊測(cè)試,輸入:是否在庫(kù)中=否正確輸出:書庫(kù)中的所有不在庫(kù)的書黑盒測(cè)試輸出書庫(kù)中的所有不在庫(kù)的書,經(jīng)過(guò)/12/6名字4模塊測(cè)試,輸入:出版社=人民文學(xué)出版社正確輸出:書庫(kù)中的所有出版社為人民文學(xué)出版社的書黑盒測(cè)試輸出書庫(kù)中的所有出版社為人民文學(xué)出版社的書,經(jīng)過(guò)/12/6名字4模塊測(cè)試,輸入:出版社=人民出版社正確輸出:無(wú)輸出黑盒測(cè)試無(wú)輸出,經(jīng)過(guò)/12/6名字46.2.2已借書籍查詢模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人search2_sentence()單元代碼審查經(jīng)過(guò)/12/7名字4search2_Execute()單元代碼審查經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:無(wú)輸出:該用戶沒有借書(借閱人界面)黑盒測(cè)試輸出:該用戶沒有借書,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:無(wú)輸出:該用戶借的所有書(借閱人界面)黑盒測(cè)試輸出該用戶借的所有書,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:借閱人ID=sunlibin輸出:該用戶不存在或沒有借書(管理員界面)黑盒測(cè)試輸出:該用戶不存在或沒有借書,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:借閱人ID=sun輸出:該用戶不存在或沒有借書(管理員界面)黑盒測(cè)試輸出:該用戶不存在或沒有借書,經(jīng)過(guò)/12/7名字46.2.3借閱圖書模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人模塊測(cè)試,輸入:書的ID=1,借閱人ID=sunlibin正確輸出:借書成功!黑盒測(cè)試輸出:借書成功!,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:書的ID=2,借閱人ID=sunlibin正確輸出:已借的書超過(guò)5本或超過(guò)還書期限,還書后方可再借書黑盒測(cè)試輸出:已借的書超過(guò)5本或超過(guò)還書期限,還書后方可再借書,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:書的ID=2,借閱人ID=sunlibin正確輸出:已借的書超過(guò)5本或超過(guò)還書期限,還書后方可再借書黑盒測(cè)試輸出:已借的書超過(guò)5本或超過(guò)還書期限,還書后方可再借書,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:書的ID=2,借閱人ID=sunlibin正確輸出:該書不在庫(kù)中或用戶名無(wú)效!黑盒測(cè)試輸出:該書不在庫(kù)中或用戶名無(wú)效!,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:書的ID=3,借閱人ID=sunlibin正確輸出:該書不在庫(kù)中或用戶名無(wú)效!黑盒測(cè)試輸出:該書不在庫(kù)中或用戶名無(wú)效!,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:書的ID=100,借閱人ID=sunlibin正確輸出:該書不在庫(kù)中或用戶名無(wú)效!黑盒測(cè)試輸出:該書不在庫(kù)中或用戶名無(wú)效!,經(jīng)過(guò)/12/7名字46.2.4歸還圖書模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人模塊測(cè)試,輸入:書的ID=1正確輸出:還書成功!黑盒測(cè)試輸出:還書成功!,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:書的ID=2正確輸出:該書不存在或已在庫(kù)中!黑盒測(cè)試輸出:該書不存在或已在庫(kù)中!,經(jīng)過(guò)/12/7名字4模塊測(cè)試,輸入:書的ID=100正確輸出:該書不存在或已在庫(kù)中!黑盒測(cè)試輸出:該書不存在或已在庫(kù)中!,經(jīng)過(guò)/12/7名字46.2.5新增圖書模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人add_sentence()單元測(cè)試代碼審查經(jīng)過(guò)/12/8名字4add_Execute()單元測(cè)試代碼審查經(jīng)過(guò)/12/8名字4模塊測(cè)試,輸入:ID=1輸出:書庫(kù)中存在與該書ID相同的書,不能添加相同ID的書!黑盒測(cè)試輸出:書庫(kù)中存在與該書ID相同的書,不能添加相同ID的書!經(jīng)過(guò)/12/8名字4模塊測(cè)試,輸入:ID=100輸出:添加成功!黑盒測(cè)試輸出:添加成功!經(jīng)過(guò)/12/8名字46.2.6刪除圖書模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人delete_sentence()單元測(cè)試代碼審查經(jīng)過(guò)/12/8名字4delete_Execute();單元測(cè)試代碼審查經(jīng)過(guò)/12/8名字4模塊測(cè)試,輸入:ID=1正確輸出:刪除成功!黑盒測(cè)試輸出:刪除成功!經(jīng)過(guò)/12/8名字4模塊測(cè)試,輸入:ID=500正確輸出:書庫(kù)中不存在該ID的書!黑盒測(cè)試輸出:書庫(kù)中不存在該ID的書!經(jīng)過(guò)/12/8名字46.2.7修改書籍信息模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人modify_sentence()單元測(cè)試代碼審查經(jīng)過(guò)/12/8名字4modify_Execute()單元測(cè)試代碼審查經(jīng)過(guò)/12/8名字4模塊測(cè)試,輸入:書的ID=1書的其它信息正確輸出:修改成功!黑盒測(cè)試輸出:修改成功!經(jīng)過(guò)/12/8名字4模塊測(cè)試,輸入:書的ID=書的其它信息正確輸出:該書不存在!黑盒測(cè)試輸出:該書不存在!經(jīng)過(guò)/12/8名字46.2.8借閱人子系統(tǒng)測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人輸入:相關(guān)信息,點(diǎn)擊圖書查詢正確輸出:在表中出現(xiàn)對(duì)應(yīng)書籍信息黑盒測(cè)試輸出對(duì)應(yīng)書籍信息經(jīng)過(guò)/12/9名字4輸入:相關(guān)信息,點(diǎn)擊已借書籍查詢正確輸出:在表中出現(xiàn)對(duì)應(yīng)書籍信息黑盒測(cè)試輸出對(duì)應(yīng)書籍信息經(jīng)過(guò)/12/9名字46.2.9管理員子系統(tǒng)測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人輸入:相關(guān)信息,點(diǎn)擊新增書籍正確輸出:根據(jù)輸入信息按新增書籍模塊輸出輸出黑盒測(cè)試經(jīng)過(guò)/12/9名字46.2.10登錄模塊測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人模塊測(cè)試,輸入:用戶名=justdoit密碼=123456輸出:管理員界面黑盒測(cè)試輸出:管理員界面經(jīng)過(guò)/12/9名字4模塊測(cè)試,輸入:用戶名=justdoi密碼=123456輸出:用戶名不存在黑盒測(cè)試輸出:用戶名不存在經(jīng)過(guò)/12/9名字4模塊測(cè)試,輸入:用戶名=justdoit密碼=12345輸出:密碼不正確!黑盒測(cè)試輸出:密碼不正確!經(jīng)過(guò)/12/9名字4模塊測(cè)試,輸入:用戶名=sunlibin密碼=123456輸出:借閱人界面!黑盒測(cè)試輸出:借閱人界面經(jīng)過(guò)/12/9名字46.2.11系統(tǒng)集成測(cè)試日志測(cè)試內(nèi)容測(cè)試方法事件時(shí)間記錄人進(jìn)入借閱人界面,并查詢書籍信息黑盒測(cè)試經(jīng)過(guò)/12/10名字4進(jìn)入管理員界面,并新增書籍黑盒測(cè)試經(jīng)過(guò)/12/10名字4進(jìn)入管理員界面,并借出書籍黑盒測(cè)試經(jīng)過(guò)/12/10名字46.3測(cè)試總結(jié)在這次測(cè)試中,由于測(cè)試任務(wù)不是很重,因此大部分工作都由一人完成。由于工程比較簡(jiǎn)單,在大多數(shù)的單元測(cè)試中使用代碼審查的方法,即節(jié)省了時(shí)間,又能在最短時(shí)間發(fā)現(xiàn)錯(cuò)誤出現(xiàn)的地方并予以改正。在模塊測(cè)試,子系統(tǒng)測(cè)試,系統(tǒng)集成測(cè)試中則多采用黑盒測(cè)試的方法以求高效。在黑盒測(cè)試的輸入中,力求涵蓋各種情況下的輸入,并核查其輸出,從而確定系統(tǒng)的可靠性。

總結(jié)7.1項(xiàng)目總結(jié)在這次軟件工程項(xiàng)目中,我們組5名同學(xué)積極參與,分工合作,按時(shí)完成了這個(gè)書庫(kù)管理系統(tǒng)。在這個(gè)項(xiàng)目中,每個(gè)人的能力都得到了鍛煉,取得了期望的效果。具體分工可見下表。序號(hào)學(xué)號(hào)姓名角色承擔(dān)的工作(簡(jiǎn)介)頁(yè)碼備注1072485名字1組長(zhǎng)需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼4-614-1617-2234-392.1--4.225.1-5.22072351名字4副組長(zhǎng)測(cè)試40-476.1-6.33072509名字3副組長(zhǎng)需求分析詳細(xì)設(shè)計(jì)6-811-1222-272.4-2.52.7-2.94.23-4.254072513名字5組員可行性研究需求分析1-39-111.1-1.62.65062417名字2組員總體設(shè)計(jì)詳細(xì)設(shè)計(jì)12-1428-333.14.26-4.287.2個(gè)人總結(jié)7.2.1名字1個(gè)人總結(jié)在這次軟件工程的項(xiàng)目中,我作為組長(zhǎng),參與了軟件開發(fā)的幾個(gè)主要環(huán)節(jié)(需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼)。經(jīng)過(guò)這次項(xiàng)目的鍛煉,我提高了自己的能力,主要有以下三方面的收獲。一是掌握了數(shù)據(jù)庫(kù)的初步內(nèi)容。剛開始接觸這個(gè)項(xiàng)目時(shí),我并不會(huì)數(shù)據(jù)庫(kù),后來(lái)經(jīng)過(guò)在查閱一些網(wǎng)上的相關(guān)資料和圖書館中的書籍,慢慢地掌握了數(shù)據(jù)庫(kù)的初步內(nèi)容,并順利完成了該圖書管理系統(tǒng)的編碼工作。由于一開始對(duì)數(shù)據(jù)庫(kù)不熟悉,因此這次項(xiàng)目的數(shù)據(jù)庫(kù)設(shè)計(jì)的比較簡(jiǎn)單,圖書管理系統(tǒng)的功能也有待進(jìn)一步的完善,我會(huì)在寒假里抽空將其完善,進(jìn)一步掌握數(shù)據(jù)庫(kù)的相關(guān)技術(shù)。二是經(jīng)過(guò)項(xiàng)目實(shí)踐逐漸形成了軟件工程的思想,糾正了我過(guò)去認(rèn)為軟件就是編寫代碼的錯(cuò)誤想法。當(dāng)進(jìn)行軟件開發(fā)時(shí),我不再是一上來(lái)就先考慮如何進(jìn)行編碼,而是按照軟件工程的思想從可行性研究,需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),一步一步細(xì)化,并配有相應(yīng)的文字說(shuō)明和圖形工具,最后再編碼就水到渠成了。詳細(xì)的軟件文檔能夠有利于開發(fā)人員對(duì)軟件更好的理解,測(cè)試,維護(hù)和版本升級(jí)。三是體驗(yàn)了團(tuán)隊(duì)開發(fā),以往不論是參加程序設(shè)計(jì)比賽或是課程設(shè)計(jì)作業(yè),都是一個(gè)人獨(dú)立完成的,而這次則是一個(gè)團(tuán)隊(duì)一起完成一件事情。作為組長(zhǎng),我認(rèn)為首先要有責(zé)任意識(shí),確保項(xiàng)目能夠在規(guī)定時(shí)間內(nèi)完成。其次是要協(xié)調(diào)組員間的分工合作,使項(xiàng)目在團(tuán)隊(duì)協(xié)作下順利進(jìn)展,提高開發(fā)效率。這次由于是我們第一次團(tuán)隊(duì)開發(fā),缺乏經(jīng)驗(yàn),難免會(huì)犯一些小錯(cuò)誤,例如在開發(fā)過(guò)程中還是較早考慮了編碼。從這個(gè)項(xiàng)目中我學(xué)到了許多寶貴的經(jīng)驗(yàn)。在以后的軟件開發(fā)中,我會(huì)避免再犯類似的錯(cuò)誤,更好地完成軟件的開發(fā)工作。7.2.2名字5個(gè)人總結(jié)前后歷時(shí)一個(gè)多月的軟件工程小組開發(fā)終于劃上了一個(gè)完整的句號(hào)。期待而忐忑,老師剛布置這一課程設(shè)計(jì)的時(shí)候,我躍躍欲試,但心里卻又在擔(dān)心自己能力有限,能否順利完成任務(wù)自己并沒有信心保證,萬(wàn)一因?yàn)槲叶侠哿苏麄€(gè)小組就過(guò)意不去了。對(duì)于軟件工程來(lái)說(shuō),寫文檔絕對(duì)不是普通的打字,它也需要技術(shù)性的思想,在確定了項(xiàng)目要求后,我的第一份任務(wù)是寫數(shù)據(jù)需求說(shuō)明書和可行性分析,看了老師給我們的demo后,我才知道自己之前的想法有多么的幼稚,照著模版把一項(xiàng)項(xiàng)標(biāo)題打好,覺得怎么那么的陌生,內(nèi)容都不知道該怎么寫,原本熱情如火的我仿佛被人從頭到腳淋了一盤冷水。在花了幾個(gè)晚上弄清楚我們小組的目標(biāo)要求后,終于完成了任務(wù),心中松了一口氣。因?yàn)楣φn忙,軟件工程的任務(wù)除了周六,日下午和晚上我會(huì)花幾個(gè)小時(shí)外,其它時(shí)間都只花兩到三個(gè)小時(shí)的時(shí)間去寫文檔,有時(shí)是從晚飯后開始工作,進(jìn)入狀態(tài)后就不想動(dòng)了,因?yàn)橄胫粴夂浅?甚至連洗澡都是很匆忙的,周五,周六半夜兩三點(diǎn)睡覺更是家常便飯,終于體會(huì)到從事軟件工程行業(yè)的人員的辛苦,但完成后成就感挺大的,心里會(huì)十分愉悅,雖然給小組成員們過(guò)目后還會(huì)改動(dòng)兩三次。小組成員之間的相處從拘謹(jǐn)?shù)阶匀坏倪^(guò)渡,大家展開的激烈討論拉近了我們之間的距離,負(fù)責(zé)和重要的文檔總會(huì)有人主動(dòng)提出提供幫助,團(tuán)隊(duì)合作精神得到很好的體現(xiàn)。或許是我們專業(yè)的特殊要求,大家對(duì)這門課十分的重視,個(gè)人覺得我們絕大部分精力都放在了軟件工程上,當(dāng)然付出是由收獲的,我們能夠把理論課學(xué)到的內(nèi)容應(yīng)用到實(shí)踐中去,而且是現(xiàn)學(xué)現(xiàn)用的,加深了對(duì)理論知識(shí)的理解,體驗(yàn)到了軟件工程開發(fā)過(guò)程中的階段性以及協(xié)調(diào)性,學(xué)會(huì)了如何寫符合規(guī)范的文檔,也使自己對(duì)待其它實(shí)驗(yàn)的態(tài)度更加認(rèn)真,思維也更加嚴(yán)密。無(wú)論對(duì)個(gè)人以后的發(fā)展還是個(gè)人素質(zhì)的提升都是一個(gè)很好的經(jīng)歷。本次開發(fā)依賴全部組員的通力合作,在項(xiàng)目中,根據(jù)我們每個(gè)人的特點(diǎn)和擅長(zhǎng),明確的分工的基礎(chǔ)上,大家協(xié)調(diào)順暢,搭配合理,并根據(jù)日常學(xué)習(xí)上的急緩程度來(lái)適時(shí)調(diào)整工程進(jìn)度和每個(gè)人的工作量,使得工程順利完成。在項(xiàng)目收尾的后期,我專門為所有文檔作了風(fēng)格統(tǒng)一以及版式統(tǒng)一,使得大家合作默契,效率較高。最后,感謝我和我一起奮斗的伙伴們,盡管我們這次的項(xiàng)目并不是很成功,但我們一直在總結(jié),在學(xué)習(xí),我們下次的合作會(huì)做更的好些的,感謝給予我們諄諄教導(dǎo)的朱老師,謝謝!7.2.3名字2個(gè)人總結(jié)在這次軟件工程項(xiàng)目實(shí)踐環(huán)節(jié),我們小組完成了圖書管理系統(tǒng)的設(shè)計(jì)。在小組分工里,我主要參與了項(xiàng)目的各個(gè)環(huán)節(jié),主要負(fù)責(zé)了總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)部分文字編撰,軟件項(xiàng)目報(bào)告總體排版,流程圖、流程圖等圖的繪制部分。進(jìn)過(guò)軟件工程項(xiàng)目全程的參與,我學(xué)到了很多。首先是軟件工程的思想及一般方法。以往我們只是謝謝單獨(dú)的程序,并沒有軟件工程及項(xiàng)目的概率,更不要提軟件工程項(xiàng)目報(bào)告的書寫。進(jìn)過(guò)書寫報(bào)告,不但掌握了軟件工程項(xiàng)目報(bào)告的書寫方法和要求,同時(shí)也規(guī)范了我們的軟件過(guò)程的要求。沒有規(guī)矩不成方圓。其次是經(jīng)過(guò)軟件工程報(bào)告的書寫掌握了很多軟件開發(fā)的輔助工具,比如流程圖,數(shù)據(jù)結(jié)構(gòu)圖,IPO圖,數(shù)據(jù)字典等等。經(jīng)過(guò)這些輔助的方法能夠更加簡(jiǎn)單的開發(fā)軟件的各個(gè)模塊。經(jīng)過(guò)模塊的拼裝,最終合并成一個(gè)完整的軟件。與此同時(shí),軟件工程的全程參與也使得對(duì)書本知識(shí)理解的更加透徹,為期末考試乃至后來(lái)的發(fā)展都打下了堅(jiān)實(shí)的基礎(chǔ)。最后經(jīng)過(guò)軟件工程這次項(xiàng)目,我們體驗(yàn)到了團(tuán)隊(duì)合作的意義。不同于以往,這次項(xiàng)目是小組團(tuán)隊(duì)完成的,我認(rèn)為小組中的每個(gè)人都積極參與了而且做出了一定的貢獻(xiàn)。特別是組長(zhǎng)名字1在團(tuán)隊(duì)組織和協(xié)調(diào),調(diào)度資源方面起到了很大的作用。從這個(gè)項(xiàng)目中我學(xué)到了許多寶貴的經(jīng)驗(yàn)。感謝老師,感謝小組成員,感謝自己以及感謝給與我們幫助的所有人。7.2.4名字3個(gè)人總結(jié)在本學(xué)期的軟件工程我們項(xiàng)目小組所做的是圖書管理系統(tǒng),其中我主要負(fù)責(zé)是需求分析和詳細(xì)設(shè)計(jì)部分。在這次軟件工程的項(xiàng)目的完成過(guò)程中,我收獲很大。由于我之前從來(lái)沒有與其它人合作過(guò)一個(gè)項(xiàng)目,這次的合作經(jīng)歷以后將成為我一生的寶貴經(jīng)驗(yàn)。這次的經(jīng)歷令我意識(shí)到了用軟件工程的思想開發(fā)項(xiàng)目是十分重要而且必要的。我們小組成員經(jīng)過(guò)討論選定了圖書管理系統(tǒng)后,就開始按照軟件工程的思想,從問題定義、可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼再到測(cè)試。按照這七個(gè)過(guò)程一路走來(lái)首先的感覺是效率和以前沒頭沒腦的一上來(lái)就急著開始編代碼相比提高了不少。小組成員間分工協(xié)作也顯得井井有條。接下來(lái)談?wù)勎覀€(gè)人的工作情況,我主要負(fù)責(zé)了需求分析和詳細(xì)設(shè)計(jì)這兩塊的內(nèi)容,而在其它各個(gè)階段我也有參與開發(fā)。因此我基本對(duì)軟件工程開發(fā)的整個(gè)過(guò)程都有了一個(gè)相對(duì)直觀且整體的認(rèn)識(shí)。其中我更是對(duì)數(shù)據(jù)模型、功能模型、行為模型的設(shè)計(jì);E-R圖、IPO表、事件跟蹤圖、并由事件跟蹤圖到狀態(tài)轉(zhuǎn)換圖的轉(zhuǎn)化及繪制;詳細(xì)設(shè)計(jì)中的程序流程圖、盒圖、CAD圖、判定樹的繪制有了很深的體會(huì),并在實(shí)際運(yùn)用中熟練掌握。我想這就是這次軟件工程項(xiàng)目中我的最大收獲。同時(shí)在和同學(xué)們的合作交流中,也令我意識(shí)到自己的不足之處,值得我總結(jié)并在以后的學(xué)習(xí)實(shí)踐過(guò)程中不斷改進(jìn)和提高??傊?在這次項(xiàng)目中我收獲很大,也學(xué)到了很多,令我受益匪淺。7.2.5名字4個(gè)人總結(jié)在這次軟件工程的項(xiàng)目實(shí)踐中,我主要負(fù)責(zé)了軟件的測(cè)試項(xiàng)目。這次實(shí)踐很好的讓我將書本上的知識(shí)與實(shí)際結(jié)合起來(lái),加深了我對(duì)軟件工程特別是測(cè)試環(huán)節(jié)的理解。例如,在我負(fù)責(zé)的軟件測(cè)試過(guò)程中,我經(jīng)過(guò)書上給予的理論知識(shí),充分結(jié)合我們開發(fā)的圖書管理系統(tǒng)的實(shí)際情況,制定出了軟件的測(cè)試計(jì)劃。在這之中,我充分了解到各種測(cè)試方式的優(yōu)缺點(diǎn)及實(shí)際操作方式,為今后軟件測(cè)試的學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。這次項(xiàng)目給我最大的收獲不是在軟件一些具體方面上如代碼的編寫上,而是在于對(duì)軟件開發(fā)的認(rèn)識(shí)上。在學(xué)習(xí)軟件工程之前,開發(fā)軟件對(duì)我來(lái)說(shuō)更多等同于編寫代碼實(shí)現(xiàn)功能。而經(jīng)過(guò)軟件工程課的學(xué)習(xí)以及這次項(xiàng)目實(shí)踐,使我開始從工程的角度去審視軟件開發(fā),更多地認(rèn)識(shí)到前期規(guī)劃,設(shè)計(jì)的重要性,這無(wú)論是對(duì)我今后的學(xué)習(xí),還是步入社會(huì)后的具體工作都有重大意義??傊?這次項(xiàng)目實(shí)踐令我收獲頗豐,是一次對(duì)我極有意義的活動(dòng)。

8附錄8.1登錄界面代碼privatevoidbutton1_Click(objectsender,EventArgse){StringUser=userBox.Text;StringPassword=pwdBox.Text;SqlConnectionconn=newSqlConnection("DataSource=JUSTDOITPC\\SQLEXPRESS;InitialCatalog=LibMan;IntegratedSecurity=True");StringSQLstr="SELECT*FROMTableUserWHERE(用戶名='"+User+"')";SqlCommandcommand=newSqlCommand(SQLstr,conn);conn.Open();SqlDataReaderrdr=command.ExecuteReader();if(rdr.Read()){StringPwd=rdr.GetString(1);if(Pwd==Password){if(rdr.GetInt32(2)==1){managementfrm=newmanagement();frm.Tag=this;frm.Show();this.Hide();}elseif(rdr.GetInt32(2)==0){informationfrm=newinformation();Stringcuruserid=User;frm.Tag=this;frm.setuser(curuserid);frm.Show();this.Hide();}}elseMessageBox.Show("密碼不正確!");}else{MessageBox.Show("用戶名不存在!");}conn.Close();}8.2管理員界面代碼publicpartialclassmanagement:Form{privateStringuserid;privateStringbookid;privateStringbookname;privateStringauthor;privateStringpressname;privateintstock;privateStringidcon;privateStringstockcon;privateStringSQLSearch;privateStringSQLDelete;privateStringSQLInsert;privateStringSQLUpdate;privateSqlConnectionconn;publicmanagement(){InitializeComponent();conn=newSqlConnection("DataSource=JUSTDOITPC\\SQLEXPRESS;InitialCatalog=LibMan;IntegratedSecurity=True");conn.Open();}privatevoidGetData(){this.userid=txtuser.Text;this.bookid=txtid.Text;this.bookname=txtname.Text;this.author=txtauthor.Text;this.pressname=txtpress.Text;this.stock=cmbstock.SelectedIndex;}privatevoidSearch_conditon(){this.idcon=(this.bookid=="")?"(1=1)":"(ID='"+this.bookid+"')";if(this.stock==0)this.stockcon="AND(1=1)";elseif(this.stock==1)this.stockcon="AND(是否在庫(kù)中='true')";elseif(this.stock==2)this.stockcon="AND(是否在庫(kù)中='false')";this.SQLSearch="SELECT*FROMTableBookWHERE(書名LIKE'%"+this.bookname+"%')AND(作者Like'%"+this.author+"%')AND(出版社Like'%"+this.pressname+"%')AND"+this.idcon+this.stockcon;}privatevoidSearch_show(){SqlCommandcommand=newSqlCommand(this.SQLSearch,conn);SqlDataReaderrdr=command.ExecuteReader();lstResult.Columns[4].Text="是否在庫(kù)中";lstResult.Items.Clear();if(rdr.HasRows){while(rdr.Read()){lstResult.Items.Add(rdr.GetString(0));lstResult.Items[lstResult.Items.Count-1].SubItems.Add(rdr.GetString(1));lstResult.Items[lstResult.Items.Count-1].SubItems.Add(rdr.GetString(2));lstResult.Items[lstResult.Items.Count-1].SubItems.Add(rdr.GetString(3));lstResult.Items[lstResult.Items.Count-1].SubItems.Add((rdr.GetBoolean(4)==true)?"是":"否");}rdr.Close();}else{lstResult.Items.Add("沒有符合要求的圖書");rdr.Close();}}privatevoidbtnSearch_Click(objectsender,EventArgse){GetData();Search_conditon();Search_show();}privatevoidForm1_Load(objectsender,EventArgse){cmbstock.SelectedIndex=0;}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){Formfrm=(Form)this.Tag;frm.Show();conn.Close();}privatevoiddelete_sentence(){this.SQLDelete="DELETEFROMTableBookWHERE(ID='"+this.bookid+"')";this.SQLSearch="SELECTIDFROMTableBookWHERE(ID='"+this.bookid+"')";}privatevoiddelete_Execute(){SqlCommandcommand=newSqlCommand(this.SQLSearch,conn);SqlDataReaderrdr=command.ExecuteReader();if(rdr.HasRows){rdr.Close();SqlCommandcommand2=newSqlCommand(this.SQLDelete,conn);command2.ExecuteNonQuery();MessageBox.Show("刪除成功!");}else{rdr.Close();MessageBox.Show("書庫(kù)中不存在該ID的書!");}}privatevoidbtndelete_Click(objectsender,EventArgse){GetData();delete_sentence();delete_Execute();}privatevoidadd_sentence(){this.SQLInsert="InsertINTOTableBookVALUES('"+this.bookid+"','"+this.bookname+"','"+this.author+"','"+this.pressname;if(this.stock==2)this.SQLInsert+="',0)";elsethis.SQLInsert+="',1)";this.SQLSearch="SELECTIDFROMTableBookWHERE(ID='"+txtid.Text+"')";}privatevoidadd_Execute(){SqlCommandcommand=newSqlCommand(this.SQLSearch,conn);SqlDataReaderrdr=command.ExecuteReader();if(rdr.HasRows){rdr.Close();MessageBox.Show("書庫(kù)中存在與該書ID相同的書,不能添加相同ID的書!");}else{rdr.Close();SqlCommandcommand2=newSqlCommand(this.SQLInsert,conn);command2.ExecuteNonQuery();MessageBox.Show("添加成功!");}}privatevoidbtnadd_Click(objectsender,

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論