版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 題 目:基于百度云平臺(tái)的校外實(shí) </p><p> 習(xí)管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)</p><p> 院 (部):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院</p><p> 專(zhuān) 業(yè):軟件工程</p><p> 班
2、 級(jí):軟件123</p><p><b> 姓 名:李娜</b></p><p> 學(xué) 號(hào):20121112090</p><p><b> 指導(dǎo)教師:伊靜</b></p><p> 完成日期:2016-05-26</p><p><b>
3、 目 錄</b></p><p><b> 摘要V</b></p><p> ABSTRACTVI</p><p><b> 1 前言</b></p><p> 1.1選題背景1 </p><p> 1.2系統(tǒng)簡(jiǎn)要說(shuō)明2 </p>
4、<p> 1.3相關(guān)開(kāi)發(fā)技術(shù)簡(jiǎn)介3 </p><p> 1.3.1 MVC設(shè)計(jì)模式3 </p><p> 1.3.2 Android3 </p><p> 1.3.3 Afinal框架4 </p><p> 1.3.4 移動(dòng)互聯(lián)技術(shù)5 </p><p> 1.3.5 實(shí)時(shí)通信技術(shù)5
5、 </p><p> 1.3.6 圖片處理技術(shù)6 </p><p> 1.3.7 語(yǔ)音識(shí)別技術(shù)7 </p><p> 1.3.8 信息緩存技術(shù)7 </p><p> 1.3.9 HTTP協(xié)議8</p><p> 1.3.10 PHP語(yǔ)言8 </p><p><b>
6、 1.4應(yīng)用前景9</b></p><p><b> 2 需求分析</b></p><p> 2.1 任務(wù)概述10 </p><p> 2.1.1 目標(biāo)10</p><p> 2.1.2 開(kāi)發(fā)環(huán)境10 </p><p> 2.1.3 運(yùn)行環(huán)境10 </p&g
7、t;<p> 2.1.4 條件與限制11</p><p> 2.1.5 用戶特征11</p><p> 2.2 數(shù)據(jù)描述11 </p><p> 2.2.1 靜態(tài)數(shù)據(jù)11 </p><p> 2.2.2 動(dòng)態(tài)數(shù)據(jù)11</p><p> 2.3 功能需求12 </p>
8、<p> 2.3.1 業(yè)務(wù)流程圖12</p><p> 2.3.2 功能劃分12 </p><p> 2.3.3 其他功能需求12</p><p> 2.4 性能需求13 </p><p> 2.4.1 數(shù)據(jù)精確度13 </p><p> 2.4.2 時(shí)間特性14</p>
9、<p> 2.4.3 適應(yīng)性14</p><p> 2.5 運(yùn)行需求14</p><p> 2.5.1 用戶界面14</p><p> 2.5.2 硬件接口14 </p><p> 2.5.3 軟件接口14</p><p> 2.5.4 故障處理15 </p><
10、p><b> 3 概要設(shè)計(jì)</b></p><p> 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)16</p><p> 3.2 功能概要設(shè)計(jì)16 </p><p> 3.2.1模塊功能描述16</p><p> 3.2.2 系統(tǒng)用例圖18 </p><p> 3.2.3目標(biāo)業(yè)務(wù)時(shí)序圖19&l
11、t;/p><p> 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)19 </p><p> 3.3.1 概念結(jié)構(gòu)設(shè)計(jì)19</p><p> 3.3.2 邏輯結(jié)構(gòu)設(shè)計(jì)22 </p><p> 3.3.3 物理結(jié)構(gòu)設(shè)計(jì)25 </p><p> 4 詳細(xì)設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn)</p><p> 4.1 系統(tǒng)總體結(jié)構(gòu)26
12、 </p><p> 4.2 系統(tǒng)架構(gòu)設(shè)計(jì)27 </p><p> 4.2.1 Model層的實(shí)現(xiàn)27 </p><p> 4.2.2 View層的實(shí)現(xiàn)27 </p><p> 4.2.3 Controller層的實(shí)現(xiàn)28</p><p> 4.3 系統(tǒng)關(guān)鍵基礎(chǔ)類(lèi)28</p><
13、p> 4.4 百度云數(shù)據(jù)庫(kù)配置29</p><p> 4.5 公共模塊功能設(shè)計(jì)與實(shí)現(xiàn)32</p><p> 4.5.1 登錄功能32 </p><p> 4.5.2 忘記密碼功能34 </p><p> 4.6 考勤功能模塊設(shè)計(jì)與實(shí)現(xiàn)37</p><p> 4.7 統(tǒng)計(jì)分析功能模塊設(shè)計(jì)與實(shí)現(xiàn)
14、44 </p><p> 4.8 一鍵SOS功能模塊設(shè)計(jì)與實(shí)現(xiàn)46</p><p> 4.9 請(qǐng)假審批功能模塊設(shè)計(jì)與實(shí)現(xiàn)50 </p><p> 4.10 通知推送功能模塊設(shè)計(jì)與實(shí)現(xiàn)54</p><p> 4.11 實(shí)時(shí)定位功能模塊設(shè)計(jì)與實(shí)現(xiàn)57 </p><p> 4.12 語(yǔ)音查詢功能模塊設(shè)計(jì)與
15、實(shí)現(xiàn)60 </p><p> 4.13其他功能界面設(shè)計(jì)說(shuō)明63</p><p><b> 5 系統(tǒng)測(cè)試</b></p><p> 5.1 測(cè)試計(jì)劃描述65 </p><p> 5.2 測(cè)試環(huán)境65</p><p> 5.3 測(cè)試結(jié)果及分析65</p><p&
16、gt; 5.3.1 功能測(cè)試報(bào)告65 </p><p> 5.3.2 性能測(cè)試報(bào)告70 </p><p> 5.3.3 安全測(cè)試報(bào)告71 </p><p> 5.3.4 易用性測(cè)試報(bào)告72</p><p> 5.3.5 可靠性測(cè)試報(bào)告73</p><p> 5.4 測(cè)試結(jié)論與建議74</p
17、><p><b> 6 總結(jié)78</b></p><p><b> 謝辭79</b></p><p><b> 參考文獻(xiàn)80</b></p><p><b> 摘要</b></p><p> 校外實(shí)習(xí)是高校學(xué)生都需要經(jīng)
18、歷的一個(gè)教學(xué)過(guò)程,通過(guò)對(duì)這些學(xué)生進(jìn)行及時(shí)有效的管理,確保其人身安全是學(xué)校管理的一個(gè)重要課題,同時(shí)也是一個(gè)難題。</p><p> 本系統(tǒng)是以校外實(shí)習(xí)管理的需求為基礎(chǔ),經(jīng)過(guò)大量實(shí)踐調(diào)查和歸納總結(jié)開(kāi)發(fā)的一套基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)。系統(tǒng)分為兩個(gè)客戶端,教師端和學(xué)生端。學(xué)生端的主要功能是定位當(dāng)前位置、拍攝水印照片、發(fā)送考勤信息、發(fā)送請(qǐng)假信息、一鍵SOS等。教師端的主要功能是 考勤情況查看、考勤情況統(tǒng)計(jì)分析、請(qǐng)
19、假審批、實(shí)時(shí)定位、同地圖定位、通知推送、語(yǔ)音查詢等。</p><p> 本系統(tǒng)以百度云數(shù)據(jù)庫(kù)與手機(jī)客戶端相分離的C/S結(jié)構(gòu)和將業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離開(kāi)來(lái)的MVC設(shè)計(jì)模式進(jìn)行開(kāi)發(fā)。以百度云平臺(tái)為依托,綜合運(yùn)用移動(dòng)互聯(lián)技術(shù)、實(shí)時(shí)通信技術(shù)、圖片處理技術(shù)、信息緩存技術(shù)、百度地圖、百度應(yīng)用引擎、百度云存儲(chǔ)、百度云數(shù)據(jù)庫(kù)、百度媒體云等多種開(kāi)發(fā)技術(shù),實(shí)現(xiàn)了定位、存儲(chǔ)、推送、瀏覽、即時(shí)通訊等功能,實(shí)現(xiàn)了校外實(shí)習(xí)管理的基本需求,
20、擁有很強(qiáng)的可操作性及應(yīng)用前景。</p><p> 關(guān)鍵詞:校外實(shí)習(xí)管理;安卓;C/S;MVC;實(shí)時(shí)通信;XMPP;通知推送;SOS;百度云</p><p> Design and implementation of Practice Outside The College Management System Based on The Baidu Cloud Platform</p
21、><p><b> ABSTRACT</b></p><p> Practice outside the college is all of college students need to experience a teaching process. It is an important problem to ensure the security of stude
22、nts by timely and effective management,it is also a difficult problem.</p><p> This system is based on the requirement of Practic Outside The College Management, after a lot of practice survey and summarize
23、d, and is developed a Practice Outside The College Management System which is Based on The Baidu Cloud Platform.</p><p> This system is divided into a couple of client-side: Teachers’client and Student’clie
24、nt. Some importmant functions for Student’client includes locating the current location, watermark photographs taken, sending attendance information, sending leave the information and one-key SOS function etc. Some impor
25、tmant functions for Teachers’client includes viewing attendance situation, the statistics and analysis of the attendance situation, approval of asking for leave, real-time location, one map locat</p><p> Th
26、is system uses a C/S architecture model where database server based on Baidu cloud and client software is separated from each other, and it uses a MVC design pattern where business logic and data display is separated fro
27、m each other. This system based on Baidu cloud platform, the integrated use of a variety of technologies such as mobile Internet technology, real time communication technology, image-processing technology, information ca
28、che technology, Baidu Maps, Baidu App Engine, Baidu Object</p><p> Key Words:Practic Outside The College Management;Android;C/S;MVC;real time communication;XMPP;push notification; SOS; Baidu Cloud</p>
29、<p><b> 1 前言</b></p><p><b> 1.1選題背景</b></p><p> 校外實(shí)習(xí)是高校學(xué)生都需要經(jīng)歷的一個(gè)教學(xué)過(guò)程,同時(shí)也是學(xué)校教務(wù)管理的一個(gè)重要工作,而對(duì)校外實(shí)習(xí)的學(xué)生進(jìn)行及時(shí)有效的管理是學(xué)生工作人員工作的重中之重。通過(guò)對(duì)這些學(xué)生進(jìn)行及時(shí)有效的管理,確保其人身安全是學(xué)校管理的一個(gè)重要課題,同時(shí)
30、也是一個(gè)難題,其主要原因就是由于時(shí)間、地點(diǎn)等因素,導(dǎo)致現(xiàn)有的管理制度無(wú)法及時(shí)準(zhǔn)確掌握校外學(xué)生的信息。綜合而言主要有以下幾個(gè)方面的問(wèn)題:</p><p> 學(xué)校無(wú)法掌握校外實(shí)習(xí)學(xué)生的考勤情況;</p><p> 現(xiàn)有的考勤制度無(wú)法完成準(zhǔn)確考勤(是否本人簽到);</p><p> 通知下發(fā)不夠及時(shí)方便;</p><p> 校外人身安全難以
31、保障,緊急情況求救不便;</p><p> 請(qǐng)假審批不夠及時(shí)便捷;</p><p> 各班級(jí)考勤情況不能及時(shí)統(tǒng)計(jì)對(duì)比;</p><p> 考勤管理信息化程度明顯不足;</p><p> 難以實(shí)現(xiàn)校外實(shí)習(xí)管理一站式服務(wù)。</p><p> 移動(dòng)設(shè)備的快速發(fā)展給我們帶來(lái)了新的思路。Android系統(tǒng)的出現(xiàn)給智能移
32、動(dòng)設(shè)備帶來(lái)一場(chǎng)新的革命,它的易用性、界面友好性都深深吸引用戶。人們?cè)絹?lái)越希望能在智能移動(dòng)終端上完成之前只能在PC上完成的工作,事實(shí)上Android已經(jīng)做到了這一點(diǎn)。 智能手機(jī)可以通過(guò)連接網(wǎng)絡(luò)方便地實(shí)現(xiàn)定位、拍攝、語(yǔ)音、收發(fā)消息等功能,智能手機(jī)的迅速普及為校外實(shí)習(xí)管理的實(shí)現(xiàn)帶來(lái)了可能。</p><p> 轉(zhuǎn)向云計(jì)算,是業(yè)界將要面臨的一個(gè)重大改變。各種云平臺(tái)的出現(xiàn)是該轉(zhuǎn)變的最重要環(huán)節(jié)之一,我們似乎都看到了個(gè)性化和規(guī)
33、?;耐昝澜y(tǒng)一。云平臺(tái)優(yōu)點(diǎn)眾多:搭建快速、操作簡(jiǎn)捷、智能管理;運(yùn)行穩(wěn)定、安全可靠;彈性擴(kuò)展、節(jié)約成本。將應(yīng)用部署于云平臺(tái)上已成為大勢(shì)所趨。</p><p> 針對(duì)以上存在的幾點(diǎn)問(wèn)題,借助智能移動(dòng)設(shè)備進(jìn)行基于百度云平臺(tái)的校外實(shí)習(xí)管理為學(xué)校教務(wù)管理開(kāi)辟了一種新的管理模式,對(duì)高校提高管理效率,進(jìn)行規(guī)范化、科學(xué)化管理具有重要意義。主要體現(xiàn)在:</p><p> 手機(jī)定位加水印照片考勤,精準(zhǔn)考勤
34、;</p><p> 通知推送功能,通知下發(fā)及時(shí)方便;</p><p> 一鍵SOS功能,緊急求救一鍵完成;</p><p> 請(qǐng)假審批,請(qǐng)假手續(xù)網(wǎng)上辦理;</p><p><b> 考勤情況統(tǒng)計(jì)評(píng)比;</b></p><p> 語(yǔ)音查詢,方便快捷;</p><p&g
35、t; 考勤、請(qǐng)假、求救、評(píng)比,人員管理一站式服務(wù)。</p><p><b> 1.2系統(tǒng)簡(jiǎn)要說(shuō)明</b></p><p> 基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)是高?;A(chǔ)管理系統(tǒng)之一。引進(jìn)該系統(tǒng)將有助于探索新的考勤管理模式,為改善高校學(xué)風(fēng)、營(yíng)造良好的學(xué)習(xí)氛圍提供有力支持。同時(shí),利用移動(dòng)終端將考勤情況信息化,可以減輕相關(guān)人員管理負(fù)擔(dān),輕松便捷實(shí)現(xiàn)高效管理。</p
36、><p> 按照各角色所承擔(dān)的業(yè)務(wù),本系統(tǒng)主要由兩個(gè)功能模塊組成:教師模塊和學(xué)生模塊。其中,教師模塊的主要功能包括:</p><p> (1) 考勤情況查看;</p><p> (2) 考勤情況統(tǒng)計(jì)分析;</p><p><b> (3) 請(qǐng)假審批;</b></p><p><b>
37、 (4) 實(shí)時(shí)定位;</b></p><p><b> (5) 通知推送;</b></p><p><b> (6) 語(yǔ)音查詢;</b></p><p> (7) 接收求救信息。</p><p> 學(xué)生模塊的主要功能包括:</p><p> (1) 定
38、位當(dāng)前位置;</p><p> (2) 拍攝水印照片;</p><p> (3) 發(fā)送考勤信息;</p><p> (4) 一鍵SOS;</p><p><b> (5) 請(qǐng)假。</b></p><p> 該系統(tǒng)兩個(gè)模塊分別擁有自己的客戶端,功能不同,客戶端不同,登錄時(shí)無(wú)需進(jìn)行角色驗(yàn)證。
39、</p><p> 1.3相關(guān)開(kāi)發(fā)技術(shù)簡(jiǎn)介</p><p> 1.3.1 MVC設(shè)計(jì)模式</p><p> MVC模式(Model-View-Controller)是軟件工程中的一種軟件設(shè)計(jì)典范,把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller)。它們各自的功能分別為:</p><p>
40、(1) 控制器(Controller)- 負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求,對(duì)請(qǐng)求進(jìn)行處理。</p><p> (2) 視圖(View) - 界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)。</p><p> (3) 模型(Model) - 程序員編寫(xiě)程序應(yīng)有的功能(實(shí)現(xiàn)算法等等)、數(shù)據(jù)庫(kù)專(zhuān)家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫(kù)設(shè)計(jì)(可以實(shí)現(xiàn)具體的功能)。</p><p> 這種經(jīng)典的模式優(yōu)點(diǎn)眾多,主要包括低耦合
41、性、高重用性和可適用性、較低的生命周期成本、部署快,可維護(hù)性高。</p><p> MVC模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),使后續(xù)對(duì)程序的修改和擴(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用成為可能。除此之外,此模式通過(guò)對(duì)復(fù)雜度的簡(jiǎn)化,使程序結(jié)構(gòu)更加直觀。軟件系統(tǒng)通過(guò)對(duì)自身基本部分分離的同時(shí)也賦予了各個(gè)基本部分應(yīng)有的功能。</p><p> 圖1-1 MVC組件類(lèi)型的關(guān)系和功能</p&
42、gt;<p> 1.3.2 Android</p><p> Android系統(tǒng)架構(gòu)采用了分層架構(gòu)的思想,從底層到上層共有四層:Linux Kernel(Linux 內(nèi)核層)、Android Runtime and Libraries(系統(tǒng)運(yùn)行庫(kù)層)、Application Framework(應(yīng)用程序框架層)和Applications(應(yīng)用程序?qū)樱?。四層架?gòu)分工合作,將Android 打造成一
43、種以Linux 為核心的移動(dòng)平臺(tái)。</p><p> 圖1-2 Android系統(tǒng)架構(gòu)圖</p><p> 1.3.3 Afinal框架</p><p> Afinal 是一個(gè)Android的sqlite orm和ioc框架。同時(shí)封裝了Android中的Http框架,使其更加簡(jiǎn)單易用;使用FinalBitmap,無(wú)需考慮Bitmap在Android中加載的時(shí)候
44、OOM的問(wèn)題和快速滑動(dòng)的時(shí)候圖片加載位置錯(cuò)位等問(wèn)題。</p><p> 目前Afinal主要有四大模塊:</p><p> (1) FinalDB模塊:Android中的orm框架,一行代碼就可以進(jìn)行增刪改查。支持一對(duì)多,多對(duì)一等查詢。</p><p> (2) FinalActivity模塊:Android中的ioc框架,完全注解方式就可以進(jìn)行UI綁定和事件
45、綁定。無(wú)需findViewById和setClickListener等。</p><p> (3) FinalHttp模塊:通過(guò)Httpclient進(jìn)行封裝Http數(shù)據(jù)請(qǐng)求,支持Ajax方式加載。</p><p> (4) FinalBitmap模塊:通過(guò)FinalBitmap,Imageview加載Bitmap的時(shí)候無(wú)需考慮Bitmap加載過(guò)程中出現(xiàn)的OOM和Android容器快速滑
46、動(dòng)時(shí)出現(xiàn)的圖片錯(cuò)位等現(xiàn)象。FinalBitmap可以配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫(huà)等。</p><p> Afina的宗旨是簡(jiǎn)潔,快速。約定大于配置的方式。盡量一行代碼完成所有事情。</p><p> 1.3.4 移動(dòng)互聯(lián)技術(shù)</p><p> 隨著智能手機(jī)的普及、3G/4G時(shí)代的到來(lái)和各種應(yīng)用的推出,互聯(lián)網(wǎng)已從桌面PC走向手機(jī)及其他移
47、動(dòng)設(shè)備。移動(dòng)互聯(lián)網(wǎng)是在互聯(lián)網(wǎng)技術(shù)經(jīng)過(guò)充分發(fā)展之后,與移動(dòng)通信的數(shù)據(jù)通信能力相結(jié)合形成的技術(shù)平臺(tái),解決了常規(guī)互聯(lián)網(wǎng)受網(wǎng)絡(luò)接入條件制約的訪問(wèn)能力問(wèn)題。</p><p> 本系統(tǒng)以百度云作為網(wǎng)絡(luò)交互平臺(tái),提供核心服務(wù):響應(yīng)數(shù)據(jù)請(qǐng)求和進(jìn)行數(shù)據(jù)庫(kù)增刪改查,用戶的手持設(shè)備或便攜式設(shè)備作為移動(dòng)端,通過(guò)聯(lián)網(wǎng),校外實(shí)習(xí)學(xué)生就可以利用本系統(tǒng)進(jìn)行個(gè)人信息的獲取,如:用戶所在地理位置、用戶姓名、用戶編號(hào)以及用戶頭像,學(xué)生用戶通過(guò)本系統(tǒng)
48、的拍照功能即可將自己的照片加上時(shí)間和地點(diǎn)水印發(fā)送到百度云存儲(chǔ)和云數(shù)據(jù)庫(kù),這樣學(xué)生用戶就完成了簽到;;教師用戶通過(guò)聯(lián)網(wǎng),可以查看當(dāng)天學(xué)生的考勤情況以及考勤信息如:所在的考勤位置、考勤時(shí)間和考勤圖片,教師還可以查看自己所管轄的所有學(xué)生一個(gè)月或者一周的考勤情況餅狀圖。移動(dòng)互聯(lián)網(wǎng)技術(shù)讓本系統(tǒng)的用戶可以隨時(shí)隨地的進(jìn)行考勤操作,讓考勤雙方能隨時(shí)獲取考勤信息。</p><p> 1.3.5 實(shí)時(shí)通信技術(shù)</p>
49、<p> 在傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用中,由于人們無(wú)法攜帶計(jì)算機(jī)并保持開(kāi)機(jī)和接入網(wǎng)絡(luò),因此更多的是非實(shí)時(shí)通信,如電子郵件等。發(fā)展到在移動(dòng)互聯(lián)網(wǎng)應(yīng)用中,移動(dòng)終端時(shí)刻伴隨著用戶,就產(chǎn)生了把消息實(shí)時(shí)通知用戶的需求。但是移動(dòng)終端存在電池容量低和網(wǎng)絡(luò)流量收費(fèi)高的挑戰(zhàn),因此需要研究移動(dòng)互聯(lián)網(wǎng)下的實(shí)時(shí)通信技術(shù)。 </p><p> XMPP協(xié)議是一種基于可擴(kuò)展標(biāo)記語(yǔ)言XML的高度自由、高度開(kāi)放的協(xié)議,可以方便快
50、捷地實(shí)現(xiàn)即時(shí)通訊(IM)。XMPP超強(qiáng)的跨平臺(tái)性和可擴(kuò)展性,直觀性和廉價(jià)性,為系統(tǒng)提供了良好的可用性。</p><p> 本系統(tǒng)利用開(kāi)源服務(wù)器Openfire在Android平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)了基于XMPP協(xié)議的即時(shí)通信系統(tǒng)。教師端,教師可以隨時(shí)查看任一學(xué)生的當(dāng)前位置,并時(shí)刻監(jiān)聽(tīng),在學(xué)生發(fā)出求救信息后即刻接收并及時(shí)作出反應(yīng);學(xué)生端,可實(shí)現(xiàn)請(qǐng)假及一鍵SOS功能,在遇到緊急情況時(shí)立刻向教師及指定好友發(fā)送求救信息。&l
51、t;/p><p> 圖1-3 XMPP協(xié)議簡(jiǎn)單示意圖</p><p> 圖1-4消息推送示意圖</p><p> 1.3.6 圖片處理技術(shù)</p><p> 圓角處理:傳統(tǒng)的矩形照片不適合軟件界面的布局,影響界面的美觀,因此本系統(tǒng)的用戶頭像均采用圓角圖片的處理技術(shù)對(duì)矩形圖片進(jìn)行切割覆蓋處理圓角化圖片,這樣更符合人的審美,也適合軟件界面的
52、布局,使界面更人性化,用戶體驗(yàn)更好。</p><p> 圖1-5 圓角處理簡(jiǎn)單示意圖</p><p> 水印處理:本系統(tǒng)采用的圖片水印處理技術(shù)在原來(lái)照片的基礎(chǔ)上加上了時(shí)間、地點(diǎn)和頭像然后進(jìn)行整體截圖,生成的水印照片不但起到美化作用,更是將一些必要信息直接展示給教師看,減少了加載數(shù)據(jù)的必要,起到了節(jié)省流量的作用。</p><p> 圖1-6 水印技術(shù)簡(jiǎn)單示意圖&
53、lt;/p><p> 1.3.7 語(yǔ)音識(shí)別技術(shù)</p><p> 現(xiàn)在熱門(mén)的體感交互以及語(yǔ)音控制,技術(shù)的趨勢(shì)總是想方設(shè)法讓我們能夠用最自然的方式與機(jī)器交流,而語(yǔ)音作為人類(lèi)溝通和獲取信息最自然最便捷的方式,必然成為人機(jī)交互的未來(lái)趨勢(shì)。本系統(tǒng)在教師端采用百度語(yǔ)音識(shí)別技術(shù),智能識(shí)別語(yǔ)音返回識(shí)別字符串,在進(jìn)行字符串配對(duì)查找學(xué)生資料,查詢學(xué)生信息只需語(yǔ)音即可,無(wú)需用手操作,智能快捷。</p&g
54、t;<p> 1.3.8 信息緩存技術(shù)</p><p> 本系統(tǒng)第一次登錄就會(huì)緩存用戶信息,如:用戶名,用戶密碼,用戶頭像,用戶分組號(hào),用戶名電話等信息與本地,第二次登錄將實(shí)現(xiàn)自動(dòng)登錄(如果選擇自動(dòng)登錄選項(xiàng)的話),并檢查是否有本地緩存,有的話將自動(dòng)加載本地?cái)?shù)據(jù)和圖片。這樣將大大減少聯(lián)網(wǎng)流量,減少用戶的經(jīng)濟(jì)負(fù)擔(dān)。</p><p> 圖1-7 信息緩存簡(jiǎn)單示意圖</p
55、><p> 1.3.9 HTTP協(xié)議</p><p> HTTP的主要特點(diǎn)可概括為:能夠支持客戶/服務(wù)器模式;簡(jiǎn)單快速,客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑,由于HTTP協(xié)議簡(jiǎn)單,使得HTTP服務(wù)器的程序規(guī)模?。籋TTP允許傳輸任意類(lèi)型的數(shù)據(jù)對(duì)象,因此更加靈活;我們采用無(wú)連接的方式處理請(qǐng)求,即服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,就斷開(kāi)連接,采用這種方式可以節(jié)省傳輸時(shí)間。&
56、lt;/p><p> 本系統(tǒng)客戶端(Android)通過(guò)HTTP協(xié)議連接服務(wù)器端的PHP程序,通過(guò)JSON格式發(fā)送SQL請(qǐng)求到服務(wù)器端,服務(wù)器端的PHP解析JSON格式,獲取詳細(xì)請(qǐng)求,然后PHP程序再?gòu)姆?wù)器數(shù)據(jù)庫(kù)獲取數(shù)據(jù),再把數(shù)據(jù)封裝成JSON格式,再通過(guò)HTTP協(xié)議發(fā)送給客戶端,客戶端再解析接收到的JSON數(shù)據(jù)格式,還原成原來(lái)的數(shù)據(jù)。</p><p> 圖1-8 HTTP協(xié)議簡(jiǎn)單示意圖
57、</p><p> 1.3.10 PHP語(yǔ)言</p><p> PHP的主要特點(diǎn)可概括為:PHP 運(yùn)行于各種平臺(tái)(Windows,Linux,Unix,Mac OS X 等等);兼容幾乎所有服務(wù)器(Apache,IIS 等等);支持多種數(shù)據(jù)庫(kù);沒(méi)有成本,可供免費(fèi)下載和使用;</p><p> PHP是基于服務(wù)器端的,因此即使再多的用戶,再?gòu)?fù)雜的程序也不會(huì)影響運(yùn)
58、行的速度。</p><p><b> 1.4應(yīng)用前景</b></p><p> 目前,市場(chǎng)上存在的手機(jī)考勤軟件,例如“外勤365”、“18云辦公”、“管家婆簽到通”等,基本都是以外勤管理為核心,面向不同的終端用戶(Web、iPhone、Android),大部分擁有定位、考勤、日志、客戶、簽到、請(qǐng)假等多項(xiàng)應(yīng)用功能,借此提高企業(yè)外勤管理的效率。但這些軟件存在以下弊端:
59、</p><p> 沒(méi)有提供語(yǔ)音查詢的功能。</p><p> 沒(méi)有提供一定小規(guī)模人員的同時(shí)定位功能。</p><p> 沒(méi)有充分體現(xiàn)以人為本的設(shè)計(jì)理念,過(guò)多注重對(duì)人員的管理,而忽略了考勤的目的一方面是為了監(jiān)督作用,提高出勤率和工作效率,更重要的一點(diǎn)是為了校外學(xué)生的安全考慮,避免校外學(xué)習(xí)時(shí)出現(xiàn)一些突發(fā)事件而來(lái)不及及時(shí)作出反應(yīng)。</p><p
60、> 系統(tǒng)功能過(guò)于龐大,對(duì)用戶的流量計(jì)費(fèi)沒(méi)有充分考慮。</p><p> 本系統(tǒng)充分利用移動(dòng)互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)了實(shí)時(shí)的信息傳遞,具有很強(qiáng)的可操作性及應(yīng)用前景,完全能夠適用于不同地域,滿足不同高校的需求,應(yīng)用前景廣。本系統(tǒng)的應(yīng)用對(duì)高校提高管理效率,進(jìn)行規(guī)范化、科學(xué)化管理具有重要意義,使高校校外實(shí)習(xí)管理再上一個(gè)新的臺(tái)階。</p><p><b> 2 需求分析</b>
61、</p><p><b> 2.1 任務(wù)概述</b></p><p><b> 2.1.1 目標(biāo)</b></p><p> (1) 明確軟件需求,加速開(kāi)發(fā)進(jìn)程;</p><p> (2) 學(xué)生使用本系統(tǒng)可以實(shí)現(xiàn)定位當(dāng)前位置、拍攝水印照片、發(fā)送考勤信息、發(fā)送請(qǐng)假信息、一鍵SOS等功能;<
62、/p><p> (3) 教師使用本系統(tǒng)可以實(shí)現(xiàn)考勤情況查看、考勤情況統(tǒng)計(jì)分析、請(qǐng)假審批、實(shí)時(shí)定位、同地圖定位、通知推送、語(yǔ)音查詢等功能;</p><p> (4) 高校對(duì)校外實(shí)習(xí)實(shí)現(xiàn)規(guī)范化、科學(xué)化管理。</p><p> 2.1.2 開(kāi)發(fā)環(huán)境</p><p><b> (1) 硬件:</b></p>&
63、lt;p> 1) PC機(jī):處理器為Intel,內(nèi)存2G;</p><p> 2) 測(cè)試機(jī):操作系統(tǒng)為Android 4.0以上版本的智能手機(jī)。</p><p><b> (2) 軟件:</b></p><p> 1) ADT-Bundle-windows-x86-20140702:Android集成開(kāi)發(fā)環(huán)境,其中包含已安置ADT插
64、件的Eclipse和Android SDK;</p><p> 2) jdk 1.7:Java語(yǔ)言開(kāi)發(fā)工具包,包含了Java程序開(kāi)發(fā)所需要的環(huán)境、工具和資源;</p><p> 3) IE瀏覽器:訪問(wèn)網(wǎng)頁(yè),進(jìn)行有關(guān)百度云平臺(tái)的配置和操作;</p><p> 4) Zend Studio 10:PHP語(yǔ)言集成開(kāi)發(fā)環(huán)境(IDE);</p><p
65、> 5) Tortoise SVN-1.8.10.26129-x64:開(kāi)放源代碼的版本控制系統(tǒng),向百度云服務(wù)器提交代碼;</p><p> 6) openfire 3_7_1:基于XMPP協(xié)議的開(kāi)源實(shí)時(shí)協(xié)作(RTC)服務(wù)器,以此構(gòu)建高效率的即時(shí)通信服務(wù)器。</p><p> 2.1.3 運(yùn)行環(huán)境</p><p> (1) 硬件:操作系統(tǒng)為Android
66、 4.0以上版本的智能手機(jī)。</p><p><b> (2) 軟件:</b></p><p> 1) jdk 1.7;</p><p> 2) Mysql數(shù)據(jù)庫(kù)(位于百度云服務(wù)器);</p><p> 2.1.4 條件與限制</p><p> 客戶端要求:操作系統(tǒng)為Android 4.
67、0以上版本的智能手機(jī)。</p><p> 2.1.5 用戶特征</p><p> 本系統(tǒng)用戶為各高校學(xué)生管理人員和校外實(shí)習(xí)的學(xué)生,主要用戶有以下兩類(lèi):</p><p> (1) 校外實(shí)習(xí)學(xué)生:主要負(fù)責(zé)向教師發(fā)送考勤、請(qǐng)假信息;</p><p> (2) 教師:負(fù)責(zé)學(xué)生校外實(shí)習(xí)的管理,主要包括統(tǒng)計(jì)查看學(xué)生考勤信息、請(qǐng)假審批、通知推送等。
68、</p><p><b> 2.2 數(shù)據(jù)描述</b></p><p> 2.2.1 靜態(tài)數(shù)據(jù)</p><p> 靜態(tài)數(shù)據(jù)是指基本保持穩(wěn)定的數(shù)據(jù)。本系統(tǒng)中的主要靜態(tài)數(shù)據(jù)有以下幾類(lèi):</p><p> AttManager表(教師表):教師ID、教師姓名、教師頭像、教師性別、聯(lián)系方式、教師管理班級(jí)數(shù);</p&g
69、t;<p> AttGroup表(班級(jí)表):班級(jí)ID、班級(jí)名稱(chēng)、班級(jí)人數(shù);</p><p> AttObject表(學(xué)生表):學(xué)生ID、學(xué)生姓名、學(xué)生頭像、學(xué)生性別、學(xué)生年齡、學(xué)生電話、學(xué)生所在公司、學(xué)生應(yīng)在地址、緊急聯(lián)系人ID;</p><p> AttInformation表(考勤信息表):考勤信息ID;</p><p> AskForLe
70、ave表(請(qǐng)假表):請(qǐng)假I(mǎi)D。</p><p> 2.2.2 動(dòng)態(tài)數(shù)據(jù)</p><p> 動(dòng)態(tài)數(shù)據(jù)是指時(shí)常發(fā)生變化,并直接反映事務(wù)過(guò)程的數(shù)據(jù)。本系統(tǒng)中的主要靜態(tài)數(shù)據(jù)有以下幾類(lèi):</p><p> AttGroup表(班級(jí)表):今日時(shí)間、今日到崗數(shù)、今日缺勤數(shù)、今日遲到數(shù)、周到崗數(shù)、周缺勤數(shù)、周遲到數(shù)、月到崗數(shù)、月缺勤數(shù)、月遲到數(shù);</p><
71、;p> AttObject表(學(xué)生表):學(xué)生月到崗數(shù)、學(xué)生月缺勤數(shù)、學(xué)生月遲到數(shù)、考勤信息發(fā)送時(shí)間、今日考勤狀態(tài);</p><p> AttInformation表(考勤信息表):考勤圖片路徑、考勤地址、考勤信息發(fā)送時(shí)間、考勤經(jīng)度、考勤緯度;</p><p> AskForLeave表(請(qǐng)假表):請(qǐng)假時(shí)間、請(qǐng)假原因、是否準(zhǔn)假。</p><p><b
72、> 2.3 功能需求</b></p><p> 2.3.1 業(yè)務(wù)流程圖</p><p> 圖2-1 校外實(shí)習(xí)管理業(yè)務(wù)流程圖</p><p> 2.3.2 功能劃分</p><p> 根據(jù)以上業(yè)務(wù)流程圖,本系統(tǒng)將校外實(shí)習(xí)管理的主要業(yè)務(wù)分為兩大模塊:學(xué)生端和教師端。以下介紹每個(gè)模塊的主要功能項(xiàng)目劃分情況:</p&
73、gt;<p> 學(xué)生模塊:獲取個(gè)人信息、修改個(gè)人資料、忘記密碼短信驗(yàn)證、定位當(dāng)前位置、拍攝水印照片、發(fā)送考勤信息、發(fā)送請(qǐng)假信息、一鍵SOS、添加緊急聯(lián)系人。</p><p> 教師模塊:獲取個(gè)人信息、修改個(gè)人資料、忘記密碼短信驗(yàn)證、班級(jí)考勤情況查看、語(yǔ)音查詢、實(shí)時(shí)定位學(xué)生位置、學(xué)生月考勤情況查看、學(xué)生考勤水印照片查看、班級(jí)周考勤情況統(tǒng)計(jì)分析、班級(jí)月考勤情況統(tǒng)計(jì)分析、請(qǐng)假信息查看、請(qǐng)假審批、同地圖
74、定位、通知推送。</p><p> 2.3.3 其他功能需求</p><p> (1) 主程序界面需求</p><p> 本軟件在操作和使用上要求簡(jiǎn)單易用,參照目前各APP主流界面風(fēng)格,結(jié)合本系統(tǒng)具體功能,做了如下界面設(shè)計(jì):</p><p> 1) 側(cè)滑菜單:系統(tǒng)主要功能在教師模塊且教師模塊功能較多,因此在界面設(shè)計(jì)上仿照QQ 5.0引
75、入了側(cè)滑菜單,使功能操作更加靈活便捷;</p><p> 2) 自定義適配器:Android的API也提供了許多創(chuàng)建ListView適配器的快捷方式。例如ArrayAdapter、SimpleAdapter和SimpleCursorAdapter等。如果采用這些系統(tǒng)自帶的適配器,對(duì)于事件的響應(yīng)只能局限在一個(gè)行單位。假設(shè)一行里面有一個(gè)按鈕和一個(gè)圖片控件,它們之間的響應(yīng)操作是不一樣的。若采用系統(tǒng)自帶的適配器,就不能
76、精確到每個(gè)控件的響應(yīng)事件。因此在Adapter的使用上本系統(tǒng)采取自定義適配器來(lái)實(shí)現(xiàn)這個(gè)比較精確的請(qǐng)求,同時(shí),對(duì)于功能需求更加合理,用戶使用更加人性化;</p><p> 3) 自定義彈出框:本系統(tǒng)中存在一些消息提示,此效果采用彈出框來(lái)顯示。PopupWindow這個(gè)類(lèi)用來(lái)實(shí)現(xiàn)一個(gè)彈出框,可以使用任意布局的View作為其內(nèi)容,這個(gè)彈出框懸浮在當(dāng)前Activity之上的任意位置,靈活便捷,符合用戶使用習(xí)慣,大大提高
77、用戶體驗(yàn);</p><p> 4) 餅狀圖:針對(duì)系統(tǒng)考勤情況統(tǒng)計(jì)對(duì)比功能引入餅狀圖,使用MPAndroidChart類(lèi)庫(kù)實(shí)現(xiàn)Android設(shè)備上各種統(tǒng)計(jì)圖表的繪制,使統(tǒng)計(jì)結(jié)果更加直觀;</p><p> 5) 通知欄推送:針對(duì)本系統(tǒng)一鍵SOS和通知下發(fā)功能,引入了通知機(jī)制中的通知欄框架Notificaiton,它是位于頂層可以展開(kāi)的通知列表,適用于此類(lèi)及時(shí)的交互事件的通知;</p
78、><p> 6) 過(guò)渡動(dòng)畫(huà):軟件使用過(guò)程中,為避免干澀的切換到另一個(gè)界面或功能,特此引入過(guò)渡動(dòng)畫(huà)。如界面切換過(guò)程中的進(jìn)入動(dòng)畫(huà)和退出動(dòng)畫(huà),在當(dāng)前界面覆蓋或自然切換,保持了切換與過(guò)渡的連續(xù)性和整體性,使用戶擁有更加愉快地使用體驗(yàn)。</p><p> (2) 數(shù)據(jù)庫(kù)初始化需求</p><p> 系統(tǒng)投入使用前首先進(jìn)行數(shù)據(jù)庫(kù)的數(shù)據(jù)錄入。主要需錄入以下幾部分內(nèi)容:</
79、p><p> 學(xué)生ID:學(xué)生的登錄名,即學(xué)生學(xué)號(hào),不可更改;</p><p> 教師ID:教師的登錄名,即教師工號(hào),不可更改;</p><p> 初始密碼:登錄時(shí)的初始密碼,用戶登錄成功后可重新設(shè)置;</p><p> 教師--班級(jí)關(guān)系:教師ID和教師所管理班級(jí)的ID;</p><p> 班級(jí)--學(xué)生關(guān)系:班級(jí)I
80、D和本班級(jí)內(nèi)所包含學(xué)生的ID。</p><p> (3) 其他功能需求</p><p> 要求系統(tǒng)提供用戶名密碼驗(yàn)證功能,在登錄界面進(jìn)行用戶名和密碼的驗(yàn)證。驗(yàn)證用戶名在數(shù)據(jù)庫(kù)中是否存在,驗(yàn)證密碼輸入位數(shù)用戶對(duì)應(yīng)的密碼位數(shù)是否相等。</p><p> 要求系統(tǒng)提供記住密碼功能,用戶下次登錄時(shí)無(wú)需再次輸入密碼。</p><p> 要求系統(tǒng)
81、提供自動(dòng)登錄功能,用戶使用軟件時(shí)點(diǎn)擊本系統(tǒng)快捷方式即可自動(dòng)登錄到主界面,無(wú)需在登錄界面點(diǎn)擊“登錄”按鈕。</p><p><b> 2.4 性能需求</b></p><p> 2.4.1 數(shù)據(jù)精確度</p><p> 數(shù)據(jù)要求必須精確,可靠,真實(shí)。進(jìn)行數(shù)據(jù)操作請(qǐng)求時(shí),如:查找、刪除、修改、添加,應(yīng)保證輸入數(shù)據(jù)與數(shù)據(jù)庫(kù)數(shù)據(jù)的相匹配性。而在滿
82、足用戶請(qǐng)求時(shí),系統(tǒng)應(yīng)保證所響應(yīng)數(shù)據(jù)的查全率與查準(zhǔn)率。</p><p> 2.4.2 時(shí)間特性</p><p> 該系統(tǒng)時(shí)間特性影響因素較多,比如網(wǎng)絡(luò)傳輸速度、云服務(wù)器訪問(wèn)速度、系統(tǒng)數(shù)據(jù)量、系統(tǒng)當(dāng)前在線用戶人數(shù)、客戶端硬件配置等,但系統(tǒng)總體響應(yīng)時(shí)間應(yīng)不超過(guò)5S,復(fù)雜功能響應(yīng)時(shí)間應(yīng)在可接受范圍之內(nèi)。</p><p><b> 2.4.3 適應(yīng)性</
83、b></p><p> 該系統(tǒng)主要基于Android平臺(tái)開(kāi)發(fā),主要應(yīng)用于Android操作系統(tǒng)的智能手機(jī)。</p><p><b> 2.5 運(yùn)行需求</b></p><p> 2.5.1 用戶界面</p><p> 系統(tǒng)用戶界面參照目前主流APP的界面風(fēng)格結(jié)合自身功能綜合設(shè)計(jì),主程序參照QQ 5.0風(fēng)格設(shè)
84、置了側(cè)滑菜單,加入扁平化元素,并配以自定義列表、彈出框、過(guò)渡動(dòng)畫(huà)等設(shè)計(jì),使得整體界面風(fēng)格清大方,簡(jiǎn)單易用。</p><p> 2.5.2 硬件接口</p><p> (1) 云端服務(wù)器內(nèi)存要求:128MB內(nèi)存或以上</p><p> (2) 云端服務(wù)器磁盤(pán)要求:2GB或以上</p><p> (3) 云端服務(wù)器帶寬要求:5Mb/S或以
85、上</p><p> (4) 客戶端處理器要求:1GHz處理器或以上</p><p> (5) 客戶端內(nèi)存要求:512MB內(nèi)存或以上</p><p> (6) 運(yùn)行環(huán)境硬件配置:真機(jī),Android 4.2.1操作系統(tǒng),CPU主頻1.6GHz,運(yùn)行內(nèi)存為2GB。</p><p> 2.5.3 軟件接口</p><p
86、> (1) 云端服務(wù)器和數(shù)據(jù)庫(kù)操作實(shí)現(xiàn):通過(guò)IE瀏覽器訪問(wèn),進(jìn)行有關(guān)配置和操作;</p><p> (2) 代碼提交:Tortoise SVN-1.8.10.26129-x64</p><p> (3) 客戶端操作系統(tǒng):Android</p><p> (4) 客戶端系統(tǒng)必要配置:Android 4.0及以上</p><p>
87、 (5) 開(kāi)發(fā)環(huán)境軟件配置:</p><p> Android集成開(kāi)發(fā)環(huán)境:ADT-Bundle-windows-x86-20140702</p><p> PHP語(yǔ)言集成開(kāi)發(fā)環(huán)境(IDE):Zend Studio 10。</p><p> 2.5.4 故障處理</p><p> 由于用戶在使用本系統(tǒng)時(shí),可能因長(zhǎng)時(shí)間使用多個(gè)功能而使得
88、內(nèi)存占有量上升,因此使用完成后及時(shí)退出可以有效降低系統(tǒng)內(nèi)存消耗,保持系統(tǒng)運(yùn)行流暢。</p><p> 系統(tǒng)反應(yīng)時(shí)間上面,建議用戶在執(zhí)行查詢功能時(shí),盡量增加查詢條件以減少查詢數(shù)據(jù)量,縮短系統(tǒng)反應(yīng)時(shí)間。</p><p><b> 3 概要設(shè)計(jì)</b></p><p> 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</p><p> 根據(jù)需求
89、分析,基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)的功能結(jié)構(gòu)圖如圖3-1所示。該APP主要實(shí)現(xiàn)學(xué)生端和教師端兩大模塊的功能。</p><p> 圖3-1 系統(tǒng)功能結(jié)構(gòu)圖</p><p> 3.2 功能概要設(shè)計(jì)</p><p> 功能概要設(shè)計(jì)主要從模塊功能描述、系統(tǒng)用例圖和目標(biāo)業(yè)務(wù)時(shí)序圖三個(gè)方面進(jìn)行描述。</p><p> 3.2.1模塊功能描述&
90、lt;/p><p> 根據(jù)2.3.2節(jié)的描述,劃分完功能模塊和功能項(xiàng)目后,各模塊的具體功能已明確,現(xiàn)簡(jiǎn)述如下:</p><p><b> (1) 學(xué)生模塊:</b></p><p> 1) 獲取個(gè)人信息:用戶登錄成功后即從服務(wù)器獲取個(gè)人信息并緩存到本地,方便以后取用,無(wú)需每次聯(lián)網(wǎng)獲??;</p><p> 2) 修改個(gè)
91、人資料:登錄名、用戶名、頭像、性別等信息均不可更改,主要修改項(xiàng)為登錄密碼;</p><p> 3) 忘記密碼短信驗(yàn)證:登錄時(shí)如忘記密碼,可點(diǎn)擊登錄界面的“忘記密碼”按鈕,向手機(jī)發(fā)送短信驗(yàn)證碼,輸入驗(yàn)證碼后進(jìn)行新密碼設(shè)置;</p><p> 4) 定位當(dāng)前位置:主頁(yè)中系統(tǒng)自動(dòng)利用百度地圖定位當(dāng)前位置,并獲取當(dāng)前經(jīng)緯度;</p><p> 5) 拍攝水印照片:拍攝
92、包含本人的水印照片,水印內(nèi)容為學(xué)生頭像、當(dāng)前定位地點(diǎn)、當(dāng)前時(shí)間;</p><p> 6) 發(fā)送考勤信息:拍攝完成水印照片后發(fā)送考勤信息;</p><p> 7) 發(fā)送請(qǐng)假信息:在請(qǐng)假界面編輯請(qǐng)假信息發(fā)送;</p><p> 8) 一鍵SOS:遇到緊急情況時(shí)點(diǎn)擊“SOS”按鈕,向指定緊急聯(lián)系人發(fā)送求救信息。</p><p> 9) 添加
93、緊急聯(lián)系人:進(jìn)行一鍵SOS操作后,如果檢測(cè)到該用戶未添加緊急聯(lián)系人,跳轉(zhuǎn)到添加聯(lián)系人界面,依次填寫(xiě)三個(gè)聯(lián)系人ID,添加緊急聯(lián)系人。</p><p><b> (2) 教師模塊:</b></p><p> 1) 獲取個(gè)人信息:用戶登錄成功后即從服務(wù)器獲取個(gè)人信息并緩存到本地,方便以后取用,無(wú)需每次聯(lián)網(wǎng)獲??;</p><p> 2) 修改個(gè)人
94、資料:登錄名、用戶名、頭像、性別等信息均不可更改,主要修改項(xiàng)為登錄密碼;</p><p> 3) 忘記密碼短信驗(yàn)證:登錄時(shí)如忘記密碼,可點(diǎn)擊登錄界面的“忘記密碼”按鈕,向手機(jī)發(fā)送短信驗(yàn)證碼,輸入驗(yàn)證碼后進(jìn)行新密碼設(shè)置;</p><p> 4) 班級(jí)考勤情況查看:系統(tǒng)主頁(yè)顯示登錄教師所管理班級(jí)的考勤情況,包括到崗數(shù)、缺勤數(shù)、遲到數(shù)等。點(diǎn)擊某班級(jí)可以查看具體考勤情況,即到崗學(xué)生列表、遲到學(xué)
95、生列表、缺勤學(xué)生列表、考勤情況未知的學(xué)生列表;</p><p> 5) 語(yǔ)音查詢:語(yǔ)音查詢界面進(jìn)行語(yǔ)音輸入,使查詢更加便捷。語(yǔ)音識(shí)別后進(jìn)行姓名匹配,若有匹配結(jié)果則可以選擇查看學(xué)生的考勤情況和水印照片,定位該學(xué)生當(dāng)前位置;</p><p> 6) 實(shí)時(shí)定位學(xué)生位置:語(yǔ)音識(shí)別與匹配完成后,選擇“當(dāng)前位置”,定位該學(xué)生當(dāng)前所在地理位置;</p><p> 7) 學(xué)生
96、月考勤情況查看:語(yǔ)音識(shí)別與匹配完成后,選擇“考勤記錄”,查看該學(xué)生月考勤情況;</p><p> 8) 學(xué)生考勤水印照片查看:語(yǔ)音識(shí)別與匹配完成后,選擇“水印照片”,查看該學(xué)生今日所上傳的水印照片,確定是否為本人簽到;</p><p> 9) 班級(jí)周考勤情況統(tǒng)計(jì)分析:主頁(yè)側(cè)滑,在側(cè)邊欄選擇“統(tǒng)計(jì)”菜單,查看班級(jí)周考勤情況餅狀圖;</p><p> 10) 班級(jí)
97、月考勤情況統(tǒng)計(jì)分析:在統(tǒng)計(jì)界面選擇“月度統(tǒng)計(jì)”, 查看班級(jí)月考勤情況餅狀圖;</p><p> 11) 請(qǐng)假信息查看:主頁(yè)側(cè)滑,在側(cè)邊欄選擇“消息”菜單,查看學(xué)生的請(qǐng)假信息;</p><p> 12) 請(qǐng)假審批:在消息界面對(duì)某一請(qǐng)假信息選擇“同意”或“不同意”,對(duì)學(xué)生請(qǐng)假信息進(jìn)行處理;</p><p> 13) 同地圖定位:定位某班級(jí)所有學(xué)生的當(dāng)前位置,并在同
98、一張地圖上顯示;</p><p> 14) 通知推送:向某班級(jí)所有學(xué)生發(fā)送通知,推送到給學(xué)生;</p><p> 3.2.2 系統(tǒng)用例圖</p><p> 根據(jù)3.2.1節(jié)的描述,系統(tǒng)涉及到的用戶包括兩大類(lèi):學(xué)生和教師。每類(lèi)用戶對(duì)應(yīng)的用例圖如下所示:</p><p> 圖3-2 學(xué)生用例圖
99、 圖3-3 教師用例圖</p><p> 圖3-2為學(xué)生用例圖,學(xué)生的主要任務(wù)為獲取個(gè)人信息、修改個(gè)人資料、定位當(dāng)前位置、拍攝水印照片、發(fā)送考勤信息、一鍵SOS、請(qǐng)假。</p><p> 圖3-3為學(xué)生用例圖,教師的主要任務(wù)為獲取個(gè)人信息、修改個(gè)人資料、考勤情況查看、考勤情況統(tǒng)計(jì)分析、請(qǐng)假審批、實(shí)時(shí)定位、通知推送、語(yǔ)音查詢。</p><p> 3.
100、2.3目標(biāo)業(yè)務(wù)時(shí)序圖</p><p> 圖3-4 學(xué)生考勤信息發(fā)送時(shí)序圖</p><p> 圖3-5 學(xué)生一鍵SOS時(shí)序圖</p><p> 圖3-6 學(xué)生請(qǐng)假時(shí)序圖</p><p> 圖3-7 教師考勤情況查看時(shí)序圖</p><p> 圖3-8 教師考勤情況統(tǒng)計(jì)時(shí)序圖</p><p>
101、; 圖3-9 教師實(shí)時(shí)定位時(shí)序圖</p><p> 圖3-10 教師通知推送時(shí)序圖</p><p> 圖3-11 教師請(qǐng)假審批時(shí)序圖</p><p> 圖3-12 教師語(yǔ)音查詢時(shí)序圖</p><p><b> 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 3.3.1 概念結(jié)構(gòu)設(shè)計(jì)<
102、;/p><p> 本系統(tǒng)采用自頂向下的方法設(shè)計(jì)概念結(jié)構(gòu),即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。</p><p> 數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)主要使用E-R圖(實(shí)體-關(guān)系圖)的形式進(jìn)行表述。首先呈現(xiàn)的是系統(tǒng)總體E-R圖,然后根據(jù)不同的功能需求劃分不同的子E-R圖,具體描述如下:</p><p> 圖3-15 系統(tǒng)總體E-R圖</p><p>
103、 如圖3-15所示為系統(tǒng)總體E-R圖,反映了系統(tǒng)中各表之間的實(shí)體-關(guān)系圖,各表之間通過(guò)存儲(chǔ)相互關(guān)聯(lián)的主鍵或其他可唯一確定一條數(shù)據(jù)的鍵值進(jìn)行相互關(guān)聯(lián)。各數(shù)據(jù)對(duì)應(yīng)狀態(tài)可能為一對(duì)一,一對(duì)多,多對(duì)一,多對(duì)多的關(guān)系,具體各表之間的對(duì)應(yīng)關(guān)系將在以下各子E-R圖中進(jìn)行闡述。</p><p> 圖3-16 學(xué)生、權(quán)限、班級(jí)之間的E-R圖</p><p> 如圖3-16所示,每個(gè)學(xué)生擁有多個(gè)不同的權(quán)限
104、,同一個(gè)權(quán)限也可以由不同的學(xué)生擁有;每個(gè)學(xué)生屬于一個(gè)確定的班級(jí),每個(gè)班級(jí)可以包含多名學(xué)生。</p><p> 圖3-17 教師、權(quán)限、班級(jí)之間的E-R圖</p><p> 如圖3-17所示,每個(gè)教師擁有多個(gè)不同的權(quán)限,同一個(gè)權(quán)限也可以由不同的教師擁有;每名教師管理多個(gè)班級(jí),每個(gè)班級(jí)只能由一個(gè)教師管理。</p><p> 圖3-18 學(xué)生、考勤信息、教師之間的E
105、-R圖</p><p> 如圖3-18所示,每個(gè)學(xué)生每天可以發(fā)送一條考勤信息,每條考勤信息也只能由一個(gè)學(xué)生發(fā)送;每個(gè)教師可以查看多條考勤信息,每條考勤信息只能由管理發(fā)送該信息的學(xué)生的教師查看。</p><p> 圖3-19 學(xué)生、請(qǐng)假信息、教師之間的E-R圖</p><p> 如圖3-19所示,每個(gè)學(xué)生每天可以發(fā)送多條請(qǐng)假信息,每條請(qǐng)假信息也只能由一個(gè)學(xué)生發(fā)送
106、;每個(gè)教師可以審批多條請(qǐng)假信息,每條請(qǐng)假信息只能由管理發(fā)送該信息的學(xué)生的教師審批。</p><p> 3.3.2 邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 本系統(tǒng)共用到教師信息表(AttManager)、班級(jí)信息表(AttGroup)、教師-班級(jí)表(ManagerGroup)、班級(jí)-學(xué)生表(GroupObject)、學(xué)生信息表(AttObject)、考勤信息表(AttInformation)、請(qǐng)
107、假信息表(AskForLeave)7個(gè)數(shù)據(jù)表,涉及到系統(tǒng)用戶—教師和學(xué)生、考勤、請(qǐng)假等多個(gè)方面,以下將以列表形式簡(jiǎn)要簡(jiǎn)要敘述各數(shù)據(jù)表的邏輯結(jié)構(gòu)設(shè)計(jì)。</p><p> 表3-1 教師信息表(Table AttManager)</p><p> 表3-2 班級(jí)信息表(Table AttGroup)</p><p> 表3-3 教師-班級(jí)表(Table Ma
108、nagerGroup)</p><p> 表3-4 班級(jí)-學(xué)生表(Table GroupObject)</p><p> 表3-5 學(xué)生信息表(Table AttObject)</p><p> 表3-6 考勤信息表(Table AttInformation)</p><p> 表3-7 請(qǐng)假信息表(Table AskForL
109、eave)</p><p> 3.3.3 物理結(jié)構(gòu)設(shè)計(jì)</p><p> 4 詳細(xì)設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn)</p><p> 4.1 系統(tǒng)總體結(jié)構(gòu)</p><p> 基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)APP是一個(gè)Android客戶端,主要處理交互和交互邏輯。APP負(fù)責(zé)與用戶交互,將用戶的操作請(qǐng)求發(fā)送到服務(wù)端,服務(wù)端進(jìn)行處理后將結(jié)果返回給客戶端,再
110、呈現(xiàn)給用戶。以下為系統(tǒng)邏輯架構(gòu)圖和物理架構(gòu)圖。</p><p> 圖4-1 系統(tǒng)邏輯架構(gòu)圖</p><p> 如圖4-1所示為系統(tǒng)邏輯架構(gòu)圖,基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)APP包括學(xué)生端和教師端兩大模塊的考勤情況統(tǒng)計(jì)、請(qǐng)假審批、通知推送、一鍵SOS、實(shí)時(shí)定位、語(yǔ)音查詢等功能,所有功能模塊同時(shí)在不同終端上相互協(xié)作共同完成校外實(shí)習(xí)管理工作。終端通過(guò)互聯(lián)網(wǎng)、GPS網(wǎng)絡(luò)遠(yuǎn)程連接百度云平臺(tái),
111、訪問(wèn)云平臺(tái)提供的Mysql數(shù)據(jù)庫(kù),云存儲(chǔ)器,實(shí)現(xiàn)與云服務(wù)器的數(shù)據(jù)通信。</p><p> 圖4-2 系統(tǒng)物理架構(gòu)圖</p><p> 如圖4-2所示為系統(tǒng)物理架構(gòu)圖,多個(gè)移動(dòng)客戶端(包括教師端和多個(gè)學(xué)生端)通過(guò)網(wǎng)絡(luò)遠(yuǎn)程連接百度云服務(wù)器,客戶端、服務(wù)器在物理架構(gòu)上相互分離,通過(guò)網(wǎng)絡(luò)連接共同構(gòu)成了基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)。</p><p> 4.2 系統(tǒng)架
112、構(gòu)設(shè)計(jì)</p><p> 本系統(tǒng)開(kāi)發(fā)采用C/S結(jié)構(gòu),MVC設(shè)計(jì)模式。其中,View是顯示數(shù)據(jù)的,Model層是對(duì)數(shù)據(jù)的處理、操作、訪問(wèn),而Activity在中間起了組織的作用,充當(dāng)了Controller層。除此之外,系統(tǒng)的分析設(shè)計(jì)采用面向?qū)ο蠹夹g(shù),使用Visio等工具進(jìn)行輔助設(shè)計(jì)。</p><p> 圖4-3 Android中的MVC模式應(yīng)用模型</p><p>
113、; 4.2.1 Model層的實(shí)現(xiàn)</p><p> Model層是對(duì)數(shù)據(jù)的處理、操作、訪問(wèn),是應(yīng)用程序的主體部分,所有的業(yè)務(wù)邏輯都寫(xiě)在該層。對(duì)數(shù)據(jù)庫(kù)的操作、對(duì)網(wǎng)絡(luò)的操作、對(duì)業(yè)務(wù)計(jì)算的操作等都寫(xiě)在該層。</p><p> 本系統(tǒng)中,Model層的實(shí)現(xiàn)主要在com.smartattendance.util包中。其中,MyNetUtil.java類(lèi)封裝了網(wǎng)絡(luò)請(qǐng)求的處理方法;SaveUse
114、rInfo.java類(lèi)封裝了信息緩存的方法;UploadImage.java類(lèi)封裝了圖片上傳的方法;XmppTool.java類(lèi)則封裝了連接openfire服務(wù)器的配置。在Activity中調(diào)用這些方法,即實(shí)現(xiàn)了Controller層和Model層的交互。</p><p> 4.2.2 View層的實(shí)現(xiàn)</p><p> Android本身就將界面和邏輯分離開(kāi)來(lái)設(shè)計(jì)。在Android中
115、,采用xml文件進(jìn)行界面的描述。View在layout目錄下通過(guò)xml文件格式生成,用getViewById( )獲取,使用的時(shí)候可以非常方便地引入。</p><p> xml文件位于Android項(xiàng)目的res/layout目錄下。不同樣式的界面對(duì)應(yīng)不同的xml文件,不同功能一般對(duì)應(yīng)不同的界面,也就有不同的xml文件。如登錄界面對(duì)應(yīng)activity_login.xml;主界面對(duì)應(yīng)activity_main.xm
116、l;自定義的listview樣式界面lv_item_content.xml;彈出框界面popupwindow_emergency.xml等。</p><p> 為提高軟件的友好性,本系統(tǒng)在界面設(shè)計(jì)上精益求精。</p><p> 首先,對(duì)普通的輸入框、文本框、按鈕等進(jìn)行了優(yōu)化,自定義了不同的shape.xml文件,設(shè)置了圓角、邊框、顏色、透明度等風(fēng)格,并且在頁(yè)面跳轉(zhuǎn)時(shí)設(shè)置了過(guò)渡動(dòng)畫(huà),保持
117、了切換與過(guò)渡的連續(xù)性和整體性,使用戶擁有更加愉快地使用體驗(yàn)。</p><p> 其次,為了保持不同窗口之間的風(fēng)格統(tǒng)一,在這些xml文件中,用到了很多相同的布局,如標(biāo)題欄。為了避免在每個(gè)xml文件中都把相同的布局都重寫(xiě)一遍,造成代碼冗余,可讀性差,修改起來(lái)比較麻煩,對(duì)后期的修改和維護(hù)不利,便把相同布局的代碼單獨(dú)寫(xiě)成一個(gè)模塊,在用到的時(shí)候,通過(guò)<include /> 標(biāo)簽來(lái)重用layout的代碼。<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).docx
- 基于android百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)
- 基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)源碼.rar
- 基于百度云平臺(tái)的校外實(shí)習(xí)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)源碼.rar
- 基于百度云服務(wù)的Android云終端設(shè)計(jì)及實(shí)現(xiàn).pdf
- 百度攻略平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 百度Hi移動(dòng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于SpringMVC的百度Hi公眾平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 百度云使用流程
- 基于Hadoop的百度游戲數(shù)據(jù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于百度地圖API的打車(chē)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 百度云推送java端
- 基于Android的百度移動(dòng)辦公系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于大數(shù)據(jù)平臺(tái)的百度式數(shù)據(jù)檢索系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的百度地圖車(chē)輛定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 百度音樂(lè)商務(wù)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于百度應(yīng)用引擎的自動(dòng)化測(cè)試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 百度業(yè)務(wù)監(jiān)控閉環(huán)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于百度地圖API的門(mén)店信息搜集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一拖實(shí)習(xí)報(bào)告百度
評(píng)論
0/150
提交評(píng)論