張成強(qiáng) 盧鳳娟
摘要:隨著信息技術(shù)的迅猛發(fā)展,項(xiàng)目管理部門需要在項(xiàng)目管理方式上緊跟時(shí)代發(fā)展潮流,摒棄傳統(tǒng)的手工管理方式,采取信息化、智能化管理手段進(jìn)行項(xiàng)目管理。該文提出了一個(gè)項(xiàng)目管理系統(tǒng)設(shè)計(jì)方案,并應(yīng)用到項(xiàng)目的實(shí)際管理當(dāng)中。
關(guān)鍵詞:項(xiàng)目管理系統(tǒng);管理信息化;設(shè)計(jì)與實(shí)現(xiàn)
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)15-0088-03
Abstract: With the rapid development of information technology, Project management department should kee up with the development of the era in project management, abandon old manual management method, and adopt intelligent management method to do project management. This paper proposes a project management system design plan and applies it to the actual project management.
Key words: project management system; management informatization; design and implementation
1 背景
在傳統(tǒng)的項(xiàng)目管理過程中,往往只是采用手工管理的方式管理項(xiàng)目,主要是紙張、電子文檔記錄、采用通訊軟件或郵件進(jìn)行信息溝通[1],這種方式需要消耗大量的時(shí)間和精力,效率低下,并且存在以下問題:項(xiàng)目進(jìn)度不可控;跨部門協(xié)作不暢;過程管理難透明;項(xiàng)目管理成本高。
隨著時(shí)代的發(fā)展,信息技術(shù)在不斷改變著我們的生活和工作方式。為了解決上述問題,結(jié)合項(xiàng)目管理部門的實(shí)際需求,本文提出了一個(gè)項(xiàng)目管理系統(tǒng)設(shè)計(jì)方案,并應(yīng)用到項(xiàng)目的實(shí)際管理當(dāng)中,項(xiàng)目管理部門通過使用項(xiàng)目管理系統(tǒng),可以實(shí)時(shí)查看項(xiàng)目橫道圖,了解項(xiàng)目進(jìn)度和存在的問題,跟蹤項(xiàng)目開展情況,同時(shí)可以導(dǎo)出項(xiàng)目進(jìn)度報(bào)表、項(xiàng)目投資統(tǒng)計(jì)等數(shù)據(jù)用于決策分析。經(jīng)過實(shí)踐證明,利用該系統(tǒng)能夠有效簡(jiǎn)化項(xiàng)目管理流程、提升工作效率、減輕項(xiàng)目管理人員的工作負(fù)擔(dān)。
2 系統(tǒng)架構(gòu)及相關(guān)技術(shù)介紹
2.1 相關(guān)框架介紹
1)ThinkPHP框架
ThinkPHP 是一個(gè)免費(fèi)開源的,快速、簡(jiǎn)單的面向?qū)ο蟮妮p量級(jí)PHP開發(fā)框架[2],擁有眾多的原創(chuàng)功能和特性,已經(jīng)成長為國內(nèi)最領(lǐng)先和最具影響力的WEB應(yīng)用開發(fā)框架。
2)layuiAdmin框架
layuiAdmin是一款采用自身模塊規(guī)范編寫的前端UI框架,遵循原生HTML/CSS/JS的書寫與組織形式,其簡(jiǎn)單輕松的界面設(shè)計(jì),豐富的內(nèi)容模板,能夠更好地滿足用戶對(duì)軟件的需求,非常適合界面的快速開發(fā)。
2.2 相關(guān)技術(shù)介紹
1)PHP
PHP是通用服務(wù)器端腳本編程語言,其主要用于web開發(fā)以實(shí)現(xiàn)動(dòng)態(tài)web頁面,執(zhí)行速度快、具有很好的開放性和可擴(kuò)展性、支持多種主流與非主流的數(shù)據(jù)庫。
2)MYSQL
MYSQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,由于數(shù)據(jù)庫體積小、速度快、總體擁有成本低、開放源代碼,其有著廣泛的應(yīng)用[3]。
3)ECharts
ECharts,一個(gè)使用 JavaScript 實(shí)現(xiàn)的開源可視化庫,可以流暢的運(yùn)行在 PC 和移動(dòng)設(shè)備上,提供了折線圖、柱狀圖、散點(diǎn)圖、餅圖等各種圖表[4]。
3 系統(tǒng)的分析與設(shè)計(jì)
3.1 需求分析
為了對(duì)項(xiàng)目管理實(shí)現(xiàn)更高效、更便捷的信息化管理,項(xiàng)目管理系統(tǒng)具有六個(gè)用戶權(quán)限,分別是游客、企業(yè)項(xiàng)目人員、普通項(xiàng)目管理人員、項(xiàng)目負(fù)責(zé)人、項(xiàng)目部領(lǐng)導(dǎo)和超級(jí)管理員。
3.2 功能模塊設(shè)計(jì)
1)前端部分:
①企業(yè)信息展示及查詢。在前臺(tái)展示企業(yè)信息,也可按不同條件進(jìn)行企業(yè)數(shù)據(jù)篩選查詢、分類匯總等操作。
②企業(yè)信息更新及錄入。管理員可在后臺(tái)錄入及修改企業(yè)信息,企業(yè)用戶可在前臺(tái)填報(bào)或申請(qǐng)修改更新本企業(yè)數(shù)據(jù)信息。
③信息交流功能。用戶可在前臺(tái)與系統(tǒng)客服進(jìn)行在線交流,也可通過相關(guān)頁面進(jìn)行留言,管理員登錄后臺(tái)答復(fù)。
④地圖檢索功能。用戶如需查看企業(yè)地址位置信息,可在企業(yè)信息查詢結(jié)果中點(diǎn)擊跳轉(zhuǎn)到地圖頁面,也可直接在地圖頁面中查找相應(yīng)企業(yè)。
⑤項(xiàng)目招商功能。企業(yè)可在前臺(tái)填報(bào)錄入本企業(yè)信息,并提交項(xiàng)目建設(shè)申請(qǐng)。
2)后臺(tái)部分:
①數(shù)據(jù)統(tǒng)計(jì)。包括對(duì)企業(yè)項(xiàng)目投資數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和對(duì)項(xiàng)目進(jìn)度數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
②企業(yè)信息管理。對(duì)企業(yè)信息進(jìn)行維護(hù),也可按不同條件對(duì)企業(yè)數(shù)據(jù)進(jìn)行篩選查詢。
③項(xiàng)目信息管理??梢詫?duì)項(xiàng)目信息進(jìn)行增刪改查,也可按不同條件對(duì)項(xiàng)目信息進(jìn)行篩選查詢。
④項(xiàng)目進(jìn)度管理。可以對(duì)項(xiàng)目進(jìn)度進(jìn)行增刪改查,并生成項(xiàng)目進(jìn)度橫道圖。
⑤系統(tǒng)權(quán)限管理。可以對(duì)不同的管理員、不同的角色分配不同的功能權(quán)限。
⑥項(xiàng)目權(quán)限管理。不同的項(xiàng)目管理員在不同的項(xiàng)目中的權(quán)限是不同的,可以為每個(gè)項(xiàng)目指定不同的管理員權(quán)限,有四個(gè)層級(jí),分別為查看、編輯、審核和刪除。
⑦內(nèi)容管理??梢园l(fā)布相關(guān)投資政策和項(xiàng)目相關(guān)規(guī)則制度。
⑧欄目管理。對(duì)項(xiàng)目的不同階段進(jìn)行分類。
⑨問題反饋。對(duì)用戶反饋的問題進(jìn)行回復(fù)或管理。
3.3 數(shù)據(jù)庫設(shè)計(jì)
由于MYSQL數(shù)據(jù)庫體積小、查詢速度快,綜合考慮,系統(tǒng)采用了MYSQL數(shù)據(jù)庫,通過需求分析以及功能模塊設(shè)計(jì),在數(shù)據(jù)庫中設(shè)計(jì)了二十多張表。
4 系統(tǒng)實(shí)現(xiàn)級(jí)標(biāo)題
4.1 UI界面
UI界面是進(jìn)入用戶第一視覺的界面,良好的UI界面布局可以減少用戶誤操作和學(xué)習(xí)成本,讓用戶操作更為便捷[5]。系統(tǒng)的界面基于layuiAdmin框架,提高了前端的開發(fā)效率。后臺(tái)首頁主要分為六個(gè)部分:后臺(tái)管理功能菜單、前臺(tái)頁面鏈接及賬戶信息、項(xiàng)目檢索、經(jīng)濟(jì)指標(biāo)完成情況、最新發(fā)布項(xiàng)目、最新政策。
4.2 主要模塊的實(shí)現(xiàn)
1)后臺(tái)用戶登錄
管理人員打開登錄界面,輸入賬號(hào)、密碼提交后,會(huì)通過Ajax將信息提交到控制器中,再對(duì)信息進(jìn)行校驗(yàn),若匹配則會(huì)進(jìn)行權(quán)限驗(yàn)證并顯示菜單,否則系統(tǒng)會(huì)提示用戶名或密碼錯(cuò)誤。截取部分關(guān)鍵代碼如下所示:
public static function checkSuper($account, $password)
{
$adminAccount = AdminModel::where('username', '=', $account)
->where('status', '=', 1)
->find();
if (empty($adminAccount)) {
throw new AdminException(30001);
}
//檢驗(yàn)密碼
if ($password !== $adminAccount['password']) {
// 添加失敗次數(shù)
$adminAccount->loginfailure++;
$adminAccount->save();
throw new AdminException(30002);
}
// 更新登錄記錄
$adminAccount->loginfailure = 0;
$adminAccount->last_login_ip = Request::ip();
$adminAccount->last_login_time = date('Y-m-d H:i:s');
$adminAccount->save();
// 緩存登錄用戶id
cache('admin_id', $adminAccount->id);
return $adminAccount;
}
2)管理員菜單權(quán)限
根據(jù)需求分析,需要根據(jù)不同業(yè)務(wù)領(lǐng)域需要的各種權(quán)限創(chuàng)建不同的角色,為不同角色的管理員分配不同功能權(quán)限。要實(shí)現(xiàn)動(dòng)態(tài)管理員菜單權(quán)限,首先根據(jù)用戶的登錄信息確認(rèn)用戶的角色,然后根據(jù)角色的權(quán)限在用戶界面中加載相應(yīng)的節(jié)點(diǎn)功能菜單列表[6]。在ThinkPHP框架實(shí)現(xiàn)菜單功能時(shí),一級(jí)菜單對(duì)應(yīng)一個(gè)控制器 Action類,二級(jí)操作菜單對(duì)應(yīng)一個(gè)控制器方法Action方法,每個(gè)控制器方法對(duì)應(yīng)一個(gè)URL操作。
3)數(shù)據(jù)表格及分頁
在本次系統(tǒng)設(shè)計(jì)中,前端主要負(fù)責(zé)頁面的展現(xiàn)和交互邏輯,后端主要負(fù)責(zé)業(yè)務(wù)和數(shù)據(jù)接口。在這種模式下,前端發(fā)出Ajax請(qǐng)求,后臺(tái)接收到后進(jìn)行相應(yīng)的數(shù)據(jù)處理,然后返回json結(jié)果數(shù)據(jù),最后動(dòng)態(tài)地渲染到html頁面上。因此提高了工作效率,使得分工更加明確,由于應(yīng)用的代碼不再是前后端混合,增強(qiáng)了代碼的可維護(hù)性。
例如在項(xiàng)目管理頁面中的數(shù)據(jù)表格處理流程中,首先由前端向后臺(tái)的api地址發(fā)出get請(qǐng)求,后臺(tái)經(jīng)過數(shù)據(jù)查詢后將結(jié)果返回,最后前臺(tái)框架將結(jié)果渲染到html頁面展示給用戶。截取部分關(guān)鍵代碼如下所示:
getList: function (params = {}) {
base.req('projects', params, function (data) {
$('.layui-table').remove();
var list = data.data;
table.render({
…
});
// 分頁
laypage.render({
elem: 'table-page',
count: data.total,
limit: data.per_page,
curr: data.current_page,
layout: ['count', 'prev', 'page', 'next', 'limit'],
jump: function(obj, first){
if(!first){
var params = $('#layui-form-search').serialize();
var page = $.param({'page': obj.curr});
var limit = $.param({'limit': obj.limit});
params = page + '&' + limit + '&' + params;
module.getList(params);
}
}
});
}, 'get');
},
4)數(shù)據(jù)導(dǎo)入導(dǎo)出
除了可以單條增加數(shù)據(jù)外,本次還借助 PHPexcel擴(kuò)展實(shí)現(xiàn)了數(shù)據(jù)的批量導(dǎo)入和導(dǎo)出,并且兼容.xls和.xlsx格式,數(shù)據(jù)庫里的數(shù)據(jù)也可以按照搜索條件和分頁導(dǎo)出為Excel文件。為了方便對(duì)導(dǎo)入的數(shù)據(jù)進(jìn)行校驗(yàn)和修改,先將數(shù)據(jù)存到臨時(shí)表,用戶查看、修改、確認(rèn)后,再將數(shù)據(jù)存入到正式的數(shù)據(jù)表中。
5)甘特圖
利用dhtmlxgantt插件進(jìn)行甘特圖的展示,以圖示的方式顯示每一項(xiàng)任務(wù)的時(shí)間長短和進(jìn)展情況,管理員由此可便利地弄清一項(xiàng)任務(wù)(項(xiàng)目)還剩下哪些工作要做,并可評(píng)估工作進(jìn)度。對(duì)比傳統(tǒng)電子表格制作的圖表,電子表格繪制起來步驟煩瑣、維護(hù)困難、信息量少,而利用Web頁面展示的甘特圖可以方便添加、維護(hù)任務(wù),展示的信息更加全面,數(shù)據(jù)更為精確。
6)項(xiàng)目權(quán)限分配
項(xiàng)目權(quán)限分配主要通過關(guān)聯(lián)admin表、project 表project_permission表來實(shí)現(xiàn),管理員有查看、修改、審核、刪除四種權(quán)限。在實(shí)現(xiàn)具體功能時(shí),可以批量為管理員分配項(xiàng)目權(quán)限,在對(duì)項(xiàng)目信息進(jìn)行操作時(shí),首先對(duì)權(quán)限進(jìn)行校驗(yàn)。
7)數(shù)據(jù)統(tǒng)計(jì)
由前端將表單中的數(shù)據(jù)條件通過Ajax向后臺(tái)請(qǐng)求數(shù)據(jù),后臺(tái)進(jìn)行相應(yīng)的數(shù)據(jù)統(tǒng)計(jì)后再將結(jié)果返回,最終通過ECharts插件展示統(tǒng)計(jì)的圖表。ECharts有著驚艷的視覺效果和良好的動(dòng)畫交互渲染效果,可以非常方便地展示統(tǒng)計(jì)結(jié)果。
5 總結(jié)與展望
本文主要是圍繞項(xiàng)目管理部門在實(shí)際的項(xiàng)目管理中的需求來完成系統(tǒng)的技術(shù)選型、總體設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、詳細(xì)設(shè)計(jì),并最終完成了項(xiàng)目管理系統(tǒng)的設(shè)計(jì)實(shí)施,解決了項(xiàng)目管理過程的難題,提升了項(xiàng)目管理的工作效率。
在這次的系統(tǒng)設(shè)計(jì)中,也曾出現(xiàn)一些問題。比如由于需求的多次變動(dòng)帶來的功能調(diào)整,數(shù)據(jù)報(bào)表改動(dòng)較大導(dǎo)致代碼重寫,由于對(duì)流程不熟悉帶來的技術(shù)難題等。最終通過團(tuán)隊(duì)成員的努力,最終實(shí)現(xiàn)了系統(tǒng)的設(shè)計(jì),完成了預(yù)期的目標(biāo)。隨著web技術(shù)的不斷更新和進(jìn)步,人們對(duì)便捷性、移動(dòng)性的要求不斷提高,今后還可以對(duì)系統(tǒng)進(jìn)一步優(yōu)化和提升,包括:適應(yīng)移動(dòng)端的訪問,與其他部門系統(tǒng)的數(shù)據(jù)共享集成,進(jìn)一步完善數(shù)據(jù)統(tǒng)計(jì)的展現(xiàn)類型。
參考文獻(xiàn):
[1] 張錦煌,吳麗娟,梁舒婷.基于SSM整合框架開發(fā)的項(xiàng)目管理系統(tǒng)[J].電腦知識(shí)與技術(shù),2015,11(11):103-105.
[2] 王俊芳,李隱峰,王池.基于MVC模式的ThinkPHP框架研究[J].電子科技,2014,27(4):151-153,158.
[3] 王芳.網(wǎng)站開發(fā)中數(shù)據(jù)庫的管理者——MySQL[J].電子技術(shù)與軟件工程,2014(16):214.
[4] 周啟云,許新華,付昱榕,等.基于Echarts的可視化學(xué)情分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與信息化,2020(3):116-119.
[5] 危文清.企業(yè)項(xiàng)目管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[6] 羅予東.改進(jìn)的RBAC權(quán)限管理在信息系統(tǒng)中的應(yīng)用[J].嘉應(yīng)學(xué)院學(xué)報(bào),2012,30(2):24-28.
【通聯(lián)編輯:謝媛媛】