朱志斌 謝文崇 王國基 劉詩瑾
摘 要:文章是設(shè)計開發(fā)基于PHP以及MySQL的畢業(yè)設(shè)計論文選題系統(tǒng)。該系統(tǒng)基于角色分配主要分為四大功能模塊,分別是:學(xué)生管理模塊、教師管理模塊、審核員管理模塊以及管理員管理模塊,模塊公共功能包括:留言板、文件上傳下載、信息修改等。系統(tǒng)基于B/S三層架構(gòu)作為設(shè)計方案,采用PHP7.0、MySQL5.5以及Apache2.4進(jìn)行系統(tǒng)的開發(fā)與后臺數(shù)據(jù)庫管理。
關(guān)鍵詞:選題系統(tǒng);畢業(yè)論文;PHP
中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2018)36-0041-03
Abstract: This paper is to design and develop the thesis selection system of graduation project based on PHP and MySQL. The system is mainly divided into four functional modules based on the role assignment, namely, student management module, teacher management module, auditor management module and administrator management module. The common functions of the module include: message board, file upload and download, information modification and so on. The system is based on B/S three-layer architecture as the design scheme, using PHP7.0, MySQL5.5 and Apache2.4 to develop the system and administer the background database.
Keywords: topic selection system; graduation thesis; PHP
1 概述
隨著互聯(lián)網(wǎng)信息化時代的快速發(fā)展,互聯(lián)網(wǎng)技術(shù)對提高教學(xué)管理水平有著深遠(yuǎn)的意義。畢業(yè)論文對于當(dāng)下大學(xué)生來說極其重要,也是高校對于學(xué)生的一個“畢業(yè)考核”,但現(xiàn)在大多數(shù)的高校都是通過線下的方式,學(xué)生與老師線下協(xié)商完成論文選題工作。明顯地,這種方式不僅成本高而且雙方所需付出的時間較長,效率低。加之每年高校的畢業(yè)生人數(shù)不斷增加,畢業(yè)生都愿意提前離校,走向社會尋找一個實習(xí)工作的機(jī)會,以便當(dāng)正式畢業(yè)能有一個好的崗位。這時候傳統(tǒng)的論文指導(dǎo)工作明顯不適合新形勢下的要求,所以迫切的需要線上的網(wǎng)絡(luò)平臺,線上的網(wǎng)絡(luò)平臺更能增進(jìn)師生的交流,提高了教學(xué)質(zhì)量和效果。
2 需求分析
遵循軟件工程中軟件開發(fā)的相關(guān)理論以及設(shè)計規(guī)范,以及結(jié)合實際開發(fā)需求,我們對系統(tǒng)進(jìn)行了分析和設(shè)計?;诮巧峙浒严到y(tǒng)分為四大模塊,每個模塊梳理之后的系統(tǒng)功能需求分析主要有以下方面:
(1)學(xué)生模塊:實現(xiàn)個人信息的查看與修改、個人密碼的修改、查看課題信息、選題情況、查看審核通過的課題。
(2)教師模塊:實現(xiàn)個人信息的查看與修改、個人密碼的修改、申請課題、查看申請課題的審核情況、對審核不通過的課題可以進(jìn)行刪除、查看課題被選情況、審核學(xué)生選擇的課題。
(3)審核員模塊:實現(xiàn)個人信息的查看與修改、個人密碼的修改、審核教師申請的課題。
(4)管理員模塊:實現(xiàn)個人信息的查看與修改、個人密碼的修改、添加與刪除不同角色的信息(主要是添加不同角色的用戶)、留言管理、公告與資料下載管理、課題強(qiáng)制分配、查看學(xué)生選題情況(按照班級或?qū)I(yè)查詢)。
(5)公共模塊:留言板、文件上傳與下載、查看公告與資料的下載。
3 數(shù)據(jù)庫設(shè)計
本系統(tǒng)的設(shè)計中,數(shù)據(jù)庫的部分主要體現(xiàn)在用戶信息存儲和畢業(yè)論文課題信息的存儲。數(shù)據(jù)庫設(shè)計是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)上,實現(xiàn)設(shè)計數(shù)據(jù)庫的結(jié)構(gòu)和建立數(shù)據(jù)庫的過程。
根據(jù)數(shù)據(jù)庫的概念設(shè)計,數(shù)據(jù)表設(shè)計遵循第二范式,用戶表的主鍵為用戶賬號(username),用戶表的id和username分別建立唯一索引,保證數(shù)據(jù)的唯一性,數(shù)據(jù)不重復(fù),其他字段依賴于主鍵,相應(yīng)的設(shè)計與實體對應(yīng)的數(shù)據(jù)表,分別有admin(管理員表)、student(學(xué)生表)、teacher(教師表)、auditor(審核員表),message(留言表)、reply(留言回復(fù)表)、topics(教師課題申請表)、topics_stu(學(xué)生選擇論文課題表)、news(新聞公告表)、upload(文件上傳表)、major(專業(yè)班別表)。
4 系統(tǒng)具體的功能實現(xiàn)
4.1 系統(tǒng)用戶登錄的設(shè)計與實現(xiàn)
難點主要是根據(jù)登錄表單進(jìn)行權(quán)限分配問題,不同角色的用戶登錄會進(jìn)去相對應(yīng)的管理界面。代碼實現(xiàn)邏輯:通過獲取下拉菜單的value值,開啟session會話保存獲取的value值,根據(jù)對應(yīng)的值判斷用戶身份。其次進(jìn)行表單的為空判斷,判斷表單信息是否填寫完整,返回為true根據(jù)輸入的賬號查數(shù)據(jù)庫,沒有結(jié)果集則返回用戶不存在,返回true跳下一級判斷密碼是夠正確,驗證碼同理,如圖2所示。
實現(xiàn)用戶登錄的代碼如下:
<?php
session_start();//權(quán)限判斷
$biao=″;
switch ($role) {
case 0:
$biao=′student′;
break;