軟件工程實(shí)驗(yàn)樣本_第1頁
軟件工程實(shí)驗(yàn)樣本_第2頁
軟件工程實(shí)驗(yàn)樣本_第3頁
軟件工程實(shí)驗(yàn)樣本_第4頁
軟件工程實(shí)驗(yàn)樣本_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

北方工業(yè)大學(xué)軟件工程課程實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告題目:小型圖書館圖書信息管理系統(tǒng)專業(yè):班級(jí):組:組長(zhǎng):成員:指引教師:完畢日期:6月5日目錄1項(xiàng)目開發(fā)籌劃書……………………(2)2軟件需求規(guī)格闡明書………………(7)3設(shè)計(jì)規(guī)格闡明書……………………(14)4源程序清單…………(20)5測(cè)試報(bào)告……………(35)6顧客手冊(cè)……………(39)一、項(xiàng)目開發(fā)籌劃書完畢人:1.引言(Introduction)本需求編寫是為了實(shí)現(xiàn)讀者借還書信息化,并且運(yùn)用Internet網(wǎng)絡(luò)實(shí)現(xiàn)讀者與圖書館之間互動(dòng)和圖書館人性化管理,提高圖書運(yùn)用率、減少有關(guān)人員工作量,使學(xué)校圖書管理工作真正做到科學(xué)、合理規(guī)劃,系統(tǒng)、高效實(shí)行。1.1項(xiàng)目概述(ProjectSummary)本次作業(yè)設(shè)計(jì)題目:“小型圖書館圖書信息管理系統(tǒng)”重要目是運(yùn)用數(shù)據(jù)庫(kù)軟件編制一種管理軟件,用以實(shí)現(xiàn)圖書、讀者以及戶(學(xué)生)借書、查詢圖書信息,向流通組預(yù)約圖書、缺書登記,借書數(shù)量、期限限制。還書時(shí)流通組依照?qǐng)D書與否超期、損壞等作相應(yīng)解決。采編部依照缺書登記進(jìn)行采購(gòu)以及將舊書裁減、注尋常工作等多項(xiàng)管理。同步對(duì)整個(gè)系統(tǒng)分析、設(shè)計(jì)過程給出一種完整論證。詳細(xì)涉及借還圖書??傊到y(tǒng)規(guī)模較小,只涉及圖書、讀者、借還書管理,有關(guān)部門有采編部、流通部、辦公室,只是完畢簡(jiǎn)樸規(guī)模圖書管理操作。1.2術(shù)語定義(TermsGlossary)圖書管理系統(tǒng):是一種由人、計(jì)算機(jī)等構(gòu)成能進(jìn)行管理信息收集、傳遞、加工、保存、維護(hù)和使用系統(tǒng)。采編部:是一種負(fù)責(zé)圖書館中外文圖書資料入庫(kù)前采訪、訂購(gòu)、驗(yàn)收、登記、典藏、調(diào)撥,以及書目數(shù)據(jù)審校并上傳至中央數(shù)據(jù)庫(kù)等工作部門。需求分析:在建立一種新或變化一種現(xiàn)存電腦系統(tǒng)時(shí)描寫新系統(tǒng)目、范疇、定義和功能時(shí)所要做所有工作。系統(tǒng)設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)庫(kù)構(gòu)造以及設(shè)計(jì)模塊控制流程,明確軟件系統(tǒng)"如何做"。需求規(guī)格闡明書:經(jīng)可行性研究后,對(duì)規(guī)定解問題重新進(jìn)行描述,使之更能精確地反映實(shí)際業(yè)務(wù)流程,導(dǎo)出并評(píng)價(jià)可供選取解法,推薦行動(dòng)方針。系統(tǒng)設(shè)計(jì)闡明書:闡明對(duì)程序系統(tǒng)設(shè)計(jì)考慮,涉及程序系統(tǒng)基本解決流程、程序系統(tǒng)組織構(gòu)造、模塊劃分、功能分派、接口設(shè)計(jì)、運(yùn)營(yíng)設(shè)計(jì)、數(shù)據(jù)構(gòu)造設(shè)計(jì)和出錯(cuò)解決設(shè)計(jì)等,為程序詳細(xì)設(shè)計(jì)提供基本。1.3有關(guān)文檔(RelatedDocuments)《需求規(guī)格闡明書需求規(guī)格闡明書》、《系統(tǒng)設(shè)計(jì)闡明書》、《測(cè)試報(bào)告》、《顧客手冊(cè)》、《源程序清單》。2.軟件生存周期(SoftwareLifeCycle)因系統(tǒng)規(guī)模較小,采用瀑布模型擬定軟件生存周期。(1)項(xiàng)目生存期框圖 問題定義問題定義可行性研究可行性研究需求分析需求分析軟件設(shè)計(jì)軟件設(shè)計(jì)項(xiàng)目實(shí)行項(xiàng)目實(shí)行測(cè)試測(cè)試維護(hù)維護(hù)(2)項(xiàng)目生存期闡明問題定義:分析問題,擬定整體項(xiàng)目設(shè)計(jì)思路與架構(gòu),對(duì)系統(tǒng)功能有一種初步認(rèn)定,擬定項(xiàng)目規(guī)模與基本實(shí)現(xiàn)思路。可行性研究:對(duì)項(xiàng)目可行性,涉及技術(shù)可行性、經(jīng)濟(jì)可行性、社會(huì)可行性等進(jìn)行研究,為下一步工作做準(zhǔn)備。需求分析:對(duì)項(xiàng)目整體需求做一種整體調(diào)研和分析,最后將分析成果歸納總結(jié)為清晰、全面、系統(tǒng)、精確需求規(guī)格闡明書。項(xiàng)目設(shè)計(jì):分塊設(shè)計(jì)項(xiàng)目?jī)?nèi)容,對(duì)各個(gè)階段項(xiàng)目工作有一種整體劃分。項(xiàng)目實(shí)行:進(jìn)行代碼設(shè)計(jì)編寫,最后完畢項(xiàng)目初步模型。測(cè)試:對(duì)完畢項(xiàng)目進(jìn)行測(cè)試,找出存在問題和需要優(yōu)化、改進(jìn)地方。維護(hù):定期對(duì)項(xiàng)目進(jìn)行測(cè)試,查找項(xiàng)目漏洞進(jìn)行完善解決。3.任務(wù)與工作產(chǎn)品(TaskandWorkProducts)項(xiàng)目任務(wù)和工作產(chǎn)品,是指依照項(xiàng)目生存期階段劃分任務(wù),和相應(yīng)階段工作產(chǎn)品。記錄項(xiàng)目生存期各階段擬定需重點(diǎn)控制階段任務(wù)和工作產(chǎn)品。建議以表格形式,列出生存期各階段任務(wù)和工作產(chǎn)品。項(xiàng)目包括任務(wù),如:(1)需求分析(2)系統(tǒng)設(shè)計(jì)(3)系統(tǒng)實(shí)現(xiàn)(4)測(cè)試(5)產(chǎn)品交付項(xiàng)目也許包括產(chǎn)品,如:(1)需求規(guī)格闡明書(3)系統(tǒng)設(shè)計(jì)闡明書(4)源程序(5)測(cè)試報(bào)告(6)顧客手冊(cè)4.工作產(chǎn)品、任務(wù)規(guī)模、工作量預(yù)計(jì)(EstimatesofWorkProduct,TaskSizeandWorkload)該項(xiàng)目只是完畢簡(jiǎn)樸圖書信息管理,系統(tǒng)規(guī)模較小。經(jīng)分析決定,最后由五人一組小組形式完畢該實(shí)驗(yàn)。指定一名組長(zhǎng),負(fù)責(zé)分工和進(jìn)度控制等管理工作。其中,開發(fā)籌劃由組長(zhǎng)完畢,其她文檔按籌劃中任務(wù)分工,分別由各負(fù)責(zé)人完畢。由于項(xiàng)目規(guī)模不大,籌劃在在20個(gè)學(xué)時(shí)左右完畢整個(gè)設(shè)計(jì)任務(wù)。最后分派給每個(gè)成員任務(wù)量并不大,應(yīng)當(dāng)可以按期完畢。5.資源需求籌劃(ResourceRequirementPlan)依照項(xiàng)目詳細(xì)實(shí)現(xiàn)功能,為保證項(xiàng)目可以正常流暢運(yùn)轉(zhuǎn),最后擬定重要軟硬件設(shè)備清單列表如下:解決器CPU系列英特爾酷睿i5.4代系列CPU型號(hào)英特爾酷睿i54570CPU頻率3.2GHz總線DMI5GT/s三級(jí)緩存6MB核心代號(hào)Haswell核心/線程數(shù)四核心/四線程制程工藝22nm存儲(chǔ)設(shè)備內(nèi)存容量4GB內(nèi)存類型DDR31333MHz內(nèi)存插槽4個(gè)DiMM插槽硬盤容量500GB硬盤描述7200轉(zhuǎn)光驅(qū)類型DVD刻錄機(jī)顯卡/聲卡顯卡類型核心顯卡顯卡芯片InterGMAHD4600顯存容量共享內(nèi)存容量DirectX支持DirectX11音頻系統(tǒng)集成聲卡網(wǎng)絡(luò)通信有線網(wǎng)卡1000Mbps以太網(wǎng)卡軟件數(shù)據(jù)庫(kù)sqlserver運(yùn)營(yíng)環(huán)境Java運(yùn)營(yíng)平臺(tái)Win76.軟件項(xiàng)目進(jìn)度籌劃(SoftwareProjectSchedule)(1)項(xiàng)目階段劃分整體項(xiàng)目劃分為四個(gè)階段:1、需求分析階段依照調(diào)研成果,理解顧客需求進(jìn)而擬定項(xiàng)目整體實(shí)現(xiàn)思路,所要完畢基本功能,保證項(xiàng)目全面性,保證明現(xiàn)顧客需要所有功能。該過程是十分重要階段,能擬定整個(gè)項(xiàng)目進(jìn)行效率和最后效果,因此一定要認(rèn)真細(xì)致貫徹。2、系統(tǒng)設(shè)計(jì)對(duì)需求分析階段成果進(jìn)行概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),畫出功能模塊圖。對(duì)系統(tǒng)主界面、圖書信息錄入界面、學(xué)生借書操作界面、學(xué)生借書成果查詢界面進(jìn)行設(shè)計(jì)。進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。得到數(shù)據(jù)庫(kù)邏輯構(gòu)造圖。3、圖書管理系統(tǒng)編程在之前工作基本上,進(jìn)行實(shí)當(dāng)代碼編寫,在編寫過程中不斷完善各項(xiàng)功能,在保證基本功能前提下,盡量做到界面和諧性和可行性。4、圖書管理系統(tǒng)測(cè)試與維護(hù) 對(duì)系統(tǒng)進(jìn)行測(cè)試,并解決發(fā)現(xiàn)問題,進(jìn)一步維護(hù)完善選課系統(tǒng)。(2)各階段任務(wù)分解需求分析階段:1、結(jié)合實(shí)驗(yàn)內(nèi)容闡明,對(duì)既有學(xué)生選課系統(tǒng)進(jìn)行必要調(diào)研,理解基本工作流程、軟件功能、數(shù)據(jù)需求和界面風(fēng)格。2、畫系統(tǒng)流程圖,反映本系統(tǒng)物理構(gòu)造。并給出一份系統(tǒng)軟硬件配備清單,涉及設(shè)備型號(hào)、系統(tǒng)軟件版本號(hào),報(bào)價(jià)等信息。3、分析實(shí)驗(yàn)內(nèi)容闡明和調(diào)研成果,畫出系統(tǒng)數(shù)據(jù)流程圖。4、組內(nèi)充分討論,不斷細(xì)化和完善數(shù)據(jù)流程圖。5、編寫系統(tǒng)數(shù)據(jù)字典。6、用IPO圖描述系統(tǒng)解決過程。7、畫出系統(tǒng)ER圖。系統(tǒng)設(shè)計(jì)階段:1、全組走查需求分析文檔和其她有關(guān)圖表和文字闡明。對(duì)不清晰內(nèi)容進(jìn)行完善和補(bǔ)充。2、組長(zhǎng)和小構(gòu)成員共同協(xié)商一份設(shè)計(jì)規(guī)范:設(shè)計(jì)用圖形符號(hào)、字體、大小規(guī)范,界面設(shè)計(jì)規(guī)范,用語規(guī)范等等。3、組內(nèi)6人分工,并行進(jìn)行詳細(xì)設(shè)計(jì)、界面設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)。4、組長(zhǎng)檢查所有設(shè)計(jì)規(guī)范性和設(shè)計(jì)質(zhì)量。編程階段:選用某一高檔編程語言實(shí)現(xiàn)本系統(tǒng),并對(duì)編碼通過注釋進(jìn)行必要闡明。系統(tǒng)測(cè)試與維護(hù)階段:設(shè)計(jì)測(cè)試用例并實(shí)現(xiàn)測(cè)試與維護(hù)。(3)時(shí)間和人員安排四個(gè)階段每個(gè)階段分派四個(gè)學(xué)時(shí),預(yù)測(cè)共需大概20個(gè)學(xué)時(shí)完畢本次項(xiàng)目設(shè)計(jì)。人員安排如下:由組長(zhǎng)完畢項(xiàng)目籌劃書,詳細(xì)分派任務(wù)。各個(gè)階段任務(wù)劃分如下:(4)階段工作成果每個(gè)階段都需要完畢相應(yīng)任務(wù),詳細(xì)如下:需求分析階段:1) 系統(tǒng)流程圖和軟硬件設(shè)備清單表。2) 細(xì)化數(shù)據(jù)流程圖和圖解闡明。3) 系統(tǒng)數(shù)據(jù)字典和IPO圖。4) 系統(tǒng)ER圖。5) 需求闡明規(guī)格闡明書。系統(tǒng)設(shè)計(jì)階段: 1) 設(shè)計(jì)規(guī)格闡明書(涉及概要設(shè)計(jì)闡明書和詳細(xì)設(shè)計(jì)闡明書)。2) 數(shù)據(jù)庫(kù)設(shè)計(jì)(涉及表名、字段名、字段類型、字段大小、字段闡明)。編程階段:1) 系統(tǒng)重要功能界面。2) 系統(tǒng)重要模塊源代碼(涉及注釋)3) 系統(tǒng)重要模塊使用闡明書。測(cè)試維護(hù)階段: 1) 系統(tǒng)重要模塊測(cè)試用例及測(cè)試成果2) 系統(tǒng)重要模塊邊界測(cè)試用例及測(cè)試成果二、需求規(guī)格闡明書完畢人:1.概述(Summary)1.1項(xiàng)目目與目的(PurposeandAimofProject)該項(xiàng)目為簡(jiǎn)樸管理系統(tǒng),重要實(shí)現(xiàn)圖書借還解決,以及圖書館內(nèi)有關(guān)圖書管理工作。目的是實(shí)現(xiàn)讀者借還書信息化,并且運(yùn)用Internet網(wǎng)絡(luò)實(shí)現(xiàn)讀者與圖書館之間互動(dòng)和圖書館人性化管理,提高圖書運(yùn)用率、減少有關(guān)人員工作量,使學(xué)校圖書管理工作真正做到科學(xué)、合理規(guī)劃,系統(tǒng)、高效實(shí)行。1.2術(shù)語定義(TermsGlossary)圖書管理系統(tǒng):圖書管理系統(tǒng),是一種由人、計(jì)算機(jī)等構(gòu)成能進(jìn)行管理信息收集、傳遞、加工、保存、維護(hù)和使用系統(tǒng)。運(yùn)用信息控制公司行為;協(xié)助公司實(shí)現(xiàn)其規(guī)劃目的。在當(dāng)代大中型公司紛紛運(yùn)用系統(tǒng)。系統(tǒng)設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)庫(kù)構(gòu)造以及設(shè)計(jì)模塊控制流程,明確軟件系統(tǒng)"如何做"。為下一步編程階段做好準(zhǔn)備。需求規(guī)格闡明書:經(jīng)可行性研究后,對(duì)規(guī)定解問題重新進(jìn)行描述,使之更能精確地反映實(shí)際業(yè)務(wù)流程,導(dǎo)出并評(píng)價(jià)可供選取解法,推薦行動(dòng)方針。系統(tǒng)設(shè)計(jì)闡明書:闡明對(duì)程序系統(tǒng)設(shè)計(jì)考慮,涉及程序系統(tǒng)基本解決流程、程序系統(tǒng)組織構(gòu)造、模塊劃分、功能分派、接口設(shè)計(jì)、運(yùn)營(yíng)設(shè)計(jì)、數(shù)據(jù)構(gòu)造設(shè)計(jì)和出錯(cuò)解決設(shè)計(jì)等,為程序詳細(xì)設(shè)計(jì)提供基本。設(shè)計(jì)規(guī)格闡明書:在進(jìn)行系統(tǒng)分析后,對(duì)整體設(shè)計(jì)把握體現(xiàn),涉及各種設(shè)計(jì)參數(shù)定義,以及設(shè)計(jì)元素、風(fēng)格確立等。出庫(kù)表:存儲(chǔ)已銷售書籍?dāng)?shù)據(jù)。入庫(kù)表:存儲(chǔ)入庫(kù)書籍?dāng)?shù)據(jù)。購(gòu)書表:存儲(chǔ)提交購(gòu)書信息。缺書登記表:存儲(chǔ)缺少書籍信息。待購(gòu)教材表:存儲(chǔ)待購(gòu)書籍信息。1.3有關(guān)文檔(RelatedDocuments)《項(xiàng)目開發(fā)籌劃書》《需求規(guī)格闡明書》《設(shè)計(jì)規(guī)格闡明書》《源程序清單》《測(cè)試報(bào)告》《顧客手冊(cè)》2.問題初始分析(EarlyAnalysis)2.1場(chǎng)景描述(SceneDescription)本次項(xiàng)目是以實(shí)現(xiàn)圖書、讀者以及戶(學(xué)生)借書、查詢圖書信息為背景,目是為了實(shí)現(xiàn)讀者借還書信息化,并且運(yùn)用Internet網(wǎng)絡(luò)實(shí)現(xiàn)讀者與圖書館之間互動(dòng)和圖書館人性化管理,提高圖書運(yùn)用率、減少有關(guān)人員工作量,使學(xué)校圖書管理工作真正做到科學(xué)、合理規(guī)劃,系統(tǒng)、高效實(shí)行。2.2初始功能提取(EarlyFunctionDistill)基本實(shí)現(xiàn)功能如下:1、向流通組預(yù)約圖書、缺書登記,借書數(shù)量、期限限制。2、還書時(shí)流通組依照?qǐng)D書與否超期、損壞等作相應(yīng)解決。2、采編部依照缺書登記進(jìn)行采購(gòu)以及將舊書裁減、注尋常工作等多項(xiàng)管理。3.目的系統(tǒng)功能需求(FunctionofTargetSystem)3.1功能需求分析(FunctionAnalysis)數(shù)據(jù)流圖如下:數(shù)據(jù)字典:編號(hào):DS1名稱:讀者信息記錄名稱鍵值類型長(zhǎng)度值域初值備注讀者編號(hào)P字符100學(xué)生姓名字符100學(xué)生班級(jí)字符100性別字符10借閱圖書數(shù)量數(shù)字借閱圖書信息字符200借出日期日期8應(yīng)還日期日期8與否有圖書超期布爾預(yù)定圖書信息字符100編號(hào):DS2名稱:圖書信息記錄名稱鍵值類型長(zhǎng)度值域初值備注圖書編號(hào)P字符100書名字符100類型字符100可選取作者字符100圖書ISBN字符100出版社字符20出版日期日期8總冊(cè)數(shù)數(shù)字核心字字符100當(dāng)前在庫(kù)數(shù)量數(shù)字編號(hào):DS6名稱:缺書記錄名稱鍵值類型長(zhǎng)度值域初值備注圖書編號(hào)P字符100書名字符100類型字符100可選取作者字符100圖書ISBN字符100出版社字符20出版日期日期83.2功能需求點(diǎn)列表(FunctionList)對(duì)每個(gè)解決用IPO表進(jìn)行詳細(xì)闡明,列出功能需求點(diǎn)列表如下:編號(hào):IPO1 名稱:讀者查詢輸入解決闡明輸出圖書信息1.輸入圖書信息3.如果此書在館,顯示圖書信息將DS2中相應(yīng)圖書記錄顯示出來備注:編號(hào):IPO2 名稱:書目編輯輸入解決闡明輸出圖書信息1.輸入圖書信息2.增添圖書記錄修改DS2在庫(kù)圖書量插入圖書信息到DS2備注:編號(hào):IPO3 名稱:圖書注銷輸入解決闡明輸出圖書信息1.輸入圖書信息2.刪除圖書記錄修改DS2在庫(kù)圖書量刪除DS2中相應(yīng)圖書記錄備注:編號(hào):IPO4 名稱:缺書登記輸入解決闡明輸出所缺圖書信息1.輸入缺書信息2.創(chuàng)立缺書記錄,修改缺書登記記錄3.告知采購(gòu)部及時(shí)采購(gòu)圖書插入缺書記錄到DS6修改DS6缺書記錄狀態(tài)備注:編號(hào):IPO5 名稱:圖書采購(gòu)輸入解決闡明輸出采購(gòu)圖書信息1.輸入采購(gòu)圖書信息2.如果此書已經(jīng)采購(gòu),則取消圖書缺書記錄修改DS6缺書記錄狀態(tài)備注:編號(hào):IPO6 名稱:圖書預(yù)定輸入解決闡明輸出預(yù)定圖書信息1.輸入圖書信息2.創(chuàng)立圖書預(yù)定記錄插入圖書預(yù)定記錄到DS5修改DS5圖書預(yù)定預(yù)訂記錄狀態(tài)備注:編號(hào):IPO7 名稱:取消預(yù)定輸入解決闡明輸出預(yù)定圖書信息1.輸入圖書信息2.刪除圖書預(yù)定記錄刪除DS5中圖書預(yù)定記錄修改DS5圖書預(yù)定預(yù)訂記錄狀態(tài)備注:編號(hào):IPO10 名稱:借書解決輸入解決闡明輸出讀者編號(hào)圖書編號(hào)1.輸入讀者編號(hào)和圖書編號(hào)2.創(chuàng)立借書記錄,修改圖書在庫(kù)量3.如果此書曾經(jīng)預(yù)訂,則取消圖書預(yù)訂記錄修改DS2在庫(kù)圖書量插入借書記錄到DS3修改DS5預(yù)訂記錄狀態(tài)備注:編號(hào):IPO12 名稱:還書解決輸入解決闡明輸出讀者編號(hào)圖書編號(hào)1.輸入讀者編號(hào)和圖書編號(hào)2.創(chuàng)立還書記錄,修改圖書在庫(kù)量3.如果此書曾經(jīng)預(yù)訂,告知預(yù)定讀者修改DS2在庫(kù)圖書量插入還書記錄到DS2修改DS5預(yù)訂記錄狀態(tài)備注:4.目的系統(tǒng)性能需求(PerformanceofTargetSystem)4.1時(shí)間規(guī)定(TimeRequest)鑒于圖書信息量較大,同步又考慮到讀者對(duì)響應(yīng)時(shí)間容忍限度,最后擬定查詢最長(zhǎng)等待時(shí)間為30秒左右,而更新解決時(shí)間為40秒左右,遠(yuǎn)程數(shù)據(jù)傳播時(shí)間控制在一分鐘以內(nèi)。盡量保證時(shí)間響應(yīng)控制在合理范疇內(nèi)。4.2空間規(guī)定(SpaceRequest)如由于借還書功能是面向全校師生,因而顧客量較大,必要保證可以支持足夠多終端顧客同步借閱查詢,最佳同步在線操作人數(shù)控制在50人以內(nèi),超過次門限值采用等待辦法。此外,圖書信息量大,因此解決文獻(xiàn)和記錄數(shù)也會(huì)相應(yīng)變得龐大,同步也限制了解決任務(wù)數(shù)量,為加快數(shù)據(jù)傳播效率,對(duì)輸入輸出數(shù)據(jù)精度規(guī)定和對(duì)解決和傳播過程中精度規(guī)定并不高。4.3性能需求點(diǎn)列表(PerformanceList)依照數(shù)據(jù)流程圖和對(duì)需求理解,給出一張功能需求表,涉及需求編號(hào)、簡(jiǎn)樸描述、優(yōu)先級(jí)和驗(yàn)證方式見下表。編號(hào)簡(jiǎn)述使用者優(yōu)先級(jí)驗(yàn)證方式IPO1查詢讀者1分別對(duì)圖書/借還書信息有效數(shù)據(jù)、無效數(shù)據(jù)、各種組合條件進(jìn)行查詢,顯示查詢成果(成果是0條、1頁、多頁狀況)IPO2書目編輯采編部1輸入完整圖書信息,輸入不完整圖書信息、輸入錯(cuò)誤圖書信息,重復(fù)輸入IPO3圖書注銷采購(gòu)部1注銷既有圖書、注銷不存在圖書IPO31新書發(fā)布采購(gòu)部2缺書采購(gòu)到館后,告知登記讀者IPO4缺書登記讀者2對(duì)的和完善缺書信息,對(duì)的但不完善缺書信息,重復(fù)錄入缺書信息IPO5圖書采購(gòu)采編部2采購(gòu)缺書登記圖書,重復(fù)采購(gòu),超量采購(gòu)IPO6預(yù)訂讀者2對(duì)的和完善預(yù)訂數(shù)據(jù),對(duì)的但不完善預(yù)訂數(shù)據(jù),無效預(yù)訂數(shù)據(jù),相似預(yù)訂數(shù)據(jù)IPO7取消預(yù)訂讀者2取消已經(jīng)預(yù)訂圖書、取消沒有預(yù)訂圖書、重復(fù)取消同一條預(yù)訂記錄IPO8更新系統(tǒng)參數(shù)系統(tǒng)管理員1在XML文獻(xiàn)中定義各種參數(shù)值,在DTD文獻(xiàn)中定義參數(shù)模型,在XLS中定義參數(shù)顯示格式IPO81更新懲罰規(guī)則系統(tǒng)管理員1在XML文獻(xiàn)中定義懲罰規(guī)則,在DTD文獻(xiàn)中定義參數(shù)模型,在XLS中定義參數(shù)顯示格式IPO9懲罰流通部1輸入超期懲罰、丟失懲罰和破損懲罰信息,且測(cè)試不同日期、不同價(jià)格圖書、不同頁數(shù)信息IPO10借書解決流通部1對(duì)的和完善借書信息,對(duì)的但不完善借書信息,無效借書信息,重復(fù)借書信息,超量借書,借預(yù)訂圖書,續(xù)借IPO101有效性檢查流通部1輸入有效/無效讀者號(hào),有效/無效圖書號(hào),借書已超量,有延期書,0庫(kù)存書IPO11讀者管理辦公室1輸入對(duì)的讀者信息、錯(cuò)誤讀者信息和無效讀者信息IPO12還書流通部1還1本書/多本書,還過期書,還書有預(yù)訂,還無效圖書(沒有借書記錄)IPO121催還告知自動(dòng)觸發(fā)3系統(tǒng)參數(shù)中設(shè)立催還日期,檢查系統(tǒng)能否按照設(shè)立日期自動(dòng)發(fā)出催還郵件IPO13預(yù)訂告知自動(dòng)觸發(fā)1檢查系統(tǒng)自動(dòng)觸發(fā)1條/多條預(yù)訂到書告知,給有效郵箱、無效郵箱分別檢查系統(tǒng)5.目的系統(tǒng)界面與接口需求(InterfaceofTargetSystem)5.1界面需求(InterphaseRequirement)界面整體特點(diǎn)以便、簡(jiǎn)潔、美觀、一致等。(1)輸入設(shè)備:鍵盤、鼠標(biāo)、條碼掃描器、掃描儀;(2)輸出設(shè)備:顯示屏、打印機(jī);(3)顯示風(fēng)格:藍(lán)色背景為主,界面簡(jiǎn)約簡(jiǎn)樸,功能實(shí)現(xiàn)突出;(4)顯示方式:1024*768;(5)輸出格式:列表顯示、按序輸出。5.2接口需求(InterfaceRequirement)由于本項(xiàng)目只是實(shí)現(xiàn)校內(nèi)圖書借閱查詢管理功能,因而所需接口僅限于圖書館辦公室管理人員控制接口。用于管理人員對(duì)整個(gè)系統(tǒng)進(jìn)行必要測(cè)試維護(hù),保證整個(gè)系統(tǒng)順利運(yùn)營(yíng)。6.目的系統(tǒng)其她需求(OtherRequirementsofTargetSystem)6.1安全性(Security) 由于圖書信息和讀者信息都是學(xué)校內(nèi)部隱私信息,因而,系統(tǒng)安全性必要得到較好保證。6.2可靠性(Dependability) 圖書查詢需要最后有明確查詢成果,因而查詢過程可靠性必不可少。此外,這也是保證系統(tǒng)可以正常運(yùn)轉(zhuǎn)運(yùn)營(yíng)重要前提。6.3靈活性(Agility) 圖書信息量較大,因而,查詢時(shí)必要采用靈活查詢辦法,如分類、模糊查詢等,保證查詢效率和靈活性。7.目的系統(tǒng)假設(shè)與約束條件(SupposeandRestrictionofTargetSystem)本系統(tǒng)只是內(nèi)部運(yùn)營(yíng)簡(jiǎn)樸圖書管理系統(tǒng),外部限制幾乎可以不必考慮。重要限制在于內(nèi)部軟硬件供應(yīng)和保證,總體問題不大,相信完畢后可以盡快投入運(yùn)營(yíng)。三、設(shè)計(jì)規(guī)格闡明書完畢人:1.引言(Introduction)本章對(duì)該文檔目、功能范疇、術(shù)語、有關(guān)文檔、參照資料、版本更新進(jìn)行闡明。1.1目(Purpose)本文檔目旨在推動(dòng)軟件工程規(guī)范化,使設(shè)計(jì)人員遵循統(tǒng)一概要設(shè)計(jì)書寫規(guī)范,節(jié)約制作文檔時(shí)間,減少圖書管理系統(tǒng)實(shí)現(xiàn)風(fēng)險(xiǎn),做到系統(tǒng)設(shè)計(jì)資料規(guī)范性與全面性,以利于系統(tǒng)實(shí)現(xiàn)、測(cè)試、維護(hù)、版本升級(jí)等。1.2命名規(guī)則(NamingRule)變量對(duì)象命名規(guī)則:全局變量和局部變量均以能代表變量意義單詞表達(dá),為加以區(qū)別,其中,全局變量首字母大寫、局部變量則全小寫。數(shù)據(jù)庫(kù)對(duì)象命名規(guī)則:為以便理解,數(shù)據(jù)庫(kù)建立時(shí)有關(guān)表名命名也采用代表特定意義英文字母表達(dá)。表名首字母大寫,別的一律大寫。1.3術(shù)語定義(TermsGlossary)序號(hào)術(shù)

稱術(shù)

義1總體構(gòu)造軟件系統(tǒng)總體邏輯構(gòu)造。按照不同設(shè)計(jì)辦法,有不同總體邏輯構(gòu)造。若采用面向功能或面向數(shù)據(jù)設(shè)計(jì)辦法,則總體邏輯構(gòu)造為一樹形功能模塊構(gòu)造圖。若采用面向?qū)ο蠡蛎嫦虿考?gòu)件)設(shè)計(jì)辦法,則總體邏輯構(gòu)造為部件(構(gòu)件)組裝圖2外部接口本軟件系統(tǒng)與其她軟件系統(tǒng)之間接口,接口設(shè)施可以是中間件。接口描述涉及:傳播方式、帶寬、數(shù)據(jù)構(gòu)造、傳播頻率、傳播量、傳播合同3數(shù)據(jù)構(gòu)造數(shù)據(jù)構(gòu)造涉及:數(shù)據(jù)庫(kù)表構(gòu)造、其她數(shù)據(jù)構(gòu)造等4概念數(shù)據(jù)模型CDM關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)模型,叫做概念數(shù)據(jù)模型。重要內(nèi)容涉及一張邏輯E-R圖及其相應(yīng)數(shù)據(jù)字典5物理數(shù)據(jù)模型PDM關(guān)系數(shù)據(jù)庫(kù)物理設(shè)計(jì)模型,叫做物理數(shù)據(jù)模型。重要內(nèi)容涉及一張物理表關(guān)系圖及其相應(yīng)數(shù)據(jù)字典6視圖在基表或其她視圖之上建立一張?zhí)摫?,叫做視圖,它具備物理表許多性質(zhì),在數(shù)據(jù)解決和授權(quán)上很有用7角色數(shù)據(jù)庫(kù)中享有某些特權(quán)操作顧客,叫做角色。角色權(quán)利通過授權(quán)來實(shí)現(xiàn)8子系統(tǒng)具備相對(duì)獨(dú)立功能小系統(tǒng)叫做子系統(tǒng)。一種大軟件系統(tǒng)可以劃分為各種子系統(tǒng),每個(gè)子系統(tǒng)可由各種模塊或各種部件構(gòu)成9模塊具備功能獨(dú)立、能被調(diào)用信息單元叫做模塊。模塊是構(gòu)造化設(shè)計(jì)中概念10內(nèi)部接口軟件系統(tǒng)內(nèi)部各子系統(tǒng)之間、各部件之間、各模板之間接口,叫做內(nèi)部接口。接口描述涉及:調(diào)用方式、入口信息、出口信息等11有關(guān)文獻(xiàn)有關(guān)文獻(xiàn)是指當(dāng)本文獻(xiàn)內(nèi)容變更后,也許引起變更其她文獻(xiàn)。如需求分析報(bào)告、詳細(xì)設(shè)計(jì)闡明書、測(cè)試籌劃、顧客手冊(cè)12參照資料參照資料是指本文獻(xiàn)書寫時(shí)用到其她資料。如各種關(guān)于規(guī)范、模板、原則、準(zhǔn)則1.4參照資料(References)[1]顧客需求報(bào)告[2]數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范[3]命名規(guī)范1.5有關(guān)文檔(RelatedDocuments)[1]源程序清單[2]測(cè)試籌劃及報(bào)告[3]《顧客使用手冊(cè)》2.總體設(shè)計(jì)(DesignofCollective)2.1體系構(gòu)造設(shè)計(jì)(DesignofArchitecture)總系統(tǒng)體系構(gòu)造模型:子系統(tǒng)模型:學(xué)生登陸系統(tǒng)——SS1: 流通組系統(tǒng)——SS2:備注:借書系統(tǒng)、還書系統(tǒng)見學(xué)生登陸系統(tǒng)。編目人員系統(tǒng)——SS3:采購(gòu)人員系統(tǒng)——SS4:2.2子系統(tǒng)清單(SubsystemList)子系統(tǒng)編號(hào)子系統(tǒng)功能簡(jiǎn)述子系統(tǒng)之間關(guān)系SS1學(xué)生可以進(jìn)行借書、還書操作通過流通組工作人員完畢功能SS2流通組完畢詳細(xì)借書、還書操作與學(xué)生登陸有交集SS3錄入圖書信息和注銷圖書與采購(gòu)人員系統(tǒng)有交集SS4負(fù)責(zé)采購(gòu)圖書并交予編目人員與編目人員系統(tǒng)有功能交集2.3模塊設(shè)計(jì)(ModuleDesign)借書系統(tǒng)——M1:還書系統(tǒng)——M2:2.4功能模塊清單(ModuleList) 模塊清單表:模塊編號(hào)模塊功能簡(jiǎn)述M1實(shí)現(xiàn)借書系統(tǒng)中各種功能實(shí)現(xiàn),以及各種借書時(shí)狀況解決M2實(shí)現(xiàn)還書系統(tǒng)中各種功能實(shí)現(xiàn),以及各種還書時(shí)狀況解決3.?dāng)?shù)據(jù)構(gòu)造設(shè)計(jì)(DesignofDataStructure)3.1數(shù)據(jù)庫(kù)表名清單(DBTableList)數(shù)據(jù)庫(kù)表名清單表:序號(hào)中文表名英文表名表功能闡明1學(xué)生表Student記錄學(xué)生基本信息、涉及已借圖書信息,在借圖書信息等。2圖書表Book記錄圖書館圖書信息,以及圖書狀態(tài)——借出、應(yīng)還日期等等。3缺書表Qbook記錄學(xué)生但愿圖書館有書,用于采購(gòu)人員及時(shí)采購(gòu)圖書。3.2數(shù)據(jù)庫(kù)表之間關(guān)系闡明(RelationofDBTable)E-R圖:3.3數(shù)據(jù)庫(kù)表詳細(xì)清單(ParticularListofDBTable)詳細(xì)清單用列表給出:表名:圖書表序號(hào)字段中文名字段英文名類型空否默認(rèn)值主鍵/外鍵1書名Book_namefloat否無\2索書號(hào)Book_numberfloat否無主鍵3出版社Pressfloat否無\4出版日期Timedate否無\5圖書狀態(tài)Messagefloat\無\6借出應(yīng)還日期Borrow_timefloat\無\7類別Book_classfloat\無\8預(yù)約人學(xué)號(hào)Order_numberfloat\無\表名:學(xué)生表序號(hào)字段中文名字段英文名類型空否默認(rèn)值主鍵/外鍵1學(xué)號(hào)Numberfloat否無主鍵2班級(jí)Classfloat否無\3姓名Namefloat否無\4性別Sexchar否F\5已借圖書數(shù)量Countint\無\6在借圖書信息Borrowfloat\無\7超期圖書信息Extendfloat\無\8預(yù)約圖書信息Order_bookfloat\無\表名:缺書表序號(hào)字段中文名字段英文名類型空否默認(rèn)值主鍵/外鍵1書名Book_namefloat否無主鍵2登記日期Book_timefloat否無\3出版社Press1float否無\4出版日期Time1date否無\四、源程序清單完畢人:1數(shù)據(jù)庫(kù)連接(ModuleName)1.1描述(Description)實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接。1.2代碼(Program)usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;///<summary>///DataBase摘要闡明///</summary>publicclassDataBase:IDisposable{ publicDataBase() { // //TODO:在此處添加構(gòu)造函數(shù)邏輯 // }privateSqlConnectioncon;//創(chuàng)立連接對(duì)象#region打開數(shù)據(jù)庫(kù)連接///<summary>///打開數(shù)據(jù)庫(kù)連接.///</summary>privatevoidOpen(){//打開數(shù)據(jù)庫(kù)連接if(con==null){con=newSqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);}if(con.State==System.Data.ConnectionState.Closed)con.Open();}#endregion#region關(guān)閉連接///<summary>///關(guān)閉數(shù)據(jù)庫(kù)連接///</summary>publicvoidClose(){if(con!=null)con.Close();}#endregion#region釋放數(shù)據(jù)庫(kù)連接資源///<summary>///釋放資源///</summary>publicvoidDispose(){//確認(rèn)連接與否已經(jīng)關(guān)閉if(con!=null){con.Dispose();con=null;}}#endregion#region傳入?yún)?shù)并且轉(zhuǎn)換為SqlParameter類型///<summary>///轉(zhuǎn)換參數(shù)///</summary>///<paramname="ParamName">存儲(chǔ)過程名稱或命令文本</param>///<paramname="DbType">參數(shù)類型</param></param>///<paramname="Size">參數(shù)大小</param>///<paramname="Value">參數(shù)值</param>///<returns>新parameter對(duì)象</returns>publicSqlParameterMakeInParam(stringParamName,SqlDbTypeDbType,intSize,objectValue){returnMakeParam(ParamName,DbType,Size,ParameterDirection.Input,Value);}///<summary>///初始化參數(shù)值///</summary>///<paramname="ParamName">存儲(chǔ)過程名稱或命令文本</param>///<paramname="DbType">參數(shù)類型</param>///<paramname="Size">參數(shù)大小</param>///<paramname="Direction">參數(shù)方向</param>///<paramname="Value">參數(shù)值</param>///<returns>新parameter對(duì)象</returns>publicSqlParameterMakeParam(stringParamName,SqlDbTypeDbType,Int32Size,ParameterDirectionDirection,objectValue){SqlParameterparam;if(Size>0)param=newSqlParameter(ParamName,DbType,Size);elseparam=newSqlParameter(ParamName,DbType);param.Direction=Direction;if(!(Direction==ParameterDirection.Output&&Value==null))param.Value=Value;returnparam;}#endregion#region執(zhí)行參數(shù)命令文本(無數(shù)據(jù)庫(kù)中數(shù)據(jù)返回)///<summary>///執(zhí)行命令///</summary>///<paramname="procName">命令文本</param>///<paramname="prams">參數(shù)對(duì)象</param>///<returns></returns>publicintRunProc(stringprocName,SqlParameter[]prams){SqlCommandcmd=CreateCommand(procName,prams);cmd.ExecuteNonQuery();this.Close();//得到執(zhí)行成功返回值return(int)cmd.Parameters["ReturnValue"].Value;}///<summary>///直接執(zhí)行SQL語句///</summary>///<paramname="procName">命令文本</param>///<returns></returns>publicintRunProc(stringprocName){this.Open();SqlCommandcmd=newSqlCommand(procName,con);cmd.ExecuteNonQuery();this.Close();return1;}#endregion#region執(zhí)行參數(shù)命令文本(有返回值)///<summary>///執(zhí)行查詢命令文本,并且返回DataSet數(shù)據(jù)集///</summary>///<paramname="procName">命令文本</param>///<paramname="prams">參數(shù)對(duì)象</param>///<paramname="tbName">數(shù)據(jù)表名稱</param>///<returns></returns>publicDataSetRunProcReturn(stringprocName,SqlParameter[]prams,stringtbName){SqlDataAdapterdap=CreateDataAdaper(procName,prams);DataSetds=newDataSet();dap.Fill(ds,tbName);this.Close();//得到執(zhí)行成功返回值returnds;}///<summary>///執(zhí)行命令文本,并且返回DataSet數(shù)據(jù)集///</summary>///<paramname="procName">命令文本</param>///<paramname="tbName">數(shù)據(jù)表名稱</param>///<returns>DataSet</returns>publicDataSetRunProcReturn(stringprocName,stringtbName){SqlDataAdapterdap=CreateDataAdaper(procName,null);DataSetds=newDataSet();dap.Fill(ds,tbName);this.Close();//得到執(zhí)行成功返回值returnds;}#endregion#region將命令文本添加到SqlDataAdapter///<summary>///創(chuàng)立一種SqlDataAdapter對(duì)象以此來執(zhí)行命令文本///</summary>///<paramname="procName">命令文本</param>///<paramname="prams">參數(shù)對(duì)象</param>///<returns></returns>privateSqlDataAdapterCreateDataAdaper(stringprocName,SqlParameter[]prams){this.Open();SqlDataAdapterdap=newSqlDataAdapter(procName,con);dap.SelectCommand.CommandType=CommandType.Text;//執(zhí)行類型:命令文本if(prams!=null){foreach(SqlParameterparameterinprams)dap.SelectCommand.Parameters.Add(parameter);}//加入返回參數(shù)dap.SelectCommand.Parameters.Add(newSqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));returndap;}#endregion#region將命令文本添加到SqlCommand///<summary>///創(chuàng)立一種SqlCommand對(duì)象以此來執(zhí)行命令文本///</summary>///<paramname="procName">命令文本</param>///<paramname="prams"命令文本所需參數(shù)</param>///<returns>返回SqlCommand對(duì)象</returns>privateSqlCommandCreateCommand(stringprocName,SqlParameter[]prams){//確認(rèn)打開連接this.Open();SqlCommandcmd=newSqlCommand(procName,con);cmd.CommandType=CommandType.Text;//執(zhí)行類型:命令文本//依次把參數(shù)傳入命令文本if(prams!=null){foreach(SqlParameterparameterinprams)cmd.Parameters.Add(parameter);}//加入返回參數(shù)cmd.Parameters.Add(newSqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));returncmd;}#endregion}}2讀者信息(ModuleName)2.1描述(Description)讀者信息編碼實(shí)現(xiàn)2.2代碼(Program)usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;publicclassReaderManage{DataBasedata=newDataBase();privatestringid;privatestringname;privatestringsex;privatestringtype;privateDateTimebirthday=Convert.ToDateTime(DateTime.Now.ToShortDateString());privatestringpapertype;privatestringpapernum;privatestringtel;privatestringemail;privateDateTimecreatedate=Convert.ToDateTime(DateTime.Now.ToShortDateString());privatestringoperater;privatestringremark;privateintborrownum=0;privateintnum=0; publicReaderManage() { // //TODO:在此處添加構(gòu)造函數(shù)邏輯 // }publicstringID{get{returnid;}set{id=value;}}publicstringName{get{returnname;}set{name=value;}}publicstringSex{get{returnsex;}set{sex=value;}}publicstringType{get{returntype;}set{type=value;}}publicDateTimeBirthday{get{returnbirthday;}set{birthday=value;}}publicstringPaperType{get{returnpapertype;}set{papertype=value;}}publicstringPaperNum{get{returnpapernum;}set{papernum=value;}}publicstringTel{get{returntel;}set{tel=value;}}publicstringEmail{get{returnemail;}set{email=value;}}///<summary>///級(jí)別日期///</summary>publicDateTimeCreateDate{get{returncreatedate;}set{createdate=value;}}publicstringOperater{get{returnoperater;}set{operater=value;}}publicstringRemark{get{returnremark;}set{remark=value;}}publicintBorrowNum{get{returnborrownum;}set{borrownum=value;}}publicintNum{get{returnnum;}set{num=value;}}publicstringGetReaderID(){DataSetds=GetAllReader("tb_reader");stringstr="";if(ds.Tables[0].Rows.Count==0)str="D1001";elsestr="D"+(Convert.ToInt32(ds.Tables[0].Rows[ds.Tables[0].Rows.Count-1][0].ToString().Substring(1,4))+1);returnstr;}publicintAddReader(ReaderManagereadermanage){SqlParameter[]prams={ data.MakeInParam("@id",SqlDbType.VarChar,30,readermanage.ID),data.MakeInParam("@name",SqlDbType.VarChar,50,readermanage.Name),data.MakeInParam("@sex",SqlDbType.Char,4,readermanage.Sex),data.MakeInParam("@type",SqlDbType.VarChar,50,readermanage.Type),data.MakeInParam("@birthday",SqlDbType.DateTime,8,readermanage.Birthday),data.MakeInParam("@papertype",SqlDbType.VarChar,20,readermanage.PaperType),data.MakeInParam("@papernum",SqlDbType.VarChar,30,readermanage.PaperNum),data.MakeInParam("@tel",SqlDbType.VarChar,20,readermanage.Tel),data.MakeInParam("@email",SqlDbType.VarChar,50,readermanage.Email),data.MakeInParam("@createdate",SqlDbType.DateTime,8,readermanage.CreateDate),data.MakeInParam("@operater",SqlDbType.VarChar,30,readermanage.Operater),data.MakeInParam("@remark",SqlDbType.VarChar,4000,readermanage.Remark), };return(data.RunProc("INSERTINTOtb_reader(id,name,sex,type,birthday,paperType,paperNum,tel,email,createDate,operater,remark)"+"VALUES(@id,@name,@sex,@type,@birthday,@papertype,@papernum,@tel,@email,@createdate,@operater,@remark)",prams));}publicintUpdateReader(ReaderManagereadermanage){SqlParameter[]prams={ data.MakeInParam("@id",SqlDbType.VarChar,30,readermanage.ID),data.MakeInParam("@name",SqlDbType.VarChar,50,readermanage.Name),data.MakeInParam("@sex",SqlDbType.Char,4,readermanage.Sex),data.MakeInParam("@type",SqlDbType.VarChar,50,readermanage.Type),data.MakeInParam("@birthday",SqlDbType.DateTime,8,readermanage.Birthday),data.MakeInParam("@papertype",SqlDbType.VarChar,20,readermanage.PaperType),data.MakeInParam("@papernum",SqlDbType.VarChar,30,readermanage.PaperNum),data.MakeInParam("@tel",SqlDbType.VarChar,20,readermanage.Tel),data.MakeInParam("@email",SqlDbType.VarChar,50,readermanage.Email),data.MakeInParam("@createdate",SqlDbType.DateTime,8,readermanage.CreateDate),data.MakeInParam("@operater",SqlDbType.VarChar,30,readermanage.Operater),data.MakeInParam("@remark",SqlDbType.VarChar,4000,readermanage.Remark), };return(data.RunProc("updatetb_readersetname=@name,sex=@sex,type=@type,birthday=@birthday,paperType=@papertype,paperNum=@papernum,"+"tel=@tel,email=@email,createDate=@createdate,operater=@operater,remark=@remarkwhereid=@id",prams));}publicintUpdateBorrowNum(ReaderManagereadermanage){SqlParameter[]prams={ data.MakeInParam("@id",SqlDbType.VarChar,30,readermanage.ID),data.MakeInParam("@borrownum",SqlDbType.Int,4,readermanage.BorrowNum),data.MakeInParam("@num",SqlDbType.Int,4,readermanage.Num), };return(data.RunProc("updatetb_readersetborrownum=@borrownum,num=@numwhereid=@id",prams));}publicintDeleteReader(ReaderManagereadermanage){SqlParameter[]prams={ data.MakeInParam("@id",SqlDbType.VarChar,30,readermanage.ID), };return(data.RunProc("deletefromtb_readerwhereid=@id",prams));}publicDataSetQueryReaderByCode(ReaderManagereadermanage,stringname){SqlParameter[]prams={ data.MakeInParam("@id",SqlDbType.VarChar,30,readermanage.ID+"%"), };return(data.RunProcReturn("select*fromtb_readerwhereidlike@id",prams,name));}publicDataSetQueryReaderByName(ReaderManagereadermanage,stringname){SqlParameter[]prams={ data.MakeInParam("@name",SqlDbType.VarChar,50,readermanage.Name+"%"), };return(data.RunProcReturn("select*fromtb_readerwherenamelike@name",prams,name));}publicDataSetQueryReaderByType(ReaderManagereadermanage,stringname){SqlParameter[]prams={ data.MakeInParam("@type",SqlDbType.VarChar,50,readermanage.Type+"%"), };return(data.RunProcReturn("select*fromtb_readerwheretypelike@type",prams,name));}publicDataSetGetAllReader(stringname){return(data.RunProcReturn("select*fromtb_readerORDERBYid",name));}publicDataSetReaderLogin(ReaderManagereadermanage){SqlParameter[]prams={data.MakeInParam("@id",SqlDbType.VarChar,30,readermanage.ID),data.MakeInParam("@name",SqlDbType.VarChar,50,readermanage.Name), };return(data.RunProcReturn("SELECT*FROMtb_readerWHERE(id=@id)AND(name=@name)",prams,"tb_reader"));}}3登陸系統(tǒng)(ModuleName)3.1描述(Description)登陸系統(tǒng)實(shí)現(xiàn)編碼。3.2代碼(Program)usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;publicclassAdminManage{privatestringid;privatestringname;privatestringpwd; publicAdminManage() { // //TODO:在此處添加構(gòu)造函數(shù)邏輯 //}DataBasedata=newDataBase();publicstringID{get{returnid;}set{id=value;}}publicstringName{get{returnname;}set{name=value;}}publicstringPwd{get{returnpwd;}set{pwd=value;}}publicstringGetAdminID(){DataSetds=GetAdmin("tb_admin");stringstr="";if(ds.Tables[0].Rows.Count==0)str="G1001";elsestr="G"+(Convert.ToInt32(ds.Tables[0].Rows[ds.Tables[0].Rows.Count-1][0].ToString().Substring(1,4))+1);returnstr;}publicintAddAdmin(AdminManageadminM){SqlParameter[]prams={ data.MakeInParam("@id",SqlDbType.VarChar,50,adminM.ID),data.MakeInParam("@name",SqlDbType.VarChar,50,adminM.Name),data.MakeInParam("@pwd",SqlDbType.VarChar,30,adminM.Pwd), };return(data.RunProc("INSERTINTOtb_admin(id,name,pwd)VALUES(@id,@name,@pwd)",prams));}publicintUpdateAdmin(AdminManageadminM){SqlParameter[]prams={data.MakeInParam("@name",SqlDbType.VarChar,50,adminM.Name),data.MakeInParam("@pwd",SqlDbType.VarChar,30,adminM.Pwd), };return(data.RunProc("updatetb_adminsetpwd=@pwdwherename=@name",prams));}publicintDeleteAdmin(AdminManageadminM){SqlParameter[]prams={ data.MakeInParam("@name",SqlDbType.VarChar,50,adminM.Name), };return(data.RunProc("deletefromtb_adminwherename=@name",prams));}publicDataSetLogin(AdminManageadminM){SqlParameter[]prams={data.MakeInParam("@name",SqlDbType.VarChar,50,adminM.Name),data.MakeInParam("@pwd",SqlDbType.VarChar,30,adminM.Pwd), };return(data.RunProcReturn("SELECT*FROMtb_adminWHERE(name=@name)AND(pwd=@pwd)",prams,"tb_admin"));}publicDataSetGetAllAdminByName(AdminManageadminM,stringtbName){SqlParameter[]prams={ data.MakeInParam("@name",SqlDbType.VarChar,50,adminM.Name+"%"), };return(data.RunProcReturn("select*fromtb_adminwherenamelike@name",prams,tbName));}publicDataSetGetAdmin(stringtbName){return(data.RunProcReturn("select*fromtb_adminORDERBYid",tbName));}}四、測(cè)試報(bào)告完畢人:1.概述(Summary)1.1項(xiàng)目簡(jiǎn)介(ProjectSynopsis)該項(xiàng)目為簡(jiǎn)樸管理系統(tǒng),重要實(shí)現(xiàn)圖書借還解決,以及圖書館內(nèi)有關(guān)圖書管理工作。目的是實(shí)現(xiàn)讀者借還書信息化,并且運(yùn)用Internet網(wǎng)絡(luò)實(shí)現(xiàn)讀者與圖書館之間互動(dòng)和圖書館人性化管理。1.2術(shù)語定義(TermsGlossary)需求分析:在建立一種新或變化一種現(xiàn)存電腦系統(tǒng)時(shí)描寫新系統(tǒng)目、范疇、定義和功能時(shí)所要做所有工作。系統(tǒng)設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)庫(kù)構(gòu)造以及設(shè)計(jì)模塊控制流程,明確軟件系統(tǒng)"如何做"。需求規(guī)格闡明書:經(jīng)可行性研究后,對(duì)規(guī)定解問題重新進(jìn)行描述,使之更能精確地反映實(shí)際業(yè)務(wù)流程,導(dǎo)出并評(píng)價(jià)可供選取解法,推薦行動(dòng)方針。系統(tǒng)設(shè)計(jì)闡明書:闡明對(duì)程序系統(tǒng)設(shè)計(jì)考慮,涉及程序系統(tǒng)基本解決流程、程序系統(tǒng)組織構(gòu)造、模塊劃分、功能分派、接口設(shè)計(jì)、運(yùn)營(yíng)設(shè)計(jì)、數(shù)據(jù)構(gòu)造設(shè)計(jì)和出錯(cuò)解決設(shè)計(jì)等,為程序詳細(xì)設(shè)計(jì)提供基本。設(shè)計(jì)規(guī)格闡明書:在進(jìn)行系統(tǒng)分析后,對(duì)整體設(shè)計(jì)把握體現(xiàn),涉及各種設(shè)計(jì)參數(shù)定義,以及設(shè)計(jì)元素、風(fēng)格確立等。出庫(kù)表:存儲(chǔ)已銷售書籍?dāng)?shù)據(jù)。入庫(kù)表:存儲(chǔ)入庫(kù)書籍?dāng)?shù)據(jù)。購(gòu)書表:存儲(chǔ)提交購(gòu)書信息。缺書登記表:存儲(chǔ)缺少書籍信息。1.3參照資料(References)[1]《需求規(guī)格闡明書》[2]《設(shè)計(jì)規(guī)格闡明書》[3]《顧客需求報(bào)告》[4]《設(shè)計(jì)命名規(guī)范

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論