挖掘機(jī)配件營銷中心銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(開題報(bào)告+論文+PPT+源碼)
開題報(bào)告
論文(設(shè)計(jì))題目華柳挖掘機(jī)配件營銷中心銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師選題目的和意義:隨著經(jīng)濟(jì)的發(fā)展和中國汽車市場的不斷擴(kuò)大,汽車款式的不斷更新,零配件種類也在不斷的增多,如配件分類管理混亂,靠人工記憶容易出現(xiàn)錯誤,而且對庫存情況難以統(tǒng)計(jì)。在銷售汽車配件的同時,由于工作量的增加和業(yè)務(wù)更加細(xì)化,以往的人工處理方式難免會在業(yè)務(wù)方面及財(cái)務(wù)方面出現(xiàn)漏洞,而現(xiàn)在各類銷售管理系統(tǒng)是逐步走向成熟,它的投入使用可以減輕汽車配件企業(yè)各部門工作人員的勞動強(qiáng)度,提高其工作質(zhì)量和效率。便于財(cái)務(wù)統(tǒng)計(jì)與銷售人員的業(yè)務(wù)追蹤。 山西華柳挖掘機(jī)配件營銷中心是以挖掘機(jī)配件為主的銷售中心,由于沒有一個完整的銷售管理系統(tǒng),所以對于配件的分類以及庫存情況和客戶的信息管理,難以統(tǒng)計(jì),只能靠人工記憶,因此該系統(tǒng)的好處在于可以將不同類型的配件進(jìn)行分類管理,可以及時查看庫存信息和客戶信息,使員工在提高工作效率的同時也提高了工作質(zhì)量。與本課題相關(guān)的技術(shù)和方法綜述:系統(tǒng)采用AngularJS開發(fā)技術(shù),以JDK1.6為開發(fā)工具,以Tomcat為服務(wù)器以MySql作為后臺數(shù)據(jù)庫開發(fā)工具。AngularJS技術(shù)簡介 AngularJS 誕生于2009年,由Misko Hevery 等人創(chuàng)建,后為Google所收購。是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中。AngularJS有著諸多特性,最為核心的是:MVC、模塊化、自動化雙向數(shù)據(jù)綁定、語義化標(biāo)簽、依賴注入等等。AngularJS 是一個為動態(tài)WEB應(yīng)用設(shè)計(jì)的結(jié)構(gòu)框架。它能讓你使用HTML作為模板語言,通過擴(kuò)展HTML的語法,讓你能更清楚、簡潔地構(gòu)建你的應(yīng)用組件。它的創(chuàng)新點(diǎn)在于利用數(shù)據(jù)綁定和依賴注入,它可以使你不用再寫大量的代碼。這些全都是通過瀏覽器端的Javascript實(shí)現(xiàn),這也使得它能夠完美地和任何服務(wù)器端技術(shù)結(jié)合。JDK1.6簡介JDK(Java Development Kit)是Sun Microsystems針對java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個Java的核心,包括了Java運(yùn)行環(huán)境,Java工具和Java基礎(chǔ)的類庫。JDK是學(xué)好Java的第一步。而專門運(yùn)行在x86平臺的Jrocket在服務(wù)端運(yùn)行效率也要比Sun JDK好很多。從SUN的JDK5.0開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。MySql簡介MySql是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySql AB公司。在2008年1月16號被Sun公司收購,而2009年,Sun又被Oracle收購。MySql是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi)。這樣就增加了速度并提高了靈活性。MySql的SQL為“結(jié)構(gòu)化查詢語言”。SQL是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySql軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是具有開放源碼這一特點(diǎn)
開題報(bào)告
主要設(shè)計(jì)內(nèi)容:本系統(tǒng)有三大模塊:銷售管理模塊、庫存管理模塊和用戶管理模塊。庫存管理模塊包括:庫存查看,在客戶進(jìn)行咨詢或者需要購買的時候可以通過庫存查詢知道當(dāng)前庫存中有沒有貨。配件信息管理,管理系統(tǒng)中所有的配件信息。配件進(jìn)貨,對庫存更新,增加配件的庫存。銷售管理模塊包括配件銷售,對配件進(jìn)行銷售。配件退還,用戶不滿意或者在退換期內(nèi)可以進(jìn)行配件退還操作。利潤統(tǒng)計(jì),對系統(tǒng)中銷售的利潤進(jìn)行統(tǒng)計(jì)和查看,也可以導(dǎo)出EXCEL。用戶管理模塊包括:員工信息管理,該部分包含管理員、普通員工的信息??蛻粜畔浌芾?,該部分可以管理銷售系統(tǒng)中所有買過配件和咨詢過的客戶信息,方便后期進(jìn)行跟蹤記錄和回訪等。設(shè)計(jì)的環(huán)境、方法及措施:硬件環(huán)境:CPU:2.0GHz及以上。內(nèi)存:2GB及以上軟件環(huán)境:(1)系統(tǒng)軟件:操作系統(tǒng)為Windows 2000及以上;(2)開發(fā)軟件:Tomcat,MySql,PhotoShop等 (3)后臺數(shù)據(jù)庫:MySql數(shù)據(jù)庫; 方法措施: ①用戶需求分析; ②進(jìn)行數(shù)據(jù)庫分析,畫出E-R圖,設(shè)計(jì)數(shù)據(jù)庫; ③構(gòu)建程序模塊圖,根據(jù)模塊圖建立程序主體與框架; ④設(shè)計(jì)并實(shí)現(xiàn)各模塊功能; ⑤鏈接程序與數(shù)據(jù)庫,調(diào)試運(yùn)行; ⑥多次測試,直至程序穩(wěn)定運(yùn)行。指導(dǎo)教師意見及建議:簽字: 年 月 日
注:1. 此表由學(xué)生填寫后交指導(dǎo)教師簽署意見,否則不得開題;此表作為畢業(yè)論文(設(shè)計(jì))評分的依據(jù)。 2. 學(xué)生填寫部分可以用電腦輸入,教師填寫部分必須手填。

目?錄
1引言11
2開發(fā)工具及技術(shù)22
2.1JSP簡介22
2.2MYSQL介紹22
2.3SQL語句22
2.4AngularJS技術(shù)22
3需求分析22
3.1功能需求分析22
3.2可行性分析33
3.3數(shù)據(jù)庫需求分析33
4總體設(shè)計(jì)55
4.1功能模塊設(shè)計(jì)55
4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)55
5詳細(xì)設(shè)計(jì)66
5.1數(shù)據(jù)庫的詳細(xì)設(shè)計(jì)66
5.2界面的詳細(xì)設(shè)計(jì)77
5.3個人信息模塊設(shè)計(jì)88
5.4員工管理模塊設(shè)計(jì)99
5.5配件管理模塊設(shè)計(jì)99
5.6進(jìn)貨模塊設(shè)計(jì)1111
5.7配件銷售模塊設(shè)計(jì)1212
5.8退貨模塊設(shè)計(jì)1515
5.9數(shù)據(jù)統(tǒng)計(jì)模塊設(shè)計(jì)1616
6系統(tǒng)測試1717
6.1測試目的1717
6.2測試方法說明1717
6.3測試用例設(shè)計(jì)1717
6.4系統(tǒng)測試1818
6.5測試結(jié)果分析1818
7結(jié)論1818
參考文獻(xiàn)1919
華柳挖掘機(jī)配件營銷中心銷售系統(tǒng)的
設(shè)計(jì)與實(shí)現(xiàn)
摘要:伴隨著中國發(fā)展,各個城市的建設(shè)速度也快得驚人,隨之而來的挖掘機(jī)的使用當(dāng)然是必不可少的,接踵而至的商機(jī)也不言而喻,各類零配件的種類也多起來。隨著工作量和業(yè)務(wù)的更加精細(xì)化,之前的人工處理方式在業(yè)務(wù)和財(cái)務(wù)方面難免出現(xiàn)漏洞,由于現(xiàn)在各類銷售系統(tǒng)已逐步走向成熟,因此它的投入使用可以減輕企業(yè)員工的勞動強(qiáng)度,提高員工工作效率的同時又方便財(cái)務(wù)的統(tǒng)計(jì)。
本次的華柳挖掘機(jī)配件營銷中心銷售系統(tǒng)主要采用了JSP語言來進(jìn)行來開發(fā),所設(shè)計(jì)的功能有包括庫存管理、銷售管理、用戶管理和查詢統(tǒng)計(jì)等。從需要分析出發(fā),先進(jìn)行分析再進(jìn)行程序開發(fā),完成后的系統(tǒng)界面美觀,功能完善,會給華柳企業(yè)帶來非常大的方便。?
關(guān)鍵詞:配件 挖掘機(jī) 銷售 管理系統(tǒng)
引言
大家都有目共睹,現(xiàn)在的科學(xué)技術(shù)發(fā)展很迅速。而如今,計(jì)算機(jī)應(yīng)用已經(jīng)完全融入到人們的生產(chǎn)和生活當(dāng)中,特別是企業(yè),現(xiàn)在的企業(yè)幾乎都是離不開計(jì)算機(jī)管理的,文檔的編輯、圖片的制作、表格的統(tǒng)計(jì)等等。而另一方面,人們越來越喜歡使用計(jì)算機(jī)進(jìn)行信息管理,方便而又快捷。互聯(lián)網(wǎng)時代的到來,人們獲取信息的渠道已不僅僅是報(bào)紙或者電視,而是一些高科技電子產(chǎn)品,如手機(jī)、電腦等設(shè)備?,F(xiàn)在的網(wǎng)絡(luò)購物也特別火熱,轉(zhuǎn)而實(shí)體店的生意已經(jīng)越來越不好做。現(xiàn)在,優(yōu)先利用信息系統(tǒng)的企業(yè),就會在市場中占有絕對的優(yōu)勢。利用信息系統(tǒng),不僅可以強(qiáng)化管理企業(yè),還可以有效地維護(hù)客戶信息,擴(kuò)大經(jīng)營范圍。
本次畢業(yè)設(shè)計(jì)的課題是華柳挖掘機(jī)配件營銷中心銷售系統(tǒng),那么首先給大家介紹一下課題背景。據(jù)統(tǒng)計(jì),美國是使用信息管理最早的國家,現(xiàn)在80%的管理基本上都是由計(jì)算機(jī)來完成。可見隨著互聯(lián)網(wǎng)時代的到來,信息管理已成為計(jì)算機(jī)行業(yè)的核心地帶。目前我國是挖掘機(jī)大國,各個地方都會使用到挖掘機(jī),因此挖掘機(jī)配件的生產(chǎn)廠商已不下千家。并且現(xiàn)在我國挖掘機(jī)配件的需求量也在增長,整個挖掘機(jī)配件行業(yè)的競爭還是很激烈的。對于部分配件公司來說,要想在這個領(lǐng)域爭得一個席位,那么就一定要與社會相接軌,跟上社會的進(jìn)步。再談?wù)勍诰驒C(jī)配件的業(yè)務(wù)模式,由于配件本身種類多、維護(hù)繁瑣,以前都是由人工來對這些進(jìn)行管理,在時間和人力的成本上投入都比較大。如果運(yùn)用信息管理系統(tǒng)就完全可以輕松完成這些工作,節(jié)約人工成本。并且運(yùn)用計(jì)算機(jī)對于企業(yè)來說它帶來的優(yōu)勢是不言而喻的,比人工更高效,更便于管理,更快捷與透明化。信息管理系統(tǒng)的投入使用,給企業(yè)帶來極大的便捷的同時也提高了員工的工作質(zhì)量。因此,挖掘機(jī)配件營銷中心銷售系統(tǒng)的開發(fā)是非常有必要的。開發(fā)本系統(tǒng)主要解決的問題就是對于配件的管理及配件的銷售。這是兩個核心部分。我將利用JSP語言與MySQL數(shù)據(jù)庫一起來進(jìn)行實(shí)現(xiàn)。開發(fā)工具及技術(shù)
華柳挖掘機(jī)配件營銷中心銷售系統(tǒng)是通過myeclipse這款開發(fā)工具實(shí)現(xiàn)的。環(huán)境的搭建采用的是JSP+JDK1.6+TOMCAT6.0+MySQL。服務(wù)器是Tomcat,JDK是java所必備的開發(fā)環(huán)境虛擬機(jī),MySQL是該系統(tǒng)所使用的數(shù)據(jù)庫。JSP簡介
JSP發(fā)展很久了,很多方面都已經(jīng)非常的完善了。Jsp的全稱是JAVA SERVER PAGER,也就是說可以在頁面上運(yùn)行java程序。它的擴(kuò)展性非常的好。MYSQL介紹
Mysql作為數(shù)據(jù)是一款非常清涼的數(shù)據(jù)庫了。它的占用空間很小,5.0的版本只有區(qū)區(qū)不到30M。Mysql雖然很小,但他的性能卻很好,能很效率的實(shí)現(xiàn)關(guān)系的查詢等操作。使用的時候我們會基于一些第三方插件來對他進(jìn)行管理,例如sqlyog、navicat等等軟件。?SQL語句
SQL語句作為我們使用mysql數(shù)據(jù)的基本語句和語法。SQL語句包含增、刪、改、查等等基本功能,使用這些命令能完成對數(shù)據(jù)庫的絕大多數(shù)數(shù)據(jù)庫操作。?AngularJS技術(shù)
AngularJS 誕生于2009年,它有著諸多特性,最為核心的是:MVC、模塊化、自動化雙向數(shù)據(jù)綁定、語義化標(biāo)簽、依賴注入等等。
需求分析?
“需求分析”,就是分析客戶的需求。我們的對象就是使用這個網(wǎng)站的客戶,我們要分析的就是她們要使用這個網(wǎng)站想要哪些功能,為她們提供哪些方面的便利。界面怎么設(shè)計(jì)他們最方便,以前我們要開發(fā)這個程序所要涉及到的一些經(jīng)濟(jì)等方面的可行性。這就是需求分析。功能需求分析
挖掘機(jī)配件銷售管理系統(tǒng)是根據(jù)挖掘機(jī)配件銷售的過程來分析該系統(tǒng),系統(tǒng)分為三大模塊。
庫存管理模塊包括:
庫存查看,在客戶進(jìn)行咨詢或者需要購買的時候可以通過庫存查詢知道當(dāng)前庫存中有沒有貨。
配件信息管理,管理系統(tǒng)中所有的配件信息。
配件進(jìn)貨,根據(jù)實(shí)際情況,及時更新庫存,擴(kuò)大配件的供應(yīng)量,增加庫存。
銷售管理模塊包括:
配件銷售,對配件進(jìn)行銷售。
配件退還,用戶不滿意或者在退換期內(nèi)可以進(jìn)行配件退還操作。
利潤統(tǒng)計(jì),對系統(tǒng)中銷售的利潤進(jìn)行統(tǒng)計(jì)和查看,也可以導(dǎo)出EXCEL。
用戶管理模塊:
員工信息管理,該部分主要包含管理員和普通員工的信息。
(2)客戶信息錄管理,該部分主要管理系統(tǒng)中所有的新老客戶信息,方便后期進(jìn)行跟蹤記錄和回訪等。
可行性分析
(1)技術(shù)可行性
分析技術(shù)的可行性,首先需要介紹的是開發(fā)這個系統(tǒng)我所用到的技術(shù)。本次用到的開發(fā)技術(shù)為JSP,JSP相信大家不會陌生,現(xiàn)在它已經(jīng)非常成熟運(yùn)用率非常高,現(xiàn)在市場上很大一部程序都是運(yùn)用這個系統(tǒng)來進(jìn)行開發(fā)的。并且我們在大學(xué)所學(xué)過JSP技術(shù),圖書館也有很多關(guān)于JSP技術(shù)的資料,所以在開發(fā)技術(shù)上來說是非??尚械?。
(2)經(jīng)濟(jì)可行性
這個程序的資金投入不會太多,前期由于是作為畢業(yè)設(shè)計(jì),所以由我一個人開發(fā)就可以完成,在硬件方面,本人有電腦,所以也不用再單獨(dú)去購買設(shè)備,開發(fā)這個系統(tǒng)所涉及到的軟件很多也都是可以直接從網(wǎng)上下載,都是免費(fèi)的,所以它目前不會需要太多的資金,如果后期運(yùn)用到市場上要開發(fā)這樣一個系統(tǒng),運(yùn)用到的費(fèi)用也不會太多,算上網(wǎng)站域名和服務(wù)器等等的價格,一年可能幾千元就能解決。所以綜合以上分析,這個系統(tǒng)的經(jīng)濟(jì)方面也是可行的。
(3)操作可行性
在一開始的性能分析里面我們有提到系統(tǒng)界面的設(shè)計(jì)要做到精美并簡潔,設(shè)計(jì)完成的系統(tǒng)也做到了這一點(diǎn),整個系統(tǒng)的界面非常直觀,各個模塊的設(shè)計(jì)也非常清楚,用戶登錄系統(tǒng)可以非常容易找到他所想了解的模塊,并且對于后臺來說,只需要管理員會基本的電腦操作就完全可以維護(hù)系統(tǒng)了,所以在操作方面來說也遇非??梢孕?。數(shù)據(jù)庫需求分析
本系統(tǒng)涉及到的實(shí)體有:訂單詳情、配件類型信息、配件信息、配件庫存信息、訂單明細(xì)信息、用戶信息等。
訂單詳情實(shí)體E-R圖如圖1所示:
圖1 訂單詳情實(shí)體E-R圖配件類型實(shí)體E-R圖如圖2所示:
圖2 配件類型實(shí)體E-R圖配件信息實(shí)體E-R圖如圖3所示:
圖3 配件信息實(shí)體E-R圖配件詳情實(shí)體E-R圖如圖4所示:
圖4 配件詳情實(shí)體E-R圖用戶信息實(shí)體E-R圖如圖5所示:
圖5 用戶信息實(shí)體E-R圖訂單實(shí)體E-R圖如圖6所示:
圖6 訂單實(shí)體E-R圖
總體設(shè)計(jì)
總體設(shè)計(jì)即是對相關(guān)系統(tǒng)進(jìn)行整體布局的設(shè)計(jì),也就是對設(shè)計(jì)相關(guān)系統(tǒng)總的一個處理方案,又稱系統(tǒng)概要設(shè)計(jì)。
此次系統(tǒng)的總體設(shè)計(jì)包括功能模塊設(shè)計(jì)和數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)。功能模塊設(shè)計(jì)
本系統(tǒng)用戶主要分普通員工和管理員,管理員主要是增加了一些管理操作,普通員工主要是面向客戶的操作。其主要模塊包括:配件銷售、配件退還、庫存查看、客戶信息錄入、用戶管理、配件類型管理、配件信息管理、庫存更新和利潤統(tǒng)計(jì)。
系統(tǒng)功能模塊圖如圖7所示:

圖7 系統(tǒng)功能模塊圖
數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)選用的數(shù)據(jù)庫管理系統(tǒng)為MySql數(shù)據(jù)庫管理系統(tǒng),MySql數(shù)據(jù)庫為關(guān)系型數(shù)據(jù)庫[1]。
根據(jù)規(guī)則,將數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換為的關(guān)系模式如下:
配件信息(ID,名稱,價格,數(shù)量,備注,生產(chǎn)地址,聯(lián)系電話,類型);
配件詳情(ID,數(shù)量,配件,生產(chǎn)日期,過期日期,編號,價格);
訂單詳情(ID,編號,數(shù)量,價格,訂單);
訂單信息(ID,金額,用戶,備注,時間,角色);
用戶信息(ID,用戶名,密碼,姓名,電話,性別,角色);
配件類型(ID,類型名稱);
詳細(xì)設(shè)計(jì)
該銷售系統(tǒng)的詳細(xì)設(shè)計(jì)包括以下內(nèi)容:數(shù)據(jù)庫的詳細(xì)設(shè)計(jì)、界面的詳細(xì)設(shè)計(jì)、個人信息模塊設(shè)計(jì)、員工管理模塊設(shè)計(jì)、配件管理模塊設(shè)計(jì)、進(jìn)貨模塊設(shè)計(jì)、配件銷售模塊設(shè)計(jì)、退貨模塊設(shè)計(jì)、數(shù)據(jù)統(tǒng)計(jì)模塊設(shè)計(jì)。數(shù)據(jù)庫的詳細(xì)設(shè)計(jì)
本系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)為MySQL,數(shù)據(jù)庫中共有6個表,各表說明如下:
表1 訂單信息表
列名數(shù)據(jù)類型允許空說明Idint(11)否IDMoneydouble(200)是金額Fkuidint(11)是用戶Remaerktext(25)是備注Otimevarchar(200)是時間Statusint(11)是角色
表2 配件信息表
表3 配件詳情表
列名數(shù)據(jù)類型允許空說明Idint(11)否IDPnamevarchar(100)否名稱Pricedouble(100)是價格Pcountint(11)是數(shù)量Remarktext(100)是備注Addressvarchar(100)是生產(chǎn)地址Phonevarchar(100)否聯(lián)系電話Typeldint(11)否類型列名數(shù)據(jù)類型允許空說明Idint(11)否IDPdcountint(11)否數(shù)量Fkpidint(11)否配件starTimevarchar(100)否生產(chǎn)日期endTimevarchar(11)否過期日期Pnovarchar(11)否編號Pricedouble(100)否價格
表4 訂單詳情表
表5 用戶信息表
列名數(shù)據(jù)類型允許空說明Idint(11)否IDPnovarchar(100)否編號Pcountint(11)是數(shù)量Pricedouble(100)是價格Fkoidint(11)是訂單列名數(shù)據(jù)類型允許空說明Idint(11)否IDUsernamevarchar(11)否用戶名Passwordvarchar(11)否密碼Nicknamevarchar(100)否姓名Phonevarchar(11)否電話Sexvarchar(11)否性別Statusint(11)否角色
表6 配件類型表
界面的詳細(xì)設(shè)計(jì)
列名數(shù)據(jù)類型允許空說明Idint(11)否IDTypenamevarchar(11)否類型名稱
整個系統(tǒng)的界面需要達(dá)到整潔、各主體良性交流與互動的要求。
登錄界面設(shè)計(jì)
圖8 登錄界面
登錄界面是打開本系統(tǒng)的初始界面,界面上有用戶、密碼、驗(yàn)證碼3個輸入框,輸入信息后點(diǎn)擊登錄會由程序進(jìn)行驗(yàn)證。
系統(tǒng)主界面設(shè)計(jì)
通過登錄頁面登錄后系統(tǒng)會自動跳轉(zhuǎn)到系統(tǒng)的主界面的個人資料頁面,以下是權(quán)限為管理員的操作登錄的主界面圖例。如圖9所示。
圖9 后臺主界面
后臺主界面采用的是左右布局,左邊是我們的菜單欄,右邊則是我們的內(nèi)容頁,通過frameset框架進(jìn)行加載展示。界面是模仿windowsXP文件管理的樣式,看起來非常好看。
個人信息模塊設(shè)計(jì)
個人中心
在系統(tǒng)主界面點(diǎn)擊左側(cè)操作欄中的“我的資料”就可以進(jìn)入該頁面,個人中心可以修改個人資料。程序效果圖如圖10所示。
圖10 個人中心
修改密碼
用戶在系統(tǒng)主界面點(diǎn)擊左側(cè)操作欄中的“修改密碼”進(jìn)入該頁面,該頁面可以修改用戶密碼。在修改密碼的時候angularjs會通過表單驗(yàn)證用戶輸入的信息是否符合標(biāo)準(zhǔn)。如圖11所示。
圖11 修改密碼
員工管理模塊設(shè)計(jì)
員工管理
在系統(tǒng)主界面點(diǎn)擊員工管理模塊下的“員工管理”鏈接后,右邊的內(nèi)容頁就會展示出員工管理列表,該列表通過angularjs的http.get方法進(jìn)行獲取列表數(shù)據(jù),通過返回的json數(shù)據(jù)進(jìn)行解析然后利用靜態(tài)分頁的原理展示到頁面上。在頁面上可以根據(jù)姓名和角色來進(jìn)行數(shù)據(jù)過濾,數(shù)據(jù)過濾采用的anguljs的filter。程序效果圖如圖12所示:
圖12 員工管理界面
員工添加
在系統(tǒng)主界面點(diǎn)擊員工管理模塊下的“員工添加”鏈接后,右邊的內(nèi)容頁就會展示出員工添加界面。在員工添加界面需要輸入各種不同的信息,輸入完成之后點(diǎn)擊添加按鈕表示員工添加成功,該頁面如圖13所示。
圖13員工添加
配件管理模塊設(shè)計(jì)
配件類型管理
在系統(tǒng)主界面點(diǎn)擊配件管理模塊下的“配件類型管理”鏈接后,右邊的頁面就會顯示出配件類型管理列表。該界面也是采用的angularjs的數(shù)據(jù)獲取以及靜態(tài)分頁效果,同時使用了bootstrap的分頁樣式表,程序效果圖如圖14所示。
圖14配件類型管理
配件管理
在系統(tǒng)主界面點(diǎn)擊配件管理模塊下的“配件管理”鏈接后,右邊的頁面就會顯示出配件管理列表。該界面也是采用的angularjs的數(shù)據(jù)獲取以及靜態(tài)分頁效果,同時使用了bootstrap的分頁樣式表。在界面上可以根據(jù)配件類型、配件名稱進(jìn)行filter過濾,同時可以導(dǎo)出表格中的數(shù)據(jù)為excel。程序效果圖如圖15所示。
圖15配件管理
配件添加
在配件管理界面點(diǎn)擊“添加配件”按鈕進(jìn)入配件添加頁面。界面上需要填入配件名稱、配件類型、銷售價格、備注、生產(chǎn)廠家、廠家電話,表單驗(yàn)證采用的是angularjs的表單驗(yàn)證,信息輸入無誤后點(diǎn)擊添加表示添加成功。程序效果圖如圖16所示。
圖16配件添加
庫存明細(xì)
在配件管理界面可以點(diǎn)擊每一行后面的庫存明細(xì)查看進(jìn)行瀏覽該配件的庫存明細(xì)。也可以點(diǎn)擊配件管理模塊下面的庫存明細(xì),這里是展示所有的配件配件庫存,可以根據(jù)配件編號和配件進(jìn)行數(shù)據(jù)過濾。程序效果圖如圖17所示。
圖17庫存明細(xì)
進(jìn)貨模塊設(shè)計(jì)
填寫進(jìn)貨單明細(xì)
在系統(tǒng)主界面點(diǎn)擊進(jìn)貨管理模塊下的“填寫進(jìn)貨單”鏈接后,右邊的頁面就會顯示出進(jìn)貨單明細(xì)添加頁面,依次輸入進(jìn)貨數(shù)量、配件、生產(chǎn)日期、進(jìn)價信息,點(diǎn)擊添加即可完成進(jìn)貨。程序效果圖如圖18所示。
圖18填寫進(jìn)貨單明細(xì)
本次進(jìn)貨單明細(xì)查看
在上一步填寫進(jìn)貨單明細(xì)后會自動跳轉(zhuǎn)到進(jìn)貨單明細(xì)查看界面,該界面可以查看本次進(jìn)貨單所有的配件明細(xì)。程序效果圖如圖19所示。
圖19本次進(jìn)貨單明細(xì)
進(jìn)貨單登記
確認(rèn)本次所有的進(jìn)貨單明細(xì)都填寫完畢后,點(diǎn)擊進(jìn)貨管理模塊下的“進(jìn)貨單登記”鏈接,右側(cè)內(nèi)容頁會展示出當(dāng)前進(jìn)貨單的總價,輸入備注后點(diǎn)擊添加按鈕即可完成本次進(jìn)貨單登記的流程。程序效果圖如圖20所示。
圖20進(jìn)貨單登記
進(jìn)貨單查看
在系統(tǒng)主界面點(diǎn)擊配件管理模塊下的“進(jìn)貨管理”鏈接后,右邊的內(nèi)容頁就會展示出進(jìn)貨單管理列表,列表中會展示出所有的進(jìn)貨單,可以根據(jù)創(chuàng)建時間進(jìn)行數(shù)據(jù)過濾。每一條進(jìn)貨單記錄右邊有查看明細(xì)按鈕,點(diǎn)擊該按鈕可以查看該進(jìn)貨單的進(jìn)貨明細(xì)數(shù)據(jù)。程序效果圖如圖21,22所示。
圖21進(jìn)貨單查看
圖22進(jìn)貨單明細(xì)
配件銷售模塊設(shè)計(jì)
配件銷售設(shè)計(jì)
在系統(tǒng)主界面點(diǎn)擊出貨管理模塊下的“配件銷售”鏈接后,右邊的內(nèi)容頁就會展示出配件銷售界面。在該銷售界面需要填入配件編碼和數(shù)量,如果不填的話angularjs會進(jìn)行紅色字體提示。填好后點(diǎn)擊“添加”按鈕,程序會使用angularjs的$http.get函數(shù)去后臺進(jìn)行查詢,如果編碼不對則會提示“沒有該編碼對應(yīng)的配件”,如果輸入的數(shù)量超過了庫存則會提示“該配件庫存不足了”,添加成功后會調(diào)用angularjs的列表刷新函數(shù)刷新我們下方的銷售列表。需要銷售的配件添加完后點(diǎn)擊“結(jié)賬”按鈕進(jìn)行結(jié)賬,程序會計(jì)算該批次銷售的配件的總額。程序效果圖如圖23所示。
圖23網(wǎng)站公告列表
配件銷售核心代碼如下:
<script type="text/javascript">
var contentApp = angular.module('myApp', []);
contentApp.controller('myContent', function($scope, $http) {
$scope.delx = function($index){
if($index>=0){
$http.get("orderDetailDel.do?id="+$index).success(function(response) {
$scope.loadInfo();
});
}
}
//添加配件
$scope.addOrderDetail = function(){
if ($scope.loginForm.$valid) {
$http.get("angularOrderDetailInsert.do?pno="+$scope.pno+"&pcount="+$scope.pcount).success(function(response) {
var obj = angular.fromJson(response.result);
if(obj.status=="nocount"){
alert("該配件庫存不足了");
}else if(obj.status=="nopno"){
alert("沒有找到該編碼的配件");
}else if(obj.status=="error"){
alert("系統(tǒng)內(nèi)部錯誤");
}else{
$scope.loadInfo();
$scope.pno = "";
$scope.pcount = "";
$scope.loginForm.pno.$dirty = false;
$scope.loginForm.pcount.$dirty = false;
}
});
} else {
$scope.loginForm.pno.$dirty = true;
$scope.loginForm.pcount.$dirty = true;
}
}
$scope.loadInfo = function(){
$http.get("angularSellList.do").success(function (response) {
var obj = angular.fromJson(response.result);
//數(shù)據(jù)源
$scope.data = obj;
//分頁總數(shù)
$scope.pageSize = 5;
$scope.pages = Math.ceil($scope.data.length / $scope.pageSize); //分頁數(shù)
$scope.newPages = $scope.pages > 5 ? 5 : $scope.pages;
$scope.pageList = [];
$scope.selPage = 1;
//設(shè)置表格數(shù)據(jù)源(分頁)
$scope.setData = function () {
$scope.items = $scope.data.slice(($scope.pageSize * ($scope.selPage - 1)), ($scope.selPage * $scope.pageSize));//通過當(dāng)前頁數(shù)篩選出表格當(dāng)前顯示數(shù)據(jù)
}
$scope.items = $scope.data.slice(0, $scope.pageSize);
//分頁要repeat的數(shù)組
for (var i = 0; i < $scope.newPages; i++) {
$scope.pageList.push(i + 1);
}
//打印當(dāng)前選中頁索引
$scope.selectPage = function (page) {
//不能小于1大于最大
if (page < 1 || page > $scope.pages) return;
//最多顯示分頁數(shù)5
if (page > 2) {
//因?yàn)橹伙@示5個頁數(shù),大于2頁開始分頁轉(zhuǎn)換
var newpageList = [];
for (var i = (page - 3) ; i < ((page + 2) > $scope.pages ? $scope.pages : (page + 2)) ; i++) {
newpageList.push(i + 1);
}
$scope.pageList = newpageList;
}
$scope.selPage = page;
$scope.setData();
$scope.isActivePage(page);
console.log("選擇的頁:" + page);
};
//設(shè)置當(dāng)前選中頁樣式
$scope.isActivePage = function (page) {
return $scope.selPage == page;
};
//上一頁
$scope.Previous = function () {
$scope.selectPage($scope.selPage - 1);
}
//下一頁
$scope.Next = function () {
$scope.selectPage($scope.selPage + 1);
};
});
}
$scope.loadInfo();
});
</script>
出貨單管理
在系統(tǒng)主界面點(diǎn)擊出貨管理模塊下的“出貨單管理”鏈接后,右邊的內(nèi)容頁就會展示出出貨單管理列表,列表中會展示出所有的出貨單,可以根據(jù)創(chuàng)建時間進(jìn)行數(shù)據(jù)過濾。每一條出貨單記錄右邊有查看明細(xì)按鈕,點(diǎn)擊該鏈接可以查看該出貨單的出貨明細(xì)數(shù)據(jù)。程序效果圖如圖24所示。
圖24出貨單管理
退貨模塊設(shè)計(jì)
配件退貨設(shè)計(jì)
在系統(tǒng)主界面點(diǎn)擊退貨管理模塊下的“配件退貨”鏈接后,右邊的內(nèi)容頁就會展示出配件退貨界面。在該退貨界面需要填入配件編碼和數(shù)量,如果不填的話angularjs會進(jìn)行紅色字體提示。填好后點(diǎn)擊“添加”按鈕,程序會使用angularjs的$http.get函數(shù)去后臺進(jìn)行查詢,如果編碼不對則會提示“沒有該編碼對應(yīng)的配件”,添加成功后會調(diào)用angularjs的列表刷新函數(shù)刷新我們下方的退貨列表。需要退貨的配件添加完后點(diǎn)擊“退貨”按鈕進(jìn)行統(tǒng)一退貨。程序效果圖如圖25所示。

圖25配件退貨
退貨單管理
在系統(tǒng)主界面點(diǎn)擊退貨管理模塊下的“退貨單管理”鏈接后,右邊的內(nèi)容頁就會展示出退貨單管理列表,列表中會展示出所有的退貨單,可以根據(jù)創(chuàng)建時間進(jìn)行數(shù)據(jù)過濾。每一條退貨單記錄右邊有查看明細(xì)按鈕,點(diǎn)擊該按鈕可以查看該出貨單的退貨明細(xì)數(shù)據(jù)程序。效果圖如圖26所示。

圖26退貨單管理
數(shù)據(jù)統(tǒng)計(jì)模塊設(shè)計(jì)
進(jìn)貨統(tǒng)計(jì)
在系統(tǒng)主界面點(diǎn)擊統(tǒng)計(jì)管理模塊下的“進(jìn)貨統(tǒng)計(jì)”鏈接后,右邊的內(nèi)容頁就會展示出進(jìn)貨統(tǒng)計(jì)的數(shù)據(jù)列表。程序效果圖如圖27所示。
圖27進(jìn)貨統(tǒng)計(jì)
進(jìn)貨統(tǒng)計(jì)的核心代碼其實(shí)就是sql語句,其核心代碼如下:
String sqlString = "select c.pname,sum(a.pcount) as allcount,sum(a.price*a.pcount) as allprice from t_OrderDetail a left join t_ProductDetail b on a.pno=b.pno left join t_Product c on b.fkpid=c.id left join t_Order d on a.fkoid=d.id where a.id<>0 ";
if (null != map.get("status")) {
sqlString = sqlString + " and d.status = '" + map.get("status")+ "'";
}
sqlString = sqlString + " group by c.pname";
Query query = ht.getSessionFactory().getCurrentSession()
.createSQLQuery(sqlString);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
出貨統(tǒng)計(jì)
在系統(tǒng)主界面點(diǎn)擊統(tǒng)計(jì)管理模塊下的“出貨統(tǒng)計(jì)”鏈接后,右邊的內(nèi)容頁就會展示出出貨統(tǒng)計(jì)的數(shù)據(jù)列表。效果圖如圖28所示。

圖28出貨統(tǒng)計(jì)
系統(tǒng)測試
測試目的
每一個項(xiàng)目的最后都要經(jīng)過反復(fù)無數(shù)次的測試才能放心的投入使用。通過測試我們可以了解到系統(tǒng)存在哪些不足,哪些功能還不能夠?qū)崿F(xiàn),哪些性能還可以再優(yōu)化。其實(shí)在程序開發(fā)的過程中,我們一般也是邊寫程序邊測試的,每做完一個模塊,就會刷新頁面看是否能實(shí)現(xiàn),這也叫測試。測試的目的就是為了更好的呈現(xiàn)系統(tǒng),使系統(tǒng)達(dá)到我們的預(yù)期效果。測試方法說明
當(dāng)然 ,測試的方法有很多種,在大學(xué)的課程中,我們聽到的最多的就是白盒和黑盒測試,下面對這兩種方法進(jìn)行說明:
黑盒測試是在程序接口進(jìn)行的測試,它只檢查程序是否能適當(dāng)?shù)慕邮蛰斎氲臄?shù)據(jù)并產(chǎn)生正確的輸出信息,程序運(yùn)行過程中能否保持外部信息的完整性。黑盒測試又稱為功能測試[9]。
白盒測試法和黑盒測試法相反,它的前提是可以把程序看成裝在一個透明的白盒子里,測試者完全知道程序的結(jié)構(gòu)和處理算法。白盒測試又稱為結(jié)構(gòu)測試[10]。測試用例設(shè)計(jì)
本次介紹的用例是驗(yàn)證用戶名和密碼錯誤時,系統(tǒng)是否提示并阻止登錄。如果說登錄功能都有問題的話,那后面的大塊功能則無法正常使用,所以我們進(jìn)行了這個測試用例的設(shè)計(jì)。測試表如表7所示。
表7 用戶名密碼錯誤的測試用例
用例名稱用戶名密碼錯誤的測試用例用例標(biāo)識YL-01用例說明驗(yàn)證用戶名和密碼輸入錯誤,系統(tǒng)是否自動提示錯誤。操作過程序號輸入及操作說明期望的測試結(jié)果實(shí)際結(jié)果備注1輸入用戶名admin可在文本框中顯示輸入內(nèi)容可在文本框中顯示輸入內(nèi)容輸入密碼000可在文本框中顯示輸入內(nèi)容可在文本框中顯示輸入內(nèi)容點(diǎn)擊“登錄”按鈕登錄失敗,系統(tǒng)彈出“用戶名或密碼錯誤”的提示框登錄失敗,系統(tǒng)彈出“用戶名或密碼錯誤”的提示框前提和約束系統(tǒng)能成功打開并顯示登錄頁面過程終止條件登錄成功或者登錄失敗結(jié)果評價標(biāo)準(zhǔn)登錄失敗,并彈出信息提示框設(shè)計(jì)人員設(shè)計(jì)日期2017年04月20日
系統(tǒng)測試
功能測試
(1)對用戶登錄模塊的功能測試。用戶首先進(jìn)行登錄,登錄的時候需要驗(yàn)證用戶,每個員工都有自己對應(yīng)的用戶名和密碼,只有當(dāng)用戶名和密碼都正確時才能登錄成功。用戶登錄時還會有驗(yàn)證碼,驗(yàn)證碼為2個數(shù)字,隨機(jī)給出。
(2)數(shù)據(jù)刪除測試。點(diǎn)擊刪除按鈕時可以刪除數(shù)據(jù),
(3)數(shù)據(jù)編輯測試。點(diǎn)擊編輯按鈕時可以修改相關(guān)數(shù)據(jù),頁面交互測試
經(jīng)過頁面交互測試,華柳挖掘機(jī)配件營銷中心銷售系統(tǒng)中的所有功能都可以按照要求鏈接到應(yīng)當(dāng)跳轉(zhuǎn)的頁面。系統(tǒng)性能測試
在穩(wěn)定性方面,采用多人多次登錄該系統(tǒng)的方式,每次登錄后進(jìn)行用戶及簡單應(yīng)用的掃描,等全部功能的測試。經(jīng)過多次測試,系統(tǒng)功能總體比較穩(wěn)定,但由于環(huán)境限制,無法測試更多。
測試結(jié)果分析
通過不斷的對每一個模塊進(jìn)行測試,還是發(fā)現(xiàn)了一些問題,比如有時候提示404,進(jìn)入不了頁面,有時候按鈕點(diǎn)擊沒反應(yīng),在發(fā)現(xiàn)這一些錯誤和漏洞后,會及時將這些錯誤加以修改,并且這些問題解決之后,再對系統(tǒng)進(jìn)行集成測試。測試結(jié)果表明系統(tǒng)可以達(dá)到所需要求,各部分測試都能達(dá)到理想狀態(tài)。其實(shí)不光是最后的測試,在系統(tǒng)的開發(fā)過程中,我也邊開發(fā)邊測試,只要做好了一個功能,都會運(yùn)行看看,如果有錯誤就及時修改。通過對這些錯誤的修改,發(fā)現(xiàn)更多的錯誤來源于對語法的理解不夠透徹,所以在以后的開發(fā)過程中會盡量避免類似的錯誤。
結(jié)論
經(jīng)過數(shù)月程序的開發(fā)學(xué)習(xí),我把以前在課堂上所學(xué)的知識都運(yùn)用在了系統(tǒng)上,且對數(shù)據(jù)庫也進(jìn)行了系統(tǒng)的研究,終于完成了我的畢業(yè)設(shè)計(jì)華柳挖掘機(jī)配件營銷中心銷售系統(tǒng)。經(jīng)過測試,網(wǎng)站已經(jīng)全部實(shí)現(xiàn)了一開始所設(shè)計(jì)的所有功能,如注冊登錄、重置密碼、銷售管理、配件管理和查找統(tǒng)計(jì)等。系統(tǒng)性能良好,運(yùn)行正常,具有較強(qiáng)的可移植性和安全性。通過對華柳挖掘機(jī)配件營銷中心銷售系統(tǒng)的開發(fā),體會了一次完整的項(xiàng)目開發(fā)后,使得我對軟件開發(fā)有了更加真實(shí)的感受。
論文一開始從管理系統(tǒng)的現(xiàn)狀出發(fā),再結(jié)合目前挖掘機(jī)配件銷售市場的情況,總結(jié)出目前開發(fā)這個系統(tǒng)的必要性與它能起到的實(shí)際作用。然后通過做需求分析,從多個方面來剖析開發(fā)這個系統(tǒng)需要做哪些前期準(zhǔn)備,也羅列出了自己的需求分析細(xì)節(jié)。再次向大家介紹了整個系統(tǒng)的結(jié)構(gòu),以及數(shù)據(jù)庫怎么設(shè)計(jì)表的,以及具體到每張表的字段設(shè)計(jì)。然后再介紹個整個系統(tǒng)的實(shí)現(xiàn),通過各個模塊截圖的方式向大家進(jìn)行了展示。最后是測試結(jié)果。系統(tǒng)雖然已經(jīng)完成,但是還是有很多不完善的地方,這在以后還需要繼續(xù)進(jìn)修與學(xué)習(xí),一開始我根本不知道從哪方面下手,在糾結(jié)之際,多虧了我的指導(dǎo)老師和同學(xué),在他們的幫助下,我開始有了方向,著手進(jìn)行項(xiàng)目的開發(fā)。在項(xiàng)目開發(fā)的過程中,我也遇到了很多難題,不過通過我的不斷探索,在圖書館查詢資料最終一一解決。通過這次畢業(yè)設(shè)計(jì),我發(fā)現(xiàn)要開發(fā)一個程序不是一個簡單的事情,它所涉及到的知識有很多,需要不斷的學(xué)習(xí)。當(dāng)然這個系統(tǒng)也還有很多不足的地方,在系統(tǒng)的界面方面還可以多設(shè)計(jì),讓整個界面系統(tǒng)可以更美觀。
參考文獻(xiàn)?
[1]肖金秀.JSP程序設(shè)計(jì)教程[M].冶金工業(yè)出版社,2003.9.?
[2]施伯樂等.數(shù)據(jù)庫實(shí)用教程(第二版).清華大學(xué)出版社 2003.11.
[3]史濟(jì)民 顧春華等.軟件工程——原理、方法與應(yīng)用(第二版).高等教育出版社,2002.12.?
[4]飛思科技產(chǎn)品研發(fā)中心.JSP應(yīng)用開發(fā)祥解(第二版).電子工業(yè)出版社,2004.01.?
[5]王國立、李國立等.JSP數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊.人民郵電出版社,2006.03.
[6]林杰斌,劉明德.MIS管理信息系統(tǒng):交叉與發(fā)展[M].北京:清華大學(xué)出版社,2006.
[7]衛(wèi)紅春,方明.信息系統(tǒng)分析與設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2003,
[8]王克宏,郝建文.Java技術(shù)教程(基礎(chǔ)篇) [M] .北京:清華大學(xué)出版社,2002,
[9]David Flanagan著,林劍、王宇飛譯.Java實(shí)例技術(shù)手冊[M].北京:中國電力出版社,2005.
[10]湯化平.SQL Server實(shí)訓(xùn)教程[M].北京:清華大學(xué)出版社,2005.?
Design and Realization of Sales System of Hua Liu 's Excavator Parts Marketing Center?
Abstract:?Along with the development of Chinese, each city construction speed is faster, the use of the excavator is of course essential, the ensuing opportunities are self-evident, the kinds of various accessories are also many. With the workload and the business is more refined, artificial processing before inevitably in the business and financial aspects of a loophole, because now all kinds of sales system has been gradually mature, so it can be put into use to reduce the labor intensity of employees, improve work efficiency and convenient financial statistics.
In the whole system development process, the use of the basic concepts of software engineering, related technologies and methods. And the use of the system life cycle of the structured programming method, which will be the entire system development stage (demand analysis, system design, basic realization) of the basic activities throughout.
Key Words:Accessories; excavator; sales management system