摘要:為了實(shí)現(xiàn)對(duì)實(shí)施項(xiàng)目人員的機(jī)器進(jìn)行監(jiān)管以及更好的實(shí)現(xiàn)項(xiàng)目進(jìn)度控制和項(xiàng)目溝通,大大提高團(tuán)體或公司的開發(fā)效率,開發(fā)了基于C/S的項(xiàng)目開發(fā)進(jìn)度輔助系統(tǒng)。對(duì)多線程編程技術(shù)、SOCKET網(wǎng)絡(luò)通信技術(shù)、Processing可視化技術(shù)進(jìn)行應(yīng)用,并通過JAVA的設(shè)計(jì)和實(shí)現(xiàn),本文就該系統(tǒng)的實(shí)現(xiàn)進(jìn)行探討和分析。
關(guān)鍵詞:進(jìn)度控制;開發(fā)進(jìn)度輔助系統(tǒng) java 多線程編程 Processing
中圖分類號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007—9599 (2012) 14—0000—01
基于C/S的項(xiàng)目開發(fā)進(jìn)度輔助系統(tǒng),主要有服務(wù)器端和客戶端組成,服務(wù)器端運(yùn)行于某服務(wù)器上,所在網(wǎng)絡(luò)的客戶端程序均可自動(dòng)連接該服務(wù)器。該系統(tǒng)能夠?qū)崿F(xiàn)對(duì)人員的工作時(shí)間記錄、項(xiàng)目進(jìn)度匯報(bào)、團(tuán)隊(duì)聊天與文件共享、客戶端游戲程序警報(bào)與關(guān)閉、遠(yuǎn)程協(xié)助、報(bào)告提交與進(jìn)度評(píng)估打分、可視化項(xiàng)目進(jìn)度及報(bào)表等功能,極大的方便了項(xiàng)目開發(fā)進(jìn)度管理,大大提高了開發(fā)效率。
一、系統(tǒng)總體框架
項(xiàng)目開發(fā)進(jìn)度輔助系統(tǒng)可分為客戶端和服務(wù)器端兩部分,根據(jù)控制角色不同可分為控制端和被控制端。服務(wù)器端為控制端,主要是對(duì)項(xiàng)目總體進(jìn)度控制和對(duì)被控制端(客戶端)工作情況進(jìn)行監(jiān)控、以及支持被控制端之間消息傳遞的中轉(zhuǎn)。
該軟件采用的模式為C/S模式。在使用軟件前,先將控制端程序安裝在控制端主機(jī)上,把被控制端程序安裝到被控端主機(jī)上。這個(gè)過程是:首先在控制端執(zhí)行控制端程序,建立遠(yuǎn)程服務(wù),然后借助遠(yuǎn)程服務(wù),發(fā)送遠(yuǎn)程控制命令,控制被控端主機(jī),同時(shí)不斷接受被控端信息,進(jìn)行分析記錄等操作,也可以做信息發(fā)送,信息中轉(zhuǎn)等服務(wù),這種服務(wù)模式是基于SOCKET網(wǎng)絡(luò)通信技術(shù)的。
二、服務(wù)器端的詳細(xì)設(shè)計(jì)
(一)自動(dòng)簽到。當(dāng)客戶端機(jī)器上線時(shí),客戶端程序啟動(dòng)并登陸,在服務(wù)端產(chǎn)生客戶端人員上線事件,此事件激發(fā)服務(wù)器記錄對(duì)應(yīng)客戶端人員的上班時(shí)間;當(dāng)客戶端機(jī)器下線時(shí),客戶端程序下線,在服務(wù)器端產(chǎn)生客戶端人員下線事件,此事件激發(fā)毒武器記錄對(duì)應(yīng)客戶端人員下班時(shí)間。對(duì)于非正常下線,服務(wù)器端記錄非正常下線時(shí)間為下班時(shí)間。
(二)項(xiàng)目進(jìn)度控制。項(xiàng)目總監(jiān)可以通過系統(tǒng)所分配的管理人員角色,通過程序客戶端程序登陸,實(shí)現(xiàn)對(duì)項(xiàng)目進(jìn)度信息的增刪改查,同時(shí)也可以修改項(xiàng)目公告,以及對(duì)不同開發(fā)人員或批量團(tuán)體發(fā)送任務(wù)信息或留言信息。
(三)團(tuán)隊(duì)聊天。系統(tǒng)內(nèi)置聊天功能,可以為團(tuán)隊(duì)的軟件開發(fā)提供內(nèi)部溝通機(jī)制,即使在外網(wǎng)完全中斷情況下,提供安全有效的溝通方式。同時(shí),管理人員角色可以查看每個(gè)隊(duì)員在工作時(shí)間內(nèi)的聊天日志。
(四)監(jiān)控非工作程序的運(yùn)行。系統(tǒng)能夠依靠C/S模式準(zhǔn)確的、強(qiáng)有力的對(duì)客戶端進(jìn)行控制,通過查詢黑名單程序名稱,客戶端程序能夠準(zhǔn)確的判斷客戶端上運(yùn)行的每一個(gè)程序是何種類型的程序、是否允許被執(zhí)行等信息,并可以對(duì)客戶端運(yùn)行的程序進(jìn)行上報(bào)服務(wù)器、警告、關(guān)閉等操作,服務(wù)器端可以對(duì)客戶端運(yùn)行的各種程序進(jìn)行運(yùn)行計(jì)時(shí),并在指定時(shí)間到達(dá)時(shí)進(jìn)行各種指定操作。管理員角色能夠?qū)诿麊纬绦蜻M(jìn)行及時(shí)的增刪改查操作,并可以對(duì)客戶端監(jiān)控日志進(jìn)行查看、導(dǎo)出。
(五)遠(yuǎn)程協(xié)助。系統(tǒng)能夠提供給使用者遠(yuǎn)程協(xié)助功能,便于在制作項(xiàng)目期間,兩人通過遠(yuǎn)程協(xié)助不需要頻繁變動(dòng)位置來進(jìn)行互操作,以提高項(xiàng)目開發(fā)效率。
(六)報(bào)告提交與進(jìn)度評(píng)估打分。根據(jù)項(xiàng)目進(jìn)度控制需要,每天開發(fā)人員提交的報(bào)告要匯總至項(xiàng)目管理者那里,通過這個(gè)系統(tǒng),在C/S架構(gòu)下,項(xiàng)目報(bào)告能夠快速傳輸至服務(wù)器,項(xiàng)目管理人員能夠通過客戶端登陸到指定角色下,并在自己機(jī)器上快速查看項(xiàng)目報(bào)告并評(píng)分,評(píng)分操作等將計(jì)入日志。
(七)可視化項(xiàng)目進(jìn)度。根據(jù)項(xiàng)目的實(shí)際進(jìn)度與要求進(jìn)度,對(duì)項(xiàng)目進(jìn)度使用Processing工具生成圖表,將項(xiàng)目進(jìn)度數(shù)據(jù)可視化,方便管理者與開發(fā)者能夠清晰的追蹤自己的項(xiàng)目開發(fā)情況,并促使他們及時(shí)作出必要調(diào)整。
(八)權(quán)限系統(tǒng)。根據(jù)項(xiàng)目的實(shí)際需要,超級(jí)管理員可以對(duì)項(xiàng)目的權(quán)限進(jìn)行定制,生成相應(yīng)角色,并對(duì)角色進(jìn)行增刪改查,最后可以將角色或單獨(dú)的權(quán)限授予給指定用戶,也可以從某個(gè)用戶收回所授予的角色或權(quán)限。
三、客戶端的詳細(xì)設(shè)計(jì)
(一)用戶登錄。通過輸入注冊(cè)的用戶名和密碼,進(jìn)入系統(tǒng),系統(tǒng)自動(dòng)識(shí)別該用戶角色,并進(jìn)入指定功能模塊。
(二)用戶個(gè)人信息及密碼修改。用戶登陸后,可以對(duì)自己的個(gè)人信息及密碼進(jìn)行修改,但相應(yīng)修改均記錄入日志中。
(三)進(jìn)程監(jiān)管。用戶登陸后,程序在服務(wù)器指定時(shí)間內(nèi)掃描客戶端運(yùn)行的進(jìn)程,如發(fā)現(xiàn)所運(yùn)行進(jìn)程在黑名單中將進(jìn)行相應(yīng)的警告、終止等操作,并報(bào)告服務(wù)器端進(jìn)行記錄。
(四)聊天和遠(yuǎn)程協(xié)助。用戶登陸后,可以使用聊天模塊對(duì)在線的用戶進(jìn)行聊天,對(duì)不在線的用戶進(jìn)行留言等操作,可以對(duì)在線用戶進(jìn)行遠(yuǎn)程協(xié)助。
(五)任務(wù)提交與查看。用戶登陸后,根據(jù)自己的角色進(jìn)入功能模塊,可以提交自己的任務(wù)報(bào)告,以及查看當(dāng)前進(jìn)度的信息和評(píng)分情況。
四、結(jié)束語(yǔ)
本文就基于C/S的項(xiàng)目開發(fā)進(jìn)度輔助系統(tǒng)的功能與實(shí)現(xiàn)展開了論述,就實(shí)際項(xiàng)目開發(fā)涉及到的功能及實(shí)現(xiàn)進(jìn)行了詳細(xì)討論,最終該系統(tǒng)被制作成功并投入使用。同時(shí),與其他語(yǔ)言編寫的軟件相比,用java語(yǔ)言編寫的該軟件具有“一次編寫,各處運(yùn)行”的特點(diǎn),因此具有更廣的使用性。
參考文獻(xiàn)
[1] Casey Reas Ben Fry Getting Started with Processing
[2] Brett Spell Pro Java Programming Second Edition
[3]H.M.Deitel, P.J.Deitel java程序設(shè)計(jì)教程(第5版)
[4]李剛.《瘋狂Java講義》.電子工業(yè),2008—10
[5]Bruce Eckel 《Thinking in Java》.機(jī)械工業(yè)出版社,2007,6
[6](美)文納斯 《深入Java虛擬機(jī)(原書第2版)》.機(jī)械工業(yè)出版社,2003,9