趙培
(河北省中小企業(yè)信用擔(dān)保服務(wù)中心,石家莊050000)
隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,企業(yè)的發(fā)展也越發(fā)壯大,在這個(gè)飛速發(fā)展的信息時(shí)代,老舊的人事管理模式已日趨落后,目前急需對企業(yè)的頂梁柱、急先鋒——業(yè)務(wù)經(jīng)理進(jìn)行系統(tǒng)的信息化管理,以滿足新時(shí)代對現(xiàn)代企業(yè)的要求。
業(yè)務(wù)經(jīng)理綜合管理系統(tǒng)將業(yè)務(wù)經(jīng)理的各種操作全部集中到了這一系統(tǒng)中,大大地提高了業(yè)務(wù)經(jīng)理日常操作的方便性和高效性,不僅為業(yè)務(wù)經(jīng)理提供了方便,使繁雜的書面工作變得簡單有趣,也使得公司管理者可以方便地對每個(gè)業(yè)務(wù)經(jīng)理的銷售情況和工作進(jìn)展程度進(jìn)行了解,無形中為企業(yè)創(chuàng)造了價(jià)值。這一章將業(yè)務(wù)經(jīng)理綜合管理系統(tǒng)各個(gè)模塊做一個(gè)總體的需求分析,明確所要實(shí)現(xiàn)的功能,確定研究的深度。
業(yè)務(wù)經(jīng)理綜合管理系統(tǒng)的設(shè)計(jì)和開發(fā),主要包括后臺管理員模塊和前臺業(yè)務(wù)經(jīng)理模塊。
業(yè)務(wù)經(jīng)理綜合管理系統(tǒng)的后臺管理員模塊主要需完成如下幾個(gè)功能:
①添加業(yè)務(wù)經(jīng)理,修改業(yè)務(wù)經(jīng)理信息;②查看每個(gè)業(yè)務(wù)經(jīng)理的銷售報(bào)告;③查看每個(gè)業(yè)務(wù)經(jīng)理的工作計(jì)劃;④查看編輯所有的客戶信息;⑤審批業(yè)務(wù)經(jīng)理的報(bào)銷申請和費(fèi)用申請;⑥查看各個(gè)競爭對手的狀態(tài);⑦向業(yè)務(wù)經(jīng)理發(fā)送公告或通知;⑧出題對各個(gè)業(yè)務(wù)經(jīng)理進(jìn)行考核,查看考核結(jié)果;⑨查看所有工程信息。
業(yè)務(wù)經(jīng)理綜合管理系統(tǒng)的前臺業(yè)務(wù)經(jīng)理模塊主要有如下功能:
①上傳自己銷售的報(bào)告;②上傳和查看自己的工作計(jì)劃;③上傳、刪除、修改和查詢自己的客戶信息;④申請報(bào)銷和交際費(fèi)用,查看審批狀態(tài);⑤上傳競爭對手的狀態(tài);⑥上傳工程信息;⑦查看系統(tǒng)公告;⑧參加考核,查看考試結(jié)果。
2.2.1 數(shù)據(jù)庫初步設(shè)計(jì)
根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及數(shù)據(jù)模型的設(shè)計(jì),數(shù)據(jù)庫初步需要的存儲(chǔ)信息如下:
業(yè)務(wù)經(jīng)理信息:包括(業(yè)務(wù)經(jīng)理Id、用戶名、密碼和成績)等。
管理員信息:包括(管理員Id、用戶名和密碼)等。
客戶信息:包括(客戶Id、客戶姓名、電話號碼、手機(jī)號碼、地址、客戶類別)等信息。
競爭動(dòng)態(tài)信息:包括(競爭動(dòng)態(tài)Id、動(dòng)態(tài)名稱、具體競爭動(dòng)態(tài)情況)等。
考試題目信息:包括(題目Id、題目名稱、選項(xiàng)A、選項(xiàng)B、選項(xiàng)C、選項(xiàng)D、題目答案、答案解析)等。
答題結(jié)果信息:包括(結(jié)果ID、題目Id、答題結(jié)果)等。
交際費(fèi)申請信息:包括(交際費(fèi)申請ID、交際費(fèi)申請名稱、金額、申請業(yè)務(wù)經(jīng)理、是否審批、申請時(shí)間)等。
申請報(bào)銷信息:包括(申請報(bào)銷ID、申請報(bào)銷名稱、報(bào)銷類型、金額、申請用戶、是否審批)等。
銷售報(bào)告信息:包括(銷售報(bào)告Id、銷售報(bào)告名稱、客戶Id、商品、數(shù)量、金額、業(yè)務(wù)經(jīng)理、銷售日期)等。
工程信息:包括(工程ID、工程名稱、開始時(shí)間、負(fù)責(zé)人)等。
工作計(jì)劃:包括(計(jì)劃ID、計(jì)劃名稱、計(jì)劃內(nèi)容、日期、業(yè)務(wù)經(jīng)理)等。
系統(tǒng)公告:包括(公告Id、公告名稱、公告內(nèi)容、日期)等。
2.2.2 系統(tǒng)運(yùn)行需求分析
系統(tǒng)要求界面友好,操作簡單,響應(yīng)時(shí)間短,盡量減少手工干預(yù),能讓用戶選擇的信息盡量不用用戶輸入,以提高準(zhǔn)確率和效率。
本系統(tǒng)是采用MyEclipse作為前臺開發(fā)工具,Tomcat作為服務(wù)器,MySQL作為后臺數(shù)據(jù)庫平臺的業(yè)務(wù)經(jīng)理綜合管理系統(tǒng)。運(yùn)行時(shí)的基本配置要求如下:
硬件環(huán)境:主機(jī)PentiumⅣ以上,內(nèi)存至少1GB。
軟件環(huán)境:操作平臺 Windows XP、Windows7、JDK1.6、Tomcat6.0、MySQL5.5。
本系統(tǒng)的總體設(shè)計(jì)采用結(jié)構(gòu)化設(shè)計(jì)方法,把一個(gè)復(fù)雜的系統(tǒng)分解成相對獨(dú)立的若干模塊,通過對模塊的設(shè)計(jì)和模塊之間關(guān)系的協(xié)調(diào)來實(shí)現(xiàn)整個(gè)軟件系統(tǒng)的功能。
依據(jù)前面的需求分析,本系統(tǒng)的用例圖如下,管理員的用例圖如圖3.1所示。
圖3.1 管理員用例圖
管理員擁有上圖六個(gè)功能用例:
①業(yè)務(wù)經(jīng)理管理模塊:該模塊下有添加業(yè)務(wù)經(jīng)理、編輯業(yè)務(wù)經(jīng)理功能。
②申請審批模塊:該模塊下有查看和審批業(yè)務(wù)經(jīng)理提交的各種費(fèi)用申請和報(bào)銷功能。
③考試管理模塊:用于管理員出題、查看考試結(jié)果和清空成績功能。
④客戶管理模塊:管理員查看所有客戶的詳細(xì)信息,對客戶信息進(jìn)行增加、刪除、修改和模糊查詢。
⑤信息瀏覽模塊:查看業(yè)務(wù)經(jīng)理上傳的銷售報(bào)告、工作計(jì)劃、競爭動(dòng)態(tài)和工程信息。
⑥系統(tǒng)公告模塊:向業(yè)務(wù)經(jīng)理發(fā)布公告,刪除公告。
業(yè)務(wù)經(jīng)理的用例圖如圖3.2所示。
圖3.2 業(yè)務(wù)經(jīng)理用例圖
業(yè)務(wù)經(jīng)理具有六種功能用例:
①銷售報(bào)告管理:上傳銷售報(bào)告和查看所有自己上傳的報(bào)告。②工作計(jì)劃管理:查看今日計(jì)劃,上傳當(dāng)日的工作計(jì)劃。③客戶管理:查看業(yè)務(wù)經(jīng)理自己的客戶,修改和刪除客戶信息,模糊查詢客戶信息,新增客戶類別,新增客戶等。④日常事務(wù)管理:行程報(bào)銷,查看審批狀態(tài),申請交際費(fèi),查看交際費(fèi)審批狀態(tài)。⑤工程信息管理:添加工程信息。⑥其它功能:上傳競爭動(dòng)態(tài),查看系統(tǒng)公告,參加考試和查看考試答案。
根據(jù)前面的需求分析和概要設(shè)計(jì),現(xiàn)將數(shù)據(jù)表的邏輯結(jié)構(gòu)即數(shù)據(jù)結(jié)構(gòu)表描述如下:
數(shù)據(jù)庫名稱為salesmanms。其中包括客戶類別、競爭動(dòng)態(tài)、客戶、考試結(jié)果、交際費(fèi)申請、系統(tǒng)公告、工作計(jì)劃、工程信息、行程報(bào)銷、銷售報(bào)告、考試題目、業(yè)務(wù)經(jīng)理等12個(gè)數(shù)據(jù)表。
為了項(xiàng)目開發(fā)的快捷方便并且具有較強(qiáng)的可擴(kuò)展性,本管理系統(tǒng)集成使用了Struts 2、JFreeChart和Spring框架來實(shí)現(xiàn)MVC架構(gòu)。
MVC模式(三層架構(gòu)模式)(Model-View-Controller)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller)。
MVC模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程式設(shè)計(jì),使后續(xù)對程序的修改和擴(kuò)展簡化,并且使程序某一部分的重復(fù)利用成為可能。除此之外,此模式通過對復(fù)雜度的簡化,使程序結(jié)構(gòu)更加直觀。軟件系統(tǒng)通過對自身基本部份分離的同時(shí)也賦予了各個(gè)基本部分應(yīng)有的功能。
MVC各部分的分工如下:
控制器(Controller)-負(fù)責(zé)轉(zhuǎn)發(fā)請求,對請求進(jìn)行處理。
視圖(View)-界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)。
模型(Model)-程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等等)、數(shù)據(jù)庫專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(jì)(可以實(shí)現(xiàn)具體的功能)。
該業(yè)務(wù)經(jīng)理綜合管理系統(tǒng)可以劃分為管理員子系統(tǒng)和業(yè)務(wù)經(jīng)理子系統(tǒng)。
管理員子系統(tǒng)系統(tǒng)功能結(jié)構(gòu)圖如下圖3.3所示。
圖3.3 管理員子系統(tǒng)功能結(jié)構(gòu)圖
管理員子系統(tǒng)由業(yè)務(wù)經(jīng)理管理、申請審批、考試管理、客戶管理和系統(tǒng)公告幾個(gè)模塊組成。每個(gè)模塊的具體功能如下:
業(yè)務(wù)經(jīng)理管理模塊:
①添加業(yè)務(wù)經(jīng)理:添加公司中新入職的業(yè)務(wù)經(jīng)理,需要輸入用戶名密碼等個(gè)人信息。②編輯業(yè)務(wù)經(jīng)理:修改每個(gè)業(yè)務(wù)經(jīng)理的個(gè)人信息;刪除離職的業(yè)務(wù)經(jīng)理。
申請審批模塊:
①未審批行程報(bào)銷:顯示所有沒有經(jīng)過審批的行程報(bào)銷申請,管理員可以在此對申請進(jìn)行審批。②已審批行程報(bào)銷:顯示所有已經(jīng)通過審批的行程報(bào)銷申請。③未審批交際費(fèi)申請:顯示所有沒有經(jīng)過審批的交際費(fèi)申請,管理員可以在此對申請進(jìn)行審批。④已審批交際費(fèi)申請:顯示所有已經(jīng)通過審批的行程報(bào)銷申請。
考試管理模塊:
①考試出題:管理員進(jìn)行出題,輸入題目,各個(gè)選項(xiàng),答案和答案解析。②所有題目:對每個(gè)題目進(jìn)行修改和刪除操作。③考試結(jié)果:以柱狀圖的形式查看每個(gè)業(yè)務(wù)經(jīng)理的考試結(jié)果情況。④清空成績:清空所有用戶的成績,以便重新進(jìn)行考試。
客戶管理模塊:
對公司所有客戶進(jìn)行修改和刪除操作;查找每個(gè)客戶的信息,并可以進(jìn)行模糊查詢;按類別查詢所有客戶。
信息瀏覽模塊:
①瀏覽業(yè)務(wù)經(jīng)理上傳的銷售報(bào)告信息;根據(jù)業(yè)務(wù)經(jīng)理查看銷售報(bào)告;根據(jù)開始時(shí)間、結(jié)束時(shí)間和排序方式查詢銷售報(bào)告。②瀏覽業(yè)務(wù)經(jīng)理上傳的工作計(jì)劃信息。③瀏覽業(yè)務(wù)經(jīng)理上傳的競爭動(dòng)態(tài)信息。④瀏覽業(yè)務(wù)經(jīng)理上傳的項(xiàng)目信息。
系統(tǒng)公告模塊:
①發(fā)布公告:發(fā)布公告給所有業(yè)務(wù)經(jīng)理查看。②刪除公告:刪除錯(cuò)誤或過時(shí)的公告。
業(yè)務(wù)經(jīng)理子系統(tǒng)功能結(jié)構(gòu)圖如下圖3.4所示。
圖3.4 業(yè)務(wù)經(jīng)理子系統(tǒng)功能結(jié)構(gòu)圖
銷售報(bào)告模塊:
①上傳報(bào)告:上傳今天的銷售報(bào)告情況。②所有報(bào)告:查看所有已經(jīng)提交過的報(bào)告。
工作計(jì)劃模塊:
①今日計(jì)劃:業(yè)務(wù)經(jīng)理查看自己今天上傳的計(jì)劃信息。②新建計(jì)劃:業(yè)務(wù)經(jīng)理上傳自己的今日計(jì)劃供管理員查看。
客戶管理模塊:
①客戶列表:業(yè)務(wù)經(jīng)理查看自己的客戶信息,并可對客戶信息進(jìn)行修改和刪除,還可以模糊查詢客戶信息;按類別查詢客戶信息。②新增客戶類別:業(yè)務(wù)經(jīng)理增加自己的客戶類別,方便對客戶進(jìn)行管理。③新增客戶:業(yè)務(wù)經(jīng)理上傳自己的客戶信息。
日常事務(wù)模塊:
①行程報(bào)銷:向管理員申請行程報(bào)銷。②報(bào)銷狀態(tài):查看已申請報(bào)銷的審批狀態(tài)。③交際費(fèi)申請:向公司申請交際費(fèi)用。④交際費(fèi)審批狀態(tài):查看已申請的交際費(fèi)用是否通過審批。
工程信息模塊:
業(yè)務(wù)經(jīng)理上傳工程信息,填寫信息包括工程名稱、開始時(shí)間和負(fù)責(zé)人等。
更多:
①競爭動(dòng)態(tài):業(yè)務(wù)經(jīng)理上傳競爭對手的競爭動(dòng)態(tài)。②系統(tǒng)公告:查看管理員發(fā)送的系統(tǒng)公告信息。③考試:參加公司的統(tǒng)一考試。④查看答案:查看試題答案。⑤系統(tǒng)包圖如下圖3.5所示。
圖3.5 系統(tǒng)包圖
com.wsqy.action.admin和com.wsqy.action.user兩個(gè)包分別為系統(tǒng)管理員和業(yè)務(wù)經(jīng)理的Action層包,由JSP頁面直接請求,它們兩個(gè)包調(diào)用com.wsqy.service.impl包中的類,com.wsqy.service.impl包為服務(wù)層,其中的類實(shí)現(xiàn)com.wsqy.service包中的接口,com.wsqy.service.impl包調(diào)用com.wsqy.dao.impl包中的類,com.wsqy.dao.impl包中的類實(shí)現(xiàn)了com.wsqy.dao包中的接口。
在測試時(shí)環(huán)境搭建如下:在MyEclipse集成開發(fā)環(huán)境中選中所要部署的項(xiàng)目,點(diǎn)擊MyEclipse的部署按鈕,在出現(xiàn)的對話框中點(diǎn)擊add按鈕,選中要部署到的Tomcat服務(wù)器,在此之前要將Tomcat集成到MyEclipse中,點(diǎn)擊finish按鈕,開發(fā)環(huán)境會(huì)自動(dòng)將當(dāng)前的項(xiàng)目部署到Tomcat指定目錄中。點(diǎn)擊運(yùn)行按鈕,啟動(dòng)Tomcat。在瀏覽器地址欄中輸入http://localhost:8080/salesmanms進(jìn)入登錄頁面。
我們對各模塊采用單元測試的方法對每一個(gè)小的模塊單元進(jìn)行具體測試。
部分測試項(xiàng)目如下:
①登錄。測試系統(tǒng)操作界面,內(nèi)容包括用戶名、密碼輸入和權(quán)限,合理性檢查、合法性檢查,系統(tǒng)操作界面顯示控制。
②添加業(yè)務(wù)經(jīng)理。測試添加新用戶功能,內(nèi)容包括新用戶信息的輸入,合理性檢查,合法性檢查,新用戶信息入庫是否正確。
③添加客戶。測試客戶是否可以添加成功,如果輸入的客戶名稱已存在,是否提示用戶,插入是否成功。
④查看客戶。測試是否可以對客戶進(jìn)行模糊查詢。
測試對客戶的修改刪除是否正確處理。
⑤參加考試。測試如果業(yè)務(wù)經(jīng)理已經(jīng)參加過考試,是否允許重復(fù)考試。
測試考試完成后的成績計(jì)算是否正確。
⑥查看答案。主要測試如果業(yè)務(wù)經(jīng)理沒有參加過考試,是否允許查看答案。
⑦查看考試結(jié)果。測試業(yè)務(wù)經(jīng)理考試結(jié)果柱狀圖是否顯示正確。
測試結(jié)果如下:
①登錄。當(dāng)輸入為空時(shí),頁面提示請輸入用戶名。當(dāng)用戶輸入用戶名1,密碼1時(shí),進(jìn)入管理員界面。當(dāng)用戶輸入用戶名11,密碼11時(shí),進(jìn)入業(yè)務(wù)經(jīng)理界面。輸入不存在的用戶名時(shí),停留在當(dāng)前頁面。
②添加業(yè)務(wù)經(jīng)理。輸入用戶名密碼等業(yè)務(wù)經(jīng)理信息,點(diǎn)擊按鈕提交后,業(yè)務(wù)經(jīng)理信息被插入到了數(shù)據(jù)庫中。如果輸入用戶名為1,即已經(jīng)存在的用戶名時(shí),頁面提示用戶名已存在,不能將數(shù)據(jù)插入數(shù)據(jù)庫。
③添加客戶。當(dāng)輸入客戶信息點(diǎn)擊提交后,客戶信息被插入到數(shù)據(jù)庫,頁面跳轉(zhuǎn)到客戶列表界面。當(dāng)輸入客戶的名稱已經(jīng)存在時(shí),停留在當(dāng)前頁面,不將數(shù)據(jù)插入數(shù)據(jù)庫。
④查看客戶。在客戶名稱中輸入存在的名稱點(diǎn)擊查詢,可以查找出客戶信息。輸入部分名稱,選中模糊查詢框,點(diǎn)擊查詢,會(huì)查找出所有含有該部分名稱的客戶。當(dāng)修改客戶信息時(shí),點(diǎn)擊按鈕提交后,客戶信息正確存入數(shù)據(jù)庫。刪除客戶時(shí),客戶被正確刪除。
⑤參加考試。如果業(yè)務(wù)經(jīng)理已經(jīng)參加過考試,頁面跳轉(zhuǎn)到已經(jīng)參加過考試的提示界面,不能重復(fù)考試。如果沒有參加過,則跳轉(zhuǎn)到考試頁面,顯示所有考題,答完題點(diǎn)擊提交后,系統(tǒng)會(huì)立即計(jì)算出業(yè)務(wù)經(jīng)理的成績,并插入到數(shù)據(jù)庫。
⑥查看答案。如果業(yè)務(wù)經(jīng)理沒有參加過考試,點(diǎn)擊考試答案,會(huì)跳轉(zhuǎn)到答題頁面。如果業(yè)務(wù)經(jīng)理參加過考試,都會(huì)跳轉(zhuǎn)到答案頁面,顯示出所有題目和答案。
⑦查看考試結(jié)果。管理員點(diǎn)擊考試結(jié)果鏈接,頁面顯示所有用戶的成績柱狀圖,與數(shù)據(jù)庫的數(shù)據(jù)一致。