張海云
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 陜西 西安 712000)
基于Android的營銷人員管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
張海云
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 陜西 西安 712000)
本文基于我國中小企業(yè)中營銷人員的考勤和監(jiān)督工作用傳統(tǒng)的方式很難完成這一問題,想要利用Android平臺搭建一款適用于營銷人員的管理系統(tǒng)。通過對Android平臺的基礎(chǔ)性能和系統(tǒng)框架的一些了解,分析了欲搭建系統(tǒng)的可行性與實(shí)際需求,對應(yīng)用程序進(jìn)行功能性、邏輯性以及網(wǎng)絡(luò)的模塊架構(gòu),并同時(shí)完成了系統(tǒng)的開發(fā)運(yùn)行環(huán)境的搭建和關(guān)鍵技術(shù)的解決。
營銷人員;Android;系統(tǒng)架構(gòu);數(shù)據(jù)交互;Java
營銷人員的工作時(shí)間和地點(diǎn)的不確定性和流動(dòng)性使得他們的工作很難受到監(jiān)督和管理,而傳統(tǒng)方式則是利用填寫考核表或者不定時(shí)抽查等方式對銷售人員進(jìn)行考勤和管理,這樣固板且費(fèi)時(shí)費(fèi)力的方式很難對長期在公司外進(jìn)行工作的銷售人員進(jìn)行有效的監(jiān)督和管理,使得在外的人員的工作成本居高不下,公司的各種通知也很難及時(shí)下發(fā)到銷售人員的手中。而隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,各種移動(dòng)終端的技術(shù)日臻成熟,基于Android等開放式操作系統(tǒng)的移動(dòng)終端為解決這個(gè)問題提供的很好的技術(shù)支持?,F(xiàn)如今智能手機(jī)已經(jīng)走進(jìn)了我們每個(gè)人的生活,人們可以利用手機(jī)下載各式各樣的Android軟件。在這樣的背景下,我們可以利用Android平臺來設(shè)計(jì)出一款營銷人員管理系統(tǒng)。企業(yè)可以通過這樣一個(gè)軟件,方便的掌控營銷人員每日工作情況和項(xiàng)目緊張,也可以及時(shí)快速的下發(fā)決議決策,從而更加便捷可靠的對營銷人員進(jìn)行跟蹤管理,節(jié)約企業(yè)成本,提高營業(yè)額。
1.1Android平臺發(fā)展現(xiàn)狀
Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用與移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)[1]。Android平臺相較于現(xiàn)如今眾多平臺最為突出的優(yōu)勢就是其開放性,其任何服務(wù)都是免費(fèi)的,任何移動(dòng)終端廠商都被允許加入到Android聯(lián)盟中。第三方開發(fā)商擁有了非常自由寬松的開發(fā)環(huán)境,開發(fā)商們可以推出滿足自己構(gòu)想和需求的各種產(chǎn)品,而這些產(chǎn)品功能上具有的差異和特色卻不影響數(shù)據(jù)的同步以及軟件的兼容。也正因此Android在手持終端中所占的份額越開越大。
1.2Android操作系統(tǒng)架構(gòu)
和其他操作系統(tǒng)一樣,Android也采用了分層的架構(gòu)。由應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行層和Linux內(nèi)核層四層由高到低組成[2-5]。
應(yīng)用程序?qū)又饕δ苁桥c用戶之間進(jìn)行交互,用戶可以通過下載APK包安裝并使用。應(yīng)用程序?qū)拥某绦蛑饕际怯肑ava語言編寫的,Java程序和圖片字符串等相關(guān)資料一起進(jìn)行編譯就會生成可供用戶使用的APK包。不過Android內(nèi)部也內(nèi)置了一些如電子電子郵件客戶端、SMS短消息、瀏覽器等的基礎(chǔ)核心應(yīng)用程序集合。應(yīng)用程序?qū)犹幵谙到y(tǒng)框架中的最高一層。
Android擁有簡潔清晰且功能強(qiáng)大的應(yīng)用程序框架,而這直接促成了Android近些年以來的快速發(fā)展。通過應(yīng)用程序框架,開發(fā)人員可以直接與Android底層實(shí)現(xiàn)交互,也可以直接完全訪問核心應(yīng)用程序的API框架。在遵循框架的安全性原則下,每個(gè)應(yīng)用程序都可以發(fā)布他的功能塊,而在應(yīng)用程序框架下,這些功能塊可以得到重復(fù)使用,任何其他的應(yīng)用程序都可以再次使用這些已經(jīng)發(fā)布了的功能塊,極大的方便了應(yīng)用程序的開發(fā)。而所有的應(yīng)用程序本質(zhì)上是一組服務(wù)和系統(tǒng),包括:視圖、內(nèi)容提供器、資源管理器、通知管理器、活動(dòng)管理器。
圖1 Android系統(tǒng)架構(gòu)
Libraries(庫類)[6]和Android Runtime(運(yùn)行時(shí)環(huán)境)共同構(gòu)成了 Android系統(tǒng)運(yùn)行庫。Android中的組件可以對libraries中包含的一些C/C++庫進(jìn)行調(diào)用。核心庫主要包括:系統(tǒng)C庫、媒體庫、Surface Manager和LibWebCore。Android應(yīng)用程序在運(yùn)行中執(zhí)行,在運(yùn)行中包括核心庫和Dalvik虛擬機(jī),而每個(gè)Android應(yīng)用程序都是Dalvik虛擬機(jī)的實(shí)例并在他自己的進(jìn)程中運(yùn)行。
Android是運(yùn)行與Linux kernel上的,它基于Linux2.6提供:內(nèi)存管理、進(jìn)程管理、驅(qū)動(dòng)模型、網(wǎng)絡(luò)堆棧、安全這些核心系統(tǒng)服務(wù)[7]。
1.3組件交互方式
Android應(yīng)用程序由六種不同類型的組件松耦合而成,軟件的開發(fā)者可以根據(jù)不同程序的需求挑選部分組件進(jìn)行組合使用,項(xiàng)目清單文件AndroidMainfest.xm l描述了不同組件以及他們之間的交互。這些組件之間有著不同的交互激活方式,在Android平臺下主要交互的組件有4類,分別是;Activity、Service、Inter Receiver、Content Provider。其中,Activity[8]是應(yīng)用程序的根本,所有程序的流程都運(yùn)行在Activity中。
Android平臺中最重要的部分就是組件間的交互,在應(yīng)用中應(yīng)用程序的切換是貫穿始終的。
2.1系統(tǒng)的可行性分析
我國中小企業(yè)對銷售人員的管理和監(jiān)管體系相對較松且比較單一,沒有一套科學(xué)可行的系統(tǒng)管理方案,使得企業(yè)對銷售人員的價(jià)值沒有得到有效的利用,人力資源和公司資源都有一定的浪費(fèi),從而使得企業(yè)成本增加利潤降低。恰巧我國的中小型企業(yè)基數(shù)龐大,其中的銷售人員數(shù)量更是眾多,所以如果能開發(fā)出一款可以有效監(jiān)管營銷人員的應(yīng)用程序應(yīng)該會有非常廣闊的市場前景。
這樣的一款應(yīng)用程序可以在Android平臺下完成,使用Java語言進(jìn)行編寫。Android系統(tǒng)是是一款開源操作系統(tǒng),有著很好的開放性,可以在網(wǎng)上查閱利用其它程序發(fā)布的基礎(chǔ)組件和Android源碼,這樣編程的難度和工作量就可以有效降低,為這樣一款程序的完成提供了更高的操作可行性。
2.2系統(tǒng)的需求分析
功能需求就是對軟件的所需要實(shí)現(xiàn)的功能提出具體的要求,軟件的開發(fā)人員必須根據(jù)實(shí)際的功能需求來設(shè)計(jì)和開發(fā)軟件。在主要針對營銷人員的應(yīng)用程序,必須要解決的問題就是對營銷人員工作的考勤、工作完成的進(jìn)度的監(jiān)控、在外公費(fèi)的使用情況以及主管對營銷人員指令的及時(shí)下達(dá)。具體的功能可以通過使用人群的不同來具體區(qū)分。
對于營銷人員來說,應(yīng)用程序必須滿足以下幾個(gè)功能:1)上下班考勤。營銷人員在外工作時(shí)可以通過軟件來進(jìn)行上下班的考勤。2)客戶處簽到。當(dāng)?shù)竭_(dá)客戶處時(shí),可以在客戶端自動(dòng)記錄到達(dá)的時(shí)間和地點(diǎn)。3)意向客戶記錄。對有潛在意向的客戶進(jìn)行資料的備份并上傳到公司。4)項(xiàng)目進(jìn)度監(jiān)控。對手中正在執(zhí)行的項(xiàng)目進(jìn)度進(jìn)行實(shí)時(shí)監(jiān)控同步。5)報(bào)銷款項(xiàng)記錄。對營銷人員在工作中的報(bào)銷款項(xiàng)進(jìn)行實(shí)時(shí)上傳監(jiān)管核查。6)新任務(wù)接收。在外工作時(shí)及時(shí)接收上級指令。
對于管理者來說,應(yīng)用程序應(yīng)滿足以下幾點(diǎn)功能:1)工作抽查。對銷售人員同步的工作信息進(jìn)行抽查。2)工作進(jìn)度檢查。管理者可以對下面的項(xiàng)目進(jìn)度進(jìn)行實(shí)施檢查。3)行程核查。管理者可以對銷售人員提供的坐標(biāo)位置等信息對人員的差旅費(fèi)用進(jìn)行檢查。4)任務(wù)發(fā)布??梢詫?shí)時(shí)對手下的銷售人員發(fā)布任務(wù)。
對于系統(tǒng)的的性能需求,界面方面需要滿足:簡潔美觀、統(tǒng)一規(guī)范、操作便捷清晰流暢的要求。性能方面要求:平均的響應(yīng)時(shí)間不應(yīng)多余5秒,且響應(yīng)時(shí)間較長的操作應(yīng)有相應(yīng)的提示;單臺終端的并發(fā)用戶數(shù)量最好保證在500人以上;可靠性方面要求系統(tǒng)的故障率不應(yīng)小于0.01%;系統(tǒng)應(yīng)支持遠(yuǎn)程升級來實(shí)現(xiàn)系統(tǒng)的及時(shí)更新;系統(tǒng)要支持在硬件配置不一終端上運(yùn)行。
3.1系統(tǒng)架構(gòu)設(shè)計(jì)
1)系統(tǒng)功能架構(gòu)。
根據(jù)上一章的需求分析,可以將客戶端分為下面8個(gè)功能塊,分別是:1)登錄注冊模塊,下設(shè)用戶注冊及用戶登錄子模塊,密碼找回子模塊;2)設(shè)置模塊,下設(shè)個(gè)人設(shè)置、系統(tǒng)設(shè)置以及關(guān)于軟件子模塊;3)日報(bào)模塊,下設(shè)日報(bào)填寫、查看、日程計(jì)劃以及每日簽到子模塊;4)客戶模塊,下設(shè)客戶資料填寫、修改、查看以及分類子模塊;5)項(xiàng)目模塊,下設(shè)項(xiàng)目進(jìn)度填寫、修改以及分類子模塊;6)報(bào)備模塊,下設(shè)經(jīng)費(fèi)報(bào)備、核查以及統(tǒng)計(jì)子模塊;7)團(tuán)隊(duì)模塊,下設(shè)創(chuàng)建團(tuán)隊(duì)以及團(tuán)隊(duì)管理子模塊;8)通訊模塊,下設(shè)添加聯(lián)系人、聯(lián)系人查看、信息修改、通信以及數(shù)據(jù)解析模塊。這些模塊以及子模塊共同構(gòu)成了這款系統(tǒng)的總體功能架構(gòu)。
2)系統(tǒng)邏輯架構(gòu)
如圖2所示,系統(tǒng)邏輯結(jié)構(gòu)由上至下分別分為了視圖層、控制層、業(yè)務(wù)邏輯層以及數(shù)據(jù)訪問層4個(gè)層次。
圖2 系統(tǒng)邏輯架構(gòu)
視圖層:是軟件與用戶進(jìn)行直接交互的界面,直接的向用戶展示信息,同時(shí)也接收用戶輸入的信息并將這些信息傳輸向下面的相應(yīng)各個(gè)層次分別處理,在這一層有數(shù)個(gè)界面接口。這一層可以分為主界面、登錄界面、引導(dǎo)界面、功能模塊界面等不同的圖形界面。主要用XML文件來進(jìn)行本層視圖界面的布局,同時(shí),根據(jù)需要也可以設(shè)定一部分自定義的控件。
控制層;這一層的主要作用是保證視圖層在數(shù)據(jù)上的同步,起了一個(gè)數(shù)據(jù)的承接作用。即保證數(shù)據(jù)層數(shù)據(jù)的任何改變都可以迅速的視圖層的交互界面上面被同步表示出來,同時(shí)當(dāng)視圖層接收到了用戶輸入的任何改變也會將他們傳遞到下面的業(yè)務(wù)邏輯層處理。
業(yè)務(wù)邏輯層:對視圖層通過控制層傳輸下來的用戶輸入的信息進(jìn)行處理并且調(diào)用數(shù)據(jù)訪問層的數(shù)據(jù),以完成用戶操作的整體動(dòng)作并對數(shù)據(jù)處理出現(xiàn)的錯(cuò)誤進(jìn)行及時(shí)糾正,是以在數(shù)據(jù)處理和圖像界面交互當(dāng)中處于中間的位置。
數(shù)據(jù)訪問層:這一層主要是對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行動(dòng)作,主要完成對數(shù)據(jù)庫中的數(shù)據(jù)的一些調(diào)用,修改與編輯工作。
3)系統(tǒng)網(wǎng)絡(luò)架構(gòu)
圖3展示的是系統(tǒng)的網(wǎng)絡(luò)架構(gòu)圖,在用戶的客戶端和服務(wù)端進(jìn)行數(shù)據(jù)交互時(shí),要考慮到數(shù)據(jù)調(diào)用過程的整體性和獨(dú)立性。在用戶加入一個(gè)團(tuán)隊(duì)之前和退出之后,其業(yè)務(wù)操作都是針對其獨(dú)立的數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行進(jìn)行,但是當(dāng)他加入團(tuán)隊(duì)之后,這些操作便將全部針對該團(tuán)隊(duì)相應(yīng)的數(shù)據(jù)庫,且不會影響其之前的各種數(shù)據(jù),各個(gè)團(tuán)隊(duì)之間的數(shù)據(jù)庫也是相互獨(dú)立不互相干擾的,通過團(tuán)隊(duì)GUID對各個(gè)成員的數(shù)據(jù)進(jìn)行保存。
圖3 系統(tǒng)網(wǎng)絡(luò)架構(gòu)
3.2系統(tǒng)開發(fā)運(yùn)行環(huán)境
我們在構(gòu)建環(huán)境時(shí),準(zhǔn)備工作是下載需要的軟件開發(fā)包(SDK)、集成開發(fā)環(huán)境(IDE)以及插件,具體就是JDK1.6或以上、Eclipse3.6或以上、Android SDK和與之版本相應(yīng)地ADT(如Revision18)。
對于系統(tǒng)的運(yùn)行環(huán)境,則要求安裝軟件的客戶端使用1.6以上的Android操作系統(tǒng),CPU要求在800 Hz以上,RAM和ROM分別要求在128M以及10 M以上,同時(shí)移動(dòng)終端的分辨率要求在320*480以上。
3.3關(guān)鍵技術(shù)的實(shí)現(xiàn)
1)客戶端本地?cái)?shù)據(jù)的存儲
SQLite數(shù)據(jù)庫在本軟件的設(shè)計(jì)中用來對客戶端的數(shù)據(jù)進(jìn)行存儲,Android平臺用抽象類SQLiteOpenHelper來對數(shù)據(jù)庫創(chuàng)建和修改的輔助類進(jìn)行管理。SQLiteDatabase類對數(shù)據(jù)庫的創(chuàng)建,刪除和執(zhí)行SQL語句提供了方法。系統(tǒng)DbHelper類重載了實(shí)現(xiàn)創(chuàng)建表的功能(onCreate)和用于系統(tǒng)是升級時(shí)對表或數(shù)據(jù)更改操作(onUpgrade)。當(dāng)數(shù)據(jù)要升級時(shí)需要更改DbHelper類的DATABASE_VERSION屬性時(shí),如果DATABASE_VERSION屬性值增大,則系統(tǒng)會在第一次運(yùn)行時(shí)執(zhí)行onUpgrade方法,對數(shù)據(jù)庫進(jìn)行更新。系統(tǒng)中相關(guān)數(shù)據(jù)的操作則都會沿襲DbHelper類進(jìn)行實(shí)現(xiàn)。
2)數(shù)據(jù)交互
客戶端與服務(wù)端的數(shù)據(jù)交互使用JSON格式,對于Http的Get,Post調(diào)用,Android SDK提供了Apache的HttpClient來操作。但是為了不會造成每個(gè)服務(wù)對象對HttpClient重復(fù)操作,客戶端用RestClient類來統(tǒng)一與服務(wù)端交互??蛻舳艘瓿蓴?shù)據(jù)的獲取是通過JSONArray對象取得相應(yīng)的值而創(chuàng)建的實(shí)體類來完成的,而JSONArray對象取得相應(yīng)的值是根據(jù)RestClient類的response屬性值不為空是以response值為參數(shù)建立JSONArray對象循環(huán)遍歷來的??蛻舳讼蚍?wù)端傳輸數(shù)據(jù)時(shí)是以JSON格式進(jìn)行的。數(shù)據(jù)的提交過程首先是要?jiǎng)?chuàng)建JSONObject對象,并對其賦值,可以使用put方法,以其為參數(shù)建立 StringEntity對象并將 JSONObject對象的ContentType設(shè)定為application/json類型,接著由HttpPost類的setEntity方法賦值來最終完成。
文中就營銷人員的管理問題進(jìn)行了討論,對于他們流動(dòng)性大溝通不能及時(shí)等問題提出了利用手機(jī)軟件進(jìn)行監(jiān)管的思路。由于Android平臺的開放性特征以及近年來在移動(dòng)終端上的廣闊應(yīng)用,可以利用Android平臺對這款管理系統(tǒng)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。文中首先對Android平臺的特性和架構(gòu)進(jìn)行了介紹,接下來對這樣一款軟件的可行性和具體要完成的需求進(jìn)行了分析,之后便基于上面兩點(diǎn)設(shè)計(jì)了軟件的功能,邏輯和網(wǎng)絡(luò)架構(gòu),最后對在Android平臺開發(fā)軟件的開發(fā)環(huán)境和客戶端的運(yùn)行環(huán)境進(jìn)行了介紹,并完成了設(shè)計(jì)工作中關(guān)鍵技術(shù)的實(shí)現(xiàn)。
[1]Gronli TM,Hansen J,Ghinea G.Android vs windowsmobile vs java ME:a comparative study of mobile develo-pment environments[C]//PETRA′10 Proceedings of the 3rd International Conference on PErvasive TechnologiesRelated to Assistive Environments,2010.
[2]Pan Y C,Liu W C,Li X.Development and research ofmusic player applicationbasedonandroid[C].International Conference on Communications and Intelligence Information Security(ICCIIS),2010.
[3]Jiang F,Ku S,How to display the data from database by ListView onAndroid[C].2nd International Workshop on Intelligent Systems and Applications(ISA),2010.
[4]陳瓂,陳平華,李文亮.Android內(nèi)核分析[J].現(xiàn)代計(jì)算機(jī):專業(yè)版,2009(11):112-115.
[5]張仕成.基于Google Android平臺的應(yīng)用程序開發(fā)與研究[J].電腦知識與技術(shù),2009(28):7959-7962.
[6]Grgurina R,Brestovac G,Grbac T.Development environment for Android[C].MIPRO,2011 Proceedings of the 34th International Convention,2011.
[7]Liu J,Yu J.Research on development of android applications[C].4th International Conference on Intelligent Networks and Intelligent Systems(ICINIS),2011.
Design and im p lementation ofm arketing personnelmanagement system based on Android
ZHANG Hai-yun
(Shaanxi Institute of Industry Technology,Xi'an 712000,China)
Based on attendance and supervision of SME marketing staff in the traditional way is difficult to accomplish this issue,this article try to use the Android platform to build a suitablemarketing personnelmanagement system.Through the understand ofbasic performance and system framework of Android platform,we analysis the feasibility and the actual demand of the system we want to build,do the functionality,logic and networkmodular architecture for the application,finish the construction of the developmentand runtime environmentand also solve the key technology.
marketers;Android;system framework;data interaction;Java
TM933.4
A
1674-6236(2016)19-0083-03
2015-07-19稿件編號:201507137
張海云(1974—),女,陜西咸陽人,碩士,講師。研究方向:市場營銷、管理類或經(jīng)濟(jì)類。