• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      豬傳染病診斷系統(tǒng)的設計與實現(xiàn)

      2017-06-03 15:32:16翟亞靜白鵬成麗君
      電子技術與軟件工程 2017年9期
      關鍵詞:診斷系統(tǒng)

      翟亞靜++白鵬++成麗君

      摘 要描述了一個基于Android操作系統(tǒng)的豬傳染病診斷系統(tǒng)的設計與實現(xiàn),并給出了相應的代碼。

      【關鍵詞】Android 豬傳染病 診斷系統(tǒng)

      1 引言

      本文中描述的豬傳染病診斷系統(tǒng)利用Java語言和Android平臺,實現(xiàn)了豬傳染病的疾病診斷、疾病防治、查詢疾病等功能,主要針對專家、普通養(yǎng)殖戶、管理員等用戶使用,專家可以提供更新和維護癥狀與疾病信息,普通養(yǎng)殖用戶可以通過觀察的癥狀使用診斷系統(tǒng)得到診斷結果,系統(tǒng)管理員則進行系統(tǒng)的維護,如數據恢復和數據還原等,使診斷效率可以得到較好的提高與改善。該診斷系統(tǒng)共分為兩個版本,版本2是對版本1的進一步優(yōu)化與改進,版本2在版本1的基礎上增加了采用jsp+servlet+jdbc輕量級的、基于J2EE的MVC體系架構。該模式主要分為視圖層、控制層和模型層。視圖層使用jsp技術來實現(xiàn),控制層使用servlet來處理,模型層使用java語言來創(chuàng)建實體類。數據庫層采用jdbc來實現(xiàn)與mysql數據庫的交互,對數據庫中疾病信息、癥狀信息等進行管理。

      2 環(huán)境

      開發(fā)環(huán)境:eclipse、MyEslipse、MySQL

      開發(fā)語言:Java、html、JavaScript、JSP、servlet

      運行環(huán)境:Tomcat、Android虛擬機

      3 功能

      該系統(tǒng)分為八個模塊:

      系統(tǒng)設置模塊、癥狀分類信息管理模塊、癥狀信息管理模塊、疾病信息管理模塊、防治措施信息管理模塊、豬疾病診斷分析模塊、系統(tǒng)維護模塊、退出系統(tǒng)。如圖1所示。

      4 設計

      4.1 界面設計

      4.1.1 版本1界面

      Android界面(如圖2所示)。

      4.1.2 版本2界面

      (1)Web的診斷界面(如圖3所示)。

      (2)Web的數據庫操作界面(如圖4所示)。

      4.2 數據庫設計

      該數據庫是一個關系型數據庫,基表包括:管理員信息表、癥狀分類信息表、癥狀子分類信息表、癥狀信息表、疾病信息表、癥狀關聯(lián)疾病信息表、防治措施治療表。

      這些表都滿足完整性約束條件,并且有些表之間互相存在關系,如:癥狀分類信息表與癥狀子分類信息表為一對多關系,癥狀信息表和疾病信息表為多對多關系,疾病信息表和防治措施治療表為一對一關系。通過引用外鍵或者創(chuàng)建中間表來建立關系。在疾病診斷的過程中還會出現(xiàn)動態(tài)表:癥狀動態(tài)表和疾病動態(tài)表。這些動態(tài)表中的數據是在計算過程中動態(tài)保存的,存儲一些中間數據。

      具體設計如圖5所示。

      4.3 推理模塊設計——病情診斷算法

      4.3.1 數據歸一化

      在動物疾病診斷問題中作如下定義:

      癥狀集——S{s1,s2,s3......}有限集(symptom)指動物所有癥狀的集合;

      疾病集——D{d1,d2,d3......}有限集(disease)指動物所有疾病的集合;

      疾病與癥狀之間的關系為多對多,一個疾病對應多個癥狀,一個癥狀對應多個疾病,在數據庫中采用癥狀疾病表來存儲該關聯(lián)關系,屬性有癥狀編號,疾病編號和表現(xiàn)分值。設表現(xiàn)分值為{x1,x2,x3........},假設癥狀疾病關系表中有以下關系{(s1,d1,x1),(s1,d2,x2),(s1,d3,x3)},數據歸一化就是將表現(xiàn)分值x換成另外一種表示方法y,即

      y1=x1/(x1+x2+x3), y2=x2/(x1+x2+x3), y3=x3/(x1+x2+x3)

      則y1+y2+y3=1,該表示方法稱為歸一化處理。經過歸一化處理的數據存入到數據庫中,癥狀疾病關系表中的關系變?yōu)閧(s1,d1,x1,y1),(s1,d2,x2,y2),(s1,d3,x3,y3)}。

      4.3.2 推斷算法

      在動物疾病診斷過程中,用戶可以選擇一個或多個癥狀,通過推理算法最終得出動物可能患的疾病,所以我們可以由一個癥狀的推斷算法推出多個癥狀的推斷算法,如下:

      (1)若用戶選擇一種癥狀,假設相應的癥狀疾病關系表中的數據為{(s1,d1,x1,y1),(s1,d2,x2,y2),(s1,d3,x3,y3)},設推斷結果為z{z1,z2,z3......},推斷算法為:疾病d1的推出結果為z1=y1/(y1+y2+y3),疾病d2推出的結果為

      Z2=y2/(y1+y2+y3),疾病d3推出的結果為z3=y3/(y1+y2+y3)。

      (2)若用戶選擇兩種癥狀,假設這兩個癥狀相應的癥狀疾病關系表中的數據為:

      第一個癥狀相關的癥狀疾病關系表中的數據:{(s1,d1,x1,y1),(s1,d2,x2,y2),(s1,d3,x3,y3)},

      第二個癥狀相關的癥狀疾病關系表中的數據:{(s2,d3,x1,y4),(s2,d4,x2,y5),(s2,d5,x3,y6)},

      設推斷結果為z{z1,z2,z3......},推斷算法為:

      與一個癥狀s1有關的疾病的百分比可以依次推出,

      疾病d1的推斷結果為z1=y1/(y1+y2+y3+y4+y5+y6),

      疾病d2的推斷結果為z2=y2/(y1+y2+y3+y4+y5+y6),

      疾病d3的推斷結果z3=y3/(y1+y2+y3+y4+y5+y6);

      與一個癥狀s2有關的疾病的百分比可以依次推出,

      疾病d3的推斷結果為z4=y4/(y1+y2+y3+y4+y5+y6),

      疾病d4的推斷結果為z5=y5/(y1+y2+y3+y4+y5+y6),

      疾病d5的推斷結果z6=y6/(y1+y2+y3+y4+y5+y6);

      由于疾病d3與癥狀s1和s2都有關聯(lián),所以疾病d3的推斷結果為:z3+z4。

      (3)以此類推,用戶選擇n個癥狀s{s1,s2,s3.......sn},這n個癥狀關聯(lián)的所有疾病有m個d{d1,d2,d3......dm},歸一化數據有m個y{y1,y2,y3......ym},推斷結果zi為yi/(y1+y2+y3+.....+ym),其中i=1,2,3.....m。若其中有不同癥狀對應的疾病有相同的,則需要通過for循環(huán)遍歷出來,將其推斷結果求和得到該疾病的最終結果。

      4.3.3 實例

      若選中的癥狀為虎斑心和突然死亡,則虎斑心的歸一化數據為:口蹄疫20/20=1,突然死亡的歸一化數據為:破傷風5/(5*7+3)=0.13,豬水腫病5/38=0.13,口蹄疫5/38=0.13,豬傳染性胸膜肺炎5/38=0.13,豬肺疫5/38=0.13,豬丹毒5/38=0.13,豬鏈球菌病5/38=0.13,豬瘟3/38=0.08,然后再求百分比:口蹄疫1/(0.13*7+0.08+1)=51%,

      0.13/(0.13*7+0.08+1)=7%,求和51%+7%=58%,

      破傷風 0.13/(0.13*7+0.08+1)=7%,

      豬水腫病 0.13/(0.13*7+0.08+1)=7%,

      豬傳染性胸膜肺炎0.13/(0.13*7+0.08+1)=7%,

      豬肺疫0.13/(0.13*7+0.08+1)=7%,

      豬丹毒0.13/(0.13*7+0.08+1)=7%,

      豬鏈球菌病0.13/(0.13*7+0.08+1)=7%,

      豬瘟0.08/(0.13*7+0.08+1)=4%,

      5 關鍵代碼實現(xiàn)

      public int[] getSubPercent(String[] diseaseid) {

      int[] subpercent = new int[diseaseid.length];

      for (int i = 0; i < diseaseid.length; i++) {

      int tempnum = 0;

      this.dbc = new DBCommon();

      String[][] data = this.dbc

      .query("select * from tempdisease where id='"

      + diseaseid[i] + "'");

      if (data.length == 0) {

      subpercent[i] = 0;

      } else {

      for (int j = 0; j < data.length; j++) {

      tempnum += Integer.parseInt(data[j][1]);

      }

      subpercent[i] = tempnum;

      }

      }

      return subpercent;

      }

      6 結語

      本文對豬傳染病診斷系統(tǒng)中的界面設計、數據庫設計、疾病診斷算法進行了描述,通過基于Android設計的數據庫的信息采集與建立,使豬傳染病診斷信息更加系統(tǒng)化、全面化,具有用戶友好、操作方便快捷、維護簡單等特點。

      該系統(tǒng)將計算機技術與動物醫(yī)學的相結合,可以幫助我們快速獲取信息,更加準確地來診斷豬的疾病,提高病情診斷效率。同時,它還具有一定的實用性,不僅適用于領域知識專家,更可以廣泛應用于普通養(yǎng)殖人員等。它的實現(xiàn)在一定程度上普及了專家知識,使得更多的問題得以解決,還提高了相關專業(yè)人員的業(yè)務素質和業(yè)務水平,擴大了相關知識的共享范圍。

      除此之外,該診斷系統(tǒng)還可以再進行更進一步的功能完善與拓展,例如其他動物疾病的診斷分析等,動物疾病現(xiàn)場調查與信息采集。

      參考文獻

      [1]劉薇.動物疾病診斷輔助系統(tǒng)平臺的設計[J].電子設計工程,2012.

      [2]張海藩,呂云翔.軟件工程(第4版)[M].人民郵電出版社,2012.

      作者簡介

      翟亞靜(1995-),女,山西省長治市人。山西農業(yè)大學軟件學院2014級在讀本科生。主要研究方向為軟件工程。

      作者單位

      山西農業(yè)大學軟件學院 山西省太谷縣 030801

      猜你喜歡
      診斷系統(tǒng)
      CTCS2-200H型列控車載設備運用狀態(tài)在線診斷系統(tǒng)的研究與應用
      區(qū)間軌道電路智能診斷系統(tǒng)的探討
      基于云服務器的旋轉機械在線監(jiān)測診斷系統(tǒng)設計
      測控技術(2018年9期)2018-11-25 07:44:34
      設備在線診斷系統(tǒng)在唐鋼的建設與應用
      電子測試(2018年13期)2018-09-26 03:30:20
      連鑄板坯質量在線診斷系統(tǒng)的應用
      新疆鋼鐵(2015年2期)2015-11-07 03:27:52
      基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
      盐津县| 潮州市| 长寿区| 宜昌市| 瑞丽市| 万荣县| 菏泽市| 麻阳| 金湖县| 乌审旗| 新余市| 余干县| 东平县| 沧州市| 太湖县| 方山县| 济南市| 泰州市| 肥乡县| 西吉县| 建阳市| 资中县| 肇州县| 靖远县| 闽侯县| 河曲县| 恩施市| 定结县| 韩城市| 汶川县| 齐河县| 吉木萨尔县| 绥芬河市| 阿尔山市| 革吉县| 扎鲁特旗| 阆中市| 滦平县| 南投市| 梧州市| 高邑县|