jsp團(tuán)購(gòu)網(wǎng)站ssh論文_第1頁(yè)
jsp團(tuán)購(gòu)網(wǎng)站ssh論文_第2頁(yè)
jsp團(tuán)購(gòu)網(wǎng)站ssh論文_第3頁(yè)
jsp團(tuán)購(gòu)網(wǎng)站ssh論文_第4頁(yè)
jsp團(tuán)購(gòu)網(wǎng)站ssh論文_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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)介

摘要網(wǎng)絡(luò)團(tuán)購(gòu)是消費(fèi)者為滿足其特定需求,利用互聯(lián)網(wǎng)平臺(tái)便捷性的特點(diǎn),自發(fā)組團(tuán)、信息共享,共同采購(gòu),以降低交易成本和交易風(fēng)險(xiǎn),獲取產(chǎn)品價(jià)值最大化的一種理性行為。目前,網(wǎng)絡(luò)團(tuán)購(gòu)在國(guó)內(nèi)主要以同城團(tuán)購(gòu)為主,即發(fā)起人在網(wǎng)上召集有共同購(gòu)買意愿的團(tuán)眾,在線下組織見(jiàn)面交貨。本系統(tǒng)主要設(shè)計(jì)B/S模式的團(tuán)購(gòu)網(wǎng)站,實(shí)現(xiàn)團(tuán)購(gòu)網(wǎng)站的基本功能:用戶注冊(cè)登陸、團(tuán)購(gòu)信息介紹、今日?qǐng)F(tuán)購(gòu)信息、往日?qǐng)F(tuán)購(gòu)信息查詢、在線留言等功能關(guān)鍵字:團(tuán)購(gòu)網(wǎng),信息管理,JSP

AbstractConsumerstobuythenetworktomeettheirspecificneeds,easeofuseoftheInternetplatform,thecharacteristicsofspontaneousgroups,informationsharing,jointprocurementtoreducetransactioncostsandtradingrisk,accesstomaximizethevalueofaproductofrationalbehavior.Atpresent,mainlyinthedomesticnetworkbuybuycity-based,thatthepromotershaveacommononlinepurchaseintentiontoconvenethepubliccorporation,organizedunderthelinetomeetdelivery.

ThesystemdesignofB/Smodebuywebsitebuywebsitestoachievethebasicfunctions:userregistrationlogin,commodityclassification,buyinformationsheets,onlinebuy,onlineforums,onlinemessageandotherfunctionsKeywords:Customers,Informationmanagement,JSP

目錄1緒論 11.1選題背景 11.2管理信息系統(tǒng)簡(jiǎn)介 11.3計(jì)算機(jī)信息系統(tǒng)的發(fā)展 21.4管理信息系統(tǒng)的發(fā)展現(xiàn)狀 21.5開(kāi)發(fā)管理信息系統(tǒng)應(yīng)注意的問(wèn)題 31.6可行性分析 31.7系統(tǒng)開(kāi)發(fā)步驟 42開(kāi)發(fā)環(huán)境 52.1軟件工程介紹 52.2開(kāi)發(fā)環(huán)境及工具 52.1.1選擇JSP2.0作為開(kāi)發(fā)語(yǔ)言 52.2.3選擇SQL2000作為后臺(tái)數(shù)據(jù)庫(kù) 62.3JSP數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù) 62.3.1.JDBC開(kāi)發(fā)數(shù)據(jù)庫(kù) 62.3.2.BDE開(kāi)發(fā)數(shù)據(jù)庫(kù) 72.4體系結(jié)構(gòu) 82.4.1系統(tǒng)體系機(jī)構(gòu)的一般闡述 82.4.2C/S模式與B/S模式的比較分析 82.4.3B/S模式的優(yōu)勢(shì) 102.4.4C/S模式的優(yōu)勢(shì) 102.5開(kāi)發(fā)方法整體選擇 113系統(tǒng)分析 123.1模塊設(shè)計(jì) 123.2功能模塊圖 123.3數(shù)據(jù)庫(kù)設(shè)計(jì)概述 123.4數(shù)據(jù)庫(kù)設(shè)計(jì)周期 133.5SQL查詢語(yǔ)言及使用 143.6系統(tǒng)數(shù)據(jù)分析 143.7系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 154詳細(xì)設(shè)計(jì) 184.1用戶登錄界面 184.2添加團(tuán)購(gòu)信息 194.3團(tuán)購(gòu)商家管理 194.4管理員設(shè)置 204.5注冊(cè)會(huì)員管理 204.6會(huì)員信息管理 215系統(tǒng)調(diào)試與測(cè)試 225.1程序調(diào)試 225.2程序的測(cè)試 225.2.1測(cè)試的重要性及目的 225.2.2測(cè)試的步驟 235.2.3測(cè)試的主要內(nèi)容 236結(jié)論 25致謝 27參考文獻(xiàn) 28PAGE281緒論1.1選題背景隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,利用計(jì)算機(jī)實(shí)現(xiàn)團(tuán)購(gòu)網(wǎng)信息的管理勢(shì)在必行。目前團(tuán)購(gòu)網(wǎng)管理的借閱工作部分大多數(shù)還是手工管理,工作效率很低,并且不能及時(shí)了解團(tuán)購(gòu)網(wǎng)的種類和會(huì)員們比較需求的團(tuán)購(gòu)網(wǎng)等,不能更好的適應(yīng)當(dāng)前會(huì)員的借閱要求。手工管理還存在這許多弊端,由于不可避免的人為因素,造成數(shù)據(jù)的遺漏、誤報(bào)。計(jì)算機(jī)信息化管理有著儲(chǔ)存量大,速度快等許多優(yōu)點(diǎn),提供給我們的處理信息及時(shí)快捷,因此我們利用計(jì)算機(jī)提供給我們的信息對(duì)會(huì)員的借閱過(guò)程形成一整套動(dòng)態(tài)的管理能夠極大地提高團(tuán)購(gòu)網(wǎng)管理管理的效率,這也是團(tuán)購(gòu)網(wǎng)管理的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。1.2管理信息系統(tǒng)簡(jiǎn)介管理信息系統(tǒng)就是我們常說(shuō)的MIS(ManagementInformationSystem),在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中它變得越來(lái)越普及。MIS是一門新的學(xué)科,它跨越了若干個(gè)領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué),運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)以及計(jì)算機(jī)科學(xué)。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成一個(gè)縱橫交織的系統(tǒng)。管理信息系統(tǒng)是現(xiàn)代信息管理工作不可缺少的一部分,是適應(yīng)現(xiàn)代高團(tuán)購(gòu)網(wǎng)信息管理尺度的要求、推動(dòng)信息管理走向科學(xué)化、規(guī)范化的必要條件。只有信息管理規(guī)范了,才能給人們提供更好的生活環(huán)境及便利的生活空間。信息是管理上的一項(xiàng)極為重要的資源,管理工作的成敗取決于能否做出有效的決策,而決策的正確程度則在很大程度上取決于信息的質(zhì)量。在21世紀(jì),人類將步入知識(shí)經(jīng)濟(jì)時(shí)代,知識(shí)經(jīng)濟(jì)時(shí)代是團(tuán)購(gòu)網(wǎng)發(fā)展日新月異和知識(shí)、信息呈爆炸膨脹的時(shí)代。有所謂信息威脅之說(shuō),這是指人類面臨的要處理的信息量大到難以處理的地步,以至造成混亂的結(jié)果。計(jì)算機(jī)的出現(xiàn)解決了這個(gè)問(wèn)題,由于計(jì)算機(jī)迅速、準(zhǔn)確為信息收集、加工、使用、查詢提供可能。隨著以計(jì)算機(jī)技術(shù)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)為代表的現(xiàn)代信息技術(shù)的飛躍發(fā)展,人類正在從工業(yè)時(shí)代向信息時(shí)代邁進(jìn),人們?cè)絹?lái)越重視信息資源的開(kāi)發(fā)和利用,“信息化”已成為一個(gè)國(guó)家經(jīng)濟(jì)和社會(huì)發(fā)展的關(guān)鍵環(huán)節(jié),信息化水平的高低已成為衡量一個(gè)國(guó)家現(xiàn)代化水平和綜合國(guó)力的重要標(biāo)志。管理信息系統(tǒng)是一個(gè)由人和計(jì)算機(jī)等組成的,能進(jìn)行管理信息的收集、傳遞、加工、保存、維護(hù)和使用的系統(tǒng),它能實(shí)測(cè)國(guó)民經(jīng)濟(jì)和企業(yè)的行為、幫助實(shí)現(xiàn)其規(guī)劃目標(biāo)。管理信息系統(tǒng)功能包括:信息收集、信息存儲(chǔ)、問(wèn)題處理、對(duì)話及信息輸出、信息管理機(jī)構(gòu)。1.3計(jì)算機(jī)信息系統(tǒng)的發(fā)展從1945年美國(guó)第一臺(tái)電子會(huì)員積分計(jì)算機(jī)ENIAC誕生以來(lái),短短四、五十年,計(jì)算機(jī)技術(shù)發(fā)展異常迅速,應(yīng)用日益廣泛。從硬件上由電子管、晶體管、集成電路、大規(guī)模、超大規(guī)模集成,價(jià)格降低、可靠性增強(qiáng)。計(jì)算機(jī)尤其是微型計(jì)算機(jī)逐漸普及,從開(kāi)始4位微處理器的微型機(jī)到現(xiàn)今32位高檔微機(jī),主頻速度越來(lái)越快。隨著硬件的發(fā)展,軟件也不斷更新,由2進(jìn)制代碼到機(jī)器語(yǔ)言匯編語(yǔ)言、高級(jí)程序語(yǔ)言,到現(xiàn)今面對(duì)對(duì)象的非過(guò)程化語(yǔ)言,人們不必關(guān)心問(wèn)題的解法和計(jì)算過(guò)程描述,只需告訴它干什么,至于如何干,則由軟件自動(dòng)完成,這給軟件開(kāi)發(fā)人員帶來(lái)及大的便利。軟件開(kāi)發(fā)人員不必化大多時(shí)間和精力在描述程序的具體細(xì)節(jié)上,提高效率,減少手工編程中的誤差。計(jì)算機(jī)的應(yīng)用也由原先單純的數(shù)值計(jì)算,到數(shù)據(jù)處理如辦公自動(dòng)化,輔助教學(xué),工業(yè)的自動(dòng)控制、人工智能,可以說(shuō)滲透到生產(chǎn)生活的各個(gè)領(lǐng)域。計(jì)算機(jī)的應(yīng)用提高了效率,降低了成本,節(jié)省人力物力。但要發(fā)揮其巨大作用,還需提高人們的應(yīng)用水平。1.4管理信息系統(tǒng)的發(fā)展現(xiàn)狀現(xiàn)代社會(huì)、社會(huì)化趨勢(shì)的擴(kuò)大和社會(huì)產(chǎn)品需求使企業(yè)在生產(chǎn)經(jīng)營(yíng)活動(dòng)中涉及的內(nèi)外部信息積聚膨脹,隨著科學(xué)技術(shù)突飛猛進(jìn)和生產(chǎn)迅速發(fā)展,使人類知識(shí)量增長(zhǎng)速度不斷加快,信息量的增加,外部環(huán)境變化的變快,人工已無(wú)法勝任。如何收集足夠的信息資源,強(qiáng)有力的信息并加以利用,積極的開(kāi)發(fā)和及時(shí)利用信息爆炸有效的信息資源,已成為現(xiàn)代社會(huì)的難題。計(jì)算機(jī)的出現(xiàn)解決了這個(gè)問(wèn)題,由于計(jì)算機(jī)迅速、準(zhǔn)確為信息收集、加工、使用、查詢提供可能。計(jì)算機(jī)技術(shù)與通信技術(shù)結(jié)合極大的促進(jìn)現(xiàn)代信息技術(shù)的發(fā)展,各國(guó)加快信息進(jìn)程,國(guó)際社會(huì)建設(shè)信息高速公路的熱潮和中國(guó)工人“金”字號(hào)工程為代表的國(guó)家信息工程項(xiàng)目的開(kāi)展,使中國(guó)的企業(yè)信息化面臨新的形勢(shì)。電子計(jì)算機(jī)適應(yīng)現(xiàn)代社會(huì)管理信息量迅速增長(zhǎng),信息壽命短,要求及時(shí)轉(zhuǎn)換的問(wèn)題。信息系統(tǒng)由電子數(shù)據(jù)處理,信息報(bào)告系統(tǒng),決策支持系統(tǒng)進(jìn)一步發(fā)展到專家系統(tǒng)及支持領(lǐng)導(dǎo)層的決策執(zhí)行信息程序,在競(jìng)爭(zhēng)中支持戰(zhàn)略決策的戰(zhàn)略信息系統(tǒng)。當(dāng)今社會(huì)現(xiàn)代信息技術(shù)廣泛迅速的滲透到社會(huì)生活的各領(lǐng)域但目前在管理信息系統(tǒng)應(yīng)用還很不完善,屬于起步階段。計(jì)算機(jī)對(duì)管理工作的支持,不僅是數(shù)據(jù)處理、而且是輔助決策的工具,能夠從海量的信息中收集、整理,分析提供給管理者、決策有關(guān)的信息,相關(guān)的決策分析,甚至可和管理者交互對(duì)話,生成決策。目前各個(gè)行業(yè)的計(jì)算機(jī)處理信息管理,很大一部分仍停留在單項(xiàng)業(yè)務(wù)理,處在電子數(shù)據(jù)處理階段,各單位由事務(wù)處理到系統(tǒng)處理轉(zhuǎn)向支持系統(tǒng)還建立起真正的具有預(yù)測(cè)控制和支持決策功能的管理信息系統(tǒng)。雖然信息系統(tǒng)已有一定發(fā)展,在業(yè)務(wù)處理過(guò)程控制辦公自動(dòng)化方面已有長(zhǎng)足進(jìn)步,但很不完善。要充分利用計(jì)算機(jī)處理信息,必須從目前情況入手,著眼于未來(lái),開(kāi)發(fā)適合本單位、行業(yè)的小型管理系統(tǒng),甚至是其中一步分,如工資管理系統(tǒng),然后逐步完善,不斷擴(kuò)充。管理信息系統(tǒng)的特點(diǎn)之一就是數(shù)據(jù)集中統(tǒng)一,采用數(shù)據(jù)庫(kù)。利用數(shù)據(jù)庫(kù)技術(shù)可解決數(shù)據(jù)共享問(wèn)題。數(shù)據(jù)庫(kù)用一定數(shù)據(jù)模型組織數(shù)據(jù),使數(shù)據(jù)面向系統(tǒng),程序獨(dú)立于數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)獨(dú)立性,減少數(shù)據(jù)冗余和不一致性,且易編程、擴(kuò)充、移走。尤其20世紀(jì)70年代后期產(chǎn)生的分布式、面對(duì)對(duì)象數(shù)據(jù)庫(kù),使數(shù)據(jù)和數(shù)據(jù)操作方法作為對(duì)象由數(shù)據(jù)庫(kù)管理,系統(tǒng)更好用,減少出問(wèn)題的可能性.其屬性繼承性可在對(duì)象中共享數(shù)據(jù)和操作,極大的方便了用戶。總而言之管理信息系統(tǒng)是集科學(xué)化、計(jì)算機(jī)及系統(tǒng)方法為一體的綜合性邊緣性學(xué)科。1.5開(kāi)發(fā)管理信息系統(tǒng)應(yīng)注意的問(wèn)題成功地開(kāi)發(fā)一套管理信息系統(tǒng),不僅需要具備一定的理論基礎(chǔ),而且還需要對(duì)開(kāi)發(fā)過(guò)程中所面臨的問(wèn)題有一個(gè)充分、清醒的認(rèn)識(shí),例如:社會(huì)因素、文化背景、企業(yè)體制、起點(diǎn)環(huán)境等。特別是在中國(guó)當(dāng)前IT行業(yè)飛速發(fā)展的形勢(shì)下,更要強(qiáng)調(diào)這些方面對(duì)管理信息系統(tǒng)開(kāi)發(fā)的影響。1.6可行性分析經(jīng)濟(jì)可行性研究是對(duì)組織的經(jīng)濟(jì)現(xiàn)狀和投資能力進(jìn)行分析,對(duì)系統(tǒng)建設(shè)運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng)建成后可能取得的社會(huì)和經(jīng)濟(jì)效益進(jìn)行估計(jì)。由于公司XXXX團(tuán)購(gòu)網(wǎng)管理系統(tǒng)是作為畢業(yè)設(shè)計(jì)由我們會(huì)員自己開(kāi)發(fā)的,在經(jīng)濟(jì)上的投入甚微,系統(tǒng)建成之后將為今后實(shí)現(xiàn)公司團(tuán)購(gòu)網(wǎng)管理系統(tǒng)提供很大的方便,估算新系統(tǒng)的開(kāi)發(fā)費(fèi)用和今后的運(yùn)行、維護(hù)費(fèi)用,估計(jì)新系統(tǒng)將獲得的效益,并將費(fèi)用與效益進(jìn)行比較,看是否有利。開(kāi)發(fā)、運(yùn)行和維護(hù)費(fèi)用主要包括:購(gòu)買和安裝設(shè)備的費(fèi)用:計(jì)算機(jī)硬件、系統(tǒng)軟件、機(jī)房、電源、空調(diào)等;軟件開(kāi)發(fā)費(fèi)用:若由實(shí)習(xí)單位的技術(shù)人員開(kāi)發(fā),則該項(xiàng)費(fèi)用可以計(jì)入下面的人員費(fèi)用一項(xiàng);人員費(fèi)用:系統(tǒng)開(kāi)發(fā)人員、操作人員和維護(hù)人員的工資、培訓(xùn)費(fèi)用等;消耗品費(fèi)用:系統(tǒng)開(kāi)發(fā)所用材料、系統(tǒng)正常運(yùn)行所用消耗品,例如水、電費(fèi),打印紙、軟盤、色帶等開(kāi)支。技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開(kāi)發(fā)工作,軟硬件配置是否滿足開(kāi)發(fā)的需求等。團(tuán)購(gòu)網(wǎng)管理系統(tǒng)用的是JSP開(kāi)發(fā)語(yǔ)言,調(diào)試相對(duì)簡(jiǎn)單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開(kāi)發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開(kāi)發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前我們公司信息化技術(shù)已經(jīng)相當(dāng)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。根據(jù)新系統(tǒng)目標(biāo)來(lái)衡量所需的技術(shù)是否具備,一般可從硬件、軟件的性能要求、環(huán)境條件、技術(shù)人員水平和數(shù)量等方面去考慮和分析,其中開(kāi)發(fā)人員的技術(shù)力量應(yīng)首先考慮能力與水平,并考慮近期內(nèi)可以培養(yǎng)和發(fā)展的技術(shù)人員。運(yùn)行可行性對(duì)新系統(tǒng)運(yùn)行后給現(xiàn)行系統(tǒng)帶來(lái)的影響(包括組織機(jī)構(gòu)、管理方式、工作環(huán)境等)和后果進(jìn)行估計(jì)和評(píng)價(jià)。同時(shí)還應(yīng)考慮現(xiàn)有管理人員的培訓(xùn)、補(bǔ)充,分析在給定時(shí)間里能否完成預(yù)定的系統(tǒng)開(kāi)發(fā)任務(wù)等。

按上述三方面進(jìn)行可行性分析、研究后,就可整理并編制出新系統(tǒng)開(kāi)發(fā)的可行性報(bào)告,它是總體規(guī)劃工作的階段性成果。使用本系統(tǒng),能使公司加強(qiáng)對(duì)資金的管理,對(duì)其團(tuán)購(gòu)網(wǎng)中商品信息及時(shí)反饋。利于公司及時(shí)采取經(jīng)營(yíng)策略。本系統(tǒng)的開(kāi)發(fā),是典型的Mis開(kāi)發(fā),主要是對(duì)數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變換,及數(shù)據(jù)的各種報(bào)表形式的輸出。采用流行的JSP+SQLServer2000體系,已無(wú)技術(shù)上的問(wèn)題。1.7系統(tǒng)開(kāi)發(fā)步驟一般說(shuō)來(lái),管理信息系統(tǒng)的建立與應(yīng)用可以劃分成總體規(guī)劃、系統(tǒng)開(kāi)發(fā)和系統(tǒng)運(yùn)行三個(gè)階段,其中系統(tǒng)開(kāi)發(fā)階段還可進(jìn)一步分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施等工作環(huán)節(jié)。上述各個(gè)階段排列成一個(gè)嚴(yán)格的線性開(kāi)發(fā)序列,在每個(gè)工作階段均產(chǎn)生完整的技術(shù)文檔作為下一階段工作的指導(dǎo)和依據(jù),每一階段都應(yīng)對(duì)文檔進(jìn)行評(píng)審,確信該階段工作已完成并達(dá)到要求后才能進(jìn)入下一階段,同時(shí)在以后的工作中不能輕易改變前面經(jīng)過(guò)評(píng)審的成果。上述開(kāi)發(fā)方式的主要優(yōu)點(diǎn)是便于開(kāi)發(fā)工作的組織和管理,并且可大大降低管理信息系統(tǒng)開(kāi)發(fā)的復(fù)雜性。國(guó)內(nèi)外許多系統(tǒng)開(kāi)發(fā)的實(shí)例都證明這是一種行之有效的開(kāi)發(fā)方式。國(guó)外曾有人對(duì)一些軟件項(xiàng)目開(kāi)發(fā)各階段的工作量進(jìn)行了統(tǒng)計(jì),結(jié)果表明,在開(kāi)發(fā)過(guò)程中各工作階段所占全部工作量的比重分別達(dá)到系統(tǒng)分析:系統(tǒng)設(shè)計(jì):編程:模塊調(diào)試:系統(tǒng)調(diào)試=20%:15%:20%:25%:20%。由此可見(jiàn),程序編寫在開(kāi)發(fā)工作中只占很小比例,而調(diào)試工作卻占整個(gè)開(kāi)發(fā)工作量的一半左右,因此“系統(tǒng)開(kāi)發(fā)就是編程”的習(xí)慣說(shuō)法顯然是片面的。另?yè)?jù)統(tǒng)計(jì),在建立管理信息系統(tǒng)的三個(gè)階段中,總體規(guī)劃和系統(tǒng)開(kāi)發(fā)階段的工作量約占整個(gè)工作量的2/3,而運(yùn)行、維護(hù)階段要占1/3,這說(shuō)明一個(gè)管理信息系統(tǒng)開(kāi)發(fā)后,仍應(yīng)十分重視它的維護(hù)工作,以便使系統(tǒng)不斷完善并充分發(fā)揮其作用。2開(kāi)發(fā)環(huán)境2.1軟件工程介紹軟件工程是用科學(xué)知識(shí)和技術(shù)原理來(lái)定義、開(kāi)發(fā)、維護(hù)軟件的一門學(xué)科。它涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域,計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如何建造一個(gè)軟件系統(tǒng)。軟件工程在軟件開(kāi)發(fā)過(guò)程中占有不可動(dòng)搖的重要地位,一個(gè)軟件從開(kāi)始計(jì)劃起,到廢棄不用止,稱為軟件生存周期。一般來(lái)說(shuō),軟件生存周包括計(jì)劃、開(kāi)發(fā)、運(yùn)行三個(gè)時(shí)期,每一時(shí)期又可分為若干更小的階段。計(jì)劃時(shí)期的主要任務(wù)是分析用戶要求,分析新系統(tǒng)的主要目標(biāo)以及開(kāi)發(fā)該系統(tǒng)的可行性。開(kāi)發(fā)時(shí)期要完成設(shè)計(jì)和實(shí)現(xiàn)兩大任務(wù)具體。具體分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試。其中編碼和測(cè)試是軟件開(kāi)發(fā)期的最后兩個(gè)階段。運(yùn)行時(shí)期是軟件生存周期的最后一個(gè)時(shí)期,軟件人員在這一時(shí)期的工作,主要是做好軟件維護(hù)?!靶氯A書店團(tuán)購(gòu)網(wǎng)管理系統(tǒng)”雖然只是一個(gè)比較小的項(xiàng)目,但是為了做的更規(guī)范,也盡量按照軟件工程的指導(dǎo)來(lái)做,事實(shí)上,不管一個(gè)多小的工程,都是離不開(kāi)軟件工程的指導(dǎo)思想的。2.2開(kāi)發(fā)環(huán)境及工具2.1.1選擇JSP2.0作為開(kāi)發(fā)語(yǔ)言JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。

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

2.系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見(jiàn)的。

3.強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。4.多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。2.2.3選擇mysql作為后臺(tái)數(shù)據(jù)庫(kù)SMySQL是一個(gè)多用戶、多線程的SQL數(shù)據(jù)庫(kù),是一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的應(yīng)用,它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫(kù)組成。SQL(StructuredQueryLanguage結(jié)構(gòu)化查詢語(yǔ)言)是目前使用最廣的并且是標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)語(yǔ)言。SQL語(yǔ)言使得存取或更新信息變得十分容易,你可以直接使用SQL從網(wǎng)站上查詢信息。MySQL的快速和靈活性足以滿足一個(gè)網(wǎng)站的信息管理工作。數(shù)據(jù)庫(kù)與用戶端之間的接口程序可以使用CGI進(jìn)行通信。新網(wǎng)ChinaDNS使用的是PHP,使用PHP和MySQL這兩樣?xùn)|西加在一起,對(duì)于開(kāi)發(fā)數(shù)據(jù)驅(qū)動(dòng)的網(wǎng)站這項(xiàng)工作而言是最佳組合。PHP是一種用于服務(wù)器端執(zhí)行程序解釋的腳本語(yǔ)言。如果你接觸過(guò)ASP的話,那么您對(duì)于在HTML頁(yè)面中嵌入代碼應(yīng)該是比較熟悉了。PHP代碼在服務(wù)器一端被解釋、執(zhí)行并轉(zhuǎn)變成普通的HTML頁(yè)面內(nèi)容,送給瀏覽器一端。這種模式使得我們可以用它來(lái)完成相當(dāng)復(fù)雜的功能。MySQL的功能特點(diǎn)如下:1、可以同時(shí)處理幾乎不限數(shù)量的用戶;2、處理多達(dá)50,000,000以上的記錄;3、命令執(zhí)行速度快,也許是現(xiàn)今最快的;4、簡(jiǎn)單有效的用戶特權(quán)系統(tǒng)。5、數(shù)據(jù)類型字段支持大量數(shù)據(jù)類型是件好事。通常的整數(shù)、浮點(diǎn)數(shù)、字符串和數(shù)字均以多種長(zhǎng)度表示,并支持變長(zhǎng)的BLOB(BinaryLargeOBject)類型。對(duì)?br>字段由自動(dòng)增量選項(xiàng),日期時(shí)間字段也能很好的表示。MySQL與大多數(shù)其他數(shù)據(jù)庫(kù)系統(tǒng)不同的是提供兩個(gè)相對(duì)不常用的字段類型:ENUM和SET。ENUM是一個(gè)枚舉類型,非常類適于Pascal語(yǔ)言的枚舉類型,它允許程序員看到類似于'red、'green'、'blue'的字段值,而MySQL只將這些值存儲(chǔ)為一個(gè)字節(jié)。SET也是從Pascal借用的,它也是一個(gè)枚舉類型,但一個(gè)單獨(dú)字段一次可存儲(chǔ)多個(gè)值,這種存儲(chǔ)多個(gè)枚舉值的能力也許不會(huì)給你一些印象(并可能威脅第三范式定義),但正確使用SET和CONTAINS關(guān)鍵字可以省去很多表連接,能獲得很好的性能提高。6、SQL兼容性MySQL包含一些與SQL標(biāo)準(zhǔn)不同的轉(zhuǎn)變,他們的大多數(shù)被設(shè)計(jì)成是對(duì)SQL語(yǔ)言腳本語(yǔ)言的不足的一種補(bǔ)償。然而,另一些擴(kuò)展確實(shí)使MySQL與眾不同,例如,LINK子句搜索是自動(dòng)地忽略大小寫的。MySQL也允許用戶自定義的SQL函數(shù),換句話說(shuō),一個(gè)程序員可以編寫一個(gè)函數(shù)然后集成到MySQL中,并且其表現(xiàn)的與任何基本函數(shù)如SUM()或AVG()沒(méi)有什么不同。函數(shù)必須被編譯道一個(gè)共享庫(kù)文件中(.so文件),然后用一個(gè)LOADFUNCTION命令裝載。它也缺乏一些常用的SQL功能,沒(méi)有子選擇(在查詢中的查詢)。視圖(View)也沒(méi)了。當(dāng)然大多數(shù)子查詢可以用簡(jiǎn)單的連接(join)子句重寫,但有時(shí)用兩個(gè)嵌套的查詢思考問(wèn)題比一個(gè)大連接容易。同樣,視圖僅僅為程序員隱蔽where子句,但這正是程序員們期望的另一種便利。7、存儲(chǔ)過(guò)程和觸發(fā)器MySQL沒(méi)有一種存儲(chǔ)過(guò)程(StoredProcedure)語(yǔ)言,這是對(duì)習(xí)慣于企業(yè)級(jí)數(shù)據(jù)庫(kù)的程序員的最大限制。多語(yǔ)句SQL命令必須通過(guò)客戶方代碼來(lái)協(xié)調(diào),這種情形是借助于相當(dāng)健全的查詢語(yǔ)言和賦予客戶端鎖定和解鎖表的能力,這樣才允許的多語(yǔ)句運(yùn)行。8、參考完整性(ReferentialIntegrity-RI)MySQL的主要的缺陷之一是缺乏標(biāo)準(zhǔn)的RI機(jī)制;然而,MySQL的創(chuàng)造者也不是對(duì)其用戶的愿望置若罔聞,并且提供了一些解決辦法。其中之一是支持唯一索引。Rule限制的缺乏(在給釘字段域上的一種固定的范圍限制)通過(guò)大量的數(shù)據(jù)類型來(lái)補(bǔ)償。不簡(jiǎn)單地提供檢查約束(一個(gè)字段相對(duì)于同一行的另一個(gè)字段的之值的限制)、外部關(guān)鍵字和經(jīng)常與RI相關(guān)的“級(jí)聯(lián)刪除”功能。有趣的是,當(dāng)不支持這些功能時(shí),SQL分析器容忍這些語(yǔ)句的句法。這樣做目的是易于移植數(shù)據(jù)庫(kù)到MySQL中。這是一個(gè)很好的嘗試,并且它確實(shí)未來(lái)支持該功能留下方便之門;然而,那些沒(méi)有仔細(xì)閱讀文檔的的人可能誤以為這些功能實(shí)際上是存在的。9、安全性自始至終我對(duì)MySQL最大的抱怨是其安全系統(tǒng),它唯一的缺點(diǎn)是復(fù)雜而非標(biāo)準(zhǔn),另外只有到調(diào)用mysqladmin來(lái)重讀用戶權(quán)限時(shí)才發(fā)生改變。通常的SQLGRANT/REVOKE語(yǔ)句到最近的版本才被支持,但是至少他們現(xiàn)在有了。MySQL的編寫者廣泛地記載了其特定的安全性系統(tǒng),但是它確實(shí)需要一條可能是別無(wú)它法的學(xué)習(xí)過(guò)程。10、備份和恢復(fù)、數(shù)據(jù)導(dǎo)入/導(dǎo)出強(qiáng)制參考一致性的缺乏顯著地簡(jiǎn)化備份和恢復(fù),單靠數(shù)據(jù)導(dǎo)入/導(dǎo)出就可完美復(fù)制這一功能。LOADDATAINFILE命令給了數(shù)據(jù)導(dǎo)入很大的靈活性。SELECTINTO命令實(shí)現(xiàn)了數(shù)據(jù)導(dǎo)出的相等功能。另外,既然MySQL不使用原始的分區(qū),所有的數(shù)據(jù)庫(kù)數(shù)據(jù)能用一個(gè)文件系統(tǒng)備份保存。數(shù)據(jù)庫(kù)活動(dòng)能被記載。與通常的數(shù)據(jù)庫(kù)日志不同(存儲(chǔ)記錄變化或在記錄映像之前/之后),MySQL記載實(shí)際的SQL語(yǔ)句。這允許數(shù)據(jù)庫(kù)被恢復(fù)到失敗前的那一點(diǎn),但是不允許提交(commit)和回卷(rollback)操作。11、連接性MySQL客戶庫(kù)是客戶/服務(wù)器結(jié)構(gòu)的C語(yǔ)言庫(kù),它意味著一個(gè)客戶能查詢駐留在另一臺(tái)機(jī)器的一個(gè)數(shù)據(jù)庫(kù)。然而MySQL真正的強(qiáng)項(xiàng)處于該庫(kù)中的語(yǔ)言“包裝器(wrapper)”,Perl、Pathon和PHP只是一部分。Apache的Web服務(wù)器也有許多模塊例如目錄存取文件等允許各種各樣的Apache配置信息(例如目錄存取文件)使用MySQL,應(yīng)用程序接口簡(jiǎn)單、一致并且相但完整。另外、多平臺(tái)ODBC驅(qū)動(dòng)程序可自由獲得。12、未來(lái)MySQL的開(kāi)發(fā)繼續(xù)以快速進(jìn)行著。事實(shí)上,開(kāi)發(fā)步伐對(duì)大多數(shù)開(kāi)放源代碼是一種挑戰(zhàn)。本文提到的幾個(gè)抱怨中有很多新功能正在解決,然而,我將不對(duì)還沒(méi)確實(shí)存在的特征做評(píng)價(jià)。開(kāi)發(fā)者們向我表明了在未來(lái)的開(kāi)發(fā)中把增加查詢功能和提高查詢速度作為最高優(yōu)先級(jí)。13、總結(jié)Mysql是數(shù)據(jù)庫(kù)領(lǐng)域的中間派。它缺乏一個(gè)全功能數(shù)據(jù)庫(kù)的大多數(shù)主要特征,但是又有比類似Xbase記錄存儲(chǔ)引擎更多的特征。它象企業(yè)級(jí)RDBMS那樣需要一個(gè)積極的服務(wù)者守護(hù)程序,但是不能象他們那樣消費(fèi)資源。查詢語(yǔ)言允許復(fù)雜的連接(join)查詢,但是所有的參考完整必須由程序員強(qiáng)制保證。MySQL在Linux世界里找到一個(gè)位置-提供簡(jiǎn)潔和速度,同時(shí)仍然提供足夠的功能使程序員高興。數(shù)據(jù)庫(kù)程序員將喜歡其查詢功能和廣泛的客戶庫(kù),數(shù)據(jù)庫(kù)管理員會(huì)覺(jué)得系統(tǒng)缺乏主要數(shù)據(jù)庫(kù)功能,他們會(huì)發(fā)覺(jué)它對(duì)簡(jiǎn)單數(shù)據(jù)庫(kù)(在不能保證購(gòu)買大牌數(shù)據(jù)庫(kù)時(shí))是有價(jià)值的。2.3JSP數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)2.3.1.JDBC開(kāi)發(fā)數(shù)據(jù)庫(kù)JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫(kù)應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。

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

Java具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語(yǔ)言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而JDBC正是作為此種用途的機(jī)制。JDBC擴(kuò)展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁(yè),而該applet使用的信息可能來(lái)自遠(yuǎn)程數(shù)據(jù)庫(kù)企業(yè)也可以用JDBC通過(guò)Intranet將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中(即使這些職員所用的計(jì)算機(jī)有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來(lái)越多的程序員開(kāi)始使用Java編程語(yǔ)言,對(duì)從Java中便捷地訪問(wèn)數(shù)據(jù)庫(kù)的要求也在日益增加。MIS管理員們都喜歡Java和JDBC的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫(kù),并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫(kù)管理系統(tǒng)上。新程序的開(kāi)發(fā)期很短。安裝和版本控制將大為簡(jiǎn)化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。2.3.2.BDE開(kāi)發(fā)數(shù)據(jù)庫(kù)BDE是負(fù)責(zé)用戶和數(shù)據(jù)庫(kù)交流的中間媒介。事實(shí)上,應(yīng)用程序是通過(guò)數(shù)據(jù)訪問(wèn)組件和BDE連接,再由BDE去訪問(wèn)數(shù)據(jù)庫(kù),完成對(duì)數(shù)據(jù)庫(kù)的操作,而并非直接操作BDE。這樣用戶只需關(guān)心JSP中的數(shù)據(jù)組件即可,不用直接和BDE打交道。數(shù)據(jù)庫(kù)組件主要分為兩類:“數(shù)據(jù)訪問(wèn)組件”和“數(shù)據(jù)控制組件”,它們和數(shù)據(jù)庫(kù)的關(guān)系如圖2-1所示:圖2-1數(shù)據(jù)庫(kù)組件與數(shù)據(jù)庫(kù)關(guān)系圖其中,數(shù)據(jù)訪問(wèn)組件在JSP組件面板的DataSQL組件頁(yè)上。其中的Table、Query和Storedproc三個(gè)控件,它們稱為“數(shù)據(jù)集組件”,用于和數(shù)據(jù)庫(kù)連接。這些組件功能如下:1.DataSource控件是數(shù)據(jù)集組件和數(shù)據(jù)控制組件的連接媒介。數(shù)據(jù)控制組件是用戶操作數(shù)據(jù)庫(kù)中數(shù)據(jù)的界面,只有通過(guò)DataSource控件才能和數(shù)據(jù)集組件連接,從而對(duì)數(shù)據(jù)進(jìn)行顯示、修改、維護(hù)等操作。2.Table控件是通過(guò)數(shù)據(jù)庫(kù)引擎——BDE來(lái)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù)的。通過(guò)BDE將用戶對(duì)數(shù)據(jù)庫(kù)的操作(如添加、刪除、修改等)傳遞給數(shù)據(jù)庫(kù)。3.Query控件是利用SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言)通過(guò)BDE來(lái)操作數(shù)據(jù)庫(kù)的,和Table控件完成的功能相似,它只是采用了SQL來(lái)實(shí)現(xiàn)。4.Storedproc控件是通過(guò)BDE對(duì)服務(wù)器數(shù)據(jù)庫(kù)進(jìn)行操作的,常用于客戶/服務(wù)器(C/S)結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用程序。5.DataBase控件一般用于建立遠(yuǎn)程的數(shù)據(jù)庫(kù)服務(wù)器——客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用程序和數(shù)據(jù)庫(kù)之間的連接。6.Session控件是用于控制數(shù)據(jù)庫(kù)應(yīng)用程序和數(shù)據(jù)庫(kù)連接的,主要用于復(fù)雜功能的實(shí)現(xiàn),例如:多線程數(shù)據(jù)庫(kù)程序設(shè)計(jì)。而數(shù)據(jù)控制組件也可以稱為數(shù)據(jù)顯示組件或數(shù)據(jù)瀏覽組件。它們的主要功能是與數(shù)據(jù)訪問(wèn)組件相配合,提供給用戶一個(gè)對(duì)數(shù)據(jù)進(jìn)行瀏覽、編輯等操作的界面。數(shù)據(jù)控制組件在組件板上的DataControl頁(yè)上。從上圖可以看出,BDE負(fù)責(zé)與具體的數(shù)據(jù)庫(kù)相連,通過(guò)BDE,幾乎可以操作目前所有類型的數(shù)據(jù)庫(kù)。但是BDE也有很大的缺點(diǎn),當(dāng)然,在對(duì)于一些比較簡(jiǎn)單的數(shù)據(jù)庫(kù),例如ASCII,BDE可以直接訪問(wèn)。另外它也可以通過(guò)一些相應(yīng)的驅(qū)動(dòng),訪問(wèn)特定的數(shù)據(jù)庫(kù),例如通過(guò)DAO訪問(wèn)SQL數(shù)據(jù)庫(kù)。不同類型的驅(qū)動(dòng)程序都具有不同的特征,主要是表現(xiàn)在:數(shù)據(jù)庫(kù)的安全性,事務(wù),數(shù)據(jù)字典和完整性驗(yàn)證,存儲(chǔ)過(guò)程和觸發(fā)器。對(duì)于不能直接支持的數(shù)據(jù)庫(kù),BDE還可以連接到ODBC,通過(guò)ODBC進(jìn)行訪問(wèn),所以BDE有時(shí)效率很低。在JSP提供的所有數(shù)據(jù)庫(kù)訪問(wèn)方式中,BDE的歷史最長(zhǎng),因此提供的功能也最多,包括大量的和數(shù)據(jù)庫(kù)交互的API。使用它訪問(wèn)PARJDBCX和DBASE時(shí)效率最高。同時(shí),針對(duì)Oracle的訪問(wèn)也有專門的優(yōu)化,效率也最高。JSP目前正逐步放棄BDE,已經(jīng)不再為BDE增加新的功能,只是對(duì)現(xiàn)有的功能進(jìn)行維護(hù),排除BUG。BDE包含如下組件:TDATABASE,TTABLE,TQUERY,TSTOREDPROC,TSESSION,TBATCHMOVE,TUPDATESQL,TNESTEDTABLE。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/Server,簡(jiǎn)稱C/S)、web瀏覽器/服務(wù)器模式(Browser/Server,簡(jiǎn)稱B/S)。主機(jī)終端模式由于硬件選擇有限,已被逐步淘汰。而文件服務(wù)器模式由于硬件選擇有限,硬件投資得不到保證,已被逐步淘汰。而文件服務(wù)器模式只適合小規(guī)模的局域網(wǎng),對(duì)于用戶多,數(shù)據(jù)量大的情況就會(huì)產(chǎn)生網(wǎng)絡(luò)瓶頸,特別是在互聯(lián)網(wǎng)上不能滿足用戶要求。因此,現(xiàn)代企業(yè)級(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),它的含義是程序的數(shù)據(jù)處理并不像通常在基于小型機(jī)或基于主機(jī)的計(jì)算機(jī)系統(tǒng)(終端方式)中那樣在單個(gè)的計(jì)算機(jī)上發(fā)生,而是把程序的不同部分在多臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行。例如,對(duì)于SQLServer來(lái)講,將數(shù)據(jù)存放在服務(wù)器計(jì)算機(jī)上,客戶端界面作為程序的另一部分(完成商業(yè)邏輯和顯示邏輯)存在于客戶端桌面計(jì)算機(jī)上??蛻?服務(wù)器系統(tǒng)的這兩個(gè)部件通過(guò)網(wǎng)絡(luò)連接相互通信,并且可以擴(kuò)展到任意規(guī)模。SQLServer是一個(gè)真正的客戶/服務(wù)器關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。它使企業(yè)可以設(shè)計(jì)出能夠滿足不斷改變的信息需求的分布式數(shù)據(jù)庫(kù)系統(tǒng)??蛻舳送ㄟ^(guò)網(wǎng)絡(luò)向服務(wù)器發(fā)送SQL語(yǔ)句,服務(wù)器返回客戶端結(jié)果集。對(duì)于Client/Server模式而言,其主要特點(diǎn)為:1.具有成熟的設(shè)計(jì)開(kāi)發(fā)方法和工具。經(jīng)過(guò)多年的研究和積累,基于Client/Server模式的系統(tǒng)設(shè)計(jì)開(kāi)發(fā)方法已被用戶所熟悉和掌握。并且,眾多的數(shù)據(jù)庫(kù)和軟件生產(chǎn)商提供了各種可是化工具和編程語(yǔ)言來(lái)支持它的開(kāi)發(fā)。相對(duì)而言,目前的基于Browse/Server模式的應(yīng)用及其開(kāi)發(fā)方法仍然處于發(fā)展階段。2.交互性強(qiáng),界面友好。各個(gè)Client機(jī)上運(yùn)行的應(yīng)用程序是針對(duì)待定的用戶和任務(wù)設(shè)計(jì),同時(shí)具有在線幫助和出錯(cuò)提示等輔助功能。這些優(yōu)勢(shì)是Browse/Server模式所不具備的。3.數(shù)據(jù)通信量小,安全性高。Client/Server模式中前后臺(tái)傳遞的僅僅是查詢請(qǐng)求SQL語(yǔ)言或查詢結(jié)果,而不象Browse/Server模式中在前臺(tái)的Browse和后臺(tái)Server之間傳遞程序或主頁(yè)模塊:Client/Server模式一般采用基于局域網(wǎng)點(diǎn)對(duì)點(diǎn)式的結(jié)構(gòu)和安全性較好的網(wǎng)絡(luò)協(xié)議,而B(niǎo)rowse/Server是一種開(kāi)放式的結(jié)構(gòu),面向眾多的用戶,其防火墻技術(shù)并不能完全屏蔽網(wǎng)絡(luò)黑客和內(nèi)部人員對(duì)系統(tǒng)的惡意侵襲。C/S模式主要由客戶應(yīng)用程序(Client)、服務(wù)器管理程序(Server)和中間件(middleware)三個(gè)部件組成??蛻魬?yīng)用程序是系統(tǒng)中用戶與數(shù)據(jù)進(jìn)行交互的部件。服務(wù)器程序負(fù)責(zé)有效地管理系統(tǒng)資源,如管理一個(gè)信息數(shù)據(jù)庫(kù),其主要工作是當(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)模式,分為三層,第一層為表示層,用戶通過(guò)瀏覽器完成和后臺(tái)的交互及最終查詢結(jié)果的輸出功能。第二層為具有ODBC接口的WEB服務(wù)器,屬功能層,主要利用服務(wù)器完成客戶的應(yīng)用功能。第三層為數(shù)據(jù)層,根據(jù)客戶的請(qǐng)求獨(dú)立地進(jìn)行各種運(yùn)算。即前臺(tái)客戶端采用瀏覽器,中間件服務(wù)器為Web服務(wù)器,后臺(tái)為數(shù)據(jù)庫(kù)服務(wù)器。此種結(jié)構(gòu)由客戶端在Web頁(yè)面發(fā)出請(qǐng)求至WebSever,再由WebSever向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出請(qǐng)求,而最后中間件服務(wù)器接受到數(shù)據(jù)庫(kù)服務(wù)器的應(yīng)答后,最終返回給客戶端的仍然是頁(yè)面形式。這樣實(shí)現(xiàn)了客戶端不直接和數(shù)據(jù)庫(kù)服務(wù)器發(fā)生關(guān)系,保證了數(shù)據(jù)安全性。對(duì)Browse/Server模式而言,其主要特點(diǎn)為:1.其在邏輯上采用了3層結(jié)構(gòu),它在前臺(tái)Browse和后臺(tái)Server之間增加了一層WebServer層,所有的應(yīng)用程序模塊都安裝在它上面,在Browse上只需安裝一個(gè)通用的瀏覽器軟件,因此,這種模式簡(jiǎn)化了客戶端,使用戶的操作更加方便。2.開(kāi)放性好,Intranet/Intenet完全兼容。3.擴(kuò)展性好,根據(jù)發(fā)展需要,可對(duì)系統(tǒng)隨時(shí)進(jìn)行擴(kuò)展,降低了系統(tǒng)的開(kāi)發(fā)和維護(hù)的開(kāi)銷2.4.3B/S模式的優(yōu)勢(shì)首先它簡(jiǎn)化了客戶端。它無(wú)需象C/S模式那樣在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過(guò)程更加簡(jiǎn)便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。再次,它使用戶的操作變得更簡(jiǎn)單。對(duì)于C/S模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用B/S模式時(shí),客戶端只是一個(gè)簡(jiǎn)單易用的瀏覽器軟件。無(wú)論是決策層還是操作層的人員都無(wú)需培訓(xùn),就可以直接使用。B/S模式的這種特性,還使MIS系統(tǒng)維護(hù)的限制因素更少。最后,B/S特別適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的MIS的功能有所擴(kuò)展。這是C/S所無(wú)法實(shí)現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的大部分書面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡(jiǎn)化,節(jié)省人力物力。鑒于B/S相對(duì)于C/S的先進(jìn)性,B/S逐漸成為一種流行的MIS系統(tǒng)平臺(tái)。各軟件公司紛紛推出自己的Internet方案,基于Web的財(cái)務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領(lǐng)先一步開(kāi)始使用它,并且收到了一定的成效。B/S模式的新穎與流行,和在某些方面相對(duì)于C/S的巨大改進(jìn),使B/S成了MIS系統(tǒng)平臺(tái)的首選,也使人忽略了B/S不成熟的一面,以及C/S所固有的一些優(yōu)點(diǎn)。下面讓我們來(lái)看C/S相對(duì)于B/S的一些優(yōu)勢(shì)。2.4.4C/S模式的優(yōu)勢(shì)首先,交互性強(qiáng)是C/S固有的一個(gè)優(yōu)點(diǎn)。在C/S中,客戶端有一套完整的應(yīng)用程序,在出錯(cuò)提示、在線幫助等方面都有強(qiáng)大的功能,并且可以在子程序間自由切換。B/S雖然由JavaScript、JSPScript提供了一定的交互能力,但與C/S的一整套客戶應(yīng)用相比是太有限了。其次,C/S模式提供了更安全的存取模式。由于C/S是配對(duì)的點(diǎn)對(duì)點(diǎn)的結(jié)構(gòu)模式,采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡(luò)協(xié)議(例如:NT的NetBEUI協(xié)議),安全性可以得到較好的保證。而B(niǎo)/S采用點(diǎn)對(duì)多點(diǎn)、多點(diǎn)對(duì)多點(diǎn)這種開(kāi)放的結(jié)構(gòu)模式,并采用TCP/IP這一類運(yùn)用于Internet的開(kāi)放性協(xié)議,其安全性只能靠數(shù)據(jù)服務(wù)器上管理密碼的數(shù)據(jù)庫(kù)來(lái)保證。現(xiàn)代企業(yè)需要有開(kāi)放的信息環(huán)境,需要加強(qiáng)與外界的聯(lián)系,有的還需要通過(guò)Internet發(fā)展網(wǎng)上營(yíng)銷業(yè)務(wù),這使得大多數(shù)企業(yè)將他們的內(nèi)部網(wǎng)與Internet相連。由于采用TCP/IP,他們必須采用一系列的安全措施,如構(gòu)筑防火墻,來(lái)防止Internet的用戶對(duì)企業(yè)內(nèi)部信息的竊取以及外界病毒的侵入。最后,采用C/S模式將降低網(wǎng)絡(luò)通信量。B/S采用了邏輯上的三層結(jié)構(gòu),而在物理上的網(wǎng)絡(luò)結(jié)構(gòu)仍然是原來(lái)的以太網(wǎng)或環(huán)形網(wǎng)。這樣,第一層與第二層結(jié)構(gòu)之間的通信、第二層與第三層結(jié)構(gòu)之間的通信都需占用同一條網(wǎng)絡(luò)線路。而C/S只有兩層結(jié)構(gòu),網(wǎng)絡(luò)通信量只包括Client與Server之間的通信量。所以,C/S處理大量信息的能力是B/S所無(wú)法比擬的。2.5開(kāi)發(fā)方法整體選擇根據(jù)用戶的實(shí)際情況和需要,最終決定采用在Windowsxp下使用JSP+SQL開(kāi)發(fā),采用B/S結(jié)構(gòu),使用JDBC連接數(shù)據(jù)庫(kù)。這樣的好處是:1.使用JSP+SQL靈活方便,可擴(kuò)充性、可移植性較好。2.JDBC與SQL同為微軟開(kāi)發(fā),兼容性好,同時(shí)存取效率高,且較成熟,目前許多數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)都采用這種方式。3.采用B/S結(jié)構(gòu)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。JDBC是Microsoft主要數(shù)據(jù)存儲(chǔ)技術(shù),JDBC主要讓應(yīng)用程序或WEB應(yīng)用程序存取各種不同的數(shù)據(jù)源。JDBC封裝了OLE-DB復(fù)雜的接口,以極為簡(jiǎn)單的COM接口存儲(chǔ)數(shù)據(jù),簡(jiǎn)化了程序員數(shù)據(jù)存取的工作。JDBC架構(gòu)圖如圖2-2所示:OLEDBOLEDBJDBCApplication/BrowserJDBCSQLDATA圖2-2JDBC架構(gòu)圖3系統(tǒng)分析3.1模塊設(shè)計(jì)該系統(tǒng)平臺(tái)從功能模塊上分為五大模塊:團(tuán)購(gòu)商品管理模塊、商品查詢模塊,會(huì)員管理模塊和基礎(chǔ)維護(hù)模塊,普通用戶可以使用這個(gè)系統(tǒng)進(jìn)行注冊(cè)、查詢、購(gòu)買,而系統(tǒng)的管理員可以對(duì)商品的類別和詳細(xì)信息進(jìn)行全面的管理,以及查詢用戶的購(gòu)買情況,,還可以對(duì)系統(tǒng)的信息進(jìn)行管理。前臺(tái):今日?qǐng)F(tuán)購(gòu):對(duì)日期在今日的商品信息進(jìn)行團(tuán)購(gòu)信息的發(fā)布。往期團(tuán)購(gòu):對(duì)以往的商品信息進(jìn)行團(tuán)購(gòu)信息的發(fā)布。用戶注冊(cè):對(duì)用戶信息進(jìn)行管理,注冊(cè)等。我的信息:查看我的個(gè)人信息,并可以在線修改。網(wǎng)站留言板:對(duì)網(wǎng)站提出一些意見(jiàn)和建議,并進(jìn)行留言。商品評(píng)價(jià):對(duì)網(wǎng)站的團(tuán)購(gòu)商品進(jìn)行評(píng)價(jià)。后臺(tái)管理:個(gè)人信息管理:對(duì)個(gè)人信息的密碼等進(jìn)行修改設(shè)置。團(tuán)購(gòu)商品管理:對(duì)商品的團(tuán)購(gòu)信息進(jìn)行添加以及對(duì)團(tuán)購(gòu)信息進(jìn)行管理。會(huì)員訂單管理:對(duì)注冊(cè)的會(huì)員信息進(jìn)行管理。并對(duì)用夠購(gòu)買商品的訂單進(jìn)行管理。系統(tǒng)公告管理:對(duì)系統(tǒng)的公告信息進(jìn)行添加以及對(duì)公告信息進(jìn)行管理。留言板:對(duì)網(wǎng)站的留言板信息進(jìn)行在線的修改管理。商品評(píng)價(jià)管理:對(duì)前臺(tái)用戶的評(píng)價(jià)信息進(jìn)行查看,并可以刪除評(píng)價(jià)信息。3.2功能模塊圖本題要開(kāi)發(fā)的團(tuán)購(gòu)網(wǎng)站系統(tǒng)的主要功能模塊如圖3-1所示:團(tuán)購(gòu)網(wǎng)站系統(tǒng)用戶注冊(cè)登陸系統(tǒng)功能模塊商品查詢功能模塊團(tuán)購(gòu)商品管理模塊團(tuán)購(gòu)商品信息評(píng)價(jià)管理團(tuán)購(gòu)網(wǎng)站系統(tǒng)用戶注冊(cè)登陸系統(tǒng)功能模塊商品查詢功能模塊團(tuán)購(gòu)商品管理模塊團(tuán)購(gòu)商品信息評(píng)價(jià)管理留言公共管理模塊會(huì)員管理模塊圖3-1團(tuán)購(gòu)網(wǎng)館管理系統(tǒng)平臺(tái)各個(gè)功能模塊圖3.3數(shù)據(jù)庫(kù)設(shè)計(jì)概述計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。對(duì)于數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員來(lái)說(shuō),為使現(xiàn)實(shí)世界的信息流計(jì)算機(jī)化,并對(duì)計(jì)算機(jī)化的信息進(jìn)行各種操作,就是如何利用數(shù)據(jù)庫(kù)管理系統(tǒng)、系統(tǒng)軟件和相關(guān)硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫(kù)結(jié)構(gòu)易于實(shí)現(xiàn)用戶新的要求的過(guò)程。確切的說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫(kù)。3.4數(shù)據(jù)庫(kù)設(shè)計(jì)周期根據(jù)軟件工程的思想,數(shù)據(jù)庫(kù)設(shè)計(jì)的周期可以劃分為六個(gè)階段:規(guī)劃階段:確定開(kāi)發(fā)的總目標(biāo),給出計(jì)劃開(kāi)發(fā)的軟件系統(tǒng)的功能、性能以及可靠性等方面的設(shè)想。需求分析階段:認(rèn)真細(xì)致地了解用戶對(duì)數(shù)據(jù)的加工要求,確定系統(tǒng)的功能與邊界。本階段的最終結(jié)果能夠提供一個(gè)可作為設(shè)計(jì)基礎(chǔ)的系統(tǒng)說(shuō)明書,包括對(duì)軟硬件環(huán)境的要求和一整套完善的數(shù)據(jù)流程圖。設(shè)計(jì)階段:把需求分析階段所確定的功能細(xì)化,主要工作是概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段,然后,對(duì)每個(gè)階段內(nèi)部設(shè)計(jì)詳細(xì)的流程。程序編制階段:以一種或幾種特定的程序設(shè)計(jì)語(yǔ)言表達(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)收)。運(yùn)行和維護(hù)階段:是整個(gè)設(shè)計(jì)周期最長(zhǎng)的階段,其工作重點(diǎn)是收集和記錄系統(tǒng)實(shí)際運(yùn)行的數(shù)據(jù)。在運(yùn)行中,必須保持?jǐn)?shù)據(jù)庫(kù)的完整性,必須有效地處理數(shù)據(jù)故障和進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。同時(shí)解決開(kāi)發(fā)過(guò)程的遺留問(wèn)題,改正錯(cuò)誤進(jìn)行功能完善。數(shù)據(jù)是系統(tǒng)的靈魂所在,整個(gè)系統(tǒng)的運(yùn)行基礎(chǔ)是系統(tǒng)數(shù)據(jù)庫(kù),因而數(shù)據(jù)庫(kù)的設(shè)計(jì)質(zhì)量對(duì)整個(gè)系統(tǒng)的功能與效率有很大影響,所以我們?cè)谶M(jìn)行數(shù)據(jù)文件和數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),充分考慮了數(shù)據(jù)存儲(chǔ)的完整性、可靠性、安全性和數(shù)據(jù)的一致性及便于操作等方面的問(wèn)題。一個(gè)完整的信息系統(tǒng)的建設(shè)并不是一步到位的。在實(shí)際的建設(shè)過(guò)程中,在時(shí)間上各子系統(tǒng)有先建、后建之分,在開(kāi)發(fā)人員的分配上有他建、我建之別,這就涉及到各子系統(tǒng)之間的兼容問(wèn)題。在現(xiàn)有的軟件水平下,追求應(yīng)用系統(tǒng)間的相互兼容存在困難,但對(duì)于數(shù)據(jù)的兼容也就是數(shù)據(jù)的共享來(lái)說(shuō),既非常重要,又相對(duì)應(yīng)用系統(tǒng)的兼容較易實(shí)現(xiàn)。在提高數(shù)據(jù)共享性方面,可主要從數(shù)據(jù)的一致性方面來(lái)考慮。在我們的數(shù)據(jù)庫(kù)系統(tǒng)建設(shè)中,著重考慮了以下兩個(gè)標(biāo)準(zhǔn)保證數(shù)據(jù)的一致性:字段標(biāo)準(zhǔn):字段標(biāo)準(zhǔn)不統(tǒng)一是造成數(shù)據(jù)庫(kù)難以共享的一個(gè)主要原因,因?yàn)樽侄蔚脑O(shè)計(jì)處于數(shù)據(jù)庫(kù)設(shè)計(jì)的最底層,或者可以說(shuō)是最基本的一層,如果這一層都不能統(tǒng)一的話,會(huì)直接影響到數(shù)據(jù)庫(kù)中數(shù)據(jù)的共享。代碼標(biāo)準(zhǔn):代碼的引入為保持?jǐn)?shù)據(jù)庫(kù)中數(shù)據(jù)的一致性提供了一個(gè)重要手段。

此外本數(shù)據(jù)庫(kù)設(shè)計(jì)主要遵循以下原則:數(shù)據(jù)庫(kù)文件的實(shí)用性,數(shù)據(jù)庫(kù)文件的安全性,數(shù)據(jù)庫(kù)文件的獨(dú)立性,節(jié)省磁盤空間。數(shù)據(jù)庫(kù)設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境(DBMS)中,通過(guò)合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫(kù)模式、子模式,建立數(shù)據(jù)庫(kù)和設(shè)計(jì)應(yīng)用程序,滿足用戶的各種信息需求。物理結(jié)構(gòu)設(shè)計(jì)的原則如下:1.盡可能的減少數(shù)據(jù)冗余和重復(fù)。2.結(jié)構(gòu)設(shè)計(jì)與操作設(shè)計(jì)相結(jié)合。

3.數(shù)據(jù)結(jié)構(gòu)具有相對(duì)的穩(wěn)定性。基于以上設(shè)計(jì)原則,本系統(tǒng)設(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù),包含基本信息表(如員工類別、存貨等)及幾個(gè)實(shí)體聯(lián)系建模后的表(如散件銷售、整機(jī)銷售等)。為了加快系統(tǒng)訪問(wèn)的速度把這些表放在一個(gè)數(shù)據(jù)庫(kù)中。3.5SQL查詢語(yǔ)言及使用SQL語(yǔ)言是結(jié)構(gòu)化語(yǔ)言(StructureQueryLanguage)的縮寫,是一種用于數(shù)據(jù)庫(kù)查詢和編程的語(yǔ)言,已經(jīng)成為關(guān)系型數(shù)據(jù)庫(kù)普遍使用的標(biāo)準(zhǔn),使用這種標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)語(yǔ)言對(duì)程序設(shè)計(jì)和數(shù)據(jù)庫(kù)的維護(hù)都帶來(lái)了極大的方便,廣泛地應(yīng)用于各種數(shù)據(jù)查詢。JSP和其他的應(yīng)用程序包括SQLserver2000、Foxpro、Orcale、SQLSEVER2000等都支持SQL語(yǔ)言。SQL語(yǔ)言的常用操作有:建立數(shù)據(jù)庫(kù)數(shù)據(jù)表(CREATETABLE),如本系統(tǒng)中的學(xué)生及成績(jī)備份就用到該語(yǔ)句;從數(shù)據(jù)庫(kù)中篩選一個(gè)記錄集(SELECT),這是最常用的一個(gè)語(yǔ)句,功能強(qiáng)大,能有效地對(duì)數(shù)據(jù)庫(kù)中一個(gè)或多個(gè)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行訪問(wèn),并兼有排序、分組等功能;在數(shù)據(jù)表中添加一個(gè)記錄(INSERT);刪除符合條件的記錄(DELETE);更改符合條件的記錄(UPDATE);JSP中的數(shù)據(jù)庫(kù)操作對(duì)象都提供了對(duì)SQL語(yǔ)句的支持。其一般的用法是以JSP的各種控件接收用戶對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的請(qǐng)求,在事件響應(yīng)程序代碼中將其轉(zhuǎn)換成對(duì)數(shù)據(jù)庫(kù)的SQL查詢語(yǔ)句,并以字符串的形式存在,然后將其傳遞給相應(yīng)的數(shù)據(jù)庫(kù)操作對(duì)象,最終完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。3.6系統(tǒng)數(shù)據(jù)分析通過(guò)對(duì)團(tuán)購(gòu)網(wǎng)管理系統(tǒng)的分析,可以得出該系統(tǒng)涉及三個(gè)實(shí)體:會(huì)員、商品、工作人員。通過(guò)對(duì)各實(shí)體數(shù)據(jù)關(guān)系的整理,我們可以畫出如下E-R圖如圖3-2所示:會(huì)員會(huì)員購(gòu)買瀏覽購(gòu)買瀏覽管理員商品商品發(fā)布管理員商品商品發(fā)布圖3-2系統(tǒng)E-R圖這些實(shí)體涉及的數(shù)據(jù)項(xiàng)有:會(huì)員:用戶名、姓名、性別、年齡、聯(lián)系方式等。商品:商品編號(hào)、商品名稱、簡(jiǎn)介、圖片、價(jià)格、折扣。管理員:登陸編號(hào)、登陸密碼。實(shí)體之間的聯(lián)系涉及的數(shù)據(jù)項(xiàng)有:3.7系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)1商品信息數(shù)據(jù)表商品信息數(shù)據(jù)表的主要功能在于商品發(fā)布以及保存在庫(kù)商品的主要信息和相關(guān)信息,包括:‘商品編號(hào)’、‘商品名稱’、‘簡(jiǎn)介’、‘圖片’、‘價(jià)格’以及‘折扣’.商品信息數(shù)據(jù)表如表4-1所示:表4-1商品信息數(shù)據(jù)字段名稱字段意義字段類型鍵值約束備注goods_id商品idNUMBERPRIMARYKEYgoods_tuangoushijian團(tuán)購(gòu)時(shí)間VARCHAR2(16)Nullgoods_name商品名城VARCHAR2(16)goods_miaoshu介紹VARCHAR2(16)goods_pic圖片VARCHAR2(16)goods_shichangjia價(jià)格NUMBERgoods_zhekou折扣率VARCHAR2(16)goods_del刪除標(biāo)志VARCHAR2(16)2.會(huì)員信息數(shù)據(jù)表會(huì)員信息數(shù)據(jù)表的主要功能是新會(huì)員的注冊(cè)以及保存已注冊(cè)的會(huì)員相關(guān)信息。它包括:‘會(huì)員編號(hào)’、‘會(huì)員姓名’‘會(huì)員性別’、‘會(huì)員年齡’’、‘會(huì)員聯(lián)系方式’’、‘會(huì)員住址’。會(huì)員信息數(shù)據(jù)表如表4-2所示:表4-2會(huì)員信息數(shù)據(jù)表字段名稱字段意義字段類型鍵值約束備注user_id會(huì)員idNUMBERPRIMARYKEYuser_name賬號(hào)VARCHAR2(16)Nullguser_pw密碼VARCHAR2(16)user_realname真實(shí)姓名VARCHAR2(16)user_address地址VARCHAR2(16)user_sex性別VARCHAR2(16)user_tel聯(lián)系方式VARCHAR2(16)goods_del刪除標(biāo)志VARCHAR2(16)3.訂單信息數(shù)據(jù)表訂單信息數(shù)據(jù)表的主要功能是進(jìn)行有關(guān)訂單信息的處理,它包括:‘訂單編號(hào)’、‘訂單日期’、‘訂單狀態(tài)’、‘送貨時(shí)間’、‘付款方式’、‘會(huì)員編號(hào)’、‘定金金額’和‘商品數(shù)量’。訂單信息數(shù)據(jù)表如表4-3所示:表4-3訂單信息數(shù)據(jù)表字段名稱字段意義字段類型鍵值約束備注order_id訂單idNUMBERPRIMARYKEYorder_bianhao編號(hào)VARCHAR2(16)Nullorder_date日期VARCHAR2(16)order_zhuangtai訂單狀態(tài)VARCHAR2(16)order_songhuodizhi送貨地址VARCHAR2(16)order_fukuangfangshi付款方式VARCHAR2(16)goods_id商品NUMBERorder_user_id刪除標(biāo)志VARCHAR2(16)4.團(tuán)購(gòu)商家信息數(shù)據(jù)表團(tuán)購(gòu)商家數(shù)據(jù)表的主要功能是對(duì)團(tuán)購(gòu)商家的信息進(jìn)行查詢。它包括:‘商家名稱’、‘聯(lián)系人’、‘聯(lián)系方式’、‘聯(lián)系地址’和‘備注’。團(tuán)購(gòu)商家信息數(shù)據(jù)表如表4-4所示:表4-4團(tuán)購(gòu)商家信息數(shù)據(jù)表字段名稱字段意義字段類型鍵值約束備注id編號(hào)NUMBERPRIMARYKEYlianxiren聯(lián)系人VARCHAR2(16)Nulltel電話VARCHAR2(16)telqita其他聯(lián)系方式VARCHAR2(16)dizhi地址VARCHAR2(16)name商家名稱VARCHAR2(16)tuangouleixing團(tuán)購(gòu)類型VARCHAR2(16)del刪除標(biāo)志VARCHAR2(16)5.公告信息數(shù)據(jù)表公告信息數(shù)據(jù)表的主要功能是保存管理員發(fā)布的公告信息。它包括:‘公告標(biāo)題’和‘公告內(nèi)容’公告信息數(shù)據(jù)表如表4-5所示:表4-5公告信息數(shù)據(jù)表字段名稱字段意義字段類型鍵值約束備注id編號(hào)NUMBERPRIMARYKEYtitle公告標(biāo)題VARCHAR2(16)Nullcontent公告內(nèi)容VARCHAR2(16)4詳細(xì)設(shè)計(jì)4.1首頁(yè)今日?qǐng)F(tuán)購(gòu)信息首頁(yè)采用了紅色為主的界面,主要有今日?qǐng)F(tuán)購(gòu),往日?qǐng)F(tuán)購(gòu)等信息。4.2今日?qǐng)F(tuán)購(gòu)信息對(duì)系統(tǒng)日期和團(tuán)購(gòu)日期一致的商品信息進(jìn)行發(fā)布顯示,并能在線進(jìn)行商品的搶購(gòu)。4.3用戶注冊(cè)界面用戶注冊(cè),用戶可以在線實(shí)現(xiàn)注冊(cè)功能,包括用戶名,密碼,姓名,性別,住址,電話等。4.4用戶登錄界面當(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è)置,沒(méi)有權(quán)限的操作員不能對(duì)相應(yīng)的窗口進(jìn)行操作。如圖4-1所示:圖4-1登錄主界面這是進(jìn)入系統(tǒng)時(shí)的身份驗(yàn)證,用戶首先要從軟件開(kāi)發(fā)者那里申請(qǐng)用戶名和密碼,才可以進(jìn)入。該過(guò)程的流程圖如圖4-2所示:輸入姓名及口令輸入姓名及口令記錄在口令表嗎中進(jìn)入主界面繼續(xù)嗎結(jié)束開(kāi)始提示信息NYN圖4-2登錄界面流程圖4.5添加團(tuán)購(gòu)商品信息身份驗(yàn)證通過(guò)以后,點(diǎn)擊可以使用系統(tǒng)的基本信息管理界面,這是管理員主要的輸入信息部分,它即可以對(duì)數(shù)據(jù)進(jìn)行輸入。填寫好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對(duì)這些信息進(jìn)行處理。界面如圖4-3所示:圖4-3添加商品界面4.6團(tuán)購(gòu)訂單管理對(duì)團(tuán)購(gòu)商品進(jìn)行訂單管理,界面如圖4-4所示:圖4-4團(tuán)購(gòu)訂單4.7管理員設(shè)置本系統(tǒng)增加系統(tǒng)管理員以及修改當(dāng)前管理員密碼等功能。添加管理員功能如圖4-5所示:圖4-5添加管理員界面4.8注冊(cè)會(huì)員管理點(diǎn)擊可以使用系統(tǒng)的注冊(cè)管理界面,這是管理員主要的輸入信息部分,它即可以對(duì)數(shù)據(jù)進(jìn)行輸入。填寫好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對(duì)這些信息進(jìn)行處理。界面如圖4-6所示:圖4-6注冊(cè)會(huì)員管理界面4.9商品評(píng)價(jià)信息管理這是本系統(tǒng)對(duì)商品的基本的評(píng)價(jià)信息進(jìn)行管理。界面如圖4-7所示:圖4-7商品評(píng)價(jià)信息管理界面5系統(tǒng)調(diào)試與測(cè)試5.1程序調(diào)試在設(shè)計(jì)系統(tǒng)的過(guò)程中,存在一些錯(cuò)誤是必然的。對(duì)于語(yǔ)句的語(yǔ)法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請(qǐng)求立即糾正,因此,這類錯(cuò)誤比較容易發(fā)現(xiàn)和糾正。但另一類錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對(duì)這一類動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。5.2程序的測(cè)試5.2.1測(cè)試的重要性及目的測(cè)試的重要性:軟件的測(cè)試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測(cè)試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來(lái),軟件工程界趨向于一種新的觀點(diǎn),即認(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ì)于軟件來(lái)講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語(yǔ)言、先進(jìn)的開(kāi)發(fā)方式、完善的開(kāi)發(fā)過(guò)程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測(cè)試來(lái)找出,軟件中的錯(cuò)誤密度也需要測(cè)試來(lái)進(jìn)行估計(jì)。測(cè)試是所有工程學(xué)科的基本組成單元,是軟件開(kāi)發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測(cè)試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開(kāi)發(fā)項(xiàng)目中,軟件測(cè)試工作量往往占軟件開(kāi)發(fā)總工作量的40%以上。而在軟件開(kāi)發(fā)的總成本中,用在測(cè)試上的開(kāi)銷要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測(cè)試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開(kāi)發(fā),乃至多次開(kāi)發(fā),其中必定還包含有許多測(cè)試工作。在實(shí)踐中,軟件測(cè)試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測(cè)試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這包括:1.認(rèn)為測(cè)試工作不如設(shè)計(jì)和編碼那樣容易取得進(jìn)展難以給測(cè)試人員某種成就感;2.以發(fā)現(xiàn)軟件錯(cuò)誤為目標(biāo)的測(cè)試是非建設(shè)性的,甚至是破壞性的,測(cè)試中發(fā)現(xiàn)錯(cuò)位是對(duì)責(zé)任者工作的一種否定;3.測(cè)試工作枯燥無(wú)味,不能引起人們的興趣;4.測(cè)試工作是艱苦而細(xì)致的工作;5.對(duì)自己編寫的程序盲目自信,在發(fā)現(xiàn)錯(cuò)誤后,顧慮別人對(duì)自己的開(kāi)發(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í)行程序的過(guò)程;2.測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤;3.一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;4.一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒(méi)有價(jià)值的,事實(shí)并非如此。首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。5.2.2測(cè)試的步驟與開(kāi)發(fā)過(guò)程類似,測(cè)試過(guò)程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又由若干個(gè)模塊組成。因此,大型軟件系統(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)需求說(shuō)明中的錯(cuò)誤。3.驗(yàn)收測(cè)試在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說(shuō)明書中的錯(cuò)誤。5.2.3測(cè)試的主要內(nèi)容為了保證測(cè)試的質(zhì)量,將測(cè)試過(guò)程分成幾個(gè)階段,即:代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。1.單元測(cè)試單元測(cè)試集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過(guò)測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說(shuō)明不符合的情況,以及編碼的錯(cuò)誤。2.集成測(cè)試集成測(cè)試是將模塊按照設(shè)計(jì)要求組裝起來(lái)同時(shí)進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。如一個(gè)模塊與另一個(gè)模塊可能有由于疏忽的問(wèn)題而造成有害影響;把子功能組合起來(lái)可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來(lái)是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。3.確認(rèn)測(cè)試確認(rèn)測(cè)試的目的是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。4.系統(tǒng)測(cè)試軟件開(kāi)發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。單獨(dú)對(duì)系統(tǒng)的測(cè)試主要從以下幾方面入手:1.功能測(cè)試:測(cè)試是否滿足開(kāi)發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測(cè)試是系統(tǒng)測(cè)試最常用和必須的測(cè)試,通常還會(huì)以正式的軟件說(shuō)明書為測(cè)試標(biāo)準(zhǔn)。2.強(qiáng)度測(cè)試及性能測(cè)試:測(cè)試系統(tǒng)能力最高實(shí)際限度,即軟件在一些超負(fù)荷情況下功能實(shí)現(xiàn)的情況。3.安全測(cè)試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論