XX年9-12月《數(shù)據(jù)庫系統(tǒng)》課程設計報告_第9組
《XX年9-12月《數(shù)據(jù)庫系統(tǒng)》課程設計報告_第9組》由會員分享,可在線閱讀,更多相關《XX年9-12月《數(shù)據(jù)庫系統(tǒng)》課程設計報告_第9組(59頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、《數(shù)據(jù)庫系統(tǒng)》課程報告 課題名稱:校園失物招領系統(tǒng) 組號:第9組 課題負責人名: 張麗夢0943111315 同組成員名單: 楊 飛0943111080 耿海霄0943111347 指導教師:龔 勛 評閱成績: 評閱意見: 提交報告時間:2021 年 12 月 7日 各成員的工作量劃分表 成員 工作 工作量 張麗夢 總體協(xié)調;系統(tǒng)需求分析、數(shù)據(jù)庫的設計與構建,部分文檔編寫;網(wǎng)頁設計 35% 楊 飛 實現(xiàn)用戶密碼加密算法的實現(xiàn),以及數(shù)據(jù)庫防注入策略的實現(xiàn),以及部分代碼的編寫。 35% 耿海霄 完成項目主框架的設計以及實現(xiàn),實現(xiàn)各個界面之間的鏈
2、接,部分文檔編寫。 30% 校園失物招領系統(tǒng) 軟件工程專業(yè) 學生: 張麗夢,耿海霄,楊飛 組號第9組指導老師龔勛 [摘要]傳統(tǒng)的校園失物招領服務一般是由紙筆記錄,專門的人員管理失物處理失物。信息渠道單一,查詢繁瑣,工作效率低無疑嚴重降低失物處理的效率而通過本系統(tǒng),失主可以通過網(wǎng)絡查詢自己丟失的物品是否被好心人拾到并給失物招領中心,以及對好心人的感謝等;管理員可以對失物信息,報失信息,留言信息等方便的進行管理。充分應用網(wǎng)絡環(huán)境,設計并開發(fā)失物招領系統(tǒng),基于“網(wǎng)絡平臺”接收和處理失物,方便了失主尋找丟失物品、拾主歸還撿拾物品和減輕失物招領處管理人員的工作負擔,提高失物招領工作的效率并使
3、其規(guī)范化和制度化。 關鍵詞:數(shù)據(jù)庫;防注入;失物招領;Discuz加密;垂直搜索。 The Lost and found system on campus Major: software engineering Group Number: 9Supervisor:Gongxun [Abstract] Traditional campus Lost and Found service is normally provided by pen and paper records, dedicated persons manage Lost handling property. A sin
4、gle information channel, query tedious, low efficiency undoubtedly seriously reduce the efficiency of property handling. Through this system, the owner can check their loss through the network whether well-meaning people has picked up the items and posted to Lost & Found, etc.; administrators send i
5、nformation on stolen property, Though making full use of the network environment, the lost and found system based on the "network platform" will take place, it is not only convenient for the owner to find missing items, but also reduce the lost property office management staff burden and improve lo
6、st and found work efficiency which makes loss handling standardized and institutionalized. [Keyword] Database;Injection;Loss and found;Vertical searching. 目錄 《數(shù)據(jù)庫系統(tǒng)》課程報告0 1 緒論7 1.1項目背景7 1.1.1 項目來源7 1.2 國內外現(xiàn)狀9 國內現(xiàn)狀10 1.3 信息管理系統(tǒng)中計算機應用的新發(fā)展11 1.4 本文工作12 2 系統(tǒng)分析12 2.1 項目主要工作12 2.2 功能分析13
7、2.2.1 系統(tǒng)信息源13 2.2.2 系統(tǒng)功能分析13 2.3 可行性分析14 2.3.1 可行性分析的目的14 2.3.3 經(jīng)濟可行性16 2.3.4 操作可行性16 2.3.5 法律可行性19 2.3.6 可行性研究結論19 3 系統(tǒng)設計19 3.1 設計思想19 3.2 系統(tǒng)建設目標20 3.2.1 近期目標20 3.2.2 遠期目標21 3.3 編譯環(huán)境搭建:21 3.4項目詳細設計23 3.4.1 數(shù)據(jù)庫設計23 3.4.2 數(shù)據(jù)表的設計以及分析25 3.4.3 搜索算法28 3.4.4 密碼加密算法28 3.4.5 數(shù)據(jù)庫防注入29 3.
8、5 前臺設計30 3. 本章小結32 4 研究內容描述33 4.1 項目概況33 4.2項目開發(fā)計劃及階段性完成情況34 4.2.1 項目成員分工:34 項目階段性完成情況:35 4.3項目開發(fā)的內容和結果35 4.4本章總結36 5 測試環(huán)境和過程描述36 5.1 測試環(huán)境37 5.2 測試方式37 5.3 測試步驟37 5.4 測試結果38 5.5 測試結果分析43 5.6 本章小結43 6 討論與體會43 6.1 實驗過程中的瓶頸43 6.1.1 物品的搜索方式43 如何通過圖片搜索信息44 6.1.3 如何標示物品的相似度44 6.2 實驗過
9、程中的體會45 6.3 項目評價46 6.4 對項目成果用于實際意義的闡述46 6.5 本章小結47 7 結束語47 7.1 項目感悟47 7.2 項目收獲48 參考文獻48 附錄一需求規(guī)格說明書 數(shù)據(jù)要求說明書51 1.引言51 2.數(shù)據(jù)的邏輯描述52 3.數(shù)據(jù)的采集53 需求說明書56 1.引言56 2.任務概述57 3.需求規(guī)定58 4.運行環(huán)境規(guī)定60 用戶手冊概要63 1.引言63 3.運行環(huán)境65 需求分析列表67 附錄二 設計文檔 開發(fā)計劃說明書70 1引言71 2 項目概述72 3 實施計劃73 4 支持條件76 5 專
10、題計劃要點76 附錄三 測試文檔 組件測試計劃78 1.引言79 2.計劃79 3.測試設計說明82 4.評價準則83 1緒論 1.1項目背景 1.1.1 項目來源 大學生由于攜帶的東西較多,而且經(jīng)常來往于不同的地方,活動多,因此很容易發(fā)生物品丟失的情況,但是大學里面又缺乏一套可以幫助學生尋找自己失物的系統(tǒng)。我們考慮到大學生普遍上網(wǎng),而且校園網(wǎng)絡覆蓋率高,因此我們希望通過網(wǎng)絡這種便捷高效的方式來實現(xiàn)一個失物招領系統(tǒng),提高失物招領業(yè)務。 1.1.2 項目目的和意義 當今社會是一個信息社會,信息已成為繼勞動力、土地、資本之后的又一大資源。誰控制的信息越多,誰利用信息資源
11、的效率越高,誰就會在各方面的競爭中占有一席之地,誰就會有更多的優(yōu)勢。商品管理信息系統(tǒng)是一個貿(mào)易公司不可缺少的部分,它的內容對于公司的決策者和管理者來說都至關重要,所以貿(mào)易管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但目前還有一些招領事務處理使用傳統(tǒng)人工的方式管理,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用,計算機業(yè)飛速發(fā)展,技術淘汰指標高得驚人,價格下降以及軟件應用的
12、快速擴展引發(fā)了以信息處理計算機化為標志的“微機革命”。 微型計算機的出現(xiàn)和普及,為信息處理提供了物美價廉的手段,對于推動我國管理信息處理現(xiàn)代化起到了重要作用。 使用計算機對商品信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高商品信息管理的效率,也是企業(yè)的科學化、正規(guī)化管理及與世界接軌的重要條件。 本項目的想法來源于對大學校園頻頻發(fā)生的丟失物品的關注。我們這個系統(tǒng)可以幫助在一定范圍內尋找丟失的物品。它可以幫助我們減少財產(chǎn)上的不必要的損失,也可以增加失主與撿到東西的人之間的交流。因此可以說是一個偏向
13、于實際應用,但又不缺乏社交元素的系統(tǒng)。我們小組在網(wǎng)上翻閱大量的資料后發(fā)現(xiàn),很多大學里面并沒有專門成立類似的組織來幫助失主去尋找失物,也沒有成立一些部門幫助那些撿到東西的人去尋找失主,因此撿到東西的人不知道該如何找到失主,而失主也無法通過相應的渠道來尋找自己的失物。這樣會造成大量的財產(chǎn)損失。因此我們開發(fā)這個平臺有助于大家進行這方面的交流,撿到東西的人可以通過這個平臺發(fā)布最新的消息以通知大家,而丟失物品的人可以通過這個平臺找到撿到他東西的人并進行聯(lián)系。這樣一來,財產(chǎn)上的損失避免了,并且還加強人與人之間的交流。 1.1.3 項目描述 本系統(tǒng)主要有兩部分構成,呈獻給用戶的是一個簡潔的搜索界面,它主
14、要由登陸,搜索這兩個模塊構成,用戶需要注冊,然后可以登陸到這個系統(tǒng)進行搜索,當然,用戶也可以在不登陸的情況下對網(wǎng)站上面的物品進行瀏覽、查看。這樣一來對用戶而言,可以避免大量的工作,而對本地數(shù)據(jù)庫來說,也不需要保留所有瀏覽用戶的信息,只需要對那些注冊的用戶信息進行保存、維護。之所以這樣設計的主要目的在于,這個系統(tǒng)只是提供一個平臺,并不是每個人每時每刻都會丟失東西,因此沒必要每個用戶非得注冊一個賬號,而且可能在很長的時間內用戶都不會去使用這個賬號,而造成大量的數(shù)據(jù)冗余。 另外一部分是數(shù)據(jù)庫,數(shù)據(jù)庫主要用來存放那些失物的信息以及撿到者的信息。物品信息包括撿到的事件,地點。以及對物品的描述,用戶信息
15、包括用戶的聯(lián)系方式,這樣更加有助于失主去尋找撿到者。整個系統(tǒng)在設計上是用戶和內部處理分開的。用戶無法得知數(shù)據(jù)庫的信息,而數(shù)據(jù)庫的信息只能由管理員來進行管理。 在數(shù)據(jù)庫管理這塊,我們在設計中想到,如果一個失物在很長一段時間后仍然沒有人來領取,那么這個失物的存在就沒有價值了,因此我們設計了一個定期進行物品檢查的功能,如果發(fā)現(xiàn)某個物品在很長時間內沒有查詢,也沒有被領取。那么系統(tǒng)就會自動刪除。在上傳數(shù)據(jù)這塊,我們采用的是分布式的,并不是所有的撿到者都需要將物品交由管理員來進行登記,而是這個撿到者可以自己登陸這個系統(tǒng)進行登記,描述物品樣子,留下自己的聯(lián)系方式。 在搜索這塊,由于我們的搜索技術很有限,
16、不可能通過圖片來進行搜索,因此我們采用的是關鍵字搜索,但是關鍵字搜索存在一個問題,因為對于某件物品,可能不同的人有不同的定義,可能有的人叫T恤,有人叫上衣。因此可能在搜索的時候造成不必要的重復或者是遺漏。針對這個問題,我們采用的是一種先由下而上再由上而下的搜索方式,具體來說,就是現(xiàn)將小類歸大類,在進行搜索的時候,將輸入的關鍵字在大類中進行查找。比如我們設定大類為衣服,那么,襯衫,長袖,毛衣等等都會被歸類到衣服里面,而某個用戶輸入毛衣后,我們就將毛衣升級到衣服里面,先將與毛衣這個關鍵字接近的所有搜索結果呈現(xiàn)給用戶,如果用戶并沒有在這些結果中發(fā)現(xiàn)自己想要的東西,那么我們再將衣服里面的內容呈現(xiàn)給用戶
17、。 基于這種考慮的原因是我們不想讓用戶因為對物品的認識不同而找不相應的物品,造成財產(chǎn)上的損失。在關鍵字搜索中,用戶可能會提供多個關鍵字,我們采用切詞軟件將這些關鍵字切成不同的類型,進行匹配。 由于這個系統(tǒng)是面向大學的,那么在實際應用中我們考慮不可能存在大量的失物,因此數(shù)據(jù)庫的存儲不會太大,因此我們的搜索效率還是很高的。而且我們提供全站搜索。這樣一來搜索的人可能幫助自己認識的人搜到他們的失物。在數(shù)據(jù)庫中,我們對數(shù)據(jù)的排列也進行了分類,我們按照時間將數(shù)據(jù)進行排列,如果一個人發(fā)現(xiàn)自己的東西丟了,那么他會在第一時間內進行登錄搜索,那么我們將丟失的物品按時間順序陳列給他,有助于他快速的尋找到自己的東
18、西。 1.2 國內外現(xiàn)狀 計算機的發(fā)明應用,被視為人類的第三次重大的科學技術革命,是一次飛躍。過去的革命最高成就就是“用機器制造機器”,是手的延長,而計算機的出現(xiàn)卻能做到“用機器控制機器”,是腦的延伸。計算機是提高生產(chǎn)效率的主要工具及途徑在西方國家,計算機系統(tǒng)的發(fā)展有以下四個階段: 第一階段(1953--1960)電子數(shù)據(jù)處理階段(EDP)。 此階段以單項數(shù)據(jù)處理為主,如財務管理、物資管理、工資管理等。 第二階段(1961--1970)信息管理系統(tǒng)階段(IMS)。在這期間,由于高速度的處理機、高速度大容量的存儲器與器件有了突破性進展,使得計算機應用系統(tǒng)從單項應用的ED
19、P發(fā)展到多功能、多層次、綜合性的應用階段,使得IMS日漸成熟,具有了控制、預測、輔助和決策的功能。 第三階段(1970--1980)決策支持系統(tǒng)階段(DSS)。在此階段解決的主要是面向高層管理,大范圍的決策問題以及非結構化信息的處理。 第四階段(1980--)職能管理系統(tǒng)階段(IMS),這個階段強調的是綜合管理功能,多維服務模式,人機協(xié)調的、智能化的、集成化的計算機輔助管理功能等。 據(jù)統(tǒng)計,目前,美國在財務會計上占有90%以上的工作由計算機完成;物資管理中80-100%的信息處理由計算機完成;計劃管理是90%左右;在計算機應用發(fā)展較快的國家中,計算機應用于經(jīng)濟管理的占80%以上;
20、用于科技計算的占8%以上,用于生產(chǎn)過程控制的占12%以上;由此可以看出,經(jīng)濟管理是計算機應用的主要領域。 1.2.1 國內現(xiàn)狀 由于種種原因,我國的信息資源建設水平遠遠落后于信息基礎設施的建設的水平。長期以來,我國信息資源的開發(fā)管理未能與信息資源的增長同步進行。我國有豐富的原始信息資源,但在此基礎上再生的二次信息系統(tǒng)和數(shù)據(jù)庫產(chǎn)業(yè)的規(guī)模和市場占有率、使用率相當?shù)?,大量的有價值的信息未能進一步加工成商品使其增值。我國的計算機應用要比西方國家落后十幾年,信息管理系統(tǒng)的開發(fā)應用是從1973年開始的,83年以后才開始了大量的實際的開發(fā)和研究工作。因此,信息資源的開發(fā)和利用已被確立為國民經(jīng)濟信息的核心
21、內容,信息數(shù)字化,傳輸?shù)木W(wǎng)絡化是縮小發(fā)展中國家與發(fā)達國家差距的捷徑,值世界信息化浪潮正以不可阻擋之勢席卷全球時,我國要迎頭趕上,就必須利用現(xiàn)有的信息基礎設施,重點開發(fā)和推廣應用于各類科技經(jīng)濟等數(shù)據(jù)庫和網(wǎng)絡資源服務系統(tǒng),以便取得巨大的社會效益和經(jīng)濟效益。 現(xiàn)在中國企業(yè)已進入“新管理時代”。經(jīng)過20年的改革開放,中國企業(yè)發(fā)展的宏觀環(huán)境和管理模式都發(fā)生了根本性的改變。企業(yè)管理在經(jīng)歷了計劃經(jīng)濟時期的“生產(chǎn)管理”時代,計劃經(jīng)濟與市場經(jīng)濟相結合時期的“混合管理”時代后,從九十年代末進入全面市場經(jīng)濟時期的“新管理”時代。新管理時的中國企業(yè)管理是面向市場、基于現(xiàn)代企業(yè)制度,是中國模式、價值化、系統(tǒng)化、電腦化
22、、國際化和普遍化管理的時代。 新管理時代的中國企業(yè)管理以建立競爭優(yōu)勢,提高企業(yè)競爭力為核心。要提高企業(yè)的競爭力就必須整合企業(yè)經(jīng)營,全面強化企業(yè)管理,形成企業(yè)持久發(fā)展的“內功”。越來越多的質優(yōu)企業(yè)舍得在管理系統(tǒng)上投資的舉動,足以說明這一趨勢。在市場競爭日益激烈,用戶需求不斷趨向多樣化,企業(yè)間關聯(lián)程度越來越密切的今天,要求企業(yè)行動必須快捷、靈敏,在管理的思想觀念、方式方法上不斷創(chuàng)新。人力已經(jīng)很難完全達到要求,必須借助當代信息科技的最新成果,優(yōu)化和加強企業(yè)的運營和管理。 這個系統(tǒng)的實現(xiàn)并不是非常復雜。只是需要將數(shù)據(jù)庫與網(wǎng)絡的應用連接起來,并且能對數(shù)據(jù)庫進行上傳、修改、刪除數(shù)據(jù)的操作。在網(wǎng)絡上,這種
23、系統(tǒng)已經(jīng)存在很多了,目前國內外對這一課題都有了一定研究,如國外的Missing Money網(wǎng)( :// missingmoney ),我國在2021 年奧運會期間,北京市公安局專門建立了失物招領(. )等。這種系統(tǒng)也經(jīng)常應用到政府部門的服務上,政府部門提供這種系統(tǒng)供市民上網(wǎng)進行查看,以期解決市民的實際問題。在國外這種網(wǎng)站也是有很多。有民間自發(fā)成立的,也有一些是市政府建立以此來幫助市民更好的找到失物的??傮w來說我們這個項目的難度不是很大。但具有面向范圍廣等,但也正因為這個原因,當具體點到校園里時,也就失去了他的真實價值。 1.3信息管理系統(tǒng)中計算機應用的新發(fā)展 1、面向高
24、層管理人員的信息和決策支持 主管支持系統(tǒng)——ESS(Executive Support Systems) 成組(群)決策支持系統(tǒng)——GDSS(Group Decision Support Systems) 智能支持系統(tǒng)——ISS(Intelligent Support System) §2、面向綜合應用的計算機集成制造系統(tǒng) 科學計算— CAD(Computer Aided Design) 生產(chǎn)過程控制—CAM(Computer Aided Manufacturing) 數(shù)據(jù)處理——MIS、DSS 概念:將CAD、CAM、MIS等不同類型的子系統(tǒng)逐一連接 起來一道工作,使之成為一
25、個有機的整體,即計算機集成制造系統(tǒng),即:CIMS(Computer Integrated Manufacturing)。 §3、面向企業(yè)間的信息系統(tǒng)——電子數(shù)據(jù)交換(EDI:Electronil Data Interchange) 與企業(yè)打交道的部門:上級領導部門、市場、用戶、原料供應單位、加工協(xié)作單位,甚至:顧客、供貨商、運輸商、銀行等。 EDI的概念:是結構化數(shù)據(jù)根據(jù)一組規(guī)則,在參與者之間自動地傳遞,也就是,共同的商業(yè)電子信函標準。 作用:是在某一公司的電子計算機與用戶或賣方等貿(mào)易伙伴的計算機之間傳送和接收具有標準格式的貿(mào)易單據(jù)。它要求必須用預先約定的表格形式來傳送單據(jù)。 1.4
26、 本文工作 本文主要用于對本項目組開發(fā)過程、項目功能、項目使用技術、項目測試結果等方面的詳細描述,以及在項目開發(fā)工程中,本項目遇到的一些瓶頸問題的相關解釋,以及在項目開發(fā)過程中使用的對應策略,最后在本文中通過項目演示結果截屏來展示我們項目的最終成果,當然在最后答辯的過程中我們主要通過演示視頻來展示我們的項目。 2 系統(tǒng)分析 2.1 項目主要工作 本項目主要的工作包括三個方面: 1、對項目整體做出規(guī)劃。我們在項目開始之前進行了大量的討論和認證,最終得到了項目的實現(xiàn)方案。 2、建立一個可供用戶查看的網(wǎng)站,這個網(wǎng)站力求做到簡潔易操作,因為用戶到這個網(wǎng)站的最主要目的就是來找自己所丟失的東西
27、,因此不需要一些亂七八糟的功能摻雜在里面,在網(wǎng)站呈現(xiàn)結果的時候,也是力求簡潔,只將該物品的圖片,信息,以及聯(lián)系方式呈現(xiàn)給搜索者,這樣一來搜索者可以根據(jù)以上描述與撿到東西的人進行聯(lián)系。 3、對數(shù)據(jù)庫的設計。這部分作為這個系統(tǒng)的核心,我們小組進行了大量的時間進行討論。首先是如何存儲數(shù)據(jù),以什么樣的形式存儲數(shù)據(jù),存儲哪些數(shù)據(jù)。然后是存儲的數(shù)據(jù)需要進行哪些操作。如何讓用戶通過他們的操作來實現(xiàn)數(shù)據(jù)庫內數(shù)據(jù)的變化。最后是如何管理這些數(shù)據(jù),如何管理那些冗余的過期的數(shù)據(jù)等等。在討論這些問題的時候我們并不是按照一定的套路進行, 而是處處聯(lián)系實際情況,以實際情況作為我們項目設計的理論,這樣一來我們的項目可以做到
28、實用性高,用戶界面良好的程度。 2.2 功能分析 2.2.1 系統(tǒng)信息源 按信息的來源,可將校園失物招領系統(tǒng)所需信息分為外部信息和內部信息。 (1)外部信息 外部信息一般是指與網(wǎng)站內部經(jīng)營無關但是與網(wǎng)站業(yè)務相關的各種信息,如市場信息等等。這里就市場信息進行簡單的分析。具體包括: 市場需求信息,主要有:與軟件功能,它反映了軟件的性能,如客戶的構成,客戶的各種分布等信息,消費動機,包括各種偏好,潛在需求等信息。 市場競爭信息,主要反映了市場競爭狀況,包括競爭對手的基本情況和市場分布信息。 客戶信息,包括系統(tǒng)客戶的基本情況和潛在客戶的分布狀況,客戶的主要特點以及對客戶支付能力,信用度
29、等方面的測評信息。 合作伙伴,包括與企業(yè)有業(yè)務聯(lián)系的其他企業(yè)等。 其它信息,如利用WWW方式為企業(yè)的服務管理分析提供的客戶調查,客戶愛好等各方面信息,通過E形式提供的客戶反饋信息等等。 (2)內部信息 內部信息是指軟件系統(tǒng)內部產(chǎn)生的各種信息,包括業(yè)務,財務,人員等方面的信息。 2.2.2 系統(tǒng)功能分析 圖2.2.1 系統(tǒng)功能介紹 各模塊功能詳細分析如下: (1)客戶管理: 客戶管理系統(tǒng)模塊是整個校園失物管理系統(tǒng)系統(tǒng)的重點和主干,該系統(tǒng)主要對客戶的信息進行管理并將客戶信息作為連接其余各個系統(tǒng)模塊的主線。主要功能就是將企業(yè)掌握的客戶信息進行詳細管理,并可以方便的對客戶信息進行添加
30、修改以及查詢。 (2)區(qū)域管理: 本系統(tǒng)使用樹狀結構分級管理區(qū)域信息??尚@,圍合,小到宿舍,清晰地體現(xiàn)各個區(qū)域之間的隸屬關系。方便地對企業(yè)在各地區(qū)的客戶的綜合管理,使本系統(tǒng)具有更廣泛的適用性。 (3)業(yè)務管理: 業(yè)務管理系統(tǒng)模塊主要就是將企業(yè)與客戶之間發(fā)生的各種活動進行詳細管理,并可以方便地對活動信息進行添加、修改等操作。提供方便全面的活動記錄參考。 (4)用戶管理: 用戶管理系統(tǒng)模塊記錄了系統(tǒng)用戶的信息,包括用戶名、密碼等,在這個模塊中可以對系統(tǒng)用戶信息進行修改、刪除以及添加新的用戶。 (5)日志管理: 主要是記錄用戶登錄本系統(tǒng)的情況,如登錄用戶名、登錄IP、登錄日期和操作
31、系統(tǒng)等一些信息,這樣可以提高系統(tǒng)的安全性,防止不同的用戶隨便更改系統(tǒng)數(shù)據(jù)。 (6)數(shù)據(jù)備份: 當對系統(tǒng)的數(shù)據(jù)進行修改時,為了確保系統(tǒng)的安全,將數(shù)據(jù)庫進行備份。 2.3 可行性分析 2.3.1 可行性分析的目的 可行性分析的目的是用最小的代價在盡可能短的時間內,確定問題是否能夠解決,也就是說,它的目的不是解決問題,而是確定問題是否值得解決,它是今后工作的決定性環(huán)節(jié)。 可行性分析階段要回答的關鍵問題是:“對于上一個階段所確定的問題有行得通的解決辦法過程,也就是在較抽象的高層次上進行的分析和設計過程。可行性研究應該比較簡短,這個階段的任務不是具體解決問題,而是研究問題的范圍,探索這個問題
32、是否值得去解,是否有可行的解決辦法。 可行性研究的結果是使用軟件者作出是否繼續(xù)進行這項工程的決定的重要依據(jù)。一般來說,只有投資可能取得的較大效益的那些工程項目才值得繼續(xù)進行下去??尚行匝芯恳院蟮哪切╇A段將要需要投入更多的人力物力。及時終止不值得投資的工程項目,可以避免更大的浪費。 在這個階段首先要進一步分析和澄清問題定義。在問題定義階段初步確定的規(guī)模和目標,要清楚的列舉出對目標系統(tǒng)的任何約束和限制。其次,在澄清了問題定義之后,分析員應導出系統(tǒng)的邏輯模型,然后從系統(tǒng)的邏輯模型出發(fā),探索若干可供選擇的解法(即系統(tǒng)實現(xiàn)方案)主要從技術可行性、經(jīng)濟可行性和操作可行性三個方面研究每種解法的可行性。
33、 當然可行性研究的最根本的任務是對以后的行動方針提出建議,以避免時間、資源、人力和金錢的浪費。 可行性研究所需要的時間長短取決于工程的規(guī)模,一般來說可行性研究的成本只是預期的工程總成本的5%——10%。 2.3.2 技術可行性 技術可行性分析主要是根據(jù)系統(tǒng)分析所得到的對待開發(fā)的軟件、支撐軟件、硬件環(huán)境和操作人員的要求以及有關的約束和限制,來分析現(xiàn)有的技術是否能實現(xiàn)待開發(fā)的軟件。它包括可得到的硬件和支撐軟件在功能和性能上是否滿足系統(tǒng)的要求,是否有滿足系統(tǒng)性能要求的算法,開發(fā)人員的技術水平能否勝任系統(tǒng)的開發(fā)等等。 從目前市場上比較流行的數(shù)據(jù)庫開發(fā)、管理軟件來看,對于比較簡單的中小型數(shù)據(jù)庫,
34、Microsoft Visual Basic 6.0/7.0 和Microsoft Access 97等結合無疑是在實際應用中較為成功的一種解決方案。但是由于我們所學的知識有限,經(jīng)過權衡考慮我們可以采用另一種相當?shù)慕鉀Q方案,即采用ASP.NET 和 SQL server 2000 的結合方案。前者為用戶提供了所一貫堅持的非常友好、操作簡單的用戶界面、完善而強大的數(shù)據(jù)庫操作功能(通過結合SQL語句實現(xiàn))和簡潔明了的數(shù)據(jù)庫接口;后者則可對數(shù)據(jù)庫實施操作、維護和權限識別功能,也可通過 ASP.NET 與SQL語句的結合對數(shù)據(jù)庫進行更復雜的操作。 結合本項實際,軟件失物招領業(yè)務的業(yè)務量雖然很復雜,但
35、是其經(jīng)營管理的水平和復雜程度相對來說還是可以分析清楚的,經(jīng)系統(tǒng)分析(主要是分析業(yè)務部的邏輯模型),可以設計出符合實際需求、易于理解、易于操作、易于維護的數(shù)據(jù)庫和操作系統(tǒng)。對于 SQL Server 2000 而言,管理這種模式和復雜程度的數(shù)據(jù)庫是游刃有余的。同樣對于 ASP.NET 來說,對數(shù)量較少的表和其間關系進行比較簡單的操作正是其擅長的功能,無論是查詢、統(tǒng)計或利用數(shù)學公式進行趨勢分析,都能順利完成。 開發(fā)的硬件可行性: 開發(fā)本系統(tǒng)所使用的軟件對于計算機硬件有一定的要求,尤其是要使系統(tǒng)能夠更加穩(wěn)定、運用更加方便快捷,對計算機的主存、主頻、外頻、外存(主要是硬盤的容量)都有比較高的要求,
36、否則將影響到本系統(tǒng)的正常運行,甚至導致數(shù)據(jù)計算的失誤等比較嚴重的錯誤,基本要求是: 1.Microsoft WindowsNT4.0 或更高版本,Microsoft Windows2000或更高版本。 2.PentiumⅢ系列或更高的微處理器。 3.Microsoft Windows支持的VGA或更高分辨率的顯示器。 4.應用程序和PHP要求32MB RAM(依據(jù)具體的類型庫或應用程序包括的動態(tài)連接庫而變化)或以上。 目前計算機軟硬件技術在成熟發(fā)展,為本系統(tǒng)的開發(fā)提供了堅實的技術基礎。本系統(tǒng)可以在普通計算機上運行,支持目前流行的操作平臺,例如 Windows2000/NT,Windo
37、wsXP等,在其上可以開發(fā)和運行。利用SQL server2000作為本系統(tǒng)的數(shù)據(jù)庫。ASP.NET作為系統(tǒng)的開發(fā)環(huán)境保證了代碼的模塊化要求,非常有利于以后對新系統(tǒng)的擴展和修改,本系統(tǒng)開發(fā)人員為電信系計算機專業(yè)學生,已完成本專業(yè)所有課程,熟悉開發(fā)環(huán)境有一定的軟件開發(fā)和編程能力。綜上所述,本系統(tǒng)的設計開發(fā)在技術上的條件是滿足的,因而,從技術角度也是可行的。 2.3.3 經(jīng)濟可行性 由于學生都具有優(yōu)越的上網(wǎng)環(huán)境和資源環(huán)境,因而項目小組除了利用自己的電腦編程外,還可以在學校的機房中進行編程。校園圖書館為學生提供了大量的紙質和電子教材。綜合分析,該軟件開發(fā)達到經(jīng)濟可行性 2.3.4 操作可行性
38、 與計算機硬件的巨大進步相比,應用軟件的開發(fā)生產(chǎn)率已成為限制計算機應用發(fā)展的瓶頸。因為本系統(tǒng)采用客戶/服務器模式,因而開發(fā)工具的選擇涉及到前臺和后臺開發(fā)工具的選擇問題。 軟件平臺: Windows + PHP + Apache + MySQL PHP概述: 用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI高出許多; PHP還可以執(zhí)行編譯后代碼,編譯可以達到加密和優(yōu)化代碼運行,使代碼運行更快。PHP具有非常強大的功能,所有的CGI的功能PHP都能實現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。 特點: 1、開
39、放的源代碼: 所有的PHP源代碼事實上都可以得到,這樣更利于初學者 學習PHP相關的知識。 2、PHP是免費的: 和其它技術相比,PHP本身免費。 3、PHP的快捷性: 程序開發(fā)快,運行快,對于技術本身開發(fā)人員學習快。嵌入 HTML:因為PHP可以嵌入HTML語言,它相對于其他語言,編輯 簡單,實用性強,更適合初學者。 4、跨平臺性強: 由于PHP是運行在服務器端的腳本,可以運行在UNIX、LINUX、 WINDOWS 下。 5、效率高: PHP消耗相當少的系統(tǒng)資源。 6、圖像處理: 用PHP動態(tài)創(chuàng)建圖像。 7、面向對象: 在php4,php5中
40、,面向對象方面都有了很大的改進,現(xiàn)在 PHP完全可以用來開發(fā)大型商業(yè)程序。 8、專業(yè)專注; PHP支持腳本語言為主,同為類C語言。 MySQL概述: 在數(shù)據(jù)庫方面使用的是MySQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。 MySQL特性介紹: 1.使用C和C++編寫,并使用了多種編譯器進行測試,保 證源代碼的可移植性。 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、N
41、ovell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。 3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4.支持多線程,充分利用CPU資源。 5.優(yōu)化的SQL查詢算法,有效地提高查詢速度。 6.既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語 言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。 7.提供TCP/IP、OD
42、BC和JDBC等多種數(shù)據(jù)庫連接途徑。 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。 9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。 Apache概述: Apache是世界使用排名第一的Web服務器軟件。Apache是以進程為基礎的結構,進程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個Apache Web站點擴容時,通常是增加服務器或擴充群集節(jié)點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務器,市場占有率達60%左右。 Apache特性介紹: 1、支持最新的 /1.1通信協(xié)議 2、擁有簡單而強有力的基于文件的配置過程 3
43、、支持通用網(wǎng)關接口 4、支持基于IP和基于域名的虛擬主機 5、支持多種方式的 認證 6、集成Perl處理模塊 7、集成代理服務器模塊 8、支持實時監(jiān)視服務器狀態(tài)和定制服務器日志 9、支持服務器端包含指令(SSI) 10、支持安全Socket層(SSL) 11、提供用戶會話過程的跟蹤 12、支持FastCGI 13、通過第三方模塊可以支持Java Servlets 如果你準備選擇Web服務器,毫無疑問Apache是你的最佳選擇。 2.3.5 法律可行性 所有軟件都選用正版。 所有技術資料都由提出方保管。 合同制定確定違約責任。 2.3.
44、6 可行性研究結論 綜合整個系統(tǒng)的技術可行性、經(jīng)濟可行性和操作可行性三個方面。無論是哪個方面都是有理論依據(jù)和實踐做做基礎的,因此,此系統(tǒng)是可行的。 3系統(tǒng)設計 3.1 設計思想 總體設計過程通常由兩個階段組成:系統(tǒng)設計,確定系統(tǒng)的具體實施方案;結構設計,確定軟件結構。 本系統(tǒng)的結構圖是采用數(shù)據(jù)流程圖映射法形成的,該方法緊密結構數(shù)據(jù)流程圖各級細化圖,按自頂向下的原則,依次將數(shù)據(jù)流程圖中的處理邏輯映射到結構圖中成為模塊,此方法簡單、方便、準確,使數(shù)據(jù)流程圖與結構圖建立對應統(tǒng)一關系,能體現(xiàn)出設計者前后一致的思想。 總體設計的任務是從系統(tǒng)的總體目標出發(fā),根據(jù)需求分析階段對系統(tǒng)邏輯功能的要
45、求并考慮到經(jīng)濟、技術和運行環(huán)境等方面的條件,確定系統(tǒng)的總體結構和系統(tǒng)各組成部分的技術方案,合理選擇計算機的通信的軟、硬件設備,提出系統(tǒng)的實施計劃,確??傮w目標的實現(xiàn)。 模塊化:模塊是數(shù)據(jù)說明可執(zhí)行語句等程序對象的集合,它是單獨命名而且可通過名字來訪問。模塊化就是把程序劃分成若干個模塊,每個模塊完成一個子功能,把這些模塊集中起來組成一個整體,可以完成指定的功能滿足整體的要求。 模塊獨立:模塊的獨立概念是模塊化、抽象信息隱蔽的局部化概念的直接結果。開發(fā)具有獨立功能而且和其他模塊之間沒有過多的相互作用的模塊,就可發(fā)做到模塊獨立。也就是說,使每個模塊完成一個相對獨立的特定子功能,并且和其他模塊之間
46、的關系很簡單。 模塊的獨立程度由內聚和耦合兩個標準來衡量。模塊的劃分應該盡量做到高內聚、低耦合。 耦合是對一個軟件結構內不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復雜程度,進入或訪問一個模塊的點,以及通過接口的數(shù)據(jù),在軟件設計中應該追求盡可能散松耦合的系統(tǒng)。耦合是影響軟件復雜程度的一個重要因素應該采取下述設計原則。盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內容耦合。 內聚的標志一個模塊內各個原素彼此結合的緊密程度,它是信息隱蔽和局部化自然擴展。 3.2 系統(tǒng)建設目標 校園失物管理系統(tǒng)總的建設目標是建立一個統(tǒng)一的信息綜合平臺,考慮到系統(tǒng)設和開發(fā)小組目前
47、的編程發(fā)展情況和相關的軟硬件的發(fā)展,在系統(tǒng)建設過程中做到近期目標和遠期目標相結合。本系統(tǒng)項目的目的包括:及時了解并掌握接觸的客戶信息,實時感知客戶需求,加強同客戶的交流和感情的建立,從而提高客戶滿意度和忠誠度;根據(jù)歷史數(shù)據(jù),對目標客戶進行分析,將全年的計劃指標準確定位到每一個客戶群,以增大計劃指標實現(xiàn)的可能,通過分析尋找新的切入點并進行新業(yè)務的開發(fā)。 3.2.1 近期目標 完成軟件目前已有的中心數(shù)據(jù)倉庫的建設,實現(xiàn)客戶信息的整合和集成,建立客戶資源管理系統(tǒng)平臺,從而實現(xiàn)對客戶信息的基本管理,包括客戶管理,區(qū)域管理,業(yè)務管理等等,并初步完成軟件與現(xiàn)有客戶相關的內部信息和外部信息的綜合。在數(shù)據(jù)
48、倉庫的基礎上,對客戶信息進行初步分析,初步建立與客戶交流的信息平臺,及時響應客戶的需求。 3.2.2 遠期目標 遠期系統(tǒng)實現(xiàn)的內容有:通過近期系統(tǒng)建立后的反饋情況,在對客戶需求進一步了解的情況下,繼續(xù)完善客戶資源管理平臺,完成企業(yè)與現(xiàn)有客戶相關的內部信息和外部信息的綜合管理,從而實現(xiàn)客戶綜合信息管理,營銷管理,銷售管理以及服務管理,進而完成對客戶的營銷分析,服務分析等功能,最終實現(xiàn)以客戶為中心的經(jīng)營理念。 3.3 編譯環(huán)境搭建: 在本項目開發(fā)過程中,主要是通過使用WAMP構建開發(fā)環(huán)境(下載地址:安裝圖解:),在下載完成WAMP安裝程序之后,將其安裝在C盤目錄下(安裝過程中,使用者可以修
49、改安裝路徑,但是千萬不能安裝在含有中文字符的文件目錄下,不然會產(chǎn)生WampSever無法運行,或者只能運行其中一個的問題,多數(shù)情況下是MySQL無法正常開啟。),安裝結束后,打開WampSever,當確保MySQL和Apache都正常運行時,才能繼續(xù)后面的操作,然后選擇phpMyAdmin,點擊進入,如果能正常打開就表明WAMP安裝成功。 圖3.3.1 WAMP安裝成功截圖 安裝成功后,用戶可以通過使用WAMP中的MySQL進行數(shù)據(jù)庫的搭建,步驟如下: 1、填寫數(shù)據(jù)庫名稱信息,選擇數(shù)據(jù)庫需要使用的“整理”信息。 圖3.3.2 創(chuàng)建新的數(shù)據(jù) 2、填好數(shù)據(jù)庫名稱以及“整理”信息后,點擊
50、創(chuàng)建,就可以創(chuàng)建一個新的數(shù)據(jù)庫: 圖3.3.3 數(shù)據(jù)庫建好的顯示結果 3、對數(shù)據(jù)庫中要使用的數(shù)據(jù)表進行創(chuàng)建。 圖3.3.4 數(shù)據(jù)表的創(chuàng)建 4、我們創(chuàng)建的item數(shù)據(jù)表,含有的屬性數(shù)目為6,執(zhí)行后截圖如下 圖3.3.5 數(shù)據(jù)表詳細內容 5、依次填寫數(shù)據(jù)表中的屬性信息,包含屬性名稱、屬性數(shù)據(jù)類型、數(shù)據(jù)長度、整理值(在該系統(tǒng)中均使用utf8_general_ci)、是否為空,默認值、額外值、是否為主鍵等相關信息,然后點“執(zhí)行”就可以創(chuàng)建數(shù)據(jù)表。 圖3.3.6 該系統(tǒng)中item數(shù)據(jù)表信息 6、完成數(shù)據(jù)表的創(chuàng)建之后,還可以通過在特定位置添加或者刪除一個數(shù)據(jù)表的屬性,我們可以選擇要
51、添加的位置。 圖3.3.7 執(zhí)行添加數(shù)據(jù)表屬性 3.4項目詳細設計 3.4.1 數(shù)據(jù)庫設計 設計:為實現(xiàn)一種簡單的垂直搜索功能,在這里,本系統(tǒng)采用了樹形數(shù)據(jù)庫設計。通過枚舉實現(xiàn)分類存儲搜索。如下圖 顯示了部分內容,而且顯示了其結構,我們采用的是一種先由下而上再由上而下的搜索方式,具體來說,就是現(xiàn)將小類歸大類,在進行搜索的時候,將輸入的關鍵字在大類中進行查找。比如我們設定大類為衣服,那么,襯衫,長袖,毛衣等等都會被歸類到衣服里面,而某個用戶輸入毛衣后,我們就將毛衣升級到衣服里面,先將與毛衣這個關鍵字接近的所有搜索結果呈現(xiàn)給用戶,如果用戶并沒有在這些結果中發(fā)現(xiàn)自己想要的東西,那么我們再
52、將衣服里面的內容呈現(xiàn)給用戶?;谶@種考慮的原因是我們不想讓用戶因為對物品的認識不同而找不相應的物品,造成財產(chǎn)上的損失。在關鍵字搜索中,用戶可能會提供多個關鍵字,我們采用切詞軟件將這些關鍵字切成不同的類型進行匹配。 圖3.4.1 物品類型樹形分類 圖3.4.2 系統(tǒng)中使用的物品大類信息圖3.4.3 系統(tǒng)中電子產(chǎn)品小類信息 圖3.4.4 數(shù)據(jù)庫設計的ER圖 實現(xiàn):本項目使用phpAdmin工具,以一種可視化數(shù)據(jù)庫管理實現(xiàn)。phpMyAdmin?是一個以PHP為基礎,以Web-Base方式架構在網(wǎng)站主機上的MySQL的數(shù)據(jù)庫管理工具,讓管理者可用Web接口管MySQL數(shù)據(jù)庫。借由此Web接口
53、可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。其中一個更大的優(yōu)勢在于由于phpMyAdmin跟其他PHP程式一樣在網(wǎng)頁服務器上執(zhí)行,但是您可以在任何地方使用這些程式產(chǎn)生的HTML頁面,也就是于遠端管理MySQL數(shù)據(jù)庫,方便的建立、修改、刪除數(shù)據(jù)庫及資料表。也可借由phpMyAdmin建立常用的PHP語法,方便在編寫網(wǎng)頁時所需要的SQL語法正確性。 phpAdmin功能: 1、建立、修改、刪除數(shù)據(jù)庫及資料表。 2、可透過接口操作,或是執(zhí)行SQL語法。 3、多國語系使用者接口,可自由切換。 4、支援超過52種不同語言的接口,含繁體中文與簡體中文
54、。 5、在資料表的維護方面,基本的功能具有: 檢查資料表 分析資料表 修復資料表 最佳化資料表 3.4.2 數(shù)據(jù)表的設計以及分析 在該系統(tǒng)中一共創(chuàng)建了4個數(shù)據(jù)表:用戶信息表-users、物 品類型表-type、物品列表-items、用戶評論表-comments。下面 開始依次對著四個表進行詳細介紹。 1、用戶信息表-users:該表一共有8個字段: id—數(shù)據(jù)表的主關鍵字,標示數(shù)據(jù)表中當前添加的信息是數(shù)據(jù)庫中添加的第幾條信息,而且在設計過程中,該值是默認增加的,當數(shù)據(jù)庫中添加一條用戶信息進去之后,該值就會默認加1,而且在設計過程中,該值使用的是整型數(shù)據(jù),最大值為11位數(shù)據(jù),當
55、該表的值超過11位數(shù)據(jù)后,就會自動將一些用戶信息保存到其他地方。 user_id—用戶的賬號信息,使用的是字符型數(shù)據(jù)表示,而且,該數(shù)據(jù)不能為空,沒有設置默認值。 user_password—用戶的密碼信息,使用的是字符型數(shù)據(jù),而且,在該信息表中保存的密碼信息是通過discuz加密后的密碼信息,該數(shù)據(jù)不能為空,沒有設置默認值。 user_name—用戶真實姓名信息,使用的是text文本格式數(shù)據(jù),而且該值不能為空,沒有設置默認值。 user_phone—用戶的 信息保存,雖然數(shù)據(jù)表上面顯示的 信息為20為字符型數(shù)據(jù),但是在使用PHP編碼的過程中,使用的是11位的數(shù)字串,而且該值不能
56、為空,沒有設置默認值。 user_email—用戶的郵件信息,使用的是字符型數(shù)據(jù),該值不能為空,沒有設置默認值。 user_salt—用于保存discuz加密過程中產(chǎn)生的6位隨機數(shù),使用的是字符型數(shù)據(jù),而且該值不能為空。 user_login—該數(shù)據(jù)表使用1位數(shù)據(jù)標示用戶是否登錄,該值不能為空,默認值為0,標示用戶尚未登錄系統(tǒng),當用戶登錄時,該值會變?yōu)?. 圖3.4.5 用戶信息表圖 用戶信息表的SQL語句 2、物品類型表-type:總有三個屬性: type_id—這個屬性用于描述物品類型的編號,也是該表的主關鍵字,默認增加,每當增加一中物品類型,該值就會加1,由于在該系統(tǒng)中的物
57、品類型由我們項目組自己定義好,因此物品類型編號都是對應的非負整型數(shù)據(jù),當值為-1時,表示沒有選擇類型。 type_name—這個字段主要記錄該系統(tǒng)中涉及到的一些物品類型的名稱。 type_parent—這個主要記錄該類型屬于哪一個類型的子集。 圖 物品類型信息表圖3.4.8 物品類型信息表的SQL語句 圖3.4.9 該系統(tǒng)使用到的一些類型 3、物品列表-items:該表一共有5個字段。 item_id—這個主要用于記錄用戶失物在數(shù)據(jù)庫中的編號信息,當用戶在該系統(tǒng)中注冊一個失物信息時,該值就默認加1,而且,該值也是該表的主關鍵字。 item_description—這個使用的是t
58、ext文本類型數(shù)據(jù),用于保存失主對于失物的描述信息,方便系統(tǒng)使用者的查看、比對,該值不能為空。 item_picture—這個使用text文本類型數(shù)據(jù),用于保存失主上傳的失物的圖片信息,該值不能為空。 type_id—這個使用int數(shù)據(jù),描述該物品對應的類型,該值不能由使用者輸入,該系統(tǒng)采用的是讓用戶選擇的方式,避免由于使用者的描述方式不同造成其他人員的誤解,該值的默認值為-1,表示尚未選擇類型。 register_time—這個使用datetime類型,用于保存用戶在系統(tǒng)中注冊物品的時間。 圖3.4.10 物品列表圖3.4.11 物品列表的SQL語句 4、用戶評論表-comment
59、s:共有4個字段。 comment_id—這個字段主要用于記錄目前評論編號,默認增加,這個是comment數(shù)據(jù)表的主關鍵字。 user_id—這個字段主要記錄該評論發(fā)表的用戶的賬號信息,不能為空。 comment_topic—這個字段主要用于記錄評論的主題,使用的是text類型數(shù)據(jù),不能為空。 comment_content—這個字段使用text類型數(shù)據(jù),記錄評論的主要內容信息,不能為空。 圖3.4.12 用戶評論表圖3.4.13 用戶評論表SQL語句 3.4.3 搜索算法 實現(xiàn)關鍵字匹配搜索。 通過匹配關鍵字,采用like匹配,得到itemID,傳遞給showItem。
60、圖3.4.14 搜索關鍵函數(shù)代碼表 在showItem找到該id下的失物,并將其分頁顯示。 圖3.4.15 分頁顯示系統(tǒng)中的物品函數(shù)代碼 3.4.4 密碼加密算法 雖然現(xiàn)在大部分網(wǎng)站的用戶注冊都采用密碼加密,但是現(xiàn)在一般采用的較安全的方式就是MD5加密方式,但是,近幾年,這種加密方式也有被破解的情況發(fā)生,雖然破解的幾率較低,但是其安全性還是受到人們的懷疑。因此,我們系統(tǒng)在MD5加密方式的基礎上再次進行加密,即使用現(xiàn)在最安全的密碼加密方式Discuz加密方式,這種加密方式雖然類似于MD5加密,但是在本質上還是有很大差別的,discuz加密是在密碼使用MD5加密過后再與產(chǎn)生的多位隨機數(shù)結合
61、再次使用MD5加密,從而使得密碼的安全性更高。 本系統(tǒng)在對用戶注冊密碼加密過程中使用的是六位隨機數(shù),下面是產(chǎn)生六位隨機數(shù)的代碼: 圖3.4.16 產(chǎn)生六位隨機數(shù)的代碼 同時在用戶信息表的設計過程中也同時加入了注冊時對應的六位隨機數(shù)的字段信息,將其保存在用戶信息表中,那么在登錄的過程中就可以通過輸入的用戶賬號提取到這六位隨機數(shù),將其與登錄時輸入的密碼結合使用discuz加密,看加密后的密文是否與用戶信息表中保存的一致,來決定是否輸入匹配。下面是注冊后對應的用戶信息表截圖 (user_password是加密過后的用戶密碼,user_salt就是產(chǎn)生的六位隨機數(shù)): 圖3.4.17 測試截
62、圖顯示加密結果 數(shù)據(jù)庫防注入 在該系統(tǒng)中,在加密方面還涉及了數(shù)據(jù)庫的防注入,這樣的話,避免了非法人員通過注入軟件入侵數(shù)據(jù)庫,從而得到數(shù)據(jù)庫管理人員的登錄信息,以管理員的身份登錄數(shù)據(jù)庫,以非法對數(shù)據(jù)庫中信息的增加、修改、刪除操作。 在實現(xiàn)數(shù)據(jù)庫防注入的過程中主要使用了兩個函數(shù):數(shù)據(jù)庫的注入檢測函數(shù):inject_check()、數(shù)據(jù)庫登錄url來路檢測:checkurl()。在防止注入函數(shù)中通過使用一個eregi()函數(shù),實現(xiàn)字符串的比對解析,由于在該系統(tǒng)中這個函數(shù)只使用了兩個參數(shù),因此只是單純的字符串比對,相同就返回true,返回用戶需要的信息;否則返回false,則提示輸入非法注入內
63、容,然后自行退出。在檢查來路時使用了一個preg_replace()函數(shù),通過執(zhí)行正則表達式的搜索和替換,檢查url來路是不是合法的。 圖3.4.18 數(shù)據(jù)庫防注入代碼 3.5 前臺設計 1用戶登錄注冊 用戶登錄中通過提取用戶輸入的登錄信息中的用戶名對應的賬號進行與數(shù)據(jù)庫的匹配,當查詢正確,匹配成功后即可登錄。進行與身份配的操作。 用戶注冊核心代碼 2 用戶注冊 用戶注冊功能與登錄功能類似,通過提取用戶輸入的注冊信息鏈接到數(shù)據(jù)庫中,查詢是否已注冊,如數(shù)據(jù)庫中已存在歷史記錄則提示注冊失物,否則,返回注冊成功。用戶可根據(jù)自己定義的用戶名進行登錄 用戶名的注冊代碼 3 插入一
64、條新的尋物記錄 首先通過$con = mysql_connect("localhost","root", "123456");進行與數(shù)據(jù)庫連接驗證,連接成功后,則將在用戶數(shù)據(jù)庫中新增一條關于用戶失物掛失的公告。 添加新物品 4 用戶自定義匹配查找方式 用戶登陸后,網(wǎng)站與后臺數(shù)據(jù)庫建立連接,連接成功后,用戶可根據(jù)自己的偏好查找自己失物信息是否被好心人受到,或是自己拾到的東西是否被失主認領 部分核心代碼 5 頁面整體設計 在index頁面中通過引用相應的PHP文件添加頁面中對應的鏈接 主頁面代碼 主頁面顯示 3. 本章小結 本章主要介紹了該系統(tǒng)在開發(fā)過程中的數(shù)據(jù)庫的構
65、建的方法與實現(xiàn),以及數(shù)據(jù)庫中數(shù)據(jù)表的創(chuàng)建過程,而且,在本章介紹了該系統(tǒng)中使用到的密碼加密技術、數(shù)據(jù)庫防注入技術以及垂直搜索技術。 4 研究內容描述 4.1 項目概況 本系統(tǒng)主要有兩部分構成,呈獻給用戶的是一個簡潔的搜索界面,它主要由登陸,搜索這兩個模塊構成,用戶需要注冊,然后可以登陸到這個系統(tǒng)進行搜索,當然,用戶也可以在不登陸的情況下對網(wǎng)站上面的物品進行瀏覽、查看。之所以這樣設計的主要目的在于,這個系統(tǒng)只是提供一個平臺,并不是每個人每時每刻都會丟失東西,因此沒有必須每個用戶非得注冊一個賬號,而且可能在很長的時間內用戶都不會去使用這個賬號,這樣就避免了造成大量的數(shù)據(jù)冗余。 另外一部分是數(shù)
66、據(jù)庫,數(shù)據(jù)庫主要用來存放那些失物的信息以及撿到者的信息。物品信息包括撿到的事件,地點。以及對物品的描述,用戶信息包括用戶的聯(lián)系方式,這樣更加有助于失主去尋找撿到者。整個系統(tǒng)在設計上是用戶和內部處理分開的。用戶無法得知數(shù)據(jù)庫的信息,而數(shù)據(jù)庫的信息只能由管理員來進行管理。 在數(shù)據(jù)庫管理這塊,我們在設計中想到,如果一個失物在很長一段時間后仍然沒有人來領取,那么這個失物的存在就沒有價值了,因此我們設計了一個定期進行物品檢查的功能,如果發(fā)現(xiàn)某個物品在很長時間內沒有查詢,也沒有被領取。那么系統(tǒng)就會自動刪除。在上傳數(shù)據(jù)這塊,我們采用的是分布式的,并不是所有的撿到者都需要將物品交由管理員來進行登記,而是這個撿到者可以自己登陸這個系統(tǒng)進行登記,描述物品樣子,留下自己的聯(lián)系方式。 在搜索這塊,由于我們的搜索技術很有限,不可能通過圖片來進行搜索,因此我們采用的是關鍵字搜索,但是關鍵字搜索存在一個問題,因為對于某件物品,可能不同的人有不同的定義,可能有的人叫T恤,有人叫上衣。因此可能在搜索的時候造成不必要的重復或者是遺漏。針對這個問題,我們采用的是一種先由下而上再由上而下的搜索方式,具體來說,就是現(xiàn)將小類
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。