亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于WPF心理檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2020-04-15 02:50:12張利利李仁義惠鐸鐸
        關(guān)鍵詞:測(cè)試人員數(shù)據(jù)管理事務(wù)

        張利利,李仁義,惠鐸鐸,馬 進(jìn)

        (1.空軍軍醫(yī)大學(xué) 航空航天醫(yī)學(xué)教育部重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710032;2.西安熱工研究院有限公司,陜西 西安 710054)

        0 引 言

        健康是人力資源的重要組成部分,是人類社會(huì)發(fā)展的永恒追求[1]。然而,目前中國(guó)公民的心理健康狀況卻不容樂(lè)觀。據(jù)世界衛(wèi)生組織統(tǒng)計(jì),中國(guó)目前擁有重癥精神疾患病人高達(dá)1 600萬(wàn)人;70%左右的人處于精神“亞健康”狀態(tài),有1.9億人需要在一生之中接受專業(yè)的心理咨詢或心理治療;在年滿20歲的成年人中,有心理障礙的患者每年遞增11.3%;大約有3 000萬(wàn)左右的17歲以下未成年人有各類學(xué)習(xí)、情緒和行為障礙,在大學(xué)生中16%~25.4%的人有心理障礙[2-3]。因此,國(guó)家明確提出了“要注重人文關(guān)懷和心理疏導(dǎo)”,即心理健康研究與教育要以提高國(guó)民心理健康水平,使人們過(guò)上幸福而有尊嚴(yán)的生活,提高中華民族的人口素質(zhì)為根本目標(biāo)。

        1 WPF簡(jiǎn)介

        WPF是微軟提供的一款基于.NET Framework 3.0的圖形化桌面應(yīng)用設(shè)計(jì)軟件[4-6]。與之前出現(xiàn)的其他技術(shù)相比,WPF發(fā)生了根本性的變化,WPF是基于DirectX引擎的,它支持GPU硬件的加速。高級(jí)別的線程進(jìn)行繪制,提高使用者的體驗(yàn)。另外,它還對(duì)矢量圖有超強(qiáng)的支持,兼容支持2D和3D繪圖。微軟還提供了專門的可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言XAML,對(duì)整個(gè)界面布局進(jìn)行合理的調(diào)整,而且簡(jiǎn)化了用戶界面的開發(fā)過(guò)程,使用XAML來(lái)實(shí)現(xiàn)WPF有以下優(yōu)點(diǎn)[7-9]:

        (1)代碼編寫相對(duì)簡(jiǎn)單、易讀性較高;

        (2)可以使用拖放工具的方式生成XAML文件;

        (3)提供了一種語(yǔ)言用來(lái)定義與程序邏輯代碼分離的用戶界面[10],XAML使得界面開發(fā)和功能開發(fā)代碼分離,有利于開發(fā)團(tuán)隊(duì)的合理分工,提高開發(fā)效率。

        2 系統(tǒng)設(shè)計(jì)

        2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)

        本系統(tǒng)有兩個(gè)數(shù)據(jù)庫(kù),后臺(tái)數(shù)據(jù)管理端采用MySql作為數(shù)據(jù)庫(kù)管理工具。MySql數(shù)據(jù)庫(kù)是當(dāng)今使用比較多的WEB數(shù)據(jù)庫(kù)系統(tǒng),它支持絕大多數(shù)較流行的操作系統(tǒng)平臺(tái),其次由于它的體積小、多用戶、多線程,可以處理大量的數(shù)據(jù)并且處理速度要比一些商業(yè)數(shù)據(jù)庫(kù)快2~3倍[11]。SQL Server 2008因其具有系統(tǒng)集成方便、可靠性和安全性以及性能比高等優(yōu)點(diǎn)[12]而被選為心理檢測(cè)服務(wù)端數(shù)據(jù)庫(kù)管理工具。

        兩種數(shù)據(jù)庫(kù)的結(jié)構(gòu)基本相同,分別建有主試人員信息表、測(cè)試人員信息表、測(cè)試計(jì)劃表、測(cè)試項(xiàng)目表、能力和人格得分表以及原始數(shù)據(jù)表。

        2.2 XAML與數(shù)據(jù)綁定

        XAML的引用使得WPF下用戶界面設(shè)計(jì)代碼與程序邏輯代碼的分離得以實(shí)現(xiàn)[13]。對(duì)于結(jié)構(gòu)化、規(guī)范化的心理測(cè)試數(shù)據(jù),采用XAML綁定可以顯著提高存儲(chǔ)及管理效率。數(shù)據(jù)綁定實(shí)質(zhì)上是綁定目標(biāo)與綁定源之間的橋梁,它實(shí)現(xiàn)了數(shù)據(jù)源及綁定目標(biāo)的雙向綁定,數(shù)據(jù)源變化時(shí)綁定目標(biāo)也自動(dòng)跟隨數(shù)據(jù)源一起發(fā)生變化;反之,綁定目標(biāo)的變化同樣也會(huì)使得綁定源發(fā)生相應(yīng)的變化。其綁定模型如圖1所示。

        每個(gè)綁定都必須具備4個(gè)組件:綁定源、綁定目標(biāo)對(duì)象、目標(biāo)屬性和綁定源中值的路徑。目標(biāo)屬性必須為依賴項(xiàng)屬性,綁定源對(duì)象并不限于自定義的CLR對(duì)象,WPF數(shù)據(jù)綁定支持CLR對(duì)象和XML形式的數(shù)據(jù)。具體實(shí)現(xiàn)代碼片段如下:

        圖1 數(shù)據(jù)綁定模型

        ……

        ……

        Public Class PeopleInfo:INotifyPropertyChanged:

        {

        Private string strName;

        Public string StrName

        {

        get{return strName;}

        set{

        strName=value;

        OnPropertyChanged(new PropertyChangedEventArgs(“StrName”));

        }

        }

        }

        頁(yè)面初始化時(shí)需要添加的代碼如下:

        pinfo.DataContext=((App) Application.Current).peopleinfo;

        2.3 系統(tǒng)功能設(shè)計(jì)

        該系統(tǒng)包括3部分內(nèi)容:后臺(tái)數(shù)據(jù)管理端、心理檢測(cè)服務(wù)端和客戶端。

        (1)后臺(tái)數(shù)據(jù)管理端是對(duì)各個(gè)測(cè)試站點(diǎn)的數(shù)據(jù)進(jìn)行匯總,供高級(jí)管理員使用,具有新建主試人員、新建和修改測(cè)試計(jì)劃、修訂常模文件并對(duì)上傳的數(shù)據(jù)進(jìn)行查詢、分析和打印等功能。

        (2)心理檢測(cè)服務(wù)端供主試人員使用,完成與后臺(tái)數(shù)據(jù)管理端的數(shù)據(jù)同步、測(cè)試任務(wù)管理和統(tǒng)計(jì)查詢。

        數(shù)據(jù)同步是指將本機(jī)數(shù)據(jù)與后臺(tái)數(shù)據(jù)管理端數(shù)據(jù)保持同步的功能,它包含數(shù)據(jù)的上傳和下載。其中下載分為常模文件的下載、主試人員信息的下載、測(cè)試計(jì)劃的下載和測(cè)試人員的下載;上傳是將本站點(diǎn)當(dāng)天做完的所有測(cè)試數(shù)據(jù)上傳至后臺(tái)數(shù)據(jù)管理端。此功能必須在互聯(lián)網(wǎng)連接正常的情況下進(jìn)行。

        測(cè)試任務(wù)管理是對(duì)測(cè)試任務(wù)進(jìn)行管理,包括設(shè)定測(cè)試人員,數(shù)據(jù)處理和結(jié)果打印。設(shè)定測(cè)試人員是將數(shù)據(jù)同步模塊下載的測(cè)試計(jì)劃分配給需要進(jìn)行測(cè)試的人員;數(shù)據(jù)處理是對(duì)已完成測(cè)試的項(xiàng)目進(jìn)行數(shù)據(jù)處理并給出相應(yīng)的報(bào)表;結(jié)果打印有單個(gè)打印和批量打印。

        統(tǒng)計(jì)查詢是對(duì)數(shù)據(jù)庫(kù)中存取的數(shù)據(jù)進(jìn)行查詢、分析,并給出總體報(bào)告。它包括原始數(shù)據(jù)的查詢、Excel導(dǎo)出和總體報(bào)告的生成。原始數(shù)據(jù)的查詢是查詢某個(gè)人某項(xiàng)測(cè)試項(xiàng)目的數(shù)據(jù),如答案和反應(yīng)時(shí)間等;Excel導(dǎo)出是導(dǎo)出測(cè)試項(xiàng)目的結(jié)果數(shù)據(jù);總體報(bào)告是生成某時(shí)間段內(nèi)的總體報(bào)告以及測(cè)試合格與否的報(bào)告。

        (3)客戶端。

        客戶端是基于Android開發(fā)的,完成測(cè)試人員的注冊(cè)和測(cè)試(文中不做詳細(xì)介紹)。

        2.4 系統(tǒng)的測(cè)試流程

        采用B/S模式實(shí)現(xiàn)心理檢測(cè)系統(tǒng)和后臺(tái)數(shù)據(jù)管理端的數(shù)據(jù)同步,對(duì)于心理檢測(cè)系統(tǒng)與客戶端平板之間則是通過(guò)局域網(wǎng)實(shí)現(xiàn)通信的。

        供高級(jí)管理員使用的后臺(tái)數(shù)據(jù)管理端建立好主試人員信息和測(cè)試計(jì)劃,其中每個(gè)主試人員都有相應(yīng)的權(quán)限。心理檢測(cè)系統(tǒng)服務(wù)端在保證互聯(lián)網(wǎng)連接正常的情況下,下載本次的測(cè)試計(jì)劃以及完成測(cè)驗(yàn)的所有的測(cè)試人員信息,下載完畢后,就可以斷開互聯(lián)網(wǎng),然后通過(guò)局域網(wǎng)和客戶端連接,等待客戶端的注冊(cè)信息。如果有新注冊(cè)的測(cè)試人員信息,則根據(jù)其是否要求被重測(cè)或者是新用戶的標(biāo)識(shí)為其分配測(cè)試任務(wù),分配完成之后,再次等待客戶端對(duì)測(cè)試任務(wù)進(jìn)行作答,作答完畢之后,數(shù)據(jù)會(huì)自動(dòng)上傳到數(shù)據(jù)庫(kù),主試人員也可以同時(shí)看到哪些測(cè)試人員已經(jīng)完成任務(wù),便可直接對(duì)其進(jìn)行數(shù)據(jù)處理,給出測(cè)試結(jié)論。至此所有測(cè)試結(jié)束,然后再次在保證互聯(lián)網(wǎng)連接正常的情況下,將已給出測(cè)試結(jié)論的人員信息再次上傳至后臺(tái)管理端數(shù)據(jù)庫(kù)。其流程如圖2所示。

        圖2 流 程

        3 關(guān)鍵技術(shù)

        對(duì)于本系統(tǒng)而言,數(shù)據(jù)需要在廣域網(wǎng)上進(jìn)行頻繁的傳輸,那么其安全性和完整性就顯得非常重要。為了實(shí)現(xiàn)其安全性,必須將數(shù)據(jù)經(jīng)過(guò)加密之后再傳輸。

        目前,比較流行的加密方式有兩種,即對(duì)稱加密算法和非對(duì)稱加密算法。對(duì)稱加密算法是指加密和解密所用的密鑰相同,此種加密方式的加密速度非常快,適合頻繁發(fā)送數(shù)據(jù)的系統(tǒng)。非對(duì)稱加密算法即加密和解密的密鑰是不同的,這種加密解密的速度非常慢,適合偶爾發(fā)送數(shù)據(jù)的系統(tǒng)。

        本系統(tǒng)中的數(shù)據(jù)傳輸比較頻繁,所以通過(guò)高級(jí)加密標(biāo)準(zhǔn)AES的對(duì)稱加密算法對(duì)數(shù)據(jù)進(jìn)行加密之后在網(wǎng)絡(luò)上進(jìn)行傳輸,從而保證了數(shù)據(jù)的安全性。

        其加密流程如圖3所示。

        圖3 加密流程

        明文P:沒有經(jīng)過(guò)加密的數(shù)據(jù)。

        密鑰K:用來(lái)加密明文的密碼。它是接收方和發(fā)送方協(xié)商而產(chǎn)生的,但不可以在網(wǎng)絡(luò)上傳輸,否則會(huì)導(dǎo)致密鑰泄露。

        AES加密函數(shù):把明文P和密鑰K作為加密函數(shù)的參數(shù)輸入,則加密函數(shù)會(huì)輸出密文C。

        密文C:經(jīng)加密函數(shù)處理后的數(shù)據(jù)。

        本系統(tǒng)使用Rfc2898DeriveBytes(pwd,salt)類,即通過(guò)使用密碼、salt值派生密鑰。其中pwd為派生密鑰的密碼,salt為用于派生密鑰的密鑰,其大小必須等于或大于8字節(jié)。

        實(shí)現(xiàn)如下:

        AesManaged aes=new AesManaged();

        byte[] salt=new byte[8];

        ……

        Rfc2898DeriveBytes k1=new Rfc2898DeriveBytes(pwd,salt);

        aes.key=k1.GetBytes(aes.Keysize/8)

        MemoryStream ms=new MemoryStream();

        cs=new CryptoStream(ms , aes.CreateEncryptor(), CryptoStreamMode.Write);

        retrun ms.toArray(); //返回加密后的數(shù)據(jù)流

        數(shù)據(jù)的完整性是通過(guò)事務(wù)來(lái)實(shí)現(xiàn)的,它是一個(gè)操作的集合,這些操作要么執(zhí)行成功,要么執(zhí)行失敗,回滾到最初的狀態(tài),從而保證了數(shù)據(jù)的完整性。其操作流程如圖4所示。

        圖4 事務(wù)的操作流程

        經(jīng)常用到的方法有以下三種[14]:

        (1)直接將數(shù)據(jù)操作的語(yǔ)句寫入到sql中。

        在存儲(chǔ)過(guò)程中使用BEGIN TRANS,COMMIT TRANS,ROLLBACK TRANS實(shí)現(xiàn)。

        優(yōu)點(diǎn):一個(gè)單獨(dú)的操作就可以包含所有的事務(wù)邏輯;運(yùn)行事務(wù)的性能最好;獨(dú)立于應(yīng)用程序。

        缺點(diǎn):僅在數(shù)據(jù)庫(kù)調(diào)用中使用事務(wù)的上下文;數(shù)據(jù)庫(kù)代碼和數(shù)據(jù)庫(kù)系統(tǒng)的自身有關(guān)。

        (2)使用ADO.Net實(shí)現(xiàn)。

        使用ADO.Net實(shí)現(xiàn),這種方式的優(yōu)點(diǎn)是既可以選擇在中間層也可以選擇在數(shù)據(jù)層來(lái)實(shí)現(xiàn)事務(wù)的管理。

        優(yōu)點(diǎn):簡(jiǎn)單性;數(shù)據(jù)庫(kù)代碼與數(shù)據(jù)庫(kù)系統(tǒng)無(wú)關(guān)。

        缺點(diǎn):事務(wù)不能在多個(gè)數(shù)據(jù)庫(kù)連接中調(diào)用。

        (3)COM+事務(wù)。

        使用DTC作為事務(wù)管理器和事務(wù)協(xié)調(diào)器在分布式環(huán)境中運(yùn)行事務(wù)。

        本系統(tǒng)選用ADO.Net實(shí)現(xiàn)事務(wù),具體代碼如下:

        Try()

        {

        SqlConnection sqlconn=new SqlConnection (strcon);

        //建立連接

        SqlCommand cmd=new SqlCommand();

        cmd.Connection=sqlconn;

        SqlTransaction sqltran; //創(chuàng)建事務(wù)

        sqlconn.Open();

        sqltran=sqlconn.BeginTransaction(); //開始事務(wù)

        cmd.Transaction=sqltran;

        操作1 //一系列操作

        操作2

        ……

        Sqltran.Commit(); //提交事務(wù)

        }

        Catch()

        {

        Sqltran.Rollback(); //事務(wù)回滾

        }

        4 應(yīng)用效果

        首先,本系統(tǒng)的功能模塊之間的耦合度低,分工明確,使用簡(jiǎn)單,用戶經(jīng)過(guò)簡(jiǎn)單的學(xué)習(xí)就能很快掌握系統(tǒng)的使用。其次,心理檢測(cè)的主要依據(jù)是數(shù)據(jù),本系統(tǒng)服務(wù)端在與后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步以及分配測(cè)試任務(wù)時(shí),當(dāng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)超過(guò)上萬(wàn)條時(shí),系統(tǒng)的運(yùn)行效率就會(huì)很低,通過(guò)使用事務(wù)可以大大提高系統(tǒng)的運(yùn)行效率,大概時(shí)間會(huì)縮短到不采用事務(wù)時(shí)的68%。

        5 結(jié)束語(yǔ)

        著重論述了在Windows環(huán)境中基于WPF的心理檢測(cè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),介紹了通過(guò)XAML技術(shù)實(shí)現(xiàn)界面與邏輯代碼完全分離,既可以使用少量的代碼實(shí)現(xiàn)復(fù)雜和美觀的界面布局,還可根據(jù)顯示器的大小自動(dòng)調(diào)節(jié)界面的呈現(xiàn)。結(jié)果表明,基于WPF的心理檢測(cè)系統(tǒng)運(yùn)行穩(wěn)定、界面美觀、功能強(qiáng)大,對(duì)其他項(xiàng)目的研發(fā)具有一定的指導(dǎo)意義[15]。

        猜你喜歡
        測(cè)試人員數(shù)據(jù)管理事務(wù)
        “事物”與“事務(wù)”
        基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        移動(dòng)應(yīng)用眾包測(cè)試人員信譽(yù)度復(fù)合計(jì)算模型研究
        企業(yè)級(jí)BOM數(shù)據(jù)管理概要
        定制化汽車制造的數(shù)據(jù)管理分析
        海洋環(huán)境數(shù)據(jù)管理優(yōu)化與實(shí)踐
        CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
        河湖事務(wù)
        高校分析測(cè)試中心測(cè)試隊(duì)伍建設(shè)方案初探
        山東化工(2018年20期)2018-04-02 16:30:53
        淺析軟件測(cè)試中的心理學(xué)應(yīng)用
        亚洲精品天堂av免费看| 久久精品国产亚洲av无码娇色| 男男车车的车车网站w98免费| 中文字幕无码av波多野吉衣| 国产色a在线观看| 亚洲天堂av免费在线看| 日本女优免费一区二区三区| 婷婷四虎东京热无码群交双飞视频| 中国丰满熟妇xxxx| 女人的天堂av免费看| 日本女同视频一区二区三区| 摸丰满大乳奶水www免费| 少妇饥渴xxhd麻豆xxhd骆驼 | 久久久无码人妻精品一区| a在线免费| 久久偷拍国内亚洲青青草| 国产精品一区二区三久久不卡| 无码不卡av东京热毛片| 国产精品亚洲专区无码web| 久久天堂av综合合色| 色哟哟亚洲色精一区二区| 毛片大全真人在线| 欧美乱人伦中文字幕在线不卡| 国产av午夜精品一区二区入口| 国产日产欧产精品精品蜜芽| 亚洲男人的天堂在线播放| 人妻少妇精品无码专区app| 免费人妖一区二区三区| 国产成人亚洲综合无码品善网 | 看国产亚洲美女黄色一级片 | 亚洲乱妇熟女爽到高潮视频高清| 蜜臀av无码人妻精品| 亚洲AV无码不卡无码国产| 日本人妻伦理片在线观看| av网站在线观看入口| 精品无码人妻一区二区三区品| 亚洲中文字幕久爱亚洲伊人| 色婷婷久久综合中文蜜桃| 男人的天堂无码动漫av| 91网站在线看| 亚洲国产女同在线观看|