基于WEB的企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于WEB的企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),基于,web,企業(yè),人事管理系統(tǒng),設(shè)計(jì),實(shí)現(xiàn)
摘 要
在這個(gè)信息蓬勃發(fā)展的時(shí)代,各個(gè)企業(yè)的規(guī)模也都越來越大,企業(yè)內(nèi)部人事發(fā)生變動(dòng)的頻率也在不斷增加。人們需要不斷的學(xué)習(xí)補(bǔ)充知識(shí),而傳統(tǒng)的人事管理中因?yàn)槿肆τ邢薏⑹艿綍r(shí)間空間的限制,已經(jīng)不能滿足人們的要求了。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,計(jì)算機(jī)漸漸成為人們獲取資源的重要方式之一。而對(duì)于各大公司而言,計(jì)算機(jī)化得公司人事系統(tǒng)正在一步一步的普及,不管是中小型公司還是大型公司都已經(jīng)開始引進(jìn)或者自己著手研發(fā)公司人事管理系統(tǒng)。
本系統(tǒng)主要基于 MVC 模式的 B/S 架構(gòu),由 JSP+Servlet 實(shí)現(xiàn)的,并且是在 Java 的編譯環(huán)境下執(zhí)行的,由于 Java 是面向?qū)ο缶幊?,所以在開發(fā)的時(shí)候具有 很好的面向?qū)ο笮?,同時(shí)使用 Dreamware 來進(jìn)行網(wǎng)頁(yè)設(shè)計(jì),這給我們的系統(tǒng)頁(yè)面 設(shè)計(jì)帶來了很大的方便,減輕了工作量。在設(shè)計(jì)過程中,參考 12306 網(wǎng)站的功能 和模塊進(jìn)行設(shè)計(jì),主要功能有用戶注冊(cè)登陸、管理聯(lián)系人、查詢車次、車票預(yù)訂、 后臺(tái)管理等。
關(guān)鍵詞:車票預(yù)訂系統(tǒng);JSP;Oracle
ABSTRACT
With the improvement of modern science and technology, the Internet has also developed rapidly, especially in recent years, the Internet has penetrated into people's daily life gradually. With the scope of people's activities increasing, travelling becomes a big problem. The majority of people now are traveling by train, they want to be able to buy a ticket without going out, and view the train departure time and remaining tickets, all of these need a suitable system to buy train tickets urgently, using this system can save resources and time for passengers, what’s more, it can improve work efficiency to easy people's travel.
This system is mainly based on the MVC pattern of B / S architecture which is implemented by the JSP and Servlet, the compiling environment is JAVA, Java is an object-oriented programming language, it have the object-oriented nature, using Dreamware for web design can bring convenience to us when designing web page, During the designing process, refer to the features and modules design of 12306, the main functions: user register, userlogin, contact management, trip inquiries, tickets booking background management.
Key words: ticket reservation system; JSP; Oracle
目 錄
1 緒論 1
1.1 研究的背景及意義 1
1.1.1 選題的背景 1
1.1.2 研究的意義 1
1.1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀 1
1.2 論文的組織結(jié)構(gòu) 2
2 需求分析 3
2.1 可行性分析 3
2.2 功能需求 3
2.2.1 子系統(tǒng)/模塊說明 3
2.3 非功能需求 4
2.3.1 性能需求 4
2.3.2 其它需求 4
2.3 開發(fā)工具簡(jiǎn)介 5
2.3.1 Oracle 數(shù)據(jù)庫(kù) 5
2.3.2 Tomcat 服務(wù)器 5
2.3.3 Myeclipse10.0 5
3 總體設(shè)計(jì) 6
3.1 設(shè)計(jì)思想 6
3.2 系統(tǒng)整體框架 6
3.3 功能模塊設(shè)計(jì) 6
3.3.1 前臺(tái)操作模塊 6
3.3.2 后臺(tái)操作模塊 7
4 數(shù)據(jù)庫(kù)設(shè)計(jì) 9
4.1 概念結(jié)構(gòu)設(shè)計(jì) 9
4.1.1 設(shè)計(jì)思路 9
4.1.2 E-R 圖 9
4.2 邏輯結(jié)構(gòu)設(shè)計(jì) 10
4.2.1 設(shè)計(jì)思路 10
4.2.2 邏輯模型 10
4.3 物理結(jié)構(gòu)設(shè)計(jì) 13
4.3.1 存儲(chǔ)結(jié)構(gòu) 13
5 詳細(xì)設(shè)計(jì) 18
5.1 系統(tǒng)主要功能模塊介紹 18
5.1.1 前臺(tái)操作模塊 18
5.1.2 后臺(tái)操作模塊 18
5.2 前臺(tái)模塊設(shè)計(jì) 19
5.2.1 用戶注冊(cè) 19
5.2.2 用戶登錄 19
5.2.3 列車信息查詢 20
5.2.4 車票預(yù)訂 21
5.3 后臺(tái)模塊設(shè)計(jì) 22
5.3.1 管理員登錄 22
5.3.2 后臺(tái)管理操作 23
6 系統(tǒng)測(cè)試 25
6.1 測(cè)試內(nèi)容 25
6.2 測(cè)試方法 25
6.3 測(cè)試用例 25
6.3.1 系統(tǒng)登錄測(cè)試 25
6.3.2 注冊(cè)用戶輸入信息測(cè)試 26
6.3.3 系統(tǒng)用戶登錄測(cè)試 27
6.3.4 車次信息黑盒測(cè)試 28
6.4 測(cè)試結(jié)果 28
7 總結(jié) 28
參考文獻(xiàn) 30
致 謝 31
1 緒論
1.1 研究的背景及意義
1.1.1 選題的背景
隨著現(xiàn)在科技的越來越快速的發(fā)展,計(jì)算機(jī)學(xué)科也越來越被人們所接受,計(jì) 算機(jī)與人們的生活也開始息息相關(guān)起來,它已深入到人類社會(huì)的各個(gè)領(lǐng)域之中, 并且發(fā)揮著越來越重要的作用,與人們的衣食住行已經(jīng)密不可分,對(duì)于使用計(jì)算 機(jī)和網(wǎng)絡(luò)的形式對(duì)火車信息進(jìn)行處理和管理的方式是非??尚械模?yàn)槭褂密浖?的方式對(duì)火車信息進(jìn)行管理具有人工管理所沒有的優(yōu)點(diǎn),例如:查詢方便,保存簡(jiǎn) 單,存儲(chǔ)量大,可靠性高,成本低,壽命長(zhǎng)等,使用軟件對(duì)火車信息進(jìn)行管理, 極大地提高了管理效率,并且也比較科學(xué),比較正規(guī),這也是與世界先進(jìn)國(guó)家接 軌的重要條件.
1.1.2 研究的意義
從古至今,出行一直是與人們的生活密不可分的,特別是現(xiàn)在中國(guó)擁有龐大 的人口基數(shù),所以擁有一個(gè)好的售票軟件是非常有必要的,現(xiàn)在我們國(guó)家也已經(jīng) 擁有了比較先進(jìn)的,發(fā)達(dá)的鐵路網(wǎng),但是售票系統(tǒng)卻還是上個(gè)世紀(jì) 60 年代左右
開發(fā)的一個(gè)系統(tǒng),這就有點(diǎn)跟不上社會(huì)前進(jìn)的腳步了,特別是在 2003 年之后, 國(guó)家開始加快發(fā)展現(xiàn)代化建設(shè)的腳步,中國(guó)的鐵路網(wǎng)也越來越全面,基本上覆蓋 了全國(guó)各地,這樣,售票問題需要解決就變成了一個(gè)非常嚴(yán)峻的問題,由于售票 問題一直得不到解決,每年到了節(jié)假日,特別是春運(yùn)期間,全國(guó)人民都會(huì)因?yàn)橘I 票而非??鄲溃幸恍┤擞捎谫I不到車票而不能回家過年,雖然現(xiàn)在鐵道部也 推出了電話訂票,但由于電話訂票比較麻煩,人們還是比較傾向于網(wǎng)上購(gòu)票。由 于大量的人都在網(wǎng)上購(gòu)票,這就對(duì)系統(tǒng)維護(hù)和運(yùn)行構(gòu)成了極大的挑戰(zhàn),所以,研 發(fā)一個(gè)好的售票系統(tǒng)是非常重要的,這也對(duì)我們實(shí)施國(guó)家惠民利民政策具有極其 重要的意義。
1.1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀
目前,使用售票軟件對(duì)交通運(yùn)輸信息進(jìn)行管理已經(jīng)在國(guó)內(nèi)外都得到了非常 廣泛的應(yīng)用,不管是對(duì)飛機(jī)信息,火車信息,汽車信息,輪船信息等,這些售票 方式現(xiàn)在都能夠在網(wǎng)上進(jìn)行訂票,退票,改簽的操作,這也極大的方便了人們的 出行,由于國(guó)外的各種售票系統(tǒng)都比國(guó)內(nèi)的運(yùn)用的較早,并且由于國(guó)外的通信條 件比國(guó)內(nèi)先進(jìn),所以國(guó)內(nèi)的售票系統(tǒng)與國(guó)外的還是有較大的區(qū)別的,國(guó)外的大多
9
數(shù)使用的主機(jī)/終端方式,由于我們國(guó)家的各種售票系統(tǒng)才剛剛大范圍的投入使 用,還有許多不足的地方,所以也還需要我們不斷的去修改和完善,由于我們國(guó) 家的人口比較多,這樣也就導(dǎo)致變化基數(shù)比較大,特別是在節(jié)假日,春運(yùn)期間, 各種售票系統(tǒng)就能很明顯的顯示出設(shè)計(jì)不足的地方,在春運(yùn)期間,大多數(shù)人都會(huì) 使用火車出行,而黃牛的各種壟斷車票的手段,使得很多人出現(xiàn)買票難的問題。 但總體還說,我國(guó)的鐵路售票系統(tǒng)還是很不錯(cuò)的,因?yàn)榫哂蟹浅V的覆蓋范圍、 交易的量也大、實(shí)時(shí)性非常強(qiáng)、席位精確管理、安全可靠性高,系統(tǒng)復(fù)雜程度高 等特點(diǎn),這也是國(guó)外任何一個(gè)國(guó)家的鐵路售票系統(tǒng)所不能比擬的。
1.2 論文的組織結(jié)構(gòu)
第一章 緒論:主要介紹選題背景、國(guó)內(nèi)外發(fā)展現(xiàn)狀及選題意義。
第二章 需求分析:根據(jù)系統(tǒng)需求進(jìn)行分析,包括功能需求、非功能需求和 可行性分析。同時(shí)也包括對(duì)開發(fā)工具的介紹。
第三章 總體設(shè)計(jì):介紹系統(tǒng)設(shè)計(jì)思想、整體框架和系統(tǒng)功能模塊設(shè)計(jì)。 第四章 數(shù)據(jù)庫(kù)設(shè)計(jì):主要體現(xiàn)該系統(tǒng)的表的結(jié)構(gòu)和存儲(chǔ)方式,以及表與表
之間的關(guān)系。
第五章 詳細(xì)設(shè)計(jì):對(duì)系統(tǒng)的主要模塊進(jìn)行分模塊詳細(xì)的介紹。
第六章 系統(tǒng)測(cè)試:對(duì)各個(gè)模塊進(jìn)行黑盒白盒測(cè)試,對(duì)測(cè)試結(jié)果進(jìn)行分析。 第七章 總結(jié)與展望:對(duì)設(shè)計(jì)該項(xiàng)目與論文的編寫的總結(jié)和對(duì)自己未來的規(guī)
劃期望。
2 需求分析
2.1 可行性分析
(1)技術(shù)可行性分析 在完成該項(xiàng)目過程中所使用的軟硬件工具要求不是很高。對(duì)于硬件方面,由
于軟件開發(fā)所需要的工具比較少,只需要一臺(tái)電腦就能完成開發(fā)工作,所以在開 發(fā)過程中使用自己的電腦就能進(jìn)行開發(fā)。在軟件資源方面,大學(xué)期間,也學(xué)過各 種語言,開發(fā)過一些軟件項(xiàng)目,對(duì)于代碼編寫有一定的能力,對(duì)系統(tǒng)的開發(fā)也比 較熟悉,同時(shí)對(duì)數(shù)據(jù)庫(kù)知識(shí)的也有一定的了解。但是由于本人開發(fā)項(xiàng)目經(jīng)驗(yàn)不足, 有些問題不能得到及時(shí)的解決,所以開發(fā)速度會(huì)比較慢。
(2)經(jīng)濟(jì)可行性分析 從市場(chǎng)上面來看,購(gòu)票系統(tǒng)還是比較少的,所以開發(fā)這樣的一個(gè)購(gòu)票網(wǎng)站在
市場(chǎng)上還是會(huì)有很大用途,擁有較好的前景。待系統(tǒng)開發(fā)出來后,進(jìn)行推廣運(yùn)營(yíng), 利潤(rùn)也是非常可觀。
(3)運(yùn)行可行性分析 運(yùn)行可行性是指系統(tǒng)能夠很好的運(yùn)行,不會(huì)在運(yùn)行上出現(xiàn)較大的錯(cuò)誤。在該
項(xiàng)目完成之后,能夠適用于不同的瀏覽器,并且具有很好的兼容性,能夠適用于 所有的用戶,并且該項(xiàng)目操作簡(jiǎn)單,適用性強(qiáng),在運(yùn)行過程中不會(huì)對(duì)其他軟件產(chǎn) 生任何影響。
2.2 功能需求
2.2.1 子系統(tǒng)/模塊說明
訂票系統(tǒng)的主要對(duì)象有:用戶,票務(wù)管理。針對(duì)這些不同的對(duì)象應(yīng)劃分相應(yīng) 的子系統(tǒng)進(jìn)行管理。
(1)用戶管理子系統(tǒng) 針對(duì)平臺(tái)的用戶分為注冊(cè)用戶、普通游客和后臺(tái)管理員,子系統(tǒng)需要完成對(duì)
注冊(cè)用戶的信息注冊(cè)審核,以及對(duì)普通游客的權(quán)限限制。游客只能查詢車次的信 息不能購(gòu)票,如果需要購(gòu)買必須注冊(cè)才能在訂票系統(tǒng)內(nèi)購(gòu)票。作為訂票系統(tǒng)的一 個(gè)重要組成部分,用戶管理子系統(tǒng)是以通過用戶管理提升購(gòu)票的可靠性和整體水 平從而提升用戶的體驗(yàn)度為目標(biāo),同時(shí)也是為了保證系統(tǒng)的安全性和可靠性。
(2)票務(wù)管理子系統(tǒng) 作為訂票系統(tǒng)的最大子系統(tǒng),最核心的功能是能夠查詢票務(wù)信息,供用戶訂
票,同時(shí)也包括后臺(tái)管理員對(duì)票務(wù)信息的發(fā)布,管理員可以查詢所有的用戶訂票 的信息,方便后臺(tái)管理員進(jìn)行管理。用戶在訂票后,生成訂單,供用戶支付或退 票。在整個(gè)過程中,票務(wù)管理子系統(tǒng)需要嚴(yán)格的做到座位分布的嚴(yán)謹(jǐn)性和出票的 一致性。
2.3 非功能需求
2.3.1 性能需求
用戶在軟件響應(yīng)速度、結(jié)果精度、運(yùn)行時(shí)資源消耗量等方面的要求。
(1)系統(tǒng)響應(yīng)時(shí)間,在一般情況下保證在 1s 以內(nèi),在使用高峰期情況下保證在 3S 以內(nèi)。
(2)系統(tǒng)吞吐量,保證每日 150000 條數(shù)據(jù)的吞吐量(具體待定)。
(3)保證數(shù)據(jù)的可用性和準(zhǔn)確性。
(4)保證系統(tǒng)能在 24 小時(shí)內(nèi)回復(fù)。
2.3.2 其它需求
為了能夠保證系統(tǒng)順利運(yùn)行,除了性能需求分析外還要分析其他的需求,因 為一款好的軟件是多方面的。所以在開發(fā)過程中,我們還應(yīng)注意如下幾點(diǎn):
(1)可擴(kuò)展性
可擴(kuò)展性是指能夠?qū)ο到y(tǒng)進(jìn)行功能擴(kuò)展,意思就是能夠增加一些該項(xiàng)目中原 來沒有的功能,能夠根據(jù)用戶的需求增加不同的功能,這樣才能保證系統(tǒng)被用戶 所喜愛而不被淘汰。
(2)兼容性
兼容性是指一個(gè)軟件能夠在不同的操作系統(tǒng)中和不同的瀏覽器下都能夠順 利的運(yùn)行,兼容性是判斷一個(gè)軟件是否成功的一個(gè)重要標(biāo)志。因?yàn)槿绻粋€(gè)軟件 只能在固定的瀏覽器中使用或者在固定的操作系統(tǒng)使用,這很難被用戶所接受, 這個(gè)軟件也不能迅速的得到推廣。
(3)易用性
易用性是指一個(gè)軟件有很好的操作界面,易于用戶操作,并且符合用戶的操 作習(xí)慣,每一個(gè)功能都能被用戶所熟悉。
(4)可維護(hù)性 可維護(hù)性是指一個(gè)軟件在被推廣之后,能夠利于維護(hù),出現(xiàn)問題能夠及時(shí)修
護(hù),可維護(hù)性是系統(tǒng)成功的一個(gè)重要標(biāo)志。
(5)可靠性和安全性
可靠性和安全性對(duì)每一個(gè)軟件都適用,因?yàn)槊恳粋€(gè)系統(tǒng)里面都保存了大量了 用戶信息,這些用戶的信息都是保密的,如果我們所開發(fā)的系統(tǒng)安全性不高,可 能就會(huì)出現(xiàn)問題,導(dǎo)致用戶信息泄露。所以系統(tǒng)開發(fā)過程中,我們也要盡可能的 考慮到系統(tǒng)安全性問題和可靠性問題。
2.3 開發(fā)工具簡(jiǎn)介
2.3.1 Oracle 數(shù)據(jù)庫(kù)
Oracle 是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它是在數(shù)據(jù)庫(kù)領(lǐng)域一直處 于領(lǐng)先地位。Oracle 有很好的移植性,并且功能強(qiáng)大,使用也很方便,能夠使 用于各種操作環(huán)境,現(xiàn)在大多開發(fā)者都在使用 Oracle,并且 Oracle 數(shù)據(jù)庫(kù)的安 全性也比較高,相比于 Mysql、Sql Server 這些數(shù)據(jù)庫(kù) Oracle 具有明顯的優(yōu)點(diǎn), 對(duì)開發(fā)者有更大的吸引力。可以說 Oracle 是世界上使用最廣泛的數(shù)據(jù)庫(kù)之一。
2.3.2 Tomcat 服務(wù)器
Tomcat 是 Apache 軟件基金會(huì)(Apache Software Foundation)的 Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由 Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。 由于有了 Sun 的參與和支持,最新的 Servlet 和 JSP 規(guī)范總是能在 Tomcat 中 得到體現(xiàn),Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 規(guī)范。因?yàn)?Tomcat 技 術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受 Java 愛好者的喜愛并得到了部分軟件 開發(fā)商的認(rèn)可,成為目前比較流行的 Web 應(yīng)用服務(wù)器。
2.3.3 Myeclipse10.0
該系統(tǒng)采用的代碼編寫工具是 Myeclipse10.0,基于以往的開發(fā)也使用的是 該工具,所以開發(fā)起來比較容易。MyEclipse 是一個(gè)十分強(qiáng)大的編譯工具,并且 MyEclipse 集成了許多功能,web 所需要的工具都被 MyEclipse 集成,所以該開 發(fā)工具能夠很好的支持 web 項(xiàng)目的開發(fā)。并且 MyEclipse 可以支持 JavaServlet, AJAX,JSP,JDBC 數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能。
3 總體設(shè)計(jì)
3.1 設(shè)計(jì)思想
網(wǎng)站的前臺(tái)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)并展示,網(wǎng)站的后臺(tái)用于更新整個(gè)網(wǎng)站的數(shù) 據(jù),數(shù)據(jù)庫(kù)用以來存放網(wǎng)站的數(shù)據(jù)。用戶根據(jù)自己的需求選擇票務(wù)信息,完成整 個(gè)訂票過程,則在前臺(tái)就需要將客戶所需要的票信息通過查詢數(shù)據(jù)庫(kù)全部顯示在 前臺(tái)??紤]到整個(gè)系統(tǒng)的價(jià)值意義和前臺(tái)的美觀,在布局方面要合理,界面設(shè)計(jì) 要符合用戶的操作習(xí)慣。
3.2 系統(tǒng)整體框架
系統(tǒng)模塊圖如圖 1 所示:
圖 1 系統(tǒng)功能模塊圖
3.3 功能模塊設(shè)計(jì)
3.3.1 前臺(tái)操作模塊
前臺(tái)界面采用統(tǒng)一的風(fēng)格,展現(xiàn)訂票系統(tǒng)獨(dú)有的特點(diǎn),同時(shí)方便今后的維護(hù) 與拓展;整個(gè)風(fēng)格以藍(lán)色為主,體現(xiàn)訂票系統(tǒng)簡(jiǎn)約的風(fēng)格;界面設(shè)計(jì)簡(jiǎn)潔大方, 體現(xiàn)目前大多數(shù)網(wǎng)站主流的設(shè)計(jì)理念;采用 javascript 人機(jī)交互,實(shí)現(xiàn)動(dòng)態(tài)美 感。
用戶在首次進(jìn)入該系統(tǒng),則會(huì)先進(jìn)行注冊(cè),再進(jìn)行登錄,若未進(jìn)行登錄就如 系統(tǒng),則會(huì)自動(dòng)跳到登錄界面。登錄系統(tǒng)后,用戶進(jìn)行查詢,訂票,生成訂單后, 用戶可以進(jìn)入我的 12306 查看訂單信息,可以選擇是退票還是付款兩種方式來完
整個(gè)訂票流程。 前臺(tái)操作流程圖如圖 2 所示:
圖 2 網(wǎng)站前臺(tái)流程圖
3.3.2 后臺(tái)操作模塊
在后臺(tái)的管理中,管理員可以完成網(wǎng)站首頁(yè)公告的發(fā)布、新聞動(dòng)態(tài)的發(fā)布、 對(duì)用戶訂單的查詢、車次的添加和刪除,同時(shí)擁有對(duì)用戶管理、票務(wù)管理和維護(hù) 等的功能。系統(tǒng)開發(fā)基于 javabean+servlet+jsp 的 J2EE 框架實(shí)現(xiàn),將頁(yè)面顯 示和后臺(tái)業(yè)務(wù)處理分開,從而簡(jiǎn)化頁(yè)面設(shè)計(jì)和編程之間的開發(fā)工作。
后臺(tái)是完成對(duì)整個(gè)網(wǎng)站系統(tǒng)的各項(xiàng)操作與維護(hù),它的功能相比于前臺(tái)復(fù)雜。 整個(gè)后臺(tái)界面采用 jsp+css 負(fù)責(zé)整個(gè)網(wǎng)頁(yè)界面的布局。根據(jù)需求,大致可以分為 添加和修改模塊,比如新聞動(dòng)態(tài)、車次的添加與修改,為了保證網(wǎng)頁(yè)內(nèi)容的美觀 性,使用所見即所得的富文本編輯器,類似 word 操作,輕巧快捷方便。 管理員 在登錄后臺(tái)系統(tǒng)后,可以對(duì)用戶信息、車次信息、新聞動(dòng)態(tài)和常見問題進(jìn)行維護(hù) 和管理,同時(shí)管理員也可以修改自身的密碼。
后臺(tái)操作流程圖如圖 3 所示:
圖 3 網(wǎng)站后臺(tái)流程圖
4 數(shù)據(jù)庫(kù)設(shè)計(jì)
4.1 概念結(jié)構(gòu)設(shè)計(jì)
4.1.1 設(shè)計(jì)思路
概念結(jié)構(gòu)設(shè)計(jì)的目標(biāo)是通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú) 立于具體 DBMS 的概念模型。
(1)一個(gè)管理員可以維護(hù)多條問題信息,一條問題信息只能被一個(gè)管理員維護(hù)。
(2)一個(gè)管理員可以維護(hù)多條新聞動(dòng)態(tài),一條新聞動(dòng)態(tài)只能被一個(gè)管理員維護(hù)。
(3)一個(gè)注冊(cè)用戶下可以擁有多個(gè)聯(lián)系人,一個(gè)聯(lián)系人也可屬于多個(gè)用戶。
(4)一個(gè)用戶可以擁有多張車票信息,一張車票只能被一個(gè)用戶所擁有。
(5)一輛車次可以擁有多個(gè)車票信息,一張車票只能擁有一輛車次的信息。 (6) 一個(gè)管理員可以維護(hù)多輛車次信息,一輛車次只能被一個(gè)管理員維護(hù)。
4.1.2 E-R 圖
車票預(yù)訂 E-R 圖如圖 4 所示:
圖 4 車票預(yù)訂 E-R 圖
4.2 邏輯結(jié)構(gòu)設(shè)計(jì)
4.2.1 設(shè)計(jì)思路
數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本 E-R 圖轉(zhuǎn) 換為與選用的 DBMS 產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。
對(duì)于一對(duì)多關(guān)系,將一的一方的主鍵作為多的一方的外鍵。 對(duì)于多對(duì)多的關(guān)系,進(jìn)行拆分,分成兩個(gè)一對(duì)多關(guān)系,添加一張關(guān)聯(lián)表,
將兩個(gè)實(shí)體的主鍵作為關(guān)聯(lián)表的外鍵。
4.2.2 邏輯模型
(1)管理員表的 E-R 圖如圖 5 所示:
圖 5 管理員 E-R 圖
(2)用戶表的 E-R 圖如圖 6 所示:
圖 6 用戶信息 E-R 圖
19
(3)常用聯(lián)系人表的 E-R 圖如圖 7 所示:
圖 7 常用聯(lián)系人 E-R 圖
(4)車次表的 E-R 圖如圖 8 所示:
圖 8 車次信息 E-R 圖
(5)列車車次表的 E-R 圖如圖 9 所示:
車站
車次id
天數(shù)
站序
到站時(shí)間
TRAIN
離站時(shí)間
里程
狀態(tài)
列車車次信息
圖 9 列車車次信息 E-R 圖
(6)車票信息表的 E-R 圖如圖 10 所示:
圖 10 車票信息 E-R 圖
(7)新聞表的 E-R 圖如圖 11 所示:
圖 11 新聞信息 E-R 圖
(8)常見問題表的 E-R 圖如圖 12 所示:
圖 12 常見問題信息 E-R 圖
4.3 物理結(jié)構(gòu)設(shè)計(jì)
4.3.1 存儲(chǔ)結(jié)構(gòu)
表 1:管理員表(管理員 id,名稱,密碼)。
表 2:新用戶表(用戶 id,用戶名,用戶 密碼,密保問題,密保答案, 真實(shí)姓名,性別,國(guó)家,證件類型,證件號(hào)碼,生日,郵件,電話,狀態(tài), 學(xué)校所在省份,學(xué)校名稱,所在院系,班級(jí),學(xué)號(hào),學(xué)號(hào),學(xué)制,入學(xué)年份, 優(yōu)惠 id,優(yōu)惠區(qū)間起點(diǎn),優(yōu)惠區(qū)間終點(diǎn))。
表 3:常用聯(lián)系人表(常用聯(lián)系人 id,真實(shí)姓名,性別,國(guó)家,證件類 型,證件號(hào)碼,生日,郵件,電話,狀態(tài),學(xué)校所在省份,學(xué)校名稱,所在 院系,班級(jí),學(xué)號(hào),學(xué)號(hào),學(xué)制,入學(xué)年份,優(yōu)惠 id,優(yōu)惠區(qū)間起點(diǎn),優(yōu)惠 區(qū)間終點(diǎn),新用戶 id)。
表 4:車次信息表(車次 id,列車車次號(hào),車次等級(jí),始發(fā)站,始發(fā)時(shí) 間,終點(diǎn)站,終到時(shí)間)。
表 5:列車車次表(列車車次 id,站序,車站,車次 id,天數(shù),到站時(shí) 刻,出站時(shí)刻,狀態(tài),里程)。
表 6:車票信息表(車票 id,票主,車次,座位號(hào),座位類型,車票類 型,票價(jià),發(fā)車日期,起點(diǎn),終點(diǎn),發(fā)車時(shí)間,到站時(shí)間,身份證號(hào)碼,手 機(jī)號(hào)碼,購(gòu)買時(shí)間,票的狀態(tài),票的購(gòu)買者)。
表 7:新聞表(新聞 id,標(biāo)題,出版時(shí)間,圖片路徑,作者,內(nèi)容)。 表 8:?jiǎn)栴}管理表(問題 id,標(biāo)題,問題類型,添加時(shí)間,圖片路徑,
作者,內(nèi)容)。
(1)管理員表如表 1 所示:
表 1 管理員表(admin)
字段名
字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng)
備注
AID TANAME
INT VARCHAR2
20
Y
Y
管理員 id
管理員名稱
TAPWD
VARCHAR2
20
密碼
(2)用戶表如表 2 所示:
表 2 用戶表(userinfo)
字段名
字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng)
備注
USERID
INT
否
Y
Y
用戶 id
TUNAME
VARCHAR2
40
是
用戶名稱
TUPWD
VARCHAR2
40
是
密碼
TQUESTION
VARCHAR2
100
是
密保問題
TANSWER
VARCHAR2
100
是
密保答案
TREALNAME
VARCHAR2
20
是
真實(shí)姓名
TSEX
VARCHAR2
10
是
性別
TCOUNTRY
VARCHAR2
40
是
國(guó)家
TIDTYPE
VARCHAR2
40
是
證件類型
TIDCARD
VARCHAR2
20
是
證件號(hào)碼
TBIRTHDAY
VARCHAR2
20
是
生日
TEMAIL
VARCHAR2
50
是
郵件
TELEPHONE
VARCHAR2
20
是
電話
TSTATUS
VARCHAR2
20
是
狀態(tài)
TPROVINCE
VARCHAR2
40
是
學(xué)校省份
TCOLLEGE
VARCHAR2
40
是
學(xué)校名稱
TDEPARTMENT
VARCHAR2
40
是
所在院系
TBANJI
VARCHAR2
20
是
班級(jí)
TSNO
VARCHAR2
20
是
學(xué)號(hào)
TSCHOOLING
VARCHAR2
20
是
學(xué)制
續(xù)表 2
字段名 字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng) 備注
TINYEAR VARCHAR2
20
是
入學(xué)年份
TYOUHUIID VARCHAR2
20
是
優(yōu)惠 id
TSTARTLOCATION VARCHAR2
20
是
優(yōu)惠區(qū)間起點(diǎn)
TENDLOCATION VARCHAR2
20
是
優(yōu)惠區(qū)間終點(diǎn)
TEMP1 VARCHAR2
40
是
附加字段 1
TEMP2 VARCHAR2
40
是
附加字段 2
(3)常用聯(lián)系人表如表 3 所示:
表 3 常用聯(lián)系人表(contact)
字段名
字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng) 備注
CONID
INT
否
Y
Y 用戶 id
TREALNAME
VARCHAR2
20
是
真實(shí)姓名
TSEX
VARCHAR2
10
是
性別
TCOUNTRY
VARCHAR2
40
是
國(guó)家
TIDTYPE
VARCHAR2
40
是
證件類型
TIDCARD
VARCHAR2
20
是
證件號(hào)碼
TBIRTHDAY
VARCHAR2
20
是
生日
TEMAIL
VARCHAR2
50
是
郵件
TELEPHONE
VARCHAR2
20
是
電話
TSTATUS
VARCHAR2
20
是
狀態(tài)
TPROVINCE
VARCHAR2
40
是
學(xué)校省份
TDEPARTMENT
VARCHAR2
40
是
所在院系
TBANJI
VARCHAR2
20
是
班級(jí)
TSNO
VARCHAR2
20
是
學(xué)號(hào)
TSCHOOLING
VARCHAR2
20
是
學(xué)制
TINYEAR
VARCHAR2
20
是
入學(xué)年份
TYOUHUIID
VARCHAR2
20
是
優(yōu)惠 id
TSTARTLOCATION VARCHAR2
20
是
優(yōu)惠區(qū)間起點(diǎn)
TENDLOCATION VARCHAR2
20
是
優(yōu)惠區(qū)間終點(diǎn)
TUSERID VARCHAR2
40
否
用戶 id
TDEPARTMENT VARCHAR2
40
是
所在院系
TBANJI VARCHAR2
20
是
班級(jí)
TSNO VARCHAR2
20
是
學(xué)號(hào)
TSCHOOLING VARCHAR2
20
是
學(xué)制
TINYEAR VARCHAR2
20
是
入學(xué)年份
TYOUHUIID VARCHAR2
20
是
優(yōu)惠 id
TSTARTLOCATION VARCHAR2
20
是
優(yōu)惠區(qū)間起點(diǎn)
TENDLOCATION VARCHAR2
20
是
優(yōu)惠區(qū)間終點(diǎn)
(4)車次信息表如表 4 所示:
表 4 車次信息表(trainno)
字段名 字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng)
備注
TRAINNOID INT
否
Y
Y
車次 id
TRAINNUM VARCHAR2
20
是
列車車次號(hào)
TAINTYPE VARCHAR2
20
是
車次等級(jí)
TSTARTSTATION VARCHAR2
20
是
始發(fā)站
TSTARTTIME DTAE
是
始發(fā)時(shí)間
TENDSTATION VARCHAR2
20
是
終點(diǎn)站
TENDTIME DATE
是
終到時(shí)間
TEMP1 VARCHAR2
20
是
附加字段 1
TEMP2 VARCHAR2
20
是
附加字段 2
(5)列車車次表如表 5 所示:
表 5 列車車次表(train)
字段名
字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng) 備注
TRAINID
INT
否
Y
Y 列車車次 id
TSTATIONID
INT
是
站序
TSTATION
VARCHAR2
20
車站
TRAINNOID
INT
是
車次 id
TDAYS
INT
是
天數(shù)
TARRIVETIME
DTAE
是
到站時(shí)刻
TLEAVETIME
DATE
是
出站時(shí)刻站
TMARK
INT
是
狀態(tài)
TDISTANCE
INT
是
里程
TEMP1
VARCHAR2
20
是
附加字段 1
TEMP2
VARCHAR2
20
附加字段 2
(6)車票信息表如表 6 所示:
表 6 車票信息表(ticket)
字段名
字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng)
備注
TICKETID
INT
否
Y
Y
車票 id
TREALNAME
VARCHAR2
20
是
票主
TRAINNUM
VARCHAR2
20
是
車次
TSEATNO
VARCHAR2
20
是
座位號(hào)
TSEATTYPE
VARCHAR2
20
是
座位類型
TICKETTYPE
VARCHAR2
20
是
車票類型
TPRICE
VARCHAR2
20
是
票價(jià)
TSTARTDATE
VARCHAR2
20
是
發(fā)車日期
TSTATION1
VARCHAR2
20
是
起點(diǎn)
續(xù)表 6
字段名
字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng)
備注
TSTATION2
VARCHAR2
20
是
終點(diǎn)
TIME1
VARCHAR2
20
是
發(fā)車時(shí)間
TIME2
VARCHAR2
20
是
到站時(shí)間
TSFZ
VARCHAR2
20
是
身份證號(hào)碼
TPHONE
VARCHAR2
20
是
手機(jī)號(hào)碼
TBUYTIME
VARCHAR2
20
是
購(gòu)買時(shí)間
TSTATUS
INT
是
票的狀態(tài)
TUSERID
INT
否
票的購(gòu)買者
(7)新聞表如表 7 所示:
表 7 新聞表(news)
字段名 字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng)
備注
NEWSID INT
否
Y
Y
新聞 id
TNTITLE VARCHAR2
300
是
標(biāo)題
TPUBLISHTIME VARCHAR2
20
是
出版時(shí)間
TNPIC VARCHAR2
20
是
圖片路徑
TNAUTHOR VARCHAR2
40
是
作者
TNCONTENT VARCHAR2
4000
是
內(nèi)容
(8)常見問題表如表 8 所示:
表 8 常見問題表(questions)
字段名
字段類型
字段長(zhǎng)度
允許空值
主鍵
自動(dòng)增長(zhǎng)
備注
QID
INT
否
Y
Y
問題 id
TQTITLE
VARCHAR2
300
是
標(biāo)題
TQTYPE
VARCHAR2
20
是
添加類型
TADDTIME
VARCHAR2
20
是
添加時(shí)間
TQPIC
VARCHAR2
40
是
圖片路徑
TQAUTHOR
VARCHAR2
20
是
作者
TQCONTENT
VARCHAR2
4000
是
內(nèi)容
5 詳細(xì)設(shè)計(jì)
5.1 系統(tǒng)主要功能模塊介紹
5.1.1 前臺(tái)操作模塊
(1)用戶注冊(cè)登錄:用戶如果需要購(gòu)票,就必須先進(jìn)行注冊(cè),只有注冊(cè)之后再 登錄才能在該系統(tǒng)中購(gòu)票。
(2)網(wǎng)上訂票:作為系統(tǒng)的最核心的功能,同時(shí)也包括退票和付款兩大部分。 用戶在訂票后可以經(jīng)過退票進(jìn)行退訂,同時(shí)也可進(jìn)行支付,完成用戶的整個(gè)訂票 流程。
a. 車次查詢:通過列車信息查詢,用戶可以獲得自身需求的票務(wù)信息,包括車 次,發(fā)車日期,發(fā)車時(shí)間,座位信息等,從而方便用戶進(jìn)行購(gòu)票。
b. 車票預(yù)訂:點(diǎn)擊預(yù)訂按鈕,進(jìn)行車票預(yù)訂,可以選擇票主、座位級(jí)別、票種 等信息,便可提交訂單。
c. 查看訂單:用戶訂票后,進(jìn)入我的 12306,查看訂單,可以選擇退票或者付 款兩種方式。
(3)通知發(fā)布:前臺(tái)顯示的兩個(gè)模塊包括動(dòng)態(tài)發(fā)布和系統(tǒng)通知發(fā)布,所有通知 在前臺(tái)進(jìn)行顯示,由管理員在后臺(tái)進(jìn)行添加,方便用戶進(jìn)入系統(tǒng)進(jìn)行操作。
5.1.2 后臺(tái)操作模塊
(1)后臺(tái)管理員登錄:只有管理員才能登錄后臺(tái)系統(tǒng),對(duì)后臺(tái)系統(tǒng)進(jìn)行操作。
(2)用戶管理:前臺(tái)所有用戶的注冊(cè)信息,包括用戶的常用聯(lián)系人,顯示在表 格內(nèi),管理員擁有對(duì)注冊(cè)用戶的維護(hù)權(quán)限,同時(shí)管理員還可以修改自身密碼,擁 有對(duì)用戶訂單信息的維護(hù)。
(3)車次管理:管理員需要不定時(shí)的對(duì)車次信息進(jìn)行更新,顯示在前臺(tái),方便 前臺(tái)用戶能夠及時(shí)的查看最新的車票信息。
(4)動(dòng)態(tài)管理:管理員能夠?qū)囕v信息進(jìn)行管理,在后臺(tái)添加車輛信息,然后 在前臺(tái)顯示。
(5)問題管理:為了解決用戶在購(gòu)票過程中遇到的問題,管理員在后臺(tái)可分類 對(duì)問題進(jìn)行添加和刪除,顯示在前臺(tái),方便用戶進(jìn)行查看。
5.2 前臺(tái)模塊設(shè)計(jì)
5.2.1 用戶注冊(cè)
用戶進(jìn)入注冊(cè)頁(yè)面,輸入用戶名、密碼、真實(shí)姓名、性別、身份證號(hào)碼等注 冊(cè)信息,在頁(yè)面進(jìn)行判斷,若信息有誤,則提示“信息有誤,請(qǐng)重新填寫”信息, 若全部符合輸入要求,點(diǎn)擊注冊(cè),若未將同意 12306 協(xié)議進(jìn)行勾選,也不能成功 進(jìn)行注冊(cè),勾選后,將數(shù)據(jù)提交到后臺(tái)操作類,添加到數(shù)據(jù)庫(kù),提示“注冊(cè)成功!”, 成功后,用戶進(jìn)入登錄頁(yè)面進(jìn)行登錄,方可購(gòu)票。注冊(cè)頁(yè)面如圖 13 所示:
關(guān)鍵代碼如下所示:
圖 13 用戶注冊(cè)頁(yè)面
int result=userInfoBiz.insertUserInfo(uf); if(result>0){
out.print("");
}else {
out.print("");
}
5.2.2 用戶登錄
點(diǎn)擊登錄,提交登錄信息,頁(yè)面提交到響應(yīng)的 js 里面的 ajax 里面,調(diào)用后 臺(tái)的操作類,系統(tǒng)根據(jù)提交的用戶名及密碼對(duì)數(shù)據(jù)庫(kù)相應(yīng)的用戶表進(jìn)行查詢,若
未返回任何記錄,則不存在該用戶名,提示登錄失敗,不存在此用戶。若返回該 用戶的相關(guān)記錄,再將登錄信息中密碼與返回記錄中密碼字段的值進(jìn)行對(duì)比,若 相同,則提示登陸成功,若不相同,則提示密碼不正確。若驗(yàn)證碼不正確,系統(tǒng) 提示驗(yàn)證碼錯(cuò)誤。登錄頁(yè)面如圖 14 所示:
29
關(guān)鍵代碼如下所示:
$.ajax({
圖 14 用戶登錄頁(yè)面
dataType:"html", url:"user.do",
type:"POST", data:"op=login&uname="+uname+"&upwd="+pwd+"&yzm="+yzm, success:function(data){
if(data==1){ alert("驗(yàn)證碼錯(cuò)誤,請(qǐng)重新輸入");
$("#yzm").val(""); return;
}else if(data==2){ location.href="trainOrder.jsp"; return;
}else if(data==3){ alert("用戶名或者密碼錯(cuò)誤,請(qǐng)重新登陸"); return;
}
}
});
5.2.3 列車信息查詢
根據(jù)用戶輸入的起始點(diǎn)、終點(diǎn)和出發(fā)日期,先從前臺(tái)頁(yè)面進(jìn)行判斷這三個(gè)字 段是否為空,若為空則提示“請(qǐng)將信息填寫完整”,填完信息后,前臺(tái)通過 Ajax 進(jìn)行請(qǐng)求,傳送到后臺(tái)操作類,異步刷新,將獲得的數(shù)據(jù)封裝成 json 數(shù)據(jù),從
數(shù)據(jù)庫(kù)查詢出所有符合條件的信息,前臺(tái)進(jìn)行解析和顯示,按照車票和價(jià)格對(duì)應(yīng) 顯示。車票查詢頁(yè)面如圖 15 所示:
關(guān)鍵代碼如下所示:
圖 15 車票查詢頁(yè)面
JSONArray jsonArray=JSONArray.fromObject(listTrainView); JSONArray jsonArray1=JSONArray.fromObject(listPriceView);
Map jsonArrayMap = new HashMap();
jsonArrayMap.put("train", jsonArray); jsonArrayMap.put("price", jsonArray1);
JSONObject json = JSONObject.fromObject(jsonArrayMap);
5.2.4 車票預(yù)訂
查詢出所有的票務(wù)信息后,用戶點(diǎn)擊訂票按鈕,若該用戶還沒有登錄,則提 示須先登錄才能購(gòu)票。若已經(jīng)登錄,則直接跳轉(zhuǎn)到訂票信息頁(yè)面,頁(yè)面顯示車輛 的詳細(xì)信息和余票信息,用戶可以勾選聯(lián)系人,選擇票主信息,座位,票種信息, 填寫正確的驗(yàn)證碼后,提交訂單,繼而生成訂單。訂單顯示車次信息、座位信息、 旅客信息,票價(jià)信息。用戶可以通過支付完成整個(gè)訂票流程,也可以進(jìn)行退票操 作。關(guān)鍵代碼如下所示,車票預(yù)訂如圖 16 所示:
已完成訂單頁(yè)面如圖 17 所示:
圖 16 車票預(yù)訂頁(yè)面
圖 17 已完成訂單頁(yè)面
關(guān)鍵代碼如下所示:
TrainView tv=trainViewBiz.getTrainViewByStation(station1, station2, cfdate, cntime, trainNum, trainType).get(0);//查詢余票
PriceView pv=priceBiz.getTrainPriceInfo(station1, station2, cfdate, trainNum, trainType).get(0);//查詢票價(jià)
5.3 后臺(tái)模塊設(shè)計(jì)
5.3.1 管理員登錄
點(diǎn)擊登錄,提交登錄信息,系統(tǒng)根據(jù)提交的用戶名及用戶類型對(duì)數(shù)據(jù)庫(kù)相應(yīng) 的管理員表進(jìn)行查詢,若未返回任何記錄,則不存在該管理員,提示登錄失敗, 不存在此用戶。若返回該用戶的相關(guān)記錄,再將登錄信息中密碼與返回記錄中密
碼字段的值進(jìn)行對(duì)比,若相同,則提示登錄成功,若不相同,則提示密碼不正確。 管理員登錄頁(yè)面如圖 18 所示:
關(guān)鍵代碼如下所示:
$.ajax({
dataType:"html", url:"admin.do",
type:"POST",
圖 18 管理員登錄頁(yè)面
data:"op=login&aname="+$("#aname").val()+"&apwd="+$("#apwd").v al()+"&ayzm="+$("#ayzm").val(),
success:function(data){ if(data==1){
alert("驗(yàn)證碼錯(cuò)誤,請(qǐng)重新輸入");
}else if(data==2){ location.href="admin/index.jsp";
}else if(data==3){ alert("用戶名或者密碼錯(cuò)誤,請(qǐng)重新登陸");
}
}
});
5.3.2 后臺(tái)管理操作
管理員擁有對(duì)用戶信息、常用聯(lián)系人、車次信息、動(dòng)態(tài)信息、問題信息的查 看、添加和刪除的權(quán)限,直接操作于數(shù)據(jù)庫(kù),然后在前臺(tái)頁(yè)面進(jìn)行顯示。管理員
登錄后臺(tái)管理系統(tǒng)后,顯示首頁(yè)。管理員可以管理注冊(cè)用戶信息,同時(shí)管理員可 以添加車輛信息,刪除車輛信息,對(duì)車輛信息進(jìn)行維護(hù),管理員還可以添加和刪 除最新動(dòng)態(tài)信息、常見問題信息等,通過添加到數(shù)據(jù)庫(kù),然后在前臺(tái)頁(yè)面進(jìn)行顯 示。后臺(tái)首頁(yè)如圖 19 所示:
圖 19 后臺(tái)管理首頁(yè)
關(guān)鍵代碼如下所示:
function delInfo(newsid){
$.ajax({
dataType:"html", url:"news.do",
type:"POST", data:"op=delInfo&newsid="+newsid, success:function(data){
if(data==1){ alert("刪除成功");
location.href="/yan12306/admin/dongtai.jsp";
}else if(data==2){ alert("刪除失敗");
}
}
});
}
6 系統(tǒng)測(cè)試
系統(tǒng)測(cè)試是我們完成項(xiàng)目的最后一步,也是最重要的一步。系統(tǒng)測(cè)試是保證 我們的項(xiàng)目能夠順利運(yùn)行的最后一道保障。我們會(huì)對(duì)在測(cè)試過程中發(fā)現(xiàn)的問題進(jìn) 行修改,盡可能的完善我們的系統(tǒng)。
6.1 測(cè)試內(nèi)容
系統(tǒng)測(cè)試主要是測(cè)試系統(tǒng)的主要功能,在該項(xiàng)目中我們主要測(cè)試系統(tǒng)登錄、 注冊(cè)用戶、系統(tǒng)用戶登錄、車輛信息管理等,在測(cè)試過程中,要盡可能的用準(zhǔn)確 的數(shù)據(jù)去測(cè)試,要盡量的站在用戶的角度去思考問題,去測(cè)試,只有這樣才能測(cè) 試出最真實(shí)的效果,也才能滿足用戶的需要。
6.2 測(cè)試方法
測(cè)試過程中使用的最多的方法是白盒測(cè)試與黑盒測(cè)試,白盒測(cè)試顧名思義, 是能夠看見系統(tǒng)的最底層的東西,所以白盒測(cè)試是更加注重代碼結(jié)構(gòu)和邏輯結(jié) 構(gòu),主要關(guān)注系統(tǒng)邏輯結(jié)構(gòu)是否合理,代碼結(jié)構(gòu)是否規(guī)范。所以,很多人又把白 盒測(cè)試稱為結(jié)構(gòu)測(cè)試和邏輯測(cè)試。而黑盒測(cè)試主要是關(guān)注外在的東西,他不需要 了解系統(tǒng)功能是怎么樣實(shí)現(xiàn)的,他只關(guān)注最后的功能是否完成,功能是夠滿足用 戶的需求,所以又把黑盒測(cè)試稱為功能測(cè)試。由于現(xiàn)在人們使用的測(cè)試方法主要 是黑盒測(cè)試方法,所以在本次測(cè)試過程中,我們使用的也主要是黑盒測(cè)試方法。
在使用黑盒測(cè)試過程中,我們主要注意如下幾點(diǎn):
(1) 功能是否滿足用戶的需求。
(2) 功能是否完全實(shí)現(xiàn)。
(3) 獲取的數(shù)據(jù)是否符合用戶要求。
(4) 系統(tǒng)是否操作得當(dāng)。
6.3 測(cè)試用例
6.3.1 系統(tǒng)登錄測(cè)試
在系統(tǒng)中,共分為兩種角色——用戶和管理員,每種角色對(duì)應(yīng)一個(gè)模塊,用 戶只能進(jìn)入前臺(tái)界面,對(duì)前臺(tái)界面進(jìn)行操作,管理員不僅能夠?qū)η芭_(tái)界面操作還 能對(duì)后臺(tái)界面進(jìn)行操作,并且還能對(duì)用戶的信息進(jìn)行管理。不同的角色根據(jù)不同 的登陸界面進(jìn)入到不同的操作界面,根據(jù)上面所述來進(jìn)行不同的測(cè)試。具體情況 如表 9 所示:
表 9 測(cè)試用例表
用例 ID 場(chǎng)景 測(cè)試步驟 預(yù)期結(jié)果 備注
用例描述
系統(tǒng)登錄 用戶名存在、密碼正確的情況下登錄系統(tǒng) 頁(yè)面信息包含:頁(yè)面背景顯示
用戶名和密碼錄入接口,輸入數(shù)據(jù)后的登入系統(tǒng)接口
用例入口
TC1 初始頁(yè)面顯示 從用例入口進(jìn)入
頁(yè)面元素完整,顯示與詳細(xì) 設(shè)計(jì)一致
登錄失敗, 返回登錄 頁(yè)面
TC2
用戶名錄入-驗(yàn) 證
輸入已存在的用 戶 a
輸入成功
TC3
用戶名-容錯(cuò)性 驗(yàn)證
輸入 aaaaaaabbbbbbbc ccccddddd
輸入用戶名后,系統(tǒng)不能通 過驗(yàn)證,提示錯(cuò)誤
TC4 密碼-密碼錄入
輸入與用戶名相 關(guān)聯(lián)的數(shù)據(jù),a
輸入成功
TC5 系統(tǒng)登錄-成功
TC2,TC4 單擊登錄 按鈕
登錄系統(tǒng)成功
TC6
系統(tǒng)登錄-用戶 名、密碼校驗(yàn)
沒有輸入用戶名、 密碼,單擊登錄按 鈕
登錄系統(tǒng)失敗。提示:用戶 名或者密碼錯(cuò)誤
TC7
系統(tǒng)登錄-密碼 校驗(yàn)
輸入用戶名,不輸 入密碼,單擊登錄
登錄系統(tǒng)失敗。并提示:請(qǐng) 輸入密碼
TC8
系統(tǒng)登錄-密碼 有效性登錄
輸入用戶名,輸入 密碼與用戶名不 一致
系統(tǒng)登錄失敗,并提示用戶 名或者密碼錯(cuò)誤
TC9
系統(tǒng)登錄-輸入 有效性驗(yàn)證
輸入不存在的用 戶名密碼,單擊登 錄
系統(tǒng)登錄失敗,并提示:用 戶名或者密碼錯(cuò)誤
6.3
收藏