基于HTML5Geolocation考勤管理系統(tǒng)_第1頁(yè)
基于HTML5Geolocation考勤管理系統(tǒng)_第2頁(yè)
基于HTML5Geolocation考勤管理系統(tǒng)_第3頁(yè)
基于HTML5Geolocation考勤管理系統(tǒng)_第4頁(yè)
基于HTML5Geolocation考勤管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩140頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

135-/NUMPAGES145摘要隨著互聯(lián)網(wǎng)技術(shù)的不斷進(jìn)展和計(jì)算機(jī)性能的不斷提升,用戶享受互聯(lián)網(wǎng)的方式也開(kāi)始不斷的變化,越來(lái)越多的應(yīng)用能夠直接以掃瞄器打開(kāi)的方式使用,數(shù)據(jù)則是存儲(chǔ)在云端,更加的安全可靠,方便用戶共享數(shù)據(jù)。在各種應(yīng)用不斷的趨于更加網(wǎng)絡(luò)話的同時(shí),一種新的技術(shù)標(biāo)準(zhǔn)也隨之產(chǎn)生,那確實(shí)是HTML5(HTML是一種標(biāo)記語(yǔ)言也是一種標(biāo)準(zhǔn),互聯(lián)網(wǎng)開(kāi)發(fā)居于此)。HTML5是近十年來(lái)Web(互聯(lián)網(wǎng))標(biāo)準(zhǔn)最巨大的飛躍,和往常的版本不同,HTML5并非僅僅用來(lái)表示W(wǎng)eb內(nèi)容,它的使命是將Web帶入一個(gè)成熟的應(yīng)用平臺(tái),在那個(gè)平臺(tái)上,視頻、音頻、圖象和動(dòng)畫(huà),以及同電腦的交互都被標(biāo)準(zhǔn)化。也確實(shí)是講HTML5是通過(guò)開(kāi)放的技術(shù)和標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)一個(gè)無(wú)插件模式的富客戶端,那個(gè)客戶端能夠在移動(dòng)終端、PC(個(gè)人計(jì)算機(jī))或者其他能夠有網(wǎng)絡(luò)的地點(diǎn)輕松的運(yùn)行。因此現(xiàn)在研究HTML5,同時(shí)大膽的實(shí)踐有著重要的意義。本文完成了一個(gè)基于HTML5GeolocationAPI的考勤治理系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)。本文的研究工作要緊是運(yùn)用軟件工程原理,對(duì)那個(gè)系統(tǒng)進(jìn)行需求分析、設(shè)計(jì)、代碼實(shí)現(xiàn)和測(cè)試。本文的前兩部分介紹了課題背景和相關(guān)技術(shù)。在第三部分需求分析中,以用例模型為工具,分析了本系統(tǒng)的功能需求和非功能需求。第四部分介紹了本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),是本文的重點(diǎn),所有內(nèi)容差不多上圍繞那個(gè)主題來(lái)展開(kāi)論述的。在這一部分中,詳細(xì)介紹了基于基于HTML5GeolocationAPI的考勤治理系統(tǒng)軟件的設(shè)計(jì)、實(shí)現(xiàn)和各個(gè)過(guò)程中存在的問(wèn)題與解決方法。本文的第五部分,完成了對(duì)該應(yīng)用的測(cè)試,并列出了在測(cè)試過(guò)程中發(fā)覺(jué)的一些不足。最后介紹了HTML5Geolocation應(yīng)用的前景展望。通過(guò)對(duì)基于Html5Geolocation考勤治理系統(tǒng)開(kāi)發(fā)過(guò)程的介紹,能夠了解到一個(gè)HTML5應(yīng)用的開(kāi)發(fā)過(guò)程。近年來(lái),由于HTML5Geolocation定位迅速崛起,針對(duì)HTML5應(yīng)用的開(kāi)發(fā)將有著寬敞的前景?!娟P(guān)鍵詞】HTML5Geolocation考勤ABSTRACTWiththecontinuousdevelopmentofInternettechnologyandcomputerperformancecontinuestoincrease,usershavebeguntoenjoythewaytheInternetisconstantlychanging,moreandmoreapplicationscanbeopeneddirectlyinthebrowser'suseofthedataisstoredinthecloud,moresafe,reliable,user-sharedata.InavarietyofapplicationscontinuetobecomemorenetworksofthesessionandanewtechnicalstandardsattendantthatHTML5(HTMLisamarkuplanguageisastandard,Internetdevelopmentlivinghere).HTML5isthedecadeWeb(Internet)Standardgreatestleap,andpreviousversions,HTML5isnotjustusedtorepresentWebcontent,itsmissionistobringamatureWebapplicationplatform,onthisplatform,video,audio,imagesandanimations,aswellasinteractionwiththecomputerhavebeenstandardized.ThatHTML5isthroughopentechnologiesandstandardstoachieveafreeplug-inmodelrichclient,theclientcanbeinthemobileterminal,PC(personalcomputer)oranyotherplacewherethenetworkcanbeeasilyrun.SointhiscasestudyHTML5,andboldpracticeofgreatsignificance.

ThiscompletedaHTML5GeolocationAPI-basedtimeandattendancemanagementsystemsoftwaredesignandimplementation.Theresearchworkismainlyusingsoftwareengineeringprinciple,thissystemneedsanalysis,design,codeandtest.

Thefirsttwopartsofthisarticledescribesthebackgroundandrelatedtechnicalissues.Inthethirdpartofthedemandanalysis,usecasemodelasatooltoanalyzethefunctionalrequirementsofthesystemandnon-functionalrequirements.Thefourthsectiondescribesthedesignandimplementationofthissystemisthefocusofthisarticle,allcontentisaroundthisthemetoexpanddiscussed.Inthissection,describedindetailbasedonHTML5GeolocationAPIattendancemanagementsystemsoftwaredesign,implementation,andvariousprocessproblemsandsolutions.Thefifthpartofthisarticle,completetheapplicationofthetest,thetestingprocessandlistssomeofthedeficienciesfound.FinallyintroducesHTML5Geolocationapplicationprospect.

ByHtml5Geolocationbasedattendancemanagementsystemdevelopmentprocessisdescribed,youcanlearnaHTML5applicationdevelopmentprocess.Inrecentyears,therapidriseofHTML5GeolocationpositioningforHTML5applicationdevelopmentwillhaveabroadprospect.【Keywords】HTML5Geolocationattendance

目錄TOC\o"1-3"\h\u6327前言 -1-29566第一章緒論 -2-29042第一節(jié)課題的研究背景 -2-24494第二節(jié)課題的研究目的和意義 -2-25571第二章相關(guān)技術(shù)分析與介紹 -4-5371第一節(jié)HTML5 -4-2361一、HTML5簡(jiǎn)介 -4-5084二、HTML5GeolocationAPI介紹 -4-1040第二節(jié)HTML5GeolocationAPI的使用 -9-28813一、檢查掃瞄器的支持特性 -9-27511二、位置請(qǐng)求 -9-4742第三節(jié)開(kāi)發(fā)集成環(huán)境 -13-2854一、C#簡(jiǎn)介 -13-30797二、系統(tǒng)架構(gòu):B/S架構(gòu) -15-2673三、數(shù)據(jù)庫(kù)軟件:SQLServer2005 -16-27436第四節(jié)百度地圖 -17-22454第三章基于HTML5Geolocation的考勤治理系統(tǒng)需求分析 -18-10586第一節(jié)概述 -18-25687一、考勤治理 -19-655二、考勤查詢(xún) -19-23946三、公告 -19-545四、考勤報(bào)表 -19-12407五、考勤設(shè)置 -19-23318第三節(jié)非功能性需求 -20-23681一、環(huán)境需求 -20-11739二、界面需求 -20-27825三、通用性需求 -20-15473四、可靠性需求 -20-31130五、可擴(kuò)展性需求 -20-2390六、異常處理 -20-24363第四節(jié)可行性分析 -21-32380一、經(jīng)濟(jì)可行性分析 -21-28238二、運(yùn)行可行性分析 -22-25849三、法律可行性分析 -22-24646第五節(jié)本章小結(jié) -23-31590第四章基于HTML5Geolocation考勤治理系統(tǒng)的設(shè)計(jì) -24-16931第一節(jié)功能框架設(shè)計(jì) -24-10243一、系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) -24-208二、治理員治理模塊功能結(jié)構(gòu) -24-27922三、其它功能模塊 -25-17022四、業(yè)務(wù)流程圖 -26-14611五、E-R圖 -26-24699六、用戶治理表實(shí)體圖及屬性 -28-14781七、考勤查詢(xún)表的實(shí)體圖及屬性 -28-11448第二節(jié)系統(tǒng)功能詳細(xì)設(shè)計(jì) -29-20461一、數(shù)據(jù)庫(kù)表的設(shè)計(jì) -29-18573二、登陸模塊設(shè)計(jì) -30-29666第三節(jié)職員角色模塊 -31-15989一、職員登錄 -31-5243二、WEB考勤 -31-24282三、個(gè)人信息 -32-4442四、考勤記錄 -33-8241五、公告通知 -33-12050第四節(jié)治理員角色模塊 -34-1263一、考勤治理 -34-7624二、通知公告 -37-24092三、人事治理 -37-11767四、系統(tǒng)設(shè)置 -38-14225第五章系統(tǒng)維護(hù)和改進(jìn) -39-27700第一節(jié)系統(tǒng)測(cè)試 -39-25384一、舉例測(cè)試 -39-25634二、測(cè)試項(xiàng)目 -40-614三、項(xiàng)目測(cè)試方法 -41-3062四、系統(tǒng)優(yōu)勢(shì) -42-10848結(jié)論 -43-9537參考文獻(xiàn) -45-23537附錄 -46-1238一、關(guān)鍵代碼: -46-6779二、英文原文: -55-768三、英文翻譯: -65-前言隨著互聯(lián)網(wǎng)的不斷進(jìn)展,互聯(lián)網(wǎng)對(duì)人們的生活也在不斷地變化和加強(qiáng),人們慢慢地差不多開(kāi)始適應(yīng)于互聯(lián)網(wǎng)所帶來(lái)的各類(lèi)服務(wù)與應(yīng)用,同時(shí)享受著它帶來(lái)的便利和豐富。因此隨著互聯(lián)網(wǎng)的基礎(chǔ)用戶和開(kāi)發(fā)者不斷增多,人們不斷地去制造和完善它的速度也越來(lái)越快,不管從技術(shù)層面依舊商業(yè)層面,新的模式和方法層出不窮,整個(gè)行業(yè)新陳代謝不斷加速,新的應(yīng)用和新的公司不斷地挑戰(zhàn)著新的技術(shù)和新的模式,由于整個(gè)行業(yè)存在創(chuàng)業(yè)成本專(zhuān)門(mén)低、技術(shù)成本門(mén)檻卻較高等特點(diǎn),大公司也不斷地推動(dòng)著新的技術(shù),基于此來(lái)創(chuàng)建一定的技術(shù)壁壘,同時(shí)基于此建立全新的服務(wù)和技術(shù)。然而怎么講整個(gè)互聯(lián)網(wǎng)是一個(gè)開(kāi)放的環(huán)境,大伙兒需要一種標(biāo)準(zhǔn),而不是一家獨(dú)大的競(jìng)爭(zhēng)下去,如此就一定會(huì)失去民心,因此HTML5這種更加新的標(biāo)準(zhǔn)和技術(shù)體系在不斷地革新中進(jìn)展壯大。HTML5是近十年來(lái)Web標(biāo)準(zhǔn)進(jìn)展巨大的一個(gè)跨越,與往常的版本相比較,HTML5不僅用來(lái)表示W(wǎng)eb內(nèi)容,而是將Web引入一個(gè)比較成熟的應(yīng)用平臺(tái),在那個(gè)平臺(tái)上,視頻、音頻、圖象和動(dòng)畫(huà),以及標(biāo)準(zhǔn)化與電腦的交互。盡管HTML5的實(shí)現(xiàn)還有專(zhuān)門(mén)長(zhǎng)的路要走,但HTML5正在改變Web。另外,目前的互聯(lián)網(wǎng)不僅僅是傳統(tǒng)意義上面的互聯(lián)網(wǎng),所有的傳統(tǒng)應(yīng)用和模式正在向著更加移動(dòng)和便捷進(jìn)展,人們可能通過(guò)手機(jī)、平板電腦等各類(lèi)移動(dòng)設(shè)備來(lái)獵取信息和使用更加豐富的應(yīng)用,如物理位置定位信息等新的數(shù)據(jù)采集和多點(diǎn)觸控、重力感應(yīng)等新的交互方式的應(yīng)用,以后必將也會(huì)改變?nèi)藗兩畹姆椒矫婷妗TML5中也加入了以上各類(lèi)新的元素和功能,同時(shí)也考慮到了非健全人事使用互聯(lián)網(wǎng)時(shí)可能帶來(lái)的問(wèn)題。因此,研究HTML5這種技術(shù)體系來(lái)嘗試做一些應(yīng)用是一個(gè)千載難逢的機(jī)遇,而基于那個(gè)變革的年代去使用類(lèi)似的技術(shù)來(lái)制造更多新的應(yīng)用更是能夠改變那個(gè)世界的一次機(jī)會(huì)。該課題是基于HTML5來(lái)做一個(gè)最佳實(shí)踐,完成之前不可能使用WEB技術(shù)來(lái)完成的功能,性能照比之前的技術(shù)體系要高出專(zhuān)門(mén)多,而且有足夠的前瞻性和創(chuàng)新性。互聯(lián)網(wǎng)和其他的行業(yè)最大的區(qū)不確實(shí)是這是一個(gè)創(chuàng)新驅(qū)動(dòng)同時(shí)快速變化的行業(yè),一種新的技術(shù)可能就會(huì)制造出新的應(yīng)用、新的商業(yè)模式,該課題是基于HTML5技術(shù)在Web環(huán)境中實(shí)現(xiàn)的一個(gè)考勤系統(tǒng),通過(guò)使用HTML5中的Geolocation來(lái)實(shí)現(xiàn)實(shí)時(shí)性,這無(wú)疑是對(duì)最新技術(shù)的一次最佳實(shí)踐和學(xué)習(xí),也是對(duì)自己的能力的一次歷練。

第一章緒論隨著互聯(lián)網(wǎng)技術(shù)和信息技術(shù)的日益成熟,人類(lèi)社會(huì)開(kāi)始進(jìn)入信息時(shí)代。信息時(shí)代的到來(lái)給社會(huì)生活的各個(gè)方面帶來(lái)了巨大的變化,這些變化同樣也阻礙到了網(wǎng)絡(luò)辦公平臺(tái)的建設(shè)。信息技術(shù)和信息系統(tǒng)幾乎滲透到了網(wǎng)絡(luò)辦公的每一個(gè)細(xì)節(jié),對(duì)網(wǎng)絡(luò)辦公平臺(tái)的各個(gè)層次均產(chǎn)生了不容忽視的阻礙。第一節(jié)課題的研究背景隨著計(jì)算機(jī)技術(shù)的飛速進(jìn)展,計(jì)算機(jī)在治理中的廣泛應(yīng)用,利用計(jì)算機(jī)實(shí)現(xiàn)基于HTML5geolocation考勤治理勢(shì)在必行。關(guān)于基于HTML5geolocation考勤治理來(lái)講,其中會(huì)員治理等是在隨時(shí)變化的。利用計(jì)算機(jī)支持完成基于HTML5geolocation考勤治理事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求的必要條件。然而基于HTML5geolocation考勤治理是一項(xiàng)繁瑣而又細(xì)致的工作,一般不同意出錯(cuò),計(jì)算機(jī)進(jìn)行治理工作,不僅能夠保證信息核對(duì)準(zhǔn)確無(wú)誤,而且還能夠利用計(jì)算機(jī)對(duì)各種信息進(jìn)行有效統(tǒng)計(jì)處理?;贖TML5geolocation考勤治理系統(tǒng)能夠?yàn)橹卫韱T和用戶提供充足的信息和快捷的查詢(xún)手段。使用計(jì)算機(jī)對(duì)基于HTML5geolocation考勤進(jìn)行治理,關(guān)心用戶更加快捷應(yīng)用電腦搜尋所需相冊(cè)信息,這些優(yōu)點(diǎn)能夠極大地提高查詢(xún)的效率,同時(shí),這也是移動(dòng)客戶服務(wù)治理科學(xué)化、正規(guī)化治理以及與世界先進(jìn)治理技術(shù)接軌的重要條件。因此,建立起高效的基于HTML5geolocation考勤治理系統(tǒng),能真正提升信息應(yīng)用的效益。第二節(jié)課題的研究目的和意義基于HTML5geolocation考勤治理實(shí)質(zhì)是信息技術(shù)的高效處理,以計(jì)算機(jī)為基礎(chǔ)的現(xiàn)代信息處理的產(chǎn)生和進(jìn)展,正是基于HTML5geolocation考勤治理現(xiàn)代化的客觀要求。隨著計(jì)算機(jī)在中國(guó)的普遍應(yīng)用,越來(lái)越多的基于HTML5geolocation考勤治理者意識(shí)到基于HTML5geolocation考勤治理系統(tǒng)對(duì)治理自身進(jìn)展的重要作用,投入大量的人力、物力、財(cái)力進(jìn)行基于HTML5geolocation考勤治理系統(tǒng)的建設(shè)。現(xiàn)代科技的飛速進(jìn)展,基于HTML5geolocation考勤治理系統(tǒng)處理從全然上能夠?yàn)楦嗟闹卫碚邷p少多方面的經(jīng)濟(jì)資源,在實(shí)際操作上也是提高用戶與治理的效率捷徑,能夠?qū)iT(mén)好地做到基于HTML5geolocation考勤治理信息的有效共享和協(xié)同。能夠講,有效的基于HTML5geolocation考勤治理系統(tǒng)是實(shí)現(xiàn)良好的整合關(guān)系的重要保證。

相關(guān)技術(shù)分析與介紹HTML5一、HTML5簡(jiǎn)介HTML標(biāo)準(zhǔn)從1999年12月公布的HTML4.01后,后繼的HTML5和其它標(biāo)準(zhǔn)被束之高閣,為了推動(dòng)Web標(biāo)準(zhǔn)化運(yùn)動(dòng)的進(jìn)展,一些公司聯(lián)合起來(lái),成立了一個(gè)叫做WebHypertextApplicationTechnologyWorkingGroup(Web超文本應(yīng)用技術(shù)工作組-WHATWG)的組織。WHATWG致力于Web表單和應(yīng)用程序,而W3C(WorldWideWebConsortium,萬(wàn)維網(wǎng)聯(lián)盟)專(zhuān)注于XHTML2.0。在2006年,雙方?jīng)Q定進(jìn)行合作,來(lái)創(chuàng)建一個(gè)新版本的HTML。HTML5草案的前身名為WebApplications1.0,于2004年被WHATWG提出,于2007年被W3C接納,并成立了新的HTML工作團(tuán)隊(duì)。HTML5的第一份正式草案已于2008年1月22日公布。HTML5仍處于完善之中。然而,大部分現(xiàn)代掃瞄器差不多具備了某些HTML5支持。2012年12月17日,萬(wàn)維網(wǎng)聯(lián)盟(W3C)正式宣布凝聚了大量網(wǎng)絡(luò)工作者心血的HTML5規(guī)范差不多正式定稿。依照W3C的發(fā)言稿稱(chēng):“HTML5是開(kāi)放的Web網(wǎng)絡(luò)平臺(tái)的奠基石。”支持Html5的掃瞄器包括Firefox(火狐掃瞄器),IE9及其更高版本,Chrome(谷歌掃瞄器),Safari,Opera等;國(guó)內(nèi)的傲游掃瞄器(Maxthon),以及基于IE或Chromium(Chrome的工程版或稱(chēng)實(shí)驗(yàn)版)所推出的360掃瞄器、搜狗掃瞄器、QQ掃瞄器、獵豹掃瞄器等國(guó)產(chǎn)掃瞄器同樣具備支持HTML5的能力。二、HTML5GeolocationAPI介紹地理位置(Geolocation)是HTML5的重要特性之一,提供了確定用戶位置的功能,借助那個(gè)特性能夠開(kāi)發(fā)基于位置信息的應(yīng)用程序。1、HTML5GeolocationAPI使用概述HTML5GeolocationAPI的使用方法。請(qǐng)求一個(gè)位置信息,假如用戶同意,掃瞄器返回該位置信息,該位置是通過(guò)HTML5地理定位功能的底層設(shè)備(例如:筆記本電腦和手機(jī))提供給掃瞄器的。位置由經(jīng)度、緯度坐標(biāo)和其他元素?cái)?shù)據(jù)組成。有這些位置數(shù)據(jù)信息構(gòu)建出位置感知類(lèi)應(yīng)用程序。2、位置數(shù)據(jù)信息位置信息由緯度、經(jīng)度坐標(biāo)和一些其他元數(shù)據(jù)組成。例如北京故宮的位置信息要緊由一對(duì)緯度和經(jīng)度坐標(biāo)組成:緯度:北緯39.9,經(jīng)度:東經(jīng)116.4。經(jīng)緯度坐標(biāo)有兩種表示方式:十進(jìn)制格式(例如39.9)和DMS(DegreeMinuteSecond,角度)格式(例如39°54′20″)。HTML5GeolocationAPI返回的坐標(biāo)格式為十進(jìn)制格式。除了緯度和經(jīng)度坐標(biāo),HTML5Geolocation還提供位置坐標(biāo)的準(zhǔn)確度。除此之外,它還會(huì)提供其他一些元數(shù)據(jù),比如海拔、海拔準(zhǔn)確度、行駛方向和速度等,具體情況取決于掃瞄器所在的硬件設(shè)備。3、位置信息來(lái)源及比較HTML5GeolocationaAPI不指定設(shè)備用哪種底層技術(shù)來(lái)定位應(yīng)用程序的用戶。它只用于檢索位置信息的API,而且通過(guò)該API檢索到的數(shù)據(jù)只具有某種程度的準(zhǔn)確性。它并不保證設(shè)備返回的實(shí)際位置是精確的。位置信息一般從如下數(shù)據(jù)源獲得:(1)IP地址(2)三維坐標(biāo)(3)GPS(GlobalPositioningSystem,全球定位系統(tǒng))(4)Wi-Fi(5)手機(jī)信號(hào)(6)用戶自定義數(shù)據(jù)它們各有優(yōu)缺點(diǎn)如表1.1所示,為了保證更高的準(zhǔn)確度,許多設(shè)備使用多個(gè)數(shù)據(jù)源組合的方式。IP地址地理定位數(shù)據(jù)。往常,基于IP地址的地理定位是獵取位置的唯一方式,其返回的位置信息通常并不靠譜。基于IP地理位置的定位方式是:自動(dòng)查找用戶的IP地址,然后檢索其注冊(cè)的物理地址。因此,假如用戶的地址是ISP提供的,位置就會(huì)由服務(wù)器供應(yīng)商的物理地址決定,而地址可能距離用戶數(shù)千米。GPS地理定位數(shù)據(jù)。能看到天空的地點(diǎn),GPS就能夠提供精確的定位結(jié)果。GPS定位是通過(guò)地球周?chē)鄠€(gè)衛(wèi)星的GPS衛(wèi)星的信號(hào)實(shí)現(xiàn)的。GPS定位的時(shí)刻比較長(zhǎng),因此不適合快速相應(yīng)的應(yīng)用程序。Wi-Fi地理定位數(shù)據(jù)?;赪i-Fi地理定位信息是通過(guò)三角距離計(jì)算得出,三角距離指的是用戶當(dāng)前位置到已知的多個(gè)Wi-Fi(大多是在都市)接入點(diǎn)的距離。與GPS不同的是,Wi-Fi在室內(nèi)也特不精確。手機(jī)地理定位數(shù)據(jù)。基于手機(jī)的地理定位信息是通過(guò)用戶到一些基站的三角距離確定位置結(jié)果。經(jīng)常與Wi-Fi和基于GPS的地理定位信息結(jié)合使用。用戶自定義的地理定位數(shù)據(jù)。除去通過(guò)編程計(jì)算出用戶的位置外,也能夠通過(guò)用戶自定義其位置。應(yīng)用程序能夠同意用戶輸入他們的地址、郵政編碼和其他的一些關(guān)于位置的詳細(xì)信息。應(yīng)用程序通過(guò)這些數(shù)據(jù)信息來(lái)提供位置的感知服務(wù)。

表1.1位置信息獵取方式對(duì)比數(shù)據(jù)源優(yōu)點(diǎn)缺點(diǎn)IP地址任何地點(diǎn)都可用

在服務(wù)器端處理不精確(經(jīng)常出錯(cuò),一般精確到都市級(jí))

運(yùn)算代價(jià)大GPS專(zhuān)門(mén)精確定位時(shí)刻長(zhǎng),耗電量大

室內(nèi)效果差

需要額外硬件設(shè)備支持Wi-Fi精確

可在室內(nèi)使用

簡(jiǎn)單、快捷在鄉(xiāng)村這些Wi-Fi接入點(diǎn)少的地區(qū)無(wú)法使用手機(jī)信號(hào)相當(dāng)準(zhǔn)確

可在室內(nèi)使用

簡(jiǎn)單、快捷需要能夠訪問(wèn)手機(jī)或其modem設(shè)備用戶自定義可獲得比程序定位服務(wù)更準(zhǔn)確的位置數(shù)據(jù)

用戶自行輸入可能比自動(dòng)檢測(cè)更快可能專(zhuān)門(mén)不準(zhǔn)確,特不是當(dāng)用戶位置變更后4、掃瞄器支持情況各個(gè)掃瞄器對(duì)HTML5Geolocation的支持程度不同,同時(shí)還在不斷更新中。在HTML5的所有功能中,HTML5Geolocation是第一批被全部同意和實(shí)現(xiàn)的功能之一,相關(guān)規(guī)范差不多達(dá)到一個(gè)特不成熟的時(shí)期,不大可能做太大改變。如表2.2所示,專(zhuān)門(mén)多掃瞄器差不多支持HTML5Geolocation:

表2.2掃瞄器對(duì)HTML5Geolocation的支持情況掃瞄器支持情況Firefox3.5及以上版本支持Chrome在帶有Gears的第2版Chrome中被支持InternetExplorer通過(guò)Gears插件支持Opera在版本10中支持Safari在版本4中支持以實(shí)現(xiàn)在iPhone上可用5、隱私機(jī)制HTML5Geolocation規(guī)范提供了一套愛(ài)護(hù)用戶隱私的機(jī)制。只有得到用戶的許可,否者不可獵取用戶的地理位置。那個(gè)合理的隱私機(jī)制同樣解釋了用戶一直對(duì)HTML5應(yīng)用程序中的難題。從HTML5Geolocation的例子中能夠看到,通常會(huì)鼓舞用戶共享這些信息。例如:用戶在咖啡廳喝咖啡,假如應(yīng)用程序能夠讓他們得知該咖啡店附近的商店在打折,那么用戶就能夠共享他們的位置信息是完全能夠同意的。其中步驟如下:(1)用戶掃瞄器打開(kāi)應(yīng)用程序的位置感應(yīng)程序。(2)應(yīng)用程序WEB頁(yè)面加載,通過(guò)Geolocation函數(shù)調(diào)用請(qǐng)求。掃瞄器攔截請(qǐng)求,請(qǐng)求用戶授權(quán)。假如同意接著執(zhí)行,否則停止。(3)掃瞄器從宿主設(shè)備中檢索坐標(biāo)信息。例如:IP地址,Wi-Fi或GPS坐標(biāo)。掃瞄器內(nèi)部具有的功能。(4)掃瞄器將坐標(biāo)發(fā)送給受信任的外部定位服務(wù),返回一個(gè)詳細(xì)的位置信息,病將該位置發(fā)回給HTML5Geolocation應(yīng)用程序。6、隱私機(jī)制觸發(fā)觸發(fā)訪問(wèn)使用HTML5GeolocationAPI的頁(yè)面時(shí),會(huì)觸發(fā)隱私愛(ài)護(hù)機(jī)制。下圖顯示了在Firefox3.5中觸發(fā)隱私愛(ài)護(hù)機(jī)制的頁(yè)面:圖2.1在Firefox3.5中觸發(fā)隱私愛(ài)護(hù)機(jī)制的頁(yè)面:程序調(diào)用HTML5Geolocation代碼時(shí)后動(dòng)身這一機(jī)制。僅僅添加HTML5Geolocation代碼,而不被任何方法調(diào)用,則可不能觸發(fā)隱私愛(ài)護(hù)機(jī)制。只要所添加的HTML5Geolocation代碼被執(zhí)行,掃瞄器就會(huì)提示應(yīng)用程序需要共享他們的位置。執(zhí)行HTML5Geolocation的方發(fā)專(zhuān)門(mén)多,如調(diào)用navigation.geolocation.getCurrentPostion方法等。

第二節(jié)HTML5GeolocationAPI的使用本小節(jié)詳細(xì)討論HTML5GeolocationAPI的使用方法。通過(guò)創(chuàng)建一個(gè)簡(jiǎn)單的掃瞄器頁(yè)面,讓讀者更加了解其使用方法。一、檢查掃瞄器的支持特性在調(diào)用HTML5GeolocationAPI函數(shù)前,需要確保支持所要完成的工作。在當(dāng)前掃瞄器不支持的時(shí)候就能夠提供一些代替文本,以提示用戶升級(jí)所用的掃瞄器或者安裝插件來(lái)增強(qiáng)現(xiàn)有掃瞄器的功能,以下代碼是掃瞄器檢查的一種途徑。清單1.檢查掃瞄器支持特性:functiontestSupport(){if(navigator.geolocation){document.getElementById(“support”).innerHTML="支持HTML5Geolocation。";}else{document.getElementById(“support”).innerHTML="該掃瞄器不支持HTML5Geolocation!建議升級(jí)掃瞄器或安裝插件(如Gears)。";}}在此例子中,testSupport函數(shù)測(cè)試了掃瞄器的支持情況,該函數(shù)功能是在調(diào)用該函數(shù)時(shí)候假如存在地理定位的對(duì)象,navigator.geolocation)調(diào)用將返回該函數(shù)對(duì)象,否則觸發(fā)錯(cuò)誤。頁(yè)面上會(huì)依照檢測(cè)結(jié)果顯示支持情況的提示信息。二、位置請(qǐng)求在HTML5Geolocation功能中,位置請(qǐng)求有兩種:?jiǎn)未味ㄎ徽?qǐng)求重復(fù)性位置更新請(qǐng)求1、單次位置請(qǐng)求在許多應(yīng)用中,只檢索或請(qǐng)求一次用戶位置即可。例如前面提到的,午餐時(shí)刻到了,要查詢(xún)用戶附近餐館的特色菜及其價(jià)格和評(píng)論,就能夠使用清單2所示的HTML5GeolocationAPI。清單2.單詞定位請(qǐng)求APIVoidgetCurrentPosition(inPositionCallbacksuccessCallback,inoptionalPositionErrorCallbackerrorCallback,inoptionalPositionOptionsoptions);該函數(shù)調(diào)用的詳細(xì)分析。首先,因那個(gè)函數(shù)是通過(guò)navigatar.geolocation對(duì)象的調(diào)用。因此在本代碼中需要愛(ài)獵取次對(duì)象。因確保有一個(gè)后備函數(shù),來(lái)對(duì)應(yīng)不支持HTML5Geolocation的情況。那個(gè)函數(shù)同意一個(gè)必選參數(shù)和兩個(gè)可選參數(shù)。函數(shù)參數(shù)successCallback為掃瞄器指明位置數(shù)據(jù)可用時(shí)應(yīng)調(diào)用的函數(shù)。因?yàn)橄瘾C取位置數(shù)據(jù)如此的操作可能需要長(zhǎng)時(shí)刻才能完成,因此那個(gè)參數(shù)專(zhuān)門(mén)重要。沒(méi)有用戶希望在檢索位置時(shí)掃瞄器被鎖定,也沒(méi)有開(kāi)發(fā)人員希望他的程序無(wú)限期暫停(特不是要成功取得位置信息,經(jīng)常必須等待用戶的許可)。successCallback是收到實(shí)際位置信息并進(jìn)行處理的地點(diǎn)。跟絕大多數(shù)編程場(chǎng)景一樣,最好提早預(yù)備出錯(cuò)處理。位置信息請(qǐng)求專(zhuān)門(mén)可能因?yàn)橐恍┎豢煽匾蛩厥?,關(guān)于這些情況,你可能需要提供一個(gè)用于跟用戶解釋或者提示其重試的successCallback函數(shù)。盡管此函數(shù)時(shí)可選的,只是建議選用。最后,options對(duì)象能夠調(diào)整HTML5Geolocation()的javaScript函數(shù),它使用最新的位置數(shù)據(jù)更新頁(yè)面內(nèi)容。同樣地,也創(chuàng)建了一個(gè)handleLocationError()函數(shù)來(lái)處理錯(cuò)誤情況。接下來(lái),我們將研究這些函數(shù)的細(xì)節(jié),而請(qǐng)求訪問(wèn)用戶位置的核心代碼如下所示:Navigator.geolocation.getCurrentPosition(updateLocation,handleLocationionError);updateLocation()函數(shù)updateLocation()函數(shù)是做什么的呢?實(shí)際上特不簡(jiǎn)單。只要掃瞄器具備訪問(wèn)位置信息的條件,就會(huì)調(diào)用updateLocation()函數(shù),該函數(shù)只同意一個(gè)參數(shù):位置對(duì)象。那個(gè)對(duì)象包含坐標(biāo)(corrds特性)和一個(gè)獵取位置數(shù)據(jù)時(shí)的時(shí)刻戳。在實(shí)際開(kāi)發(fā)中不一定需要時(shí)刻戳,重要的位置都包含在了coords特性中。坐標(biāo)總是有多個(gè)特性,然而掃瞄器和用戶硬件設(shè)備會(huì)決定這些特性值是都有意義。以下是三個(gè)特性:(1)latitude(緯度)(2)Longitude(經(jīng)度)(3)accuracy(準(zhǔn)確度)毋庸置疑,這些特性的數(shù)據(jù)時(shí)必須的。Latitude和longitude將包含HTML5Geolocation服務(wù)測(cè)定得到最佳的十進(jìn)制用戶位置。Accurarcy將以m為制定緯度和經(jīng)度值與實(shí)際位置間的差距,置信度為95%。局限于HTML5Geolocation的實(shí)現(xiàn)方式,位置只能粗略的近似值。在呈現(xiàn)返回值鈔票請(qǐng)一定要檢查返回值的準(zhǔn)確度。假如推舉的所謂的“附件的”鞋店,事實(shí)上要耗費(fèi)用戶幾小時(shí)的路程,可能會(huì)產(chǎn)生意想不到的后果。坐標(biāo)還有一些其他特性,不能保證掃瞄器都為其提供支持,但假如不支持就會(huì)返回null:Latitude—用戶位置的海拔高度,以m為單位;altitudeAccuracy—海拔高度的準(zhǔn)確度,也是以m為單位,假如不支持altitude特性也會(huì)返回null;Heading—行進(jìn)方向,相關(guān)于正北而言;Speed—地面速度,以m/s為單位。除非確定用戶的設(shè)備能夠訪問(wèn)這些信息,否則建議應(yīng)用程序不要過(guò)于依靠它們。全球定位設(shè)備可能提供這種細(xì)節(jié)信息,而網(wǎng)絡(luò)三角定位則可不能。現(xiàn)在,讓我們了解一下updateLocation()函數(shù)的實(shí)現(xiàn)代碼(參見(jiàn)代碼清單3),該函數(shù)依據(jù)坐標(biāo)信息執(zhí)行具體的更新操作。清單3.updateLocation()函數(shù)functionupdateLocation(position){varlatitude=position.coords.latitude;varlongitude=position.coords.longitude;varaccuracy=position.coords.accuracy;document.getElementById(“緯度”).innerHTML=latitude;document.getElementById(“經(jīng)度”).innerHTML=longitude;document.getElementById(“準(zhǔn)確度”).innerHTML=accuracy+“米”;}清單3給出了updateLocation()函數(shù)的常用實(shí)現(xiàn)代碼,該函數(shù)依照坐標(biāo)信息執(zhí)行具體的更新操作:用獲得的位置信息分不更新HTML頁(yè)面上三個(gè)空間元素的文本??蛇x參數(shù)handleLocationError為掃瞄器指明出錯(cuò)處理函數(shù)。位置信息請(qǐng)求可能因?yàn)橐恍┎豢煽匾蛩厥?,這時(shí),您需要在那個(gè)函數(shù)中提供對(duì)用戶的解釋。幸運(yùn)的是,該API差不多定義了所有需要處理的錯(cuò)誤情況的錯(cuò)誤編號(hào)。錯(cuò)誤編號(hào)code設(shè)置在錯(cuò)誤對(duì)象中,錯(cuò)誤對(duì)象作為error參數(shù)傳遞給錯(cuò)誤處理程序。這些錯(cuò)誤編號(hào)有:UNKNOWN_ERROR(0):不包括在其它錯(cuò)誤編號(hào)中的錯(cuò)誤,需要通過(guò)message參數(shù)查找錯(cuò)誤的詳細(xì)信息。PERMISSION_DENIED(1):用戶拒絕掃瞄器獲得其位置信息。POSITION_UNVAILABLE(2):嘗試獵取用戶信息失敗。TIMEOUT(3):在options對(duì)象中設(shè)置了timeout值,嘗試獵取用戶位置超時(shí)。在這些情況下,您能夠通知用戶應(yīng)用程序運(yùn)行出了什么問(wèn)題,如清單4所示清單4.使用錯(cuò)誤處理函數(shù)functionhandleLocationError(error){switch(error.code){case0:updateStatus(“嘗試獵取您的位置信息時(shí)發(fā)生錯(cuò)誤:”+error.message);break;case1:updateStatus(“用戶拒絕了獵取位置信息請(qǐng)求?!?;break;case2:updateStatus(“掃瞄器無(wú)法獵取您的位置信息?!?;break;case3:updateStatus(“獵取您位置信息超時(shí)?!?;break;}}可選參數(shù)options對(duì)象能夠調(diào)整HTML5Geolocation服務(wù)的數(shù)據(jù)收集方式。該對(duì)象有三個(gè)可選參數(shù):enableHighAccuracy:假如啟動(dòng)該參數(shù),掃瞄器會(huì)啟動(dòng)HTML5Geolocation服務(wù)的高精確度模式,這將導(dǎo)致機(jī)器花費(fèi)更多的時(shí)刻和資源來(lái)確定位置,應(yīng)慎重使用。默認(rèn)值為false;timeout:?jiǎn)挝粸閙s,告訴掃瞄器獵取當(dāng)前位置信息所同意的最長(zhǎng)時(shí)刻。假如在那個(gè)時(shí)刻段內(nèi)未完成,就會(huì)調(diào)用錯(cuò)誤處理程序。默認(rèn)值為Infinity,即無(wú)窮大(無(wú)限制);maximumAge:以ms為單位,表示掃瞄器重新獵取位置信息的時(shí)刻間隔。默認(rèn)值為0,這意味著掃瞄器每次請(qǐng)求時(shí)必須立即重新計(jì)算位置。使用可選參數(shù)options更新我們的位置請(qǐng)求,讓其包含一個(gè)使用JSON對(duì)象表示的可選參數(shù),如下所示:清單5.包含options的更新位置請(qǐng)求navigator.geolocation.getCurrentPosition(updateLocation,handleLocationError,{timeout:10000});那個(gè)調(diào)用告訴HTML5Geolocation,當(dāng)獵取位置請(qǐng)求的處理時(shí)刻超過(guò)10s(10000ms)時(shí)觸發(fā)錯(cuò)誤處理程序,這時(shí),errorcode應(yīng)該是3。3、重復(fù)性位置更新請(qǐng)求有時(shí)候,僅獵取一次用戶位置信息是不夠的。比如用戶正在移動(dòng),隨著用戶的移動(dòng),頁(yè)面應(yīng)該能夠不斷更新顯示附近的餐館信息,如此,所顯示的餐館信息才對(duì)用戶有意義。幸運(yùn)的是,HTML5Geolocation服務(wù)的設(shè)計(jì)者差不多考慮到了這一點(diǎn),應(yīng)用程序能夠使用如下API進(jìn)行重復(fù)性位置更新請(qǐng)求,當(dāng)監(jiān)控到用戶的位置發(fā)生變化時(shí),HTML5Geolocation服務(wù)就會(huì)重新獵取用戶的位置信息,并調(diào)用updateLocation()函數(shù)處理新的數(shù)據(jù),及時(shí)通知用戶。清單6.重復(fù)性位置更新請(qǐng)求API

voidwatchPosition(updateLocation,optionalhandleLocationError,optionaloptions);那個(gè)函數(shù)的參數(shù)跟前面提到的getCurrentPosition函數(shù)的參數(shù)一樣,不再重復(fù)介紹。關(guān)閉更新也專(zhuān)門(mén)簡(jiǎn)單,假如應(yīng)用程序不需要再接收用戶的位置更新消息,只需要使用clearWatch()函數(shù)。清單7.watchPosition和clearWatch的使用varwatchId=navigator.geolocation.watchPosition(updateLocation,handleLocationError);//基于持續(xù)更新的位置信息實(shí)現(xiàn)一些功能…//停止接收位置更新消息navigator.geolocation.clearWatch(watchId);第三節(jié)開(kāi)發(fā)集成環(huán)境一、C#簡(jiǎn)介C#是微軟公司公布的一種面向?qū)ο蟮摹⑦\(yùn)行于.NETFramework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。并定于在微軟職業(yè)開(kāi)發(fā)者論壇(PDC)上登臺(tái)亮相。C#是微軟公司研究員AndersHejlsberg的最新成果。C#看起來(lái)與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語(yǔ)法和編譯成中間代碼再運(yùn)行的過(guò)程。然而C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NETwindows網(wǎng)絡(luò)框架的主角。C#最初它有個(gè)更酷的名字,叫做COOL。微軟從1998年12月開(kāi)始了COOL項(xiàng)目,直到2000年2月,COOL被正式更名為C#。在1998年,Delphi語(yǔ)言的設(shè)計(jì)者Hejlsberg帶領(lǐng)著Microsoft公司的開(kāi)發(fā)團(tuán)隊(duì),開(kāi)始了第一個(gè)版本C#語(yǔ)言的設(shè)計(jì)。在2000年9月,國(guó)際信息和通信系統(tǒng)標(biāo)準(zhǔn)化組織為C#語(yǔ)言定義了一個(gè)Microsoft公司建議的標(biāo)準(zhǔn)。最終C#語(yǔ)言在2001年得以正式公布。C#是一種安全的、穩(wěn)定的、簡(jiǎn)單的、優(yōu)雅的,由C和C++衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。它在繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒(méi)有宏以及不同意多重繼承)。C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性和便捷的面向組件編程的支持成為.NET開(kāi)發(fā)的首選語(yǔ)言。C#是面向?qū)ο蟮木幊陶Z(yǔ)言。它使得程序員能夠快速地編寫(xiě)各種基于MICROSOFT.NET平臺(tái)的應(yīng)用程序,MICROSOFT.NET提供了一系列的工具和服務(wù)來(lái)最大程度地開(kāi)發(fā)利用計(jì)算與通訊領(lǐng)域。正是由于C#面向?qū)ο蟮淖吭皆O(shè)計(jì),使它成為構(gòu)建各類(lèi)組件的理想之選——不管是高級(jí)的商業(yè)對(duì)象依舊系統(tǒng)級(jí)的應(yīng)用程序。使用簡(jiǎn)單的C#語(yǔ)言結(jié)構(gòu),這些組件能夠方便的轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),從而使它們能夠由任何語(yǔ)言在任何操作系統(tǒng)上通過(guò)INTERNET進(jìn)行調(diào)用。C#使得C++程序員能夠高效的開(kāi)發(fā)程序,且因可調(diào)用由C/C++編寫(xiě)的本機(jī)原生函數(shù),因此絕不損失C/C++原有的強(qiáng)大的功能。因?yàn)檫@種繼承關(guān)系,C#與C/C++具有極大的相似性,熟悉類(lèi)似語(yǔ)言的開(kāi)發(fā)者能夠?qū)iT(mén)快的轉(zhuǎn)向C#。C#是微軟公司在2000年6月公布的一種新的編程語(yǔ)言,要緊由安德斯·海爾斯伯格(AndersHejlsberg)主持開(kāi)發(fā),它是第一個(gè)面向組件的編程語(yǔ)言,其源碼會(huì)編譯成msil再運(yùn)行。它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,同時(shí)新增了許多功能及語(yǔ)法糖,而且它是微軟公司.NET

windows網(wǎng)絡(luò)框架的主角。原Broland公司的首席研發(fā)設(shè)計(jì)師安德斯·海爾斯伯格(AndersHejlsberg)在微軟開(kāi)發(fā)了VisualJ++1.0,專(zhuān)門(mén)快的VisualJ++由1.1版本升級(jí)到6.0版。SUN公司認(rèn)為VisualJ++違反了Java開(kāi)發(fā)平臺(tái)的中立性,對(duì)微軟提出了訴訟。2000年6月26日微軟在奧蘭多進(jìn)行的“職業(yè)開(kāi)發(fā)人員技術(shù)大會(huì)”(PDC2000)上,發(fā)表新的語(yǔ)言C#。C#語(yǔ)言取代了VisualJ++,語(yǔ)言本身深受Java、C和C++的阻礙。C#是兼顧系統(tǒng)開(kāi)發(fā)和應(yīng)用開(kāi)發(fā)的最佳有用語(yǔ)言,同時(shí)專(zhuān)門(mén)有可能成為編程語(yǔ)言歷史上的第一個(gè)“全能”型語(yǔ)言??催^(guò)這篇簡(jiǎn)史,不要把C#看成年輕后生了——只要是“馬拉多納”,就早晚當(dāng)“球王”。C#1.0,純粹的面向?qū)ο蟆?998年底,微軟正在忙于新一代COM的設(shè)計(jì)工作,COM一直是組件化開(kāi)發(fā)中特不成功的一種技術(shù);但由于它僅提供了二進(jìn)制層面上的統(tǒng)一,因此無(wú)法將類(lèi)型信息和用于支持基礎(chǔ)平臺(tái)和開(kāi)發(fā)工具的信息放到組件中,Java逐步走向成熟。微軟學(xué)習(xí)Java的做法,將虛擬機(jī)的概念引入到了COM領(lǐng)域;同時(shí),微軟提出了“元數(shù)據(jù)”的概念,用于描述組件的類(lèi)型信息和工具支持信息,并決定將其放入到組件當(dāng)中。1998年12月,微軟啟動(dòng)了一個(gè)全新的語(yǔ)言項(xiàng)目——COOL,這是一款專(zhuān)門(mén)為CLR設(shè)計(jì)的純面向?qū)ο蟮恼Z(yǔ)言,也正是本文的主角——C#的前身。1999年7月份,微軟完成了COOL語(yǔ)言的一個(gè)內(nèi)部版本。2000年2月份,微軟才正式將COOL語(yǔ)言更名為C#。據(jù)講起那個(gè)名字是因?yàn)镃#開(kāi)發(fā)小組的人專(zhuān)門(mén)討厭搜索引擎,因此把大部分搜索引擎無(wú)法識(shí)不的“#”字符作為該語(yǔ)言名字的一部分;還有一種講法是在音樂(lè)當(dāng)中“#”是升調(diào)記號(hào),表達(dá)了微軟希望它在C的基礎(chǔ)上更上一層樓的美好愿望——因此這些都只是傳講,無(wú)從考證。又是歷經(jīng)了一系列的修改,微軟終于在2000年7月公布了C#語(yǔ)言的第一個(gè)預(yù)覽版。C#旨在設(shè)計(jì)成為一種“簡(jiǎn)單、現(xiàn)代、通用”,以及面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,此種語(yǔ)言的實(shí)現(xiàn),應(yīng)提供關(guān)于以下軟件工程要素的支持:強(qiáng)類(lèi)型檢查、數(shù)組維度檢查、未初始化的變量引用檢測(cè)、自動(dòng)垃圾收集(GarbageCollection,指一種自動(dòng)內(nèi)存釋放技術(shù))。軟件必須做到強(qiáng)大、持久,并具有較強(qiáng)的編程生產(chǎn)力。此種語(yǔ)言為在分布式環(huán)境中的開(kāi)發(fā)提供適用的組件開(kāi)發(fā)應(yīng)用。為使程序員容易遷移到這種語(yǔ)言,源代碼的可移植性十分重要,尤其是關(guān)于那些已熟悉C和C++的程序員而言。對(duì)國(guó)際化的支持特不重要。C#適合為獨(dú)立和嵌入式的系統(tǒng)編寫(xiě)程序,從使用復(fù)雜操作系統(tǒng)的大型系統(tǒng)到特定應(yīng)用的小型系統(tǒng)均適用。在Java中,一個(gè)接口是一組方法集合的抽象定義.當(dāng)一個(gè)類(lèi)或結(jié)構(gòu)體實(shí)現(xiàn)一個(gè)接口的時(shí)候,它必須實(shí)現(xiàn)那個(gè)接口中定義的所有方法.一個(gè)單一的類(lèi)能夠?qū)崿F(xiàn)幾個(gè)接口.也許以后會(huì)出現(xiàn)一些微妙的差不,然而那個(gè)特點(diǎn)看起來(lái)與Java相比沒(méi)有變化。布爾運(yùn)算:條件表達(dá)式的結(jié)果是布爾數(shù)據(jù)類(lèi)型,布爾數(shù)據(jù)類(lèi)型是這種語(yǔ)言中獨(dú)立的一種數(shù)據(jù)類(lèi)型.從布爾類(lèi)型到其他類(lèi)型沒(méi)有直接的轉(zhuǎn)換過(guò)程.布爾常量true和false是C#中的關(guān)鍵字.錯(cuò)誤處理:如Java中那樣,通過(guò)拋出和捕捉異常對(duì)象來(lái)治理錯(cuò)誤處理過(guò)程.內(nèi)存治理:由底層.NET框架進(jìn)行自動(dòng)內(nèi)存垃圾回收。二、系統(tǒng)架構(gòu):B/S架構(gòu)掃瞄器/服務(wù)器結(jié)構(gòu)(Browser/Server,縮寫(xiě)為B/S)是一種專(zhuān)門(mén)的客戶機(jī)/服務(wù)器結(jié)構(gòu),它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。它要緊應(yīng)用在Internet,Intranett網(wǎng)是目前全球最大的計(jì)算機(jī)通信網(wǎng),遍及全球幾乎所有的國(guó)家和地區(qū),Internet上提供了大量的服務(wù),包括E-mail服務(wù),文件傳輸服務(wù),遠(yuǎn)程登錄服務(wù),BBS電子布告欄,News討論區(qū)及www等。使用Internet能夠得到專(zhuān)門(mén)多便利,能夠?qū)iT(mén)方便的通過(guò)Internet提供的資料去查詢(xún)和獵取Internet的消息。www是一個(gè)涉及全世界的信息系統(tǒng),是Internet上高效、方便的檢索工具,www能夠?qū)nternet上不同站點(diǎn)上的相關(guān)細(xì)細(xì)資源以超文本、多媒體的方式有機(jī)的“編織"在一起,Internet用戶提供全球范圍內(nèi)的服務(wù)。在www中采納Browser/Server結(jié)構(gòu),該模式具有功能分明,位置透明,共享資源,服務(wù)封裝,同步/異步操作以及可擴(kuò)展性等要緊特征。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW掃瞄器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),然而要緊事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。如此就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的[9]。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地愛(ài)護(hù)數(shù)據(jù)平臺(tái)和治理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也專(zhuān)門(mén)安全。用戶在局域網(wǎng)各工作站通過(guò)WWW掃瞄器就能實(shí)現(xiàn)工作業(yè)務(wù)。特不是在JAVA如此的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)治理軟件更是方便、快捷、高效。三、數(shù)據(jù)庫(kù)軟件:SQLServer2005SQLServer2005是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能(BI)工具提供了企業(yè)級(jí)的數(shù)據(jù)治理。SQLServer2005數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您能夠構(gòu)建和治理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。

SQLServer2005數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)治理解決方案的核心。此外SQLServer2005結(jié)合了分析、報(bào)表、集成和通知功能。這使您的企業(yè)能夠構(gòu)建和部署經(jīng)濟(jì)有效的BI解決方案,關(guān)心您的團(tuán)隊(duì)通過(guò)記分卡、Dashboard、Webservices和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)域。

與MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的開(kāi)發(fā)工具包(包括BusinessIntelligenceDevelopmentStudio)的緊密集成使SQLServer2005與眾不同。不管您是開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)治理員、信息工作者依舊決策者,SQLServer2005都能夠?yàn)槟峁﹦?chuàng)新的解決方案,關(guān)心您從數(shù)據(jù)中更多地獲益。

Microsoft認(rèn)真傾聽(tīng)了您的反饋,并對(duì)行業(yè)進(jìn)行了認(rèn)真研究,全世界的Microsoft研究團(tuán)隊(duì)共同努力,通過(guò)制造性思索才最終向您奉獻(xiàn)出這一引入了上百種新增功能或改進(jìn)功能的SQLServer2005。這些功能將有助于您在以下三個(gè)要緊方面提高業(yè)務(wù):

1、企業(yè)數(shù)據(jù)治理

SQLServer2005針對(duì)行業(yè)和分析應(yīng)用程序提供了一種更安全可靠和更高效的數(shù)據(jù)平臺(tái)。SQLServer的最新版本不僅是迄今為止SQLServer的最大發(fā)行版本,而且是最為可靠安全的版本。

2、開(kāi)發(fā)人員生產(chǎn)效率

SQLServer2005提供了一種端對(duì)端的開(kāi)發(fā)環(huán)境,其中涵蓋了多種新技術(shù),可關(guān)心開(kāi)發(fā)人員大幅度提高生產(chǎn)效率。

3、商業(yè)智能SQLServer2005的綜合分析、集成和數(shù)據(jù)遷移功能使各個(gè)企業(yè)不管采納何種基礎(chǔ)平臺(tái)都能夠擴(kuò)展其現(xiàn)有應(yīng)用程序的價(jià)值。構(gòu)建于SQLServer2005的BI解決方案使所有職員能夠及時(shí)獲得關(guān)鍵信息,從而在更短的時(shí)刻內(nèi)制定更好的決策。

第四節(jié)百度地圖一、什么是百度地圖百度地圖是百度提供的一項(xiàng)網(wǎng)絡(luò)地圖搜索服務(wù),覆蓋了國(guó)內(nèi)近400個(gè)都市、數(shù)千個(gè)區(qū)縣。在百度地圖里,用戶能夠查詢(xún)街道、商場(chǎng)、樓盤(pán)的地理位置,也能夠找到離您最近的所有餐館、學(xué)校、銀行、公園等等。2010年8月26日,在使用百度地圖服務(wù)時(shí),除一般的電子地圖功能之外,新增加了三維地圖按鈕。二、百度地圖APIAPI(ApplicationProgrammingInterface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件的以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。

第三章基于HTML5Geolocation的考勤治理系統(tǒng)需求分析第一節(jié)概述HTML5Geolocation的到來(lái),使得遠(yuǎn)程考勤不再像往常那樣復(fù)雜。加上定位技術(shù)的支持,移動(dòng)終端、PC定位由于具有方便、快捷等特點(diǎn),成為市場(chǎng)上考勤業(yè)務(wù)中的新星,并逐步成為市場(chǎng)上的核心業(yè)務(wù)之一。本軟件是依照市場(chǎng)上同類(lèi)軟件的普遍需求開(kāi)發(fā),利用百度地圖和Geolocation提供的位置信息,在基于HTML5GeolocationAPI使用的一款遠(yuǎn)程考勤系統(tǒng)。用戶能夠使用本軟件完成遠(yuǎn)程打考勤、查詢(xún)考勤情況,具有權(quán)限的人還能夠事實(shí)查詢(xún)整個(gè)公司的考勤情況,周考勤報(bào)表、月考勤報(bào)表等功能。圖3.1從用例的角度描述了系統(tǒng)所需具備的功能。圖3.1系統(tǒng)功能用例圖

第二節(jié)功能性需求一、考勤治理整個(gè)系統(tǒng)軟件是一個(gè)調(diào)用HTML5GeolocationAPI獵取用戶的地理位置,依照返回的位置確定每個(gè)職員是否到指定的工作地點(diǎn)上班,并用地圖顯示出位置。通過(guò)對(duì)這些數(shù)據(jù)的收集治理公司的考勤情況。二、考勤查詢(xún)職員登錄過(guò)后能夠?qū)ψ约旱目记谇闆r進(jìn)行查詢(xún),治理員則實(shí)時(shí)對(duì)考勤的情況做出匯總,為公司治理職員的考勤做出相應(yīng)的數(shù)據(jù)支撐。三、公告隨著社會(huì)的進(jìn)步,上班的地點(diǎn)分散,有些公司的通知更新情況時(shí)時(shí)都在不斷的變化中,該公告模塊在職員簽到和退簽的時(shí)候,登錄以后就能夠看到公司的最新動(dòng)態(tài)。四、考勤報(bào)表該系統(tǒng)通過(guò)對(duì)職員考勤的數(shù)據(jù)進(jìn)行匯總,能夠分不對(duì)職員個(gè)人、部門(mén)、以及整個(gè)公司的考勤情況收集,了解整個(gè)公司的考勤信息。五、考勤設(shè)置治理員能夠?qū)记跁r(shí)刻的設(shè)置,及時(shí)更新。

非功能性需求一、環(huán)境需求環(huán)境需求是軟件實(shí)際運(yùn)行時(shí)所需的軟硬件環(huán)境,需要考慮硬件設(shè)備需求、掃瞄器版本等方面的要求。本軟件是運(yùn)行在WEB上的基于HTML5Geolocation系統(tǒng)軟件,需要該設(shè)備支持HTML5Geolocation。在使用時(shí)注意掃瞄器的選擇。二、界面需求首要要求是界面友好,界面布局合理,風(fēng)格保持一致。用戶除必要的自主輸入外,其余操作均可在軟件的提示下選擇完成,增加可用性。在搜索連接服務(wù)器并對(duì)結(jié)果進(jìn)行解析時(shí),如網(wǎng)絡(luò)不暢,會(huì)存在一定時(shí)延,需要連接等待條,提示用戶耐心等待。列表顯示操作結(jié)果時(shí),充分考慮結(jié)果的長(zhǎng)度,幸免部分信息顯示不全。三、通用性需求本軟件應(yīng)采納普遍應(yīng)用的目前主流的掃瞄器上,目前大部分掃瞄器都差不多支持HTML5Geolocation,使得能夠在使用新版本特性的同時(shí),確保良好的統(tǒng)一性。四、可靠性需求本軟件要保證運(yùn)行的穩(wěn)定可靠,要緊包括數(shù)據(jù)的可靠性和系統(tǒng)的穩(wěn)定性。數(shù)據(jù)可靠性包括數(shù)據(jù)個(gè)人獨(dú)享、安全可靠等;系統(tǒng)穩(wěn)定性要求軟件系統(tǒng)能夠持續(xù)無(wú)故障運(yùn)行。五、可擴(kuò)展性需求要求采納開(kāi)放的標(biāo)準(zhǔn)的體系架構(gòu)、模塊化設(shè)計(jì),能實(shí)現(xiàn)功能、性能的簡(jiǎn)單、方便的擴(kuò)展和改造。六、異常處理1、HTML5Geolocation定位異常當(dāng)掃瞄器不支持時(shí),能夠向用戶發(fā)出提醒,并切換至支持的掃瞄器。2、互聯(lián)網(wǎng)/服務(wù)器異常假如由于網(wǎng)絡(luò)或服務(wù)器緣故,重試一定次數(shù)后,任然不能正常使用提醒用戶檢查網(wǎng)絡(luò)狀態(tài)。3、結(jié)果異常在當(dāng)獵取的數(shù)據(jù)返回的誤差大于一定的規(guī)定范圍時(shí)候,提醒用戶該數(shù)據(jù)不可用。第四節(jié)可行性分析在實(shí)施一個(gè)項(xiàng)目之前,首先要對(duì)將要實(shí)施的項(xiàng)目進(jìn)行可行性分析,確定項(xiàng)目是否值得進(jìn)行。并不是所有的問(wèn)題都有簡(jiǎn)單明顯的解決方法,事實(shí)上,許多問(wèn)題不可能在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。假如問(wèn)題沒(méi)有可行解的話,那么花費(fèi)在這項(xiàng)工程上的任何時(shí)刻、資源、人力和經(jīng)費(fèi)差不多上白費(fèi)的。可行性分析的目的確實(shí)是用最小的代價(jià)在盡可能短的時(shí)刻內(nèi)確定問(wèn)題能否解決??尚行匝芯康哪康牟皇墙鉀Q問(wèn)題,而是確定問(wèn)題是否值得去解。假如是正確的就加以確信??尚行苑治龅膶?shí)現(xiàn),不能靠主觀猜想,只能客觀分析達(dá)到那個(gè)目的,因此就必須分析幾種方法解決可能的弊端,從而推斷原定的系統(tǒng)目標(biāo)和規(guī)模是否實(shí)現(xiàn),系統(tǒng)完成后所能帶來(lái)的價(jià)值是否大于開(kāi)發(fā)那個(gè)系統(tǒng)的投資價(jià)值。因此,可行性研究實(shí)質(zhì)上是要進(jìn)行一次大大的壓縮簡(jiǎn)化了系統(tǒng)分析和設(shè)計(jì)的過(guò)程。我們應(yīng)該給出系統(tǒng)的邏輯模型,然后從系統(tǒng)邏輯模型動(dòng)身,查找可供選擇的解法,研究每一種解法的可行性。一般講來(lái),應(yīng)從技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性等方面進(jìn)行研究。一、經(jīng)濟(jì)可行性分析新系統(tǒng)的經(jīng)濟(jì)可行性分析的含義是,可能新系統(tǒng)開(kāi)發(fā)和運(yùn)行所需的費(fèi)用,以及新系統(tǒng)的效益,將投資和效益進(jìn)行比較,講明在經(jīng)濟(jì)上是合算的。本系統(tǒng)投資低,只需配置一臺(tái)稍好的電腦及相關(guān)的應(yīng)用軟件,此外本系統(tǒng)能夠提高數(shù)據(jù)處理的及時(shí)性和準(zhǔn)確性;降低了治理人員的勞動(dòng)強(qiáng)度,提高了勞動(dòng)效率;使用信息更加方便,從而使決策更及時(shí)、準(zhǔn)確;取得了其他經(jīng)濟(jì)和社會(huì)效益。本環(huán)節(jié)通過(guò)分析新系統(tǒng)的成本效益,其中包括可能項(xiàng)目開(kāi)發(fā)的成本,開(kāi)發(fā)費(fèi)用和今后的運(yùn)行、維護(hù)費(fèi)用以及新系統(tǒng)將獲得的效益,估算開(kāi)發(fā)成本是否高于項(xiàng)目預(yù)期的全部經(jīng)費(fèi)。下面具體列出了成本和效益的分析:1、支出現(xiàn)在電腦的應(yīng)用差不多得到了普及是基礎(chǔ)的信息化設(shè)施,目前使用計(jì)算機(jī)進(jìn)行軟件開(kāi)發(fā),網(wǎng)絡(luò)環(huán)境和基礎(chǔ)設(shè)施能滿足本系統(tǒng)的實(shí)施要求,因此無(wú)須另外的資金投入。其它一次性支出:由于本系統(tǒng)的開(kāi)發(fā)是作為課程實(shí)踐來(lái)進(jìn)行的,無(wú)須資金投入,而且本系統(tǒng)所用到的軟件成本投入也不高。因此軟件設(shè)計(jì)和開(kāi)發(fā)費(fèi)能夠承受。經(jīng)常性支出:系統(tǒng)運(yùn)行后的日常維護(hù)費(fèi)用少。僅需簡(jiǎn)單的治理中心,該中心的工作人員能夠負(fù)責(zé)本系統(tǒng)的維護(hù)工作。2、效益本系統(tǒng)的效益能夠從經(jīng)濟(jì)效益和社會(huì)效益兩方面考慮。其社會(huì)效益包括系統(tǒng)投入運(yùn)行后能夠使治理實(shí)現(xiàn)科學(xué)化、規(guī)范化,增強(qiáng)用戶對(duì)知識(shí)信息的治理能力,從而提高工作效率,從長(zhǎng)遠(yuǎn)來(lái)看,也是信息化的必經(jīng)之路。由此可見(jiàn)系統(tǒng)的建設(shè)依舊特不有進(jìn)展前景的。二、運(yùn)行可行性分析本系統(tǒng)的客戶端采納的是圖形界面方式,由于治理工作人員日常所使用的操作系統(tǒng)差不多上Windows系統(tǒng),因此通過(guò)簡(jiǎn)單的培訓(xùn)就能夠勝任新系統(tǒng)的操作工作。新系統(tǒng)的目標(biāo)確實(shí)是關(guān)心實(shí)現(xiàn)資料的治理,同時(shí)新系統(tǒng)的運(yùn)行可不能對(duì)組織機(jī)構(gòu)和治理方式產(chǎn)生大的阻礙,因此可不能受到任何阻礙。系統(tǒng)的設(shè)計(jì)上需要注重安全性和用戶操作的流暢性。因此要在對(duì)治理者權(quán)限做出限定,只有通過(guò)審核確認(rèn)的賬號(hào)才有權(quán)使用。三、法律可行性分析法律可行性要緊是指待開(kāi)發(fā)的軟件是否存在知識(shí)產(chǎn)權(quán)等與法律有關(guān)的問(wèn)題,如有這類(lèi)問(wèn)題,該軟件即使開(kāi)發(fā)成功,也難以成為產(chǎn)品銷(xiāo)售。開(kāi)發(fā)該系統(tǒng)的所有軟件都使用正版,且屬于自主設(shè)計(jì),無(wú)剽竊他人設(shè)計(jì)行為。因此,開(kāi)發(fā)本系統(tǒng)在法律上是可行的。

第五節(jié)本章小結(jié)關(guān)于開(kāi)發(fā)者來(lái)講,要開(kāi)發(fā)出一個(gè)良好的軟件系統(tǒng),首先要明確該系統(tǒng)的需求。需求分析是用戶與軟件設(shè)計(jì)人員之間的橋梁。對(duì)項(xiàng)目需求的分析越透徹,在功能實(shí)現(xiàn)上越能滿足用戶的需求。因此,在本章中,要緊完成了對(duì)基于HTML5Geolocation考勤系統(tǒng)軟件需求的分析,分不對(duì)系統(tǒng)的功能需求和非功能需求逐一做了描述,明確了系統(tǒng)的功能,為接下來(lái)的設(shè)計(jì)和實(shí)現(xiàn)提供了依據(jù)。下一章就在本章的需求分析基礎(chǔ)上,具體講本系統(tǒng)的設(shè)計(jì)。

第四章基于HTML5Geolocation

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論