目錄
1 緒 論 4
1.1研究背景和意義 4
1.1.1研究背景 4
1.1.2國內外研究現狀 5
1.1.3研究意義 7
1.2論文的研究內容和主要工作 8
1.3本文章節結構 8
2 開發平臺、工具及所用技術介紹 10
2.1相關技術 10
2.1.1PHP 開發語言 10
2.1.2HTML5 10
2.1.3Ajax 技術 11
2.1.3Redis 技術 11
2.1.3Bootstrap 框架 11
2.2開發平臺、工具 12
2.2.1MySQL 數據庫 12
2.2.2NetBeans 程序開發集成環境 12
2.2.3ThinkPHP 系統開發框架 13
2.2.4Wamp Server 服務器集成環境 14
2.2.5微信公眾號 15
2.2.6Wechat API Faker 16
3 需求分析 17
3.1業務分析 17
3.2系統功能分析 18
3.2.1學生個人信息管理 19
3.2.3學生學費繳費 20
3.2.4學生助學貸款 21
3.2.5公寓考勤 2 2
3.2.6社團活動信息 23
3.2.7勤工儉學信息 24
3.2.8工作就業推薦跟蹤 24
3.2.9日常生活衛生監督 25
3.2.10學生評優 26
3.2.11移動端PC端師生溝通即時聊天 27
3.2.12 學生特別情況信息預警 28
4系統設計 30
4.1系統設計原則 30
4.2系統架構 30
4.3系統功能模塊 3 1
4.4數據庫設計 33
4.4.1數據庫設計原則 34
4.4.2數據表設計 34
5系統實現 39
5.1PC 端 40
5.2移動端 56
5.3微信 59
5.4數據庫創建 59
6關鍵技術介紹 61
6.1微信功能實現相關技術 61
6.2GPS 定位技術 63
6.2.1微信 API 獲取用戶位置 63
6.3.2微信調用第三方地圖查看位置 66
6.2.3地圖數據保存 67
6.3系統安全防范 68
6.3.1數據庫安全防范 68
6.3.2網站頁面安全防范 68
6.3.3系統角色權限管理 69
7 系統測試 70
7.1系統環境描述 70
7.2系統功能測試 71
7.2.1軟件功能的測試 71
7.2.2系統運行性能的測試 75
7.2.3安全性能測試 76
7.2.4系統壓力測試 77
7.3總結 77
8 總結與展望 79
致 謝 80
參考文獻 81
攻讀學位期間發表的學術論文目錄 84
獨創性聲明 85
關于論文使用授權的說明 85
1緒論
1.1 研究背景和意義
1.1.1研究背景
學生信息管理工作作為學校基礎性工作,對高校教育教學質量效果有直接影 響,其信息化水平已經成為評價一所高校辦學水平高低的重要指標之一[1]。目前, 國內大部分高校學生信息管理工作依然止步于傳統管理模式,或者信息化平臺只 是作為輔助工作參與到學生信息管理中,實際工作存在很多問題弊端:
(1) 資源耗費大、效率低。高校學管老師投入大量精力去做跟進或事后統 計等事務性工作耗費大量精力,無法保證數據及時準確,大量統計表格極易混亂 丟失,重復利用率低,造成人力、物力損失。
(2) 信息化水平不高。很多學管老師還是延續通過電話聯系的方式確定學 生的位置,檢查上課紀律必須親臨現場,學生安全全靠電話不厭其煩教育督查等 等。管理工作水平明顯滯后。
(3) 數據不能共享,信息孤島現象普遍。學校目前都建有校園網絡,但部門 數據產生后沒有統一的數據庫管理平臺交流共享,數據利用效率手段原始,效率 低下,長期來看會受阻校際和校內溝通和聯系,遲滯學校發展。
(4) 缺少預警機制。學生日常學習生活,在校表現全都通過各班級進行監 督匯總,學校層面往往只能在學生發生問題事件后才會知曉,這種信息滯后性為 學生信息管理埋下了巨大隱患。
移動數據信號和WI-FI網絡已經廣泛覆蓋各式區域,每個區域基本都搭建了 自己的無線網絡,人們可以全天候通過 WI-FI 或者移動數據自由上網。[2]大部分 學生都擁有智能手機,尤其以Android手機微信APP居多。在現代大學生的日常 生活中,手機等智能移動通訊設備已經成為不可或缺的工具,對大學生的學習求 知、社會交往行為產生了深遠影響[3]。我們可以通過手機來實現對上課學生的考 勤管理,主要是利用智能手機的移動定位功能,來確定學生的位置,利用手機的 唯一設備號來避免替其他同學簽到的情況發生[4]。在高校學生信息管理工作中, 社交軟件被廣泛應用,微信、釘釘、QQ、飛信等通信工具成為高校信息公告發布 的重要途徑,效果良好,但軟件自身設計的缺陷也為學生信息管理工作提出新要 求。[5]
基于目前移動端使用成為主流,PC端仍然大量使用的情況,結合安全預警、 大數據分析等學生管理系統新需求,需要通盤考慮一個多終端的學生信息管理系 統,完成學校學生管理的信息化升級換代。
1.1.2國內外研究現狀
(1)國外研究現狀
1997 年,美國 Karley Ausiello 和 Barry Wells 聯合撰文提出:為了在學 生管理項目和實際工作中工作更好利用信息技術,學生管理者必須制訂信息技術 利用計劃,不斷推進學生管理信息化,并在信息化方面保持領先定位[6]。2000 年,印第安納州立大學的威爾•巴拉特博士在《Four Elements of Information Technology in Student Affairs》[7]一文中提出了學生事務信息技術的四個要 素模型。他定義學生事務中的信息技術被認為包括四個要素:政策、實施、人員 和技術。2001年,Barry Welsh對文森大學、南印第安納大學、印第安納州立大 學、巴特勒大學和東伊利諾斯大學的實地考察,分析了信息技術在學生信息管理 中的實際應用[8],討論了其實踐方面,在撰寫的論文中作出總結:信息技術應用 到學生信息管理是流行趨勢,在許多年里我們并未對其產生充分關注。信息技術 給我們提供了一個選擇,現在是否作出選擇已經沒有意義,因為我們已經走在了 信息化的路上。到目前為止,得益于少數人投身于此,我們取得了一些成績,我 們需要繼續沿著這條路把學生信息管理信息化推進下去。呵2013年Amy J. Lueck 博士總結 University of Louisville 的一個課題項目:跨學科和研究生學院利 用技術支持路易斯維爾大學的研究生學習[10],呼吁增加學生信息管理信息技術支 持。2014年Pet er Reyes Barba tis結合當下云共享理念,提出了云端合作學生 信息管理理念:學生信息管理和信息技術有機會合作,以提高學生的滿意度和就 讀率,并協助機構遵守聯邦教育法規。學生信息管理系統的研究一直持續,在這 一過程中,相對于國內學生信息管理系統的發展實踐還是相對超前。由于國外高 校經過長時間的發展,依據本國國情在各自辦學理念的基礎上發展出特色各異的 教育制度和教育體制,不同的教育制度和教育體制對高校學生信息管理系統研究 產生了不同的影響,總體來說是各具特色又互相借鑒,具體情況介紹如下。
對美國進行實地考察發現,他們校園信息系統設計與實踐應用起步較早,發 展也比較迅速。而校園信息系統的發展也經歷了多個階段,現在由智慧向智能化 轉變。有些名校為了使數字化校園建設更專業化、智能化,它們自己取消了校內 的信息中心這個部門,將智慧化校園建設任務全權外包給行業大公司,如微軟、 谷歌等。[11]美國學生信息管理系統普遍遵循的是美國管理與信息技術專家以詹姆 斯.馬丁 James Martin) [12]1980年出版的《信息工程》(Information Engineering)一書中“數據類和數據之間的內在聯系是相對穩定的,而對數據 的處理過程和步驟則是經常變化的”的數據處理的基本原理建立的信息系統,因 此美國高校學生信息管理系統對數據的安全性和保密性要求較高,所以在學生工 作整個信息處理過程中,處于中心位置的學生信息檔案成為高校學生信息管理系 統的核心。[13]
英國高等教育的發展已呈現出市場化、社會化、優質化和國際化的特點, 其 高校學生信息管理也承擔著增強學生通用技能、提高學生自我發展與就業能力、 改善學生福利等更多更重要的職能。[14]所以,英國各高校的學生信息管理系統在 設計開發過程中崇尚“以人為本”的理念,以學校為重心[15],密切聯系學術事務, 充分發揮全國性學生信息管理行業協會的作用。英國早在2000年運作的“產業 大學”,正是借助信息技術使人們的學習方式發生了革命性的變化,它通過現代 化的網絡和通信技術[16],把學習者的需求和各類教育資源的供給及時而有效地連 接起來。[17]功能方面結合英國現行教育制度,出現了導師制、一站式學生服務中 心、學生資助、畢業生跟蹤服務、朋輩輔導、學業不良行為申訴及仲裁等特色功 能。[18]行業協會每年早開多次會議,對全國狀況做一個統計而已,而是充分整合 了該行業的資源,統一提供給國內高校。如各高校就業服務的信息大多由行業協 會提供,這不僅極大地提高了工作效率同時也提高了信息管理的質量。[19]
從總體上看,國外理解學生信息管理模式理念與國內有區別,國外更加注重 提倡“以人為本”和“學生自我管理”,其所運行的學生信息管理也更加貼近于 社會管理化的范疇。國外眾多高校的學生信息管理信息化更傾向于服務學生的模 式,而又由于其管理的眾多模塊參與了社會化的管理,因而,國外學者對于信息 化背景下高校學生信息管理這塊的研究不是很多。[20]
(2)國內研究現狀
國內學生信息管理系統作為校園信息化的一個子系統建設可以追溯到上世 紀八十年代中期,高校信息化建設主要是校園網建設。特別是在1994年, CERNET 的建立和高校信息化建設掀起了建設浪潮。許多高校建立校園網的同時[21],許多 有遠見的大學建設者已經開始意識到他們想要構建系統化體系化的管理平臺。然 而,當時學校的信息化建設和管理都是由個別的校內部門建立獨立的網絡信息管 理系統,沒有提升到高校建設機制層面。20 世紀80 年代以來,我國的信息化經 歷了信息化階段、校園網建設階段和網絡信息系統建設階段[22],并進入了目前的 數字化校園一體化階段。[23]
當前,高校在信息化建設過程中重視行政工作。學生跨平臺信息管理的信息 化停留在信息采集系統的設計和應用上。如果我們進一步擴大管理信息化的外 延,不難發現高校信息化建設的覆蓋面還不夠廣泛,學生信息管理服務機構體制 機制層面的信息化建設進程相對滯后。[24]如何高效、規范、科學地開展學生日常 管理工作,充分滿足學生個性發展要求,及時方便地為學生提供咨詢、指導和服 務,是新時期學生工作模式研究的主要方向。[25]
在中國知網(CNKI)中進行檢索,截止到2019年1月,以“跨平臺”“學 生” “管理系統” “android”為關鍵詞查詢相關文章,碩士論文5篇,報刊2
篇,沒有博士論文。其中比較有代表性的有:趙津蘋《基于智能終端的跨平臺學 生信息管理系統設計與實現》,詳細介紹了跨平臺管理系統的概念和系統實現, 為我們進一步擴展跨平臺學生信息管理系統的內涵和外延提供了很好的參考;周 長信(本論文作者)在學習階段,結合個人工作經驗,2016 年發表了《跨平臺 學生信息管理系統設計》一文,對跨平臺概念進一步拓展,整合了微信平臺功能, 豐富了系統的管理功能,為進一步實現跨平臺學生信息管理系統做了理論研究和 整體設計。總的來說,相關跨平臺系統很多,但跨平臺與信息化學生管理結合的 研究文章,結合當下最新理念不斷推進系統升級演進的文章篇數很少。
文獻數 總裁數 總被引數 總下載數 篇均#%數 篇均被引數 篇均下刪 下載被引比
7 187 20 1393 26.71 2.86 199 69.65
總體趨勢分析
圖 1-2 跨平臺學生信息管理系統研究相關論文發表資源類型分布
Figure 1-2 Distribution of publishing resources for
multi-terminal student information management system research papers
1.1.3研究意義 學生信息管理是學校管理中異常重要的一個環節,能否實現這一點關系到學 校辦學整體效率的高低,介與它的重要性,學生信息管理系統的開發與應用需求 尤為迫切。[26]本文引入跨平臺理念,對 MTSIMS 概念進行詳細闡述,在原有 PC 端、移動移動端基礎上創新加入微信跨平臺概念,豐富增強以往系統功能,并運 用最新開發技術對系統關鍵基礎功能進行重新開發°MTSIMS針對傳統的學生信 息管理系統的需求進行深入研究,保留原有PC端正常使用的要求下,運用HTML5、 Bootstrap 框架實現跨終端自適應功能,可以充分利用移動端硬件組件,發揮微 信的便捷性和手機的GPS定位硬件的功能,創新了學生信息管理理念,為解決高 校學生信息管理中諸多實際問題提供一種高效解決方案。MTSIMS系統在理論價 值意義和商業價值意義分別如下:
理論價值意義:
(1) 學校通過MTSIMS能夠為在校學生提供便捷的服務方式,使學管人員的 管理工作突破時間和地點限制,減輕負擔的同時提高了管理工作的效率,使學校 學管人員和學生可以不限時間地點,通過智能設備對網絡進行訪問,可讓學管人 員隨時隨地掌控學生信息,實現規范工作流程、及時傳遞信息、有效利用資源[27]、 提高辦公效率和降低管理成本,最終提高學生信息管理各項工作的效率。
(2) 為微信平臺與學生信息管理系統整合提供了技術參考。在以往學生管 理系統中,學生管理信息化就是單純的網站信息管理,理念先進的高職院校,開 發了自己的收集客戶端APP,微信一般只是作為宣傳交流平臺。結合當下微信普 及形勢,實現了在微信端共用同一系統后臺的設想,為同時運行在PC端、手機 端、微信上的管理系統實現提供了技術參考。
商業價值意義:
(1) 對傳統的學生信息管理系統進行改進,實現多種用戶終端設備共享數 據。提高了高等職業院校信息化建設水平,極大的方便學管人員的使用,提高辦 事效率,實現移動辦公。
(2) MTSIMS的工作流程與目前大多數的高等職業院校的業務流程較吻合, 因此具有極大的推廣價值。同時,也為中國高等職業院校學生信息管理信息化提 供技術參考。
1.2論文的研究內容和主要工作
本文的主要研究內容是如何實現一個運行在PC端瀏覽器、移動端瀏覽器、 微信的跨平臺學生信息管理系統°MTSIMS是一個全校范圍對學生信息進行數據 采集、管理、查詢、分析、評價的軟件系統,系統通常要具有分級用戶管理,實 現對學生信息的高效管理盟。MTSIMS從功能上可以劃分為以下12個功能:學習 上課紀律考勤功能、學生個人信息管理功能、學生學費繳費功能、學生助學貸款 功能、公寓考勤功能、社團活動信息功能、勤工儉學信息功能、工作就業推薦跟 蹤功能、日常生活衛生監督功能、學生評優功能、移動端PC端師生溝通即時聊 天功能以及學生特別情況信息預警功能。
1.3 本文章節結構
本文共分為八章,圍繞著 MTSIMS 設計與實現相關內容展開。各章節主要內 容概括如下:
第一章是本文緒論。在本章中對MTSIMS的研究背景、國內外研究現狀、研 究意義進行了敘述,并對本文的主要工作進行介紹[29]。
第二章是對MTSIMS實現過程中用到的PHP、HTML5、Redis技術、Ajax技術、 Bootstrap框架以及MySQL、NetBeans、ThinkPHP以及微信相關平臺等相關開發 工具進行介紹說明。
第三章是在需求調研基礎上對MTSIMS功能需求進行了深入分析,對計劃實 現的 12 項功能進行了詳細闡述說明。
第四章是系統設計。對MTSIMS總體設計進行了詳細說明,同時對管理系統 的各個模塊進行闡述。
第五章系統實現,是本論文的難點。本章對所有實現計劃模塊功能進行詳細 介紹,因為作者精力和時間原因,只對其中六個模塊:學習上課紀律考勤功能、 學生個人信息管理功能、公寓考勤功能、社團活動信息功能、日常生活衛生監督 功能、學生評優功能進行實際開發實施開發并進行了詳細說明,附有部分實現代 碼。通過軟件截圖示例方式對MTSIMS在PC端和移動端瀏覽器上應用效果進行了 說明。系統在微信上的功能實現單獨列為一章,放到第六章介紹說明。
第六章是關鍵技術。微信是個人在本次實現的跨平臺學生信息管理系統創新 部分。在本章中概要敘述在對微信進行二次開發的時,對問題解決的思路進行了 總結。對微信API獲取用戶位置技術、微信調用第三方地圖APP應用、地理位置 坐標數據的存儲進行了研究說明,并對系統在微信封裝過程進行了簡要介紹;對 系統實現中采取的安全措施進行了介紹。
第七章里對軟件測試技術進行了認真研究,對MTSIMS相應測試過程和結果 進行了詳細說明。
第八章是結論。對系統開發過程和MTSIMS的測試效果進行總結評價,分析 系統存在的不足并提出了期望。
2開發平臺、工具及所用技術介紹
2.1 相關技術
2.1.1 PHP 開發語言 在設計動態網站的過程中,需要保證網站的標準性、開放性,這樣才能滿足 網站的使用需求,尤其是企業網站的開發中更要注意這兩點,而使用 PHP 技術 能夠順利實現網站開發的這一需求°[30]PHP是Hyper tex t Preprocessor英文名 稱的縮寫,是通用開源腳本語言,PHP吸收了 C、Java、Perl語言的特點,在執 行動態網頁時,由于PHP代碼程序直接將嵌入到前段網頁代碼中運行,響應時間 明顯快于其他高級語言,是一種被廣泛應用的開源式的多用腳本語言,已經公認 成為主流商業網站首選開發語言,尤其適合Web開發。[31]PHP語言是目前主流語 言之一。 大量項目實踐證明,為了更有效整合到現有系統平臺中,理解原有代 碼庫以提供現代分析,測試和最終編譯工具是非常重要。 由于動態語言的廣泛 使用,源代碼中的頻繁問題以及對更好性能和可伸縮性的需求,動態語言PHP 是這種協同作用的理想選擇。悶PHP優點:
(1) 安全性高:PHP是開源軟件,程序代碼于Apache編譯在一起的方式也 可以讓他具有靈活的安全設定。[33]
(2) 跨平臺:PHP幾乎支持所有的操作系統平臺,如Win32或 UNIX/Macintosh/FreeBSD/OS2 等,并且支持 Apache、IIS 等多種 Web 服務器, 并以此廣為流行。
(3) 支持廣泛的數據庫[34]:可操縱多種主流與非主流的數據庫。
(4) 易學性:PHP嵌入在HTML語言中,以腳本語言為主,內置豐富函數, 語法簡單、書寫容易,方便學習。
(5) 執行速度快:占用系統資源少,代碼執行速度快。
(6) 免費:在流行企業應用LAMP平臺中,Linux、Apache、MySQL、PHP都 是免費軟件,[35]這種開源的框架結構可以為網站經營者節省開支。個人小規模開 發,也可以選擇 Wamp 平臺,本次 MTSIMS 開發選擇 Wamp 品臺開發。
(7) 模塊化:實現程序邏輯與用戶界面分離。
(8) 支持面向對象與過程:支持面向對象和過程的兩種開發風格,并可向 下兼容。[36]
(9) 內嵌 Zend 加速引擎,性能穩定快速。
2.1.2HTML5
HTML5 是 HTML 的最新一代,繼承于 HTML 4.01、XHTML1.0 和 XHTML 1.1°HTML5 添加了現代網頁應用開發所必需的最新元素。[37]此外,在目前手機等主流智能移 動操作系統中,瀏覽器普遍使用的webkit內核可以很好支持HTML5和CSS3,從 而可以實現跨平臺的功能。跑HTML5設計目的是為了在移動設備上支持多媒體, 其為移動應用開發提供了另外一種技術方案。[39]開發者們熱衷于使用跨平臺的開 發方法,而HTML5完全符合這個要求。血HTML5的優點有:
(1)獨立于設備,支持跨平臺使用。可以自動識別屏幕寬度、并做出相應 調整的網頁設計。
(2)新特性基于 HTML、CSS、DOM 和 JavaScript。
(3)減少了對外部插件的需求。
(4)更優秀的錯誤處理。
(5)用于繪畫的 canvas 元素。
(6)用于沒接回訪的 video 和 audio 元素。
(7)更好支持本地離線存儲。
(8)新元素和表單控件。
2.1.3Ajax 技術
Ajax 技術是一種網頁異步交互技術。它通過在網頁與后臺服務器進行通信, 實現網頁的更新,這意味著網頁不需要重新刷新就可以對網頁的某部分進行更 新。在學生信息系統中,在獎學金查詢、信息列表等模塊(這里自己挑幾個目前 系統的模塊)中,廣泛使用該技術。用戶只需要輸入獎學金查詢姓名就可以實時 加載出獎學金相關信息,用戶交互性較好。在移動端,實現無刷新加載頁面,隨 著用戶滑動信息列表到屏幕底部,可以無刷新加載下一頁數據。
2.1.4Redis 技術
Redis是一種支持key-value等多種數據結構的存儲系統,提高系統吞吐量, 常用于緩存或者高速隊列等場景。在學生用戶訪問量較大的,頻繁IO訪問數據 庫會出現性能瓶頸。因此選擇使用Redis作為緩存,Redis會首先從數據庫中加 載數據,用戶直接訪問Redis中保存的內容。因為Redis是基于內存的數據庫, IO速度快,用戶提交較好。而在夜間用戶訪問不頻繁的時刻,Redis會自動進行 持久化操作,將其中修改的內容保存至MYSQL數據庫。
2.1.5Bootstrap 框架
Bootstrap 是 Twitter 推出的前端框架。 Bootstrap 是基于 HTML、 CSS、 JavaScript的,它簡單靈活,使得Web的開發更加快捷,并且Bootstrap可以 自適應不同的客戶端,例如在 PC 和手機端可以實現界面的自適應。 Bootstrap 基 于 JQuery 構 建 , 框 架 代 碼 包 括 兩 個 文 件 : bootstrap.js 和 bootstrap.css 。
2.2 開發平臺、工具
2.2.1 MySQL 數據庫
MySQL是一個精巧的SQL數據庫管理系統[41],由于它是開源的半商業軟件, 所以市場占有率很高。由于它的強大功能、靈活性、豐富的應用編程接口(API) 以及精巧的系統結構,闔特別是與Apache和PHP/PERL結合,劇長于建立基于數 據庫的動態網站[44]。MySQL 8版本可以文檔存儲,添加使用JSON文檔在MySQL 中存儲數據,并可以通過NoSQL API進行查詢°MySQL的特點:
(1) 性能卓越服務穩定,很少出現異常宕機。
(2) MySQL 數據庫代碼放源,使用自主靈活、費用低廉。
(3) 因為MySQL成熟且使用時間久,形成了很多社團、愛好小組,在編程 過程中遇到問題,可以快捷方便獲得幫助。
(4) 對于熟悉 weindows 系統操作用戶來說,安裝方便,維護簡單。
(5) 支持多種操作系統,這就為跨平臺實現打下基礎,數據庫提供了多種 程序接口,基本支持所有主流開發程序語言。
2.2.2NetBeans 程序開發集成環境
大多數開發人員都將Net Beans IDE識別為原始的自由Java IDE°Ne tBeans IDE 為幾種語言(PHP、Ruby、JavaScript、Groovy、Grails[45]和 C/C++等)和框 架提供支持.[46]NetBeans是Sun公司在2000年創立的開放源代碼供開發人員和 客戶社區的家園,旨在構建世界級的Java IDE°NetBeans當前可以在Solaris、 Windows、Linux和Macintosh OS X平臺上進行開發,并在SPL(Sun公用許可) 范圍內使用。[47]2009年被甲骨文收購。
Net Beans包括開源的開發環境和應用平臺,Net Beans IDE可以使開發人員 利用 Java 平臺能夠快速創建 Web、 企業、 桌面以及移動的應用程序。 [48]NetBeans8.2 提供了 Java DB、MySQL、Oracle 和 PostgreSQL 數據庫服務器的 驅動,不用再重新下載安裝新驅動程序。利用這些驅動程序,用戶可以很方便地 進行數據庫的創建及表格的創建,并利用 NetBeans 平臺很方便地對表格進行增、 刪、改、查的操作。嗣NetBeans IDE在PHP開發中有以下優點:
(1) 軟件免費,界面清爽,安裝方便;
(2) 重命名重構和即時重命名;
(3) 支持 PHPDocumentor ;
(4) 自帶PHP源代碼編輯器,使用方便;
(5) 代碼導航使用靈活方便;
(6) 可查代碼覆蓋率;
(7)集成 MySQL 數據庫;
(8)支持 PHP 單元測試;
(9)PHP 調試方便;
(10)支持團隊開發;
(11)支持跨平臺。
NetBeans有兩個明顯缺點:內存開銷大,運行時間過長,電腦容易宕機, 而且 debug 環境還需要自己手動配置,使用高級功能需要有一定基礎。
2.2.3ThinkPHP 系統開發框架
MTSIMS采用ThinkPHP開發框架進行開發。ThinkPHP是一個快速、兼容而且 簡單的輕量級國產PHP開發框架,誕生于2006年初,原名FCS,2007年元旦正 式更名為ThinkPHP,遵循Apache2開源協議發布,從Struts結構移植過來并做 了改進和完善,同時也借鑒了國外很多優秀的框架和模式,使用面向對象的開發 結構和MVC模式,融合了 Struts的思想和TagLib(標簽庫)、RoR的ORM映射和 ActiveRecord模式°[50]ThinkPHP框架是國內知名并得到廣泛使用的PHP框架, ThinkPHP最具吸引力的特點是可以輕松快速構建一個網站。曲
作為一個整體開發解決方案,ThinkPHP能夠解決應用開發中的大多數需要, 因為其自身包含了底層架構、兼容處理、基類庫、數據庫訪問層、模板引擎、緩 存機制、插件機制、角色認證、表單處理等常用的組件,并且對于跨版本、跨平 臺和跨數據庫移植都比較方便。并且每個組件都是精心設計和完善的,應用開發 過程僅僅需要關注您的業務邏輯。[52]
ThinkFHP
匚ommon
匚onf
E)ct end
Lang
Lib
Tpl
docs
LicErrsE.
README, txt
ThinkPHP. php
logo, png
圖 2-1 ThinkPHP 目錄架構
Figure 2-1 ThinkPHP directory architecture
MVC 全名是 Model View Controller,是模型(model) —視圖(view) —控制器 (controller)的縮寫。作為一種設計模式,陰MVC通常將應用程序拆分為單獨的 層,這些層可以單獨分析,獨立實現。同時通過耦合的模型層和視圖層,MVC有 效降低了架構設計的復雜性,并提高了代碼的靈活性和重用性。施基于MVC的 應用被分為模型、視圖和控制器三個部分。模型是應用程序中表示業務數據或業 務邏輯的主要部分;模型可以被許多視圖重用;視圖是用戶與系統交互的應用程 序接口;控制器控制用戶界面以顯示數據并通過用戶的輸入更新模型的對象狀 態。
圖 2-2 MVC 組件與作業流程
Figure 2-2 MVC components and workflow
2.2.4Wamp Server 服務器集成環境
WampServer是一個Windows Web開發環境。它同時集成了 Apache2,PHP和 MySQL數據庫,可以高效運行Web應用程序。除此之外,PhpMyAdmin可以使數 據庫管理更加簡便。[55]安裝Wamp Server后,在右下角的托盤進行控制。Wamp Server免費版支持多種語言,當然支持簡體中文,使用方便。Wamp Server優點:
(1) 支持中文語言,一鍵安裝,省時省力;任何人都可以輕松搭建;
(2) 集 成 Apache/MySQL/PHP/PhpMyadmin; 支 持 PHP 擴 展 、 Apache 的 mod_rewrit;
(3) 一鍵啟動、重啟、停止所有服務,一鍵切換到離線狀態等等。[56]
PHP Version 5.6.31
System Windows NT NEWS-PC-905 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) i586
Build Date Jul 5 2017 22:19:21
Compiler MSVC11 (Visual C+ + 2012)
Architecture x86
Configure Command cscript /nologo configurers "--enabie-snapshot-build" disable-isapi" "--enable-debug-pack" without-mssqf without-pdo-mssql" " —without-pi3web" with-pdo-oci=c:\php-
sdk\oracle\x86\instantclient_12_l\sdk/shared" with-oci8-12c=c:\php-
sdk\oracle\x86\instantclient_12_l\sdk,shared" enable-object-out-dir=../obj/11 ,-enable-com- dotnet=shared"with-mcrypt=static" without-analyzer'with-pgo"
Server API Apache 2.0 Handler
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File C:\wamp\bin\apache\apache2.4,27\bin\php.ini
Scan this dir for additionaf .ini files (none)
Additional .ini files parsed (none)
PHP API 20131106
PHP Extension 20131226
Zend Extension 220131226
Zend Extension Build API220131225,TS,VCll
PHP Extension Build API2O131226JSJVC11
Debug Build no
Thread Safety enabled
Zend Signal Handling disabled
Zend Memoiy Manager enabled
Zend Muttibyte Support provided by mbstring
IPv6 Support enabled
DTrace Support disabled
Registered PHP Streams php, file, glob, data, http, ftp, zip, compress.zlib, compress.bzip2, https, ftps, phar
圖 2-3 Wamp phpinfo ()函數輸出的 php 的版本信息
Figure 2-3 Version information of PHP output by Wamp phpinfo () function
2.2.5微信公眾號
微信,英文名“Wechat”,是騰訊公司在2011年1月21日發布的一款產品, 只要是在智能終端為用戶提供及時通信的免費服務。Wechat是一種移動即時短 信和語音通信服務,已成為中國重要的社交媒體平臺。[57]微信號的類別大致可以 分為兩類:個人微信號和公眾微信號。本論文不對個人微信號做介紹。
公眾微信號是在普通或個人微信號的基礎上新增模塊而誕生的一類微信號。 它可以使個人或企業都可以打造一個公眾的微信號,它可以群發文字、圖片、視 頻、圖文消息和語音,這些功能的集合使它成為一個自媒體平臺。[58]平臺可以展 示物品、信息以及廣告,也可以綁定個人微信號,幫助該公眾號的利用和推廣。 隨著微信的普及和功能的開發,公眾微信號功能不斷豐富,對用戶幫助越來越大。
目前,以信息開發的權限作為參考依據,微信“公眾號”分為三類:訂閱號、 服務號和企業號[59]。三類分別如下圖所示:
川:人民曰報
—4 [2祭]憧才應該屋今天的摘靈I
® *山東人民廣播電臺
"麻 口操]逮個月輯開搶昨火車1E …
圖 2-4 訂閱號查看位置和打開后的效果
MTSIMS 微信通過微信服務公眾號進行開發。在微信公公眾號開發者模式下, 利用微信的各種API接口完成各種功能的開發實現。PHP是可運用在微信服務器 端的腳本語言。微信服務號開發實質是用 PHP 語言開發一套利用微信豐富、強大 的 API 接口與微信平臺交互的程序。
2.2.6Wechat API Faker
微信仿真API模擬器最知名的就是Ruby Wechat API Faker,其實現了幾乎 全部的微信API,包括微信消息發送和推送、用戶管理、用戶分組、微信掃二維 碼 , 微 信 群 發 消 息 等 。 在 Git 上 的 更 新 地 址 是 http://github.com/xixilive/Wechat,這個程序是用 Ruby 開發的。Ruby 是一種 跨平臺、面向對象動態類型編程語言。[60]這里不再敘述環境搭建有關事項。
3需求分析
3.1 業務分析
MTSIMS 系統實現的業務功能涉及系統管理員、學管人員、學生三類人員。
系統管理員有最高權限,對所有系統使用人員進行權限管理,分配、修改用 戶權限;對學生信息數據、學管人員身份信息進行管理;對系統界面進行維護, 可以更改系統圖標,外觀樣式、系統日志等參數;發布公告。
學生涉對個人各項信息進行查詢、維護,申請勤工助學崗位,使用聊天功能。 涉及業務包括上課紀律考勤、個人信息維護、學生學費繳費、學生學費貸款、公 寓考勤、社團活動信息、勤工儉學信息、學生工作就業推薦、個人在校情況評價、 日常生活衛生監督、評獎評優、即時通訊信息查詢維護。
學管人員對學生信息數據進行維護,發布公告,勤工儉學招聘權限,使用聊 天功能;對學生信息進行查詢、維護,上傳資料,向學生群發公告,使用聊天功 能。涉及業務包括上課紀律考勤、個人信息維護、學生學費繳費、學生學費貸款、 公寓考勤、社團活動信息、勤工儉學信息、學生工作就業推薦、個人在校情況評 價、日常生活衛生監督、評獎評優、即時通訊信息查詢維護,學生特別情況時時 預警。
為減小調用定位系統進行地位功能開發難度,MTSIMS通過調用微信接口方 式實現此項功能。所以在微信系統界面,有個獨立選項,即地理位置定位查看功 能。
圖 3-1 系統功能業務關系示意圖
圖 3-2 系統管理員業務權限
Figure 3-2 System administrator business permissions
3.2 系統功能分析
系統功能需求分析是編程人員對軟件功能需求作出分析判斷,為下一步系統 開發做準備,圍繞具體要求進行功能定制,實現軟件設計預期要求,但只是對軟 件功能進行分析,不討論具體實現方式方法。
MTSIMS是自適應PC端、移動端、微信的學生信息管理系統,旨在通過現有 普及的移動設備,全面覆蓋學生在校學習期間所有非教學事務管理事項,提高學 生個人信息時時查詢維護,提高學校學生信息管理效率。MTSIMS的主要職能是: 學生個人信息管理功能、學習上課紀律考勤功能、學生學費繳費功能、學生助學 貸款功能、公寓考勤功能、社團活動信息功能、勤工儉學信息功能、工作就業推 薦跟蹤功能、日常生活衛生監督功能、學生評優功能、移動端PC端師生溝通即 時聊天功能以及學生特別情況信息預警功能12個業務功能。學生上課紀律考勤 和公寓考勤根據原有規劃應具有學生請銷假、學管人員提醒審批、請假信息查詢、 存檔子功能。
3.2.1 學生個人信息管理
學生個人信息模塊應該包括:編號、學號、卡號、姓名、性別、民族、年級、 專業、班級、樓號、宿舍、政治面貌、培養狀態、學生類別、宗教信仰、在校狀 態、生源省份、生源城市、生源縣區、身份證號、手機號、貧苦生等級、批次、 學制、職務、社團、備注等基本信息。每一個字段都可作為關鍵詞進行搜索。例 如:在姓名中輸入張三,則會從數據庫中提取所有姓名為張三的學生條目,在結 果顯示欄中按學號默認順序逐條顯示。學生登錄可以修改個人信息;系統管理員 登錄可以修改所有數據庫中數據,還可以增刪條目;學管人員登錄,顯示各自負 責學生人員范圍名單,并有權限管理學生進行學生信息維護操作。學生個人信息 管理用例圖如圖 3-3所示。
Figure 3-3 Student personal information management use case diagram
3.2.2 學習上課紀律考勤 學生上課考勤模塊應該包括一下條目:編號、日期、課程名稱、考勤狀態、
學號、姓名、性別、年級、專業、班級、在校狀態、身份證號、手機號、請假時 間、銷假時間、學生抽樣位置定位信息、備注等基本信息。只有課程名稱、學號、 姓名、班級可作為關鍵詞進行搜索。例如:在課程名中輸入計算機科學技術,則 會從數據庫中提取所有本課程在一學期中的最新的上課考勤信息,在結果顯示欄 中按默認順序逐條顯示。系統管理員登錄可以修改所有數據庫中數據,還可以增 刪條目;學生登錄可以查詢個人某課程的上課考情情況,不能修改;學管人員登 錄,可查詢各自負責學生人員范圍上課考勤信息,并有權限管理學生進行學生信 息維護操作。學生上課紀律考勤用例圖如圖 3-4所示。
圖 3-4 學生上課紀律考勤用例圖
Figure 3-4 Use case diagram of students'class discipline attendance
3.2.3學生學費繳費
學生學費繳費模塊應該包括:編號、姓名、學號、性別、年級、專業、班級、 身份證號、手機號、繳費時間、操作、備注等基本信息。輸入學號和姓名并且必 須選擇班級和性別后可進行搜索[61]。例如:在姓名中輸入張三,學號 123,在班 級下拉菜單中選擇相應班級,在性別下拉欄選擇相應選項,則會從數據庫中提取 所有相關學生條目,在結果顯示欄中按學號默認順序逐條顯示。學生登錄可以查 看個人在校期間繳費信息;系統管理員登錄可以修改所有數據庫中數據,還可以 增刪條目;學管人員登錄,可查詢各自負責學生人員范圍名單,無權限管理學生 進行學生信息維護操作。學生學費繳費用例圖如圖 3-5所示。
圖 3-5 學生學費繳費用例圖
Figure 3-5 Example of student tuition fees
3.2.4學生助學貸款
學生助學貸款模塊應該包括:編號、學年、貧困等級、學號、姓名、性別、 民族、年級、卡號、專業、政治面貌、培養狀態、學生類別、宗教信仰、在校狀 態、生源省份、生源城市、生源縣區、身份證號、手機號、貧苦生等級、批次、 學制、建檔綠卡等級、是否勤工儉學、備注等基本信息。填寫學號或姓名并且必 須選擇班級和性別后可進行搜索。例如:在姓名中輸入張三或學號 123,選擇相 應班級和性別則會從數據庫中提取所某班姓名為張三的學生條目,在結果顯示欄 中按學期默認順序逐條顯示。學生登錄可以查詢個人貧困資助信息;系統管理員 登錄可以修改所有數據庫中數據,還可以增刪條目;學管人員登錄,顯示各自負 責學生人員范圍名單資助情況,可查詢相應班級貧困資助情況,并有權限管理學 生進行學生信息維護操作。學生助學貸款用例圖如圖 3-6所示。
圖 3-6 學生助學貸款用例圖
Figure 3-6 Student loan use case diagram
3.2.5公寓考勤
學生公寓考勤模塊應該包括一下條目:編號、日期、學期、學號、姓名、性 別、年級、專業、班級、考勤時間、考勤狀態、在校狀態、身份證號、手機號、 請假時間、銷假時間、學生抽樣位置定位信息、備注等基本信息。只有學號、班 級可作為關鍵詞進行搜索。例如:在課程名中輸入學號 123,則會從數據庫中提 取該學號學生本學期中的全部的公寓考勤信息,在結果顯示欄中按日期默認順序 逐條顯示。系統管理員登錄可以修改所有數據庫中數據,還可以增刪條目;學生 登錄可以查詢個人公寓考情情況,不能修改;學管人員登錄,可查詢各自負責學 生人員范圍上課考勤信息,并有權限管理學生進行學生信息維護操作。學生公寓 考勤用例圖如圖 3-7 所示。
圖 3-7 學生公寓考勤用例圖
Figure 3-7 Attendance case diagram of student apartments
3.2.6社團活動信息 社團活動信息模塊應該包括一下條目:編號、學號、姓名、性別、班級、聯 系電話、參加社團、社團狀態等基本信息。填寫學號或姓名并且必須選擇性別后 可進行搜索。例如:在課程名中輸入學號 123,則會從數據庫中提取該學號學生 本學期中的參加社團的所有信息,在結果顯示欄中按社團首字母默認順序逐條顯 示。系統管理員登錄可以修改所有數據庫中數據,還可以增刪條目;學生登錄可 以查詢個人社團情況,不能修改;學管人員登錄,可查詢各自負責學生人員范圍 社團信息,并有權限對管理學生進行學生信息維護操作。社團活動信息用例圖如 圖 3-8 所示。
圖 3-8 學生公寓考勤用例圖
Figure 3-8 Attendance case diagram of student apartments
3.2.7勤工儉學信息 勤工儉學信息模塊應該包括一下條目:編號、學號、姓名、性別、班級、聯 系電話、上崗時間、考勤、狀態等基本信息。填寫學號或姓名并且必須選擇性別 后可進行搜索。例如:在課程名中輸入學號 123,則會從數據庫中提取該學號學 生本學期中的參加勤工儉學崗位的所有信息,在結果顯示欄中按崗位首字母默認 順序逐條顯示。系統管理員登錄可以修改所有數據庫中數據,還可以增刪條目; 學生登錄可以查詢個人參加勤工儉學情況,不能修改;學管人員登錄,可查詢各 自負責學生人員范圍社團信息,并有權限管理學生進行學生信息維護操作。勤工 儉學信息用例圖如圖 3-9所示。
Figure 3-9 Use case diagram of work-study information
3.2.8工作就業推薦跟蹤
工作就業推薦跟蹤模塊應該包括一下條目:編號、學號、姓名、性別、班級、 聯系電話、工作單位、單位地址、上崗時間、狀態、備注等基本信息。填寫學號 或姓名并且必須選擇性別后可進行搜索。例如:在課程名中輸入姓名張三,則會 從數據庫中提取該姓名學生本學期中的參加勤工儉學崗位的所有信息,在結果顯 示欄中按崗位首字母默認順序逐條顯示。系統管理員登錄可以修改所有數據庫中 數據,還可以增刪條目;學生登錄可以查詢個人參加就業信息情況,可維護修改; 學管人員登錄,可查詢各自負責學生人員范圍就業信息,并有權限管理學生進行 學生信息維護操作。工作就業推薦跟蹤用例圖如圖 3-10所示。
Figure 3-10 Job tracking use case diagram
3.2.9日常生活衛生監督 日常生活衛生監督模塊應該包括一下條目:選擇框、編號、學號、姓名、班 級、性別、聯系電話、違紀類別、違紀時間、違紀原因、處理結果、處理時間、 創建時間、操作基本信息[62]。操作應有新增、刪除、發送短信、短信模板設置、 處分決定模板設置。新增彈出框中應該有姓名、學號、性別、班級、樓號、宿舍、 聯系電話、違紀原因、違紀類別下來菜單、違紀時間選擇框、處理/處分結果、 處理/處分時間、操作老師、備注等信息。在當前處分決定模板設置子頁里,應 在原有信息基礎上,自動生成固定格式《處分意見書》模板。填寫學號或姓名并 且必須選擇性別和所在班級后可進行搜索。例如:在姓名中輸入姓名張三,選擇 性別和班級則會從數據庫中提取該姓名學生本學期中日常生活衛生監督的所有 信息,在結果顯示欄中日期默認順序逐條顯示。系統管理員登錄可以修改所有數 據庫中數據,還可以增刪條目;學生登錄可以查詢個人日常生活衛生監督信息情 況,無權限修改;學管人員登錄,可查詢各自負責學生人員范圍日常生活衛生監 督信息,并有權限管理學生進行學生信息維護操作。日常生活衛生監督用例圖如 圖 3-11 所示。
Figure 3-11 Use case diagram of daily life health supervision
3.2.10學生評優
學生評優模塊應該包括一下條目:編號、時間段名稱、起止時間、備注、添 加時間、[63]操作基本信息。操作應有新增時間段、刪除當前時間段、編輯當前時 間段、當前時間綜合評價。在當前時間綜合評價子頁里,應有選擇框、編號、學 號、姓名、性別、所在班級、所在宿舍、民族、聯系方式、[64]操作。填寫學號或 姓名并且必須選擇性別和所在班級后可進行搜索。例如:在姓名中輸入姓名張三, 選擇性別和班級則會從數據庫中提取該姓名學生本學期中的綜合評價的所有信 息,在結果顯示欄中日期默認順序逐條顯示。系統管理員登錄可以修改所有數據 庫中數據,還可以增刪條目;學生登錄可以查詢個人參加就業信息情況,無權限 修改;學管人員登錄,可查詢各自負責學生人員范圍綜合評優信息,并有權限管 理學生進行學生信息維護操作。學生評優用例圖如圖 3-12所示。
Figure 3-12 Student evaluation use case diagram
3.2.11移動端PC端師生溝通即時聊天
即時聊天模塊難點在于解決通訊模塊和MTSIMS的整合,實現歷史聊天記錄 留存,為后期大數據分析預警提供數據信息。網頁端和移動端業務完全一致,包 含聊天頁面開發,插件加載,歷史聊天記錄加載,學生備注名加載以及學管人員 與學生的綁定關系。聊天頁面是學管人員與學生的對話框,用來顯示雙方的頭像, 雙方聊天的記錄,點擊頭像和查看學生的詳細信息,詳細信息包括頭像、姓名、 手機。加載的插件按照學生角色區分,客戶端根據登錄賬號會識別出當前登錄人 員的角色身份,[65]分別是學管人員和普通學生。學生姓名在聊天列表界面打開時 觸發加載,加載成功后學生真是姓名、學號、班級。用聊天詳情界面包含內容輸 入區域和對話呈現區域。內容輸入區域可以輸入文字,發送圖片,也可以選擇平 臺內的旅游路線進行發送。對話呈現區域可以以定制化的方式呈現旅游路線和紅 包等自定義消息,文字和圖片則正常展示。如果圖片分辨率過大,展現的圖片尺 寸要進行壓縮。學生姓名都是數據庫由管理員統一導入的,具有唯一性和指向性。 聊天流程與用例圖如下所示。
圖 3-13 聊天流程示意圖 Figure 3-13 Diagram of chat flow
圖 3-14 即時聊天用例圖
Figure 3-14 Chat use case diagram
3.2.12 學生特別情況信息預警 學生特別情況信息預警模塊功能可視為完全獨立的模塊進行開發,與
MTSIMS 共享數據庫數據,實現設定的閾值與學生學習、生活信息的展示和挖掘 分析比對。當某一指標超出設定閾值時,以報告形式通知學校和相應學管人員。 后期可作為構建學生個人能力模型依據,實現對學生的綜合預警,規范學生在校 期間的學習和生活[66],減少突發事件發生。學生特別情況預警模塊與用例圖如下 所示。
圖 3-15 學生特別情況預警用例圖
Figure 3-15 Student special situation warning use case diagram
4系統設計
4.1 系統設計原則
(1)移動端優先原則。MTSIMS主要實現的功能是跨平臺,這里重點考慮移 動端。所以必須確立移動設備優先,整個系統平臺的開發至始至終考慮移動設備 的兼容顯示。
(2)適應性強原則。在系統開發初期,引入HTML5已經考慮了各種平臺的 適應性,在軟件開發過程中,充分考慮觸控模式。
(3)可靠性原則。跨平臺學生信息管理系統一旦投入使用,必須保證軟件 的穩定性和低錯誤率,確保系統成熟穩定的在操作形同、數據庫、不同網絡協議 順暢運行。
(4)代碼易讀性原則。在編程過程中,各個子系統變量名盡量用漢語拼音 注釋,這對于軟件調試的易讀性是一個幫助。一旦系統開發完成,在后續的功能 增加和系統完善中能起到至關重要的作用。
(5)安全性原則。跨平臺學生信息管理信息系統是一個學生信息的數據庫, 關系到學生的個人信息和人身安全,信息量大量收集后,也是學生行為分析的一 個重要數據資源,對學校是一個非常重要的資料和獎學助貸、評獎評優的依據, 其安全性必須得到高度重視。
(6)可擴展性。軟件開發過程中充分考慮系統功能擴展,為以后模塊擴展 留下空間和接口[67],易于軟件功能的擴展和完善。根據新的時期求,對軟件進行 進一步的完善。
(7)易用性原則。在系統見面設計,邏輯設計中,秉持易于理解易于使用 的原則,界面簡單,便于操作,不追究外觀的華麗,實現基本功能,保證師生在 使用過程中能非常容易理解界面呈現的內容,界面顏色、子模塊分明,師生不需 要進行專門培訓即可正常順暢使用 MTSIMS。
4.2 系統架構
MTSIMS采用成熟的B/S結構。開源數據庫MySQL用于后端數據庫,PHP用于 服務器端,系統的前端由HTML5實現°WEB服務器接收用戶的請求。WEB服務器 將執行請求響應,將其連接到數據庫并向數據庫提交數據處理請求。數據庫將把 數據處理的結果傳達給WEB服務器。然后WEB服務器將其發送給客戶端。[54] MTSIMS可以流暢桌面瀏覽器、移動瀏覽器、微信。PHP與MySQL組合是目前開源 網站開發的主要工具。[68]
移動智能手機可視為兩部分,即手機終端瀏覽器和微信內置瀏覽器。系統前 端使用HTML5編寫,MTSIMS在移動端顯示時會自適應比例,以最佳布局、方式 顯示在終端。通過微信二次開發將系統封裝在微信內置瀏覽器中,調用定位接口, 實現定位功能。
4.3 系統功能模塊
MTSIMS模塊的最核心功能就是數據庫管理,特色是手機定位和不同平臺的 自適應,其中系統管理員可以通過系統管理全面地管理系統的用戶權限、組織結 構、資源、數據字典[69]、手機所在位置、內部數據等。
MTSIMS分為12個模塊:學習上課紀律考勤功能、學生個人信息管理功能、 學生學費繳費功能、學生助學貸款功能、公寓考勤功能、社團活動信息功能、勤 工儉學信息功能、工作就業推薦跟蹤功能、日常生活衛生監督功能、學生評優功 能、移動端 PC 端師生溝通即時聊天功能以及學生特別情況信息預警功能。如圖 4-1 所示。
(1) 學習上課紀律考勤功能:通過手機定位,對學生是否按時到指定定點上 課進行監督督促,數據庫對學生考勤結果進行記錄。
(2) 學生個人信息管理功能:學生的電子資料檔案,耦合了數據庫所有與之 相關數據,在頁面顯示,讓學生對個人在學校表現和成績情況有直觀認識,方便 學管人員對學生進行教育管理。
(3) 學生學費繳費功能:對學生繳費情況進行登記匯總備份,方便學生查詢, 幫助提升學生繳費消費,減輕財務處工作負擔。
(4) 學生助學貸款功能:學生通過本模塊進行貸款申請,有學管人員進行下 一步協調安排。本模塊可以作為學生貧困資料電子資料庫使用。
(5) 公寓考勤功能:按系統指定時間對學生進行手機定位,對為在指定區域 學生進行督查,有效管控學生晚歸不歸行為。
(6) 社團活動信息功能:對學生參加社團進行記錄,對學生社團考勤以及考 核成績進行登記。
(7) 勤工儉學信息功能:由學管人員維護,對勤工儉學學生參加校內工作進 行監督考核。數據作為貧困生資助依據。
(8) 工作就業推薦跟蹤功能:對學生就業情況進行跟蹤,通過手機定位,不 定期進行位置采集,核實學生實習情況。
(9) 日常生活衛生監督功能:對學生違紀情況進行登記,通過網上對學生違 紀行為進行登記并作出處罰,記錄作為學期末學生考核依據。
(10) 學生評優功能:對學生獲獎情況進行登記,記錄作為學期末學生考核 依據。
(11)移動端PC端師生溝通即時聊天功能:老師之間、學生之間、師生之間 即時聊天,聊天內容進行記錄,方便聯系,提高管理效率,作為預警數據依據之
(12)學生特別情況信息預警功能:通過預設標準,當某一檢測值高于標準 線時,系統向學管人員發出預警信息,預防校園隱患事件和學生突發狀況發生。
圖 4-1 MTSIMS 系統模塊圖 Figure 4-1 MTSIMS module diagram 目前只是對系統有代表性及關鍵功能進行實現:學習上課紀律考勤功能、學 生個人信息管理功能、公寓考勤功能、社團活動信息功能、日常生活衛生監督功 能、學生評優功能進行實際開發。這6個模塊包含了 MTSIMS開發的PC端、移動 端、微信平臺實現、數據庫開發、GPS調用、定位、存儲等關鍵技術,這幾個主 要功能的實現為MTSIMS完全開發打下基礎,在系統得到更進一步論證后,進行 更加全面完善的開發,并將其運用到學生信息管理實踐中。整個系統沒有進行專 業美化,只是對具體功能進行了實現。
為了系統操作需要,需要設置板塊管理后臺,經過系統需求分析,在系統時 間時單獨設置系統管理模塊,前后那個包括三個部分:后臺系統設置、前臺系統 設置、備選項管理。后臺設置功能包括系統界面和系統各角色權限管理,數據庫 操作,記錄日志文件查看。前臺系統設置系統前段顯示布局和不同用戶可看到的 能訪問的網頁進行設置。備選項管理這是對數據庫后臺數據選項進行維護,在操 作過程中可以作為下拉菜單進行選擇。
圖 4-2 實現系統模塊圖
Figure 4-2 System module implementation diagram
4.4 數據庫設計
通過前面需求分析中的數據分析及數據庫設計,可以得到系統的使用者有學 管人員、輔導員、學生、專業、教室、宿舍等有關關鍵字段。一個學生可以有多 個動作,一個學管人員可以對多個模塊進行管理,一個社團可以參與多個評測等 1 對 N,M 對 N,M 對 N 的數據關系,由此分析得到跨終端學生信息管理信息系統 的 E-R 圖。
圖 4-3 系統數據庫 E-R 圖
Figure 4-3 E-R diagram of system database
4.4.1 數據庫設計原則
(1)根據使用習慣,本次數據庫設計表命名時以簡單易識別為原則。像 user 等單詞在表命名中一目了然,可以作為表的命名,其他以漢語拼音命名,表內字 段以英語單詞命名,體現出相應意義,保持數據字段名稱簡潔性。如數據庫表以
"lu_weiji",lu_user表內身份證號字段用“ ID_number"來命名。
(2)數據表命名采用子模塊簡寫+功能單詞首字母,并預留字段供擴展,數 據表和字段名嚴格按照數據字典要求及標準命名。
(3)設計完善數據字典,保證在系統開發過程前完成數據字典的設計,確 保開發部因數據字典不夠完善影響開發進程。以嵌套關系建立起來的數據表,一 定備注關鍵字段并在數據字典中以清晰明了的形式進行注明。表和數據都必須記 錄在字典中,對應的觸發器和存儲過程也必須記錄。
4.4.2 數據表設計 根據以上原則,跨平臺學生信息管理系統主要數據表設計示例如下:
(1)角色分類表是由ID號、姓名、父類id、狀態、備注、創建時間、修 改時間字段。角色分類表如表4-1所示。
2)
表 4-1 角色分類表( lu_role) Table 4-1 Role classification sheet (lu role)
字段名字 數據類型 排序規則 主鍵 描述
id smallint(6) 是 序號
name varchar (20) utf8_general_ci 角色分類
pid smallint(6) 默認0
status tinyint(l) 狀態
remark varchar (255) utf8_general_ci 備注
create_time int(ll) 創建時間
update_time int(ll) 修改時間
(2)管理員用戶屬性包括序號、賬號、用戶名、密碼、最近登錄時間、最 近登錄IP、登錄次數統計、驗證結果、email、備注、創建信息、修改時間、屬 性信息。管理員用戶信息表如4-2所示。
表 4-2 管理員用戶信息表( lu_user) Table 4-2 Administrator user information sheet (lu user)
字段名字 數據類型 排序規則 主鍵 描述
id smallint(5) 是 序號
account varchar (64) utf8_general_ci 賬號
nickname varchar (50) utf8_general_ci 用戶名
password char(32) utf8_general_ci 密碼
bind_account varchar (50) utf8_general_ci 賬號
last_login_time int(ll) 最近登錄時間
last_login_ip varchar (40) utf8_general_ci 最近登錄ip
login_count mediumint (8) 登錄統計
verify varchar (32) utf8_general_ci 驗證
email varchar (50) utf8_general_ci email
remark varchar (255) utf8_general_ci 備注
create_time int(ll) 創建時間
update_time int(ll) 修改時間
status tinyint(l) 狀態
type_id tinyint(2) 類型序號
info text utf8_general_ci 標注信息
(3) 學生信息屬相有序號、賬號、學號、密碼、用戶名、性別、身份證號、 民族、出生日期、政治背景、狀態、貧困類型、出生地、父母信息、生源地等。
(4) 專業屬性有序號、專業名稱、創建時間、狀態和備注。
(5) 班級信息表屬性包括序號、班級名稱、創建時間、狀態、備注。
(6) 開學報到注冊信息屬性包括序號、學期id、學生id、狀態、注冊時間、 請假時間、請假原因、銷假原因。
(7) 課程信息屬性包括序號、課程名稱、年、學期、老師、創建時間、狀 態、備注。課程信息表如 4-3所示。
表4-3課程信息表(lu_course)
Table 4-3 Course information sheet (lu course)
名字 類型 排序規則 主鍵 描述
id int(10) 是 序號
coursename varchar (100) utf8_general_ci 課程名稱
year varchar (20) utf8_general_ci 年
term varchar (20) utf8_general_ci 學期
teacher varchar (20) utf8_general_ci 任課老師
create_time int(10) 創建時間
status tinyint(l) 狀態
remark text utf8_general_ci
(8)學生活動信息屬性包括序號、課程名稱、年、學期、老師、創建時間、 狀態、備注。
(9)學生榮譽信息屬性包括序號、學生id、活動時間、類型、級別、獲得 榮譽、創建時間、狀態、備注。
(10)組織關系信息屬性包括序號、學生ID、遞交入黨申請時間、成為積 極分子時間、成為重點培養對象時間、成為預備黨員時間、成為黨員時間、組織 關系轉出時間、介紹人一、介紹人二、狀態、創建時間、備注。
(11)貧困等級信息屬性包括序號、名字、等級。
(12)學生宿舍信息屬性包括序號、校區、樓號、宿舍號、創建時間、狀態、 備注。
(13)學生違紀信息屬性包括序號、學生學號、違紀類別、違紀原因、違紀 時間、處理結果、處理老師、創建時間、備注。學生違紀信息如 4-4所示。
表4-4學生違紀信息表(lu_weiji)
Table 4-4 Student discipline violation information sheet (lu weiji)
名字 類型 排序規則 主鍵 描述
id int(10) 是 序號
sid int(10) 學生id
type varchar(50) utf8_general_ci 違紀類別
reason int(10) 違紀原因關聯違紀規則庫
wjtime int(10) 違紀時間
result varchar(1000) utf8_general_ci 處理結果
cltime int(10) 處理時間
czteacher varchar(20) utf8_general_ci 處理教師
remark varchar (500) utf8_general_ci 備注
createtime int(10) 創建時間
(14) 一級菜單分組信息屬性包括序號、菜單、條目、狀態、分類。
(15) 二級菜單分組信息屬性包括序號、表名、標題名、創建時間、修改時
間、狀態、分類、是否顯示、菜單分組。二級菜單分組信息表如 4-5所示。
表4-5二級菜單分組信息表(lu_home_group)
Table 4-5 Second menu grouping information sheet (lu_home_group)
名字 類型 排序規則 主鍵 描述
id smallint(3) 是 序號
name varchar (25) utf8_general_ci 表名
title varchar (50) utf8_general_ci 標題名
create_time int(ll) 創建時間
update_time int(ll) 修改時間
status tinyint(l) 狀態
sort smallint(3) 分類
show tinyint(l) 是否顯示
group_menu char(15) utf8_general_ci 菜單分組
5 系統實現
目前只是對系統的基礎和跨平臺有代表性及關鍵功能進行實現:學習上課紀 律考勤功能、學生個人信息管理功能、公寓考勤功能、社團活動信息功能、日常 生活衛生監督功能、學生評優功能進行實際開發。這6個模塊包含了 MTSIMS 開 發的 PC 端、移動端、微信實現、數據庫開發、 GPS 調用、定位、存儲等關鍵技 術,MTSIMS文件結構及功能架構圖如下截圖:
Q MTSIMS - NetBeans IDE 8.0
~]歷史記錄|回1曜0 聲號足i 口丨滬^>電I p 制 O □丨益
環 目 88 | 文伶 | | El .tyla c.. 筆| 辰 PuhlicActioa. cl»?. php »| El IndaxActiwu ply It|(
mmnf
incocoIO
5:(Adm^^^@»«»•國?@0l±Jltl00l±]l3.l±lltl?00國liJEJra國QsliJ國國0國0國ffllss國l±J-適
SIM源①國©osli)©^
MT@.U
tiAe b m 1
LiRWTP一
Hplsph rjsp3in. 凰凰仍»學1= •sQQlxlm, •
Lse 中 1 c 1 auuel e r o -1 1 e s 1 o o d u z e ftt ue 1 e e clrlrror d cty n s n ry c s E r r X m i s w ilk i iITl ■ 1 wreuueeeooe earliaee tdhrjjja t u~auloommmnnd£d£ob£eltause-l-lpu x&lo-lTTOOOOOnoorouel-o-l ttuweehH ABCCFGGHHHHHILnoFFRRRSSSSUWWZZ ^^^•-••?.•?e>^@陽&陽閔@&陽@^&^^@和mem
tmlinc
hg-
<?php
$siteconfig = require *. Admin/siteconfig. in<
$db = require ' . Admin/Conf . db. php':
$config = array(
,*
*
0:普通模式(采用傳統白LURL參數模式)
1: PATHINFO 模式(httD: // <se:rve:rName>/aDi3Name/】
2:REWRITE模式(PATHINFO模式基礎上隱藏index, p]
3:兼容模式(普通模式和PATHINFO模式,可以支持
'APP_AUTOLOAD_PATH, =>' TagLib,,
'SESSION,AUTO_START, =>true,
♦/
'URL_M0DEL' =>3,
'pageNum,,
'PAGE_LISTR0WS'=〉15, 〃分頁 每頁顯示多少條
,PAGE_NUM_SHO^<,=>10, 分頁 頁標數字多少個
'USER_AITH_ON' =>true, 'USER AUTH TYPE, =>1,
圖 5-1 MTSIMS 軟件后臺文件示例
Figure 5-1 Example of MTSIMS software back-end files
后臺網頁編程中用到了 Ajax技術,Ajax不是一種新的編程語言,是一種網 頁異步交互技術。它通過在網頁與后臺服務器進行通信,實現網頁的更新,這意
味著網頁不需要重新刷新就可以對網頁的某部分進行更新。在學生信息管理系統 中,在學生統計、組織關系管理、開學報到注冊等有查詢功能的子頁面中使用該 技術。用戶只需要輸入查詢條件就可以實時加載出相關信息,用戶交互性較好。 在移動端,實現無刷新加載頁面,隨著用戶滑動信息列表到屏幕底部,可以無刷 新加載下一頁數據。
5.1 PC 端
5.1.1 系統登錄 系統的每一個用戶都是通過瀏覽器來登錄,打開頁面后,在最上一行欄目中 有三個選項:學生登錄/后臺管理登錄、學院首頁、學校首頁。學院可以掛二級 頁面的導航頁,學校首頁連接的學校網站,這里只是簡單進行了示例連接。學生 登錄選擇學生登錄,管理員和學管人員登錄選擇后臺管理登錄,用戶需要輸入數 據庫一致的用戶名和密碼。身份驗證通過,跳轉到信息提示頁面,3 秒后跳轉到 系統操作頁面。身份驗證不通過的,跳轉到信息提示頁面,3 秒后跳回登錄首頁 面。同時為了防止登錄用戶暴力破解,在系統登錄模塊加入驗證碼功能,當用戶 輸入賬號密碼錯誤超過 3次,就需要每次額外填寫驗證碼。
為增強系統安全性, 在用戶名和密碼匹配失敗三次后,系統會自動生成驗 證碼,再一次輸入,必須滿足用戶名、密碼、驗證碼同時匹配數據庫成功才能成 功登陸。
Copyright ©2018 Mavyn Chown All Rights Reserved.
圖 5-2 后臺管理員登錄后主界面
Figure 5-2 Login Pages for Administrator
I管理S錄I學院首頁I學校首頁
更學生登陸
Copyright © 2018 Mavyn Chown All Rights Reserved.
圖 5-3 學生登錄后主界面
Figure 5-3 Login Pages for Students
®示 X 溢百度一下.你紳1道 X +
0 © localhost/mtsims/index.php?s=/Public/checkLogin/
:)
登錄成功!
頁面自動遊等待時間:1
圖 5-4 登錄信息提示界面
Figure 5-4 Pages of Login Information Tip
用戶名和密碼有系統管理員統一維護。只有在后臺添加了數據后,前臺用戶 才能正常使用。用戶名和密碼驗證與數據庫的調用代碼如下: // 登錄檢測
public function checkLogin() { if(empty($_POST['account'])) {
$this-〉error('帳號錯誤!');
}elseif (empty($_POST['password'])){
$this-〉error('密碼必須!');
}elseif (empty($_POST['verify'])){
$this-〉error('驗證碼必須!');
}
//生成認證條件
$map=array();
//支持使用綁定帳號登錄 $map['account'] = $_POST['account'];
$map["status"]=array('gt',0);
if($_SESSION['verify'] != md5($_P0ST['verify'])) { $this-〉error('驗證碼錯誤!');
}
import ( '@.ORG.Util.RBAC' );
$authInfo = RBAC::authenticate($map);
//使用用戶名、密碼和狀態的方式進行認證
if(false === $authInfo) {
$this-〉error('帳號不存在或已禁用!');
}else {
if($authInfo['password'] != md5($_P0ST['password'])) {
$this-〉error('密碼錯誤!');
}
$_SESSION[C('USER_AUTH_KEY')]=$authInfo['id'];
$_SESSION['email'] = $authInfo['email'];
$_SESSION['loginUserName']=$authInfo['nickname'];
$_SESSION['lastLoginTime']=$authInfo['last_login_time'];
$_SESSION['login_count']=$authInfo['login_count']; if($authInfo['account']=='admin')
{
$_SESSION['administrator']= true;
}
5.1.2.系統主界面
管理員通過瀏覽器登錄后,系統跳轉到在最上一行欄目中有三個選項:網站 管理、學生信息管理、系統管理。每個標簽都是下拉菜單,在下面的左側顯示。 網站管理菜單里有站點信息和公告管理兩個子菜單,分別可以編輯系統的信息和 公告。學生信息管理菜單對學生信息進行管理,分別是基本信息管理、學生綜合 評價表、學生統計、組織關系管理、學生請銷假管理、開學報到注冊、違紀處分 信息庫、學生獲獎情況、學生參與活動情況。系統管理對學生有關的基本框架信 息進行維護,菜單依次是班級管理、宿舍管理、課程管理、違紀情況管理、活動 項目管理、專業管理、獲獎選項管理。所有內容在左側欄目中顯示。
仝跨平臺學生信息管理系統
學生信息ga
-a我的主頁
跨平臺學生信息管理裁
Welcome;管理員
站點公告:
確:2融合甦F探龕®人新路徑
內容:為切實改革思政課堂教學模式,提高思政教學時效性,學 校思政教師對接專業教師、聯合企業師傅,三元融合、理實一 體,共同組織思政課現場教學,取得了良好教學成效。
礎:測試
內容:所發生了幵螂設路口附近是立刻發酵詞料;開發建設的;;了開發建設;旅客謹防撒;空 間發送旅客就發;者慮時間發;考了幾分;坷拉激發撒賴科技發生了;;設計塞;啦會計分錄;卡 積分;旅喜謹防;啊來開發建設;旅客謹防;拉克絲房價啊;看來飛機;啊離開房間啊:看來飛機 啊路口附酊了
標題:站點公告測試
內容:
當前版本dwz_thinkphp(DWZ框架v1.4.6 Final + ThinkPHP3.1.3)
發布dwzjhinkphp主委皇為了方便PHP開發者使用DWZ富客戶端UI框架。
其他開發入員也可飯結合Mp后呂去理解DWZ和服務器端的交互方式。
圖 5-5 后臺管理人員登錄后主界面
Welcome;張三
萌點公告: 標題:4444 內容:444444
圖 5-6 學生登錄后主界面
Figure 5-6 Backg-end managerment page after student login
5.1.3 系統信息模塊
(1)系統信息
網站信息主要對系統的名字站點地址等有關信息進行維護,內容包括站點名 稱、站點地址、站點單位名稱、管理員、管理員郵箱、管理員電話、管理員傳真、 團心平臺用戶名、短信平臺接口密鑰,MTSIMS開發短信相關模塊,這是MTSIMS 的一個亮點,方便學生信息管理使用。這是作者版權等信息的更新模塊,可以時 時更新。
(2)公告管理
本模塊是對公告進行管理。相關公告可以在學生或后臺界面首頁面顯示(示 例如圖5-7)。本模塊調用了 ThinkPHP的相關模塊。管理內容可以在操作中進 行編輯,設置相關內容有內容標題、文章分類、顯示順序、顯示狀態。
蟲跨平臺學生信息管理系統
學生信息管理
血我的主頁
跨平臺學生信息晉理系統
Welcome.管理^
站點公告:
旋:m 融合理實一^龕®人新路徑
內容:為切實改革思政課堂教學模式,提高思政教學時效性,學 校思政教師對接專業教師、聯合企業師傅,三元融合、理實一 體,共同組織思政課現場教學,取得了良好教學成效。
強:測試
內容:所發生了開發建設路口附近是立刻發酵詞料;開發建設的;;了開發建設;旅喜謹防撒;空 間發送旅客就發;考慮時間發;考了幾分;坷拉激發撒賴科技發生了;;設計賽;啦會計分錄;卡 積分;旅喜謹防;啊來開發建設;旅喜謹防;拉克絲房價啊;看來飛機;啊離開房間啊:看來飛機 啊路口附®f 了
礎:站點公告測試
內容:
當前版*dwz_thinkphp(DWZ框架v1.4.6 Final + ThinkPHP3.1.3)
發布dwz thinkp呻主吏皇為了方便PHP開發青使用DWZ富客戶端UI框架。
其他開岌入員也可飯結合php后合去理解DWZ和月躋器端的交互方式。
圖 5-7 后臺對公告內容管理及頁面效果
Figure 5-7 Back-end content management and page effect of announcement
圖 5-8 后臺對公告內容管理頁面效果
Figure 5-8 Back-end content management page
5.1.4 學生信息管理模塊
(1)基本信息管理
這個模塊是學生信息管理的核心模塊,它包括了學生的所有基本數據信息, 并稽核了學生信息的短信聯系、繳費信息和請假系統。本模塊基本內容有兩個板 塊,上下依次是查詢、信息反饋。查詢板塊是對基本信息進行查詢,所有選項與 數據庫連接,查詢時自動彈出下拉菜單,讀取數據庫相應數據表。下面是反饋的 查詢信息,默認是學生基本信息,內容包括學生編號、學號、姓名、性別、所在 班級、入學年份、所在樓號/宿舍、民族、政治面貌、貧困生、聯系方式、繳費 狀態、繳費審核狀態、添加時間、學生狀態。信息顯示欄目最上一行是操作,具 體操作有新增、刪除、繳費審核、編輯/查看、修改密碼、批量導入、單個發信 息、給家長發信息、批量發短信、短息模板設置、批量請假和頭像模式(反饋信 息以頭像為單位顯示)。
跨平臺學生信息管魁統
圖 5-9 學生基本信息管理模塊
Figure 5-9 Student personal information management module
學管人員登錄可查看本人負責范圍內所有學生基本信息,學生基本信息在面
板里逐條顯示學生信息,如下圖。
圖 5-10 學生基本信息管理模塊
Figure 5-10 Student personal information management module
點擊頭像管理模式,學生信息進行重新排列。界面刷新,每位學生的基本信
以圖片顯示,圖片即學生的頭像,點開可查看學生詳細信息。
MTSIMS特色功能之一:與學生進行聯系,MTSIMS在開發過程中沒有開發單 獨的群聊系統,借鑒其他管理系統短信功能,開發了和學生、學生家長進行交流 的短信系統,可以試試與學生進行網絡短信聯系,也顧及了只有手機信號時可以 進行時時聯系。從操作欄里可以選擇相應模塊。
縣區:匚 證號:匚 手機:匚
學制:一請選擇培養類^一可 職務: 社團:
圖 5-12 學生基本信息管理模塊頭像模式
Figure 5-12 Student personal information management module by head image model (2)學生綜合評價表 本模塊是對學期信息進行管理,操作有新增時間段、刪除當前時間段、編輯 當前時間段、當前時間綜合評價。
圖 5-13 學生綜合評價表模塊
Figure 5-13 Student comprehensive evaluation table module
本模塊最后一個選項是當前時間段評價。點開這個模塊對學生信息進行查詢 并生成。點開標簽,是學生有關信息,可以通過學號、姓名、性別、所在班級進 行查詢,每個學生最后一個欄目是生成綜合評價。點擊在新網頁生成綜合評價一 覽表,系統調用學生基本信息、學生榮譽、請銷假情況和參加活動情況。通過這 個表可以直觀查詢學生一個學期期間的表現,對學生進行相關評價。
基本信息 學生綜合評價表
姓名:hhh 學號:45345
身份證號:5645656 出生日期:1970年01月01日
政治面貌: 專業:物流管理
類別: 錄取批次:
培養類別:3年制專科 班級:未知
學生狀態:在校 宿舍:#
貧困生等級: 聯系方式:15136175246
參加學生組織及社團: 家庭住址:山東青島市黃島區
學生干部職務: 家庭聯系電話:
父親姓名: 母親姓名:
父親工作單位: 母親工作單位:
父親聯系方式: 母親聯系方式:
違紀信息
圖 5-14 學生綜合評價表查詢和生成效果
Figure 5-14 Student comprehensive evaluation table query and results
(3)學生統計
這個模塊為管理人員開發了一個輔助模塊,可以以不同關鍵詞對統計匯總的 校學生的各種信息進行查詢,包括性別、民族、專業、入學年度、學生狀態、學 制、縣區、繳費情況的大數據統計。本模塊在開發過程中原設計是做成時時統計, 自動收集學生相關在校情況,尤其是學生地理位置,但是在開發過程中實現這個 功能遇到了困難,后期在微信實現本功能,這個功能沒有實現,預留了接口,待 日后加以完善。
[J跨甲臺學生信息管理系統
命我的主頁 學生筑計
銃計類 學制 T 開始統計
規則容稱
3年制斜
五年制小3+2
圖 5-15 學生統計模塊
Figure 5-15 Student statistics module
(4)組織關系管理
本模塊對數據庫表 lu_organize 進行訪問,本表格直接記錄學生有關組織信 息,對學生信息進行管理維護。操作有新增、編輯/查看,導出 EXCEL 和打印功 能選項。
本模塊基本內容有兩個板塊,從上至下依次是查詢、信息顯示。查詢模塊是 對學生請假信息進行查詢條件設置,所有選項與數據庫連接,查詢時自動彈出下 拉菜單,讀取數據庫相應數據表,查詢內容可以是學號、姓名、班級、宿舍、性 別、轉臺、逾期天數、請假時間。下面是反饋的查詢信息,默認是學生相應請假 信息,內容包括學生編號、學號、姓名、性別、所在班級、聯系電話、請銷假時 間、狀態。信息顯示欄目最上一行是操作,具體操作有新增、刪除、編輯/查看、 信息、發送短信。顯示信息最后一個選項是狀態,顯示請假是否成功,可以選擇 在線編輯\打印請假條或者銷假。
跨平臺學生信息®as統
學生信息管理
請假條
N0.0015
擁師老師:
我因融結婚,需膏盟天(2014年08月22日一2014年08月2汨)。
備注:。
望老師批準!
準假教師: 未知
生態環境學院學生工作辦公室(簽章) 學生:hhh
2014^08月20日 20 年 月 日
1 (注:學生請假離校后,請及時到班主任處、學生公寓值班室登記,返校后及時到學辦銷假)
圖5-17學生請銷假管理
Figure 5-17 Student leave management pages
(6)學生報到注冊 學生每學期都要進行學籍注冊,注冊后才能進行有關數據的錄入、采集和編 輯維護。由教務處提供名單,后臺管理員對學生進行注冊。名單內容是學生的學
號、姓名、班級、性別、聯系電話,注冊時間根據系統時間自動記錄登記。欄目
上方是相關操作。可以批量發送短信,給學生提示注冊完成。
圖 5-18 學生報到注冊
Figure 5-18 Student registration pages
(7)違紀處分注冊信息庫
違紀處分與數據庫lu_weiji數據表對應。這個模塊是對學生違紀情況進行 記錄。內容包括學生學號、姓名、班級、性別、聯系電話、違紀類別、違紀時間、 違紀原因、處理結果、處理時間,最后一個項目可以在線生成違紀決定。操作有 新增、刪除、編輯\查看、發送短信等。可以通過學生學號、姓名、性別、班級 進行查詢,對特定學生違紀情況進行查詢。
圖 5-19 違紀處分注冊信息庫
Figure 5-19 Registration information base of disciplinary disposal
(8)學生獲獎情況
學生榮譽與數據庫lu_honor數據表對應。這個模塊是對學生獲獎情況進行 記錄。內容包括學生學號、姓名、班級、性別、聯系電話、違紀類別、獲獎時間, 系統自動記錄處理時間。操作有新增、刪除、編輯\查看、發送短信等。可以通 過學生學號、姓名、性別、班級進行查詢,對特定學生違紀情況進行查詢。
圖 5-20 學生獲獎情況
Figure 5-20 Student awards page
(9)學生參與活動情況 本模塊是對學生參與活動情況進行記錄。內容包括學生學號、姓名、班級、 性別、聯系電話,系統自動處理時間。操作有新增、刪除、編輯\查看。可以通 過學生學號、姓名、性別、班級進行查詢,對特定學生違紀情況進行查詢。
圖 5-21 學生參與活動情況
Figure 5-21 Student participation in activities page
5.1.5 系統管理
這個模塊是系統參數設定模塊。在本模塊可以對系統數據庫基礎數據進行維 護。模塊分三個部分,依次是備選項管理、后臺系統設置、前臺系統設置。
(1)備選項管理
本模塊是對系統用戶相關信息進行維護管理。所有內容就是后臺基礎數據。 細分為班級、宿舍、課程、違紀情況、活動情況、專業、獲獎選項等信息。具體 實現效果示例如下:
1*跨平臺學生信息管理系統
璉信息@3
場備選項管理 一 命我的主頁 班級管理
言班級管理 班級名:
壬宿舍管理
弓課程管理
=違紀情況管理
宙新増日刪除(□編輯
弓活動項目管理 縮號 班級名稱
■.-專業管理 67 17級網絡應用
'三獲皺項管理 66 仃級網絡應用
65 1 了級網絡應用
64
63 1 了級網絡應用
17級網絡應用
1 62 1 了級網絡應用
1 61 1 了級網絡應用
60 1 了級網絡應用
59 17級網絡應用
58 17級網絡應用
57 17級網絡應用
56 仃級網絡應用
55
54 仃級網絡應用
1 了級網絡應用
53 17級網絡應用
圖 5-22 班級情況界面 Figure 5-22 Class situation page
二,跨平臺學生信息管理系統
系統管連
圖 5-23 獲獎選項管理界面
Figure 5-23 Award-winning options management page
2)后臺系統設置
I*跨平臺學生信息管理系統
魏iSB註信息
a我的主頁 班級管理 獲獎選項管理 角色管理
組名:
圖 5-24 后臺系統設置界面 Figure 5-24 System back-end setup pages 3)前臺系統設置
圖 5-25 前臺系統設置界面 Figure 5-25 System front-end setup pages
5.2 移動端
MTSIMS前段頁面用HTML5開發,可以自動適應不同分辨率瀏覽器,根據需 要自動調節顯示比例。在移動端主要是目標是做到能正確比例顯示軟件,經過測 試,發現軟件完全做到該功能,符合預期。系統開發也使用的 Bootstrap 框架, 保證系統自動適應不同硬件設備。顯示效果示例如下圖所示:
圖 5-26 移動端顯示效果示例
Figure 5-26 Examples of mobile display
程序前臺頁面 Html5 頁面代碼示例如下:
<!DOCTYPE html>
<head〉
<meta charset二"utf-8"〉
<title〉{$Think.config.sitename}</title〉
<link href="__PUBLIC__/dwz/themes/default/style.css" rel二"stylesheet" type二"text/css" />
<link href="_PUBLIC_/dwz/themes/css/core.css" rel二"stylesheet" type二"text/css" />
<! — [if lt IE 9]>
〈script
src二"http://html5shiv.googlecode.com/svn/trunk/html5.js"〉</script〉 <![endif]-->
<link href="_PUBLIC_/dwz/themes/css/ieHack.css" rel二"stylesheet" type二"text/css" />
<![endif]-->
<style type二"text/css"〉
#header{height:85px}
#leftside, #container, #splitBar, #splitBarProxy{top:90px} </style>
<script src="_PUBLIC_/dwz/js/speedup.js" type="text/javascript"></script>
<script src="_PUBLIC_/dwz/js/jquery-l?7?2.min?js" type="text/javascript"></script>
<script src="_PUBLIC_/dwz/js/jquery.cookie.js" type="text/javascript"></script>
<script src="_PUBLIC_/dwz/js/jquery.validate.js" type="text/javascript"></script>
<script src="_PUBLIC_/dwz/js/jquery.bgiframe.js" type="text/javascript"></script>
<script src="_PUBLIC_/xheditor/xheditorT?2?l.min?js" type="text/javascript"></script>
<script src="_PUBLIC_/xheditor/xheditor_lang/zh-cn.js" type="text/javascript"></script>
<script src="_PUBLIC_/dwz/js/dwz.min.js" type="text/javascript"></script>
<script src="_PUBLIC_/dwz/js/dwz.regional.zh.js" type="text/javascript"></script>
<script type二"text/javascript"〉
//Bootstrap框架代碼
<script src二"jQuery.js"〉</script〉
<script src二"bootstrap.js"〉</script〉
<link href="bootstrap?css" rel="stylesheet"〉
</head>
5.3 微信
作者將現有跨平臺學生信息管理系統與最新流行技術結合,將跨平臺概念拓 展到微信平臺,實現此項功能涉及到系統在微信的封裝和利用微信調用第三方地 圖定位學生時時位置。相關功能實現內容單列一章,在第六章關鍵技術里進行具 體介紹。
5.4 數據庫創建
數據模塊DataBaseModule只有在服務器端使用,代碼中是使用MySQL本身 提供的ODBC接口與數據庫進行連接,對數據庫進行讀取、存儲、修改、刪除, 還有與數據斷開連接的功能。同時數據庫模塊中也有一個 DataBaseModulePool, 以多線程的方式提供一個穩定的數據庫連接池,供系統調用。
訪問數據庫連接代碼如下: <?php
$siteconfig = require './Admin/siteconfig.inc.php';
$db = require './Admin/Conf/db.php';
$config = array( 'URL_M0DEL'=〉3, 'APP_AUTOLOAD_PATH'=〉'@.TagLib', 'SESSION_AUTO_START'=〉true, 'VAR_PAGE'=〉'pageNum', 'PAGE_LISTR0WS'=〉15, //分頁 每頁顯示多少條 'PAGE_NUM_SH0WN'=〉10, //分頁 頁標數字多少個
'USER_AUTH_GATEWAY'=〉'/Public/login', // 默認認證網關
'REQUIRE_AUTH_ACTION'=〉'', // 默認需要認證操作
'GUEST_AUTH_ON'=〉false, //是否開啟游客授權訪問 'GUEST_AUTH_ID'=〉O, // 游客的用戶 ID 'DB_LIKE_FIELDS'=〉'title|remark',
);
return array_merge($config,$siteconfig,$db);
?〉
數據庫連接設置: <?php
return array(
'DB_TYPE'=〉'mysql', 'DB_HOST'=〉'localhost', 'DB_NAME'=〉'MTSIMS', 'DB_USER'=〉'root', 'DB_PWD'=〉'123456', 'DB_PORT'=〉'3306', 'DB_PREFIX'=〉'lu_', );
?〉
6關鍵技術介紹
本章主要介紹系統開發中應用的關鍵技術和解決的技術難題,主要介紹了微 信功能實現以及利用微信進行GPS定位有關技術。
6.1 微信功能實現相關技術
實現微信系統的正常使用,需要將系統封裝在微信內置瀏覽器中,使微信能 夠正常調用MTSIMS。微信信息流:手機微信f微信平臺f網站后臺f微信平臺 一手機微信。這整個過程其實就是手機微信和網站后臺的通信,只是中間插入了 一個微信中介平臺。后臺代碼和微信平臺之間的所有關聯,有2種類型的交互: 第 1 種就是當用戶在移動端點擊公眾號而觸發的各種動作,這種類型的交互式有 用戶發起,經微信平臺轉發給我們的后臺程序,我們只需要在后臺程序里獲取到 這個消息并給出一個相應就可以;第二種是由我們的后臺程序主動出發的,例如 生成菜單、獲取access_token等,都是我們的后臺程序主動發起,然后調用一 個 API 借口,這類操作需要我們自己準備請求數據并且發起一個 POST 或者 GET 請求。
ThinkPHP作為一個服務器端的腳本語言框架,自身沒有提供直接的發送GET 請求和POST請求的輔助類,需要我們自己寫。本次開發基于cURL庫已提供的功 能來實現POST、GET請求的發送°cURL是command URL,也就是使用URL語法進 行網絡數據的命令行工具和庫,其支持很多協議,如HTTP、FTP、 TELNET等。 cURL是一種很強大的庫[70],支持很多不同的協議、選項,能提供URL請求相關 的各種細節信息,可以實現很多的網絡相關功能。MTSIMS微信封裝部分代碼示 例如下: <?php
$ch = curl_init(); // 初始化
//設置選項,包括 URL $post_data=array( "foo"=〉"bar", "query"=〉"Nettuts", "action"=〉"Submit" );
// 設置 URL 和相應的選項
curl_setopt($ch, CURLOPT_URL, ""http://localhost/MTSIMS/index.php?s= /Public/login");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1); //設置 post 請求,沒有設置的則為
get請求
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); // 需要發送的 post參數
$output=curl_exec($ch); //執行并獲取 HTML 文檔內容
curl_close($ch); //關閉cURL資源,并且釋放系統資源
?〉
有了通用的發送POST請求和GET請求的方法,就可以輕易調用任何微信平臺接 口。
微信調用PHP接口,給出一個前端js調用的方法如下,顯示效果如下所示:
〈script src二"http://res.wx.qq.com/open/js/jweixinT.2.0.js"〉</script〉 〈script type二""javascript/text""〉
var wx_data = <?php echo json_encode($output['jsapi_config']); ?〉; var member_info = <?php echo
json_encode($output['member_info']);?〉;
wx.config(wx_data);
if($.isEmptyObject(wx_data.appId)){
alert('請在微信中打開');
}
var mtsims= {
title : ""<?php echo $output['id_info'][0]['id_name'];?〉"",
imgUrl : id_img,
link :"<?php echo $output['link_url']; ?〉"",
success: function(){
},
cancel: function(){
}
};
wx.ready(function () {
wx.onMenuShareAppMessage(mtsims); wx.onMenuShareTimeline(smtsims);
});〈/script〉
器鬻d'.Ml"』冷 X ® ®66%«• 20:17
X MTS I MS …
生 O"O8M<MT5IMS)
I學生登錄I學院首頁I學校首頁
A后臺管理登陸
帳號: admin
密碼: •••••
-二 飆碼:
Copyright © 2018 Mavyn Chown All Rights Reserved.
圖 6-1 微信顯示效果示例
Figure 6-1 Examples of the display on Wechat
6.2 GPS 定位技術
MTSIMS 應用中(學生考勤、足跡、跑步類、實習單位地址等),地理位置 獲取是基礎性功能。在簽到區域精度要求不高的前提下,移動設備的地理位置信 息是最便捷的位置判定機制。[71]本節重點討論微信的學生信息管理系統的定位功 關鍵技術難點。說明微信調用手機GPS組件實現學生GPS地理位置信息定位的具 體細節和開發過程。
在實現位置定位的功能開發中,有幾種選擇:HTML5新加入位置定位功能、 手機GPS定位、微信APP調用手機GPS定位。出于降低難度和便于與現有系統整 合的考慮,選擇微信進行二次開發。
6.2.1微信API獲取用戶位置
微信需要添加一個定位功能,主要的就是獲取用戶位置的經緯度,然后根據 用戶經緯度進行一些判斷操作。
在微信提供的API中,獲取用戶定位信息的主要API是wx.getLocation (obj)。但是使用這個API,會先獲取用戶授權。如果用戶取消授權,那么再 調這個API,也不會再出現授權頁面,也就不能再獲取用戶位置了,這就需要使 用其他的 API 輔助打開授權頁面了。所以獲取用戶位置就需要完整的授權、獲取 位置了。獲取GPS定位數據業務流程圖如圖6-2下:
圖 6-2 微信獲取 GPS 定位數據業務流程圖
Figure 6-2 Business flow chart of gps positioning data acquisition by Wechat
頁 面 加 載 默 認 調 用 wx.getLocation, 然 后 如 果 獲 取 失 敗 則 調 wx.getSetting,如果未授權,則調用wx.openSetting打開授權設置界面,如果 授權界面設置允許授權,則返回頁面再次調用wx.ge tLoca tion。實現代碼如下: const app = getApp()
Page({
data: { hiddenReAuthorizePop:true,//隱藏重新授權確認彈窗 latitude: """", //維度,浮點數 longitude: "", //經度,浮點數
con ten t:"本活動需要獲取位置才可以參加"
}, onLoad: function() {
//I.頁面加載的時候獲取定位 this.getLocation()
},
/*** 1. 獲取用戶定位 */ getLocation: function。{
var self = this;
wx.getLocation({
type: 'wgs84', //默認為wgs84的gps坐標,如果要返回直接給 openLocation用的坐標,可傳入'gcj02'
altitude: true, //傳入true會返回高度信息,由于獲取高度需要較高精 確度,會減慢接口返回速度
success: function(res) {
var latitude = res.latitude; // 緯度,浮點數 var longitude = res.longitude; // 經度,浮點數 self.setData({
latitude: res.latitude, longitude: res.longitude
})
},
fail: function(res) {
//未授權就彈出彈窗提示用戶重新授權 self.reAuthorize();
}
});
},
/** *1.2重新授權按鈕點擊事件* click event */ openLocationSetting: function() {
var self = this
//先獲取用戶的當前設置,返回值中只會出現微信已經向用戶請求過的權限 wx.getSetting({
success: function(res) {
if (res.authSetting && !res.authSetting["scope.userLocation"]) {
//未授權則打開授權設置界面 wx.openSetting({
success: function(res) { if (res.authSetting && res.authSetting["scope.userLocation"]) {
//允許授權,則自動獲取定位,并關閉二確彈窗,否則返回首 頁不處理
self.getLocation(); self.setData({ hiddenReAuthorizePop:true
}) wx.showToast({ title: '您已授權獲取位置信息',
icon: 'none'
})
}else{
//未授權就彈出彈窗提示用戶重新授權 self.reAuthorize();
}
}
})
} else {
//授權則重新獲取位置新(授權設置界面返回首頁,首頁授權二確彈 窗未關閉)
self.getLocation();
}
}
})
}, 一
/***重新授權*/
reAuthorize:function(){
var self=this
self.setData({ hiddenReAuthorizePop:false})
}
})
6.2.2微信調用第三方地圖查看位置 用戶進入微信,系統獲得地理位置獲取授權后,將位置數據進行保存,在用 戶調用第三方地圖APP動作出發后,微信內置瀏覽器打開第三方應用,并將位置 數據通過接口傳遞給第三方應用APP,用戶可在第三方APP進行進一步操作。微 信調用第三方地圖APP查看學生GPS定位數據業務流程圖如6-3所示。
6.2.3地圖數據保存
對 GPS 定位數據進行提取處理后,需要將數據保存在數據庫中,方便后期 的使用。本設計將GPS定位數據存儲部分作為后臺數據庫,不僅作為定位數據的 容器,同時還可以隨時隨地訪問數據庫與進行增、刪、改、查等操作。數據成功 存入數據表及定位查詢效果,如6-4,6-5所示。
UID datatime
12018 04-10 OOtOOOO
2201B-04-05 09120123
32018-04-05 092023
42018 04*05 092023
? S 2018-04-05 09:2023
62O1B-O4-O5 09^023
72018 04-05 09:2023
8201B-04-05 092023
92018-04-05 09:2023
102018-04 05 092023
112018-04-05 09:2023
122Q18-O4-O5 09:2023
132018-04-05 09;20;25
14201B-O4-OS 0920^5
152018-04-05 09^(126
162018 04-05 W-.20-27
17201B-04-05 09202B
182018-04-05 09^29
192018-04-05 09:20:29
圖 6-4 數據成功存入數據庫示例
Figure 6-4 An example of data successfully stored into a database
6.3 系統安全防范
6.3.1 數據庫安全防范 由于學生信息中的學籍信息、學生家庭信息等屬于隱私信息,所以在系統數 據庫中要加強數據安全管理。
(1) 自動化定期備份數據庫。通過設置定時任務,系統在每天的 23 點會執 行自動化備份腳本。當有不可抗拒因素導致系統被攻擊后,可以通過還原備 份數據來避免學生信息丟失。
(2) 防止 SQL 注入攻擊。在前臺用戶操作頁面,對于用戶提交的數據,統 一經過系統的 SQL 過濾器進行過濾操作,防止非法用戶通過 SQL 注入而非法 獲取學生信息。
6.3.2 網站頁面安全防范 由于該系統是要面向互聯網用戶,若用戶提交非法數據,網站會存在安全隱 患。所以在系統前臺頁面要加強安全防范。
(1) 防止 XSS 跨站腳本攻擊。通過對網站前臺表單提交過濾非法 JavaScript 相關標簽,保證提交的表單數據安全。
(2) CSRF 表單校驗。在網站表單提交頁面,會生成一個 CSRF 的 token 安全 校驗字段,當有用戶向網站進行非法提交時,網站后臺會對 token 進行校驗, 校驗不通過則禁止用戶提交。
(3)防止網絡爬蟲。由于網站會公布相關學生工作信息,若網站頁面信息 被網絡爬蟲獲取,會存在學生信息泄露的問題。所以網站會通過屏蔽短時間 頻繁訪問 IP 和校驗數據請求令牌等方式來防止網絡爬蟲。
6.3.3系統角色權限管理
系統對角色采取了 RBAC權限管理。在學生管理系統中,為了保證數據安全, 需要設置相應的權限。不同的角色擁有不同的權限,這在系統后臺進行設置,示 例如圖 6-7所示。當用戶訪問某項功能的時候,系統檢查當前用戶權限不足,則
7系統測試
7.1 系統環境描述
軟件測試是軟件開發生命周期過程中最重要的部分。它是評估系統或其組成 部分功能是否符合開發要求的過程。[56]完成了代碼開發工作后,需要對系統進行 功能驗證,本節對系統驗證軟硬件環境進行詳細介紹,共以后考法進行參考。
(1)測試環境的網絡拓撲結構
Figure 7-1 System hardware topological environment
(2)系統配置
談到系統環境,就是指系統運行的軟件環境和硬件環境,MTSIMS采用的軟 硬件環境如下表標所示:
表 7-1 系統軟件環境
Table 7-1 Software Environment
軟件名稱 軟件環境
客戶端操作系統 Win7/8/10, Android,微信
開發環境 NetBeans 8.0
服務器 Wamp Server
數據庫 MySQL
瀏覽器 主流瀏覽器 手機瀏覽器 微信內置瀏覽器
服務器炒作系統 Centos7.4
表 7-2 系統硬件環境
Table 7-2 Hardware Environment
硬件名稱 詳細配置軟件環境
CPU Intel(R)Core(TM)i5-4570S CPU @2.90GHZ 2.90GHZ
系統內存 8G
硬盤容量 500G
7.2 系統功能測試
測試軟件的方法采用兩種:黑盒測試和白盒測試法。
軟件測試分為單元測試,功能測試,性能測試,集成測試和驗證測試。單元 測試屬于白盒測試,其他測試屬于黑盒測試現對MTSIMS開發的系統進行功 能測試,內容包括是否符合預期功能,代碼設計是否符合規范,系統邏輯是否正 確,確保系統開發達到質量要求,經過大量測試后,對系統開發過程中發現的一 系列問題進行修正。
黑盒測試法(又稱功能測試法)就是要把程序當成一個黑盒子,即不考慮程 序內部結構以及他的處理過程,只是在程序接口處進行的測試,它只能檢查出程 序的功能是否按照說明書上的規定正常運行。
白盒測試法(又稱結構測試法)這種方法是把程序當成是一個裝在透明的白 盒子里,也就是對程序的結構和處理過程完全了解,通過這種方法,按照程序內 部的邏輯進行測試,可以檢驗程序中的每條通路能否按照預定要求正確工作。[73]
經過這樣的軟件測試也并不能說明程序就是完全正確的,但可以通過測試增 加軟件的可靠性,設計一個好的測試方案對于系統軟件是非常重要的。
7.2.1軟件功能的測試
軟件黑盒測試是獨立于軟件內部結構的任何產生測試用例的方法。[74]
(1)系統子模塊間跳轉測試
當跨平臺學生信息管理信息系統幾個計劃開發的子模塊完成后,需要對開發 的系統進行功能驗證,確保所有頁面邏輯關系正確且頁面跳轉正確,保證不出現 頁面跳轉錯誤或者無法正常打開,影響用戶使用體驗。
經測試,系統可以個連接間可以正常跳轉,符合預期。
點擊“添加
圖 7-2 跳轉效果示例
Figure 7-2 An example of web redirection
(2) 設備兼容性測試 測試跨平臺學生信息管理系統是否能夠按設計在 PC 端、微信正常顯示(如
第四章示例圖所示)。用不同設備打開后,觀察系統個模塊顯示比例,模塊尺寸, 顏色,字體,顯示內容、版式布局是否正確。
(3) 模塊測試 測試調用數據庫是否能正確顯示學生信息,對學生個人信息,考勤信息,公
寓考勤信息顯示是否正確,數據是否正確。
個人精力及能力所限,只對系統進行了基本功能的實現。雖然只是實現了大 部分模塊,但是系統的關鍵技術得以實現,為以后系統的完整開發做好了技術保 證和驗證。下面通過幾個圖表對驗證功能結果進行說明:
(1)用戶登錄模塊:主要測試學生信息驗證是否準確,跳轉是否準確,對 菜單管理,字典管理,權限管理進行驗證。
表 7-3 系統登錄模塊驗證
Table 7-3 Verification of system login module
驗證序
號 驗證功能 驗證內容 驗證輸入 預期輸出 實際情
況
1 學生登錄測 驗證學生信息進行相應 驗證信息登入學生信息 跳轉學生信息管理 與預期
試 權限界面 管理界面 界面 相符
2 管理員登錄 驗證學管人員信息進入 驗證信息登入學管人員 跳轉管理員信息管 與預期
測試 相應權限界面 信息管理界面 理界面 相符
(2)學生上課考勤系統模塊
對進入子系統是否正確,驗證查詢信息是否正確,驗證學管人員權限下學生、 全班信息查詢是否準確。
表 7-4 學生上課考勤系統驗證
Table 7-4 Verification of student attendance system
驗證編
號 驗證功能 驗證內容 驗證輸入 預期輸出 實際情況
1 學生維護考勤信息 數據查詢學生考勤信息并顯示 學生請假表 學生請假表 與預期相
符
2 學管人員查詢個人 數據庫查詢學生考勤信息并顯 某個學生信 學生個人考勤 與預期相
考勤信息 示 息 信息 符
3 學管人員查詢班級 數據庫查詢某一班級考勤信息 某個班級信 某一班級考勤 與預期相
考勤信息 并顯示 息 信息 符
圖 7-4 學生維護個人請假信息示例
FFigure 7-4 An example of updating student personal leave information
(3)學生公寓考勤系統模塊:對進入子系統是否正確,驗證查詢信息是否 正確,驗證學管人員權限下學生、全班信息查詢是否準確。
表 7-5 學生公寓考勤系統驗證
Table 7-5 Verification of student apartment attendance system
驗證序
Li?解紳知瞻砂 "" ian^l
^sel 5213
?i*ww - ijm+: TlfffflllF i
-txini
2?WE1
:tfi-m r MKB 込 H <w ES Hi
■4 "有SS 、確 y " j
•B申■舉 -S
畫
輸入學號查詢請銷假
C
ilriilf **- wj u -iifilliWI-惑 -ISIItti-vj 旳
□ — HI
l«
□Q to" □ iiAM' 0 aAvt Q isdnaa i i
口 Z y* b=c s» »«* er低
□* «5MS H« iso V aMMssnEhhm^js »ii».}Mi?aiS' mitt^ni-uix mikjd rHfflHm
圖 7-5 管理員查詢學生請銷假情況示例
Figure 7-5 An example of administrators'queries on students' leave requests
4)調用數據庫測試
數據庫操作最易出現的兩種錯誤是:輸入數據不能保持一致性的錯誤和輸出 錯誤。當使用者在維護數據庫數據時,輸入信息不正確會引起數據不一致的情況 發生,由于網絡速度快慢不一致或者程序設計存在邏輯錯誤則會引起輸出錯誤, 測試分別就這兩種情況進行了測試。測試的方法是通過各個終端執行了多種類型 的具體的 SQL 語句查詢,通過返回結果判斷是否符合具體的要求,以及是否存在 邏輯錯誤問題。測試同時對測試數據在查詢時的響應時間上進行記錄,以此為依 據來優化 SQL 查詢語句。
7.2.2系統運行性能的測試 簡單的白盒測試方法需要程序中的單個元素執行。這些方法包括語句和分支 覆蓋,這是最早的,也是最常用的白盒方法。[75]
(1)測試響應速度 根據以往經驗軟件、硬件、網絡這三個因素是影響連接速度的主要因素。如 果對數據進行簡單的操作,要求系統盡量在最短的時間內做出最快的響應;當數 據進行稍復雜的功能時,要求在用戶在能夠允許的時間限度內盡可能完成更多的 用戶需求。在系統效果和效率之間進行測試來尋求平衡,本系統用 Chorme 自帶 開發者工具進行測試。
圖 7-6 頁面響應時間測試
Figure 7-6 Pages of response time test
(2)測試負載能力
檢測過程中,通過大量的用戶同時登錄MTSIMS,觀察系統的反應速度、檢
測系統的負載量和系統在超過最大連接數以后的多久出現錯誤提示信息來檢測 系統的負載和抗壓能力,這樣可以有效控制系統正常使用后,通過系統檢測當前 系統的登錄人數,以及檢測在線人數,如果超出系統能容忍的上限,系統將終止 登錄,并提示用戶要求等待,這樣的檢測方法是為了有效的保證系統正常運行, 更能有效的反應系統的健壯性。
7.2.3安全性能測試
作為一個學生信息管理系統,其數據庫的開放性,對系統的安全性要求更高, 為確保學生個人信息有更高的保密性,確保系統能夠更加安全的運行,MTSIMS 進行了以下三個方面的安全測試工作。
(1) 檢測用戶認證的安全 首先在系統建立過程中,明確地劃分出各個用戶的權限,這樣的做法可以保
證在測試的過程中系統中的各個用戶之間不會出現沖突。對于MTSIMS中各類用 戶的身份信息應該是由以下幾個字段組成:用戶登錄的賬號、密碼、權限等,將 這些字段,以一個數據表的形式存入數據庫中,每次用戶登錄都需要輸入登錄賬 號和密碼,通過表單將用戶輸入的賬號和密碼提交到數據庫,再通過數據庫中訪 問到的該數據表,進行比對標識。
在使用過程中,如果要對用戶權限進行修改,也要先鎖定用戶,防止修改過 程中用戶登錄而造成了系統因用戶權限的改變的混亂。設置的用戶登錄密碼應為 不可見、不可復制的形式,保證地址欄中輸入絕對路徑,用戶不能成功的登陸系 統;當用戶正常退出系統以后,MTSIMS自動恢復到上次成功登陸的用戶名,在 重新輸入登錄密碼才并得到驗證通過后可以進入系統。
(2) 檢測網絡安全 檢測網絡中所有的安全措施已經正確地安裝完好,對需要打補丁的地方全部
都已經打完全;通過非授權攻擊網站,檢測網站的防護系統是否夠強大。防止在 網頁中查看源代碼等方式訪問網站。
(3) 檢測試卷頁面的安全 為了更好、更安全地控制試卷網頁的頁面,通過程序將工具欄中刷新、新建
窗體、查看源代碼等按鈕及快捷鍵屏蔽,使工具欄不可用,以保證系統安全性的 操作。
(4) 檢測數據庫的安全 網絡時刻都會有各方面的威脅,任何系統都不可能做到無懈可擊,因此要經
常更新系統安全,以防受到攻擊,MTSIMS可以采用硬件防火墻進行安全防御, 通過針對以上幾項措施的安全檢測,能夠做到盡量使系統避免受到攻擊,但是在 系統長期的使用過程中,還要經常對系統的安全性進行不斷的升級和查漏補缺, 這樣才能有效地保障系統的安全,保證管理的數據在一個穩定安全的環境中運 行。
圖 7-7 學生登錄進行個人信息維護
Figure 7-7 Student update personal information
7.2.4系統壓力測試 系統由于面向高等職業院校的學生數量比較多,當在學期開始或者結束等時
間段,系統會被較為頻繁的訪問,系統必須具備一定的穩定性,否則會因為用戶 訪問量過大導致網站癱瘓,嚴重影響工作效率。所以需要對系統進行壓力測試。
我 們 選 用 LoadRunner 來 對 系 統 進 行 壓 力 測 試 。 我 們 分 別 模 擬 人 數 為 100,300,500,1000,3000 人進行測試,測試標準為系統的響應時間和響應次數。 測試結果如下:
表 7-6 壓力測試結果
Table 7-6 The Test Of Usage
模擬人數
響應時間(S)
模擬次數/響應次數
號
7.3 總結
經過測試,對代碼的機構和邏輯進行了驗證,修正了大部分bug。MTSIMS 問題統計分析表如表 7-7 所示。
表 7-7 MTSIMS 問題統計分析表 Table 7-7 Statistical analysis of MTSIMS
序號 問題 數量
1 代碼行數 343565
2 文件數 1326
3 提交 bug 總數 73
4 Bug 密度 0.0002
5 關閉 bug 數 61
6 遺留 bug 數 12
7 遺留 bug 比例 0.164
8 測試用例數 1000
9 測試用例密度(個/行) 0.0029
經過針對跨平臺學生信息管理系統嚴格測試,MTSIMS能夠保證了按照系統 預期開發需求進行操作反饋,系統完整性己經不存在明顯bug。各項測試結果證 明功能已符合要求。經過在主機上長時間模擬運行,系統未發生明顯錯誤。系統 前端界面顯示友好,手機、微信、PC端能夠正常操作。系統各個功能模塊能夠 正常運行,在數據插入、維護、刪除,各組件調用中可以實現便捷操作,數據庫 由專人維護,數據的安全性未出現問題。
經過軟件模擬測試,可以判定該系統可以達到了預期開發需求,但是MTSIMS 在美觀度和功能設計上有待改進和完善。MTSIMS在高校學生信息管理實踐運用, 一定能夠明顯提高學生日常管理效率并且對學生良好上課秩序和良好習慣養成 起到積極作用。
8總結與展望
本文討論了跨平臺學生信息管理系統的設計與實現。該跨平臺系統采用成熟 的B/S架構,基于ThinkPHP框架,使用MVC模式進行開發。系統后臺用PHP語 言編寫。系統前臺界面使用最新網頁語言HTML5編寫,能夠自動在不同平臺上以 適當比例顯示。數據的存儲采用了開源數據庫MySQL數據庫,方便對數據進行管 理。結合當下流行微信平臺,通過微信二次開發完成系統在微信的正常使用,通 過調用微信GPS定位功能接口,完成對學生地理位置的實時定位。
跨平臺學生信息管理系統由12 個功能組成:學習上課紀律考勤功能、學生 個人信息管理功能、學生學費繳費功能、學生助學貸款功能、公寓考勤功能、社 團活動信息功能、勤工儉學信息功能、工作就業推薦跟蹤功能、日常生活衛生監 督功能、學生評優功能、移動端PC端師生溝通即時聊天功能以及學生特別情況 信息預警功能。目前只是對系統的基礎和跨平臺有代表性及關鍵功能進行實現: 學習上課紀律考勤功能、學生個人信息管理功能、公寓考勤功能、社團活動信息 功能、日常生活衛生監督功能、學生評優功能進行實際開發。這6 個模塊包含了 MTSIMS開發的PC端、移動端、微信實現、數據庫開發、GPS調用、定位、存儲 等關鍵技術,這幾個主要功能的實現為MTSIMS完全開發打下基礎,在系統得到 更進一步論證后,進行更加全面完善的開發,并將其運用到學生信息管理實踐中。 整個系統沒有進行專業美化,只是對具體功能進行了實現。經過系統測試,結果 表明本系統達到了預期效果,可在PC端、智能移動設備端正常顯示,學生信息 查詢維護可以正常使用。跨平臺學生信息管理系統將大大提高高校學生信息管理 的工作效率。
雖然MTSIMS系統能夠在多種設備終端使用,提供了工作效率,簡化了工作 流程,但是目前還存在一些問題。
(1)未能夠充分挖掘微信相關的 API 功能,比如微信登錄功能。下一步將在 系統中加入微信登錄功能,這樣能夠免去用戶注冊登錄的流程,操作更加方便快 捷。
(2)由于學生信息會隨著時間而逐漸增多,目前數據庫還是單機存儲。這樣 隨著系統后期的運行,學生信息數據的增加,會導致系統運行速度的下降。因此 后期引入分布式數據庫,利用主從原理,將較新的數據放置到M as ter數據庫, 舊數據放置到 Slave 數據庫,提高系統運行速度。
(3)部分功能模塊頁面交互性較低,下一步將美化頁面效果,提高頁面交互。
致謝
在導師劉勇老師的悉心指導和幫助下,本人才能夠完成本次論文的寫作,尤 其在系統功能開發的實現上,導師為我做了詳細的需求分析并指明了具體操作步 驟,每次和導師的交流都讓我受益匪淺,在此向劉勇老師致意衷心的感謝,感謝 老師在軟件開發技術上對我的耐心指導,感謝為我答疑解惑。劉勇老師對計算機 軟件開發技術的學術造詣,嚴謹的治學態度,對學生的悉心指導讓我深有感觸。 老師從選題到最后定稿,在每一個關鍵節點上給予了無微不至的關懷和指導,在 論文寫作期間,老師多次提出修改意見,引導我最后完成本文的寫作。我愿意在 以后的學習、人生道路上以老師的崇高追求為指向,成為老師治學授業的追隨者。
同時在此向本人所在單位領導和同仁給予我的關心支持和幫助表示感謝,感 謝在論文寫作過程中給予的照顧。
最后,再次向我的授業恩師劉勇老師表示最崇高的敬意和發自內心的感謝, 向關心幫助我的朋友們表示衷心感謝!向給予引用權和轉載權的資料、圖片和文 獻等的所有者表示衷心感謝!
參考文獻
⑴李偉林.基于SOA的數字化校園平臺研究與應用[D].中山大學.
[2]蘭麗娜.基于web, Wi-Fi和Android的考勤與通信系統的開發[D].河北科技大學,2013.
[3]柴晶鑫.大學生手機依賴行為意向及影響因素研究[D].吉林大學,2017.
[4]蔡娟.基于Android手機客戶端考勤管理系統的設計與實現J].智富時代,2016 (s2).
[5]唐靜.互聯網時代大學生管理信息化研究一一以釘釘軟件為例J].內蒙古科技與經 濟,2018,417(23):63-64.
[6]Ausiello Karley,Wells Barry.Information Technology and Student Affairs: Planning for the Twenty-First Century [J] . New Directions for Student Services, 1997: 71-81.
[7]LWill Barratt.Four Elements of Information Technology in Student Affairs, Student Affairs On-Line, Fall 2000 Vol. 1, No. 3.
[8]符娟明.美國大學的科學研究J].比較教育研究,1985(3) :1-7.
[9]LWill Barratt.Managing Information Technology in Student Affairs: A Report on Policies, Practices, Staffing, and Technology, Higher Education, 2001.
[10]Amy J Lueck.Available Technologies for Changing Student Needs: Using Technology to Reach Graduate Students on our Campuses Doctoral Student,The Journal of Technology in Student Affairs ,2013.
[11]曹成海.高校迎新系統的設計與開發[D].南昌航空大學,2018.
[12]趙琴,趙偉強,郝偉臣.國內外高校學生工作信息化管理的主要特點與啟示J].中國教育 信息化,2009(07):9-12.
[13]王曉娟.學生工作管理信息系統設計與實現[D].西安電子科技大學,2013.
[14]李曉一.我國高校輔導員隊伍專業化建設對策研究[D].東北大學,2008.
[15]趙琴,趙偉強,郝偉臣.國內外高校學生工作信息化管理的主要特點與啟示J].中國教育 信息化,2009(07):9-12.
[16]丁琴花.中學班級網絡化管理模式的研究與實踐[D].蘇州大學,2010.
[17]國外的教育信息化經驗[J].湖北教育(政務宣傳),2013 (12) : 53-53.
[18]王琴娣.基于.NET的高職院校學生工作管理系統的研究與設計[D].浙江工業大學.
[19]陳前飛.武警院校學員信息綜合管理系統設計與實現[D].電子科技大學,2014.
[20]朱建良.信息化背景下高校學生信息管理創新研究[D].寧波大學,2013.
[21]欒嵐.營口職業技術學院學生管理信息化研究[D].武漢工程大學,2016.
[22]王暉,顧幗華.塑料浮選[M].中南大學岀版社,2016.
[23]紀文煜.基于信息化背景下高職課堂教學模式的研究J].科教文匯(中旬 刊),2019(02):121-122.
[24]李飛.中美高校學生事務信息化比較J].產業與科技論壇,2011, 10(12) :235-236.
[25]李引.基于智慧校園的高職院校學生工作模式探索與研究[J].常州信息職業技術學院學 報,2018,17(03):53-55.
[26]方獻梅.基于ASP. net的學生信息管理系統的設計與實現J].科技信 息,2010,02(23):86-86.
[27]趙津蘋.基于智能終端的跨平臺學生信息管理系統設計與實現[D].東北大學,2015.
[28]梁國健.基于Ajax技術和HTML5的實驗室管理系統的設計與實現[D].中山大學.
[29]廖琳.決策樹在學生信息管理系統中的應用研究[D].廣西大學,2014.
[30]周黎寧.互聯網+時代PHP動態網站開發技術J].科技風,2019(04) :82.
[31]林定殷.對動態網頁開發技術的分析[J].信息與電腦(理論版),2019 (01) :11-12.
[32]Misek J,Zavoral F . Semantic analysis of ambiguous types in dynamic languages[J]. Journal of Ambient Intelligence & Humanized Computing,2018(3):1-8.
[33]林偉哲,周偉波.變壓器故障在線監測的一種方法J].計算機時代,2015(1):35-37.
[34]孫妍.高職高專院校成人教育學院學籍管理系統J].電腦編程技巧與維 護,2013(22):28-29.
[35]李學強,李菊紅.安全環保綜合信息管理系統的研究與應用[J].安全、健康和環 境,2009,9(6):21-22.
[36]魏志盛.基于WAMP環境搭建的MV音像商城系統設計與開發[D]. 2016.
[37]Mark Pilgrim.HTML5:Up and Running[M].O'Reilly Media,2010.
[38]Yu W,Xu Y,Sundhararajan M,et.al. Research on the application of HTML5 in the development of mobile internet[J]. Journal of Intelligent & Fuzzy Systems, 2018, 34(2):945-954.
[39]陳穎,段敏娟.基于HTML5的網頁設計與制作研究[J].無線互聯科 技,2018,15(23):28-30.
[40]Crowther R, Lennnon J,Blue A .HTML5 in Action[J].2014.
[41]馬桂靜.成人高校校園網建設方案J].遼寧行政學院學報,2004,6(6) :115-116.
[42]朱大維.基于PHP技術的動態網站設計[J].電腦知識與技術,2012 (36).
[43]胡木蘭.基于JSP技術的精品課程網站的設計與實現J].無線互聯科 技,2012(5):116-116.
[44]郭紅芳,孟克勛,梁卓明.基于代理服務器的校園網絡收費管理系統[J].華南師范大學學 報(自然科學版),2003(4):60.
[45]吳歡歡.基于Web的智能路燈監控軟件的設計與實現[D].杭州電子科技大學.
[46]Yu X ,Yi C . Design and Implementation of the Website Based on PHP & MYSQL[C]// 2010 International Conference on E-Product E-Service and E-Entertainment. IEEE, 2010.
[47]盧健.面向文本的主題挖掘技術與實現[D].濟南大學.
[48]易威環.NetBeans IDE 中整合 struts2+hibernate [J].電腦知識與技術,2011, 07 (15).
[49]The Apache Software Foundation.Welcome to the NetBeans Community [online].https://netbeans.org/about/index.html.2019.
[50]陳斌.消防安全“網格化”手機巡查終端APP開發[D].華南理工大學,2015.
[51]肖鐘秀.NetBeans平臺下數據庫連接方法探索[J].電腦編程技巧與維 護,2017(19):63-65.
[52]薛健.面向圖書館微信服務平臺的設計與實現[D].2014.
[53]楊飛.高職校辦公設備管理及故障報修系統設計與實現[D].2015.
[54]Zhang T,Zhao L T,Cao Y W,et.al. Realization and Design of Office Website Based on ThinkPHP Framework[J]. 2017.
[55]Cui W, Huang L,Liang L,et.al. The Research of PHP Development Framework Based on MVC Pattern[C]// 2009 Fourth International Conference on Computer Sciences and Convergence Information Technology. IEEE Computer Society, 2009.
[56]王攀,田豐.基于WebGL的全景交互內容創作平臺[J].電視技術,2015, 39(19).
[57]Yang L, ZhangJ, Geng X,et.al. Researchand Application of Mobile Agent and Struts 2 Integration Framework Basedon MVC[C]//International Conference on Computational & Information Sciences. IEEE, 2011.
[58]于榮月.中學教育類微信公號的傳播效果研究[D], 2017.
[59]http://www.wampserver.com/en/.2019.
[60]鄧蔚.Ruby完全自學手冊[M].機械工業岀版社,2009.
[61]萬雪瑩.銀行客戶關系管理系統設計與實現[D].2016.
[62]閆俊英.呼和浩特市第二中學圖書管理系統的設計與開發[D].內蒙古師范大學,2008.
[63]陳振卓.基于智能手機的岀租車預約便民服務平臺設計[D].湖南大學.2014.
[64]馬毅聰.基于Agent的協同辦公OA系統的設計與實現[D].湖南大學.2015.
[65]陳亮.即時通訊系統的設計與實現[D].南京郵電大學.2017.
[66]石敏,盧丹海,秦婷.基于大數據的高校學生分析與服務平臺的研究[J].信息技 術,2019(2).
[67]王春超.基于J2EE架構的SSH組合框架的研究[D].長春理工大學,2010.
[68]YAN-NAN JIANG,JUN ZHANG,WEI XIANG.Design and Implementation of multi-terminal Ecological Yak Information Management System Based on Android System[C].2017 International Conference on Electronic and Information Technology (ICEIT 2017),2017.
[69]Tamilarasi T,M.Prasanna.Research and Development on Software Testing Techniques and Tools[J].Encyclopedia of Information Science and Technology, 2018,11.
[70]黃宇鵬,李陶深,岑霄.校園網私有云存儲系統PC端與OpenStack交互的實現[C]//廣西 計算機學會2014年學術年會論文集.2014.
[71]馬尚寅,高關心,劉嘉吉,et al.基于微信的考勤管理系統身份認證及位置識別方法的實 現機制[J].計算機與現代化,2017(3).
[72]Jia X Y,Li S H.[IEEE 2010 International Conference of Information Science and Management Engineering - Shaanxi, China(2010.08.7-2010.08.8)] 2010 International Conference of Information Science and Management Engineering - Research and Realization of Automatic Testing in the Application Software[J]. 2010:351-353.
[73]楊永順,陳全功,楊麗娜,et al.基于WebGIS的《中國草業開發與生態建設專家系統》的 開發[J].草業科學,2007, 24(10):31-35.
[74]Ostrand T. Black - Box Testing[M]// Encyclopedia of Software Engineering. John Wiley & Sons, Inc. 2002.
[75]Ostrand T. White-Box Testing[M]// Encyclopedia of Software Engineering. John Wiley & Sons, Inc. 2002.