999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

實驗室預約平臺APP的設計與開發

2018-01-29 17:26:19王澤奇,陳靜嫻,鄧大略,蔡劉璐
軟件工程 2017年12期

王澤奇,陳靜嫻,鄧大略,蔡劉璐

摘 要:隨著時代的發展和科技的進步,實踐教學逐漸成為大學教育的主要教學方式之一,傳統的實驗室管理方式已經不能滿足教師和學生對實驗室的需求。該系統服務器端采用struts+spring+hibernate框架設計、前端基于Android系統,具有更高的可靠性和可復用性。教師可開放實驗室,審核學生申請,管理學生意見;學生可預約實驗室,進行意見反饋。

關鍵詞:實驗室預約;Android系統;APP

中圖分類號:TP311.5 文獻標識碼:A

Development and Implementation of the Laboratory Reservation APP

WANG Zeqi,CHEN Jingxian,DENG Dalüe,CAI Liulu

(Hainan Medical University,Haikou 570100,China)

Abstract:With the development of science and technology,practice teaching has gradually become one of the main teaching methods in higher education.The traditional laboratory management method can no longer meet the requirements of teachers and students for laboratories.The server side of the system is designed with the struts+spring+hibernate framework and the front end is based on the Android system,with higher reliability and reusability.Teachers can open laboratories,examine students' application and manage students' suggestions,while students can reserve laboratories and offer feedback.

Keywords:laboratory reservation;Android system;APP

1 引言(Introduction)

據調查,國內智能手機的普及率已超過70%,而大學生群體中這一比例更高[1]。教師和學生對實驗室的需求也進一步增大。如何設計并開發出能夠滿足與日俱增需求的軟件,并進一步改進并完善我校的實驗室預約系統?這就是本款APP設計和開發的目的。

目前,實踐教學比重的日益增加。就國內而言,教育部規定各個高校實驗課程必須達到80%以上[2]。美國、日本、德國、法國等國家高校的實踐教學占總教學時數的比例(因學院及專業的性質而異),理科為17.1%—33.6%,工科為5.6%—12.5%,農科為15.7%—40.3%,醫科為25.1%—45%(摘自高校實驗室管理系統方案)。在實踐教學如此被重視的環境之下,實驗室管理系統的創建迫在眉睫,然而,現所存在的實驗室管理系統多是基于web端創建的。海南醫學院作為醫學院校,擁有眾多為開展實踐教學的實驗設備和實驗室,大部分教師和學生認為網頁申請實驗室過于繁瑣,且學生不能及時收到申請反饋。這都導致教師和學生使用web端進行實驗室預約的積極性降低。此系統基于Android手機端進行設計并開發,具有更高的靈活性和普遍性。且該系統根據不同使用人群設置不同的權限,保證了系統的安全性,最大限度滿足教師和學生的使用需求,提高實驗室的使用效率。

2 功能介紹(Functional introduction)

該系統主要的用戶群體是教師和學生。學生主要通過該App進行實驗室預約申請,教師則主要作為管理員對實驗室進行管理,因此針對不同角色設計不同的功能是該APP的基本需求[3]。APP主要分為三大功能模塊:(1)學生功能模塊;(2)實驗室管理員功能模塊(教師功能模塊);(3)系統管理員功能模塊。

2.1 學生功能模塊

學生用戶只有輸入正確的用戶名和密碼,才能成功登錄。學生登錄APP后,可預約開放的實驗課和查看申請的實驗課結果。學生功能模塊又分為三個子模塊,如圖1所示。

查詢預約記錄:學生可以查詢自己曾預約的實驗室、實驗內容和時間、地點。

預約實驗課:學生可根據自己的需要預約開放性實驗,實驗管理員對學生提交的申請進行審核,學生可隨時隨地對審核結果進行查詢。

意見反饋:學生在使用系統的過程中,有任何的意見和建議均可通過意見反饋功能提交反饋意見至實驗室管理員。

2.2 實驗室管理員功能模塊

實驗室管理員功能模塊:實驗室管理員輸入用戶名和密碼后,系統自動將其與數據庫中所存信息進行核對,核對正確后才允許進入該系統,在系統內進行相關的操作。實驗室管理員主要負責對學生的預約信息進行審核和管理,以及對實驗課狀態進行修改、添加和刪除操作。實驗室管理員功能又分為四個子模塊:審核學生預約信息、開放實驗課管理、個人信息管理、學生意見管理。如圖2所示。

審核學生預約信息:實驗管理員對學生預約實驗室的申請進行審核或撤銷。

開放實驗室管理:管理員根據教學需求添加、修改、刪除和開放進行相應實驗課的實驗室。

個人信息管理:實驗管理員可根據需要修改自己的信息和密碼。

學生意見管理:實驗室管理員可看見與相關實驗室的意見反饋信息,并根據需要進行回復,以達到師生互動的效果。endprint

2.3 系統管理員管理模塊

系統管理員主要負責在Web端進行學生數據的錄入、學期設置等一些基本參數的維護工作。

3 系統架構(System architecture)

實驗室預約平臺APP采用Struts+Spring+Hibernate框架實現本系統的相關開發(圖3)。Struts是一款開源的Web應用框架,它擴展了Java Servlet API,采用model-view-controller(即MVC)架構,從而實現了代碼的松耦合,提高了代碼的可復用性,主要運用于表現層和業務控制層;Spring是一個開源的設計層面框架,它解決業務邏輯層和其他各層的松耦合問題。它是一個輕量級的應用,主要運用于業務邏輯層;Hibernate是一個開源的對象關系映射(OR Mapping)框架,hibernate可以自動生成SQL語句,從而實現了使用對象編程思維來操作數據庫。

在校教師或學生可通過Web瀏覽器或Android手機訪問本系統。如果用戶使用Android手機訪問本系統,系統將自動采用OKHttp來封裝用戶的請求。OKHttp是一個處理網絡請求的開源項目,是安卓端使用最多的輕量級框架。系統將根據struts.xml的配置找到相應的Action類來處理請求。Action類中會調用相應的服務類(Service)來處理相應的業務邏輯,在Service類中調用相應的DAO處理類,來實現與數據的交互。最后將處理結果以Json的形式返回給Android客戶端。如果用戶使用Web瀏覽器訪問本系統,則以HTML頁面的形式返回給瀏覽器。

利用Struts+Spring+Hibernate框架,實現了視圖、控制器與模型、業務邏輯、操作數據庫的分離。Struts+Spring+Hibernate框架結構清晰,功能分明,可達到各個模塊間松耦合的目的,從而可以提高開發效率,提高系統的可擴展性[4]。

本系統的數據庫采用MySQL,系統ER圖如圖4所示。

4 系統實現(System implementation)

目前用于Android系統的開發工具眾多,該APP設計和開發主要采用了2013年由谷歌推出的Android開發環境——android studio[5]。在設計和開發中,最為關鍵的部分是如何承載數量眾多的在校教師和學生同時在線,該問題采用的解決方案是利用struts+spring+hibernate框架,以提高本系統的可靠性、安全性和可復用性;同時,采用OKHttp協議與服務器端進行通信,以保證Android客戶端與服務器端通信的可靠性。

4.1 多線程和異步

用戶通過Android客戶端發送請求給服務端,請求采用多線程進行處理,實現異步解決系統數據傳輸問題。在該系統中,客戶端需要從服務端獲取預約實驗室列表。該功能的實現則是通過采用異步類的方法,即在主線程中開啟一個子線程,在子線程訪問服務端獲取預約實驗室列表,在主線程收到服務端返回的數據后,更新頁面的數據。

以下是代碼實現部分。

//調用異步類取得數據

new MylabFragment.ConnectToServer().execute();

//更新預約實驗室列表

//String為當調用該類的時候需要傳遞進來的參數,可以是String數組

private class ConnectToServer extends AsyncTask {

private String errorMessage;

//該方法是運行在后臺,開了一子線程

protected Boolean doInBackground(String... strings) {

try{

Mapparams=new HashMap();

//傳入sessionID

String sessionID=getSessionID();

params.put("sessionID",sessionID);

//調用myappointRequest這個接口

MyRequest myappointRequest= ServiceManager.MyappointmentRequest(params);

myappointRequest.setMycallback(new Callback(new MessageParser()) {

//接口連接成功,執行以下內容

public void onSuccess() {

String dataList=getMessage().getRecDataList();

List mDatas1 =GsonParseUtil.stringToArray(dataList,Appointment[].class);

if(mDatas1 !=null){

for(Appointment appointment: mDatas1){

if (!appointment.getFreeLabName().equals("計算機機房1")) {

mDatas.add(appointment);}}}}

//接口連接失敗,執行以下內容

public void onFailed() {

errorMessage=getMessage().getRecMsg();}});

myappointRequest.sendInAsyn();

}catch (Exception e){return false;}

return true;}

//當子線程運行結束,執行該方法,更新UI

protected void onPostExecute(Boolean result){

if(result){

//把得到的數據放入Fragment中的listview的適配器中

MylabAdapter adapter=new MylabAdapter(getContext(),mDatas);

listView.setAdapter(adapter);

}else{

if(result!=null){

AlertDialog.Builder dialog=new AlertDialog.Builder(getActivity());

dialog.setTitle("提示信息");

dialog.setMessage(errorMessage);

dialog.setCancelable(false);

dialog.setPositiveButton("關閉", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();}});

dialog.show();

}}}}

4.2 JSON

請求響應后返回JSON數據給手機端。JSON即JavaScript Object Notation,是一種利于蜂窩數據網絡傳輸的輕量級的數據交換格式。它是JavaScript的一個子集,采用完全獨立于語言的文本格式,容易被閱讀和編寫,并且方便機器的解析和生成。相對于XML,JSON數據封裝的體積小,在網絡上傳輸的效率比XML高,被廣泛應用到移動互聯的開發領域中。利用JSON在網絡數據傳輸上的優勢,將JSON作為實驗室管理應用軟件客戶端與服務端間的數據交換格式[6]。

代碼實現部分如下:

從服務端獲取到了以下格式的JSON字符串。

{

list:[{week=16, year=2016-2017, checkedNumber=null, lesson=1-3, freeLabID=1, updateTime=2017-05-11, acceptableNumber=30, checkPendingNumber=null, assignedLabs=機房2, semester=2, id=26, day=1,freeDate=2017-06-05, freeLabName=計算機實驗室, status=1},{week=14, year=2016-2017, checkedNumber=null, lesson=3-5, freeLabID=1, updateTime=2017-05-14, acceptableNumber=30, checkPendingNumber=null, assignedLabs=機房2, semester=2, id=27, day=3, freeDate=2017-05-24, freeLabName=計算機實驗室, status=1}]

}

在客戶端就可以使用JSONObject將JSON字符串轉換為JSON對象,然后通過對象的方式提取數據。部分代碼如下:

public static List getTeacherAppointment(String key, String jsonString) {

List list=new ArrayList();

JSONObject jsonObject;

try {

jsonObject=new JSONObject(jsonString);

JSONArray TeacherAppointments=jsonObject.getJSONArray(key);

for (int i=0; i

TeacherAppointment teacherAppointment=new TeacherAppointment();

JSONObject jsonObject2=TeacherAppointments.getJSONObject(i);

teacherAppointment.setWeek(jsonObject2.getString("week"));

...

teacherAppointment.setStatus(jsonObject2.getString("status"));

list.add(teacherAppointment); }

} catch (JSONException e) {

e.printStackTrace(); }

return list; }

4.3 成果展示

學生用戶頁面和教師用戶頁面如圖5所示。

5 結論(Conclusion)

日漸成熟的信息技術和日益發達的通訊網絡都是為了使人們學習和生活更加快捷方便。對于當代大學生而言,不僅需要豐富的理論知識,同時需要一定的動手能力。通過該款APP的使用,希望可以在一定程度上提高實驗室的使用效率,提高大學生的動手能力,實現理論與實踐相結合,真正通過信息技術和網絡為廣大師生帶來便利,真正實現實踐教學。

參考文獻(References)

[1] 謝杭,朱鵬羽,孟慶賀.基于安卓平臺的掌上校園APP的設計與開發[J].軟件工程,2016,19(3):25-26.

[2] 孫華麗.基于Android平臺的實驗室預約系統的設計與實現[J].農業網絡信息,2016(5):66-68.

[3] 侯曉麗,鄧煒,牛天勇.開放式實驗室預約系統的功能設計[J].軟件設計開發,2017,13(6):102-110.

[4] 張文梅.基于SSH的實驗室管理系統設計與實現[J].Computer Knowledge and Technology,2016,12(13):105-106.

[5] 李剛.瘋狂Android講義(3版).北京:電子工業出版社,2015.

[6] 陳惠敏.基于Android的科研成果管理系統設計與實現[J].電腦編程技巧與維護,2015(20):43-44.

作者簡介:

王澤奇(1996-),男,本科生.研究領域:軟件開發.

陳靜嫻(1981-),女,碩士,講師.研究領域:軟件開發.

鄧大略(1995-),男,本科生.研究領域:軟件開發.

蔡劉璐(1997-),女,本科生.研究領域:軟件開發.

主站蜘蛛池模板: 亚洲色图综合在线| 欧美日韩高清在线| 九九精品在线观看| 亚洲天堂啪啪| 精品三级网站| 青青操国产视频| 色综合日本| 久久婷婷五月综合97色| 成人在线观看不卡| 波多野结衣无码视频在线观看| 狠狠做深爱婷婷综合一区| 久久国产成人精品国产成人亚洲 | 国产成人区在线观看视频| 少妇精品在线| 成人韩免费网站| 亚欧成人无码AV在线播放| 无码内射在线| 国产一区二区三区夜色| 国产拍揄自揄精品视频网站| 亚洲免费播放| 91在线播放国产| 亚洲欧美人成电影在线观看| 亚洲熟女偷拍| 国产亚洲精品资源在线26u| 亚洲欧美人成人让影院| 99久久精品视香蕉蕉| 波多野结衣视频一区二区| 日韩av电影一区二区三区四区| 四虎精品国产AV二区| 国产精品亚洲日韩AⅤ在线观看| 国产性生大片免费观看性欧美| 亚洲AⅤ综合在线欧美一区| 色老头综合网| 成人伊人色一区二区三区| 国产精选小视频在线观看| 精品人妻系列无码专区久久| 亚洲精品第一页不卡| 美女一级免费毛片| 鲁鲁鲁爽爽爽在线视频观看| 秋霞国产在线| 欧美日韩第二页| 人妻无码一区二区视频| 日本黄色a视频| 99久久性生片| 成人免费网站久久久| 国产一区二区三区日韩精品| 久久久国产精品无码专区| 波多野结衣无码AV在线| 99这里只有精品在线| 欧洲一区二区三区无码| 91亚瑟视频| 亚洲国产欧美自拍| 国产精品自在线拍国产电影| 久久久亚洲色| 一区二区午夜| 国产麻豆精品手机在线观看| 波多野结衣一区二区三区四区视频| 欧美国产精品不卡在线观看| 国产丰满成熟女性性满足视频| 日韩毛片免费视频| 国国产a国产片免费麻豆| 亚洲国产亚洲综合在线尤物| 国产视频入口| 91探花国产综合在线精品| 亚洲色无码专线精品观看| 亚洲乱码视频| 精品91自产拍在线| 国产精品网址你懂的| 国产福利微拍精品一区二区| 国产综合精品日本亚洲777| 亚洲精品国产综合99| 尤物精品视频一区二区三区| 精品国产Av电影无码久久久| 亚洲人成日本在线观看| 欧美中出一区二区| 三上悠亚一区二区| 国产精欧美一区二区三区| 亚洲黄色网站视频| 超清无码熟妇人妻AV在线绿巨人| 中文字幕有乳无码| 91丝袜美腿高跟国产极品老师| 成人a免费α片在线视频网站|