![心理測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/8/16a0a90b-212f-431b-b988-451212c2e4f5/16a0a90b-212f-431b-b988-451212c2e4f51.gif)
![心理測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/8/16a0a90b-212f-431b-b988-451212c2e4f5/16a0a90b-212f-431b-b988-451212c2e4f52.gif)
![心理測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/8/16a0a90b-212f-431b-b988-451212c2e4f5/16a0a90b-212f-431b-b988-451212c2e4f53.gif)
![心理測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/8/16a0a90b-212f-431b-b988-451212c2e4f5/16a0a90b-212f-431b-b988-451212c2e4f54.gif)
![心理測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/8/16a0a90b-212f-431b-b988-451212c2e4f5/16a0a90b-212f-431b-b988-451212c2e4f55.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢 業(yè) 設(shè) 計(jì)心理測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要隨著社會(huì)改革和發(fā)展的不斷深入,大眾各群體的心理健康成為了人們?nèi)找骊P(guān)注的一個(gè)問(wèn)題,人與人之間最基本的關(guān)系是心理關(guān)系,因此人與人之間的矛盾往往是心理沖突所致,而人與人之間的友誼則是心理相融的結(jié)果。心理素質(zhì)是一個(gè)人綜合素質(zhì)的基礎(chǔ),心理的健康發(fā)展是最基本的人生課題。本課題設(shè)計(jì)主要是為了方便廣大熱衷于星座和心理測(cè)試的人們對(duì)自我有一個(gè)良好的認(rèn)知,也為要進(jìn)行心理研究的工作者提供一個(gè)智能的研究系統(tǒng),方便他們收集數(shù)據(jù)進(jìn)行分析,減輕繁重的手工勞動(dòng), 提高工作效率,對(duì)實(shí)現(xiàn)心理研究的信息化和現(xiàn)代化具有重要現(xiàn)實(shí)意義。課題主要內(nèi)容有:設(shè)計(jì)用戶界面,通過(guò)用戶名與用戶密碼進(jìn)入系統(tǒng)。
2、系統(tǒng)具有圖表生成等功能模塊,圖表生成主要是生成excel表。使管理員能方便地對(duì)數(shù)據(jù)進(jìn)行收集分析和備份,除數(shù)據(jù)庫(kù),還可以通過(guò)簡(jiǎn)便常用的excel進(jìn)行保存。系統(tǒng)可以讓多人同時(shí)進(jìn)行測(cè)試,并把結(jié)果存入數(shù)據(jù)庫(kù)中,加快工作效率。系統(tǒng)主要包括用戶模塊和管理員模塊,用戶模塊包括心理測(cè)試模塊和星座分析模塊;管理員模塊包括更新系統(tǒng)資料模塊、數(shù)據(jù)分析模塊和數(shù)據(jù)管理模塊。關(guān)鍵詞:心理 系統(tǒng) 測(cè)試 excel 數(shù)據(jù)庫(kù)目 錄1 前言11.1 心理測(cè)試系統(tǒng)的開(kāi)發(fā)目的及其意義11.2 國(guó)內(nèi)外研究概況及發(fā)展趨勢(shì)12 使用技術(shù)與開(kāi)發(fā)平臺(tái)及工具介紹32.1 ado技術(shù)32.1.1 ado技術(shù)簡(jiǎn)介32.1.2 ado技術(shù)特點(diǎn)42.1
3、.3 ado主要對(duì)象52.2 多線程技術(shù)52.3 socket技術(shù)62.3.1 socket技術(shù)介紹62.3.2 socket主要函數(shù)72.4 office自動(dòng)化技術(shù)72.5 動(dòng)態(tài)鏈接庫(kù)技術(shù)82.5.1 動(dòng)態(tài)鏈接庫(kù)介紹82.5.2 動(dòng)態(tài)鏈接庫(kù)優(yōu)點(diǎn)92.6 microsoft .net軟件介紹92.6.1 .net軟件介紹92.6.2 .net平臺(tái)112.6.3 .net的好處122.7 microsoft sql server軟件介紹133 心理測(cè)試系統(tǒng)的設(shè)計(jì)153.1 心理測(cè)試系統(tǒng)功能簡(jiǎn)介153.2 心理測(cè)試系統(tǒng)各功能執(zhí)行流程153.3 心理測(cè)試系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)183.3.1 數(shù)據(jù)表的結(jié)構(gòu)1
4、83.3.2 數(shù)據(jù)庫(kù)各表關(guān)系圖223.3.3 數(shù)據(jù)庫(kù)的應(yīng)用224 心理測(cè)試系統(tǒng)的實(shí)現(xiàn)244.1 服務(wù)器端的實(shí)現(xiàn)244.1.1 服務(wù)器端界面功能與實(shí)現(xiàn)244.1.2 心理測(cè)試跳選題型功能與實(shí)現(xiàn)244.1.3 心理測(cè)試加分題型功能與實(shí)現(xiàn)274.1.4 心理測(cè)試字符匹配題型功能與實(shí)現(xiàn)294.1.5 心理測(cè)試范圍值匹配題型功能與實(shí)現(xiàn)314.2 客戶端界面的實(shí)現(xiàn)324.2.1 客戶端界面功能與實(shí)現(xiàn)324.2.2 系統(tǒng)注冊(cè)登錄功能與實(shí)現(xiàn)334.2.3 心理測(cè)試跳選題型功能與實(shí)現(xiàn)354.2.4 心理測(cè)試加分題型功能與實(shí)現(xiàn)384.2.5 心理測(cè)試字符匹配題型功能與實(shí)現(xiàn)404.2.6 心理測(cè)試范圍值匹配題型功能
5、與實(shí)現(xiàn)415 總結(jié)與展望435.1 總結(jié)435.2 展望43abstract45參 考 文 獻(xiàn)46致 謝48仲愷農(nóng)業(yè)技術(shù)學(xué)院畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表491 前言1.1 心理測(cè)試系統(tǒng)的開(kāi)發(fā)目的及其意義隨著社會(huì)改革和發(fā)展的不斷深入,大眾各群體的心理健康成為了人們?nèi)找骊P(guān)注的一個(gè)問(wèn)題,人與人之間最基本的關(guān)系是心理關(guān)系,因此人與人之間的矛盾往往是心理沖突所致,而人與人之間的友誼則是心理相融的結(jié)果。心理素質(zhì)是一個(gè)人綜合素質(zhì)的基礎(chǔ),心理的健康發(fā)展是最基本的人生課題15。心理測(cè)驗(yàn)可以被看成一種診斷的方法,就象一個(gè)醫(yī)生把“體溫計(jì)”放到你的舌頭下測(cè)量你的體溫一樣,很多小孩子會(huì)感覺(jué)很無(wú)助,甚至對(duì)此有點(diǎn)恐懼,但是當(dāng)
6、你了解了體溫計(jì)的原理以后,你在家里也可以放心大膽地為自己測(cè)量是不是發(fā)燒了。而心理測(cè)驗(yàn)也是如此,如果你了解了心理測(cè)驗(yàn)的原理和意義所在,那么你就不會(huì)對(duì)心理測(cè)驗(yàn)懷有神秘感和恐懼感。其實(shí)心理測(cè)驗(yàn)是你了解自己的一個(gè)很有用的工具,它不是你的敵人,不要像不懂事的小孩子敵視體溫計(jì)一樣對(duì)待心理測(cè)驗(yàn),其實(shí)心理測(cè)驗(yàn)應(yīng)該是你最好的朋友。心理測(cè)試又稱心理測(cè)量,它有狹義和廣義兩種含義。狹義的心理測(cè)量是指按照一定的方法和程序去編制和使用的標(biāo)準(zhǔn)化測(cè)量,這些測(cè)量從測(cè)量工具到測(cè)量程序,從評(píng)定標(biāo)準(zhǔn)到測(cè)量結(jié)果的處理都經(jīng)過(guò)了符合科學(xué)原則的操作,而且是嚴(yán)格保密的;廣義的心理測(cè)量是指以測(cè)量心理特征為目的的各種方法17。通過(guò)各種心理測(cè)量可以
7、客觀的對(duì)人的心理狀態(tài)、認(rèn)識(shí)過(guò)程、情緒、意志、個(gè)性特征等方面進(jìn)行評(píng)估 18。目前我們通過(guò)各種各樣的途徑接觸到的心理測(cè)量(包括互聯(lián)網(wǎng)上提供的在線測(cè)驗(yàn))幾乎都是是廣義的心理測(cè)量16,本次設(shè)計(jì)的目標(biāo)是最大程度上運(yùn)用了心理學(xué)的基本原理,使其具有相當(dāng)?shù)目茖W(xué)性及準(zhǔn)確性,增加人們檢測(cè)自我心理的方式,協(xié)助心理學(xué)的研究。1.2 國(guó)內(nèi)外研究概況及發(fā)展趨勢(shì)隨著社會(huì)的進(jìn)步,人們的物質(zhì)生活得到了極大的提高,但同時(shí)人們對(duì)于心理健康的關(guān)注卻還沒(méi)有達(dá)到物質(zhì)生活的水平,于是,種種心理問(wèn)題愈發(fā)凸顯。而心理學(xué)的研究離不開(kāi)量表的測(cè)試,但量表的測(cè)試基本上都是采用傳統(tǒng)的測(cè)試方式。在這種測(cè)試方式下,既要印刷問(wèn)卷,浪費(fèi)紙張,又要人讀問(wèn)卷,有時(shí)
8、稍不注意,被測(cè)試者便會(huì)錯(cuò)過(guò)回答的題目。同時(shí),問(wèn)卷測(cè)試后,又要花費(fèi)大量的時(shí)間去輸入數(shù)據(jù)、分析數(shù)據(jù)。心理測(cè)量作為研究人的心理與行為的有效工具,已廣泛地應(yīng)用于心理素質(zhì)及心理健康狀況的評(píng)估和診斷工作。心理測(cè)量軟件系統(tǒng)作為心理測(cè)量的一種高效率的處理方式,也使得心理素質(zhì)教育、臨床心理咨詢和治療更有針對(duì)性,成效更高,使管理工作更加人性化、規(guī)范化、系統(tǒng)化。同時(shí)使專業(yè)人員能將更多的時(shí)間和精力投入到心理輔導(dǎo)、科學(xué)研究之中,從而發(fā)揮更大的作用和產(chǎn)生更大的效益。但是目前國(guó)內(nèi)外的一些心理測(cè)試軟件存在以下不足之處:(1) 一般都在單機(jī)上運(yùn)行,不利于心理測(cè)試大規(guī)模展開(kāi);(2 )對(duì)被測(cè)人員的信息沒(méi)有驗(yàn)證,獲得的數(shù)據(jù)不具備較強(qiáng)
9、的真實(shí)性、可靠性,給心理分析及科學(xué)研究工作的準(zhǔn)確性造成很大影響;(3)測(cè)試結(jié)果的數(shù)據(jù)處理的過(guò)程較長(zhǎng),被測(cè)試者的信息反饋不及時(shí),而且資料的保存不方便。美國(guó)心理學(xué)教授卡特爾編制的一套個(gè)性心理測(cè)驗(yàn)叫作16pf(簡(jiǎn)稱卡氏量表)。卡氏個(gè)性測(cè)驗(yàn)量表是目前世界上應(yīng)用最為廣泛的心理測(cè)驗(yàn)工具,譯成多國(guó)文字,已有法、意、德、日、中等國(guó)修訂本。十六種人格因素測(cè)試,現(xiàn)已廣泛應(yīng)用于和心理咨詢、生涯設(shè)計(jì)、人才選拔、職業(yè)指導(dǎo)和潛能開(kāi)發(fā)等應(yīng)用心理學(xué)工作中,不僅能明確描繪十六種基本的人格特性,而且還可以根據(jù)實(shí)驗(yàn)統(tǒng)計(jì)的結(jié)果所得的公式,推算出許多可以描繪人格類型的雙重因素。16pf性格特質(zhì)測(cè)試軟件是目前是市場(chǎng)上比較優(yōu)秀的個(gè)性心理測(cè)
10、試軟件之一,功能齊全,操作簡(jiǎn)便,可以有效地減輕心理咨詢師的工作量,是心理咨詢師、職業(yè)指導(dǎo)師、心理門(mén)診、人才市場(chǎng)、獵頭公司、職業(yè)介紹所等機(jī)構(gòu)和人員的得力工作助手,也是廣大心理學(xué)愛(ài)好者了解自我、完善自我、發(fā)展自我的工具軟件。2 使用技術(shù)與開(kāi)發(fā)平臺(tái)及工具介紹 2.1 ado技術(shù)2.1.1 ado技術(shù)簡(jiǎn)介微軟公司的ado (activex data objects) 是一個(gè)用于存取數(shù)據(jù)源的com組件5。它提供了編程語(yǔ)言和統(tǒng)一數(shù)據(jù)訪問(wèn)方式ole db的一個(gè)中間層。允許開(kāi)發(fā)人員編寫(xiě)訪問(wèn)數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫(kù)是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫(kù)的連接。訪問(wèn)數(shù)據(jù)庫(kù)的時(shí)候,關(guān)于sql的知識(shí)不是必要的,但是特定數(shù)
11、據(jù)庫(kù)支持的sql命令仍可以通過(guò)ado中的命令對(duì)象來(lái)執(zhí)行。ado被設(shè)計(jì)來(lái)繼承微軟早期的數(shù)據(jù)訪問(wèn)對(duì)象層,包括rdo (remote data objects) 和dao(data access objects)。ado在1996年冬被發(fā)布。ado包含一些頂層的對(duì)象:連接,代表到數(shù)據(jù)庫(kù)的連接記錄集,代表數(shù)據(jù)庫(kù)記錄的一個(gè)集合命令,代表一個(gè)sql命令記錄,代表數(shù)據(jù)的一個(gè)集合流,代表數(shù)據(jù)的順序集合錯(cuò)誤,代表數(shù)據(jù)庫(kù)訪問(wèn)中產(chǎn)生的意外字段,代表一個(gè)數(shù)據(jù)庫(kù)字段參數(shù),代表一個(gè)sql參數(shù)屬性,保存對(duì)象的信息ado組件的使用需要利用支持com的高級(jí)語(yǔ)言,例如asp中的vbscript或者visual basic,甚至d
12、elphi,微軟的競(jìng)爭(zhēng)對(duì)手borland的一個(gè)產(chǎn)品,現(xiàn)在也支持使用ado來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。在新的編程框架.net framework中, 微軟也提供了一個(gè)面向internet的版本的ado,稱為ado.net。其對(duì)象模型和傳統(tǒng)ado差別很大。 ado是一種面向?qū)ο蟮木幊探涌冢④浗榻B說(shuō),與其同ibm和oracle提倡的那樣,創(chuàng)建一個(gè)統(tǒng)一數(shù)據(jù)庫(kù),不如提供一個(gè)能夠訪問(wèn)不同數(shù)據(jù)庫(kù)的統(tǒng)一接口,這樣會(huì)更加實(shí)用一些。為實(shí)現(xiàn)這一目標(biāo),微軟在數(shù)據(jù)庫(kù)和微軟的ole db中提供了一種“橋”程序,這種程序能夠提供對(duì)數(shù)據(jù)庫(kù)的連接。開(kāi)發(fā)人員在使用ado時(shí),其實(shí)就是在使用ole db,不過(guò)ole db更加接近底層。ado的一
13、項(xiàng)屬性遠(yuǎn)程數(shù)據(jù)服務(wù),支持“數(shù)據(jù)倉(cāng)庫(kù)”activex 組件以及高效的客戶端緩存。作為activex的一部分,ado也是com組件的一部分。ado是由早期的微軟數(shù)據(jù)接口?遠(yuǎn)程數(shù)據(jù)對(duì)象rdo演化而來(lái)的。rdo同微軟的odbc一同連接關(guān)系數(shù)據(jù)庫(kù),不過(guò)不能連接非關(guān)系數(shù)據(jù)庫(kù)。ado向我們提供了一個(gè)熟悉的,高層的對(duì)ole db的automation封裝接口。對(duì)那些熟悉rdo的程序員來(lái)說(shuō),你可以把ole db比作是odbc驅(qū)動(dòng)程序。如同rdo對(duì)象是odbc驅(qū)動(dòng)程序接口一樣,ado對(duì)象是ole db的接口;如同不同的數(shù)據(jù)庫(kù)系統(tǒng)需要它們自己的odbc驅(qū)動(dòng)程序一樣,不同的數(shù)據(jù)源要求它們自己的ole db提供者(ol
14、e db provider)。目前,雖然ole db提供者比較少,但微軟正積極推廣該技術(shù),并打算用ole db取代odbc。ado向vb程序員提供了很多好處。包括易于使用,熟悉的界面,高速度以及較低的內(nèi)存占用(已實(shí)現(xiàn)ado2.0的msado15.dll需要占用342k內(nèi)存,比rdo的msrdo20.dll的368k略小,大約是dao3.5的dao350.dll所占內(nèi)存的60)。同傳統(tǒng)的數(shù)據(jù)對(duì)象層次(dao和rdo)不同,ado可以獨(dú)立創(chuàng)建。因此你可以只創(chuàng)建一個(gè)connection對(duì)象,但是可以有多個(gè),獨(dú)立的recordset對(duì)象來(lái)使用它。ado針對(duì)客戶服務(wù)器以及web應(yīng)用程序作了優(yōu)化。2.1.
15、2 ado技術(shù)特點(diǎn)用ado訪問(wèn)數(shù)據(jù)元的特點(diǎn)可概括如下:(1)易于使用,可以說(shuō)這是ado最重要的特點(diǎn)之一。ado 是高層數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),相對(duì)與odbc來(lái)說(shuō),具有面性對(duì)象的特點(diǎn)。同時(shí),在 ado 對(duì)象結(jié)構(gòu)中,對(duì)象與對(duì)象之間的層次結(jié)構(gòu)不適非常明顯,這會(huì)給編寫(xiě)數(shù)據(jù)庫(kù)程序帶來(lái)更多的便利。比如,在應(yīng)用程序中如果要使用記錄集對(duì)象,不一定要先建立連接、會(huì)話對(duì)象,如果需要就可以直接構(gòu)造記錄集對(duì)象。總是,已經(jīng)沒(méi)有必要去關(guān)心對(duì)象的構(gòu)造層次和構(gòu)造順序了。(2)可以訪問(wèn)多種數(shù)據(jù)源。和 ole db 一樣,使應(yīng)用程序具有很好的通用性和靈活性。(3)訪問(wèn)數(shù)據(jù)源效率高。(4)方便的web應(yīng)用。ado 可以以 activex
16、控件的形式出現(xiàn),這就大大方便了web應(yīng)用程序的編制。(5)技術(shù)編程接口豐富。 ado 支持 visual c+、visual basic、vbs、js等。2.1.3 ado主要對(duì)象ado對(duì)象包括:connection object(連接對(duì)象)、command object(命令對(duì)象)、recordset object(記錄集對(duì)象)、field object(字段對(duì)象)、record object(記錄對(duì)象)、error object(錯(cuò)誤對(duì)象)、parameter object(參數(shù)對(duì)象)、property object(對(duì)象)和stream object(流對(duì)象)。其中最為重要的3個(gè)對(duì)象是連
17、接對(duì)象、命令對(duì)象和記錄集對(duì)象6。connection object:代表了一個(gè)和數(shù)據(jù)源的連接,這和mfc odbc中創(chuàng)建數(shù)據(jù)源連接的cdatabase類非常相似。連接對(duì)象提供了對(duì)數(shù)據(jù)庫(kù)的操作,但是它不返回?cái)?shù)據(jù)庫(kù)操作之后的記錄集,這是和命令對(duì)象不同的一點(diǎn)。主要方法: open(), execute(),分別用來(lái)打開(kāi)連接和執(zhí)行sql語(yǔ)句。command object:用來(lái)處理數(shù)據(jù)庫(kù)的一些操作,在某些方面具有和連接對(duì)象相同的功能,例如都可以執(zhí)行sql語(yǔ)句以及存儲(chǔ)過(guò)程,不過(guò)命令對(duì)象可以返回帶有記錄集的結(jié)果。主要方法:execute(),用來(lái)執(zhí)行sql語(yǔ)句。recordset object:代表了一個(gè)記
18、錄集,和mfc odbc中的crecordset有些相似,用來(lái)訪問(wèn)記錄集,能方便地實(shí)現(xiàn)記錄的添加、修改和刪除操作。主要方法:open()用來(lái)打開(kāi)記錄集,還有addnew(),putvalue(),delete(),update()等操作記錄的方法。在使用這3個(gè)對(duì)象時(shí),需要定義與之對(duì)應(yīng)的3個(gè)智能指針,分別為_(kāi)connectonptr, _commandptr和_recordsetptr,然后調(diào)用它們的createinstance 方法進(jìn)行實(shí)例化。2.2 多線程技術(shù)在現(xiàn)代的各種實(shí)時(shí)監(jiān)控系統(tǒng)和通信系統(tǒng)中,在windows 9x/nt下利用vc+對(duì)rs-232串口編程是常用的手段。windows 9x
19、/nt是搶先式的多任務(wù)操作系統(tǒng),程序?qū)pu的占用時(shí)間由系統(tǒng)決定。多任務(wù)指的是系統(tǒng)可以同時(shí)運(yùn)行多個(gè)進(jìn)程,每個(gè)進(jìn)程又可以同時(shí)執(zhí)行多個(gè)線程。進(jìn)程是應(yīng)用程序的運(yùn)行實(shí)例,擁有自己的地址空間。每個(gè)進(jìn)程擁有一個(gè)主線程,同時(shí)還可以建立其他的線程。線程是操作系統(tǒng)分配cpu時(shí)間的基本實(shí)體,每個(gè)線程占用的cpu時(shí)間由系統(tǒng)分配,系統(tǒng)不停的在線程之間切換。進(jìn)程中的線程共享進(jìn)程的虛擬地址空間,可以訪問(wèn)進(jìn)程的資源,處于并行執(zhí)行狀態(tài),這就是多線程的基本概念。 使用mfc開(kāi)發(fā)是較普遍的vc+編程方法。在vc+下,mfc應(yīng)用程序的線程由cwinthread對(duì)象表示。vc+把線程分為兩種:用戶界面線程和工作者線程。用戶界面線程能
20、夠提供界面和用戶交互,通常用于處理用戶輸入并相應(yīng)各種事件和消息;而工作者線程主要用來(lái)處理程序的后臺(tái)任務(wù)。vc+提供了同步對(duì)象來(lái)協(xié)調(diào)多線程的并行,常用的有以下幾種:csemaphore:信號(hào)燈對(duì)象,允許一定數(shù)目的線程訪問(wèn)某個(gè)共享資源,常用來(lái)控制訪問(wèn)共享資源的線程數(shù)量。cmutex:互斥量對(duì)象,一個(gè)時(shí)刻至多只允許一個(gè)線程訪問(wèn)某資源,未被占用時(shí)處于有信號(hào)狀態(tài),可以實(shí)現(xiàn)對(duì)共享資源的互斥訪問(wèn)。cevent:事件對(duì)象,用于使一個(gè)線程通知其他線程某一事件的發(fā)生,所以也可以用來(lái)封鎖對(duì)某一資源的訪問(wèn),直到線程釋放資源使其成為有信號(hào)狀態(tài)。適用于某一線程等待某事件發(fā)生才能執(zhí)行的場(chǎng)合。ccriticalsection
21、:臨界區(qū)對(duì)象,將一段代碼置入臨界區(qū),只允許最多一個(gè)線程進(jìn)入執(zhí)行這段代碼。一個(gè)臨界區(qū)僅在創(chuàng)建它的進(jìn)程中有效。2.3 socket技術(shù)2.3.1 socket技術(shù)介紹應(yīng)用層通過(guò)傳輸層進(jìn)行數(shù)據(jù)通信時(shí),tcp和udp會(huì)遇到同時(shí)為多個(gè)應(yīng)用程序進(jìn)程提供并發(fā)服務(wù)的問(wèn)題。多個(gè)tcp連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過(guò)同一個(gè)tcp協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)別不同的應(yīng)用程序進(jìn)程和連接,許多計(jì)算機(jī)操作系統(tǒng)為應(yīng)用程序與tcpip協(xié)議交互提供了稱為套接字(socket)的接口,區(qū)分不同應(yīng)用程序進(jìn)程間的網(wǎng)絡(luò)通信和連接。生成套接字,主要有3個(gè)參數(shù):通信的目的ip地址、使用的傳輸層協(xié)議(tcp或udp)和使用的端口號(hào)。要通過(guò)互聯(lián)
22、網(wǎng)進(jìn)行通信,至少需要一對(duì)套接字,一個(gè)運(yùn)行于客戶機(jī)端,稱之為clientsocket,另一個(gè)運(yùn)行于服務(wù)器端,稱之為serversocket。 根據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過(guò)程可以分為三個(gè)步驟:服務(wù)器監(jiān)聽(tīng),客戶端請(qǐng)求,連接確認(rèn)。 服務(wù)器監(jiān)聽(tīng):是服務(wù)器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)。 客戶端請(qǐng)求:是指由客戶端的套接字提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的套接字。為此,客戶端的套接字必須首先描述它要連接的服務(wù)器的套接字,指出服務(wù)器端套接字的地址和端口號(hào),然后就向服務(wù)器端套接字提出連接請(qǐng)求。 連接確認(rèn):是指當(dāng)服務(wù)器端套接字監(jiān)
23、聽(tīng)到或者說(shuō)接收到客戶端套接字的連接請(qǐng)求,它就響應(yīng)客戶端套接字的請(qǐng)求,建立一個(gè)新的線程,把服務(wù)器端套接字的描述發(fā)給客戶端,一旦客戶端確認(rèn)了此描述,連接就建立好了。而服務(wù)器端套接字繼續(xù)處于監(jiān)聽(tīng)狀態(tài),繼續(xù)接收其他客戶端套接字的連接請(qǐng)求。2.3.2 socket主要函數(shù)socket接口包括三類函數(shù):第一類是winsock api包含的berkeley socket函數(shù)。這類函數(shù)分兩部分。第一部分是用于網(wǎng)絡(luò)i/o的函數(shù),如accept、closesocket、connect、recv、recvfrom、select、send、sendto另一部分是不涉及網(wǎng)絡(luò)i/o、在本地端完成的函數(shù),如bind、get
24、peername、getsockname、getsocketopt、htonl、htons、inet_addr、inet_ntonioctlsocket、listen、ntohl、ntohs、setsocketopt、shutdow、socket等第二類是檢索有關(guān)域名、通信服務(wù)和協(xié)議等internet信息的數(shù)據(jù)庫(kù)函數(shù),如gethostbyaddr、gethostbyname、gethostname、getprotolbyname、getprotolbynumber、getserverbyname、getservbyport。第三類是berkekley socket例程的windows專用的擴(kuò)展
25、函數(shù),如gethostbyname 對(duì)應(yīng)的wsaasyngethostbyname(其他數(shù)據(jù)庫(kù)函數(shù)除了gethostname 都有異步版本),select對(duì)應(yīng)的wsaasynselect,判斷是否阻塞的函數(shù)wsaisblocking,得到上一次windsock api錯(cuò)誤信息的wsagetlasterror,等等。2.4 office自動(dòng)化技術(shù)自動(dòng)化(或稱為 ole 自動(dòng)化)是一種技術(shù),該技術(shù)允許利用現(xiàn)有程序的功能并將其合并到自己的應(yīng)用程序中4。例如,可以在應(yīng)用程序中使用microsoft word 的拼寫(xiě)和語(yǔ)法檢查功能,而不讓用戶看到 microsoft word。甚至可以使用 micros
26、oft excel 的所有圖表、打印和數(shù)據(jù)分析工具。該技術(shù)可以大大簡(jiǎn)化和加快開(kāi)發(fā)??赏ㄟ^(guò)以下三種基本方法來(lái)使用自動(dòng)化:mfc、#import 和 c/c+2:(1) 借助于 mfc,您可以使用 visual c+ classwizard 從 microsoft office 類型庫(kù)生成“包裝類”。這些類以及諸如 colevariant、colesafearray 和 coleexception 之類的其他 mfc 類可簡(jiǎn)化自動(dòng)化任務(wù)。此方法優(yōu)于其他方法,通常建議使用該方法,并且大部分 microsoft 知識(shí)庫(kù)示例都使用 mfc。(2) #import 是 visual c+ 5.0 中引入的
27、一個(gè)新指令,它可以從指定的類型庫(kù)創(chuàng)建 vc+“智能指針”。它的功能非常強(qiáng)大,但通常不建議使用它,因?yàn)樗c microsoft office 應(yīng)用程序一起使用時(shí),經(jīng)常會(huì)出現(xiàn)引用計(jì)數(shù)問(wèn)題。(3) c/c+ 自動(dòng)化要困難得多,但有時(shí)為了避免由于使用 mfc 時(shí)所造成的開(kāi)銷(xiāo)或避免使用 #import 時(shí)所出現(xiàn)的問(wèn)題,需要使用該方法?;旧?,您會(huì)用到 cocreateinstance() 這樣的 api 以及諸如 idispatch 和 iunknown 之類的 com 接口。2.5 動(dòng)態(tài)鏈接庫(kù)技術(shù)2.5.1 動(dòng)態(tài)鏈接庫(kù)介紹動(dòng)態(tài)鏈接庫(kù) (dll) 是dynamic link library 的縮寫(xiě)形式,
28、它是作為共享函數(shù)庫(kù)的可執(zhí)行文件7。動(dòng)態(tài)鏈接提供了一種方法,使進(jìn)程可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù)。函數(shù)的可執(zhí)行代碼位于一個(gè) dll 中,該 dll 包含一個(gè)或多個(gè)已被編譯、鏈接并與使用它們的進(jìn)程分開(kāi)存儲(chǔ)的函數(shù)。dll 還有助于共享數(shù)據(jù)和資源。多個(gè)應(yīng)用程序可同時(shí)訪問(wèn)內(nèi)存中單個(gè)dll 副本的內(nèi)容。dll 是一個(gè)包含可由多個(gè)程序同時(shí)使用的代碼和數(shù)據(jù)的庫(kù)。例如,在 windows 操作系統(tǒng)中,comdlg32 dll 執(zhí)行與對(duì)話框有關(guān)的常見(jiàn)函數(shù)。因此,每個(gè)程序都可以使用該 dll 中包含的功能來(lái)實(shí)現(xiàn)“打開(kāi)”對(duì)話框。這有助于促進(jìn)代碼重用和內(nèi)存的有效使用9。通過(guò)使用 dll,程序可以實(shí)現(xiàn)模塊化,由相對(duì)獨(dú)立
29、的組件組成。例如,一個(gè)計(jì)帳程序可以按模塊來(lái)銷(xiāo)售??梢栽谶\(yùn)行時(shí)將各個(gè)模塊加載到主程序中(如果安裝了相應(yīng)模塊)。因?yàn)槟K是彼此獨(dú)立的,所以程序的加載速度更快,而且模塊只在相應(yīng)的功能被請(qǐng)求時(shí)才加載。此外,可以更為容易地將更新應(yīng)用于各個(gè)模塊,而不會(huì)影響該程序的其他部分。例如,您可能具有一個(gè)工資計(jì)算程序,而稅率每年都會(huì)更改。當(dāng)這些更改被隔離到 dll 中以后,您無(wú)需重新生成或安裝整個(gè)程序就可以應(yīng)用更新。2.5.2 動(dòng)態(tài)鏈接庫(kù)優(yōu)點(diǎn) 使用較少的資源當(dāng)多個(gè)程序使用同一個(gè)函數(shù)庫(kù)時(shí),dll可以減少在磁盤(pán)和物理內(nèi)存中加載的代碼的重復(fù)量。這不僅可以大大影響在前臺(tái)運(yùn)行的程序,而且可以大大影響其他在windows操作系統(tǒng)
30、上運(yùn)行的程序。 推廣模塊式體系結(jié)構(gòu)dll有助于促進(jìn)模塊式程序的開(kāi)發(fā)。這可以幫助您開(kāi)發(fā)要求提供多個(gè)語(yǔ)言版本的大型程序或要求具有模塊式體系結(jié)構(gòu)的程序。模塊式程序的一個(gè)示例是具有多個(gè)可以在運(yùn)行時(shí)動(dòng)態(tài)加載的模塊的計(jì)帳程序。 簡(jiǎn)化部署和安裝當(dāng)dll中的函數(shù)需要更新或修復(fù)時(shí),部署和安裝dll 不要求重新建立程序與該dll的鏈接。此外,如果多個(gè)程序使用同一個(gè)dll,那么多個(gè)程序都將從該更新或修復(fù)中獲益。當(dāng)您使用定期更新或修復(fù)的第三方dll時(shí),此問(wèn)題可能會(huì)更頻繁地出現(xiàn)。2.6 microsoft .net軟件介紹2.6.1 .net軟件介紹microsoft .net是microsoft的xml web服務(wù)平
31、臺(tái)8。.net包含了建立和運(yùn)行基于xml的軟件所需要的全部部件。 microsoft .net解決了下面這些當(dāng)今軟件開(kāi)發(fā)中的一些核心問(wèn)題: (1)互操作性(interoperability)、集成性(integration)和應(yīng)用程序的可擴(kuò)展性(extensibility)太難實(shí)現(xiàn)而且代價(jià)很高。microsoft .net依靠xml(一個(gè)由world wide web consortium(w3c)管理的開(kāi)放標(biāo)準(zhǔn))消除了數(shù)據(jù)共享和軟件集成的障礙。 (2)無(wú)數(shù)具有相當(dāng)競(jìng)爭(zhēng)力的私有軟件技術(shù)使得軟件的集成變得非常復(fù)雜。而microsoft .net建立在一個(gè)開(kāi)放的標(biāo)準(zhǔn)上,它包含了所有編程語(yǔ)言。 (3
32、)當(dāng)終端用戶使用軟件時(shí),他們總覺(jué)得不夠簡(jiǎn)便。有時(shí)甚至感到很沮喪,因?yàn)樗麄儫o(wú)法在程序之間方便地共享數(shù)據(jù)或是無(wú)法對(duì)能訪問(wèn)的數(shù)據(jù)進(jìn)行操作。xml使數(shù)據(jù)交換變得容易了,并且.net軟件可以使得用戶只要一得到數(shù)據(jù)就能對(duì)它們進(jìn)行操作。 (4)終端用戶們?cè)谑褂脀eb的時(shí)候,無(wú)法對(duì)自己的個(gè)人信息和數(shù)據(jù)進(jìn)行控制,這導(dǎo)致了個(gè)人隱私和安全泄漏問(wèn)題。而microsoft .net提供了一套服務(wù),使用戶可以管理他們的個(gè)人信息,并且控制對(duì)這些信息的訪問(wèn)。 (5).com公司和web站點(diǎn)開(kāi)發(fā)者們很難為用戶們提供足夠的有價(jià)值的數(shù)據(jù),至少有一部分原因是由于他們的應(yīng)用程序和服務(wù)無(wú)法很好地和其他程序和服務(wù)合作,只是一個(gè)不和外界連接
33、的信息孤島。而microsoft .net的設(shè)計(jì)宗旨就是為了使來(lái)自于多個(gè)站點(diǎn)和公司的數(shù)據(jù)或服務(wù)能夠整合起來(lái)。如同ms-dos和windows一樣,.net將大大改變我們的計(jì)算領(lǐng)域。ms-dos使得個(gè)人電腦在商業(yè)和家庭中廣為接受;windows增強(qiáng)了用戶的圖形界面,使其成為首選的與軟件交互方式,最終使得圖形界面成為個(gè)人電腦的主流。而.net則要把xml web服務(wù)變成日后的主流計(jì)算模式。 xml web服務(wù)是建立在xml數(shù)據(jù)交換基礎(chǔ)上的軟件模型,它幫助應(yīng)用程序、服務(wù)和設(shè)備一起工作。用xml進(jìn)行共享的數(shù)據(jù),彼此之間獨(dú)立,但同時(shí)又能夠松耦合地連接到一個(gè)執(zhí)行某特定任務(wù)的合作組。 xml web服務(wù)使開(kāi)
34、發(fā)者能夠?qū)λ麄兯某绦虻膩?lái)源進(jìn)行選擇,可以自己創(chuàng)建或購(gòu)買(mǎi)程序的功能塊;同樣也可以選擇是讓自己的方案使用其他的xml web服務(wù),還是讓其他的程序使用自己的服務(wù)。這意味著一個(gè)公司不必為了給客戶一個(gè)完整的解決方案而不得不提供方案的每一個(gè)組成部分。 xml web服務(wù)除了個(gè)服務(wù)相互之間獨(dú)立以外,對(duì)訪問(wèn)它們的設(shè)備而言也是獨(dú)立的。與獨(dú)立應(yīng)用程序不同的是,xml web服務(wù)并沒(méi)有束縛于某一特定的編程語(yǔ)言或商業(yè)應(yīng)用程序或者是某一在線服務(wù)。.net戰(zhàn)略 microsoft .net程序員們?cè)O(shè)計(jì)編寫(xiě)的是xml web服務(wù),而不是服務(wù)器或客戶端的獨(dú)立應(yīng)用程序。他們把這些服務(wù)組合成松耦合,相互協(xié)作的軟件群,xml
35、 web服務(wù)之間使用xml messaging進(jìn)行通訊。為了做到這一點(diǎn),程序員需要:1.一個(gè)軟件平臺(tái),用于建立一種新的完整的個(gè)人用戶經(jīng)驗(yàn)。 2.一個(gè)編程模型和工具,用以建立和整合x(chóng)ml web服務(wù)。 3.一套能為應(yīng)用程序和服務(wù)提供基礎(chǔ)的可編程的服務(wù) microsoft的.net戰(zhàn)略就瞄準(zhǔn)了這三點(diǎn)。 .net包括:.net平臺(tái),這是一套編程工具和基本構(gòu)架,用來(lái)創(chuàng)建、發(fā)布、管理和整合x(chóng)ml web服務(wù)。.net體驗(yàn),這是終端用戶用以和.net交互的手段。 2.6.2 .net平臺(tái)microsoft的平臺(tái)是由用于創(chuàng)建和運(yùn)行xml web服務(wù)組成的。它包含了下面四個(gè)組件:.net框架和visual s
36、tudio.net:這些是開(kāi)發(fā)人員用來(lái)生成xml web服務(wù)的工具。.net框架是microsoft .net平臺(tái)核心中的一套編程接口;visual studio.net是一套多語(yǔ)言系列的編程工具。服務(wù)器基本結(jié)構(gòu)(server infrastructure): .net的服務(wù)器基本結(jié)構(gòu)是一系列用于生成、發(fā)布和操作xml web服務(wù)的基礎(chǔ)程序,包括windows和各種.net企業(yè)服務(wù)器。主要的技術(shù)包括對(duì)xml、scale-out及跨程序和服務(wù)的商務(wù)流程(business process orchestration)的支持。這些服務(wù)器包括有: application center 2000,用于s
37、cale-out solutions biztalk server 2000,用于創(chuàng)建和管理基于xml的跨程序和服務(wù)的商務(wù)流程(business process orchestration across applications and services) host integration server 2000,用來(lái)訪問(wèn)主機(jī)上的數(shù)據(jù)和應(yīng)用程序 mobile information 2001 server,使移動(dòng)設(shè)備,比如移動(dòng)電話,也能使用這些應(yīng)用程序 sql server 2000儲(chǔ)存和檢索結(jié)構(gòu)化的xml數(shù)據(jù) building block services: building block s
38、ervices是一套以用戶為中心的xml web服務(wù),它把用戶數(shù)據(jù)的控制權(quán)從應(yīng)用程序移到了用戶手上,使web有了一個(gè)翻天覆地的變化,做到了程序、服務(wù)和設(shè)備之間的簡(jiǎn)單性及一致性,這保證了所有的交易都必須得到用戶的同意。這些服務(wù)包含了passport(用于用戶身份驗(yàn)證)、服務(wù)之間的消息傳遞、文件存儲(chǔ)、用戶個(gè)性設(shè)置的管理、日歷管理和其他一些功能。microsoft將在那些對(duì).net基本結(jié)構(gòu)起至關(guān)重要作用的領(lǐng)域內(nèi)提供一些塊構(gòu)建服務(wù)(building block services)。大量的合作伙伴和開(kāi)發(fā)商將對(duì)這些塊構(gòu)建服務(wù)作重要的擴(kuò)展。智能設(shè)備(smart device): .net利用軟件使智能設(shè)備,
39、諸如手提電腦、輕便電話、游戲操縱臺(tái)等都能夠在.net世界中得以使用。一個(gè)智能設(shè)備應(yīng)該: 對(duì)用戶要智能:能根據(jù)用戶的.net身份、檔案(profile)和有關(guān)數(shù)據(jù)簡(jiǎn)化用戶的工作;另外要對(duì)用戶的存在足夠的智能,能根據(jù)你的在與不在對(duì)通知(notification)作出調(diào)整。對(duì)網(wǎng)絡(luò)要智能:負(fù)責(zé)帶寬的限制;支持應(yīng)用程序的在線和線下兩種使用模式;知道有哪些有效的服務(wù)對(duì)信息要智能:能在任何地方、任何時(shí)間訪問(wèn)、分析和操作數(shù)據(jù)。對(duì)其他的設(shè)備要智能:能發(fā)現(xiàn)和報(bào)告其他智能設(shè)備、服務(wù)和internet的存在;知道如何為其他設(shè)備提供服務(wù);能夠靈活方便地從pc上訪問(wèn)信息。對(duì)軟件和服務(wù)要智能:能根據(jù)表單的情況,最恰當(dāng)?shù)乇憩F(xiàn)
40、應(yīng)用和數(shù)據(jù);為終端用戶提供合適的輸入方法和連接;用xml、soap和uddi來(lái)使用web服務(wù);對(duì)開(kāi)發(fā)者來(lái)說(shuō),要具有可編程性和擴(kuò)展性。microsoft的一些軟件使能夠在智能設(shè)備上運(yùn)行的,它們包括windows xp、windows me、windows ce、嵌入式windows、.net框架以及.net compact框架。2.6.3 .net的好處microsoft .net為程序員、商業(yè)領(lǐng)導(dǎo)、it部門(mén)以及消費(fèi)者帶來(lái)了很多好處。相對(duì)來(lái)說(shuō),程序員是比較缺乏的,雇用的費(fèi)用也很高。然而microsoft .net使編程工作變得更加容易,開(kāi)發(fā)投資的回報(bào)率也趨最大化。開(kāi)發(fā)者們可以創(chuàng)建能重用的xml
41、web服務(wù),而不再是一個(gè)單一的程序;這些web服務(wù)易于編程和調(diào)試,彼此之間相互獨(dú)立,通過(guò)xml message通訊及合作。所以對(duì)某一個(gè)服務(wù)的修改不會(huì)影響到其他的服務(wù)。 由于xml web服務(wù)可以被很多.net體驗(yàn)共同使用,所以對(duì)一個(gè)服務(wù)模塊的有效更新,也即更新了所有使用這個(gè)模塊的.net體驗(yàn)。任何編程語(yǔ)言都可以用來(lái)編寫(xiě)xml web服務(wù)(如:c、c+、visual basic、cobol、perl、python和java等),所以你的程序員可以選擇他們最熟悉的語(yǔ)言來(lái)編程,這大大提高了開(kāi)發(fā)效率。更值得一體的是,他們并沒(méi)有因使用了不同的語(yǔ)言而失去跨服務(wù)或跨組件的調(diào)試能力。microsoft .ne
42、t減少了程序員要寫(xiě)的代碼量。一個(gè)xml web服務(wù)能適用于所以的設(shè)備,不必再去為每一個(gè)設(shè)備編寫(xiě)一個(gè)不同的版本。另外,將顯示特性與.net體驗(yàn)分開(kāi)以便以后加入新的接口技術(shù),比如語(yǔ)音或手寫(xiě)識(shí)別,而不必去重寫(xiě)程序。microsoft .net開(kāi)創(chuàng)了全新的商業(yè)模型,它使得一個(gè)公司可以用多種方法來(lái)把自己的技術(shù)商品化。技術(shù)提供商可以把他們現(xiàn)有的軟件包轉(zhuǎn)變?yōu)閤ml web服務(wù),并把這些服務(wù)出售給需要這些功能第三方,或是給.net體驗(yàn)提供商,用以構(gòu)建新的軟件包。microsoft .net允許it部門(mén)使用其他提供商的xml web服務(wù),減少內(nèi)部研發(fā)的開(kāi)銷(xiāo),并能提高工作效率。microsoft .net對(duì)用戶界
43、面友好作了重新定義。終端用戶能夠徜徉于一個(gè)智能化的、個(gè)性化的internet,它能記住用戶的個(gè)人設(shè)置,并在適當(dāng)?shù)臅r(shí)候,向用戶使用的智能設(shè)備上發(fā)送適當(dāng)?shù)臄?shù)據(jù)。2.7 microsoft sql server軟件介紹sql是英文structured query language的縮寫(xiě),意思為結(jié)構(gòu)化查詢語(yǔ)言。sql語(yǔ)言的主要功能就是同各種數(shù)據(jù)庫(kù)建立聯(lián)系,進(jìn)行溝通。按照ansi(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))的規(guī)定,sql被作為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。sql語(yǔ)句可以用來(lái)執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫(kù)中的數(shù)據(jù),從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),如oracle, sybase
44、, microsoft sql server, access等都采用了sql語(yǔ)言標(biāo)準(zhǔn)。雖然很多數(shù)據(jù)庫(kù)都對(duì)sql語(yǔ)句進(jìn)行了再開(kāi)發(fā)和擴(kuò)展,但是包括select, insert, update, delete, create,以及drop在內(nèi)的標(biāo)準(zhǔn)的sql命令仍然可以被用來(lái)完成幾乎所有的數(shù)據(jù)庫(kù)操作12。sql server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它最初是由microsoft sybase 和ashton-tate三家公司共同開(kāi)發(fā)的,于1988 年推出了第一個(gè)os/2 版本。在windows nt 推出后,microsoft與sybase 在sql server 的開(kāi)發(fā)上就分道揚(yáng)鑣了,micros
45、oft 將sql server 移植到windows nt系統(tǒng)上,專注于開(kāi)發(fā)推廣sql server 的windows nt 版本。sybase 則較專注于sql server在unix 操作系統(tǒng)上的應(yīng)用。sql server 2000 是microsoft 公司推出的sql server 數(shù)據(jù)庫(kù)管理系統(tǒng),該版本繼承了sql server 7.0 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行microsoft windows 98 的膝上型電腦到運(yùn)行microsoft windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用
46、。sql server 2005 是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能 (bi) 工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。sql server 2005 數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序13。sql server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 sql server 2005 結(jié)合了分析、報(bào)表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 bi 解決方案,幫助您的團(tuán)隊(duì)通過(guò)記分卡、dashboard、web services 和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)域。與 microsof
47、t visual studio、microsoft office system 以及新的開(kāi)發(fā)工具包(包括 business intelligence development studio)的緊密集成使 sql server 2005 與眾不同。無(wú)論您是開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)管理員、信息工作者還是決策者,sql server 2005 都可以為您提供創(chuàng)新的解決方案,幫助您從數(shù)據(jù)中更多地獲益14。3 心理測(cè)試系統(tǒng)的設(shè)計(jì)3.1 心理測(cè)試系統(tǒng)功能簡(jiǎn)介系統(tǒng)主要包括用戶模塊和管理員模塊,用戶模塊包括心理測(cè)試模塊和星座分析模塊:心理測(cè)試模塊包括生命數(shù)字測(cè)試、夢(mèng)想與成功測(cè)試等多個(gè)心理小測(cè)試;星座分析模塊包括2009
48、年星座運(yùn)勢(shì)總概、星座性格分析、星座與水晶、星座與血型、生日密碼等。管理員模塊包括更新系統(tǒng)資料模塊、數(shù)據(jù)分析模塊和數(shù)據(jù)管理模塊。系統(tǒng)結(jié)構(gòu)圖如下所示: 圖1 心理測(cè)試系統(tǒng)結(jié)構(gòu)圖3.2 心理測(cè)試系統(tǒng)各功能執(zhí)行流程圖2 服務(wù)器端添加題目流程圖圖3 客戶端用戶注冊(cè)流程圖圖4 客戶端用戶登錄流程圖圖5 客戶端進(jìn)行心理測(cè)試流程圖3.3 心理測(cè)試系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 數(shù)據(jù)表的結(jié)構(gòu)在該系統(tǒng)數(shù)據(jù)庫(kù)psychologydatabase.db中有:t_jumpchoose_test、t_jumpchoose_test_answer、t_jumpchoose_test_question、t_jumpchoose_
49、test_question_option、t_plusmark_test、t_plusmark_test_answer、t_plusmark_test_question、t_plusmark_test_question_option、t_range_match_test、t_test、t_range_match_test_answer、t_test_record_jumpchoose、t_test_record_jumpchoose_option、t_test_record_plusmark、t_test_record_plusmark_option、t_test_record_range_m
50、atch、t_test_record_word_match、t_user、t_word_match_test、t_word_match_test_answer等20個(gè)相關(guān)的數(shù)據(jù)表。其對(duì)應(yīng)的表格式如下:表1 t_jumpchoose_test表表2 t_jumpchoose_test_answer表表3 t_jumpchoose_test_question表表4 t_jumpchoose_test_question_option表表5 t_plusmark_test表表6 t_plusmark_test_answer表表7 t_plusmark_test_question表表8 t_plusma
51、rk_test_question_option表表9 t_range_match_test表表10 t_range_match_test_answer表表11 t_test表表12 t_test_record_jumpchoose表表13 t_test_record_jumpchoose_option表表14 t_test_record_plusmark表表15 t_test_record_plusmark_option表16 t_test_record_range_match表表17 t_test_record_word_match表表18 t_user表表19 t_word_match_t
52、est表表20 t_word_match_test_answer表3.3.2 數(shù)據(jù)庫(kù)各表關(guān)系圖圖6 數(shù)據(jù)庫(kù)各表關(guān)系3.3.3 數(shù)據(jù)庫(kù)的應(yīng)用連接數(shù)據(jù)庫(kù)的代碼是:hr = m_pconnection.createinstance(adodb.connection);/創(chuàng)建連接實(shí)例3if (succeeded(hr)csettingvo setting;cstring initialcatalog=setting.getinitialcatalog();/獲取初始化數(shù)據(jù)庫(kù)cstring datasource=setting.getdatasource();/獲取數(shù)據(jù)源cstring username
53、=setting.getusername();/獲取用戶名cstring password=setting.getpassword();/獲取密碼cstring connectstring=_t(provider=sqloledb.1;initial catalog=)+initialcatalog+_t(;data source=)+datasource;/生成連接字符串_bstr_t strconnect(connectstring);_bstr_t strusername(username);_bstr_t strpassword(password);hr = m_pconnection
54、-open(strconnect,strusername,strpassword,admodeunknown);/連接數(shù)據(jù)庫(kù)m_pconnection-cursorlocation=aduseclient;11第一行定義了一個(gè)adodb數(shù)據(jù)庫(kù)連接組件,其他行是為了連接數(shù)據(jù)庫(kù)。另外,關(guān)閉數(shù)據(jù)庫(kù)的代碼是:conn-close();conn.release();return (1);4 心理測(cè)試系統(tǒng)的實(shí)現(xiàn)4.1 服務(wù)器端的實(shí)現(xiàn)4.1.1 服務(wù)器端界面功能與實(shí)現(xiàn)界面是整個(gè)系統(tǒng)的開(kāi)始,所有客戶和管理員使用本系統(tǒng)時(shí)都會(huì)第一時(shí)間看到,本界面設(shè)計(jì)簡(jiǎn)單明了,給各用戶一個(gè)簡(jiǎn)易的使用界面。用戶可以通過(guò)這個(gè)界面選擇要
55、進(jìn)入的功能。圖7為服務(wù)端的開(kāi)始界面圖。圖7 服務(wù)端開(kāi)始界面只要管理員打開(kāi)該界面,其它客戶端就可以同時(shí)使用這個(gè)系統(tǒng)了。管理員進(jìn)入后,選擇“測(cè)試服務(wù)”就可以添加題目和對(duì)系統(tǒng)的內(nèi)容進(jìn)行管理及相關(guān)內(nèi)容的統(tǒng)計(jì)。4.1.2 心理測(cè)試跳選題型功能與實(shí)現(xiàn)1.心理測(cè)試跳選題型功能與實(shí)現(xiàn)心理測(cè)試的題型主要有兩種,其中之一就是跳選類型的題目。這種題目主要是根據(jù)用戶選擇的答案,再跳到下一道測(cè)試題目。然后根據(jù)最后一道題目跳到對(duì)應(yīng)的答案,測(cè)試結(jié)束。跳選題的最大優(yōu)勢(shì)在于只需用戶點(diǎn)擊自己選自的答案就可以連接到下一題,簡(jiǎn)單方便,是很多喜歡做心理測(cè)試的愛(ài)好者最喜歡做的一類題目,因?yàn)椴挥糜?jì)算那么多,隨心選擇就可以直接得出答案了。管理員在開(kāi)始界面選擇測(cè)試服務(wù)的“測(cè)試狀態(tài)”,然后就可以顯示出現(xiàn)有的測(cè)試題目,點(diǎn)擊“添加測(cè)試”后,選擇跳選型的題目后,就會(huì)出現(xiàn)圖8對(duì)話框。圖8 跳選題答案編輯界面通過(guò)以上界面編輯對(duì)應(yīng)的答案后,添加成功后就點(diǎn)擊“編輯題目”,就會(huì)彈出圖9的對(duì)話框讓管理員添加題目及跳選順序。設(shè)計(jì)這樣的編輯方式,可以方便系統(tǒng)讀取數(shù)據(jù),而且管理員在編輯時(shí)也不會(huì)很難,主要是在編輯跳選順序時(shí)要小心注意。其它都只要在對(duì)應(yīng)的圖框中輸入對(duì)應(yīng)的資料就可以了。圖9 跳選題題目編輯界面
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 朝陽(yáng)2024年遼寧朝陽(yáng)師范學(xué)院招聘37人筆試歷年參考題庫(kù)附帶答案詳解
- 攀枝花2025年四川攀枝花市民政局直屬事業(yè)單位考調(diào)4人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年中國(guó)沖天爐數(shù)字式綜合檢測(cè)儀市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)高壓均質(zhì)機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)耐低溫型不干膠行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)直流脈寬調(diào)速器行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年活門(mén)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)易洗除漬素行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)嬰兒玩具拉琴行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年女裝牛仔中褲項(xiàng)目可行性研究報(bào)告
- 北京市北師大附中2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 駝鳥(niǎo)養(yǎng)殖生態(tài)旅游項(xiàng)目策劃書(shū)方案模版(4篇)
- 煤礦重大災(zāi)害治理中長(zhǎng)期規(guī)劃(防治煤塵爆炸、火災(zāi)事故)
- 安全風(fēng)險(xiǎn)隱患舉報(bào)獎(jiǎng)勵(lì)制度
- 教學(xué)成果獎(jiǎng)培育工作方案
- 廈門(mén)三固科技有限公司貨幣資金管理優(yōu)化設(shè)計(jì)
- 北京卷2025屆高考語(yǔ)文倒計(jì)時(shí)模擬卷含解析
- 2023學(xué)年廣東省深圳實(shí)驗(yàn)學(xué)校初中部九年級(jí)(下)開(kāi)學(xué)語(yǔ)文試卷
- 貫徹《法治思想學(xué)習(xí)綱要》一書(shū)專題課件
- (完整版)施工組織設(shè)計(jì)范本
- 二年級(jí)口算題大全1000道(打印版)
評(píng)論
0/150
提交評(píng)論