計算機本論-失物招領(lǐng)在線平臺論文設(shè)計_第1頁
計算機本論-失物招領(lǐng)在線平臺論文設(shè)計_第2頁
計算機本論-失物招領(lǐng)在線平臺論文設(shè)計_第3頁
計算機本論-失物招領(lǐng)在線平臺論文設(shè)計_第4頁
計算機本論-失物招領(lǐng)在線平臺論文設(shè)計_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

摘要:在許多公共場所,如:商場、學(xué)校等地,經(jīng)常會出現(xiàn)丟失物品的情況,同樣,也有不少人撿拾到物品,但是他們沒有一個方便快捷的消息交流平臺,致使失主不能及時快速的取回自己丟失的物品,甚至,最終不能找回自己丟失的物品,給生活帶來了極大的困擾。為失主和物品撿拾者建立一個信息平臺是本系統(tǒng)的主要的目的。通過這個系統(tǒng),失主和撿到物品的人可以很好的建立起聯(lián)系,利用網(wǎng)絡(luò)進入到本系統(tǒng),撿到物品的人,可以通過本系統(tǒng)填寫撿到物品的信息;失主便可通過本系統(tǒng)查詢自己遺失的物品信息,查詢該物品是否已經(jīng)被別人撿拾到,并在平臺上發(fā)布了消息,此外,失主也可在該系統(tǒng)中發(fā)布物品遺失的信息,讓路人留意。由此一來失主和撿到自己失物的人最快速的聯(lián)系到對方在事后,失主還可向撿到自己東西的人表示感謝。這個系統(tǒng)設(shè)置了系統(tǒng)管理員,管理員可以對拾物信息、遺物信息、留言信息等進行管理操作。關(guān)鍵字:失物;招領(lǐng);系統(tǒng);開發(fā)Abstract:Inmanypublicplaces,suchas:shoppingmalls,schoolsandotherplaces,oftenthecaseofmissingitems,therearemanypeoplepickuptheitems,buttheydonothaveaconvenientplatformforexchangeofinformation,resultingintheownercannotpromptlyGetbacktheirlostitems,andevenultimatelycannotfindtheirlostitems,tolifehasbroughtgreatdistress.Themainpurposeofthissystemisfortheownersandpickerstobuildaconvenientandefficientinformationexchangeplatform.Throughthissystem,theownerandthepeoplewhopickuptheitemscanbeverygoodtoestablishcontact,theuseofnetworkaccesstothesystem,pickeduptheitems,thesystemcanbecompletedbypickinguptheitemsofinformation;theownercanquerythesystemTheirlossofgoodsinformation,checkwhethertheitemshavebeenpickedupbyothers,andpublishedamessageontheplatform,inaddition,theownercanalsobereleasedinthesystemofmissingitemsofinformation,sothatpassersby.Thiswillbetheownerandpickuptheitemstoquicklyandeasilylinkedtothepeopletogether.Intheevent,theownercanalsopicktheirownthingstothankpeople.Thesystemhasadministrators,administratorscanrelicinformation,pickupinformation,messagemanagement,andotheroperations.Keywords:Lost;Lost;system;Development目錄1、緒論 41.1項目研究背景 41.2項目研究現(xiàn)狀 41.3設(shè)計目的 51.4論文組織結(jié)構(gòu) 51.5相關(guān)技術(shù)簡介 61.5.1JSP技術(shù) 61.5.2JavaBean技術(shù) 71.5.3JDBC技術(shù) 81.5.4用JDBC訪問數(shù)據(jù)庫 91.6本章小結(jié) 122需求分析 122.1可行性研究 122.1.1技術(shù)可行性 123、系統(tǒng)概要設(shè)計 133.1系統(tǒng)開發(fā)準(zhǔn)備 133.2系統(tǒng)整體設(shè)計 143.3系統(tǒng)目標(biāo)和功能設(shè)計 143.4數(shù)據(jù)庫設(shè)計 153.4.1數(shù)據(jù)庫設(shè)計原則 153.4.2數(shù)據(jù)庫設(shè)計表 163.5本章小結(jié) 184、系統(tǒng)詳細設(shè)計及實現(xiàn) 184.1登錄界面 184.2系統(tǒng)E-R圖 194.3處理流程設(shè)計 194.3.1系統(tǒng)操作流程 194.3.2數(shù)據(jù)增加流程 204.3.3數(shù)據(jù)修改流程 214.4.4數(shù)據(jù)刪除流程 224.4系統(tǒng)主要功能模塊 234.4.1管理員登陸 234.4.2認(rèn)領(lǐng)信息管理 244.4.3用戶信息管理 264.4.4注冊會員 284.4.5信息查詢 314.4.6網(wǎng)站首頁設(shè)計 334.5本章小結(jié) 345、系統(tǒng)調(diào)試與測試 345.1程序調(diào)試 345.2程序的測試 345.2.1測試的重要性及目的 345.2.2測試的步驟 365.2.3測試的主要內(nèi)容 365.2.4測試用例 375.3測試結(jié)果 385.4本章小結(jié) 396、總結(jié) 39致謝 41參考文獻 421、緒論1.1項目研究背景這次畢業(yè)設(shè)計的題目是失物招領(lǐng)在線平臺系統(tǒng),這正體現(xiàn)了互聯(lián)網(wǎng)與社會生活之間的緊密關(guān)系?,F(xiàn)如今,人們越來越依賴網(wǎng)絡(luò),從網(wǎng)上訂餐到網(wǎng)上辦公,網(wǎng)絡(luò)已經(jīng)成為人與人之間交流的一種普遍工具。經(jīng)過本次在線的失物招領(lǐng)服務(wù)系統(tǒng)建設(shè),不僅僅可以幫助失物在最快的時間內(nèi)找回自己原本丟失的東西,還能在這次在線系統(tǒng)設(shè)計之后,可以有效幫助自身實現(xiàn)編程技術(shù)的提升,并且奠定堅實的技術(shù)基礎(chǔ),為以后的工作做好充足的各項技術(shù)準(zhǔn)備。由于計算機技術(shù)與網(wǎng)絡(luò)通信技術(shù)的不斷發(fā)展與應(yīng)用,網(wǎng)絡(luò)信息技術(shù)的應(yīng)用以及慢慢的應(yīng)用到人們的各個生活角落里。人們能夠足不出戶享有比實體店更低廉的價格,因此,各種便利性的在線服務(wù)平臺層出不窮。而且這些在線信息服務(wù)平臺的出現(xiàn),不僅僅為人們實現(xiàn)了各項信息服務(wù)的便利性,也對原有的時間與地域限制進行突破,從而實現(xiàn)各項信息內(nèi)容的便利性提升。由此,應(yīng)用于人們失物招領(lǐng)的在線信息服務(wù)平臺也由此而生,從而將失主與失物拾取人進行有效聯(lián)系,從為二者搭建一個合理有效的信息服務(wù)平臺。1.2項目研究現(xiàn)狀從國內(nèi)的各項網(wǎng)絡(luò)信息用用成果研究得出,在我國境內(nèi)失物招領(lǐng)信息在線服務(wù)系統(tǒng)的應(yīng)用方面,目前還比較少,而且相比于國外各項網(wǎng)站系統(tǒng)應(yīng)用來說這之間的差異不可謂不小。而且,我國境內(nèi)在這方面的研究探索還處于較為初級的情況,而在這方面的應(yīng)用性研究探索更是少之又少,各項研究相關(guān)的信息標(biāo)準(zhǔn)系統(tǒng)與應(yīng)用尚不健全,所以無法通過這些內(nèi)容對當(dāng)前的在線失物招領(lǐng)平臺應(yīng)用進行一個全面、系統(tǒng)的客官評價。所以,國內(nèi)針對這方面的系統(tǒng)性與應(yīng)用研究,還需要進行進一步的深化與應(yīng)用。不難發(fā)現(xiàn),在國內(nèi)的各大公共場所,易出現(xiàn)物品丟失的地方,大部分都沒有建立失物招領(lǐng)平臺,沒有很好的利用網(wǎng)絡(luò)來方便失主取回自己丟失的物品。更多的地方依然運用人工的方式,設(shè)立失物招領(lǐng)處,但由于時間及地點的限制性,失主并不能很快地成功地取回自己丟失的物品。相比來說,國外在在線失物招領(lǐng)服務(wù)系統(tǒng)建設(shè)與應(yīng)用方面,比起國內(nèi)來說領(lǐng)先很多,很多國外用戶已經(jīng)習(xí)慣通過這些在線信息服務(wù)平臺來進行失物招領(lǐng)的功能實現(xiàn),并且在各項服務(wù)內(nèi)容方面已經(jīng)實現(xiàn)了系統(tǒng)性、完整性的服務(wù)完善,這也是我國當(dāng)前在線信息服務(wù)系統(tǒng)必須要進行學(xué)習(xí)的內(nèi)容,從而通過這項信息服務(wù)在線平臺的建設(shè)促使我國在這方面的研究與應(yīng)用快速進入信息數(shù)據(jù)時代。。1.3設(shè)計目的本文主要對失物招領(lǐng)信息管理平臺的物品信息等問題進行設(shè)計,通過對本系統(tǒng)的開發(fā)和應(yīng)用可以:使失主在最短時間內(nèi)取回自己丟失的物品;可以實現(xiàn)失主與拾物者之間的良好溝通;可以完善管理流程,該系統(tǒng)的開發(fā)及利用,很好地對失物信息、拾物信息等做出管理操作流程進行修改。1.4論文組織結(jié)構(gòu)本論文共分為六章,首先是對為何選擇本課題進行必要的闡述和分析,介紹了失物招領(lǐng)信息平臺的背景及其意義所在,然后引出了失物招領(lǐng)信息平臺人們的需求分析,系統(tǒng)的設(shè)計和測試等內(nèi)容。接下來論文著重描述了需要用到的一些相關(guān)技術(shù),并對其進行分析,然后是設(shè)計和實現(xiàn)這個系統(tǒng)的基本步驟,從需求分析到功能的實現(xiàn),最后是對系統(tǒng)的測試和對于整個開發(fā)過程進行總結(jié)。1.5相關(guān)技術(shù)簡介1.5.1JSP技術(shù)JSP信息應(yīng)用技術(shù)是SUN公司在上世紀(jì)末為了實現(xiàn)各項信息應(yīng)用服務(wù)在推行的技術(shù)內(nèi)容,并且以JAVA信息系統(tǒng)為基礎(chǔ)進行Web信息開發(fā)與應(yīng)用,從而在這個技術(shù)基礎(chǔ)上實現(xiàn)整個動態(tài)信息服務(wù)平臺的安全性與優(yōu)先性建設(shè)。而且該技術(shù)在各方面的應(yīng)用方面也可以幫助諸多動態(tài)web頁面開發(fā)與應(yīng)用的加速。它主要有如下幾個方面的特點:將內(nèi)容的生成和顯示進行分離在進行在線平臺開發(fā)的時候,可以以JSP信息應(yīng)用技術(shù)為基礎(chǔ)利用HTML以及XML進行頁面的設(shè)計與格式化操作。而且JSP技術(shù)也可以進行頁面各項動態(tài)內(nèi)容進行生成操作,而且其所生成的各項代碼內(nèi)容則在Servlet和JavaBean組件里面與腳本進行結(jié)合,從而在終端服務(wù)器里面進行運行處理。在系統(tǒng)運行里面通過JSP信息所進行的標(biāo)識與程序內(nèi)容,通過各項內(nèi)容請求的生成,從而在終端信息內(nèi)容方面通過HTML頁面表現(xiàn)方式傳送到瀏覽器上面。這種處理方式不僅僅可以幫助開發(fā)人員實現(xiàn)代碼的有效保護,也可以針對各類HTML技術(shù)基礎(chǔ)上的Web信息應(yīng)用保證其應(yīng)用性價值。強調(diào)組件的重用在具體應(yīng)用層面JSP技術(shù)一般會通過相關(guān)的組件實現(xiàn)其各項程序應(yīng)用的處理,這些組件必須是可重復(fù)使用的,而且兼容各類不同平臺應(yīng)用。所以在進行開發(fā)應(yīng)用的時候我們可以將這些組件內(nèi)容進行共享以及交換應(yīng)用,從而促使這些組件在其應(yīng)用范圍與開發(fā)應(yīng)用方面實現(xiàn)更優(yōu)秀的應(yīng)用價值。此方法加速了總體開發(fā)進程。采用標(biāo)識簡化頁面開發(fā)由于進行頁面開發(fā)的工作人員本身對于編程語言并不熟悉。JSP技術(shù)封裝了許多功能:可以對JavaBean組件內(nèi)容進行訪問以及實例化操作,并且對其各項屬性內(nèi)容進行設(shè)置以及檢索服務(wù),同時實現(xiàn)APP服務(wù)內(nèi)容的下載等。在實際應(yīng)用里面可以利用已定制好的標(biāo)識庫內(nèi)容進行JSP應(yīng)用的拓展,在這里可以針對系統(tǒng)常用的各類功能進行標(biāo)識庫建設(shè),并且?guī)椭_發(fā)人員對各項工具以及功能組件進行操作的熟悉。一旦將JSP技術(shù)與J2EE等平臺進行各項技術(shù)整合應(yīng)用的時候,該技術(shù)可以為用戶實現(xiàn)各類企業(yè)級的技術(shù)拓展與功能提升,這些都是當(dāng)前企業(yè)Web程序應(yīng)用開發(fā)必須要具備的功能及內(nèi)容。與微軟公司的ASP技術(shù)相比,JSP具有如下優(yōu)點:(1)開放的技術(shù):以信息技術(shù)平臺與服務(wù)器應(yīng)用為基礎(chǔ),JSP信息技術(shù)對于各種專業(yè)性、廣泛性以及服務(wù)性的組件和數(shù)據(jù)庫內(nèi)容進行支持,也因此受到各類開發(fā)商的青睞。相比之下,ASP技術(shù)主要依賴MICROSOFT支持。(2)平臺和服務(wù)器的獨立性:該技術(shù)在進行所編寫出來的代碼功能強大,并且可以保證在任何JAVA語言環(huán)境及相關(guān)語法結(jié)構(gòu)基礎(chǔ)的環(huán)境里進行程序操作。這種前提下使得該技術(shù)可以在不同WEB服務(wù)器上面應(yīng)用,并且對各類工具包內(nèi)容進行操作支持。(3)開放的開發(fā)過程,開放的源碼:自從95年之后,SUN公司利用開放的方式與國際組織通過合作的形式進行各項技術(shù)與規(guī)范內(nèi)容的開發(fā)、應(yīng)用修改。(4)JSP標(biāo)記可擴充性:該技術(shù)在開發(fā)應(yīng)用方面有效實現(xiàn)相關(guān)標(biāo)記的拓展,并且可以將其標(biāo)記技術(shù)里與XML有效兼容的強大功能應(yīng)用起來,從而降低對系統(tǒng)腳本語言系統(tǒng)的依賴性。(5)JSP跨平臺的可重用性:該技術(shù)相關(guān)的組件內(nèi)容必須可以重復(fù)多次使用,并且可以在各個平臺系統(tǒng)里有效應(yīng)用。1.5.2JavaBean技術(shù)由于JSP技術(shù)再動態(tài)網(wǎng)站開發(fā)應(yīng)用方面的功能性優(yōu)良等情況,使其在這方面的應(yīng)用也不斷拓展和深入,并且在其具體應(yīng)用方面通常會搭配JavaBean成為當(dāng)前程序開發(fā)里面應(yīng)用最頻繁的標(biāo)準(zhǔn)組合。相對來說,這種組合里面搭配的組件是該技術(shù)對應(yīng)的組件內(nèi)容,而且與Microsoft里的組件com內(nèi)容定義相似。另外在該技術(shù)模型里面,由于對應(yīng)組件內(nèi)容本身的程序拓展功能,所以可以由此實現(xiàn)全新應(yīng)用程序的快速生成。而且對于程序開發(fā)人員來說,這種組件還能幫助當(dāng)前各類代碼的重復(fù)性操作,而且也能保證其應(yīng)用程序的維護性功能等內(nèi)容。而且根據(jù)技術(shù)相關(guān)的虛擬機功能,可以實現(xiàn)其組件等內(nèi)容的正確操作,并且與平臺沒有具體相關(guān)性。一個JavaBean有三個部分組成:屬性(Property)在JavaBean組件里面其對應(yīng)的屬性與對象一致,而且可以有效實現(xiàn)屬性在讀取與接口設(shè)置等方面的功能性操作。例如,以Bean命名的時鐘有時區(qū)等屬性,日歷則有年、月、日等屬性,在這里任何屬性都依據(jù)當(dāng)前的簡易性規(guī)則進行,并且在此基礎(chǔ)上實現(xiàn)屬性的查詢與調(diào)整等操作,從而對整體內(nèi)容進行操作。方法(Method)我們進行Bean對應(yīng)的Java內(nèi)容調(diào)整的方式,一般是通過其相關(guān)的交互內(nèi)容所作用。而且JavaBean在針對對象所進行的設(shè)計一般都會遵守嚴(yán)格的設(shè)計邏輯,從而對外界的各類字段實例訪問信息進行隔絕。這樣,方法調(diào)用的是接觸Bean的唯一途徑。事件(Event)與其他的軟件內(nèi)容進行信息溝通的手段方面,Bean一般采用的是信息發(fā)送與接收來實現(xiàn)。與信息通信的手段一致。JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。該技術(shù)在產(chǎn)生之后,其組件在非可視化方面進行的應(yīng)用更加的廣泛,而且在服務(wù)器終端方面的應(yīng)用更加的活躍。特別是進行非可視化操作的時候,該組件一般用于進行數(shù)據(jù)庫以及各項邏輯操作,從而將各項前臺程序內(nèi)容與業(yè)務(wù)邏輯進行有效分離,進而保證了信息服務(wù)系統(tǒng)的強化與活躍。1.5.3JDBC技術(shù)針對Java程序內(nèi)容而進行開發(fā)的JDBC,SUN公司主要將其應(yīng)用在實現(xiàn)數(shù)據(jù)庫連接等方面,并且支持各種常用的數(shù)據(jù)庫連接功能實現(xiàn)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺應(yīng)用程序中的作用類似。JDBC有一個非常獨特的動態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來完成對數(shù)據(jù)庫的訪問包括以下四個主要組件:Java的應(yīng)用程序、JDBC驅(qū)動器管理器、驅(qū)動器和數(shù)據(jù)源。簡單地說,JDBC能完成下列三件事:(1)同一個數(shù)據(jù)庫建立連接;(2)向數(shù)據(jù)庫發(fā)送SQL語句;(3)處理數(shù)據(jù)庫返回的結(jié)果。JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計接口)。它由一些Java語言寫的類、界面組成。在具體應(yīng)用方面程序開發(fā)人員根據(jù)實際需求,以該技術(shù)為基礎(chǔ)進行了標(biāo)準(zhǔn)化設(shè)計接口的支持,從而便于實現(xiàn)Java語言的數(shù)據(jù)庫及應(yīng)用程序的編寫。利用該技術(shù)的強大功能,我們可以在任何數(shù)據(jù)庫里實現(xiàn)SQL語句的傳送操作。所以,在進行程序編程操作的時候,開發(fā)人員不用針對不同語言系統(tǒng)進行不同的程序編寫,而只需通過JDBC激素的應(yīng)用,將所需的SQL語句自動進行傳送,將其傳輸?shù)綄?yīng)的數(shù)據(jù)庫系統(tǒng)里面。而且,在任何Java所支持的系統(tǒng)平臺方面無需進行對應(yīng)的應(yīng)用程序編寫,都能實現(xiàn)Java程序的運行操作。這才是真正的便捷化程序編寫操作。由于Java本身的安全性高、便捷應(yīng)用、自動下載等功能,其在數(shù)據(jù)庫連接等方面的編程應(yīng)用方面效果極好,而與JDBC技術(shù)的配合應(yīng)用更可以使其實現(xiàn)任一數(shù)據(jù)庫的連接應(yīng)用。在應(yīng)用層面該技術(shù)可以對Java技術(shù)進行功能性的拓展應(yīng)用,并且可以在此基礎(chǔ)上實現(xiàn)web頁面的遠端數(shù)據(jù)庫訪問功能。在企業(yè)系統(tǒng)應(yīng)用里面,可以通過這個功能讓所有的員工通過當(dāng)前的常用計算機系統(tǒng)應(yīng)用,在互聯(lián)網(wǎng)絡(luò)上實現(xiàn)同一個或者多個數(shù)據(jù)庫的訪問操作。1.5.4用JDBC訪問數(shù)據(jù)庫由于在Java.sql*里所保存的是數(shù)據(jù)庫所對應(yīng)的對象與方式,因此必須先進行importjava.sql.*,所以可以在進行驅(qū)動調(diào)整之后再行進行數(shù)據(jù)庫的連接。Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");這是JDBC-ODBC的驅(qū)動程序。在進行指定數(shù)據(jù)庫應(yīng)用系統(tǒng)連接的時候,首先要先進行Connection類實際案例的創(chuàng)建。Stringurl="jdbc:odbc:Groceryprices";Connectioncon=DriverManager.getConnection(url);當(dāng)前我們進行控制面板ODBC所設(shè)置的數(shù)據(jù)資源名稱可以應(yīng)用在數(shù)據(jù)庫名稱里。而且不同數(shù)據(jù)庫應(yīng)用里URL所對應(yīng)的語法內(nèi)容也不盡相同。語法是這樣的:jdbc:subprotocol:subname開頭都是JDBC,后面是子協(xié)議,然后是ODBC名稱。如果僅僅采用JDBC所對應(yīng)的驅(qū)動內(nèi)容,那么就要進行相應(yīng)的第三方驅(qū)動安裝來對應(yīng)處理,這些在各類官網(wǎng)都可以實現(xiàn)其應(yīng)用的查找,所以對此不作詳細探討。所以本次在線信息服務(wù)系統(tǒng)進行數(shù)據(jù)庫連接的驅(qū)動程序內(nèi)容是JDBC-ODBC,由于JavaBean相關(guān)的組件應(yīng)用避免了重復(fù)代碼的出現(xiàn),其具體操作內(nèi)容可以按照下面步驟:packageexam;importjava.sql.*;publicclassExamBean{StringstrDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //JDBC-ODBC驅(qū)動程序StringstrDBUrl="jdbc:odbc:exam";privateConnectionconn=null;privateStatementstmt=null;ResultSetrs=null;//<!--注冊數(shù)據(jù)庫驅(qū)動程序-->publicExamBean(){try{Class.forName(strDBDriver);} //<!—異常處理-->catch(java.lang.ClassNotFoundExceptione){System.err.println("exam():"+e.getMessage());}}//<!—建立數(shù)據(jù)庫連接和定義數(shù)據(jù)查看-->publicResultSetexecuteQuery(Stringsql){rs=null;try{conn=DriverManager.getConnection(strDBDriver); //創(chuàng)建數(shù)據(jù)庫連接對象stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持?jǐn)?shù)據(jù)回滾rs=stmt.executeQuery(sql);}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}returnrs;}//<!—定義數(shù)據(jù)更新操作-->publicvoidexecuteUpdate(Stringsql){stmt=null;try{conn=DriverManager.getConnection(strDBDriver);stmt=conn.createStatement();stmt.executeUpdate(sql);stmt.close();}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}}//<!—關(guān)閉數(shù)據(jù)庫連接-->publicvoidcloseStmt(){try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}}publicvoidcloseConn(){try{conn.close();}catch(SQLExceptione){e.printStackTrace();}}1.6本章小結(jié)本章對為何選擇失物招領(lǐng)信息平臺這個課題進行詳細的論述,介紹了此次畢業(yè)設(shè)計課題的背景及其主要意義,設(shè)計的目的。并且對于本文接下來的框架結(jié)構(gòu),內(nèi)容簡述做簡單描述。2需求分析2.1可行性研究2.1.1技術(shù)可行性根據(jù)失物招領(lǐng)信息平臺的需求,可得出:本次在線失物招領(lǐng)服務(wù)平臺的建設(shè),應(yīng)用的web系統(tǒng)開發(fā)技術(shù)為基礎(chǔ)進行整體設(shè)計,并且本次所設(shè)計的系統(tǒng)在功能上除了用戶實現(xiàn)查詢與信息瀏覽的同時,還有基礎(chǔ)的賬戶登錄以及管理員進行信息管理等各項功能內(nèi)容。系統(tǒng)采用B/S模式。本次我們所設(shè)計的在線系統(tǒng)內(nèi)容里面最為重要的就是實現(xiàn)數(shù)據(jù)整合的數(shù)據(jù)庫構(gòu)架,其功能完善與否直接關(guān)系到系統(tǒng)設(shè)計的優(yōu)秀與否,同時在這個系統(tǒng)里面實現(xiàn)兩大系統(tǒng)的整體界面優(yōu)化與數(shù)據(jù)處理操作。SQLServer2000業(yè)務(wù)服務(wù)器SQLServer2000業(yè)務(wù)服務(wù)器數(shù)據(jù)庫服務(wù)器事務(wù)邏輯數(shù)據(jù)邏輯ClientBrowser表示邏輯Browser表示邏輯JSP網(wǎng)頁WWW服務(wù)器/業(yè)務(wù)邏輯服務(wù)器JavaBean組件中間件JDBC數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫圖3-1系統(tǒng)模式圖本次所設(shè)計在線服務(wù)系統(tǒng)在結(jié)構(gòu)上面采用的層次復(fù)合形式,客戶在進行整個系統(tǒng)的數(shù)據(jù)處理操作的時候可以利用客戶端系統(tǒng)在瀏覽器上面實現(xiàn)此功能,而在瀏覽器頁面的各項信息內(nèi)容則可以利用JSP網(wǎng)頁系統(tǒng)處理。另外在該系統(tǒng)里的JavaBean組件可支持各類復(fù)雜邏輯業(yè)務(wù)處理,從而實現(xiàn)其在萬維網(wǎng)服務(wù)器上面的操作運行,進而利用JSP技術(shù)幫助用戶實現(xiàn)瀏覽器的返回操作。另外由于內(nèi)容表現(xiàn)與業(yè)務(wù)等邏輯系統(tǒng)的分離運行,從而保證了網(wǎng)頁內(nèi)容表現(xiàn)的整體簡潔,以及實現(xiàn)用戶系統(tǒng)在維護與拓展功能的強化。在終端服務(wù)器里面可以利用JDBC組件進行數(shù)據(jù)庫的訪問,并且對當(dāng)前的數(shù)據(jù)與業(yè)務(wù)相關(guān)邏輯進行數(shù)據(jù)庫系統(tǒng)的定義。在系統(tǒng)開發(fā)里面,本次設(shè)計的系統(tǒng)表現(xiàn)手段采用的是JSP技術(shù),而且以Tomcat5.0.3作為服務(wù)器內(nèi)容對JSP技術(shù)進行動力支持,相關(guān)的系統(tǒng)業(yè)務(wù)則由Bean組件來實現(xiàn),并且通過JDBC3.0實現(xiàn)數(shù)據(jù)庫的驅(qū)動訪問。在進行整體系統(tǒng)測試的時候必須以成熟的數(shù)據(jù)庫內(nèi)容作為技術(shù)支撐,所以在系統(tǒng)構(gòu)建方面以當(dāng)前常用的SQL2000進行數(shù)據(jù)庫服務(wù)構(gòu)建。3、系統(tǒng)概要設(shè)計3.1系統(tǒng)開發(fā)準(zhǔn)備 系統(tǒng)在開發(fā)前需要做好充足的準(zhǔn)備工作,其中最重要的就是要對系統(tǒng)的功能需求以及開發(fā)系統(tǒng)的運行環(huán)境深入了解。對需求進行了解可以幫助開發(fā)人員開發(fā)系統(tǒng)功能,而了解開發(fā)系統(tǒng)的運行環(huán)境則是進行系統(tǒng)開發(fā)的基礎(chǔ)。 本系統(tǒng)平臺的開發(fā)工具與使用環(huán)境如表3.1所示:表3.1系統(tǒng)開發(fā)平臺及開發(fā)工具操作系統(tǒng)數(shù)據(jù)庫開發(fā)工具服務(wù)器端WindowsXPMysqlEclipse3.2系統(tǒng)整體設(shè)計失物招領(lǐng)信息平臺系統(tǒng)主要目的是對丟失物品和撿到物品信息進行行管操作,所以,失物招領(lǐng)信息平臺主要由用戶和管理員兩個功能模塊組成,如圖3.1所示:失物認(rèn)領(lǐng)系統(tǒng)失物認(rèn)領(lǐng)系統(tǒng)用戶注冊會員搜索物品修改個人信息會員交流認(rèn)領(lǐng)失物管理員會員管理失物招領(lǐng)管理認(rèn)證信息管理在線交流管理圖3.1系統(tǒng)總體模塊設(shè)計其中用戶又分為失物者和拾物者兩種身份。3.3系統(tǒng)目標(biāo)和功能設(shè)計主要功能介紹:用戶注冊:系統(tǒng)注冊會員后,用戶才可以發(fā)布信息。用戶瀏覽物品:用于用戶瀏覽物品信息。會員添加物品:用戶登錄成功后才可以使用,失物信息在前臺頁顯示。用戶或會員搜索物品:用于用戶或會員搜索物品信息。會員刪除物品:用戶登錄以后才可以刪除之前已發(fā)布的失物信息。會員修改物品:注冊成會員之后,用戶才可以修改物品信息。會員修改個人信息:用戶成功登錄后用與修改信息。會員之間發(fā)消息:用于會員之間的交流。會員認(rèn)領(lǐng)物品等功能:用戶會員用戶認(rèn)領(lǐng)失物。管理會員信息:本功能只能管理員允許使用,刪除某些會員信息。管理失物信息:本功能只能管理員允許使用,刪除某些失物信息。管理認(rèn)領(lǐng)物品:用來管理用戶認(rèn)領(lǐng)物品。3.4數(shù)據(jù)庫設(shè)計數(shù)據(jù)字典最重要的作用就是體現(xiàn)在系統(tǒng)分析階段,為數(shù)據(jù)模型的開發(fā)提供數(shù)據(jù)項。在系統(tǒng)分析階段,通過對系統(tǒng)的深入分析,進而得出可行方案,這對于系統(tǒng)的開發(fā)有著不可言喻的作用。而數(shù)字字典作為系統(tǒng)分析階段的一個重要工具,數(shù)據(jù)字典通過對數(shù)據(jù)流程圖上的內(nèi)容進行標(biāo)注。數(shù)據(jù)字典的作用與其他字典類似,都是對相關(guān)內(nèi)容進行解釋,作為數(shù)據(jù)庫的中心,起到了非常重要的作用。數(shù)據(jù)字典作為系統(tǒng)分析階段的一個重要工具,其中所涵括的數(shù)據(jù)項都有著一定的價值。由于利用了特定的數(shù)據(jù)元素的程序,因此在對數(shù)據(jù)產(chǎn)生的影響方面的結(jié)果也就非常容易改變了,與此同時,所有受到影響的模塊也會在此基礎(chǔ)上發(fā)生改變。統(tǒng)一來講,數(shù)據(jù)字典被認(rèn)為是所有數(shù)據(jù)項的集合,數(shù)據(jù)流圖反映的是數(shù)據(jù)與處理這二者的聯(lián)系。通常來講,數(shù)據(jù)字典涵括了以下幾種元素:數(shù)據(jù)流、數(shù)據(jù)流分量、數(shù)據(jù)存儲、處理。3.4.1數(shù)據(jù)庫設(shè)計原則(1)數(shù)據(jù)庫在設(shè)計時應(yīng)該注重將設(shè)計變得更加規(guī)范化,一個規(guī)范的數(shù)據(jù)庫是可避免數(shù)據(jù)冗余和重復(fù)的出現(xiàn)。無論是何時,數(shù)據(jù)庫表設(shè)計都目的都是幫助系統(tǒng)更加符合人們的需求,盡管信息冗余沒有好或者不好的總體傾向,但一個相對合理的數(shù)據(jù)庫表都應(yīng)當(dāng)做到減少數(shù)據(jù)冗余。(2)結(jié)構(gòu)設(shè)計和操作設(shè)計相結(jié)合數(shù)據(jù)庫在設(shè)計時應(yīng)當(dāng)注重將結(jié)構(gòu)設(shè)計和操作設(shè)計相結(jié)合,對于任何一件事物的評價都不能一概而論,數(shù)據(jù)冗余也是一樣,有時數(shù)據(jù)冗余還可以增加查詢速度。因此在有足夠存儲空間的前提下,數(shù)據(jù)冗余可以為編程提供諸多便利。因此,結(jié)構(gòu)設(shè)計和操作設(shè)計應(yīng)當(dāng)緊密結(jié)合。(3)數(shù)據(jù)庫在設(shè)計時應(yīng)當(dāng)注重數(shù)據(jù)結(jié)構(gòu)的穩(wěn)定性,功能、工作流程和模式作為重要的因素,盡管在設(shè)計時采取的方法是多樣的,但這兩項因素絕對不能因為方法的使用而改變。3.4.2數(shù)據(jù)庫設(shè)計表下面為本系統(tǒng)的數(shù)據(jù)字典:數(shù)據(jù)流名稱:用戶登錄信息別名:無簡述:用戶登錄時填寫的信息來源:用戶去向:用戶登錄數(shù)據(jù)流量:500份/天組成:用戶名+密碼1AdminnameVarchar管理員名2AdminpasswordVarchar管理員密碼數(shù)據(jù)流名稱:用戶注冊信息別名:無簡述:用戶注冊時填寫的信息來源:用戶去向:用戶注冊數(shù)據(jù)流量:10份/天組成:用戶真實姓名+用戶名+密碼+聯(lián)系電話+電郵+性別+(聯(lián)系住址)+(郵編號)1Usernamevarchar用戶名2Realnamevarchar用戶真實姓名3Passwordvarchar密碼4Emailvarchar電郵5Telvarchar聯(lián)系電話6Sexvarchar性別7Addressvarchar聯(lián)系地址8postvarchar郵編數(shù)據(jù)流名稱:失物的一般信息別名:無簡述:用戶添加失物時填寫的信息來源:失物信息的添加去向:失物信息表文件數(shù)據(jù)流量:50份/天組成:失物的名稱+失物的簡介+失物的類別+圖片的名稱1Lostnamevarchar名稱2Typevarchar類型3Interovarchar介紹4Photovarchar圖片5Linkvarchar聯(lián)系人6Telvarchar電話7Remarkvarchar備注信息8idint編號數(shù)據(jù)流名稱:失物組成明細別名:無簡述:用戶添加失物時填寫的信息來源:失物信息的添加去向:失物組成明細添加數(shù)據(jù)流量:50份/天組成:失物名稱+數(shù)量1IdIntId2Namevarchar失物名稱3Numvarchar數(shù)量 數(shù)據(jù)流名稱:各種相關(guān)信息別名:無簡述:系統(tǒng)管理員錄入數(shù)據(jù)及讀取數(shù)據(jù)時的內(nèi)容信息來源:錄入去向:數(shù)據(jù)文件數(shù)據(jù)流量:10份/天組成:各類信息1IdIdId2Titlevarchar標(biāo)題3Contetnvarchar內(nèi)容4Addtimevarchar添加時間3.5本章小結(jié)在本章中,筆者從四個角度著手來對系統(tǒng)的概要設(shè)計進行解讀。這四個方面通常涵括了系統(tǒng)開發(fā)準(zhǔn)備、系統(tǒng)整體設(shè)計、系統(tǒng)目標(biāo)和功能設(shè)計和數(shù)據(jù)庫設(shè)計,系統(tǒng)實現(xiàn)作為系統(tǒng)實現(xiàn)階段的一項重要工作,會對系統(tǒng)開發(fā)產(chǎn)生不可言喻的影響,主要體現(xiàn)在系統(tǒng)開發(fā)的質(zhì)量方面。在本章的主要內(nèi)容涵括了以下方面:系統(tǒng)分析、系統(tǒng)功能、登錄界面、信息錯誤等情況。4、系統(tǒng)詳細設(shè)計及實現(xiàn)4.1登錄界面1)接口設(shè)計:系統(tǒng)登錄界面程序通過一按鈕直接調(diào)用失物招領(lǐng)管理平臺主界面程序,打開失物招領(lǐng)信息管理平臺用戶主界面。登錄模塊接口設(shè)計如下圖所示:2)界面的實現(xiàn):因為此系統(tǒng)是提供給失物者和拾物者使用的,所以本著簡潔,清新的原則設(shè)計了綠色基調(diào)的界面,界面簡單清晰,頁面可以在相關(guān)單位買走后加入相關(guān)單位的logo標(biāo)識。系統(tǒng)登陸界面主要實現(xiàn)的是用戶輸入“用戶名"、“密碼”并判斷用戶權(quán)限登錄到系統(tǒng)中,從而實現(xiàn)不同用戶的職責(zé)。當(dāng)出現(xiàn)輸入信息存在問題的情況時,系統(tǒng)會針對存在的問題進行提示。用戶在提交數(shù)據(jù)時并不是直接就會予以通過,而是要對其數(shù)據(jù)進行檢測,倘若用戶所輸入的信息存在問題,則會對上述問題提出指示,當(dāng)用戶登錄信息不符時,會出現(xiàn)以下的界面,如圖4-4所示:4.2系統(tǒng)E-R圖密碼密碼用戶名用戶管理信息會員管理留言管理新聞管理失物管理4.3處理流程設(shè)計4.3.1系統(tǒng)操作流程系統(tǒng)登錄界面輸入操作員及密碼系統(tǒng)主界面系統(tǒng)管理錯誤信息系統(tǒng)登錄界面輸入操作員及密碼系統(tǒng)主界面系統(tǒng)管理錯誤信息數(shù)據(jù)庫檢查密碼錯誤 數(shù)據(jù)庫檢查密碼錯誤密碼正確功能界面功能處理密碼正確功能界面功能處理4.3.2數(shù)據(jù)增加流程當(dāng)出現(xiàn)需要增加信息的情況時,編號字段是自動生成,然后其他內(nèi)容則需要用戶自行進行輸入,輸入內(nèi)容需要進行一定的判定,判定合法才能保存數(shù)據(jù),不合法則不予以保存,需要進行再次輸入。數(shù)據(jù)增加流程圖:開始開始自動生成編號輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.2數(shù)據(jù)增加流程圖4.3.3數(shù)據(jù)修改流程當(dāng)出現(xiàn)需要修改信息的情況時,修改內(nèi)容需要進行一定的判定,當(dāng)修改內(nèi)容不合法時需要再次輸入,合法時則會對數(shù)據(jù)進行修改。數(shù)據(jù)修改流程圖如圖3.3所示。開始開始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.3數(shù)據(jù)修改流程圖4.4.4數(shù)據(jù)刪除流程用戶選定某調(diào)記錄的時候,單擊刪除按鈕,然后界面會提示是否刪除,刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3.4所示。開始開始選擇需要刪除記錄是否刪除更新數(shù)據(jù)庫圖3.4數(shù)據(jù)刪除流程圖4.4系統(tǒng)主要功能模塊4.4.1管理員登陸要登陸系統(tǒng),首先顯示的是用戶登陸的界面,目的是維護系統(tǒng)的安全性及完整性。界面如下圖所示:主要代碼如下:packageutil;importjava.sql.*;publicclassDBConn{static{try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");// Class.forName("com.mysql.jdbc.Driver");//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptionex){ex.printStackTrace();}}publicstaticConnectiongetConn(){try{ Connectionconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=hshygl","sa","123");// conn=DriverManager.getConnection("jdbc:mysql://localhost/fzshop","root","123");// Connectionconn=DriverManager.getConnection("jdbc:odbc:temp");returnconn;}catch(Exceptionex){ex.printStackTrace();returnnull;}}publicstaticvoidclose(Connectionconn,Statementst,ResultSetrs){ if(rs!=null){try{rs.close();}catch(SQLExceptionex){}}if(st!=null){try{st.close();}catch(Exceptionex){}}if(conn!=null){try{conn.close();}catch(Exceptionex){}4.4.2認(rèn)領(lǐng)信息管理管理員可以對認(rèn)領(lǐng)信息管理。界面如下圖所示:主要代碼如下:packageutil;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassValidate{ /** *是否為數(shù)字和英文驗證 * */ publicintgetIntAndChar(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!((c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z'))){ break; } }//判斷字符是否在某個區(qū)間 if(i<str.length()){ return-1; }else{ return0; } } /** *是否為整數(shù)驗證 * */ publicintgetInt(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!(c>='0'&&c<='9')){ break; } }//判斷字符是否在某個區(qū)間 if(i<str.length()){ return-1; }else{ return0; } } /** *是否為非法字符驗證 * */ publicbooleangetLawlessChar(Stringstr){ booleanflag=false; charc; for(inti=0;i<str.length();i++){ c=str.charAt(i); switch(c){ case'<':flag=true;break; case'>':flag=true;break; case'"':flag=true;break; case'&':flag=true;break; case'':flag=true;break; } } returnflag; }4.4.3用戶信息管理管理員能夠管理所有的用戶,包含刪除或者回復(fù)等的操作。界面如下圖所示:主要代碼如下:packageutil;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassValidate{ /** *是否為數(shù)字和英文驗證 * */ publicintgetIntAndChar(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!((c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z'))){ break; } }//判斷字符是否在某個區(qū)間 if(i<str.length()){ return-1; }else{ return0; } } /** *是否為整數(shù)驗證 * */ publicintgetInt(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!(c>='0'&&c<='9')){ break; } }//判斷字符是否在某個區(qū)間 if(i<str.length()){ return-1; }else{ return0; } } /** *是否為非法字符驗證 * */ publicbooleangetLawlessChar(Stringstr){ booleanflag=false; charc; for(inti=0;i<str.length();i++){ c=str.charAt(i); switch(c){ case'<':flag=true;break; case'>':flag=true;break; case'"':flag=true;break; case'&':flag=true;break; case'':flag=true;break; } } returnflag; }4.4.4注冊會員瀏覽該系統(tǒng)的用戶可以在此軟件上注冊會員,在注冊內(nèi)容方面涵括了用戶名、密碼、姓名等信息。界面如下圖所示:主要代碼如下:packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importutil.Validate;importbean.InsertUpdateDelBean;publicclassAmountServletextendsHttpServlet{ /** *Constructoroftheobject. */ publicAmountServlet(){ super(); } /** *Destructionoftheservlet.<br> */ publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } /** *ThedoGetmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); } /** *ThedoPostmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("gb2312"); Stringid=request.getParameter("id"); Stringamount=request.getParameter("amount"); Stringsql="updateuserssetamount=amount+"+amount+"whereid="+id; InsertUpdateDelBeanib=newInsertUpdateDelBean(); ib.insertANDupdateANDdel(sql); sql="insertintopayment(usersid,name,price)values("+id+",'',"+amount+")"; ib.insertANDupdateANDdel(sql); request.setAttribute("message","操作成功!"); RequestDispatcherrd=request.getRequestDispatcher("/admin/users_amount.jsp"); rd.forward(request,response); }4.4.5信息查詢?nèi)绻枰樵冞z失信息或招領(lǐng)信息,只有會員可以進行查詢,支持模糊查詢。界面如下圖所示:主要代碼如下:packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importutil.Validate;importbean.InsertUpdateDelBean;publicclassAmountServletextendsHttpServlet{ /** *Constructoroftheobject. */ publicAmountServlet(){ super(); } /** *Destructionoftheservlet.<br> */ publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } /** *ThedoGetmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); } /** *ThedoPostmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("gb2312"); Stringid=request.getParameter("id"); Stringamount=request.getParameter("amount"); Stringsql="updateuserssetamount=amount+"+amount+"whereid="+id; InsertUpdateDelBeanib=newInsertUpdateDelBean(); ib.insertANDupdateANDdel(sql); sql="insertintopayment(usersid,name,price)values("+id+",'',"+amount+")"; ib.insertANDupdateANDdel(sql); request.setAttribute("message","操作成功!"); RequestDispatcherrd=request.getRequestDispatcher("/admin/users_amount.jsp"); rd.forward(request,response); }4.4.6網(wǎng)站首頁設(shè)計4.5本章小結(jié)本章的主要內(nèi)容是從系統(tǒng)方面著手,對其設(shè)計進行詳盡的介紹,其中最主要的是將數(shù)據(jù)分析體現(xiàn)在每一個表中,與此同時還要將功能模塊進行分化以保證高效完成。介紹了功能模塊實現(xiàn)的過程和實現(xiàn)功能,主要介紹了登錄模塊和管理模塊,并將系統(tǒng)界面展示出來5、系統(tǒng)調(diào)試與測試5.1程序調(diào)試系統(tǒng)的設(shè)計并不是一帆風(fēng)順的,出現(xiàn)一些問題在所難免。在設(shè)計時出現(xiàn)的錯誤主要涵括了以下兩類,第一類就是語法錯誤,通常來講,在出現(xiàn)這種錯誤的情況時,開發(fā)軟件會進行提醒,因此改正起來非常簡單,第二類就是在邏輯方面產(chǎn)生的錯誤,由于人們定向思維的影響,這種錯誤并不容易發(fā)現(xiàn),具有很強的隱蔽性,解決起來也需要花費足夠的精力。5.2程序的測試5.2.1測試的重要性及目的(1)測試的重要性在某一軟件的生命周期中,軟件測試貫穿于生命周期的始終,軟件測試的用途也就不言而喻了。隨著互聯(lián)網(wǎng)技術(shù)的進步,人們對于測試的理解也在不斷的深入,以前的一些觀點也在不時的被改變。在以往的瀑布模型中,人們認(rèn)為軟件測試只是出現(xiàn)在開發(fā)結(jié)束后以及開始運營之前,隨著技術(shù)的進步,人們發(fā)現(xiàn)上述觀點并不科學(xué),于是提出了軟件測試出現(xiàn)于整個生命周期中。軟件測試可以使得功能需求與系統(tǒng)所吻合,如果不一開始就進行軟件測試,而是等結(jié)束后才測試,會產(chǎn)生非常大的工作量。在軟件開發(fā)中,出現(xiàn)錯誤是在所難免的,無論是誰或者無論采用了多么科學(xué)的編程語言都避免不了出現(xiàn)錯誤。細心開發(fā)、采用先進開發(fā)方式等途徑只能盡可能的減少錯誤,而做不到杜絕錯誤,為了保證程序的正常運行,就需要通過軟件測試來尋找出存在的問題。軟件開發(fā)過程中最重要的環(huán)節(jié)是軟件測試,貫穿于程序設(shè)計的始終。通過對有關(guān)參考文獻的閱讀,在軟件開發(fā)過程中,軟件測試花費的成本最多可占據(jù)50%,與此同時,軟件測試的工作量也是非常巨大的。最重要的是不論開發(fā)階段還是運營階段都需要,乃至于軟件的生存期內(nèi)都需要進行測試。根據(jù)筆者對眾多軟件測試人員的調(diào)查了解,發(fā)現(xiàn)有部分測試人員持有著一種消極的工作態(tài)度,由于測試過程中會遇到許多困難,面對困難,許多測試人員會產(chǎn)生敷衍了事的心態(tài),進而逃避困難,其中還有許多錯誤的觀念,如下:認(rèn)為測試工作相較于編程,顯得無關(guān)緊要,難以從測試工作中獲取滿足感以為測試流程中發(fā)現(xiàn)錯誤是對編程人員勞動成果的不尊重,發(fā)現(xiàn)該錯誤具有非建設(shè)性。③系統(tǒng)測試缺乏足夠的吸引力④測試工作是艱苦而細致的工作;⑤認(rèn)為自己所編寫的程序都是正確的,過于自信。當(dāng)出現(xiàn)錯誤時,擔(dān)心別人會認(rèn)為自己缺乏足夠的能力以上的觀點都有些偏薄,這些觀點往往會對系統(tǒng)軟件的開發(fā)產(chǎn)生不利的影響,只有合理持有正確的心態(tài),才能保證系統(tǒng)的質(zhì)量。(2)測試的目的倘若進行測試是為了尋找到更多的錯誤,在測試過程中就會很自然的將測試重心放在系統(tǒng)較為復(fù)雜的部分以及前期出錯較多的部分。1.進行系統(tǒng)測試旨在尋找出系統(tǒng)中所存在的問題

2.系統(tǒng)測試進行的意義在于對系統(tǒng)中出現(xiàn)的錯誤進行發(fā)掘,倘若只是為了表明系統(tǒng)沒有錯誤就顯得毫無意義

3.測試用例在評判時的依據(jù)是看其是否能在測試中發(fā)現(xiàn)問題

4.評判一個系統(tǒng)測試是否成功主要看其能否發(fā)現(xiàn)尚未出現(xiàn)的問題針對以上的觀點,筆者認(rèn)為這種觀點過于狹隘,持有這種以錯誤為中心的檢測的態(tài)度,而不是為了讓功能需求與系統(tǒng)所完美吻合,這就已經(jīng)失去了測試的價值。首先,測試并不僅僅是為了要找出錯誤。而是要通過發(fā)現(xiàn)錯誤的原因,并且要對該錯誤的地方進行分析,還能做到解決當(dāng)前存在的問題,在以后的軟件開發(fā)中還可以有效的避免犯類似的錯誤,其次,通過一次又一次的測試,可以發(fā)現(xiàn)測試的不足之處,進而拓寬測試的方法。該測試沒有發(fā)現(xiàn)任何錯誤也是很有價值的,完整的測試必須是評定測試質(zhì)量的一種有效方式。5.2.2測試的步驟無論系統(tǒng)是在開發(fā)階段還是在測試階段,每個環(huán)節(jié)都需要按照一定的步驟來執(zhí)行,這是保證一個軟件系統(tǒng)可以正常運行的基礎(chǔ),而每個步驟之間都有著一定的關(guān)聯(lián)性,下一個步驟往往是承接了上一個步驟。與此同時,一個功能相對完善的軟件通常包含了不止一個子系統(tǒng),而每一個子系統(tǒng)里面又包含著許多模塊。因此在測試過程中,為了保證測試的有效性,通產(chǎn)包含了如下的步驟:(1)模塊測試模塊測試主要是從編碼的角度著手,通過編寫一小段代碼來檢測其功能,通常情況下,模塊測試都是在一定條件下,測試一個函數(shù)的行為是否存在錯誤。(2)系統(tǒng)測試系統(tǒng)測試即對一個產(chǎn)品進行系統(tǒng)的測試,在這一階段發(fā)現(xiàn)的問題通常包含以下兩種:一是軟件設(shè)計中存在的問題;而是需求說明中存在的問題。(3)驗收測試驗收測試主要是從軟件開發(fā)前的功能需求出發(fā),檢測是否與預(yù)期的功能需求相吻合5.2.3測試的主要內(nèi)容軟件開發(fā)最重要的環(huán)節(jié)就是測試,為了保證該有效性,包含以下內(nèi)容:代碼核實、單元測試、集成測試、確認(rèn)測試及系統(tǒng)測試。(1)單元測試單元測試是諸多測試內(nèi)容中的第一項,這一階段測試的主體是模塊上,模塊作為軟件開發(fā)過程中的最小單位,細微的問題都可能會對下一階段的進行產(chǎn)生影響,單元測試的進行旨在測試各個模塊的功能,測試其是否與預(yù)期功能需求相符合。(2)集成測試各個模塊都已經(jīng)測試完成之后是集成測試發(fā)生的主要背景。該測試主要針對的問題是各個模塊間接口是否存在問題。這一階段的測試非常重要,因為一旦出現(xiàn)錯誤,并且對此沒有予以重視,這些問題很有可能逐漸的積累起來,最終回在很大程度上影響軟件的正常運行。此外,通過集成測試還可以預(yù)防以下情況:當(dāng)兩個模塊分別可以正常運行時,但如果組合起來,功能就會有所改變。全程數(shù)據(jù)結(jié)構(gòu)可能有錯誤等。(3)確認(rèn)測試為了保證所開發(fā)的系統(tǒng)與其預(yù)期的功能需求相符合,進行確認(rèn)測試是非常重要的一個環(huán)節(jié),通過確認(rèn)測試,可以對軟件性能的有效性進行判定。確認(rèn)測試一般發(fā)生集成測試之后,集成測試只是單單將各個模塊組建起來,并將模塊間接口存在的錯誤進行排查,如果缺乏確認(rèn)測試,軟件很有可能出現(xiàn)與預(yù)期效果不符的問題。(4)系統(tǒng)測試軟件的開發(fā)只是系統(tǒng)成功運行的一個步驟,在軟件完成開發(fā)之后,還有一項工作需要投入足夠精力,那就是系統(tǒng)測試。系統(tǒng)的測試包括了諸多方面,例如:安全測試、性能測試以及壓力測試。通過系統(tǒng)測試可以看出設(shè)計的系統(tǒng)是否滿足需求關(guān)系,是否在運行過程中存在矛盾之處。單獨進行系統(tǒng)測試通常會從這幾個方面進行:功能測試:檢驗是否能夠滿足開發(fā)的需求,能否供給設(shè)計所描述的功能,能否滿足用戶的需求。功能測試是系統(tǒng)測試比較常用與必要的測試,一般會一正式的軟件說明書為測試的標(biāo)準(zhǔn)。②強度測試及性能測試:檢驗系統(tǒng)能力最高的實際限度,以及在超負荷情況下軟件功能實現(xiàn)的狀況。③安全測試:經(jīng)過檢驗得以證實安裝在系統(tǒng)里的保護機構(gòu)可以對其進行保護,能夠讓系統(tǒng)不收任何干擾。本系統(tǒng)主要是對權(quán)限系統(tǒng)的測試與對錯數(shù)據(jù)、無效的數(shù)據(jù)及非法數(shù)據(jù)干擾的能力的檢驗。通過以上對軟件系統(tǒng)測試后,該軟件能夠滿足開發(fā)的需求,測試宣布結(jié)束。5.2.4測試用例設(shè)計測試用例如下:功能模塊名:系統(tǒng)登錄測試目的:確定輸入信息是否合法,能夠允許合法的登陸,拒絕非法的登陸。測試數(shù)據(jù):用戶賬號名:test(測試),用戶密碼:1234系統(tǒng)管理員的登錄測試數(shù)據(jù)模板如下圖:表格5.1系統(tǒng)管理員的登錄測試數(shù)據(jù)模板測試數(shù)據(jù)測試功能期望結(jié)果實際結(jié)果用戶賬號名:test,密碼為空系

溫馨提示

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

評論

0/150

提交評論