jsp589倉庫管理系統(tǒng)sqlserver論文_第1頁
jsp589倉庫管理系統(tǒng)sqlserver論文_第2頁
jsp589倉庫管理系統(tǒng)sqlserver論文_第3頁
jsp589倉庫管理系統(tǒng)sqlserver論文_第4頁
jsp589倉庫管理系統(tǒng)sqlserver論文_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

┊┆┆┊┆┆┆本科生畢業(yè)論文(設(shè)計(jì))題目:學(xué)院/系專業(yè)年級(jí)學(xué)號(hào)作者姓名指導(dǎo)教師

摘要眾所周知,食堂是一個(gè)企業(yè)或?qū)W校的重要資源,它包括生產(chǎn)與非生產(chǎn)的食堂。運(yùn)用現(xiàn)代化信息技術(shù)手段加強(qiáng)企業(yè)或?qū)W校食堂的管理,可以大大地降低管理工作量,加快收集信息的速度,通過加強(qiáng)管理,保護(hù)企業(yè)或?qū)W校食堂完整無缺,充分挖掘潛力,不斷改進(jìn)企業(yè)或?qū)W校食堂利用情況。隨著企業(yè)或?qū)W校規(guī)模的擴(kuò)大,食堂管理系統(tǒng)將發(fā)揮越來越重要的作用。高效方便的食堂管理系統(tǒng),可以為生產(chǎn)經(jīng)營提供堅(jiān)強(qiáng)的后盾和有力的支持。食堂管理系統(tǒng)主要提供一個(gè)食堂業(yè)務(wù)及其作業(yè)管理的信息存儲(chǔ)和管理系統(tǒng)。通過商品入庫管理、出庫管理、報(bào)表生成管理、食堂人員管理、食堂設(shè)備報(bào)修管理等功能模塊來實(shí)現(xiàn)食堂的綜合管理。本論文以標(biāo)準(zhǔn)的食堂管理模式為藍(lán)本,基于JavaEE開發(fā)出一個(gè)可以用于一般單位的食堂管理系統(tǒng),實(shí)現(xiàn)了食堂管理的高效性與安全性。本系統(tǒng)可以方便快捷地實(shí)現(xiàn)庫管理中的商品登記、出庫入庫、庫房管理等操作,使企業(yè)或?qū)W校的食堂管理井井有條,為企業(yè)或?qū)W校的健康發(fā)展創(chuàng)造良好的條件。本文先從系統(tǒng)方案設(shè)計(jì)方面比較詳細(xì)的介紹了本系統(tǒng)所采用的開發(fā)工具和開發(fā)技術(shù)。其次再從軟件系統(tǒng)開發(fā)的一般流程,需求分析、系統(tǒng)設(shè)計(jì)、編碼實(shí)現(xiàn)、軟件測(cè)試方面詳細(xì)而細(xì)致的描述了整個(gè)系統(tǒng)的設(shè)計(jì)方案及實(shí)現(xiàn)功能。最后總結(jié)了系統(tǒng)的不足之處,以便于將來更好的改進(jìn)。本系統(tǒng)按實(shí)際需求設(shè)計(jì),可以對(duì)企業(yè)或?qū)W校食堂進(jìn)行增加,刪除,修改,食堂維修等,更多的是對(duì)企業(yè)或?qū)W校食堂進(jìn)行日常管理,可以有效得對(duì)企業(yè)或?qū)W校食堂進(jìn)行管理,可以對(duì)企業(yè)或?qū)W校職工、公告信息管理等功能來提高企業(yè)或?qū)W校的整體管理水平。關(guān)鍵字:食堂管理系統(tǒng);JavaEE;管理系統(tǒng)

AbstractAseveryoneknows,thecanteenisanimportantresourceofanenterpriseoraschool,itincludesproductionandnonproductionofthecanteen.Strengthentheenterpriseortheschoolcanteenmanagementbymoderninformationtechnology,cangreatlyreducetheworkloadmanagement,acceleratethespeedofinformationcollection,bystrengtheningthemanagement,protectionofenterpriseortheschoolcanteenintact,fullytappotential,improveenterpriseortheschoolcafeteriautilization.Withtheexpansionoftheenterpriseortheschoolscale,canteenmanagementsystemwillplayanincreasinglyimportantrole.Efficientandconvenientdiningroommanagementsystem,canprovideastrongbackingandstrongsupportfortheproductionandbusinessoperation.Canteenmanagementsystemmainlyprovidesacanteenbusinessandoperationsmanagementinformationstorageandmanagementsystem.Theintegratedmanagementbycommoditywarehousingmanagement,databasemanagement,reportgenerationmanagement,personnelmanagement,canteenequipmentrepairmanagementmoduletoachievethecanteen.Inthisthesis,astandardcanteenmanagementmodeasblueprint,JavaEEcanbeusedtodevelopacanteenmanagementsystembasedongeneralunit,toachievetheefficiencyandsecurityofthecanteenmanagement.Thesystemcanachievethemanagementofcommercialregistration,thelibrarystorage,warehousemanagement,operationconvenient,maketheenterpriseortheschoolcanteenmanagementbearrangedingoodorder,andcreategoodconditionsforthehealthydevelopmentoftheenterprisesandschools.Thispaperfirstdesignfromthesystemaspectintroducesindetailthedevelopmenttoolsandtechnologiesusedinthesystem.Second.Secondly,thegeneralprocessofsoftwaresystemdevelopment,needsanalysis,systemdesign,coding,softwaretestingisdetailedandmeticulousdescriptionofthesystem'sdesignandRealizationfunction.Finallysummeduptheinadequaciesofthesystem,inordertoimprovebetterinthefuture.Thissystemdesignedaccordingtoactualdemand,theenterpriseortheschoolcanteentoadd,delete,modify,repair,canteen,moreistoconductthedailymanagementofenterprisesortheschoolcanteen,caneffectivelycarryonthemanagementtotheenterpriseortheschoolcanteen,cantheenterpriseortheschoolstaff,bulletininformationmanagementandotherfunctionstoimprovetheoverallmanagementlevelenterpriseorschool.Keywords:Canteenmanagementsystem;JavaEE;managementsystem

目錄1緒論 11.1選題背景 11.2管理信息系統(tǒng)簡介 11.3計(jì)算機(jī)信息系統(tǒng)的發(fā)展 11.4管理信息系統(tǒng)的發(fā)展現(xiàn)狀 11.5可行性分析 22開發(fā)環(huán)境 32.1軟件工程介紹 32.2開發(fā)環(huán)境及工具 32.1.1選擇Jsp作為頁面視圖顯示 32.2.3選擇SQLSERVER作為后臺(tái)數(shù)據(jù)庫 42.3數(shù)據(jù)庫技術(shù)介紹 42.3.1.JDBC開發(fā)數(shù)據(jù)庫 42.3.2.BDE開發(fā)數(shù)據(jù)庫 52.4體系結(jié)構(gòu) 62.4.1系統(tǒng)體系機(jī)構(gòu)的一般闡述 62.4.2C/S模式與B/S模式的比較分析 62.4.3B/S模式的優(yōu)勢(shì) 72.5開發(fā)方法整體選擇 73系統(tǒng)分析 83.1模塊設(shè)計(jì) 83.2功能模塊圖 83.3數(shù)據(jù)庫設(shè)計(jì)概述 93.4數(shù)據(jù)庫設(shè)計(jì)周期 93.5SQL查詢語言及使用 93.6系統(tǒng)E-R圖分析 93.7數(shù)據(jù)表設(shè)計(jì) 134詳細(xì)設(shè)計(jì) 164.1用戶登錄界面 164.2添加食堂商品信息 204.3食堂商品信息管理 214.4管理員設(shè)置 224.5食堂入庫管理 224.6采購信息管理 245系統(tǒng)調(diào)試與測(cè)試 265.1軟件測(cè)試的意義 265.2程序的測(cè)試 275.2.1測(cè)試的重要性及目的 275.2.2測(cè)試的步驟 285.2.3測(cè)試的主要內(nèi)容 285.3白盒測(cè)試 285.3.1集成測(cè)試 295.4黑盒測(cè)試 295.4.1主頁登錄測(cè)試 295.4.2站內(nèi)搜索測(cè)試 305.5測(cè)試結(jié)果分析 306結(jié)論 31致謝 32參考文獻(xiàn) 33PAGE331緒論1.1選題背景隨著企業(yè)或?qū)W校規(guī)模的擴(kuò)大,管理信息系統(tǒng)也發(fā)揮越來越重要的作用。采用食堂管理系統(tǒng)將使企業(yè)或?qū)W校改變其傳統(tǒng)的手工記錄模式,應(yīng)用數(shù)據(jù)庫技術(shù)使海量數(shù)據(jù)的存儲(chǔ)與處理成為很方便的事情,這樣可大幅縮短主要業(yè)務(wù)流程的處理時(shí)間,提高對(duì)市場(chǎng)的響應(yīng)能力。食堂管理系統(tǒng)是通過入庫業(yè)務(wù)、出庫業(yè)務(wù)、庫存管理、庫存調(diào)整等實(shí)時(shí)庫存管理等功能綜合運(yùn)用的管理系統(tǒng),實(shí)現(xiàn)完善的企業(yè)或?qū)W校食堂信息管理。提高了辦事效率,節(jié)省了費(fèi)用,而且還避免了不必要的業(yè)務(wù)糾紛,維護(hù)了企業(yè)或?qū)W校長期與用戶建立的良好信譽(yù)。1.2管理信息系統(tǒng)簡介在21世紀(jì),人類將步入知識(shí)經(jīng)濟(jì)時(shí)代,知識(shí)經(jīng)濟(jì)時(shí)代是日新月異和知識(shí)、信息呈爆炸膨脹的時(shí)代。計(jì)算機(jī)的出現(xiàn)解決了這個(gè)問題,由于計(jì)算機(jī)迅速、準(zhǔn)確為信息收集、加工、使用、查詢提供可能。隨著以計(jì)算機(jī)技術(shù)、的飛躍發(fā)展,人類正在從工業(yè)時(shí)代向信息時(shí)代邁進(jìn),人們?cè)絹碓街匾曅畔①Y源的開發(fā)和利用,“信息化”已成為一個(gè)國家經(jīng)濟(jì)和社會(huì)發(fā)展的關(guān)鍵環(huán)節(jié),信息化水平的高低已成為衡量一個(gè)國家現(xiàn)代化水平和綜合國力的重要標(biāo)志。1.3計(jì)算機(jī)信息系統(tǒng)的發(fā)展計(jì)算機(jī)尤其是微型計(jì)算機(jī)逐漸普及,從開始4位微處理器的微型機(jī)到現(xiàn)今32位高檔微機(jī),主頻速度越來越快。隨著硬件的發(fā)展,軟件也不斷更新,由2進(jìn)制代碼到機(jī)器語言匯編語言、高級(jí)程序語言,軟件自動(dòng)完成,這給軟件開發(fā)人員帶來及大的便利。軟件開發(fā)人員不必化大多時(shí)間和精力在描述程序的具體細(xì)節(jié)上,提高效率誤差。計(jì)算機(jī)的應(yīng)用也由原先單純的數(shù)的自動(dòng)控制、人工智能,可以說滲透到生產(chǎn)生活的各個(gè)領(lǐng)域的應(yīng)用提高了效率,降低了成本,節(jié)省人力物力。但要發(fā)揮其巨大作用,還需提高人們的應(yīng)用水平。1.4管理信息系統(tǒng)的發(fā)展現(xiàn)狀電子計(jì)算機(jī)適應(yīng)現(xiàn)代社會(huì)管理信息量迅速增長,信息壽命短,要求及時(shí)轉(zhuǎn)換的問題。信息系統(tǒng)由電子數(shù)據(jù)處理,當(dāng)今社會(huì)現(xiàn)代信息技術(shù)廣泛迅速的滲透到社會(huì)生活的各領(lǐng)域但目前在管理信息系統(tǒng)應(yīng)用還很不完善,屬于起步階段。計(jì)算機(jī)對(duì)管理工作的支持,不僅是數(shù)據(jù)處理、而且是輔助決策的工具,相關(guān)的決策分析,甚至可和管理者交互對(duì)話,生成決策。目前各個(gè)行業(yè)的計(jì)算機(jī)處理信息管理,處在電子數(shù)據(jù)處理階段,各單位由事務(wù)處理到過程控制辦公自動(dòng)化方面已有長足進(jìn)步,但很不完善。要充分利用計(jì)算機(jī)處理信息,必須從目前情況入手,著眼于未來,開發(fā)適合本單位、行業(yè)的小型管理系統(tǒng),甚至是其中一步分,如工資管理系統(tǒng),然后逐步完善,不斷擴(kuò)充。1.5可行性分析食堂管理系統(tǒng)是作為畢業(yè)設(shè)計(jì)由我們自己開發(fā)的,在經(jīng)濟(jì)上的投入甚微,系統(tǒng)建成之后將為今后實(shí)現(xiàn)公司等食堂管理系統(tǒng)提供很大的方便,估算新系統(tǒng)的開發(fā)費(fèi)用和今后的運(yùn)行、維護(hù)費(fèi)用,估計(jì)新系統(tǒng)將獲得的效益,并將費(fèi)用與效益進(jìn)行比較,看是否有利。開發(fā)、運(yùn)行和維護(hù)費(fèi)用主要包括:購買和安裝食堂的費(fèi)用:計(jì)算機(jī)硬件、系統(tǒng)軟件、機(jī)房、電源、空調(diào)等;軟件開發(fā)費(fèi)用:若由實(shí)習(xí)單位的技術(shù)人員開發(fā),則該項(xiàng)費(fèi)用可以計(jì)入下面的人員費(fèi)用一項(xiàng);技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。食堂管理系統(tǒng)用的是JAVA開發(fā)語言,調(diào)試相對(duì)簡單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前我們公司信息化技術(shù)已經(jīng)相當(dāng)普及,所以在運(yùn)行上是可行性的。根據(jù)新系統(tǒng)目標(biāo)來衡量所需的技術(shù)是否具備,一般可從硬件、軟件的性能要求、環(huán)境條件、技術(shù)人員水平和數(shù)量等方面去考慮和分析,其中開發(fā)人員的技術(shù)力量應(yīng)首先考慮能力與水平,并考慮近期內(nèi)可以培養(yǎng)和發(fā)展的技術(shù)人員。運(yùn)行可行性對(duì)新系統(tǒng)運(yùn)行后給現(xiàn)行系統(tǒng)帶來的影響(包括組織機(jī)構(gòu)、管理方式、工作環(huán)境等)和后果進(jìn)行估計(jì)和評(píng)價(jià)。同時(shí)還應(yīng)考慮現(xiàn)有員工用戶的培訓(xùn)、補(bǔ)充,分析在給定時(shí)間里能否完成預(yù)定的系統(tǒng)開發(fā)任務(wù)等。

按上述三方面進(jìn)行可行性分析、研究后,就可整理并編制出新系統(tǒng)開發(fā)的可行性報(bào)告,它是總體規(guī)劃工作的階段性成果。

2開發(fā)環(huán)境2.1軟件工程介紹軟件工程是用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。它涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域,計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如何建造一個(gè)軟件系統(tǒng)。軟件工程在軟件開發(fā)過程中占有不可動(dòng)搖的重要地位,一個(gè)軟件從開始計(jì)劃起,到廢棄不用止,稱為軟件生存周期。計(jì)劃時(shí)期的主要任務(wù)是分析用戶要求,分析新系統(tǒng)的主要目標(biāo)以及開發(fā)該系統(tǒng)的可行性。開發(fā)時(shí)期要完成設(shè)計(jì)和實(shí)現(xiàn)兩大任務(wù)具體。具體分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試。其中編碼和測(cè)試是軟件開發(fā)期的最后兩個(gè)階段。運(yùn)行時(shí)期是軟件生存周期的最后一個(gè)時(shí)期,軟件人員在這一時(shí)期的工作,主要是做好軟件維護(hù)。2.2開發(fā)環(huán)境及工具2.1.1選擇Jsp作為頁面視圖顯示JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。

JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP技術(shù)的強(qiáng)勢(shì):1.一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。

2.系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。

3.強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。4.多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。2.2.3選擇SQLSERVER作為后臺(tái)數(shù)據(jù)庫SQL是StructuredLanguage(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時(shí),只需要發(fā)出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強(qiáng)大、簡單易學(xué)、使用方便,已經(jīng)成為了數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。2.3數(shù)據(jù)庫技術(shù)介紹2.3.1.JDBC開發(fā)數(shù)據(jù)庫JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。

有了JDBC,向各種關(guān)系數(shù)易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個(gè)程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個(gè)程序,或?yàn)樵L問IAPI寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時(shí),將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢(shì)。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對(duì)Java程序員而言是API,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫接口模型。作為API,數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之有簡單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。

JDBC擴(kuò)展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁,而該applet使用的信企業(yè)或?qū)W校也可以用JDBC始使用Java編程語言,對(duì)從Java中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。MIS管理員們都喜歡Java和JDBC的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀蛶欤⒛鼙憬莸卮嫒⌒畔?,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。2.3.2.BDE開發(fā)數(shù)據(jù)庫BDE是負(fù)責(zé)用戶和數(shù)據(jù)庫交流的中間媒介。事實(shí)上,應(yīng)用程序是通過數(shù)據(jù)訪問組件和BDE連接,再由BDE去訪問并非直接操作BDE。這樣用戶只需關(guān)心JSP中的數(shù)據(jù)組件即可,不用直接和BDE打交道。數(shù)據(jù)庫組件主要分為兩類:“數(shù)據(jù)訪問組件”和“數(shù)據(jù)控制組件”,它們和數(shù)據(jù)庫的關(guān)系如圖2-1所示:圖2-1數(shù)據(jù)庫組件與數(shù)據(jù)庫關(guān)系圖其中,數(shù)據(jù)訪問組件在JSP組件面板的DataSQL組件“數(shù)據(jù)集組件”,用于和數(shù)據(jù)庫連接。這些組件功能如下:1.DataSource控件是數(shù)據(jù)集組件和數(shù)據(jù)控制組件的連接媒介。數(shù)有控件才能和數(shù)據(jù)集組件連接,從而對(duì)數(shù)據(jù)進(jìn)行顯示、修改、維護(hù)等操作。2.Table控件是通過數(shù)據(jù)庫引擎——BDE來存取數(shù)據(jù)庫中的數(shù)據(jù)的。通過BDE將用戶對(duì)數(shù)據(jù)庫的操作(如添加、刪除、修改等)傳遞給數(shù)據(jù)庫。3.Query控件是利用它只是采用了SQL來實(shí)現(xiàn)。4.Storedproc控件是通過BDE對(duì)服務(wù)器數(shù)據(jù)庫進(jìn)行操作的,常用于客戶/服務(wù)器(C/S)結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序。5.DataBase控件一般用于建立遠(yuǎn)程戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序和數(shù)據(jù)庫之間的連接。6.Session控件是用于控制數(shù)據(jù)庫應(yīng)用程主要用于復(fù)雜功能的實(shí)現(xiàn),例如:多線程數(shù)據(jù)庫程序設(shè)計(jì)。而數(shù)據(jù)控制組件也可以稱為數(shù)組件。它們的主要功能是與數(shù)據(jù)訪問組件相配合,提供給用戶一個(gè)對(duì)數(shù)據(jù)進(jìn)行瀏覽、編輯等操作的界面。數(shù)據(jù)控制組件在組件板上的頁上。2.4體系結(jié)構(gòu)2.4.1系統(tǒng)體系機(jī)構(gòu)的一般闡述MIS系統(tǒng)平臺(tái)結(jié)構(gòu)模式大體上分為4種:主機(jī)終端模式、文件服務(wù)器模式、客戶機(jī)/服務(wù)器模式(Clint/S而文件服務(wù)器模式由于硬件選擇有限,硬件投資得不到保證,已被逐步淘汰。而文件服務(wù)器模式只適合多,數(shù)據(jù)量大的情況就會(huì)產(chǎn)生網(wǎng)絡(luò)瓶頸,特別是在互聯(lián)網(wǎng)上不能滿足用戶要求。因此,現(xiàn)代企業(yè)或?qū)W校級(jí)平臺(tái)結(jié)構(gòu)模式應(yīng)主要考慮C/S模式和B/S模式。2.4.2C/S模式與B/S模式的比較分析C/S系統(tǒng)又被稱作分布式計(jì)算系統(tǒng)不像通常在基于小型機(jī)或基于主機(jī)的計(jì)算機(jī)系統(tǒng)(終端方式)中那樣在單個(gè)的計(jì)算機(jī)上發(fā)生,而是把程序的不同部分在多臺(tái)計(jì)算和顯示邏輯)存在于客戶端桌面計(jì)算機(jī)上??蛻?服務(wù)器系連接相互通信模戶端通過網(wǎng)絡(luò)向服務(wù)器發(fā)送SQL語句,服務(wù)器返回客戶端結(jié)果集。對(duì)于Client/Server模式而言,其主要特點(diǎn)為:1.具有成熟的設(shè)計(jì)開發(fā)方法和工具。經(jīng)過多年的研究和積累,各種可是化工具和編程語言來支持它的開發(fā)。相對(duì)而言,目前的基于Browse/Server模式的應(yīng)用及其開發(fā)方法仍然處于發(fā)展階段。2.交互性強(qiáng),界面友好。各個(gè)Client機(jī)上用戶和任務(wù)設(shè)計(jì),同時(shí)具有在線幫助和出錯(cuò)提示等輔助功能。這些優(yōu)勢(shì)是Browse/Server模式所不具備的。3.數(shù)據(jù)通信量小,安全性高。Client/Server模式中前后臺(tái)傳遞的僅僅是查詢請(qǐng)求SQL語言或查詢結(jié)果,Client/Server模式一般采用基于局域網(wǎng)點(diǎn)對(duì)點(diǎn)式的結(jié)構(gòu)和安全性較好的網(wǎng)絡(luò)協(xié)議,而Browse/Server是一種開放式的結(jié)構(gòu),面向眾多的用戶,其防火墻技術(shù)并不能完全屏蔽網(wǎng)絡(luò)黑客和內(nèi)部人員對(duì)系統(tǒng)的惡意侵襲。C/S模式主要由客戶應(yīng)用程序(Client)、服務(wù)器管理程序(Server)和中間件(middleware)三個(gè)部件組成。當(dāng)多個(gè)客戶并發(fā)地請(qǐng)求服務(wù)器上的相同資源時(shí),對(duì)這些資源進(jìn)行最優(yōu)化管理。中間件負(fù)責(zé)聯(lián)結(jié)客戶應(yīng)用程序與服務(wù)器管理程序,協(xié)同完成一個(gè)作業(yè),以滿足用戶查詢管理數(shù)據(jù)的要求。B/S模式即Brower/Server結(jié)構(gòu)模式,是基于Internet/Intranet的結(jié)構(gòu)模式,分為三層,第一層為表示層,用二層為具有ODBC接口要利用服務(wù)器完成客戶的應(yīng)用功能。第三層為數(shù)據(jù)層,根據(jù)客戶的請(qǐng)求獨(dú)立地進(jìn)行各種運(yùn)算。其主要特點(diǎn)為:1.其在邏輯上采用了3層結(jié)構(gòu),它加了一層WebServer層,所有的應(yīng)用程序模塊都安裝在它上面,在Browse上只需安裝一個(gè)通用的瀏覽器軟件,因此,這種模式簡化了客戶端,使用戶的操作更加方便。2.開放性好,Intranet/Internet完全兼容。3.擴(kuò)展性好,根據(jù)發(fā)展需要,可對(duì)系統(tǒng)隨時(shí)進(jìn)行擴(kuò)展,降低了系統(tǒng)的開發(fā)和維護(hù)的開銷2.4.3B/S模式的優(yōu)勢(shì)首先它簡化了客戶端。它使用戶的操作變得更簡單。對(duì)于C/S模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用層是操作層的人員都無需培訓(xùn),就可以直接使用。B/S模式的這種特性,還使MIS系統(tǒng)維護(hù)的限制因素更少。鑒于B/S相對(duì)于C/S的先進(jìn)性,B/S方案,基于Web的財(cái)務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)或?qū)W校已經(jīng)領(lǐng)先一步開始使用它,并且收到了一定的成效。B/S模式的新穎流行,和在某改進(jìn),使B/S成了MIS系統(tǒng)平臺(tái)的首選,也使人忽略了B/S不成熟的一面,以及C/S所固有的一些優(yōu)點(diǎn)。下面讓我們來看C/S相對(duì)于B/S的一些優(yōu)勢(shì)。2.5開發(fā)方法整體選擇根據(jù)用戶的實(shí)際情況和需要,最終決定使用JSP+SQL開發(fā),采用B/S結(jié)構(gòu),使用JDBC連接數(shù)據(jù)庫。這樣的好處是:1.使用JSP+SQL靈活方便,可擴(kuò)充性、可移植性較好。2.JDBC與SQL同為微軟開發(fā),兼容性好,同時(shí)存取效率高,且較成熟,目前許多數(shù)據(jù)庫應(yīng)用系統(tǒng)都采用這種方式。3.采用B/S結(jié)構(gòu)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。OLEDBJDBCApplication/BrowserJDBCOLEDBJDBCApplication/BrowserJDBCSQLDATA3系統(tǒng)分析3.1模塊設(shè)計(jì)該系統(tǒng)平臺(tái)從功能模塊上分為:員工信息管理、商品管理模塊、報(bào)廢申請(qǐng)管理、商品入庫模塊、出庫模塊、庫存管理等,員工用戶可以使用這個(gè)系統(tǒng)進(jìn)行食堂的入庫、出庫、庫存等信息進(jìn)行全面的管理。3.2功能模塊圖本題要開發(fā)的食堂管理系統(tǒng)的主要功能模塊如圖3-1所示:系統(tǒng)功能系統(tǒng)功能商品管理庫存管理員工商品出庫管理商品入庫管理商品入庫管理設(shè)備報(bào)廢申請(qǐng)庫存管理商品出庫管理商品采購管理商品采購管理報(bào)廢申請(qǐng)管理系統(tǒng)退出員工信息管理管理員設(shè)備報(bào)廢申請(qǐng)管理修改密碼圖3-1食堂管理系統(tǒng)功能模塊圖3.3數(shù)據(jù)庫設(shè)計(jì)概述計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)庫管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。3.4數(shù)據(jù)庫設(shè)計(jì)周期根據(jù)軟件工程的思想,數(shù)據(jù)庫設(shè)計(jì)的周期可以劃分為六個(gè)階段:規(guī)劃階段:確定開發(fā)的總目標(biāo),給出計(jì)劃開發(fā)的軟件系統(tǒng)的功能、性能以及可靠性等方面的設(shè)想。需求分析階段:認(rèn)真細(xì)致地了解用戶對(duì)數(shù)據(jù)的加工要求,確定系統(tǒng)的功能與邊界。本階段的最終結(jié)果能夠提供一個(gè)可作為設(shè)計(jì)基礎(chǔ)的系統(tǒng)說明書,包括對(duì)軟硬件環(huán)境的要求和一整套完善的數(shù)據(jù)流程圖。設(shè)計(jì)階段:把需求分析階段所確定的功能細(xì)化,主要工作是概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段,然后,對(duì)每個(gè)階段內(nèi)部設(shè)計(jì)詳細(xì)的流程。程序編制階段:以一種或幾種特定的程序設(shè)計(jì)語言表達(dá)上一階段確定的各模塊控制流程。程序編制時(shí)應(yīng)遵循結(jié)構(gòu)化程序設(shè)計(jì)方法。調(diào)試階段:對(duì)已編好的程序進(jìn)行單元調(diào)試(分調(diào)),整體調(diào)試(聯(lián)調(diào))和系統(tǒng)測(cè)試(驗(yàn)收)。3.5SQL查詢語言及使用JSP中的數(shù)據(jù)庫操作對(duì)象都提供了對(duì)SQL語句的支持。其一般的用法是以JSP的各種控件接收用戶對(duì)數(shù)據(jù)庫訪問的請(qǐng)求,在事件響應(yīng)程序代碼中將其轉(zhuǎn)換成對(duì)數(shù)據(jù)庫的SQL查詢語句,并以字符串的形式存在,然后將其傳遞給相應(yīng)的數(shù)據(jù)庫操作對(duì)象,最終完成對(duì)數(shù)據(jù)庫的訪問。3.6系統(tǒng)E-R圖分析E-R圖是識(shí)別功能模型與數(shù)據(jù)模型間關(guān)聯(lián)關(guān)系的,在主題數(shù)據(jù)庫的抽取和規(guī)范化的過程中,采用的是簡化的E-R圖表示方法,從而避免過繁過細(xì)的E-R圖表示影響規(guī)劃的直觀和可用性。構(gòu)成E-R圖的基本要素是實(shí)體型、屬性以及聯(lián)系,其表示方法為:實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名;屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來;聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊的旁邊標(biāo)上聯(lián)系的類型。針對(duì)本系統(tǒng)特點(diǎn),通過對(duì)食堂管理系統(tǒng)的分析,可以得出該系統(tǒng)涉及三個(gè)實(shí)體:管理員、食堂、員工。通過對(duì)各實(shí)體數(shù)據(jù)關(guān)系的整理,我們可以畫出如下E-R圖如圖3-2所示:庫存庫存入庫出庫入庫出庫生產(chǎn)生產(chǎn)管理員管理員圖3-2系統(tǒng)整體E-R圖系統(tǒng)中各個(gè)E-R圖如下所示:系統(tǒng)中詳細(xì)的E-R圖如下所示:(1)t_admin管理員實(shí)體圖圖3-3管理員實(shí)體圖(2)t_caigou采購實(shí)體圖圖3-4采購實(shí)體圖(3)t_chuku出庫實(shí)體圖圖3-5出庫實(shí)體圖(4)t_goods食堂商品實(shí)體圖圖3-6食堂商品實(shí)體圖(5)t_ruku入庫實(shí)體圖圖3-7入庫實(shí)體圖(6)t_baofeishenqing報(bào)廢申請(qǐng)實(shí)體圖圖3-8報(bào)廢申請(qǐng)實(shí)體圖(7)t_yuangong員工實(shí)體圖圖3-9員工實(shí)體圖3.7數(shù)據(jù)表設(shè)計(jì)表的設(shè)計(jì)是這次設(shè)計(jì)的一個(gè)核心內(nèi)容。根據(jù)前面對(duì)系統(tǒng)站各個(gè)權(quán)限用戶模塊的功能分析和對(duì)數(shù)據(jù)庫中實(shí)體關(guān)系的設(shè)計(jì),可以看到系統(tǒng)站中所用到的數(shù)據(jù)信息基本包括:管理員表、員工表表、出庫表、入庫表等。具體表信息如下:(1)t_admin管理員表管理員表主要存儲(chǔ)用戶id、用戶名、密碼信息,如表3-1所示:名稱數(shù)據(jù)類型備注userIdint用戶iduserNamevarchar(50)用戶名userPwvarchar(50)密碼(2)t_caigou采購表采購表主要存儲(chǔ)食堂id、時(shí)間、數(shù)量、單價(jià)、總價(jià)格、經(jīng)手人、備注、類型等信息,具體如表3-2所示:名稱數(shù)據(jù)類型備注idint主鍵goodsIdint食堂idshijianvarchar(50)時(shí)間shuliangint數(shù)量danjiaint單價(jià)zongjiageint總價(jià)格jingshourenvarchar(50)經(jīng)手人beizhuvarchar(5000)備注typevarchar(50)類型(3)t_chuku出庫表出庫表主要存儲(chǔ)出庫時(shí)間、出庫數(shù)量、總金額、經(jīng)手人等信息,如表3-3所示:名稱數(shù)據(jù)類型備注idint主鍵goodsIdint食堂商品idshijianvarchar(50)出庫時(shí)間shuliangint出庫數(shù)量zongjiageint總金額jingshourenvarchar(50)經(jīng)手人beizhuvarchar(50)備注delvarchar(50)是否刪除(4)t_goods食堂表食堂表主要存儲(chǔ)食堂名稱、產(chǎn)地、單位、規(guī)格、備注等信息,如表3-4所示:名稱數(shù)據(jù)類型備注idint主鍵namevarchar(50)食堂名稱chandivarchar(50)產(chǎn)地danweivarchar(50)單位guigevarchar(50)規(guī)格beizhuvarchar(50)備注delvarchar(50)是否刪除(5)t_ruku入庫表入庫表主要存儲(chǔ)食堂id、入庫時(shí)間、入庫數(shù)量、總金額、經(jīng)手人等信息,如表3-5所示:名稱數(shù)據(jù)類型備注idint主鍵goodsIdint食堂idshijianvarchar(50)入庫時(shí)間shuliangint入庫數(shù)量zongjiageint總金額jingshourenvarchar(50)經(jīng)手人beizhuvarchar(50)備注delvarchar(50)是否刪除(6)t_baofeishenqing報(bào)廢申請(qǐng)表報(bào)廢申請(qǐng)表主要存儲(chǔ)食堂id、損壞原因、狀態(tài)信息,如表3-6所示:名稱數(shù)據(jù)類型備注idint主鍵goodsIdint食堂設(shè)備idyuanyinchar(10)損壞原因zhuangtaivarchar(50)狀態(tài)(7)t_yuangong員工表員工表主要存儲(chǔ)員工姓名、性別、年齡、電話、住址、職位、權(quán)限等信息,如表3-7所示:名稱數(shù)據(jù)類型備注idint主鍵namevarchar(50)員工姓名sexvarchar(50)性別agevarchar(50)年齡telvarchar(50)電話addressvarchar(50)住址zhiweivarchar(50)職位quanxianint權(quán)限loginNamevarchar(50)登錄名loginPwvarchar(50)密碼delvarchar(50)是否刪除以上是系統(tǒng)中主要E-R和數(shù)據(jù)庫表。

4詳細(xì)設(shè)計(jì)4.1用戶登錄界面當(dāng)系統(tǒng)登陸時(shí),首先出現(xiàn)的是一個(gè)用戶權(quán)限登陸的界面,權(quán)限設(shè)置主要是維護(hù)系統(tǒng)的安全性和完整性。擁有管理員權(quán)限的操作員能對(duì)其他操作員進(jìn)行相應(yīng)的權(quán)限設(shè)置,沒有權(quán)限的操作員不能對(duì)相應(yīng)的窗口進(jìn)行操作。如圖4-1所示:圖4-1登錄主界面這是進(jìn)入系統(tǒng)時(shí)的身份驗(yàn)證,用戶首先要從軟件開發(fā)者那里申請(qǐng)用戶名和密碼,才可以進(jìn)入。該過程的流程圖如圖4-2所示:輸入姓名及口令輸入姓名及口令記錄在口令表嗎中進(jìn)入主界面繼續(xù)嗎結(jié)束開始提示信息NYN圖4-2登錄界面流程圖主要代碼如下: if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="select*fromt_adminwhereuserName=?anduserPw=?"; Object[]params={userName,md5.md5s(userPw)}; DBmydb=newDB(); mydb.doPstm(sql,params); try { ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } else { result="yes"; TAdminadmin=newTAdmin(); admin.setUserId(rs.getInt("userId")); admin.setUserName(rs.getString("userName")); admin.setUserPw(userPw);//數(shù)據(jù)庫的密碼是加密的。。這個(gè)地方不能用。用的話在后來的密碼修改不好實(shí)現(xiàn) WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",0); session.setAttribute("admin",admin); } rs.close(); } catch(SQLExceptione) { System.out.println("登錄失?。?); e.printStackTrace(); } finally { mydb.closed(); } } if(userType==1) { Stringsql="select*fromt_yuangongwhereloginName=?andloginPw=?"; Object[]params={userName,userPw}; DBmydb=newDB(); mydb.doPstm(sql,params); try { ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } else { result="yes"; Yuangongyuangong=newYuangong(); yuangong.setId(rs.getInt("id")); yuangong.setName(rs.getString("name")); yuangong.setSex(rs.getString("sex")); yuangong.setAge(rs.getString("age")); yuangong.setTel(rs.getString("tel")); yuangong.setAddress(rs.getString("address")); yuangong.setZhiwei(rs.getString("zhiwei")); yuangong.setQuanxian(rs.getInt("quanxian")); yuangong.setLoginName(rs.getString("loginName")); yuangong.setLoginPw(rs.getString("loginPw")); WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",1); session.setAttribute("yuangong",yuangong); } rs.close(); } catch(SQLExceptione) { System.out.println("登錄失??!"); e.printStackTrace(); } finally { mydb.closed(); } } if(userType==2) { } returnresult;4.2添加食堂商品信息身份驗(yàn)證通過以后,點(diǎn)擊可以使用系統(tǒng)的添加食堂信息管理界面,這是管理員主要的輸入信息部分,它即可以對(duì)數(shù)據(jù)進(jìn)行輸入。填寫好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對(duì)這些信息進(jìn)行處理。界面如圖4-3所示:圖4-3添加食堂商品信息界面主要代碼如下: /** *食堂商品信息添加 *@authorAdministrator * */ publicvoidgoodsAdd(HttpServletRequestreq,HttpServletResponseres) { Stringname=req.getParameter("name"); Stringchandi=req.getParameter("chandi"); Stringdanwei=req.getParameter("danwei"); Stringguige=req.getParameter("guige"); Stringbeizhu=req.getParameter("beizhu"); Stringsql="insertintot_goodsvalues(?,?,?,?,?,?)"; Object[]params={name,chandi,danwei,guige,beizhu,"no"}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","goods?type=goodsMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }4.3食堂商品信息管理點(diǎn)擊可以使用系統(tǒng)的食堂信息管理界面,這是管理員主要的輸入信息部分,它即可以對(duì)數(shù)據(jù)進(jìn)行輸入。填寫好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對(duì)這些信息進(jìn)行處理。界面如圖4-4所示:圖4-4食堂商品信息管理界面主要代碼如下: /** *食堂商品信息管理 *@authorAdministrator * */ publicvoidgoodsMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListgoodsList=newArrayList(); Stringsql="select*fromt_goodswheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tgoodsgoods=newTgoods(); goods.setId(rs.getInt("id")); goods.setName(rs.getString("name")); goods.setBeizhu(rs.getString("beizhu")); goods.setChandi(rs.getString("chandi")); goods.setDanwei(rs.getString("danwei")); goods.setGuige(rs.getString("guige")); goodsList.add(goods); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("goodsList",goodsList); req.getRequestDispatcher("admin/goods/goodsMana.jsp").forward(req,res); }4.4管理員設(shè)置本系統(tǒng)增加系統(tǒng)管理員以及修改當(dāng)前管理員密碼等功能。管理員密碼修改功能如圖4-5所示:圖4-5管理員密碼修改界面主要代碼如下: { result="yes"; TAdminadmin=newTAdmin(); admin.setUserId(rs.getInt("userId")); admin.setUserName(rs.getString("userName")); admin.setUserPw(userPw);//數(shù)據(jù)庫的密碼是加密的。。這個(gè)地方不能用。用的話在后來的密碼修改不好實(shí)現(xiàn) WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",0); session.setAttribute("admin",admin); }4.5食堂入庫管理點(diǎn)擊可以使用系統(tǒng)的食堂入庫信息管理界面,這是管理員主要的輸入信息部分,它即可以對(duì)數(shù)據(jù)進(jìn)行輸入。填寫好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對(duì)這些信息進(jìn)行處理。界面如圖4-6所示:圖4-6食堂入庫記錄界面主要代碼如下: /** *入庫信息添加 *@authorAdministrator * */ publicvoidrukuAdd(HttpServletRequestreq,HttpServletResponseres) { intgoodsId=Integer.parseInt(req.getParameter("goodsId")); Stringshijian=req.getParameter("shijian"); intshuliang=Integer.parseInt(req.getParameter("shuliang")); intzongjiage=Integer.parseInt(req.getParameter("zongjiage")); Stringjingshouren=req.getParameter("jingshouren"); Stringbeizhu=req.getParameter("beizhu"); Stringsql="insertintot_rukuvalues(?,?,?,?,?,?,?)"; Object[]params={goodsId,shijian,shuliang,zongjiage,jingshouren,beizhu,"no"}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","ruku?type=rukuMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res);4.6采購信息管理這是采購信息管理頁面。界面如圖4-7所示:圖4-7采購信息管理界面主要代碼如下: /** *采購錄入 *@authorAdministrator * */ publicvoidcaigouAdd(HttpServletRequestreq,HttpServletResponseres) { intgoodsId=Integer.parseInt(req.getParameter("goodsId")); Stringshijian=req.getParameter("shijian"); intshuliang=Integer.parseInt(req.getParameter("shuliang")); Stringdanjia=req.getParameter("danjia"); intzongjiage=Integer.parseInt(req.getParameter("zongjiage")); Stringjingshouren=req.getParameter("jingshouren"); Stringbeizhu=req.getParameter("beizhu"); Stringtype="caigou"; Stringsql="insertintot_caigouvalues(?,?,?,?,?,?,?,?)"; Object[]params={goodsId,shijian,shuliang,danjia,zongjiage,jingshouren,beizhu,type}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","caigou?type=caigouMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }

5系統(tǒng)調(diào)試與測(cè)試測(cè)測(cè)試用例的合理性對(duì)于軟件的測(cè)試與評(píng)估具有關(guān)鍵作用,而如何使設(shè)計(jì)的用例、合理并且典型有效并不容易。有針對(duì)性地研究實(shí)際操作環(huán)境并加以描述,形成合理的測(cè)試用例集。另一方面,軟件運(yùn)行環(huán)境的復(fù)雜程度對(duì)軟件評(píng)估具有重要作用,所以應(yīng)產(chǎn)生盡量逼真的運(yùn)行背景以便于研究。軟件測(cè)試的周期如圖6.1所示。需求分析需求分析系統(tǒng)設(shè)計(jì)編制程序單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試確認(rèn)測(cè)試使用維護(hù)測(cè)試階段開發(fā)階段圖6.1軟件測(cè)試周期示意圖5.1軟件測(cè)試的意義由于人們對(duì)于軟件質(zhì)量的重視程度越來越高,就導(dǎo)致了測(cè)試在軟件開發(fā)中的地位越來越重要。測(cè)試已經(jīng)不僅僅局限于軟件開發(fā)中的一個(gè)階段,它已經(jīng)開始貫穿于整個(gè)軟件開發(fā)過程,人們已經(jīng)開始認(rèn)識(shí)到:測(cè)試開始的時(shí)間越早,測(cè)試執(zhí)行越頻繁,所帶來的整個(gè)軟件開發(fā)成本的下降就會(huì)越多。極限編程(ExtremeProgramming,即XP)更是把測(cè)試推到了極限的位置,一切軟件開發(fā)活動(dòng)都要首先從編寫測(cè)試代碼開始。5.2程序的測(cè)試5.2.1測(cè)試的重要性及目的測(cè)試的重要性:軟件的測(cè)試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測(cè)試學(xué)僅處于運(yùn)行維護(hù)階段之前,即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測(cè)試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果不在早期階段進(jìn)行測(cè)試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測(cè)試的巨大困難。事實(shí)上,對(duì)于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語言、先進(jìn)的開發(fā)方式,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測(cè)試來找出,軟件中的錯(cuò)誤密度也需要測(cè)試來進(jìn)行估計(jì)。是軟件開發(fā)的重要部分。統(tǒng)計(jì)表明,在典型的軟件開發(fā)項(xiàng)目中,軟件測(cè)試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測(cè)試工作。在實(shí)踐中,軟件測(cè)試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測(cè)試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這包括:1.認(rèn)為測(cè)試工作不如設(shè)計(jì)和試人員某種成就感;2.以發(fā)現(xiàn)軟件錯(cuò)誤為目標(biāo)的測(cè)試是非建設(shè)性的,甚至是破壞性的,測(cè)試中發(fā)現(xiàn)錯(cuò)位是對(duì)責(zé)任者工作的一種否定;3.測(cè)試工作枯燥無味,不能引起人們的興趣;4.測(cè)試工作是艱苦而細(xì)致的工作;5.對(duì)自己編寫的程序盲目自信,在發(fā)現(xiàn)錯(cuò)誤后,顧慮別人對(duì)自己的開發(fā)能力的看法。這些觀點(diǎn)對(duì)軟件測(cè)試工作是極為不利的,必須澄清認(rèn)識(shí)、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。測(cè)試的目的:如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。1.軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;2.測(cè)試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤;首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤??梢詭椭?xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。改善測(cè)試的有效性。其次,沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。5.2.2測(cè)試的步驟與開發(fā)過程類似每個(gè)步驟在邏輯上是前一個(gè)步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成。因此,大型軟件系統(tǒng)的測(cè)試基本上由下述幾個(gè)步驟組成:1.模塊測(cè)試在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。2.系統(tǒng)測(cè)試在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說明中的錯(cuò)誤。3.驗(yàn)收測(cè)試在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯(cuò)誤。5.2.3測(cè)試的主要內(nèi)容為了保證測(cè)試的質(zhì)量,將測(cè)試過程分成幾個(gè)階段,即:代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。1.單元測(cè)試單元測(cè)試集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯(cuò)誤。2.集成測(cè)試集成測(cè)試是將模塊按照設(shè)計(jì)要求組裝起來同時(shí)進(jìn)行測(cè)試。如一個(gè)模塊與另一個(gè)模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預(yù)期的主功能;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。3.確認(rèn)測(cè)試確認(rèn)測(cè)試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。接口錯(cuò)誤也已經(jīng)基本排除了,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。5.3白盒測(cè)試可通過測(cè)試來檢測(cè)程序內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等。5.3.1集成測(cè)試集成測(cè)試(也叫組裝測(cè)試,聯(lián)合測(cè)試)是單元測(cè)試的邏輯擴(kuò)展。它的最簡單的形式是:兩個(gè)已經(jīng)測(cè)試過的單元組合成一個(gè)組件,組件是指多個(gè)單元的集成聚合。在現(xiàn)實(shí)方案中,許多單元組合成組件,方法是測(cè)試片段的組合,并最終擴(kuò)展進(jìn)程,將您的模塊與其他組的模塊一起測(cè)試。5.3.2功能測(cè)試(1)鏈接測(cè)試鏈接是Web應(yīng)用系統(tǒng)的一個(gè)主要特征,鏈接測(cè)試可分為三個(gè)方面。首先,測(cè)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該

溫馨提示

  • 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. 人人文庫網(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)論