第6章 嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例_第1頁(yè)
第6章 嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例_第2頁(yè)
第6章 嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例_第3頁(yè)
第6章 嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例_第4頁(yè)
第6章 嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩112頁(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)介

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例嵌入式計(jì)算機(jī)系統(tǒng)同通用型計(jì)算機(jī)系統(tǒng)相比具有以下特點(diǎn)?!袂度胧较到y(tǒng)通常是面向特定應(yīng)用的,嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設(shè)計(jì)及特定的應(yīng)用系統(tǒng)中,它通常都具有低功耗、體積小、集成度高、可靠性高等特點(diǎn),能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化,移動(dòng)能力大大增強(qiáng),跟網(wǎng)絡(luò)的耦合也越來(lái)越緊密;●嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物;嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì),可裁減、量體裁衣、去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用中對(duì)處理器的選擇更具有競(jìng)爭(zhēng)力;●嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級(jí)換代也是和具體產(chǎn)品同步進(jìn)行,因此,嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),具有較長(zhǎng)的生命周期;●為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存儲(chǔ)于磁盤等載體中;●嵌入式系統(tǒng)本身不具備自舉開發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改的,必須有一套開發(fā)工具和交叉開發(fā)環(huán)境才能進(jìn)行開發(fā)。引言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例嵌入式系統(tǒng)開發(fā)的一般過(guò)程可以描述為:系統(tǒng)定義階段、系統(tǒng)總體設(shè)計(jì)階段、構(gòu)件設(shè)計(jì)階段、編碼階段和集成測(cè)試階段?!裣到y(tǒng)定義階段:主要確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),定義系統(tǒng)的邊界,設(shè)計(jì)編制規(guī)格說(shuō)明書作為正式設(shè)計(jì)指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn)。系統(tǒng)的需求一般分為功能性需求和非功能性需求兩方面。功能性需求是系統(tǒng)的基本功能,如輸入/輸出信號(hào)、操作方式等;非功能需求包括系統(tǒng)性能、成本、功耗、體積、重量等因素。在定義階段核心內(nèi)容是了解用戶的需求,即系統(tǒng)“做什么”,需要開發(fā)人員與用戶進(jìn)行充分的交流與溝通,明確系統(tǒng)的功能和實(shí)現(xiàn)的性能,產(chǎn)出物是系統(tǒng)規(guī)格說(shuō)明書。●系統(tǒng)總體設(shè)計(jì)階段:主要描述“怎么做”的問(wèn)題,即系統(tǒng)如何實(shí)現(xiàn)由系統(tǒng)定義規(guī)定的那些功能。它需要解決嵌入式系統(tǒng)的總體框架,從功能實(shí)現(xiàn)上對(duì)軟/硬件進(jìn)行劃分;在此基礎(chǔ)上,選定處理器和基本接口器件;根據(jù)系統(tǒng)的復(fù)雜程度確定是否使用操作系統(tǒng),以及選擇哪種操作系統(tǒng);此外,還需要選擇系統(tǒng)的開發(fā)環(huán)境。系統(tǒng)總體設(shè)計(jì)階段的核心工作是確立總體設(shè)計(jì)方案,包括軟/硬件劃分、基本硬件配置方案、軟件方案、各個(gè)模塊接口關(guān)系、系統(tǒng)體系結(jié)構(gòu)、系統(tǒng)功能與非功能約束、開發(fā)環(huán)境等。產(chǎn)出物是系統(tǒng)總體設(shè)計(jì)方案。引言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例●構(gòu)件設(shè)計(jì)階段:構(gòu)件通常包括硬件和軟件兩部分。構(gòu)件設(shè)計(jì)使得構(gòu)件、體系結(jié)構(gòu)和規(guī)格說(shuō)明相一致。構(gòu)件一般有標(biāo)準(zhǔn)構(gòu)件和定制構(gòu)件兩種方式。標(biāo)準(zhǔn)構(gòu)件可以直接使用,如CPU、存儲(chǔ)器以及相關(guān)的軟件構(gòu)件。使用這些標(biāo)準(zhǔn)構(gòu)件不僅節(jié)約設(shè)計(jì)時(shí)間,而且有可能較快地實(shí)現(xiàn)系統(tǒng)完成的部分功能,同時(shí)可以提高系統(tǒng)的可靠性和質(zhì)量。定制構(gòu)件是自己設(shè)計(jì)一些構(gòu)件,如使用集成電路設(shè)計(jì)PCB,做大量定制的編程等。在設(shè)計(jì)期間,經(jīng)常會(huì)利用一些計(jì)算機(jī)輔助設(shè)計(jì)工具和開發(fā)平臺(tái),并且對(duì)每個(gè)構(gòu)件都需要進(jìn)行功能、性能等方面的測(cè)試。構(gòu)件設(shè)計(jì)階段的核心是定義各種構(gòu)件的功能、性能、接口參數(shù)等。產(chǎn)出物位構(gòu)件設(shè)計(jì)方案。●編碼階段:這一階段可以看做是構(gòu)件設(shè)計(jì)的實(shí)現(xiàn)階段,即設(shè)計(jì)算法并編寫相關(guān)代碼。產(chǎn)出物是模塊開發(fā)卷宗?!窦蓽y(cè)試階段:將測(cè)試完成的軟件系統(tǒng)裝入制作好的硬件系統(tǒng)中,進(jìn)行系統(tǒng)集成并綜合測(cè)試,驗(yàn)證系統(tǒng)功能是否能夠準(zhǔn)確無(wú)誤地實(shí)現(xiàn),各方面指標(biāo)是否符合設(shè)計(jì)要求,最后將正確無(wú)誤的軟件固化在目標(biāo)硬件中。必須確保在體系結(jié)構(gòu)和構(gòu)件設(shè)計(jì)階段盡可能容易地按階段組裝系統(tǒng),并相對(duì)獨(dú)立地測(cè)試系統(tǒng)功能。引言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例軟件工程及嵌入式軟件工程軟件工程(SoftwareEngineering,SE)是“以系統(tǒng)的、學(xué)科的、定量的途徑,把工程應(yīng)用于軟件的開發(fā)、運(yùn)營(yíng)與維護(hù);同時(shí),開展對(duì)上述過(guò)程中各種方法和途徑的研究”。軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)、軟件開發(fā)工具、系統(tǒng)平臺(tái)、標(biāo)準(zhǔn)、模式等方面。軟件工程強(qiáng)調(diào)的是軟件產(chǎn)品的生產(chǎn)特性,對(duì)軟件設(shè)計(jì)方法論及工程化技術(shù)展開研究,將計(jì)算機(jī)理論與工程方法相結(jié)合,輔助以一系列開發(fā)工具,為快速開發(fā)質(zhì)量高、滿足個(gè)性化需求的軟件提供科學(xué)的方法。軟件工程研究的主要內(nèi)容有4個(gè)方面:方法與技術(shù)、工具與環(huán)境、管理技術(shù)、標(biāo)準(zhǔn)與規(guī)范,涉及有關(guān)的基本概念、工具、方法、方法學(xué)等。嵌入式系統(tǒng)的軟件工程,就是研究如何將軟件工程內(nèi)容、方法、原理、模型、工具等在嵌入式系統(tǒng)開發(fā)領(lǐng)域的應(yīng)用。目前,該系統(tǒng)在發(fā)達(dá)國(guó)家是研究的一個(gè)熱點(diǎn)和重點(diǎn)。最近幾年,國(guó)內(nèi)對(duì)嵌入式系統(tǒng)軟件方面的重要性及在工程實(shí)際中的廣泛應(yīng)用也有足夠的認(rèn)識(shí)。嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例軟件工程是在克服20世紀(jì)60年代末出現(xiàn)的“軟件危機(jī)”的過(guò)程中逐漸形成與發(fā)展的。1968年在北大西洋公約組織舉行的軟件可靠性學(xué)術(shù)會(huì)議上第一次提出了“軟件工程”的概念,其核心是將軟件開發(fā)納入工程化的軌道,以保證軟件開發(fā)的效率和質(zhì)量。軟件工程的發(fā)展已經(jīng)歷了4個(gè)階段。第一代軟件工程:20世紀(jì)60年代末,軟件生產(chǎn)主要采用“生產(chǎn)作坊”方式。主要表現(xiàn)為軟件生產(chǎn)效率低下,軟件產(chǎn)品質(zhì)量低劣。第二代軟件工程:從20世紀(jì)80年代中期開始,面向?qū)ο蟮姆椒ㄅc技術(shù)得到迅速發(fā)展,軟件工程研究重點(diǎn)從程序設(shè)計(jì)語(yǔ)言逐漸轉(zhuǎn)移到面向?qū)ο蟮姆治雠c設(shè)計(jì),并形成為一種完整的開發(fā)技術(shù)體系。第三代軟件工程:強(qiáng)調(diào)“軟件過(guò)程”的控制與管理,提出了軟件項(xiàng)目管理的計(jì)劃、組織、成本估算、質(zhì)量保證、軟件配置管理等技術(shù)與策略。第四代軟件工程:20世紀(jì)90年代起,軟件復(fù)用和基于構(gòu)件的開發(fā)方法取得重要進(jìn)展,軟件復(fù)用技術(shù)及構(gòu)件技術(shù)為克服軟件危機(jī)提供了一條有效途徑,提高了軟件的效率、質(zhì)量,降低了成本,已成為當(dāng)前軟件工程的重要研究方向。概述嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例軟件開發(fā)是一種組織良好、管理嚴(yán)密、協(xié)同完成的工程項(xiàng)目,即按工程化的原則和方法組織管理軟件開發(fā)工作。軟件過(guò)程模型也稱為軟件生存周期模型或軟件開發(fā)模型,是描述軟件過(guò)程中如何執(zhí)行的模型。到目前為止已經(jīng)提出了多種模型,主要有線性順序模型即傳統(tǒng)的瀑布模型、增量模型、螺旋模型、快速開發(fā)模型、噴泉模型、智能模型等。典型的瀑布模型如圖6-1所示。其他模型請(qǐng)參考相關(guān)資料。

概述

概述嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例目前,軟件開發(fā)方法總體分為兩大類:面向過(guò)程的開發(fā)方法和面向?qū)ο蟮拈_發(fā)方法。面向過(guò)程的軟件開發(fā)方法把問(wèn)題進(jìn)行了分解,按照高內(nèi)聚性和低耦合性劃分功能,各功能模塊相互調(diào)用,軟件維護(hù)成本大;核心是從應(yīng)用功能角度來(lái)劃分功能模塊,定義每個(gè)模塊完成的功能及接口,再進(jìn)行系統(tǒng)模塊的集成。而面向?qū)ο箝_發(fā)方法是找出問(wèn)題域?qū)ο螅鲗?duì)象進(jìn)行消息傳遞,從而完成具體的功能,軟件復(fù)用性高,維護(hù)性好;核心是找出系統(tǒng)的對(duì)象,定義對(duì)象的狀態(tài)、功能以及對(duì)象之間的消息通信。面向?qū)ο蟮拈_發(fā)方法是20世紀(jì)80年代推出的一種全新的軟件開發(fā)方法,其基本思想以更接近人類通常思維的方式建立問(wèn)題領(lǐng)域的模型,以便對(duì)客觀的信息實(shí)體進(jìn)行結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件能更直接的表現(xiàn)問(wèn)題的求解過(guò)程,面向?qū)ο箝_發(fā)方法由(面向?qū)ο蠓治鯫OA)、OOD(面向?qū)ο蟮脑O(shè)計(jì))和OOP(面向?qū)ο蟮某绦蛟O(shè)計(jì))3部分組成。概述嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例軟件需求的基本任務(wù)有以下4個(gè)方面:確定系統(tǒng)的綜合要求,包括功能、性能、運(yùn)行環(huán)境等要求;分析系統(tǒng)的數(shù)據(jù)要求,包括數(shù)據(jù)格式、預(yù)處理、存儲(chǔ)、響應(yīng)等要求;導(dǎo)出系統(tǒng)的邏輯模型;修正系統(tǒng)的實(shí)施計(jì)劃,包括質(zhì)量計(jì)劃、進(jìn)度計(jì)劃、成本控制計(jì)劃、安裝培訓(xùn)計(jì)劃等。軟件需求包括3個(gè)不同的層次:業(yè)務(wù)需求、用戶需求和功能需求(也包括非功能需求)。業(yè)務(wù)需求(businessrequirement)反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明。用戶需求(userrequirement)文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實(shí)例(usecase)文檔或方案腳本說(shuō)明中予以說(shuō)明。功能需求(functionalrequirement)定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。作為功能需求的補(bǔ)充,軟件需求規(guī)格說(shuō)明還應(yīng)包括非功能需求,它描述了系統(tǒng)展現(xiàn)給用戶的行為、執(zhí)行的操作等。軟件需求嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例需求功能的基本活動(dòng)包括如下內(nèi)容:需求獲取即深入實(shí)際,在充分理解用戶需求的基礎(chǔ)上,積極與用戶交流,捕捉、分析和修訂用戶對(duì)目標(biāo)系統(tǒng)的要求,并提煉出符合解決領(lǐng)域問(wèn)題的用戶需求。進(jìn)行需求分析時(shí),應(yīng)注意一切信息與需求都是站在用戶的角度上,盡量避免分析員的主觀想象,并盡量將分析進(jìn)度提交給用戶。在不進(jìn)行直接指導(dǎo)的前提下,讓用戶進(jìn)行檢查與評(píng)價(jià),從而達(dá)到需求分析的準(zhǔn)確性。需求分析與建模即對(duì)已獲取的需求進(jìn)行分析和提煉,進(jìn)行抽象描述,建立目標(biāo)系統(tǒng)的概念模型,進(jìn)一步對(duì)模型進(jìn)行分析;需求規(guī)格證明對(duì)需求模型進(jìn)行精確的、形式化的描述;確認(rèn)需求即以需求規(guī)格為說(shuō)明為基礎(chǔ)輸入,通過(guò)符號(hào)執(zhí)行、模擬或快速原型等方法,分析和驗(yàn)證需求規(guī)格說(shuō)明的正確性和可行性,確保需求說(shuō)明準(zhǔn)確、完整地表達(dá)系統(tǒng)的主要性能;需求管理活動(dòng)主要包括跟蹤和管理需求變化,支持系統(tǒng)的需求演進(jìn)。軟件需求嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例對(duì)于嵌入式系統(tǒng)需求,根據(jù)電氣與電子工程師協(xié)會(huì)標(biāo)準(zhǔn)(IEEE),“需求(requirement)”一詞在《軟件工程專業(yè)術(shù)語(yǔ)詞典》中的定義如下:用戶為解決一個(gè)問(wèn)題或是達(dá)到某個(gè)目標(biāo)(object)所需的某種條件或能力;系統(tǒng)或系統(tǒng)的原件必須滿足的條件,或是必須具有的能力,以滿足合同規(guī)定、標(biāo)準(zhǔn)、規(guī)范或其他正式發(fā)布的文件;對(duì)上述定義的條件或能力的文件形式(documented)的表達(dá)。上述定義不僅是針對(duì)整個(gè)系統(tǒng)提出的需求,而且也涉及對(duì)單個(gè)系統(tǒng)元件提出的需求。此外,IEEE劃分了不同類別的需求:功能性的需求對(duì)那些系統(tǒng)或系統(tǒng)元件所必須提供的功能進(jìn)行定義;設(shè)計(jì)需求指系統(tǒng)或系統(tǒng)元件設(shè)計(jì)時(shí)提出的需求;接口需求指一種需求或邊界條件,這種需求或邊界條件涉及系統(tǒng)、元件之間或系統(tǒng)與元件之間的相互作用;性能需求規(guī)定功能性需求的運(yùn)行情況,如運(yùn)行時(shí)間、存儲(chǔ)需求或精確度;物理需求規(guī)定系統(tǒng)或元件的物理特性,如形狀、大小或重量;品質(zhì)屬性定義一個(gè)系統(tǒng)品質(zhì)特性,如可靠性、安全性、可維護(hù)性或移動(dòng)性。軟件需求嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例軟件設(shè)計(jì)是軟件開發(fā)的關(guān)鍵步驟,它直接影響軟件的質(zhì)量,主要任務(wù)是:將分析階段獲得的需求說(shuō)明轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng),完成系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),包括數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu),最后得到軟件設(shè)計(jì)的說(shuō)明書。這是一個(gè)從現(xiàn)實(shí)世界到信息世界的抽象過(guò)程,在數(shù)據(jù)設(shè)計(jì)中這一步也是很重要的。一般用E-R圖標(biāo)表示。軟件設(shè)計(jì)分為總體設(shè)計(jì)(概要設(shè)計(jì))和詳細(xì)設(shè)計(jì)兩個(gè)階段:概要設(shè)計(jì)是將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),劃分出組成系統(tǒng)的物理元素、程序、數(shù)據(jù)庫(kù)、過(guò)程、文件、類等;詳細(xì)設(shè)計(jì)是通過(guò)對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。在設(shè)計(jì)階段應(yīng)達(dá)到的目標(biāo)是高可靠性、高維護(hù)性、高可理解性、高效率。軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)、行為和屬性的高級(jí)抽象,由構(gòu)成系統(tǒng)的元素的描述、元素間的相互作用,指導(dǎo)元素集成的模型以及這些模式的約束組成。完整的應(yīng)用系統(tǒng)都由有若干功能相互獨(dú)立的子系統(tǒng)聚合而成,每個(gè)子系統(tǒng)又都通過(guò)某種方式來(lái)共享數(shù)據(jù),整個(gè)系統(tǒng)的結(jié)構(gòu)可分為集中式的倉(cāng)庫(kù)模型、分布式結(jié)構(gòu)、多處理器結(jié)構(gòu)、客戶/服務(wù)器(B/S)模型、分布式對(duì)象結(jié)構(gòu)、層次結(jié)構(gòu)等幾大類。圖6-2所示為典型的3層客戶/服務(wù)器模型。

軟件設(shè)計(jì)

軟件設(shè)計(jì)

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例面向?qū)ο蠓椒ň哂幸韵轮饕攸c(diǎn):按照人類習(xí)慣的思維方法,對(duì)軟件開發(fā)過(guò)程所有階段進(jìn)行綜合考慮;軟件生存周期多階段所使用的方法、技術(shù)具有高度的連續(xù)性;軟件開發(fā)各個(gè)階段有機(jī)集成,有利于系統(tǒng)穩(wěn)定性;具有良好的重用性。面向?qū)ο蠹夹g(shù)主要包括對(duì)象、類、消息、繼承、多態(tài)性等核心概念。對(duì)象是對(duì)客觀事物或概念的抽象表述。類又稱對(duì)象類,是指一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象的集合,類是對(duì)象的模板。繼承是以現(xiàn)存的定義為基礎(chǔ)建立新定義的技術(shù),是父類與子類之間共享數(shù)據(jù)和方法的機(jī)制。消息是指對(duì)象之間在交互中所傳送的通信信息。多態(tài)性是指相同的操作、函數(shù)、過(guò)程作用于不同的對(duì)象上并獲得不同的結(jié)果。

統(tǒng)一建模語(yǔ)言

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例面向?qū)ο蠓治雠c設(shè)計(jì)與傳統(tǒng)的開發(fā)方法相比具有以下優(yōu)點(diǎn):在實(shí)現(xiàn)的結(jié)果和實(shí)際問(wèn)題之間存在一種很接近的匹配關(guān)系;促進(jìn)對(duì)象的重用,由于對(duì)象的重用成為可能,從而可以減少錯(cuò)誤和維護(hù)問(wèn)題,對(duì)象的重用還加速了設(shè)計(jì)和開發(fā)的過(guò)程;符合人類認(rèn)知的方式,因?yàn)檫@是我們自然的思考方式;加強(qiáng)數(shù)據(jù)封裝;有助于處理軟件開發(fā)的復(fù)雜性,并幫助生成可修改的、有彈性的軟件系統(tǒng)。UML是第一代統(tǒng)一的可視化的建模語(yǔ)言,已成為國(guó)際軟件界廣泛承認(rèn)的標(biāo)準(zhǔn)。20世紀(jì)80年代末,形成以Smalltalk語(yǔ)言為代表的第一代面向?qū)ο蟮姆椒ā?0世紀(jì)90年代中期,出現(xiàn)了第二代面向?qū)ο蠓椒?,如G..Booch的面向?qū)ο蟮拈_發(fā)方法、P.Coad和E.Yourdon的OOA、OOD方法。這些典型的面向?qū)ο蟮拈_發(fā)方法都是以圖形作為主要的描述方式,但在基本概念、具體的描述、符號(hào)表示等方面依然有差異,各具特色。1996年推出了統(tǒng)一建模語(yǔ)言(0.9版),1997年1月,UML版本1.0被正式提交給國(guó)際對(duì)象管理組織。1997年11月,UML1.1版被OMG正式批準(zhǔn)為基于面向?qū)ο蟮募夹g(shù)的標(biāo)準(zhǔn)建模語(yǔ)言。

統(tǒng)一建模語(yǔ)言

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例UML具有統(tǒng)一標(biāo)準(zhǔn),面向?qū)ο?,可視化、描述能力?qiáng),獨(dú)立于過(guò)程,易掌握、易用等特點(diǎn)。UML的主要內(nèi)容由UML的語(yǔ)義和UML的表示法構(gòu)成。UML表示法由通用表示和圖形表示兩部分組成。UML建模語(yǔ)言的描述方式以標(biāo)準(zhǔn)的圖形表示為主,是由視圖、圖、模型元素和通用機(jī)制構(gòu)成的層次關(guān)系。視圖是從不同的視角觀察和建立的系統(tǒng)模型圖。一個(gè)視圖由多個(gè)圖構(gòu)成,主要支持用例視圖、設(shè)計(jì)視圖、過(guò)程視圖、實(shí)現(xiàn)視圖和配置視圖。圖用來(lái)描述一個(gè)視圖的內(nèi)容,是構(gòu)成視圖的成分。UML定義了5類圖,包括用例圖、靜態(tài)圖、行為圖、交互圖和實(shí)現(xiàn)圖。模型元素代表面向?qū)ο笾械念?、?duì)象、關(guān)系、消息等概念,是構(gòu)成圖的最基本的元素。通用機(jī)制用來(lái)表示其他信息,如注釋、模型元素的語(yǔ)義等。用例模型是從用戶的角度來(lái)描述系統(tǒng)的功能需求,在宏觀上給出模型的整體輪廓。建立用例模型的過(guò)程就是對(duì)系統(tǒng)進(jìn)行功能需求分析的過(guò)程。統(tǒng)一建模語(yǔ)言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例統(tǒng)一建模語(yǔ)言UML的靜態(tài)建模機(jī)制包括用例圖、類圖、對(duì)象圖和包圖。動(dòng)態(tài)模型主要用于描述系統(tǒng)的動(dòng)態(tài)行為和控制結(jié)構(gòu),包括4類圖:狀態(tài)圖、活動(dòng)圖、序列圖和協(xié)作圖。實(shí)現(xiàn)模型描述了系統(tǒng)實(shí)現(xiàn)時(shí)的一些特性,又稱為物理體系結(jié)構(gòu)模型,由構(gòu)件圖和配置圖組成。在嵌入式系統(tǒng)中,同樣可以運(yùn)用UML建立相關(guān)的模型來(lái)實(shí)現(xiàn)應(yīng)用。下面介紹一個(gè)簡(jiǎn)化的ATM自動(dòng)取款機(jī)系統(tǒng)應(yīng)用實(shí)例。(1)需求分析:●一個(gè)功能完全的ATM系統(tǒng),必須包括以下的幾個(gè)功能模塊:●讀卡機(jī)模塊;●鍵盤輸入模塊;●IC認(rèn)證模塊;顯示模塊;●吐錢機(jī)模塊;打印報(bào)表模塊;●監(jiān)視器模塊。對(duì)于性能必須滿足響應(yīng)時(shí)間小于2s。嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例統(tǒng)一建模語(yǔ)言(2)建立用例。用例是角色啟動(dòng)的,ATM系統(tǒng)根據(jù)業(yè)務(wù)流程大致可以分為以下的幾個(gè)用例:圖6-4客戶的用例關(guān)系圖●客戶取錢;●客戶存錢;●客戶查詢余額;●客戶轉(zhuǎn)賬;●客戶更改密碼;●客戶通過(guò)信用系統(tǒng)付款;●銀行官員改變密碼;●銀行官員為ATM添加現(xiàn)金;●銀行官員維護(hù)ATM硬件;●信用啟動(dòng)來(lái)自客戶的付款等。例如,客戶的用例關(guān)系圖如圖6-4所示。(3)系統(tǒng)動(dòng)態(tài)建模。包括許多框圖,如活動(dòng)圖(Activity)、序列圖(Sequence)、協(xié)作圖(Collaboration)等?!伴_戶”活動(dòng)圖如圖6-5所示。嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例統(tǒng)一建模語(yǔ)言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例統(tǒng)一建模語(yǔ)言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例取100元人民幣的序列圖如圖6-6所示。統(tǒng)一建模語(yǔ)言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例取100元人民幣的協(xié)作圖如圖6-7所示。統(tǒng)一建模語(yǔ)言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例(4)創(chuàng)建系統(tǒng)包圖:包將具有一些共性的類組合在一起,包裝類時(shí)有常用的幾個(gè)方法:按版型、按功能、按嵌套及以上方法的組合,統(tǒng)一建模語(yǔ)言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例統(tǒng)一建模語(yǔ)言嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例為了使嵌入式移動(dòng)設(shè)備包括多種多樣的特性,J2ME提出了兩個(gè)核心概念:Configuration和Profile。Configuration總結(jié)了具有類似屬性的一類設(shè)備。在這里對(duì)于所有的這類設(shè)備定義了特定的最小要求:可供使用的存儲(chǔ)器和網(wǎng)絡(luò)的可用情況。另外,Configuration確定了Java的特性,所有的設(shè)備類別的應(yīng)用均可追溯到這些屬性。支持虛擬機(jī)和類別函數(shù)庫(kù)的規(guī)模函數(shù)也被定義。迄今為止,針對(duì)嵌入式系統(tǒng)已經(jīng)開發(fā)了兩個(gè)Configuration。Profile定義了對(duì)給定配置功能性的應(yīng)用程序接口。最初,為CDC(ConnectedDeviceConfiguration)開發(fā)了基礎(chǔ)(Foundation)Profile。它包括用于Socket通信()、輸入/輸出處理(java.io)、安全(java.security)及其他的程序包。對(duì)Profile可以彼此重疊地進(jìn)行定義,如FoundationProfile借助于personalprofile擴(kuò)展了圖形用戶接口(java.awt、java.applet)??蛇x用的RMIProfile為Java應(yīng)用提供了RPC式通信??蛇x用的Profile為系統(tǒng)所需的功能性與其資源的有限性相匹配提供了一個(gè)簡(jiǎn)單的方法。嵌入式軟件編程嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例本應(yīng)用實(shí)例介紹了一套基于ECX平臺(tái)的旅游服務(wù)管理系統(tǒng)。系統(tǒng)采用C/S及B/S結(jié)構(gòu)相結(jié)合,由前臺(tái)車載端和后臺(tái)管理中心構(gòu)成。管理中心采用SQLServer2000來(lái)建數(shù)據(jù)庫(kù)服務(wù)器,用J2EE開發(fā)界面,MapX控件制作地圖,實(shí)現(xiàn)了數(shù)據(jù)庫(kù)管理、信息服務(wù)、電子地圖、車輛監(jiān)控等功能。車載端采用VC編寫圖形界面,添加了紅外計(jì)數(shù)裝置、USB攝像頭、車載定位等設(shè)備,具有紅外計(jì)數(shù)、拍照攝像、多媒體播放、GPS定位等功能。信息傳遞通過(guò)CDMA無(wú)線通信、FTP傳輸及IE3種方式完成,滿足不同大小的文件和圖片的傳輸。系統(tǒng)充分利用了ECX平臺(tái)的軟、硬件資源和公共信息資源,提高了旅游公司的管理水平,規(guī)范了旅行社、導(dǎo)游和游客三方的責(zé)任和義務(wù),具有較高的應(yīng)用價(jià)值?;贓CX嵌入式平臺(tái)的旅游系統(tǒng)應(yīng)用實(shí)例嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例隨著人們物質(zhì)生活水平的提高和社會(huì)節(jié)奏的加快,越來(lái)越多的人們希望出去走走,通過(guò)親近自然來(lái)豐富自己、調(diào)節(jié)身心。于是旅行社也如雨后春筍般的多了起來(lái),但由于旅行業(yè)中有些人的急功近利和服務(wù)管理手段的落后,使得服務(wù)質(zhì)量參差不齊。加上市場(chǎng)管理的不規(guī)范和游客及執(zhí)業(yè)人員的素質(zhì)不高等原因,使得在旅游業(yè)中游客與旅行社之間的矛盾日益突出,投訴也日益增多,如物品丟失、實(shí)際線路與所定線路不符、中途丟客、導(dǎo)游和司機(jī)中途搭載客人等現(xiàn)象屢屢見諸報(bào)紙。為了解決這些矛盾和保護(hù)雙方的利益,提高旅游公司的管理手段和管理水平,減輕導(dǎo)游的工作強(qiáng)度,切實(shí)保護(hù)游客的利益,開發(fā)了旅游服務(wù)管理系統(tǒng)。該旅游服務(wù)管理系統(tǒng),充分地利用了當(dāng)代成熟的移動(dòng)通信、嵌入式操作系統(tǒng)、GPS、多媒體和網(wǎng)絡(luò)技術(shù),解決在旅游服務(wù)及管理上出現(xiàn)的問(wèn)題,且可以快速應(yīng)對(duì)突發(fā)事件。例如,在旅途中遇到意外情況,可通過(guò)圖像和語(yǔ)音通信與管理中心聯(lián)絡(luò)、求助,還可以通過(guò)攝像設(shè)備來(lái)保護(hù)現(xiàn)場(chǎng)。

應(yīng)用實(shí)例背景

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例開發(fā)一種多用途綜合管理系統(tǒng)。該系統(tǒng)采用現(xiàn)代高科技手段,能夠達(dá)到如下的目標(biāo):能夠?qū)β糜喂救藛T進(jìn)行科學(xué)的人性化管理和服務(wù);能夠?qū)τ慰秃吐眯杏?jì)劃進(jìn)行有效的管理;為游客提供完善的導(dǎo)游服務(wù)和公共信息服務(wù);對(duì)意外情況的應(yīng)急處理和調(diào)度;通過(guò)該系統(tǒng)提高旅游公司的服務(wù)質(zhì)量,提升公司形象,完善公司的管理。

設(shè)計(jì)目標(biāo)

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例旅行社和游客是兩個(gè)有沖突的對(duì)立面。旅行社需要的是完善的、簡(jiǎn)單的平臺(tái),可以為他們提供專業(yè)的導(dǎo)游服務(wù)管理、導(dǎo)游人員管理、游客管理、游客投訴管理、市場(chǎng)反饋等。而游客所需要的是人性化的服務(wù),需要真實(shí)有保障的服務(wù),如實(shí)際行程要與計(jì)劃的一致,意外情況處理機(jī)制等。這就需要所開發(fā)的系統(tǒng)可以滿足他們各自的要求,可以解決他們的矛盾,使他們關(guān)聯(lián)起來(lái)。

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

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例旅游服務(wù)管理系統(tǒng)主要由管理監(jiān)控中心和旅游車載設(shè)備構(gòu)成。旅游公司所有的旅游車都裝備有車載導(dǎo)游服務(wù)終端,公司總部安裝有管理和監(jiān)控中心。如圖6-12所示,該系統(tǒng)采用GPS衛(wèi)星定位、CDMA無(wú)線通信技術(shù)、電子地圖、紅外計(jì)數(shù)、拍照攝像和互聯(lián)網(wǎng)技術(shù),來(lái)達(dá)到管理、服務(wù)和監(jiān)控的功能系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)總體功能包括兩部分內(nèi)容:管理中心及車載終端。(1)管理中心實(shí)現(xiàn)的功能●地圖、GPS定位功能:后臺(tái)中心根據(jù)車載端反饋回來(lái)的GPS信息將旅行車的位置在地圖上顯示出來(lái),起到對(duì)旅行車監(jiān)控的作用。●人員管理功能:包括導(dǎo)游、司機(jī)、游客等所有有關(guān)人員的管理,與車載端數(shù)據(jù)庫(kù)信息保持同步,保存旅游有關(guān)人員的相關(guān)信息,并隨人員變動(dòng)更新?!窈贤芾砉δ埽罕4婧凸芾砼c游客簽定的合同?!窬包c(diǎn)和旅游計(jì)劃管理:收集景點(diǎn)信息,編制旅游計(jì)劃和行程安排。●市場(chǎng)服務(wù)管理:統(tǒng)計(jì)市場(chǎng)需求、分析市場(chǎng)反饋?!袂芭_(tái)通信功能:收到前臺(tái)需求信息,如天氣信息,后臺(tái)中心就會(huì)發(fā)送相關(guān)信息。

系統(tǒng)總體功能

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例(2)車載設(shè)備實(shí)現(xiàn)的功能●地圖、GPS定位功能:可以實(shí)時(shí)監(jiān)控旅游車所在的位置,并且當(dāng)?shù)竭_(dá)一定的景點(diǎn)范圍時(shí),可以觸發(fā)多媒體播放?!裼?jì)劃行程管理功能:顯示本次旅游預(yù)定計(jì)劃功能,包括旅游路線、預(yù)定賓館、預(yù)定飯店等所有與行程有關(guān)的信息。●人員核對(duì)功能:系統(tǒng)彈出已上車游客人數(shù)和所有游客人數(shù)的對(duì)話框,方便司機(jī)或?qū)в魏藢?duì)人數(shù)(若人數(shù)相符則可以開車啟程,防止丟失游客)。●游客上車自動(dòng)拍照功能:記錄游客上、下車照片資料,保存在數(shù)據(jù)庫(kù)中,由于處理旅游途中的糾紛或作為特殊旅客的查詢。

系統(tǒng)總體功能

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例●游客自動(dòng)添加記錄功能:當(dāng)系統(tǒng)檢測(cè)到游客數(shù)量增加時(shí)自動(dòng)彈出要求添加乘客信息的對(duì)話框,導(dǎo)游必須即時(shí)錄入新游客的必要信息(導(dǎo)游也可手動(dòng)添加新游客信息);●景點(diǎn)自動(dòng)播放的功能:到達(dá)每個(gè)景點(diǎn)時(shí),系統(tǒng)自動(dòng)播放相關(guān)景點(diǎn)的視頻、圖片或者音頻資料(幫助導(dǎo)游更好地完成導(dǎo)游工作)?!裥畔⒉樵児δ埽嚎梢酝ㄟ^(guò)和管理中心通信獲得最新的信息,如氣象信息、交通信息(防止堵車現(xiàn)象的發(fā)生),管理中心也可以主動(dòng)發(fā)送這些信息給旅游車輛,使旅游車收到消息后可以及時(shí)做相關(guān)的處理?!馱eb訪問(wèn)功能:在旅行車上也可以通過(guò)IE方式訪問(wèn)旅行社或公共信息的網(wǎng)頁(yè)。系統(tǒng)總體功能嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例①系統(tǒng)面對(duì)的是一個(gè)日益興旺,急需規(guī)范的旅游市場(chǎng),該系統(tǒng)要有極高的應(yīng)用價(jià)值。所設(shè)計(jì)的內(nèi)容分別從旅游公司和游客兩個(gè)方面出發(fā),有機(jī)的統(tǒng)一和規(guī)范了雙方的利益、義務(wù),既有利于旅游公司的管理、減輕導(dǎo)游的工作強(qiáng)度,又可以使游客明明白白的消費(fèi)。②系統(tǒng)所選用的ECX平臺(tái)作為前臺(tái)設(shè)備,充分利用了其適合移動(dòng)、CPU與X86系列兼容,嵌入式系統(tǒng)移植容易,且具有豐富的硬件資源系統(tǒng)的特色。③充分地利用了互聯(lián)網(wǎng)的功能和TCP/IP協(xié)議棧,使得公共資源和信息的服務(wù)可以與旅游服務(wù)相結(jié)合,更好的提高了旅游的服務(wù)質(zhì)量和人性化服務(wù),如可以臨時(shí)變更游客的人數(shù)和合同,可以幫助游客查詢天氣、商店、飯店、交通等信息,可以為司機(jī)提供加油站的信息等。④通過(guò)紅外記數(shù)的方式核對(duì)游客人數(shù),實(shí)時(shí)監(jiān)控游客上、下車的情況,這樣既省去了導(dǎo)游來(lái)回清點(diǎn)人數(shù)的麻煩,避免了中途“丟客”的現(xiàn)象,又可以加強(qiáng)公司對(duì)途中游客的管理。公司管理出效益、導(dǎo)游輕松減壓力、游客利益得保證。系統(tǒng)特點(diǎn)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例⑤當(dāng)紅外探測(cè)器探測(cè)到有游客上車時(shí),會(huì)觸發(fā)USB攝像頭對(duì)游客拍照,這樣既可以對(duì)某些特殊游客追蹤,又可以對(duì)意外情況留存憑證,對(duì)游客、公司和社會(huì)均有重要的價(jià)值。⑥使用了CDMA和FTP兩種方式進(jìn)行前、后臺(tái)的交互,可以滿足文件或圖像的傳輸,節(jié)省了成本。⑦界面的設(shè)計(jì)采用了構(gòu)件化的組裝方式,可以根據(jù)不同旅游公司的需要進(jìn)行二次開發(fā),推出新的界面和功能。⑧針對(duì)車載端資源有限的特點(diǎn),采用“后臺(tái)讀庫(kù)寫文件,前臺(tái)讀文件寫庫(kù)”的方式,進(jìn)行前后臺(tái)特定數(shù)據(jù)庫(kù)信息的交互和同步。⑨采用景點(diǎn)關(guān)聯(lián)表的方法,實(shí)現(xiàn)了一張地圖多次使用的問(wèn)題。⑩根據(jù)GPS的實(shí)時(shí)信息、景點(diǎn)關(guān)聯(lián)表和地圖測(cè)距技術(shù),實(shí)現(xiàn)景點(diǎn)多媒體信息的自動(dòng)播放,即可減輕導(dǎo)游的工作壓力,又可保證導(dǎo)游服務(wù)的質(zhì)量。系統(tǒng)特點(diǎn)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)的實(shí)現(xiàn)可以大致分為前臺(tái)車載嵌入式設(shè)備、后臺(tái)管理和監(jiān)控中心兩個(gè)部分。(1)車載嵌入式設(shè)備①前臺(tái)車載設(shè)備的總體設(shè)計(jì)如圖6-13所示。

系統(tǒng)實(shí)現(xiàn)原理

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例

系統(tǒng)實(shí)現(xiàn)原理

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例前臺(tái)車載設(shè)備設(shè)計(jì)框圖的簡(jiǎn)要說(shuō)明如下?!穸嗝襟w信息和音、視頻播放:當(dāng)將要到達(dá)旅游景點(diǎn)時(shí),自動(dòng)或手動(dòng)播放景點(diǎn)信息介紹,也可停止播放?!窠缑妫很囕d端的操作界面?!馱eb訪問(wèn):可以用IE訪問(wèn)旅行社的網(wǎng)站?!駭?shù)據(jù)庫(kù):建立本次旅行人員管理、車輛管理、游客管理、信息管理等,與后臺(tái)管理中心一致?!裢ㄐ跑浖航④囕d端與管理中心的聯(lián)系及信息傳遞?!馯SB攝像軟件:給上、下車的乘客拍照,以便查對(duì)?!窦t外計(jì)數(shù):記錄上車的乘客的數(shù)量,以便統(tǒng)計(jì),當(dāng)人數(shù)超出時(shí),彈出對(duì)話框提示導(dǎo)游。●地圖與GPS:根據(jù)GPS信息,可以顯示旅行車在地圖上的位置。

系統(tǒng)實(shí)現(xiàn)原理

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例前臺(tái)車載設(shè)備的硬件應(yīng)含有如下設(shè)備?!馝CX車載平臺(tái):ECX平臺(tái)接入設(shè)備如表6-1所示。表6-1

ECX平臺(tái)接入設(shè)備一覽表系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例從表6-1可見ECX平臺(tái)的硬件資源已充分的利用。●USB攝像頭:該攝像頭為外購(gòu)設(shè)備,品牌為亞諾金。采用38萬(wàn)高解清晰度CMOS感光芯片,效果可達(dá)130萬(wàn)像素;視頻解像度為320

×

240、352

×

288、640

×

480,幀率CIF格式為30幀/秒,VGA格式為15~20幀/秒,攝像頭自帶的軟件支持WindowsXP。圖6-15所示為攝像頭實(shí)物圖?!馬S232紅外記數(shù)器:根據(jù)人體產(chǎn)生紅外熱射的場(chǎng)強(qiáng)不同來(lái)進(jìn)行計(jì)數(shù),可以判斷上車和下車的人數(shù)。圖6-16所示為紅外設(shè)備實(shí)物圖。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例集成GPS/CDMA模塊,如圖6-18所示,該模塊分別通過(guò)RS232控制器,與ECX平臺(tái)的串口COM1和COM2連接,其模塊框圖如圖6-19所示。該模塊設(shè)計(jì)了PCB圖,在加工制作、焊接調(diào)試成功后,可以定時(shí)輸出GPS信息,完成CDMA的通信。●其他硬件,車載設(shè)備的其他硬件還有LCD顯示器(屏)、PS2鍵盤、80GB硬盤、音/視播放等設(shè)備。③前臺(tái)車載設(shè)備的軟件設(shè)計(jì)。前臺(tái)車載設(shè)備的軟件環(huán)境包括運(yùn)行環(huán)境、數(shù)據(jù)庫(kù)系統(tǒng)、開發(fā)工具、系統(tǒng)架構(gòu)、相關(guān)軟件等部分。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)運(yùn)行環(huán)境的操作系統(tǒng)選用WindowsXP。網(wǎng)絡(luò)系統(tǒng)管理方便,適合分布式處理及遠(yuǎn)程撥號(hào)登錄;文件系統(tǒng)保密性強(qiáng);系統(tǒng)穩(wěn)定性高,有防崩潰保護(hù)機(jī)制。關(guān)系數(shù)據(jù)庫(kù)為SQLServer2

000,SQLServer安全性高,適合分布式處理,具有數(shù)據(jù)回滾功能,適合數(shù)據(jù)量大、算法復(fù)雜、一致性要求高的場(chǎng)合。開發(fā)工具為VC++、ADO數(shù)據(jù)存取技術(shù)、XML數(shù)據(jù)傳輸技術(shù)。系統(tǒng)架構(gòu)采用三層式C/S結(jié)構(gòu)與面向?qū)ο蟮慕M件開發(fā)方式,網(wǎng)絡(luò)運(yùn)行效率高。相關(guān)軟件主要有多媒體播放器(電影VCD/TV/Audio),USB攝像頭、拍、壓縮、存軟件,圖片處理軟件,紅外計(jì)數(shù)器自帶軟件,CDMA通信模塊自帶軟件,電子地圖軟件等。根據(jù)實(shí)現(xiàn)功能的需要,將車載端的軟件分成如下7個(gè)模塊。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例●設(shè)計(jì)車載端的人機(jī)交互界面用戶界面包括:會(huì)話管理:包括輸入輸出窗口、輸入方式有命令方式、菜單方式、功能鍵方式、鼠標(biāo)方式、程序方式、窗口方式等;對(duì)錯(cuò)誤信息處理,返回控制,保證系統(tǒng)的健壯性;操作支持:給用戶方便的help幫助;采用多級(jí)菜單形式,包括下拉式菜單、多頁(yè)面菜單和彈出式菜單窗口界面,使用方便、靈活。用戶界面開發(fā)特點(diǎn):可靠性好;簡(jiǎn)單易用;立即反饋性好;方便靈活。車載設(shè)備的界面實(shí)現(xiàn)的功能菜單列表如下:(包括一二三級(jí)菜單)系統(tǒng)設(shè)置:包括游客自動(dòng)拍照(開啟、關(guān)閉);車輛運(yùn)行軌跡(開啟、關(guān)閉);景點(diǎn)自動(dòng)播放功能(開啟、關(guān)閉)(播放相關(guān)景點(diǎn)資料);旅游地圖選擇。旅游管理活動(dòng):游客活動(dòng)管理;車內(nèi)人員記數(shù)顯示;添加新游客信息;信號(hào)采集錄象管理。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例計(jì)劃行程管理:旅游線路顯示;住宿信息管理;飯店信息管理;行程時(shí)間安排管理。信息服務(wù)中心:服務(wù)呼叫(負(fù)責(zé)與中心實(shí)時(shí)通信);FTP工具(負(fù)責(zé)傳輸文件、圖片)。數(shù)據(jù)管理:數(shù)據(jù)倒入;數(shù)據(jù)倒出。查詢系統(tǒng):景點(diǎn)信息查詢;游客信息查詢;公共服務(wù)信息查詢;氣象信息查詢;交通信息查詢;飯店信息查詢;商店信息查詢;加油站信息查詢。地圖操作:放大;縮??;漫游;距離工具;比例尺。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例●建立前臺(tái)的數(shù)據(jù)庫(kù),并以文件的形式實(shí)現(xiàn)了前后臺(tái)的數(shù)據(jù)庫(kù)信息交互(前臺(tái)實(shí)現(xiàn)的是讀文件寫庫(kù))考慮到車載設(shè)備的數(shù)據(jù)庫(kù)應(yīng)該是后臺(tái)管理監(jiān)控中心數(shù)據(jù)庫(kù)的子集,且應(yīng)該與后臺(tái)數(shù)據(jù)庫(kù)數(shù)據(jù)同步,故采用了如下兩種方法來(lái)實(shí)現(xiàn)。一是以文件的形式實(shí)現(xiàn)前、后臺(tái)的數(shù)據(jù)庫(kù)信息交互。旅游公司發(fā)團(tuán)前,通過(guò)輸入查詢條件,檢索數(shù)據(jù)庫(kù)中的特定數(shù)據(jù)寫文件(簡(jiǎn)稱讀庫(kù)寫文件),通過(guò)U盤將文件倒入車載設(shè)備,車載設(shè)備端運(yùn)行“讀文件寫庫(kù)”的程序,讀文件解析后再寫入前臺(tái)的數(shù)據(jù)庫(kù)。二是實(shí)時(shí)的更新數(shù)據(jù)庫(kù)中變化的數(shù)據(jù),并自動(dòng)通過(guò)CDMA信道同步前、后臺(tái)的小容量的數(shù)據(jù)(如旅游人數(shù)的變動(dòng)等)。對(duì)于大容量的數(shù)據(jù)(如某人的照片數(shù)據(jù))則在命令下才發(fā)送。●根據(jù)GPS信息觸發(fā)景點(diǎn)多媒體信息的播放(電影VCD/TV/Audio)。GPS信息采集:GPS每一秒鐘都會(huì)通過(guò)串口輸出一串?dāng)?shù)據(jù),數(shù)據(jù)速率為4800bit/s,其數(shù)據(jù)幀格式如表6-2所示。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例●USB攝像頭攝、拍、壓縮、存軟件。先將設(shè)備自帶的軟件移植到ECX平臺(tái)上,去除其拍攝界面,編寫代碼使之能夠與紅外設(shè)備聯(lián)動(dòng),并將拍攝的BMP圖片存入文件,調(diào)用壓縮軟件(在網(wǎng)上找到的開源的軟件,采用DLL庫(kù)調(diào)用的方式實(shí)現(xiàn)),進(jìn)行圖片壓縮后生成JPG格式的文件,并按照自定義的前后臺(tái)通信協(xié)議,在收到后臺(tái)要求發(fā)送圖片的命令后,通過(guò)FTP的方式將圖像文件通過(guò)CDMA的無(wú)線信道發(fā)送到后臺(tái)?!窦t外計(jì)數(shù)信息的解析和通信軟件。根據(jù)紅外探測(cè)器所能達(dá)到的范圍,將紅外探測(cè)器正確安裝在旅行車車門的位置,要確保會(huì)探測(cè)到每一個(gè)上、下車的乘客,不會(huì)有遺漏。當(dāng)有游客上、下車時(shí),紅外探測(cè)器就會(huì)探測(cè)到,然后開始計(jì)數(shù),上車是加1。下車是減1,當(dāng)沒(méi)有游客上、下車時(shí),探測(cè)器就會(huì)將記錄的數(shù)據(jù)發(fā)送給車上的小數(shù)據(jù)庫(kù)。在記數(shù)的同時(shí),會(huì)觸發(fā)USB攝像頭對(duì)游客拍照,留有證據(jù),以便查找核對(duì)。當(dāng)旅行車將要出發(fā)時(shí),通過(guò)從紅外計(jì)數(shù)器取出的數(shù)據(jù)與總?cè)藬?shù)進(jìn)行對(duì)比,人數(shù)一致便可以發(fā)車,不一致時(shí)就要將信息發(fā)送給后臺(tái),如果有意外情況發(fā)生游客自己先行離開,不需要等待還是留在原地等待,就要根據(jù)后臺(tái)中心的指示來(lái)做處理。當(dāng)檢測(cè)到游客總?cè)藬?shù)增加時(shí)自動(dòng)彈出添加游客信息的對(duì)話框,要求添加新游客信息,導(dǎo)游就可以手動(dòng)添加游客信息,并且通過(guò)通信軟件傳送給管理中心,而且當(dāng)每次檢測(cè)到車內(nèi)人數(shù)增加,自動(dòng)拍照做記錄,這樣就可以防止導(dǎo)游私自克扣新游客所交的費(fèi)用,防止旅行社的利益受損。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例●通過(guò)CDMA完成的通信軟件。●通信軟件要實(shí)現(xiàn)3個(gè)功能與管理中心聯(lián)系:通過(guò)CDMA無(wú)線通信實(shí)現(xiàn)與中心聯(lián)系,可以用來(lái)交換些小信息,可以是圖片、記數(shù)之類的信息。例如臨時(shí)增加了游客,就可以將游客信息、照片等資料傳送給后臺(tái)中心。FTP:當(dāng)需要傳輸比較大的容量信息時(shí),如圖像,系統(tǒng)采用在命令下的CDMA通信,并以FTP的方式通信。應(yīng)用層采用自定義的協(xié)議。IE:可以通過(guò)無(wú)線的方式訪問(wèn)后臺(tái)。非實(shí)時(shí)通信:有些文件信息是不需要實(shí)時(shí)通信的,如旅行車出發(fā)前,導(dǎo)游要將此次旅行的景點(diǎn)、游客、路線等信息載入旅行車內(nèi)的小數(shù)據(jù)庫(kù),就可以直接用U盤倒入,不需要用傳統(tǒng)的文件的方式來(lái)記錄核對(duì)游客,這樣不僅方便,還減少了差錯(cuò)。車載終端與中心通信協(xié)議,按照TCP/IP4層協(xié)議的模型,網(wǎng)絡(luò)接口采用CDMA或GPRS撥號(hào)接入的方式;網(wǎng)絡(luò)層采用IP;傳輸層采用UDP;應(yīng)用層采用自定義的協(xié)議。本協(xié)議定義的是應(yīng)用層的通信協(xié)議。軟件的實(shí)現(xiàn)。先調(diào)通硬件,利用運(yùn)營(yíng)商開通的數(shù)據(jù)業(yè)務(wù),建立物理層和數(shù)據(jù)鏈路層的通信,CDMA的通信速率是115

200bit/s,網(wǎng)絡(luò)層和傳輸層的通信通過(guò)TCP/IP協(xié)議棧的Socket調(diào)用來(lái)實(shí)現(xiàn),在應(yīng)用層自定義了通信協(xié)議,編寫了通信軟件來(lái)實(shí)現(xiàn)前、后臺(tái)的信息交互。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例●電子地圖與GPS定位軟件(包括旅游景點(diǎn)地理坐標(biāo)關(guān)聯(lián)表生成/景點(diǎn)多媒體信息播放/車輛行駛軌跡等)。地圖是用MapInfoMapX軟件實(shí)現(xiàn)的,本系統(tǒng)是將地圖與GPS定位相聯(lián)系的,MapInfoMapX支持GPS定位系統(tǒng)。系統(tǒng)的地圖包括前臺(tái)車載端和后臺(tái)管理中心兩部分。前臺(tái)的地圖只需要跟蹤顯示本車所在的位置,在地圖上顯示出來(lái),后臺(tái)可以顯示旅行社里所有車輛所在的位置,只需輸入車的ID,即可在后臺(tái)地圖界面中顯示旅行車所在的位置。MapInfoMapX是低價(jià)、高效、強(qiáng)大的ActiveX組件。MapInfoMapX支持將地圖功能添加到任何應(yīng)用中,提供了一種高度可視化的方法,來(lái)顯示和分析基于位置的數(shù)據(jù),存儲(chǔ)數(shù)據(jù)并自動(dòng)重繪移動(dòng)的對(duì)象,支持開發(fā)者創(chuàng)建實(shí)時(shí)的GPS跟蹤。MapX的主要優(yōu)點(diǎn)是:易于使用且價(jià)格低廉;能實(shí)現(xiàn)Pro95%以上的功能;用于實(shí)時(shí)監(jiān)控、GPS等;提供面向?qū)ο箝_發(fā),提供更為廣闊的開發(fā)空間;為WEBGIS的開發(fā)打下基礎(chǔ)。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例用MapX實(shí)現(xiàn)的功能:電子地圖的設(shè)計(jì)以MapX為平臺(tái),實(shí)現(xiàn)了在電子地圖上繪制車輛行使軌跡以及地圖同步的功能,并且與GPS相結(jié)合,具有在電子地圖上實(shí)時(shí)跟蹤車輛行駛的功能。所用控件:MapInfoMapXV5、MicrosoftADODataControl6.0(OLEDB)、MicrsoftDataGridControl6.0(OLEDB)、JpgShowCtlControl、WindowsMediaPlayerActiveXControl、WebBrowserControl。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例采用制作旅游景點(diǎn)地理坐標(biāo)關(guān)聯(lián)表的方式來(lái)觸發(fā)景點(diǎn)多媒體信息播放,以及在地圖上實(shí)現(xiàn)車輛行駛軌跡等。車載設(shè)備的軟件整個(gè)程序的設(shè)計(jì)是基于對(duì)話框的編程。所有的彈出窗口均繼承CDialog類實(shí)現(xiàn)。視頻捕捉窗口利用VFW開發(fā)包編程實(shí)現(xiàn),捕捉到的靜態(tài)幀立即壓縮為jepg格式的圖片。數(shù)據(jù)庫(kù)訪問(wèn)利用COM實(shí)現(xiàn),關(guān)于數(shù)據(jù)庫(kù)的訪問(wèn)操作是運(yùn)用COM提供的接口。運(yùn)用多線程機(jī)制為FTP的訪問(wèn)和數(shù)據(jù)傳輸,GPS數(shù)據(jù)接收和處理,視頻捕捉和拍照等可能引起阻塞的操作用都分配單獨(dú)的線程來(lái)實(shí)現(xiàn),避免整個(gè)程序由于個(gè)別操作而崩潰。FTP程序是用API編寫,目的是為了可以靈活操作,也可以有更高的效率,控制每一次和服務(wù)器的數(shù)據(jù)交互。前后臺(tái)的通信功能根據(jù)需要用socketAPI和MFC提供的CAsyncSocket類來(lái)實(shí)現(xiàn)。在界面上提供給用戶的功能有:?jiǎn)?dòng)或者停止自動(dòng)拍照,添加游客,查詢數(shù)據(jù)庫(kù)信息,選擇地圖,開啟或者停止跟蹤車輛行駛路線,導(dǎo)出數(shù)據(jù)庫(kù)中改動(dòng)過(guò)的信息,導(dǎo)入每次出游時(shí)需要的信息(數(shù)據(jù)的導(dǎo)入導(dǎo)出通過(guò)讀寫txt文件實(shí)現(xiàn)),和中心自主通信(向發(fā)短信息提出服務(wù)請(qǐng)求)。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例其運(yùn)行在后臺(tái)且對(duì)使用人員透明的功能有:每一段時(shí)間將GPS信息保存到數(shù)據(jù)庫(kù);當(dāng)檢測(cè)到游客總?cè)藬?shù)增加時(shí)自動(dòng)彈出添加游客信息的對(duì)話框,要求添加新游客信息;處理中心發(fā)來(lái)的命令有添加游客,刪除游客,改變旅游路線,改變旅游計(jì)劃等等;當(dāng)每次檢測(cè)到車內(nèi)人數(shù)增加,自動(dòng)拍照做記錄。代碼設(shè)計(jì)特點(diǎn):代碼簡(jiǎn)潔、標(biāo)準(zhǔn)化;可擴(kuò)充行好;設(shè)計(jì)合理、規(guī)范,可適應(yīng)性好。(2)管理和監(jiān)控中心設(shè)備①后臺(tái)管理和監(jiān)控中心設(shè)備的總體設(shè)計(jì)。功能描述:根據(jù)角色的不同,系統(tǒng)設(shè)定了不同的權(quán)限,是菜單也不相同,如系統(tǒng)管理員、嘉賓、機(jī)構(gòu)管理員。例如,系統(tǒng)管理員可以有讀和寫的功能,可以增加或刪除各種信息。機(jī)構(gòu)管理員只可以修改人員、車輛、市場(chǎng)等,不能夠修改系統(tǒng)設(shè)置。角色A是管理員,角色B是司機(jī)和導(dǎo)游,角色C是游客,游客是最下面的一層。管理中心是整個(gè)系統(tǒng)的中心,主要實(shí)現(xiàn)了原始數(shù)據(jù)的錄入,以及各種數(shù)據(jù)信息的添加、刪除和更新,如車輛管理,顯示怎樣添加新的車輛,其中,車輛的ID是不需要填寫的,這是系統(tǒng)自動(dòng)生成的,然后按照提示如車輛號(hào)、車輛類型、車輛型號(hào)等等一一填寫,這樣就可以完成車輛的添加。其他如添加司機(jī)、導(dǎo)游、景點(diǎn)等,也可按照添加車輛的方法完成。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例在每個(gè)一級(jí)菜單下面都會(huì)有幾個(gè)查詢條件,可以查詢相應(yīng)的信息,它有6個(gè)按鈕,分別是快速、增加、修改、刪除、瀏覽和打印,快速就是將所有要查找的信息全部顯示出來(lái)。例如,查找車輛,如果直接單擊“快速“控制,將會(huì)顯示所有的車輛信息。如果知道車輛的大概信息,如車輛ID或是車型,可以點(diǎn)查詢條件,會(huì)出現(xiàn)對(duì)話框。后臺(tái)管理和監(jiān)控中心設(shè)備的總體設(shè)計(jì)框圖如圖6-24所示。圖6-24后臺(tái)設(shè)計(jì)框圖●界面:旅行社網(wǎng)站的界面?!裢ㄐ跑浖嚎梢耘c車載端聯(lián)系,進(jìn)行信息通信。●數(shù)據(jù)庫(kù):建立人員管理、車輛管理、游客管理、信息管理等?!馱eb網(wǎng)絡(luò):可以通過(guò)IE方式訪問(wèn)旅行社?!竦貓D:通過(guò)車載端反饋的位置信息,將車輛在地圖上顯示出來(lái),對(duì)車輛進(jìn)行監(jiān)控。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例②后臺(tái)管理和監(jiān)控中心硬件設(shè)計(jì)。硬件環(huán)境:中心服務(wù)器一臺(tái);CDMA無(wú)線通信模塊。③后臺(tái)管理和監(jiān)控中心軟件設(shè)計(jì)。運(yùn)行環(huán)境:客戶端采用WindowsXP操作系統(tǒng),用IE來(lái)訪問(wèn)應(yīng)用服務(wù)器;網(wǎng)絡(luò)服務(wù)器操作系統(tǒng)選用Windows2000。網(wǎng)絡(luò)系統(tǒng)管理方便,適合分布式處理及遠(yuǎn)程撥號(hào)登錄;文件系統(tǒng)保密性強(qiáng);系統(tǒng)穩(wěn)定性高,有防崩潰保護(hù)機(jī)制。關(guān)系數(shù)據(jù)庫(kù):主選大型數(shù)據(jù)庫(kù)SQLServer2000,SQLServer安全性高,適合分布式處理,具有數(shù)據(jù)回滾功能,適合數(shù)據(jù)量大、算法復(fù)雜、一致性要求高的場(chǎng)合。開發(fā)工具:Java、EJB、SERVLET、XML數(shù)據(jù)傳輸技術(shù)。系統(tǒng)架構(gòu):采用B/S結(jié)構(gòu)與面向構(gòu)件化的開發(fā)方式。應(yīng)用服務(wù)器:JBOSS,支持EJB容器。相關(guān)軟件:CDMA通信軟件、電子地圖軟件。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例④后臺(tái)管理和監(jiān)控中心數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)庫(kù)主要是對(duì)本次旅游活動(dòng)的相關(guān)數(shù)據(jù)進(jìn)行管理,與本次旅游活動(dòng)相關(guān)的信息,包括計(jì)劃管理、合同管理、景點(diǎn)管理、旅游線路管理、旅游活動(dòng)管理、公共信息管理?!裼?jì)劃管理:查詢本次旅游的計(jì)劃信息;●合同管理:查詢本次旅游的合同信息;●景點(diǎn)管理:查詢本次旅游計(jì)劃中的景點(diǎn)信息;●線路管理:查詢本次旅游計(jì)劃中的線路信息;●旅游活動(dòng)管理:對(duì)本次旅游的過(guò)程進(jìn)行管理,包括上/下車信息、錄像、車輛狀況、游客狀況等信息;●公共信息管理:查詢公共信息。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例數(shù)據(jù)流程圖DFD:描述數(shù)據(jù)處理過(guò)程,圖形化的方式,對(duì)旅游管理系統(tǒng)刻畫從輸入到輸出的變換過(guò)程。系統(tǒng)的輸入數(shù)據(jù)有游客信息、司機(jī)信息、計(jì)劃信息等;輸出數(shù)據(jù)有合同信息、線路信息、景點(diǎn)信息、活動(dòng)信息等;系統(tǒng)內(nèi)部信息包括本次活動(dòng)的相關(guān)信息,如計(jì)數(shù)、行程改變、線路改變等;對(duì)每個(gè)具體信息再進(jìn)一步分解形成整個(gè)系統(tǒng)DFD圖。對(duì)DFD中的各個(gè)成分具體的含義用數(shù)據(jù)字典來(lái)描述,旅游管理系統(tǒng)的數(shù)據(jù)字典由下面的邏輯模型設(shè)計(jì)中的圖表來(lái)生成。概念模型設(shè)計(jì):對(duì)DFD和DD提供的信息作為輸入,以直觀的形式表達(dá)旅游管理信息系統(tǒng)的信息,用ER圖來(lái)實(shí)現(xiàn)。首先構(gòu)造實(shí)體,包括車輛、導(dǎo)游、司機(jī)、游客、計(jì)劃、合同、景點(diǎn)、旅游線路、公共信息等;然后找出實(shí)體之間的關(guān)系,每個(gè)實(shí)體有自己的數(shù)據(jù)項(xiàng)及其對(duì)應(yīng)關(guān)系,其中實(shí)體車輛、導(dǎo)游、司機(jī)與計(jì)劃、合同的實(shí)體是一對(duì)一關(guān)系;實(shí)體游客與實(shí)體計(jì)劃是一對(duì)多關(guān)系。在視圖集成中解決了命名沖突、概念沖突、域沖突以及區(qū)別了不同的數(shù)據(jù)子集,具體信息見邏輯模型設(shè)計(jì)中的圖表。系統(tǒng)實(shí)現(xiàn)原理邏輯模型設(shè)計(jì):將概念模型轉(zhuǎn)化為數(shù)據(jù)庫(kù)的邏輯模型,與選用的DBMS相結(jié)合,整個(gè)旅游管理系統(tǒng)的數(shù)據(jù)模型如圖6-27所示。模式的優(yōu)化設(shè)計(jì)包括:基于3NF進(jìn)行規(guī)范處理,定義相關(guān)的主鍵和外鍵,減少數(shù)據(jù)冗余,加快增、刪、改、查的速度。物理模型設(shè)計(jì):本系統(tǒng)采用SQLServer2000來(lái)做數(shù)據(jù)庫(kù)服務(wù)器,該RDBMS本身采用了許多先進(jìn)的技術(shù),使得數(shù)據(jù)庫(kù)在存儲(chǔ)I/O、網(wǎng)絡(luò)I/O、線程管理及存儲(chǔ)器管理上,效率非常高,因此,本系統(tǒng)主要的設(shè)計(jì)精力在數(shù)據(jù)索引方面,對(duì)無(wú)限增長(zhǎng)的數(shù)據(jù)表建立相關(guān)的索引來(lái)改善查詢速度,即對(duì)合同表、計(jì)劃表、計(jì)劃明細(xì)表、游客表建立聚族索引和非聚族索引。物理庫(kù)實(shí)施:數(shù)據(jù)載入:對(duì)本次旅游相關(guān)的數(shù)據(jù)輸入到本系統(tǒng),包括游客信息、合同信息、計(jì)劃信息、所有景點(diǎn)信息、線路信息、公共信息等,通過(guò)數(shù)據(jù)管理模塊來(lái)導(dǎo)入。

數(shù)據(jù)同步:對(duì)管理后臺(tái)和車載終端的數(shù)據(jù)要進(jìn)行數(shù)據(jù)的同步操作,保證數(shù)據(jù)的完整性,同步方法采用編程技術(shù)來(lái)實(shí)現(xiàn)。數(shù)據(jù)庫(kù)運(yùn)行:運(yùn)用關(guān)系數(shù)據(jù)庫(kù)本身提供的性能監(jiān)視器、查詢分析器來(lái)對(duì)系統(tǒng)性能進(jìn)行監(jiān)視、分析,分析結(jié)果良好。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例數(shù)據(jù)庫(kù)設(shè)計(jì)工具:采用PowerDesigner來(lái)設(shè)計(jì),PowerDesigner提供了一個(gè)完整的建模解決方案,業(yè)務(wù)或系統(tǒng)分析人員,設(shè)計(jì)人員,數(shù)據(jù)庫(kù)管理員DBA和開發(fā)人員可以對(duì)其裁剪以滿足他們的特定的需要;而其模塊化的結(jié)構(gòu)為購(gòu)買和擴(kuò)展提供了極大的靈活性,從而使開發(fā)設(shè)計(jì)時(shí)可以根據(jù)其項(xiàng)目的規(guī)模和范圍來(lái)使用所需要的工具。PowerDesigner靈活的分析和設(shè)計(jì)特性允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)建數(shù)據(jù)庫(kù)或數(shù)據(jù)倉(cāng)庫(kù),而不要求嚴(yán)格遵循一個(gè)特定的方法學(xué)。整個(gè)設(shè)計(jì)共包括6大模塊,即PowerDesignerProcessAnalyst,用于數(shù)據(jù)發(fā)現(xiàn);PowerDesignerDataArchitect,用于雙層,交互式的數(shù)據(jù)庫(kù)設(shè)計(jì)和構(gòu)造;PowerDesignerAppModeler,用于物理建模和應(yīng)用對(duì)象及數(shù)據(jù)敏感組件生成;PowerDesignerMetaWorks,用于高級(jí)的團(tuán)隊(duì)開發(fā)、信息的共享和模型的管理;PowerDesignerWarehouseArchitect,用于數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn);PowerDesignerViewer,用于以只讀的、圖形化方式訪問(wèn)整個(gè)企業(yè)模型信息。通過(guò)AppModeler生成SQL,然后用SQL生成數(shù)據(jù)庫(kù):建立數(shù)據(jù)庫(kù)的表格;改變數(shù)據(jù)庫(kù)系統(tǒng)環(huán)境設(shè)置;針對(duì)某個(gè)數(shù)據(jù)庫(kù)或表格,授予用戶存取權(quán)限;對(duì)數(shù)據(jù)庫(kù)表格建立索引值;修改數(shù)據(jù)庫(kù)表格結(jié)構(gòu)(新建、刪除或修改表格字段);對(duì)數(shù)據(jù)庫(kù)進(jìn)行新建、刪除、更改、查詢等操作。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例⑤后臺(tái)管理和監(jiān)控中心軟件實(shí)現(xiàn)。管理和監(jiān)控中心界面采用B/S結(jié)構(gòu)設(shè)計(jì),使用瀏覽器來(lái)完成數(shù)據(jù)的管理,提供系統(tǒng)與用戶的接口,方便用戶的操作,提供可視化的菜單,操作簡(jiǎn)便,快捷、便于擴(kuò)充。菜單包括個(gè)人設(shè)置:個(gè)人設(shè)置、信息修改、密碼修改;管理中心:資源管理、車輛管理、司機(jī)管理、導(dǎo)游管理、景點(diǎn)管理、公共信息管理、業(yè)務(wù)管理、客戶管理、合同管理、服務(wù)計(jì)劃管理、運(yùn)行線路管理;市場(chǎng)服務(wù)管理:統(tǒng)計(jì)分析管理、市場(chǎng)預(yù)測(cè)管理、服務(wù)質(zhì)量管理;數(shù)據(jù)管理:旅游信息生成管理等。管理中心是整個(gè)系統(tǒng)的中心,主要實(shí)現(xiàn)原始數(shù)據(jù)的錄入,以及各種數(shù)據(jù)信息的添加、刪除、和更新。數(shù)據(jù)庫(kù)界面與控制界面的結(jié)合:由于JSP中不容易實(shí)現(xiàn)網(wǎng)絡(luò)通信和地圖的操作,所以將這兩個(gè)操作在VC中實(shí)現(xiàn),由于JSP是基于Web方式訪問(wèn)的,所以選擇用VC做一個(gè)IE瀏覽器,這樣就可以在VC的環(huán)境下直接操作服務(wù)器,也就可以把高聃做的服務(wù)中心直接潛入了我的VC界面當(dāng)中。這樣,整體的中心軟件就可以實(shí)現(xiàn)用一個(gè)界面操作了。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例程序設(shè)計(jì)方法:采用B/S結(jié)構(gòu)來(lái)架構(gòu),用面向構(gòu)件化的設(shè)計(jì)方法來(lái)進(jìn)行設(shè)計(jì),用J2EE體系規(guī)范來(lái)架構(gòu)整個(gè)系統(tǒng)。J2EE是一種利用Java

2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java

2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),同時(shí)還提供了對(duì)

EJB(Enterprise

JavaBeans)、Java

Servlets

API、JSP(Java

Server

Pages)以及XML技術(shù)的全面支持。J2EE體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)須太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開發(fā)平臺(tái),J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise

JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。J2EE具有高效的開發(fā)、可伸縮性、穩(wěn)定的可用性等優(yōu)點(diǎn)。高效的開發(fā):可以讓開發(fā)人員寫更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。開發(fā)人員不用對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行編碼就能編寫應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)庫(kù)無(wú)關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開發(fā)與維護(hù)。支持異構(gòu)環(huán)境:J2EE能夠開發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺(tái)。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例可伸縮性:旅行社必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶。基于J2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。J2EE的開發(fā)提供了更為廣泛的負(fù)載平衡策略,能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。穩(wěn)定的可用性:一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因?yàn)镮nternet是全球化的、無(wú)處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,它們支持長(zhǎng)期的可用性。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5min停機(jī)時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。代碼設(shè)計(jì)特點(diǎn):面向?qū)ο缶幊蹋黄脚_(tái)無(wú)關(guān);簡(jiǎn)化編程,可擴(kuò)充行好;設(shè)計(jì)合理、規(guī)范,可適應(yīng)性好。系統(tǒng)實(shí)現(xiàn)原理嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例本應(yīng)用實(shí)例介紹一套基于Android操作系統(tǒng)平臺(tái)的點(diǎn)餐系統(tǒng)服務(wù)管理系統(tǒng)。系統(tǒng)由前臺(tái)移動(dòng)點(diǎn)餐客戶終端和后臺(tái)管理中心構(gòu)成。移動(dòng)點(diǎn)餐客戶終端是一個(gè)嵌入式系統(tǒng),在基于ARM的處理器上移植Android操作系統(tǒng)平臺(tái),在移動(dòng)點(diǎn)餐客戶終端上實(shí)現(xiàn)功能包括點(diǎn)餐、查找菜譜、查看訂單、調(diào)整確認(rèn)訂單、上菜確認(rèn)等。用戶在餐廳包間通過(guò)該點(diǎn)餐客戶終端實(shí)現(xiàn)自動(dòng)點(diǎn)餐,信息通過(guò)餐廳無(wú)線網(wǎng)絡(luò)傳輸?shù)胶笈_(tái),整個(gè)過(guò)程實(shí)現(xiàn)無(wú)人值守,從而提高工作效率,提升餐廳的服務(wù)質(zhì)量?;贏ndroid操作系統(tǒng)平臺(tái)的點(diǎn)餐系統(tǒng)應(yīng)用實(shí)例嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例Android一詞的本義指“機(jī)器人”,2003年美國(guó)有一家以Android為名的小公司成立,開發(fā)手機(jī)平臺(tái)。Google收購(gòu)Android之后,于2007年11月5日發(fā)布了開源的Android平臺(tái)—一款包括操作系統(tǒng)(基于Linux內(nèi)核)、中間件和關(guān)鍵應(yīng)用的手機(jī)平臺(tái),并組建了開放手機(jī)聯(lián)盟(OpenHandsetAlliance),包括Google、中國(guó)移動(dòng)、T-Mobile、宏達(dá)電、高通、摩托羅拉等領(lǐng)軍企業(yè)。它采用了軟件堆層(softwarestack,又名軟件疊層)的架構(gòu),主要分為3部分:底層以Linux核心為基礎(chǔ),由C語(yǔ)言開發(fā),只提供基本功能;中間層包括函數(shù)庫(kù)Library和虛擬機(jī)VirtualMachine,由C++開發(fā);最上層是各種應(yīng)用軟件,包括通話程序、短信程序等,應(yīng)用軟件則由各公司自行開發(fā),以Java編寫。另外,為了推廣此技術(shù),Google和其他幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機(jī)電話產(chǎn)品,而不是一套軟件平臺(tái)。到了2010年1月,Google開始發(fā)表自家品牌手機(jī)電話的NexusOne。

Android簡(jiǎn)介

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例Android會(huì)同一個(gè)核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括Email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是用Java編寫的。Android應(yīng)用程序框架開發(fā)者也完全可以訪問(wèn)核心應(yīng)用程序所使用的API框架。該應(yīng)用程序架構(gòu)用來(lái)簡(jiǎn)化組件軟件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其他的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過(guò)得遵循框架的安全性限制)。該應(yīng)用程序重用機(jī)制使得組建可以被用戶替換。Android架構(gòu)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例以下所有的應(yīng)用程序都由一系列的服務(wù)和系統(tǒng)組成的。①一個(gè)可擴(kuò)展的視圖(Views)可以用來(lái)建應(yīng)用程序,包括列表(lists)、網(wǎng)格(grids)、文本框(textboxes)、按鈕(buttons)、甚至包括一個(gè)可嵌入的Web瀏覽器②內(nèi)容管理器(ContentProviders)使得應(yīng)用程序可以訪問(wèn)另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫(kù)),或者共享它們自己的數(shù)據(jù)。③一個(gè)資源管理器(ResourceManager)提供非代碼資源的訪問(wèn),如本地字符串,圖形和分層文件(layoutfiles)。④一個(gè)通知管理器(NotificationManager)使得應(yīng)用程序可以在狀態(tài)欄中顯示客戶通知信息。⑤一個(gè)活動(dòng)類管理器(ActivityManager)用來(lái)管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。⑥Android程序庫(kù)。Android包括一個(gè)被Android系統(tǒng)中各種不同組件所使用的C/C++庫(kù)集。該庫(kù)通過(guò)Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些主要的核心庫(kù)。Android架構(gòu)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例以下是一些主要的核心庫(kù)。系統(tǒng)C庫(kù)。一個(gè)從BSD繼承來(lái)的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(kù)(libc),專門為基于embeddedlinux的設(shè)備定制?!衩襟w庫(kù)-基于PacketVideoOpenCORE;該庫(kù)支持錄放,并且可以錄制許多流行的音頻、視頻格式,還有靜態(tài)印像文件,包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG?!馭urfaceManager:對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提供2D和3D圖層的無(wú)縫融合。●LibWebCore:一個(gè)最新的Web瀏覽器引擎,用來(lái)支持Android瀏覽器和一個(gè)可嵌入的Web視圖?!馭GL:一個(gè)內(nèi)置的2D圖形引擎●3Dlibraries:基于OpenGLES1.0APIs實(shí)現(xiàn),該庫(kù)可以使用硬件3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。●FreeType:位圖(bitmap)和向量(vector)字體顯示。●SQLite:一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫(kù)引擎。Android運(yùn)行庫(kù)。Android包括了一個(gè)核心庫(kù),該核心庫(kù)提供了Java編程語(yǔ)言核心庫(kù)的大多數(shù)功能。Android架構(gòu)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik是針對(duì)于同時(shí)高效地運(yùn)行多個(gè)VMs來(lái)實(shí)現(xiàn)的。Dalvik虛擬機(jī)執(zhí)行.dex的Dalvik可執(zhí)行文件,該格式文件針對(duì)最小內(nèi)存使用做了優(yōu)化。該虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由JAVA匯編器編譯,然后通過(guò)SDK中的dx工具轉(zhuǎn)化成.dex格式由虛擬機(jī)執(zhí)行。Dalvik虛擬機(jī)依賴于Linux的一些功能,如線程機(jī)制和底層內(nèi)存管理機(jī)制。Linux內(nèi)核Android的核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。Linux內(nèi)核也同時(shí)作為硬件和軟件堆棧之間的硬件抽象層。Android架構(gòu)嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例老牌智能手機(jī)軟件平臺(tái)制造商Symbian發(fā)言人表示:Google的Android只不過(guò)是另一個(gè)Linux,Symbian對(duì)其他軟件與其形成的競(jìng)爭(zhēng)并不感到擔(dān)心。除了北美之外,Symbian在其他地區(qū)智能手機(jī)市場(chǎng)都占有大部分市場(chǎng)份額。與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級(jí)圖形顯示和上網(wǎng)功能,用戶能夠在手機(jī)上查看電子郵件、搜索網(wǎng)址、觀看視頻節(jié)目等,比iPhone等其他手機(jī)更強(qiáng)調(diào)搜索功能,界面更強(qiáng)大,可以說(shuō)是一種融入全部Web應(yīng)用的單一平臺(tái)。但其最震撼人心之處在于Android手機(jī)系統(tǒng)的開放性和服務(wù)免費(fèi)。Android是一個(gè)對(duì)第三方軟件完全開放的平臺(tái),開發(fā)者在為其開發(fā)程序時(shí)擁有更大的自由度,突破了iPhone等只能添加為數(shù)不多的固定軟件的枷鎖;Android與WindowsMobile、Symbian等廠商不同,其操作系統(tǒng)免費(fèi)向開發(fā)人員提供,這樣可節(jié)省近三成成本。Android項(xiàng)目目前正在從手機(jī)運(yùn)營(yíng)商、手機(jī)廠商、開發(fā)者和消費(fèi)者那里獲得大力支持。Google移動(dòng)平臺(tái)主管安迪·魯賓(AndyRubin)表示,與軟件開發(fā)合作伙伴的密切接觸正在進(jìn)行中。從2010年11月開始,Google開始向服務(wù)提供商、芯片廠商和手機(jī)銷售商提供Android平臺(tái),并組建“開放手機(jī)聯(lián)盟”,其成員超過(guò)30家。Android未來(lái)及前景嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例Android提供的關(guān)鍵類有:Activity、Service、BroadcastReceiver、ContentProvider、Intent。Android應(yīng)用程序使用Java作為開發(fā)語(yǔ)言。aapt工具把編譯后的Java代碼連同其他應(yīng)用程序需要的數(shù)據(jù)和資源文件一起打包到一個(gè)Android包文件中,這個(gè)文件使用.apk做為擴(kuò)展名,它是分發(fā)應(yīng)用程序并安裝到移動(dòng)設(shè)備的媒介,用戶只需下載并安裝此文件到他們的設(shè)備。單一.apk文件中的所有代碼被認(rèn)為是一個(gè)應(yīng)用程序。

Android應(yīng)用程序基礎(chǔ)

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例Android的核心功能之一就是一個(gè)應(yīng)用程序可以使用其他應(yīng)用程序的元素(如果那個(gè)應(yīng)用程序允許的話)。比如說(shuō),如果你的應(yīng)用程序需要一個(gè)圖片卷動(dòng)列表,而另一個(gè)應(yīng)用程序已經(jīng)開發(fā)了一個(gè)實(shí)用的而又允許別人使用,你可以直接調(diào)用那個(gè)卷動(dòng)列表來(lái)完成工作,而不用自己再開發(fā)一個(gè)。你的應(yīng)用程序并沒(méi)有吸納或鏈接其他應(yīng)用程序的代碼,它只是在有需求的時(shí)候啟動(dòng)了其他應(yīng)用程序的那個(gè)功能部分。為達(dá)到這個(gè)目的,系統(tǒng)必須在一個(gè)應(yīng)用程序的一部分被需要時(shí)啟動(dòng)這個(gè)應(yīng)用程序,并將那個(gè)部分的Java對(duì)象實(shí)例化。與在其他系統(tǒng)上的應(yīng)用程序不同,Android應(yīng)用程序沒(méi)有為應(yīng)用準(zhǔn)備一個(gè)單獨(dú)的程序入口(比如說(shuō),沒(méi)有main()方法),而是為系統(tǒng)依照需求實(shí)例化提供了基本的組件。

應(yīng)用程序組件

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例Activity是為用戶操作而展示的可視化用戶界面。例如,一個(gè)Activity可以展示一個(gè)菜單項(xiàng)列表供用戶選擇,或者顯示一些包含說(shuō)明的照片。一個(gè)短消息應(yīng)用程序可以包括一個(gè)用于顯示作為發(fā)送對(duì)象的聯(lián)系人的列表的Activity,一個(gè)給選定的聯(lián)系人寫短信的Activity以及翻閱以前的短信和改變?cè)O(shè)置的Activity。盡管它們一起組成了一個(gè)內(nèi)聚的用戶界面,但其中每個(gè)Activity都與其他的保持獨(dú)立。每個(gè)都是以Activity類為基類的子類實(shí)現(xiàn)。視圖層次是由Activity.setContentView()方法放入Activity的窗口之中的。上、下文視圖是位于視圖層次根位置的視圖對(duì)象。

Activity

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例服務(wù)沒(méi)有可視化的用戶界面,而是在一段時(shí)間內(nèi)在后臺(tái)運(yùn)行。比如說(shuō),一個(gè)服務(wù)可以在用戶做其他事情的時(shí)候在后臺(tái)播放背景音樂(lè)、從網(wǎng)絡(luò)上獲取一些數(shù)據(jù)或者計(jì)算一些東西并提供給需要這個(gè)運(yùn)算結(jié)果的Activity使用。每個(gè)服務(wù)都繼承自Service基類。一個(gè)媒體播放器播放列表中的曲目是一個(gè)不錯(cuò)的例子。播放器應(yīng)用程序可能有一個(gè)或多個(gè)Activity來(lái)給用戶選擇歌曲并進(jìn)行播放。然而,音樂(lè)播放這個(gè)任務(wù)本身不應(yīng)該為任何Activity所處理,因?yàn)橛脩羝谕谒麄冸x開播放器應(yīng)用程序而開始做別的事情時(shí),音樂(lè)仍在繼續(xù)播放。為達(dá)到這個(gè)目的,媒體播放器Activity應(yīng)該啟用一個(gè)運(yùn)行于后臺(tái)的服務(wù)。而系統(tǒng)將在這個(gè)Activity不再顯示于屏幕之后,仍維持音樂(lè)播放服務(wù)的運(yùn)行。用戶可以連接至(綁定)一個(gè)正在運(yùn)行的服務(wù)(如果服務(wù)沒(méi)有運(yùn)行,則啟動(dòng)之)。連接之后,可以通過(guò)那個(gè)服務(wù)暴露出來(lái)的接口與服務(wù)進(jìn)行通信。對(duì)于音樂(lè)服務(wù)來(lái)說(shuō),這個(gè)接口可以允許用戶暫停、回退、停止以及重新開始播放。如同Activity和其他組件一樣,服務(wù)運(yùn)行于應(yīng)用程序進(jìn)程的主線程內(nèi)。所以它不會(huì)對(duì)其他組件或用戶界面有任何干擾,它們一般會(huì)派生一個(gè)新線程來(lái)進(jìn)行一些耗時(shí)任務(wù)(比如音樂(lè)回放)。

服務(wù)

廣播接收器是一個(gè)專注于接收廣播通知信息,并做出對(duì)應(yīng)處理的組件。很多廣播是源自于系統(tǒng)代碼的,比如,通知時(shí)區(qū)改變、電池電量低、拍攝了一張照片或者用戶改變了語(yǔ)言選項(xiàng)。應(yīng)用程序也可以進(jìn)行廣播,比如通知其他應(yīng)用程序一些數(shù)據(jù)下載完成并處于可用狀態(tài)。應(yīng)用程序可以擁有任意數(shù)量的廣播接收器以對(duì)所有它感興趣的通知信息予以響應(yīng)。所有的接收器均繼承自BroadcastReceiver基類。廣播接收器沒(méi)有用戶界面。然而,它們可以啟動(dòng)一個(gè)Activity來(lái)響應(yīng)它們收到的信息,或者用NotificationManager來(lái)通知用戶。通知可以用很多種方式來(lái)吸引用戶的注意力—閃動(dòng)背燈、震動(dòng)、播放聲音等。一般來(lái)說(shuō)是在狀態(tài)欄上放一個(gè)持久的圖標(biāo),用戶可以打開它并獲取消息。

廣播接收器

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例內(nèi)容提供者將一些特定的應(yīng)用程序數(shù)據(jù)供給其他應(yīng)用程序使用。數(shù)據(jù)可以存儲(chǔ)于文件系統(tǒng)、SQLite數(shù)據(jù)庫(kù)或其他方式。內(nèi)容提供者繼承于ContentProvider基類,為其他應(yīng)用程序取用和存儲(chǔ)它管理的數(shù)據(jù)實(shí)現(xiàn)了一套標(biāo)準(zhǔn)方法。然而,應(yīng)用程序并不直接調(diào)用這些方法,而是使用一個(gè)ContentResolver對(duì)象,調(diào)用它的方法作為替代。ContentResolver可以與任意內(nèi)容提供者進(jìn)行會(huì)話,與其合作來(lái)對(duì)所有相關(guān)交互通信進(jìn)行管理。每當(dāng)出現(xiàn)一個(gè)需要被特定組件處理的請(qǐng)求時(shí),Android會(huì)確保那個(gè)組件的應(yīng)用程序進(jìn)程處于運(yùn)行狀態(tài),或在必要的時(shí)候啟動(dòng)它,并確保那個(gè)相應(yīng)組件的實(shí)例的存在,必要時(shí)會(huì)創(chuàng)建那個(gè)實(shí)例。

內(nèi)容提供者

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例當(dāng)接收到ContentResolver發(fā)出的請(qǐng)求后,內(nèi)容提供者被激活。而其他3種組件,即Activity、服務(wù)和廣播接收器被一種叫做intent的異步消息所激活。intent是一個(gè)保存著消息內(nèi)容的Intent對(duì)象。對(duì)于Activity和服務(wù)來(lái)說(shuō),它指明了請(qǐng)求的操作名稱以及作為操作對(duì)象的數(shù)據(jù)的URI和其他一些信息。比如說(shuō),它可以承載對(duì)一個(gè)Activity的請(qǐng)求,讓它為用戶顯示一張圖片,或者讓用戶編輯一些文本。而對(duì)于廣播接收器而言,Intent對(duì)象指明了聲明的行為。比如,它可以對(duì)所有感興趣的對(duì)象聲明照相按鈕被按下。

激活組件intent

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例①下載安裝jdk;②下載解壓eclipse;③下載解壓androidsdk。

搭建Android開發(fā)環(huán)境

嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例①安裝android開發(fā)插件。打開Eclipse,在菜單欄上選擇help→InstallNewSoftWare命令,單擊Add按鈕,輸入網(wǎng)址:/android/eclipse/。②配置androidsdk。單擊菜單window→preferences→android菜單命令,選擇androidSDK解壓后的目錄;選擇菜單window→Androidsdkandavdmanager,新建AVD(androidvituraldevice),選中VituralDevices再單擊New進(jìn)行參數(shù)設(shè)置,完成后就可以建立android工程開始編碼。Eclipse配置嵌入式系統(tǒng)應(yīng)用開發(fā)及實(shí)例1.src目錄src目錄中存放的是該項(xiàng)目的源代碼,其內(nèi)部結(jié)構(gòu)會(huì)根據(jù)用戶所聲明的包自動(dòng)組織。程序員在項(xiàng)目開發(fā)過(guò)程中,大部分時(shí)間是對(duì)該目錄下的源代碼文件進(jìn)行編寫。2.gen目錄該目錄下的文件是ADT自動(dòng)生成的,并不需要

溫馨提示

  • 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)論