第一篇:網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)中的程序設(shè)計(jì)分析論文
摘要:在網(wǎng)絡(luò)系統(tǒng)的程序設(shè)計(jì)過(guò)程中,并發(fā)性和復(fù)雜性帶來(lái)的影響是非常嚴(yán)重的。本文從對(duì)于網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性進(jìn)行簡(jiǎn)析入手,對(duì)于網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性問(wèn)題的應(yīng)對(duì)進(jìn)行了分析。
【關(guān)鍵詞】網(wǎng)絡(luò)程序設(shè)計(jì)論文
網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)中的程序設(shè)計(jì)并發(fā)復(fù)雜性問(wèn)題是由于現(xiàn)今網(wǎng)絡(luò)系統(tǒng)的性能和設(shè)計(jì)理念等多種因素所共同導(dǎo)致的,因此只有在做好前期分析工作的前提下,才能夠促進(jìn)網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)中的程序設(shè)計(jì)并發(fā)復(fù)雜性得到有效的遏制。
1網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性簡(jiǎn)析
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性是由多方面引起的,以下從環(huán)境差距過(guò)于明顯、設(shè)計(jì)理念的限制、驅(qū)動(dòng)模式有待優(yōu)化等方面出發(fā),對(duì)于網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性進(jìn)行了分析。
1.1環(huán)境差距過(guò)于明顯
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性主要是因?yàn)閱螜C(jī)環(huán)境和網(wǎng)絡(luò)環(huán)境差距過(guò)于明顯所導(dǎo)致的。大家都知道隨著近年來(lái)高質(zhì)量網(wǎng)絡(luò)程序的不斷開(kāi)發(fā),之前傳統(tǒng)程序設(shè)計(jì)過(guò)程中存在的許多問(wèn)題都被暴露出來(lái)。在這一過(guò)程中可以發(fā)現(xiàn)網(wǎng)絡(luò)環(huán)境與單機(jī)環(huán)境之間的巨大差異性成為影響程序開(kāi)發(fā)設(shè)計(jì)的關(guān)鍵。其次,并發(fā)性問(wèn)題的存在實(shí)際上成為了網(wǎng)絡(luò)程序設(shè)計(jì)發(fā)展的重要限制瓶頸,因此,如何能夠?qū)τ诓l(fā)性問(wèn)題進(jìn)行有效的解決,成為了擺在程序設(shè)計(jì)人員面前的要點(diǎn)。與此同時(shí),環(huán)境差距過(guò)于明顯還意味著混合性并發(fā)模型發(fā)展時(shí)間短和實(shí)際應(yīng)用少的缺陷也會(huì)暴露出來(lái),因此其對(duì)于并發(fā)性問(wèn)題的解決效果還需要進(jìn)一步的觀察。
1.2設(shè)計(jì)理念的限制
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性的存在也跟之前的設(shè)計(jì)理念被軟硬件功能限制有著密切的聯(lián)系。通常來(lái)說(shuō)網(wǎng)絡(luò)程序的并發(fā)性問(wèn)題的表現(xiàn)形式通常會(huì)以分布性、異構(gòu)性、異步性和訪(fǎng)問(wèn)延誤等形式表現(xiàn)出來(lái)。因此工作人員在將問(wèn)題整合成一個(gè)整體后就會(huì)發(fā)現(xiàn),并發(fā)性問(wèn)題變得極其難以解決。其次,設(shè)計(jì)理念上的限制還會(huì)使得網(wǎng)絡(luò)程序設(shè)計(jì)的整體效率受到非常大的影響。
1.3驅(qū)動(dòng)模式有待優(yōu)化
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性和驅(qū)動(dòng)模式有著千絲萬(wàn)縷的聯(lián)系。由于網(wǎng)絡(luò)并發(fā)任務(wù)處理方法實(shí)際上可以根據(jù)語(yǔ)義將其分為反應(yīng)式和前攝式兩種。在反應(yīng)式模型中應(yīng)用程序必須通過(guò)接收到相應(yīng)的事件通知,然后才能夠在此基礎(chǔ)上能夠更加具有針對(duì)性的發(fā)出具體的操作指令,在這一過(guò)程中如果操作的結(jié)果是錯(cuò)誤的,則工作人員可以從函數(shù)的返回值中即時(shí)獲知。其次,驅(qū)動(dòng)模式有待優(yōu)化還指的是操作的錯(cuò)誤情況通常會(huì)作為完成事件的參數(shù),傳遞給應(yīng)用程序如果需要同時(shí)發(fā)出多個(gè)相似的并發(fā)操作,則需要在發(fā)出操作指令時(shí),增加一個(gè)標(biāo)識(shí)參數(shù),從而能夠在此基礎(chǔ)上對(duì)于并發(fā)操作進(jìn)行更加細(xì)致的區(qū)分。
2網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性問(wèn)題應(yīng)對(duì)
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性問(wèn)題的應(yīng)對(duì)應(yīng)當(dāng)從許多方面出發(fā),以下從優(yōu)化多線(xiàn)程模型、協(xié)調(diào)程序運(yùn)作順序、開(kāi)發(fā)新型并發(fā)模型等方面出發(fā),對(duì)于網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性問(wèn)題的應(yīng)對(duì)進(jìn)行了分析。
2.1優(yōu)化多線(xiàn)程模型
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性問(wèn)題應(yīng)對(duì)的第一步是合理優(yōu)化多線(xiàn)程模型。工作人員在優(yōu)化多線(xiàn)程模型的過(guò)程中首先應(yīng)當(dāng)根據(jù)多線(xiàn)程并發(fā)模型多線(xiàn)程并發(fā)模型的線(xiàn)程調(diào)度來(lái)對(duì)其進(jìn)行分別的分析。其次,工作人員在優(yōu)化多線(xiàn)程模型的過(guò)程中應(yīng)當(dāng)確保線(xiàn)程的運(yùn)行狀況與應(yīng)用層的控制無(wú)關(guān),在這一過(guò)程中CPU是由調(diào)度器來(lái)進(jìn)行控制的,并且調(diào)度器對(duì)于線(xiàn)程的調(diào)度是強(qiáng)制性的。與此同時(shí),工作人員在優(yōu)化多線(xiàn)程模型的過(guò)程中應(yīng)當(dāng)合理的實(shí)現(xiàn)CPU控制權(quán)的強(qiáng)制轉(zhuǎn)移,從而能夠在此基礎(chǔ)上有效的規(guī)避因?yàn)樯弦粋€(gè)線(xiàn)程沒(méi)有處理好當(dāng)前線(xiàn)程所需要的各種數(shù)據(jù),引發(fā)數(shù)據(jù)競(jìng)爭(zhēng),嚴(yán)重的甚因此,在對(duì)線(xiàn)程協(xié)作復(fù)雜或者并發(fā)性高的任務(wù)進(jìn)行處理,最終可以減少系統(tǒng)出現(xiàn)崩潰的概率。
2.2協(xié)調(diào)程序運(yùn)作順序
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性問(wèn)題應(yīng)對(duì)的關(guān)鍵是協(xié)調(diào)程序運(yùn)作順序。工作人員在協(xié)調(diào)程序運(yùn)作順利的過(guò)程中首先應(yīng)當(dāng)理解到與搶占式調(diào)度相比CPU的控制權(quán)具有更強(qiáng)的優(yōu)先度,因此這意味著只有在當(dāng)前線(xiàn)程放棄數(shù)據(jù)處理后實(shí)際上才會(huì)將CPU的控制權(quán)轉(zhuǎn)移到其他線(xiàn)程。其次,作人員在協(xié)調(diào)程序運(yùn)作順利的過(guò)程中還應(yīng)當(dāng)確保應(yīng)用程序的線(xiàn)程操作必須經(jīng)過(guò)系統(tǒng)調(diào)用,在這一過(guò)程中由于線(xiàn)程代碼的移植具有很高的難度,因此實(shí)際上非常嚴(yán)重的影響了其普遍適應(yīng)性,所以只有通過(guò)合理的協(xié)調(diào)才能夠確保其運(yùn)作順序的合理優(yōu)化。
2.3開(kāi)發(fā)新型并發(fā)模型
網(wǎng)絡(luò)程序并發(fā)性與復(fù)雜性問(wèn)題應(yīng)對(duì)離不開(kāi)新型并發(fā)模型的開(kāi)發(fā)與利用。工作人員在開(kāi)發(fā)新型并發(fā)模型的過(guò)程中應(yīng)當(dāng)優(yōu)先對(duì)于混合性并發(fā)模型進(jìn)行應(yīng)用。其次,工作人員在開(kāi)發(fā)新型并發(fā)模型的過(guò)程中首先應(yīng)當(dāng)理解到無(wú)論是事件驅(qū)動(dòng)模型還是多線(xiàn)程并發(fā)模型實(shí)際上都具有各自的優(yōu)點(diǎn)和不足,因此這導(dǎo)致了其在實(shí)際應(yīng)用中始終存在一定的局限性。對(duì)因此設(shè)計(jì)人員在開(kāi)發(fā)新型并發(fā)模型的過(guò)程中應(yīng)當(dāng)勇于打破常規(guī)合理的將這兩種模型融合在一起,最終能夠期待形成全新的并發(fā)模型,最終能夠促進(jìn)程序設(shè)計(jì)合理性的有效提升。
3結(jié)束語(yǔ)
在網(wǎng)絡(luò)程序的設(shè)計(jì)過(guò)程中并發(fā)性問(wèn)題實(shí)際上是一個(gè)難以進(jìn)行規(guī)避的復(fù)雜問(wèn)題。因此工作人員在認(rèn)清當(dāng)前的技術(shù)條件下應(yīng)當(dāng)通過(guò)有效的提升網(wǎng)絡(luò)程序的并發(fā)處理能力,并且在此基礎(chǔ)上并發(fā)模型的性能進(jìn)行完善,才能夠促進(jìn)網(wǎng)絡(luò)程序設(shè)計(jì)效率的有效提升。
參考文獻(xiàn)
[1]李慧霸,田甜,彭宇行,等.網(wǎng)絡(luò)程序設(shè)計(jì)中的并發(fā)復(fù)雜性[J].軟件學(xué)報(bào),2011(1):132-148.[2]高偉,張學(xué)紅.關(guān)于網(wǎng)絡(luò)程序設(shè)計(jì)中的并發(fā)復(fù)雜性研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(12):49-51.[3]潘珂,田勇.網(wǎng)絡(luò)程序設(shè)計(jì)中的并發(fā)復(fù)雜性研析[J].科技致富向?qū)?2014(27):84-85.[4]楊文福,王捷.網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)中的程序設(shè)計(jì)并發(fā)復(fù)雜性[J].信息通信.2016,01(15):43-45.
第二篇:智能交通管理網(wǎng)絡(luò)系統(tǒng)中城市道路監(jiān)控設(shè)計(jì).
智能交通管理網(wǎng)絡(luò)系統(tǒng)中城市道路監(jiān)控設(shè)計(jì)
隨著機(jī)動(dòng)車(chē)數(shù)量的逐年增長(zhǎng),城市交通問(wèn)題也日益突現(xiàn)出來(lái)。交通擁擠,車(chē)流不暢,大大影響了人們的出行速度,進(jìn)而降低了生產(chǎn)和工作效率。因此,城市交通擁擠問(wèn)題成為當(dāng)今我國(guó)城市發(fā)展的重要問(wèn)題。實(shí)踐證明,解決城市交通問(wèn)題的有效方法是在現(xiàn)有交通基礎(chǔ)設(shè)施的基礎(chǔ)上,提高交通管理水平,達(dá)到從根本上解決問(wèn)題的目的。先進(jìn)的交通管理系統(tǒng)可以有效提高城市現(xiàn)代化交通的有效利用率和交通流量,減少道路的交通擁擠程度,交通事故的發(fā)生率以及由于交通擁擠交通事故等造成的出行延誤。城市智能交通管理系統(tǒng)正是通過(guò)對(duì)高科技、高水平的技術(shù)的應(yīng)用,來(lái)提高交通管理系統(tǒng)的工作效率,達(dá)到改變城市交通混亂的局面。
智能交通系統(tǒng)是將先進(jìn)的信息技術(shù)、數(shù)據(jù)通訊傳輸技術(shù)、電子傳感技術(shù)、電子控制技術(shù)及計(jì)算機(jī)處理技術(shù)等有效的集成運(yùn)用于整個(gè)地面交通管理系統(tǒng)而建立的一種在大范圍內(nèi)、全方位發(fā)揮作用的,實(shí)時(shí)、準(zhǔn)確、高效的綜合交通運(yùn)輸管理系統(tǒng)。城市智能交通系統(tǒng)是由交通信息采集和信息處理、決策、發(fā)布兩部分組成。交通信息實(shí)時(shí)采集系統(tǒng)是交通路面的高清數(shù)字化視頻系統(tǒng)采集。通過(guò)實(shí)時(shí)交通視頻實(shí)時(shí)檢測(cè),記錄來(lái)往車(chē)輛類(lèi)型、車(chē)速等數(shù)據(jù),將各監(jiān)測(cè)點(diǎn)的各時(shí)段車(chē)輛行駛狀態(tài)、車(chē)型種類(lèi)、違法類(lèi)型、平均車(chē)速、車(chē)流量、堵塞路口及路段的交通情況準(zhǔn)確、快速、實(shí)時(shí)地發(fā)往交通指揮中心。道路交通信息接收、處理和發(fā)布系統(tǒng)是通過(guò)設(shè)置的交通信息采集網(wǎng)絡(luò),獲取各種實(shí)時(shí)道路交通情報(bào),經(jīng)過(guò)綜合處理和分析等,及時(shí)發(fā)布路面交通狀況信息,向交通參與者提供有關(guān)信息,方便其選擇出行路徑。對(duì)采集來(lái)的信息通過(guò)計(jì)算機(jī)程序篩選處理,配合綜合交通信息平臺(tái)、GIS電子地圖、交通疏導(dǎo)的決策支持等綜合信息處理,分析得出整個(gè)交通的動(dòng)態(tài)交通流分布狀況和交通管理的預(yù)警信息,最后形成一目了然的誘導(dǎo)信息。
智能交通把交通信息統(tǒng)計(jì)系統(tǒng)和電子警察執(zhí)法處罰系統(tǒng)引入到城市道路監(jiān)控中,實(shí)現(xiàn)了城市道路的點(diǎn)面結(jié)合式監(jiān)控,提高了城市整體安全防范水平,緩解了日益嚴(yán)重的交通壓力,加強(qiáng)了駕駛員遵守交通法規(guī)的意識(shí),降低了惡性事件發(fā)生率。下面主要介紹交通監(jiān)控的幾個(gè)系統(tǒng)及應(yīng)用:
一、電子警察執(zhí)法處罰系統(tǒng)
1、機(jī)動(dòng)車(chē)闖紅燈違章視頻監(jiān)測(cè)系統(tǒng)
機(jī)動(dòng)車(chē)闖紅燈違章行為,經(jīng)常引發(fā)嚴(yán)重的交通事故。機(jī)動(dòng)車(chē)闖紅燈違章視頻監(jiān)測(cè)系統(tǒng)安裝于交通路口,全天候?qū)﹃J紅燈的違章機(jī)動(dòng)車(chē)輛進(jìn)行監(jiān)測(cè),不僅能對(duì)違章車(chē)輛拍照,還能夠?qū)崟r(shí)對(duì)違章車(chē)輛的牌照和違章軌跡進(jìn)行自動(dòng)判斷識(shí)別。公安交通管理部門(mén)以抓拍的違章照片、視頻錄像為依據(jù)對(duì)違章者進(jìn)行處罰教育,從而大大提高機(jī)動(dòng)車(chē)駕駛員的自覺(jué)性,增強(qiáng)交通安全意識(shí),減少因闖紅燈違章行為而造成的事故、堵塞和交通混亂,加快車(chē)輛在交通路口行駛速度,保證道路暢通。
該系統(tǒng)是一個(gè)基于網(wǎng)絡(luò)的分布式系統(tǒng),系統(tǒng)分為前端視頻檢測(cè)與抓拍系統(tǒng)、路口局部數(shù)據(jù)處理系統(tǒng)、遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)、中心數(shù)據(jù)管理與處罰系統(tǒng)四大部分。
交通信號(hào)控制系統(tǒng)輸出路口紅綠燈信號(hào),確定放行車(chē)道和禁行車(chē)道。禁行車(chē)道通過(guò)視頻車(chē)輛檢測(cè)單元,車(chē)輛檢測(cè)單元檢測(cè)到有車(chē)輛通過(guò)禁行車(chē)道時(shí),通過(guò)主控機(jī)控制闖紅燈違章抓拍單元拍攝違章車(chē)輛號(hào)牌圖片和該方向的全景圖片,為確保所拍照片能夠作為民警執(zhí)法依據(jù),系統(tǒng)抓拍兩幅連續(xù)全景圖片,以反映車(chē)輛運(yùn)行軌跡,所有處理結(jié)果都存儲(chǔ)于主控機(jī)(工控機(jī)的存儲(chǔ)單元中,同時(shí)系統(tǒng)具有硬盤(pán)錄像功能,可以將違章事件的視頻數(shù)據(jù)紀(jì)錄在硬盤(pán)上。存儲(chǔ)信息可通過(guò)通信子系統(tǒng)由人工控制下載給筆記本計(jì)算機(jī),或自動(dòng)通過(guò)光纖、無(wú)線(xiàn)等傳輸方式傳給中心端數(shù)據(jù)管理子系統(tǒng)。這樣對(duì)于違章闖紅燈行為既有違章抓拍圖片,又有視頻圖像,避免了違章處罰引發(fā)的爭(zhēng)議,同時(shí)對(duì)于一些交通事故引發(fā)原因、責(zé)任判定提供了有力的證據(jù)。
2、機(jī)動(dòng)車(chē)超速檢測(cè)系統(tǒng)
隨著國(guó)民經(jīng)濟(jì)的迅猛發(fā)展,我國(guó)高速公路、城市快速路上行駛的車(chē)輛越來(lái)越多、速度也越來(lái)越快,與車(chē)輛交通有關(guān)的案件也呈不斷上升勢(shì)頭,交通肈事逃逸等案件時(shí)有發(fā)生。如何運(yùn)用科學(xué)的手段幫助公安部門(mén)有效控制高速公路上超速違章現(xiàn)象、抓捕逃逸車(chē)輛,已成為公安交通部門(mén)亟待解決的問(wèn)題。
基于這種情況,開(kāi)發(fā)了機(jī)動(dòng)車(chē)超速檢測(cè)系統(tǒng)。系統(tǒng)利用視頻圖像處理技術(shù),對(duì)高速公路車(chē)道上的汽車(chē)進(jìn)行非接觸式監(jiān)控,獲得超速車(chē)輛車(chē)速、車(chē)牌號(hào)碼、違章照片等運(yùn)行狀態(tài)信息,可對(duì)高速公路或城市快速路上的超速車(chē)輛信息進(jìn)行準(zhǔn)確、穩(wěn)定、全天候的檢測(cè)和記錄。同時(shí)與黑名單中的“稽查車(chē)輛”進(jìn)行比對(duì),可以很好的輔助治安監(jiān)控管理。系統(tǒng)還可以將違章車(chē)輛信息送回指揮中心以及收費(fèi)站,便于存檔和對(duì)違章車(chē)輛進(jìn)行處罰。這一套功能強(qiáng)大的智能交通監(jiān)控系統(tǒng)可廣泛應(yīng)用于高速公路和城市快速路管理、卡口管理、巡邏執(zhí)勤、逃逸車(chē)輛抓捕等場(chǎng)合,具有很好的應(yīng)用前景。
該系統(tǒng)突破了大量的技術(shù)難點(diǎn),實(shí)現(xiàn)了高速車(chē)牌識(shí)別。每車(chē)道在僅架設(shè)一臺(tái)CCD(攝像頭、有測(cè)速雷達(dá)的情況下精確的檢測(cè)車(chē)速、捕捉車(chē)牌信息。該系統(tǒng)具有:成本低、識(shí)別率高、軟件測(cè)速、高速識(shí)別、性能穩(wěn)定、結(jié)構(gòu)精簡(jiǎn)、維護(hù)容易、低故障、完全采用視頻觸發(fā)和識(shí)別(無(wú)需破壞路面埋設(shè)線(xiàn)圈或安裝紅外探頭等技術(shù)優(yōu)勢(shì),從而確定了在同類(lèi)產(chǎn)品中的領(lǐng)先地位。
“機(jī)動(dòng)車(chē)超速檢測(cè)系統(tǒng)”是實(shí)時(shí)響應(yīng)系統(tǒng)。其原理是將前端車(chē)輛圖像信息采集CCD(攝像頭架設(shè)在待測(cè)車(chē)道上方,識(shí)別軟件采用圖像觸發(fā)的方法,對(duì)CCD(攝像頭傳回的數(shù)字視頻信號(hào)進(jìn)行分析,判斷是否有車(chē)輛經(jīng)過(guò)。當(dāng)發(fā)現(xiàn)有車(chē)輛駛?cè)氡O(jiān)測(cè)區(qū)域,則立刻啟動(dòng)識(shí)別模塊,獲取實(shí)時(shí)車(chē)牌圖像數(shù)據(jù)后,系統(tǒng)在極短時(shí)間(1秒左右完成車(chē)速檢測(cè)、圖像識(shí)別、車(chē)輛數(shù)據(jù)入庫(kù)、圖像數(shù)據(jù)入庫(kù)、道路信息分析、檢索數(shù)據(jù)等處理。如果發(fā)現(xiàn)通過(guò)車(chē)輛超速或是交警、公安機(jī)關(guān)需要查找的車(chē)輛(如被盜搶車(chē)輛,系統(tǒng)可通過(guò)遠(yuǎn)程數(shù)據(jù)網(wǎng)絡(luò),向“指揮中心”和“攔截站”發(fā)出告警信息,通知有關(guān)部門(mén)或有關(guān)人員。告警信息包括:發(fā)現(xiàn)觸發(fā)報(bào)警車(chē)輛的時(shí)間、地點(diǎn)、車(chē)速、車(chē)牌號(hào)碼、抓拍的車(chē)輛照片、車(chē)輛被緝查的原因。對(duì)于存放于數(shù)據(jù)庫(kù)中的過(guò)車(chē)記錄,可以隨時(shí)進(jìn)行檢索,掌握車(chē)輛的去向,可以作為違章處罰的根據(jù)或?qū)ζ瓢柑峁椭?/p>
3、移動(dòng)式車(chē)輛稽查系統(tǒng)
移動(dòng)式車(chē)輛稽查系統(tǒng)為將車(chē)輛視頻檢測(cè)、雷達(dá)測(cè)速、車(chē)牌自動(dòng)識(shí)別和車(chē)輛稽查數(shù)據(jù)庫(kù)實(shí)時(shí)比對(duì)等先進(jìn)技術(shù)于一體的實(shí)時(shí)稽查系統(tǒng)。該系統(tǒng)可對(duì)行駛車(chē)輛進(jìn)行測(cè)
速、牌照抓拍、識(shí)別和比對(duì),在不影響正常交通的情況下,能自動(dòng)實(shí)時(shí)稽查違規(guī)車(chē)輛,有效地進(jìn)行交通執(zhí)法。
移動(dòng)稽查系統(tǒng)在自動(dòng)運(yùn)行的基礎(chǔ)上增加了手動(dòng)抓拍的工作模式。自動(dòng)運(yùn)行通過(guò)自動(dòng)車(chē)輛觸發(fā)算法實(shí)現(xiàn)車(chē)輛的自動(dòng)抓拍和識(shí)別,可以實(shí)現(xiàn)系統(tǒng)全天候狀態(tài)下的自動(dòng)運(yùn)行;手動(dòng)工作模式可以人工參與系統(tǒng)的運(yùn)行,以保證抓拍的圖片更加準(zhǔn)確,還可以對(duì)逆行、壓黃線(xiàn)、違章停車(chē)等多種違法行為進(jìn)行移動(dòng)過(guò)程中的手動(dòng)抓拍。兩種可選的工作方式有效的滿(mǎn)足了廣泛的用戶(hù)需求。系統(tǒng)可以實(shí)現(xiàn)各種違章抓拍、道路監(jiān)控、記錄核查過(guò)往車(chē)輛車(chē)牌與數(shù)據(jù)庫(kù)比對(duì),對(duì)記錄在案的問(wèn)題車(chē)輛及時(shí)報(bào)警,這種有效便捷、靈活多樣的工作模式,大大提高了交警執(zhí)法力度。
系統(tǒng)技術(shù)特點(diǎn)
1可在雙動(dòng)模式下工作,即在巡邏狀態(tài)下行駛的警車(chē)對(duì)運(yùn)動(dòng)的目標(biāo)車(chē)輛進(jìn)行檢測(cè)。
2采用先進(jìn)的視頻車(chē)輛檢測(cè)技術(shù),可以實(shí)時(shí)、準(zhǔn)確地識(shí)別各種車(chē)牌。
3采用先進(jìn)的Ka波段雷達(dá)測(cè)速儀進(jìn)行速度測(cè)量,可支持速度鎖定,最快速度跟蹤等多種工作模式。
4可外接2個(gè)雷達(dá)探頭。
5能夠?qū)`章車(chē)輛進(jìn)行抓拍、錄像與自動(dòng)報(bào)警。6檢測(cè)目標(biāo)車(chē)輛速度范圍:0-200km。車(chē)牌識(shí)別率>90%。7支持與指揮中心之間的GPRS數(shù)據(jù)通訊。8系統(tǒng)界面友好易用。
9可使用筆記本、小型工控機(jī)作為車(chē)載運(yùn)算平臺(tái)。
4、其它常見(jiàn)違章行為監(jiān)測(cè)系統(tǒng)
電子警察系統(tǒng)的核心技術(shù)是車(chē)牌識(shí)別技術(shù)、視頻虛擬線(xiàn)圈檢測(cè)技術(shù)。利用核心技術(shù)可以附帶開(kāi)發(fā)出多種電子警察監(jiān)測(cè)系統(tǒng),自動(dòng)監(jiān)測(cè)、取證、執(zhí)法處罰多種駕駛員違章行為,如“公交車(chē)道監(jiān)測(cè)系統(tǒng)”、“壓雙黃線(xiàn)監(jiān)測(cè)系統(tǒng)”、“非機(jī)動(dòng)車(chē)道行車(chē)監(jiān)測(cè)系統(tǒng)”、“逆行禁行車(chē)輛監(jiān)測(cè)系統(tǒng)”、“緊急停車(chē)帶行車(chē)監(jiān)測(cè)系統(tǒng)”。
在機(jī)動(dòng)車(chē)日益增多,而駕駛員自覺(jué)守法意識(shí)淡薄,監(jiān)督警力不足的情況下,少數(shù)駕駛員在僥幸心理的驅(qū)使下,經(jīng)常違章卻很少受到處罰。在沒(méi)有交警執(zhí)法的情況下,公交車(chē)道、非機(jī)動(dòng)車(chē)車(chē)道上經(jīng)常出現(xiàn)機(jī)動(dòng)車(chē)的身影,在沒(méi)有隔離帶的雙向道路上,經(jīng)常出現(xiàn)超車(chē)壓黃線(xiàn)的情景,一些單行線(xiàn)上經(jīng)常有逆行車(chē)輛出現(xiàn),緊急停車(chē)帶內(nèi)經(jīng)常有車(chē)輛長(zhǎng)期停留,這些違章行為是交通事故的重大隱患,并由此引發(fā)的交通事故頻頻發(fā)生。
二、交通信息統(tǒng)計(jì)系統(tǒng) 車(chē)流量監(jiān)測(cè)系統(tǒng)
車(chē)流量監(jiān)測(cè)系統(tǒng)專(zhuān)門(mén)針對(duì)中國(guó)城市交通狀況和混合交通流特性,采用相適應(yīng)的智能數(shù)字圖像信息處理技術(shù),能滿(mǎn)足城市交通智能化管理與監(jiān)控的要求,具有技術(shù)先進(jìn)、性能穩(wěn)定、不破壞路面、適用性強(qiáng)、安裝操作方便等諸多優(yōu)點(diǎn)。在多年的工程應(yīng)用中得到了不斷的完善,在各項(xiàng)指標(biāo)上都無(wú)可挑剔。此系統(tǒng)可以靈活的集成在各類(lèi)ITS系統(tǒng)中。
“車(chē)流量檢測(cè)軟件”是實(shí)時(shí)響應(yīng)系統(tǒng)。其原理是將車(chē)輛圖像信息采集CCD(攝像頭架設(shè)在待測(cè)車(chē)道上方,識(shí)別軟件采用視頻觸發(fā)的方法,對(duì)CCD(攝像頭傳回的數(shù)字視頻信號(hào)進(jìn)行分析,判斷是否有車(chē)輛經(jīng)過(guò)。當(dāng)發(fā)現(xiàn)有車(chē)輛駛?cè)氡O(jiān)測(cè)區(qū)域,則立刻啟動(dòng)車(chē)流量檢測(cè)模塊,每過(guò)一輛車(chē),系統(tǒng)計(jì)數(shù)自動(dòng)加一,系統(tǒng)在極短的時(shí)間內(nèi)完成車(chē)流量檢測(cè)、排隊(duì)長(zhǎng)度、等待時(shí)間、車(chē)道占有率、道路信息分析、檢索數(shù)據(jù)等處理,與數(shù)據(jù)庫(kù)中的交通流參數(shù)比對(duì)判斷道路擁堵情況,利用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫(kù)同步技術(shù)進(jìn)行遠(yuǎn)程數(shù)據(jù)發(fā)布、更新、查詢(xún)等處理,嚴(yán)格保證各級(jí)數(shù)據(jù)庫(kù)內(nèi)容的數(shù)據(jù)一致性和完整性,通過(guò)LED顯示屏顯示出結(jié)果,使駕駛者了解哪一路段車(chē)流量大,哪一路段交通擁堵,自行選擇行車(chē)路線(xiàn)。系統(tǒng)還能統(tǒng)計(jì)車(chē)輛通過(guò)情況,包括:按年月日統(tǒng)計(jì)
車(chē)流量、車(chē)輛等待時(shí)間車(chē)道、占有率等數(shù)據(jù),其結(jié)果以表格、直方圖、曲線(xiàn)圖的形式輸出、打印,并將統(tǒng)計(jì)結(jié)果傳輸?shù)街笓]中心,管理部門(mén)根據(jù)這些數(shù)據(jù)采取相應(yīng)措施疏導(dǎo)交通,滿(mǎn)足城市交通智能化管理與監(jiān)控的要求。
系統(tǒng)技術(shù)特點(diǎn)
多參數(shù)同時(shí)檢測(cè):從視頻信號(hào)中可以提取大區(qū)域范圍內(nèi)的多種交通參數(shù),并可以提取一些采用其它方法難于檢測(cè)到的參數(shù)。
大范圍檢測(cè):一路視頻信號(hào)可以覆蓋4-6個(gè)車(chē)道,實(shí)現(xiàn)大區(qū)域范圍的交通流檢測(cè)。多階段檢測(cè):可以檢測(cè)進(jìn)入路口的交通量需求及其變量,還能檢測(cè)出信號(hào)控制方案執(zhí)行的效果,完成信號(hào)自動(dòng)控制全過(guò)程的檢測(cè)。
設(shè)置、調(diào)整方便靈活:可以在視野范圍內(nèi)設(shè)置多個(gè)不同類(lèi)型的虛擬檢測(cè)區(qū);可方便直觀地在計(jì)算機(jī)上移動(dòng)虛擬檢測(cè)區(qū)的位置或改變其大小,以滿(mǎn)足不同的交通應(yīng)用和道路覆蓋范圍等方面要求。
無(wú)須破路、安裝簡(jiǎn)便、維護(hù)方便:安裝時(shí)無(wú)須破壞路面,無(wú)須干擾正常交通,就可完成檢測(cè)器的重新設(shè)置;無(wú)須因道路路面維修而中斷交通檢測(cè)。
可擴(kuò)展性強(qiáng):交通流參數(shù)可以存貯在視頻車(chē)輛檢測(cè)系統(tǒng)內(nèi)部,以備后用;基于該系統(tǒng),還可以擴(kuò)展出很多實(shí)用功能(如違章檢測(cè)、聯(lián)網(wǎng)。
三、智能化多媒體網(wǎng)絡(luò)車(chē)牌識(shí)別系統(tǒng)
車(chē)牌識(shí)別作為交通監(jiān)控的核心技術(shù),應(yīng)用在多項(xiàng)子系統(tǒng)中。智能化多媒體網(wǎng)絡(luò)車(chē)牌識(shí)別系統(tǒng)廣泛應(yīng)用在過(guò)往車(chē)輛自動(dòng)登記、驗(yàn)證,公路收費(fèi),車(chē)輛安全核查,小區(qū)、停車(chē)場(chǎng)管理等方面。
系統(tǒng)采用視頻實(shí)時(shí)觸發(fā)方式進(jìn)行檢測(cè)抓拍,能夠自動(dòng)偵測(cè)、準(zhǔn)確識(shí)別及驗(yàn)證行駛或停泊中車(chē)輛的整車(chē)車(chē)牌號(hào)碼??蓪?duì)已抓拍圖像與數(shù)據(jù)庫(kù)資料及時(shí)進(jìn)行比對(duì),當(dāng)發(fā)現(xiàn)應(yīng)攔截車(chē)輛時(shí),系統(tǒng)能在本地機(jī)和中心機(jī)上及時(shí)報(bào)警。系統(tǒng)采用先進(jìn)的模糊圖
像處理技術(shù),通過(guò)程序能很好的實(shí)現(xiàn)對(duì)于車(chē)牌的整體傾斜、車(chē)牌的文字傾斜、車(chē)牌的污損和模糊等的處理,將人眼都很難辨別的車(chē)牌號(hào)識(shí)別出來(lái)。
車(chē)牌識(shí)別的流程可分為車(chē)牌定位、車(chē)牌預(yù)處理、字符分割和字符識(shí)別四個(gè)步驟。
系統(tǒng)實(shí)現(xiàn)功能和技術(shù)特點(diǎn)
★準(zhǔn)確識(shí)別不同地區(qū)及各種類(lèi)型的車(chē)牌號(hào)碼?!锊捎脠D像自動(dòng)觸發(fā)方式,不需要其他外在觸發(fā)機(jī)制?!镒詣?dòng)完成車(chē)輛記數(shù),車(chē)流量統(tǒng)計(jì)。
★對(duì)已抓拍圖像能與數(shù)據(jù)庫(kù)資料及時(shí)進(jìn)行比對(duì),當(dāng)發(fā)現(xiàn)應(yīng)攔截車(chē)輛時(shí),在本地機(jī)和中心機(jī)上及時(shí)。
★內(nèi)置的數(shù)據(jù)庫(kù)管理軟件能存儲(chǔ)、搜索及整理車(chē)輛資料,能自動(dòng)備份數(shù)據(jù)并完成統(tǒng)計(jì)報(bào)告。
★在網(wǎng)絡(luò)的環(huán)境下實(shí)現(xiàn)各地的數(shù)據(jù)同步,可實(shí)時(shí)監(jiān)控前端系統(tǒng)的運(yùn)行狀況?!飳?duì)運(yùn)動(dòng)速度在180公里/小時(shí)以下的汽車(chē)車(chē)牌進(jìn)行自動(dòng)識(shí)別。
★在良好光照條件下,車(chē)牌識(shí)別率不低于96%,在陰雨天、夜間人工光照條件下,車(chē)牌識(shí)別率不低于90%。
★系統(tǒng)能夠識(shí)別的車(chē)牌類(lèi)型包括:普通民用汽車(chē)車(chē)牌、軍用汽車(chē)車(chē)牌(含武警車(chē)牌、警用汽車(chē)車(chē)牌
★系統(tǒng)能夠識(shí)別車(chē)輛類(lèi)型,繪制出車(chē)輛的三維圖像?!镒ヅ膱D像的時(shí)間小于0.03秒,識(shí)別圖像的時(shí)間小于0.2秒?!锵到y(tǒng)適應(yīng)全天候條件下工作。
四、電子警察在城市道路監(jiān)控的應(yīng)用
在我國(guó)但部分大中城市的道路監(jiān)控系統(tǒng)中都有電子警察的身影,并且在使用數(shù)量上和功能需求上不斷擴(kuò)大和提高。電子警察的廣泛應(yīng)用和取得良好的社會(huì)效益和經(jīng)濟(jì)效益,再次體現(xiàn)了“科技強(qiáng)警”的重要意義。然而我國(guó)數(shù)量眾多的中小城市在經(jīng)濟(jì)持續(xù)高速發(fā)展下,也面臨著交通狀況、治安狀況惡化等問(wèn)題,迫切需要建設(shè)城市道路監(jiān)控系統(tǒng)。
大中城市道路監(jiān)控系統(tǒng)由于監(jiān)控點(diǎn)多、分布廣且具監(jiān)控中心距離較遠(yuǎn),不能將所有監(jiān)控點(diǎn)視頻信號(hào)傳輸?shù)奖O(jiān)控中心進(jìn)行監(jiān)控,一般分將重要監(jiān)視點(diǎn)的畫(huà)面視頻信號(hào)通過(guò)光纜傳輸?shù)奖O(jiān)控中心進(jìn)行錄像和電視墻畫(huà)面監(jiān)控,對(duì)電子警察系統(tǒng)則要求將自動(dòng)記錄的違章圖片和其它信息數(shù)據(jù)回傳到監(jiān)控中心,作為執(zhí)法處罰證據(jù)和資料存檔。這樣電子警察的控制部分就需要安裝在路口的機(jī)柜中,控制主機(jī)則要求能在惡劣環(huán)境下長(zhǎng)期工作的工控計(jì)算機(jī),通過(guò)電話(huà)線(xiàn)等現(xiàn)有傳輸線(xiàn)纜將數(shù)據(jù)傳回監(jiān)控中心,同時(shí)將視頻錄像資料存在本地計(jì)算機(jī)中,控制中心可以調(diào)用這些視頻資料用于判斷有爭(zhēng)議的處罰事件和判斷交通事故原因。
一些中小城市主要路口少,監(jiān)控點(diǎn)少,這些監(jiān)控點(diǎn)距離監(jiān)控中心近,這樣可以從監(jiān)控點(diǎn)到監(jiān)控中心直接敷設(shè)光纜線(xiàn),將監(jiān)控點(diǎn)的視頻信號(hào)直接傳輸?shù)奖O(jiān)控室。電子警察系統(tǒng)由于有視頻虛擬線(xiàn)圈檢測(cè)功能,可以將控制主機(jī)直接安放在控制中心,這種方式使前端攝像機(jī)即可用于道路監(jiān)控又可用于電子警察檢測(cè)取證。將電子警察系統(tǒng)安放在監(jiān)控中心,對(duì)控制主機(jī)的要求降低,系統(tǒng)維護(hù)、維修成本降低,同時(shí)對(duì)于資金緊張的項(xiàng)目,可以用一套電子警察系統(tǒng)
通過(guò)人工切換對(duì)多個(gè)路口進(jìn)行輪流使用,這樣即可對(duì)經(jīng)常違章的駕駛員有震懾作用,又緩解了資金緊張的矛盾,使監(jiān)控系統(tǒng)分步完善。這種模式已經(jīng)在一些地區(qū)使用,并取得很好的效果。
由于各地區(qū)氣候環(huán)境不同、車(chē)輛牌照所用材質(zhì)不同及其它特殊情況,造成視頻圖像的差異。這就意味著某個(gè)電子警察系統(tǒng)在甲地使用效果很好,在乙地使用效果不好,另外每個(gè)地區(qū)交警部門(mén)可能根據(jù)實(shí)際需求提出一些新要求。對(duì)于一個(gè)較為成
熟的電子警察系統(tǒng),應(yīng)該能滿(mǎn)足大多數(shù)需求,同時(shí)能很方便地修改調(diào)整軟件系統(tǒng),滿(mǎn)足用戶(hù)的需求。隨著監(jiān)控?cái)?shù)字化發(fā)展,城市道路監(jiān)控完全數(shù)字化的時(shí)代為期不遠(yuǎn)了
第三篇:vb+sql程序設(shè)計(jì)論文
石家莊職業(yè)技術(shù)學(xué)院
圖書(shū)信息管理系統(tǒng)
學(xué) 生 姓 名: 指 導(dǎo) 教 師: 系 別: 專(zhuān) 業(yè): 年 級(jí):
論文提交時(shí)間: ___________________
評(píng) 閱 人:___________________
年 月 日: ___________________
摘要
隨著人類(lèi)社會(huì)的發(fā)展,人類(lèi)對(duì)知識(shí)的需求也不斷地增長(zhǎng)。在這種形勢(shì)下,書(shū)籍就漸漸地成為人們獲取并增長(zhǎng)知識(shí)的主要途徑,而圖書(shū)館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學(xué)地管理圖書(shū)館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書(shū)館的發(fā)展,因此,開(kāi)發(fā)一套完善的圖書(shū)館管理系統(tǒng)就必不可少了。
管理信息系統(tǒng)(簡(jiǎn)稱(chēng)MIS)是介于信息論,經(jīng)濟(jì)管理理論,統(tǒng)計(jì)學(xué)與運(yùn)籌學(xué)及計(jì)算機(jī)科學(xué)之間的一門(mén)邊緣性,綜合性,系統(tǒng)性的交叉科學(xué),它是隨著管理科學(xué),信息技術(shù),計(jì)算機(jī)技術(shù)等的發(fā)展而產(chǎn)生和發(fā)展起來(lái)的。
圖書(shū)館管理系統(tǒng)是典型的信息管理系統(tǒng),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端的應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立數(shù)據(jù)的一致性和完整性,對(duì)于后者則要求應(yīng)用程序功能的完備,易用等的特點(diǎn)。基于上述考慮本系統(tǒng)主要利用VB.NET作前端的應(yīng)用開(kāi)發(fā)工具,利用SQL server 2005 作為后臺(tái)的數(shù)據(jù)庫(kù),利用WINDOWS作為系統(tǒng)平臺(tái)開(kāi)發(fā)的圖書(shū)管理系統(tǒng)。另外本圖書(shū)館管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進(jìn)行系統(tǒng)分析和設(shè)計(jì)的,而系統(tǒng)實(shí)現(xiàn)等步驟則采用了原型法和面對(duì)對(duì)象的方法。
關(guān)鍵字 管理信息系統(tǒng) 圖書(shū)管理 VB.NET的應(yīng)用。
目錄
第一章 系統(tǒng)需求分析......................................................3
1現(xiàn)行系統(tǒng)存在問(wèn)題的分析..............................................................................3 2解決方案...................................................................................................3
第二章 總體設(shè)計(jì)............................................................4 系統(tǒng)目標(biāo)設(shè)計(jì).............................................................................................4 2 系統(tǒng)功能分析.............................................................................................4
第三章 數(shù)據(jù)庫(kù)說(shuō)明.........................................................5
1數(shù)據(jù)庫(kù)的的表格介紹....................................................................................5 2各表關(guān)系與觸發(fā)器的解釋..............................................................................7
第四章 功能模塊設(shè)計(jì).....................................................11
1模塊詳解..................................................................................................11
第五章 重點(diǎn)研究問(wèn)題及核心問(wèn)題.......................................23
1數(shù)據(jù)庫(kù)的核心問(wèn)題......................................................................................23 2VB.NET的核心問(wèn)題....................................................................................23
第六章 心得體會(huì)...........................................................23 附錄..........................................................................24 參考文獻(xiàn):..................................................................29
第一章 系統(tǒng)需求分析
1.現(xiàn)行系統(tǒng)存在問(wèn)題的分析
現(xiàn)圖書(shū)館工作大部分還是進(jìn)行著手工管理,工作起來(lái)效率很低,工作量大,更加由于不可避免的人為因素,經(jīng)常造成數(shù)據(jù)的遺漏、誤報(bào),給圖書(shū)館管理帶來(lái)了很大的麻煩。近幾年來(lái),隨著我國(guó)科技的飛速發(fā)展,人們?cè)絹?lái)越注重社會(huì)的科技化發(fā)展。為了滿(mǎn)足客觀的需要,完成信息的數(shù)字化,智能化,自動(dòng)化,綜合化管理,要求在現(xiàn)代化工作引進(jìn)計(jì)算機(jī)信心管理技術(shù)。計(jì)算機(jī)信息化管理系統(tǒng)有著儲(chǔ)存信息量大、速度快,操作簡(jiǎn)單等許多優(yōu)點(diǎn),提供給我們的處理信息及時(shí)快捷,同時(shí)也提高了圖書(shū)管理人員的工作效率。
2.解決方案
基于以上的對(duì)問(wèn)題的分析,利用計(jì)算機(jī)給我們提供信息,及時(shí)地調(diào)整學(xué)校圖書(shū)館圖書(shū)結(jié)構(gòu),并且對(duì)學(xué)生們的借閱過(guò)程形成一整套動(dòng)態(tài)的管理就十分必要了。
圖書(shū)館信息管理系統(tǒng)的建立,需要進(jìn)行用戶(hù)的需求調(diào)查與分析,以確定系統(tǒng)目標(biāo),提出解決問(wèn)題的詳細(xì)方案,這是本系統(tǒng)建設(shè)的重要環(huán)節(jié)。
學(xué)校圖書(shū)館規(guī)模相對(duì)于商業(yè)圖書(shū)館小,但要有著完善的圖書(shū)信息,對(duì)每一冊(cè)書(shū)要有詳細(xì)的記錄信息,功能上對(duì)系統(tǒng)的需求是全面的。因此對(duì)用戶(hù)的需求可分為四個(gè)方面:一方面是圖書(shū)館工作人員通過(guò)計(jì)算機(jī)來(lái)管理各類(lèi)圖書(shū),分類(lèi)編號(hào),調(diào)整圖書(shū)結(jié)構(gòu),增加圖書(shū)庫(kù)存,適應(yīng)學(xué)生的需求;另一方面是學(xué)生們能通過(guò)計(jì)算機(jī)來(lái)查詢(xún)?yōu)g覽圖書(shū)館中的圖書(shū),來(lái)確定自己需要的書(shū)籍,為借閱做好準(zhǔn)備;再有一方面是工作人員對(duì)學(xué)生們的借閱證發(fā)放;還有就是圖書(shū)館的核心工作,對(duì)圖書(shū)的借閱管理。
這四個(gè)方面形成了學(xué)校圖書(shū)館一個(gè)工作整體,采用計(jì)算機(jī)自動(dòng)化信息處理,可方便快捷地共享信息、交流信息,高效地協(xié)同工作。
在軟、硬件方面對(duì)系統(tǒng)的需求,軟件要求易學(xué),界面簡(jiǎn)單,容易掌握,可以很簡(jiǎn)單明了方便的管理各種圖書(shū)信息。硬件的配置要求不是太高,這樣也很好的適應(yīng)當(dāng)前的學(xué)校圖書(shū)館得情況。
在開(kāi)發(fā)方式上對(duì)系統(tǒng)的需求,由于學(xué)校圖書(shū)館是一種無(wú)商業(yè)利益的,所以系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的周期要短,在短時(shí)間內(nèi)完成,減少開(kāi)發(fā)成本,提高開(kāi)發(fā)效率,方便、簡(jiǎn)單、實(shí)用作為系統(tǒng)開(kāi)發(fā)的指導(dǎo)思想。
第二章
總體設(shè)計(jì)
1.系統(tǒng)目標(biāo)設(shè)計(jì)
系統(tǒng)開(kāi)發(fā)的總目標(biāo)是實(shí)現(xiàn)內(nèi)部圖書(shū)借閱管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。能夠?qū)D書(shū)進(jìn)行注冊(cè)登記,也就是添加圖書(shū)基本信息(如:書(shū)名、作者、價(jià)格等)預(yù)先存入數(shù)據(jù)庫(kù)中,供以后檢索,以及查找、更新、刪除圖書(shū)信息。
能夠?qū)栝喨诉M(jìn)行注冊(cè)登記,包括記錄借閱人的姓名、地址、電話(huà)等信息,以及查找、更新、刪除讀者信息。
能夠?qū)D書(shū)的借閱、歸還??梢园磮D書(shū)借閱號(hào)等信息對(duì)圖書(shū)進(jìn)行查詢(xún),并能反映出圖書(shū)的借閱情況。
能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶(hù)進(jìn)行管理,按照不同的工作職能提供不同的功能授權(quán)。
提供較為完善的差錯(cuò)控制與友好的用戶(hù)界面,盡量避免誤操作。
2.系統(tǒng)功能分析
根據(jù)以上功能,將圖書(shū)管理系統(tǒng)的數(shù)據(jù)分為:
數(shù)據(jù)輸入部分:主要包括圖書(shū)基本信息的錄入、借閱人基本信息的錄入、用戶(hù)基本信息的錄入。
數(shù)據(jù)輸出部分:主要是各種統(tǒng)計(jì)查詢(xún),包括:根據(jù)圖書(shū)信息(如書(shū)名、圖書(shū)借閱號(hào))查閱圖書(shū)及其借閱者信息、統(tǒng)計(jì)輸出圖書(shū)類(lèi)型等。
數(shù)據(jù)處理部分:主要涉及借閱和歸還的處理,如一本書(shū)借出后,必須在數(shù)據(jù)庫(kù)中將該書(shū)標(biāo)記為已借出,以防出現(xiàn)數(shù)據(jù)庫(kù)中有書(shū)但圖書(shū)館無(wú)書(shū)的情況;一本書(shū)歸還后,同樣必須在數(shù)據(jù)庫(kù)中將其刪除,以便再次借出。以及對(duì)圖書(shū)基本信息,借閱人基本信息,用戶(hù)基本信息的更新、刪除。
第三章 數(shù)據(jù)庫(kù)說(shuō)明
1.?dāng)?shù)據(jù)庫(kù)的的表格介紹
數(shù)據(jù)庫(kù)在包括讀者信息表,圖書(shū)信息表,圖書(shū)類(lèi)別表,圖書(shū)借閱表,用戶(hù)信息表,庫(kù)存表。
圖4.1
部分表的圖如下: 圖書(shū)信息表:
圖4.2
圖書(shū)借閱表:
圖4.3
用戶(hù)信息表:
圖書(shū)類(lèi)別表:庫(kù)存信息表:讀者信息表:
圖4.4
圖4.5
圖4.6
圖4.7
一個(gè)聯(lián)合了圖書(shū)信息表、庫(kù)存信息表、圖書(shū)借閱表建立一個(gè)借閱圖書(shū)時(shí)的圖書(shū)查詢(xún)---View1,其各表之間的關(guān)系如下: 視圖中的示例信息如圖:
圖4.8
2各表關(guān)系與觸發(fā)器的解釋
圖4.9
圖4.10
為了更好的完善該系統(tǒng),因此在數(shù)據(jù)庫(kù)的建立一些主鍵、約束、觸發(fā)器。關(guān)系有:圖書(shū)信息表與圖書(shū)類(lèi)別表存在著外鍵約束;
讀者信息表與圖書(shū)借閱表存在著外鍵約束; 庫(kù)存信息表與圖書(shū)借閱表存在著外鍵約束;
圖書(shū)信息表與圖書(shū)借閱表存在著外鍵約束;
部分表中存在著主鍵,因?yàn)楸碇袛?shù)據(jù)很少,主鍵只起到唯一性的作用,對(duì)于表的檢索速度效果是不顯著的。
在實(shí)際的圖書(shū)館的系統(tǒng)中,當(dāng)讀者借閱一本書(shū)時(shí),那么圖書(shū)館中該書(shū)是少一本,還一本書(shū),書(shū)庫(kù)中則多一本,當(dāng)書(shū)庫(kù)中的數(shù)量為0時(shí),則無(wú)法借閱該書(shū),每名學(xué)生只能借2本,為模擬這種現(xiàn)象,也在表圖書(shū)借閱中建立了觸發(fā)器。Ck_讀者信息表 功能:每名學(xué)生只能借6本
圖4.11 Upda_庫(kù)存量1功能:當(dāng)借一本時(shí),庫(kù)存表中與之相應(yīng)的圖書(shū)庫(kù)存量則少一本
圖4.12
Upda_庫(kù)存量2功能:當(dāng)還一本書(shū),庫(kù)存表中與之相應(yīng)的圖書(shū)庫(kù)量則多一本
圖4.13
Upda_庫(kù)存信息表功能:當(dāng)庫(kù)存信息為0時(shí),則無(wú)法向借閱表中插入信息。
圖4.14
第四章功能模塊設(shè)計(jì)
1.模塊詳解
該圖書(shū)管理系統(tǒng)包括如下界面:登錄、主窗體、讀者信息、圖書(shū)信息、圖書(shū)類(lèi)別、借閱與歸還、系統(tǒng)用戶(hù)管理。其關(guān)系如下圖。
圖5.1
該窗體為初始窗體
圖5.2
當(dāng)?shù)卿洉r(shí),先進(jìn)入登錄界面,然后進(jìn)入主窗體中。關(guān)鍵代碼:(見(jiàn)附錄A)
圖5.3
主窗體中包括基礎(chǔ)數(shù)據(jù):讀者信息、圖書(shū)信息、類(lèi)別信息;圖書(shū)借閱管理中包括:圖書(shū)信息查詢(xún)、借書(shū)管理、還書(shū)管理;系統(tǒng)維護(hù)中包括:用戶(hù)添加,用戶(hù)修改;另外,有一個(gè)關(guān)于窗體,最后一個(gè)模塊就是退出系統(tǒng)。
圖5.4
各模塊的功能: 讀者信息管理
該設(shè)計(jì)的功能主要是完成學(xué)校圖書(shū)信息的入庫(kù)編目管理,它包括讀者信息的添加,圖書(shū)的查詢(xún)、更新、刪除等功能。
讀者信息添加:在此窗體中用戶(hù)可以添加自己的個(gè)人有關(guān)信息。關(guān)鍵代碼:(見(jiàn)附錄B)
圖5.5
讀者作息查詢(xún)
在窗體中用戶(hù)可查詢(xún)、刪除自己的信息 關(guān)鍵代碼: 查詢(xún)代碼:(見(jiàn)附錄C)
刪除代碼:(附錄
D)
圖5.6
讀者信息更新
該窗體可以更新讀者信息 關(guān)鍵代碼(附錄E)
圖5.7 讀者信息瀏覽
該窗體可以實(shí)現(xiàn)所有讀者信息 代碼如下:(附錄F)
圖5.8
該設(shè)計(jì)的功能主要是完成學(xué)校圖書(shū)信息的入庫(kù)編目管理,它包括圖書(shū)信息的添加,圖書(shū)的查詢(xún)、更新、刪除等功能。(以下代碼與上面代碼類(lèi)似,在此不做詳解)
圖書(shū)信息添加:在此窗體中圖書(shū)管理員可以添加圖書(shū)的相關(guān)信息
圖5.9
圖書(shū)信息查詢(xún):在此窗體中圖書(shū)管理員可以查詢(xún)、刪除圖書(shū)的相關(guān)信息
圖5.10
圖書(shū)信息更新:在此窗體中圖書(shū)管理員可以更新圖書(shū)的相關(guān)信息
圖5.11
圖書(shū)信息瀏覽:在此窗體中圖書(shū)管理員可以瀏覽圖書(shū)的相關(guān)信息
圖5.12
圖書(shū)類(lèi)別管理:在此窗體中圖書(shū)管理員可以添加圖書(shū)類(lèi)別的相關(guān)信息
圖5.13
圖書(shū)類(lèi)別查詢(xún):在此窗體中圖書(shū)管理員可以查詢(xún)、刪除圖書(shū)類(lèi)別的相關(guān)信息
圖5.14
圖書(shū)類(lèi)別更新:在此窗體中圖書(shū)管理員可以更新圖書(shū)類(lèi)別的相關(guān)信息
圖5.15
圖書(shū)類(lèi)別瀏覽:在此窗體中圖書(shū)管理員可以瀏覽圖書(shū)類(lèi)別的相關(guān)信息
圖5.16
圖書(shū)查詢(xún):讀者可以在此行窗體中查找想要借閱的圖書(shū)ISBN、庫(kù)存、書(shū)名等信息。
圖5.17
借閱:讀者在此窗體中添加自己的信息,來(lái)借閱圖書(shū)。關(guān)鍵代碼(附錄G)
圖5.18
歸還:讀者在此窗體中刪除自己的借閱信息,并歸還圖書(shū)。關(guān)鍵代碼:(附錄H)
圖5.19
(1)口令識(shí)別
口令識(shí)別是一種低成本,易實(shí)現(xiàn)的用戶(hù)識(shí)別技術(shù)。在計(jì)算機(jī)系統(tǒng)內(nèi)廣泛的使 用,在口令識(shí)別機(jī)制中,計(jì)算機(jī)系統(tǒng)給每個(gè)用戶(hù)分配一個(gè)用戶(hù)名和一個(gè)口令。用戶(hù)名唯一確定一個(gè)用戶(hù)是公開(kāi)的;口令用于證實(shí)用戶(hù),是保密的,顯示為*號(hào)。
(2)口令存取
系統(tǒng)要識(shí)別每個(gè)用戶(hù)的口令,就必須把每個(gè)用戶(hù)的口令存放起來(lái),形成口令表,通常以文件或數(shù)據(jù)庫(kù)形式存放。如果以明文的形式存放,則很容易被熟悉系統(tǒng)的人偷取,為了提高基于口令的身份識(shí)別方案的堅(jiān)強(qiáng)度,應(yīng)該在口令方案中引入加密機(jī)制。
用戶(hù)添加:在此窗體中圖書(shū)管理員可以添加用戶(hù)相關(guān)信息
圖5.20
用戶(hù)管理:用戶(hù)可以在此窗體中更新、刪除用戶(hù)信息。
圖5.21
關(guān)于窗體:主要介紹該系統(tǒng)的一些基本信息
圖5.22
第五章 重點(diǎn)研究問(wèn)題及核心問(wèn)題
1.?dāng)?shù)據(jù)庫(kù)的核心問(wèn)題
在實(shí)際的圖書(shū)館的系統(tǒng)中,當(dāng)讀者借閱一本書(shū)時(shí),那么圖書(shū)館中該書(shū)是少一本,還一本書(shū),書(shū)庫(kù)中則多一本,當(dāng)書(shū)庫(kù)中的數(shù)量為0時(shí),則無(wú)法借閱該書(shū),每名學(xué)生只能借2本,為模擬這種現(xiàn)象,也在表圖書(shū)借閱中建立了觸發(fā)器。
2.VB.NET的核心問(wèn)題
ADO.NET技術(shù),數(shù)據(jù)訪(fǎng)問(wèn)控件的使用,手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的編程方法。
第六章 心得體會(huì)
在對(duì)圖書(shū)管理信息系統(tǒng)的開(kāi)發(fā)過(guò)程有了基本了解后,本人使用VB.NET開(kāi)發(fā)了這個(gè)“圖書(shū)管理系統(tǒng)”。系統(tǒng)基本實(shí)現(xiàn)了內(nèi)部圖書(shū)借閱管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。例如添加讀者信息以及查找、更新、刪除讀者信息, 添加圖書(shū)信息以及查找、更新、刪除圖書(shū)信息,添加圖書(shū)類(lèi)別信息以及查找、更新、刪除圖書(shū)類(lèi)別信息,圖書(shū)的借閱、歸還。可以按圖書(shū)借閱號(hào)等信息對(duì)圖書(shū)進(jìn)行查詢(xún),并能反映出圖書(shū)的借閱情況。實(shí)現(xiàn)了簡(jiǎn)單的統(tǒng)計(jì)分析功能,可以展示出庫(kù)存圖書(shū)館藏圖書(shū)的情況。還能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶(hù)進(jìn)行管理,按照不同的工作職能提供不同的功能授權(quán)。
通過(guò)對(duì)該系統(tǒng)的設(shè)計(jì)、開(kāi)發(fā)和調(diào)試,一方面使我更加熟練了SQL2005 的使用方法,熟悉了建庫(kù)、建表、建視圖的方法,以及如何建約束、觸發(fā)器讓數(shù)據(jù)更完整。另一方面,讓我對(duì)VB.NET開(kāi)發(fā)工具的有了更深一步的認(rèn)識(shí),熟悉了窗口、菜單以及一些可視化控件的使用方法。通過(guò)使用還了解到了各類(lèi)控件的屬性與方法。同時(shí),在制作過(guò)程中遇到了不少問(wèn)題和困難,通過(guò)查閱書(shū)籍及互連網(wǎng)以及和同學(xué)們的探討讓我得到了不小的幫助。
由于外部設(shè)備條件以及自身能力的限制,該管理系統(tǒng)還存在不少的缺點(diǎn)和漏洞,只能盡量改正與完善。不足之處,還望多多指教。
附錄
附錄A Dim cmd As New SqlCommand(“select * from user1 where user1='” & u_name & “' and pwd='” & u_pwd & “'”, cn)cn.Open()Dim dr As SqlDataReader = cmd.ExecuteReader If Not dr.Read Then MsgBox(“你的user1或pwd不對(duì)”)Else If dr.Item(“userTYPE”)= 0 Then FrmMain.ToolStripMenuItem3.Enabled = False//普通用戶(hù)
Else FrmMain.ToolStripMenuItem3.Enabled = True//管理員
End If FrmMain.Show()Me.Close()End If 附錄B
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles Button1.Click If TextBox1.Text = “" Or TextBox4.Text = ”“ Or TextBox5.Text = ”“ Or TextBox8.Text = ”“ Or TextBox9.Text = ”“ Then MsgBox(”均不能為空!“)Exit Sub End If Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”insert into 讀者信息表 values('“ & TextBox1.Text & ”','“ & TextBox2.Text & ”','“ & TextBox3.Text & ”','“ & TextBox4.Text & ”','“ & TextBox5.Text & ”','“ & TextBox6.Text & ”','“ & ComboBox1.Text & ”','“ & TextBox7.Text & ”','“ & TextBox8.Text & ”','“ & TextBox9.Text & ”','“ & TextBox10.Text & ”')“, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()End Sub 附錄C
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click If ComboBox1.Text = ”姓名“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlDataAdapter(”select * from 讀者信息表 where name='“ & TextBox1.Text & ”' “, cn)Dim tb1 As New DataTable cn.Open()da.Fill(tb1)cn.Close()DataGridView1.DataSource = tb1 Catch ex As Exception MsgBox(ex.ToString)End Try ElseIf ComboBox1.Text = ”借閱證號(hào)“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlDataAdapter(”select * from 讀者信息表 where isbn='“ & TextBox1.Text & ”' “, cn)Dim tb1 As New DataTable cn.Open()da.Fill(tb1)cn.Close()DataGridView1.DataSource = tb1 Catch ex As Exception MsgBox(ex.ToString)End Try End If End Sub 附錄D Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button4.Click If ComboBox1.Text = ”姓名“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 讀者信息表 where name='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try
ElseIf ComboBox1.Text = ”借閱證號(hào)“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 讀者信息表 where isbn='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End If End Sub 附錄E Private Sub readerupdate_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles Me.MouseClick
Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlCommand(”select * from 讀者信息表 where isbn='“ & TextBox8.Text & ”' “, cn)Dim myread As SqlDataReader cn.Open()myread = da.ExecuteReader While myread.Read TextBox1.Text = myread(”Name“)TextBox2.Text = myread(”sex“)TextBox3.Text = myread(”age“)TextBox4.Text = myread(”identitycard“)TextBox5.Text = myread(”maxnum“)TextBox6.Text = myread(”keepmoney“)ComboBox1.Text = myread(”zj“)TextBox7.Text = myread(”zy“)TextBox8.Text = myread(”isbn“)TextBox9.Text = myread(”bztime“)TextBox10.Text = myread(”tel“)End While cn.Close()
Catch ex As Exception MsgBox(ex.ToString)End Try End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click Me.Close()End Sub Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles TextBox1.MouseClick Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlCommand(”select * from 讀者信息表 where name='“ & TextBox1.Text & ”' “, cn)Dim myread As SqlDataReader cn.Open()myread = da.ExecuteReader While myread.Read TextBox1.Text = myread(”Name“)TextBox2.Text = myread(”sex“)TextBox3.Text = myread(”age“)TextBox4.Text = myread(”identitycard“)TextBox5.Text = myread(”maxnum“)TextBox6.Text = myread(”keepmoney“)ComboBox1.Text = myread(”zj“)TextBox7.Text = myread(”zy“)TextBox8.Text = myread(”isbn“)TextBox9.Text = myread(”bztime“)TextBox10.Text = myread(”tel“)End While cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”update 讀者信息表 set name= '“ & TextBox1.Text & ”',sex='“ & TextBox2.Text & ”',age='“ & TextBox3.Text & ”',identitycard='“ & TextBox4.Text & ”',maxnum='“ & TextBox5.Text & ”',keepmoney='“ & TextBox6.Text & ”',zj='“ & ComboBox1.Text & ”',zy='“ & TextBox7.Text & ”',isbn='“ & TextBox8.Text & ”',bztime='“ & TextBox9.Text & ”',tel='“ & TextBox10.Text & ”' where isbn='“ & TextBox8.Text & ”' or name='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End Sub 附錄F Private Sub 讀者信息表BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 讀者信息表BindingNavigatorSaveItem.Click Me.Validate()Me.讀者信息表BindingSource.EndEdit()Me.讀者信息表TableAdapter.Update(Me.TsglDataSet.讀者信息表)
End Sub Private Sub readerupdate_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load 'TODO: 這行代碼將數(shù)據(jù)加載到表“TsglDataSet.讀者信息表”中。您可以根據(jù)需要移動(dòng)或移除它。
Me.讀者信息表TableAdapter.Fill(Me.TsglDataSet.讀者信息表)End Sub 附錄G
Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”insert into 圖書(shū)借閱表 values('“ & TextBox1.Text & ”','“ & TextBox3.Text & ”',' no','“ & TextBox5.Text & ”','no')“, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()附錄H
Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 圖書(shū)借閱表 where bookisbn='“ & TextBox1.Text & ”'", cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()
參考文獻(xiàn):
[1]《軟件工程導(dǎo)論》 張海藩 著 清華大學(xué)出版社 [2]《數(shù)據(jù)庫(kù)原理與設(shè)計(jì)》 張龍祥、陶影 等編 西安交大出版社 [3]《管理信息系統(tǒng)原理與應(yīng)用》羅超理、李萬(wàn)紅
清華大學(xué)出版社 [4]《SQL Server 2005 實(shí)用教程》李巖、張瑞雪
清華大學(xué)出版社 [5]《Visual Basic.NET》
劉懷亮
冶金工業(yè)出版社
致 謝
本論文是在石家莊職業(yè)技術(shù)學(xué)院智立甫老師的悉心指導(dǎo)和幫助下完成的。在論文的選題、問(wèn)題分析以及論文寫(xiě)作的整個(gè)過(guò)程中,處處滲透著老師的心血。非常感謝智老師的悉心指導(dǎo)。在跟隨智立甫老師進(jìn)行畢業(yè)設(shè)計(jì)的過(guò)程中,他淵博的學(xué)識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度時(shí)刻激勵(lì)和影響著我,使我在短期內(nèi)不僅學(xué)識(shí)水平有了較大提高,而且更重要的是從老師那里學(xué)到了從事研究工作的方法和態(tài)度,這必將使我受益終生,同時(shí)我也會(huì)將智老師這種精益求精的精神滲透到我今后的學(xué)習(xí)工作中。在論文完成之際,特向智立甫老師表示衷心的感謝和崇高的敬意。我將永遠(yuǎn)銘記老師的諄諄教誨。
感謝趙恩同學(xué)在代碼修改發(fā)面的方面的幫助!感謝郝鵬同學(xué)提供的圖片素材!
你們的激勵(lì)和厚望一直是我?jiàn)^斗的動(dòng)力源泉,但愿我的點(diǎn)滴進(jìn)步能給你們帶來(lái)欣慰。
第四篇:C語(yǔ)言程序設(shè)計(jì)教學(xué)分析與探索論文
[摘要]C語(yǔ)言是高校計(jì)算機(jī)類(lèi)專(zhuān)業(yè)開(kāi)設(shè)的一門(mén)非常重要的專(zhuān)業(yè)課程,學(xué)校往往在教學(xué)上投入很多,卻收效甚微。學(xué)生普遍反映難學(xué)、難懂,理論與實(shí)踐脫節(jié),所以很難培養(yǎng)出滿(mǎn)足社會(huì)需求的計(jì)算機(jī)專(zhuān)業(yè)人才。本文從學(xué)校教學(xué)和學(xué)生學(xué)習(xí)兩個(gè)方面出發(fā),分析C語(yǔ)言教學(xué)過(guò)程中現(xiàn)存的問(wèn)題,通過(guò)多年的教學(xué)經(jīng)驗(yàn),對(duì)教學(xué)方式和方法進(jìn)行總結(jié),試圖探索出一種符合現(xiàn)代人才培養(yǎng)需求的教學(xué)模式。
[關(guān)鍵詞]C語(yǔ)言 程序設(shè)計(jì) 實(shí)踐教學(xué)
一、前言
上個(gè)世紀(jì)70年代以來(lái),C語(yǔ)言在以其目標(biāo)代碼質(zhì)量高,使用靈活,數(shù)據(jù)類(lèi)型豐富,可移植性好等特點(diǎn)而得到廣泛的普及和迅速發(fā)展,成為一種在系統(tǒng)軟件開(kāi)發(fā)、科學(xué)計(jì)算、自動(dòng)控制等各個(gè)領(lǐng)域廣泛應(yīng)用的程序設(shè)計(jì)語(yǔ)言。在眾多高級(jí)程序設(shè)計(jì)語(yǔ)言競(jìng)顯風(fēng)流的當(dāng)今社會(huì),C語(yǔ)言以其強(qiáng)大的功能仍在高級(jí)程序設(shè)計(jì)領(lǐng)域占據(jù)著重要的地位。
C語(yǔ)言作為計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)課,是學(xué)生學(xué)習(xí)程序設(shè)計(jì)的開(kāi)端,學(xué)生分析問(wèn)題、解決問(wèn)題的能力和程序設(shè)計(jì)過(guò)程理念的形成都與C語(yǔ)言有著密切的聯(lián)系。C語(yǔ)言有著其它高級(jí)程序設(shè)計(jì)語(yǔ)言不可比擬的優(yōu)點(diǎn),同時(shí)也有其較難學(xué)習(xí)的一面。由于現(xiàn)行教學(xué)過(guò)程中存在著一些弊端和學(xué)生自身因素的原因,所以在學(xué)習(xí)中普遍反映“難學(xué)”、“不懂“,這也是學(xué)生普遍遇到的問(wèn)題。
二、現(xiàn)行教學(xué)和學(xué)習(xí)中存在的問(wèn)題
1.現(xiàn)行教學(xué)中理論課與實(shí)踐課完全分離,不能相互促進(jìn)。理論課中往往只注重對(duì)教材知識(shí)的分析和灌輸,在廣度上對(duì)知識(shí)沒(méi)有拓展和延伸,必定會(huì)影響對(duì)知識(shí)深度的剖析,也會(huì)造成學(xué)生理解的困難。而實(shí)踐課程通常被放到了次要的地位,很多時(shí)候是在走形式:一方面,學(xué)生對(duì)知識(shí)一知半解、往往用上網(wǎng)來(lái)對(duì)付實(shí)踐課;另一方面,老師很難監(jiān)控到每個(gè)學(xué)生,了解他們是否都在認(rèn)真編寫(xiě)、調(diào)試程序。這就造成理論課沒(méi)有起到為實(shí)踐課打基礎(chǔ)的作用,實(shí)踐課也沒(méi)有起到鞏固、應(yīng)用理論課的作用。
2.學(xué)生對(duì)計(jì)算機(jī)基礎(chǔ)的學(xué)習(xí)不深入,嚴(yán)重影響了C語(yǔ)言的學(xué)習(xí)。因?yàn)镃語(yǔ)言程序設(shè)計(jì)課程的延續(xù)性和拓展性非常的強(qiáng),包含了算法、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)基礎(chǔ)等相關(guān)專(zhuān)業(yè)課程和基礎(chǔ)課程的課程的知識(shí)。在C語(yǔ)言教學(xué)中涉及到進(jìn)制轉(zhuǎn)換、取值范圍和順序存儲(chǔ)等基礎(chǔ)知識(shí)時(shí),發(fā)現(xiàn)很多學(xué)生還沒(méi)掌握這些基礎(chǔ)知識(shí),甚至根本不理解。在這樣薄弱的基礎(chǔ)上,C語(yǔ)言教學(xué)很難順利進(jìn)行。
3.學(xué)生在學(xué)習(xí)中處于被動(dòng)的接受知識(shí)的地位,沒(méi)有機(jī)會(huì)主動(dòng)參與到學(xué)習(xí)中來(lái),導(dǎo)致學(xué)習(xí)興趣不濃、學(xué)習(xí)停留在表面、對(duì)知識(shí)學(xué)的一知半解。由于接受的多是課本知識(shí),所以動(dòng)手能力差、應(yīng)用能力差,導(dǎo)致不能把自己所學(xué)的知識(shí)應(yīng)用到實(shí)踐中去。這樣培養(yǎng)出來(lái)的學(xué)生不能滿(mǎn)足社會(huì)的需要,也沒(méi)有達(dá)到教學(xué)的目的。
三、探索新的教學(xué)方法
在多年的教學(xué)過(guò)程中,嘗試多種教學(xué)方式,不斷總結(jié)教學(xué)經(jīng)驗(yàn),探索新的教學(xué)方法。
1.上好第一堂課,引起學(xué)生的學(xué)習(xí)興趣。第一堂課是最基礎(chǔ)的理論知識(shí)課,如介紹C語(yǔ)言的發(fā)展、特點(diǎn)、優(yōu)點(diǎn)等內(nèi)容,往往不被教師所重視,認(rèn)為應(yīng)該把精力放到程序設(shè)計(jì)部分。其實(shí)恰恰相反,上好第一堂課至關(guān)重要,它關(guān)系著學(xué)生是否會(huì)對(duì)學(xué)習(xí)產(chǎn)生興趣,渴望進(jìn)行后繼內(nèi)容的學(xué)習(xí)問(wèn)題,所以絕對(duì)不能照本喧科。而對(duì)C語(yǔ)言的發(fā)展追本溯源,將C語(yǔ)言領(lǐng)域的開(kāi)發(fā)投入、研發(fā)過(guò)程、遇到的問(wèn)題進(jìn)行詳細(xì)的分析,對(duì)C語(yǔ)言在現(xiàn)實(shí)中的應(yīng)用以及C++、VC++進(jìn)行介紹,往往能夠引起學(xué)生學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的興趣、推動(dòng)后續(xù)知識(shí)的學(xué)習(xí)。
2.詳細(xì)講解基礎(chǔ)知識(shí),深度剖析與后繼課程相關(guān)的內(nèi)容,激發(fā)學(xué)生學(xué)習(xí)動(dòng)力。C語(yǔ)言程序設(shè)計(jì)教學(xué)中涉及的數(shù)據(jù)類(lèi)型、取值范圍、運(yùn)算符、優(yōu)先級(jí)、表達(dá)式等內(nèi)容雖是基礎(chǔ)知識(shí),但對(duì)學(xué)生來(lái)說(shuō)卻是邁入程序設(shè)計(jì)大門(mén)的第一步。沒(méi)有堅(jiān)實(shí)的基礎(chǔ)知識(shí),便無(wú)從談及程序設(shè)計(jì),所以對(duì)基礎(chǔ)知識(shí)的講解一定要詳細(xì)。比如遇到整型數(shù)據(jù)的取值范圍問(wèn)題時(shí),可以適當(dāng)拓展一些原碼和反碼的知識(shí),讓學(xué)生知其然,更知其所以然;鏈表知識(shí)是C語(yǔ)言的難點(diǎn),這部分內(nèi)容和數(shù)據(jù)結(jié)構(gòu)聯(lián)系密切,所以要深度剖析,尤其是對(duì)帶表頭結(jié)點(diǎn)的單、雙鏈表更要講解的清晰、透徹,為數(shù)據(jù)結(jié)構(gòu)、JAVA語(yǔ)言等后繼課程打下堅(jiān)實(shí)基礎(chǔ)。這樣繼往開(kāi)來(lái),不僅可以鞏固以前的計(jì)算機(jī)基礎(chǔ)知識(shí),更能激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力。3.重點(diǎn)分析程序設(shè)計(jì)過(guò)程,培養(yǎng)學(xué)生良好的編程習(xí)慣,逐步提高學(xué)生編程能力。很多學(xué)生認(rèn)為,進(jìn)行程序設(shè)計(jì)就是用計(jì)算機(jī)語(yǔ)言編寫(xiě)源代碼,這其實(shí)是學(xué)習(xí)程序設(shè)計(jì)的一個(gè)誤區(qū),編寫(xiě)源代碼僅僅是完成了程序的編碼,而程序設(shè)計(jì)從問(wèn)題分析就開(kāi)始了,它包括分析問(wèn)題、選擇算法、繪制流程圖、編寫(xiě)源代碼、調(diào)試并測(cè)試程序,直到取得正確結(jié)果這樣一個(gè)完整的過(guò)程。其中繪制流程圖能使程序員在編程時(shí)思路清晰,減少編程錯(cuò)誤。利用流程圖來(lái)分析、查找、解決程序設(shè)計(jì)中的問(wèn)題能夠一目了然。例如:下面這一簡(jiǎn)單的while循環(huán)結(jié)構(gòu),用流程圖便可以輕易發(fā)現(xiàn)錯(cuò)誤所在。圖1是錯(cuò)誤代碼的流程圖,它使程序陷入了死循環(huán),圖2是正確的流程圖。所以繪制正確的流程圖,是減少代碼錯(cuò)誤的有效手段。
Main(0
{int i,sum;
i=sum=0;
While(i<=100)
Sum+=i;
i++;
Printf(“1+2+3+…+100=%d’,sum);
}
在C語(yǔ)言程序設(shè)計(jì)教學(xué)過(guò)程中,即使對(duì)簡(jiǎn)單的程序設(shè)計(jì)的講解也嚴(yán)格的按照程序設(shè)計(jì)的過(guò)程一步步的進(jìn)行分析和引導(dǎo),培養(yǎng)學(xué)生良好的編程習(xí)慣。
4.通過(guò)實(shí)踐教學(xué),讓學(xué)生親自體會(huì)程序設(shè)計(jì)全過(guò)程,鞏固所學(xué)知識(shí)。學(xué)生通常在C語(yǔ)言的學(xué)習(xí)上投入了很多的精力與時(shí)間,但卻離實(shí)際要求相差很遠(yuǎn)。因?yàn)槿狈α藢?shí)踐經(jīng)驗(yàn)和能力,不能滿(mǎn)足社會(huì)的需求,這也是計(jì)算機(jī)類(lèi)學(xué)生的通病。為此,在教學(xué)中一定要注重理論與實(shí)踐相結(jié)合。案例實(shí)驗(yàn)可以說(shuō)是學(xué)習(xí)C程序設(shè)計(jì)最有效的方法之一,在教學(xué)過(guò)程中我們故意將賦值符號(hào)“=”和等號(hào)“= =”互換、漏寫(xiě)分號(hào)“;”和大括號(hào)“{}“,設(shè)置一些待解決的錯(cuò)誤,引導(dǎo)學(xué)生在編程和調(diào)試過(guò)程中逐一解決這些問(wèn)題,不僅能夠鞏固理論知識(shí)、養(yǎng)成編程的好習(xí)慣,更能調(diào)動(dòng)學(xué)生思考問(wèn)題和解決問(wèn)題的積極性。同時(shí)在解決問(wèn)題的過(guò)程中使學(xué)生有一種成就感,這對(duì)學(xué)習(xí)能力的提高和積極性的培養(yǎng)有很好的作用。
5.多種教學(xué)手段相結(jié)合,提高教學(xué)效果。理論教學(xué)與實(shí)踐教學(xué)相結(jié)合,適當(dāng)減少理論課、增加實(shí)踐課,將理論教學(xué)融入實(shí)踐教學(xué)中來(lái),逐漸模糊兩者之間的界限;傳統(tǒng)教學(xué)與豐富多彩的多媒體教學(xué)相結(jié)合、教師講解與學(xué)生課堂討論相結(jié)合,以便調(diào)動(dòng)學(xué)習(xí)的主動(dòng)性和積極性。
6.注重對(duì)知識(shí)的歸納和總結(jié),讓學(xué)生溫故而知新。在教學(xué)過(guò)程中,按章節(jié)、按階段對(duì)相關(guān)重點(diǎn)知識(shí)進(jìn)行歸納總結(jié),讓學(xué)生把模塊化的知識(shí)連接起來(lái),系統(tǒng)、全面的掌握所學(xué)內(nèi)容。
四、結(jié)束語(yǔ)
目前C語(yǔ)言程序設(shè)計(jì)教學(xué)中仍然有很多需要改進(jìn)的地方,如何提高實(shí)踐教學(xué)質(zhì)量,使理論與實(shí)踐相結(jié)合,仍需要在教學(xué)過(guò)程中不斷的探索和改革。
參考文獻(xiàn):
[1]楊路明等.C/C++程序設(shè)計(jì)教程.長(zhǎng)沙:湖南科學(xué)技術(shù)出版社,2003.
[2]譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)教程.北京:高等教育出版社,1997.
[3]王士元.C高級(jí)實(shí)用程序設(shè)計(jì).北京:清華大學(xué)出版社,1996.
[4]徐孝凱.數(shù)據(jù)結(jié)構(gòu)實(shí)用教程(C/C++描述).北京:清華大學(xué)出版社,1999.
第五篇:DSP系統(tǒng)程序設(shè)計(jì)論文
近年來(lái),計(jì)算機(jī)產(chǎn)品的應(yīng)用領(lǐng)域越來(lái)越廣,數(shù)字信號(hào)處理器的發(fā)展表現(xiàn)得尤為明顯。DSp芯片制造商和DSp板開(kāi)發(fā)商利用自身的優(yōu)勢(shì)不斷開(kāi)發(fā)出多DSp結(jié)構(gòu)的產(chǎn)品來(lái)滿(mǎn)足這種需求。通常的DSp設(shè)備是與嵌入式系統(tǒng)相結(jié)合,來(lái)實(shí)時(shí)地完成某一特定任務(wù)。隨著信號(hào)采集速度和處理速度的要求越來(lái)越高,許多領(lǐng)域都需要進(jìn)行多處理器運(yùn)算,其中包括醫(yī)學(xué)、圖像處理、軍事、工業(yè)控制、電信等許多領(lǐng)域。多處理器系統(tǒng)可以根據(jù)所需實(shí)現(xiàn)的功能和處理器的性能來(lái)調(diào)節(jié)處理結(jié)點(diǎn)的數(shù)目,使系統(tǒng)達(dá)到最佳的性能價(jià)格比。
實(shí)際上,只有從芯片開(kāi)始仔細(xì)設(shè)計(jì),才能方便地實(shí)現(xiàn)多處理器系統(tǒng)的調(diào)節(jié)功能。這里選用的是AD公司新出品的SHARC級(jí)處理器ADSp21160。
ADSp21160具有很大的片內(nèi)存儲(chǔ)區(qū)、多重內(nèi)部總線(xiàn)結(jié)構(gòu)、獨(dú)立的I/O子系統(tǒng);具有構(gòu)造多處理器系統(tǒng)的所有特點(diǎn),能夠真正支持處理器數(shù)目的可調(diào)節(jié)功能,十分適合組成高性能浮點(diǎn)的多DSp系統(tǒng)。
VxWorks是目前世界上用戶(hù)數(shù)量最大的實(shí)時(shí)操作系統(tǒng)。這使它除了具有優(yōu)越的技術(shù)性能之外,還具有豐富的應(yīng)用軟件支持、良好的技術(shù)服務(wù)和可靠的系統(tǒng)穩(wěn)定性。由于它具有以上優(yōu)點(diǎn),本系統(tǒng)中選用了VxWorks作為MVME167的操作系統(tǒng)。
一、ADSp21160的特點(diǎn)
ADSp21160 是AD公司采用超級(jí)哈佛結(jié)構(gòu)的一種新產(chǎn)品。21160的匯編代碼與2106x兼容,處理器具有SIMD(單指令流多數(shù)據(jù)流)功能;而2106x只具有SISD(單指令流單數(shù)據(jù)流)功能。為了充分利用這種新的功能,一些指令做了一些改變。ADSp21160包括1個(gè)100/150MHz的運(yùn)算核、雙端片內(nèi)SRAM、1個(gè)支持多處理器的集成在片內(nèi)的I/O處理器和多重內(nèi)部總線(xiàn)以消除I/O瓶頸。
ADSp21160的匯編源代碼與2106x兼容。SIMD計(jì)算結(jié)構(gòu):2個(gè)32bit的計(jì)算單元,其中每一個(gè)單元包括乘法器、ALU、移位寄存器及寄存器文件。具有完備的與外圍設(shè)備接口功能。包括獨(dú)立的I/O處理器、4Mbit 的片內(nèi)雙端SRAM、可直接連接的多處理器特性及端口(串口、連接口、外總線(xiàn)及JTAG)。
ADSp21160包括2個(gè)運(yùn)算處理單元,具有SIMD功能。處理單元指的是pEX和pEY。pEX始終是有效的,而pEY的有效是通過(guò)設(shè)置MODE1寄存器中的pEYEN位來(lái)實(shí)現(xiàn)的。當(dāng)pEY模式有效時(shí),同一條指令在2個(gè)處理器單元中都得到執(zhí)行,但每一個(gè)處理器單元中的操作數(shù)不同。
SIMD模式在存儲(chǔ)區(qū)和處理器單元之間的數(shù)據(jù)傳輸也是很有作用的。當(dāng)使用SIMD模式,通過(guò)加倍數(shù)據(jù)帶寬來(lái)保證處理器單元的操作。在SIMD模式,當(dāng)使用DAGs來(lái)傳輸數(shù)據(jù)時(shí),存儲(chǔ)區(qū)每次訪(fǎng)問(wèn)所傳輸?shù)氖莾蓚€(gè)數(shù)據(jù)值。
ADSp21160包括4Mbit的片內(nèi)SRAM,分為兩塊,每一塊2Mbit??梢远x為不同字長(zhǎng)的指令和數(shù)據(jù)存儲(chǔ)。每一個(gè)存儲(chǔ)塊的雙端口結(jié)構(gòu)可以使存儲(chǔ)塊獨(dú)立地被運(yùn)算核處理和I/O處理器訪(fǎng)問(wèn)。21160的存儲(chǔ)區(qū)最大可以容納128K的32bit數(shù)據(jù),或256K的16bit數(shù)據(jù),或85K的48bit指令,或其他混合字長(zhǎng)的數(shù)據(jù),但總和最大為4Mbit。所有存儲(chǔ)區(qū)可以16、32、48、64bit字長(zhǎng)的字訪(fǎng)問(wèn)。外端口支持處理器與片外存儲(chǔ)器及外設(shè)的接口,片外的4G地址空間屬于21160的統(tǒng)一地址空間。
外端口支持同步、異步及同步BURST訪(fǎng)問(wèn)。DMA控制器的操作相對(duì)處理器運(yùn)算核是獨(dú)立和不可見(jiàn)的,即DMA操作可與執(zhí)行指令同時(shí)進(jìn)行。DMA傳輸可以在內(nèi)部存儲(chǔ)區(qū)與外部存儲(chǔ)區(qū)、外圍設(shè)備或主機(jī)之間進(jìn)行。21160共有14個(gè)DMA通道,其中:連接口(linkport)占6個(gè);串口占4個(gè);外端口(external port)占4個(gè)。21160可以通過(guò)DMA傳輸來(lái)下載程序,外圍異步設(shè)備也可以通過(guò)DMA請(qǐng)求/應(yīng)答線(xiàn)來(lái)控制2個(gè)DMA通道。
21160具有許多特點(diǎn)支持多DSp系統(tǒng)。外端口與連接口支持多處理器系統(tǒng)的直接連接,外端口支持統(tǒng)一的地址空間,允許DSp之間互相訪(fǎng)問(wèn)。片內(nèi)具有分布式總線(xiàn)仲裁邏輯,最多支持6片21160和主機(jī)連接。外端口的最大數(shù)據(jù)傳輸率為400MB/s,廣播寫(xiě)信號(hào)可以同時(shí)發(fā)
送到各片21160。6個(gè)連接口提供了另一種方法實(shí)現(xiàn)多處理器之間的通信。連接口的最高傳輸速率為600MB/s。
整個(gè)系統(tǒng)基于VME總線(xiàn)。VME總線(xiàn)系統(tǒng)作為最早的國(guó)際通用開(kāi)放式總線(xiàn),自1981年起,經(jīng)歷了近20年的發(fā)展。其影響不斷擴(kuò)大,功能不斷完善,現(xiàn)已成為性能最好、應(yīng)用最廣的國(guó)際總線(xiàn)標(biāo)準(zhǔn)之一。
根據(jù)設(shè)計(jì)要求,采用了4片ADSp21160。片外共享內(nèi)存SRAM可以被主機(jī)和各片DSp直接訪(fǎng)問(wèn);EpROM用來(lái)存放初始化程序和各片DSp要運(yùn)行的程序,在系統(tǒng)上電后這些程序被下載到各片DSp中;LEDs用來(lái)顯示插件的狀態(tài),如reset、normal等。每一片都有1個(gè)連接口連到插件的前面板,這樣前端采集來(lái)的數(shù)據(jù)就可以很方便地傳輸?shù)蕉郉Sp上,而且也使數(shù)據(jù)的傳輸模式更加靈活。
連接口(linkport)是SHARC系列DSp芯片的一個(gè)特點(diǎn)。ADSp21160共有6個(gè)8bit連接口提供額外的I/O服務(wù)。在100MHz時(shí)鐘下運(yùn)行時(shí),每個(gè)連接口可達(dá)100MB/s。連接口尤其適合多處理器間點(diǎn)到點(diǎn)的連接。連接口可以獨(dú)立地同時(shí)操作,通過(guò)連接口的數(shù)據(jù)封裝成48/32bit字長(zhǎng)后,可以從片內(nèi)存儲(chǔ)區(qū)直接被運(yùn)算核讀取或DMA傳輸。每一個(gè)連接口有它自己的雙緩沖I/O寄存器,數(shù)據(jù)傳輸可編程,硬件由時(shí)鐘/應(yīng)答握手線(xiàn)控制。4片DSp使用連接口實(shí)現(xiàn)DSp間兩兩互連。
21160的主機(jī)接口可以很方便地與標(biāo)準(zhǔn)微處理器總線(xiàn)(16/32bit)相連,幾乎不需要額外硬件。主機(jī)通過(guò)21160的外端口對(duì)其進(jìn)行訪(fǎng)問(wèn),存儲(chǔ)區(qū)地址映射為統(tǒng)一的地址空間。4個(gè)DMA通道可以用于主機(jī)接口,代碼和數(shù)據(jù)傳輸?shù)能浖_(kāi)銷(xiāo)很小,主處理器通過(guò)Hbr、HBG和REDY信號(hào)線(xiàn)與21160進(jìn)行通信,主機(jī)可以對(duì)片內(nèi)存儲(chǔ)區(qū)進(jìn)行直接讀寫(xiě)。
二、開(kāi)發(fā)環(huán)境Tornado
VxWorks的開(kāi)發(fā)環(huán)境是WindRiver公司提供的Tornado。Tornado采用主機(jī)-目標(biāo)機(jī)開(kāi)發(fā)方式,主機(jī)系統(tǒng)可采用運(yùn)行Sun Solaris、Hp-UX以及Win95/NT的工作站或個(gè)人計(jì)算機(jī),VxWorks則運(yùn)行在Intel x86、MC68K、powerpC或SpARC等處理器上。Tornado支持各種主機(jī)-目標(biāo)機(jī)連接方式,如以太網(wǎng)、串行線(xiàn)、在線(xiàn)仿真器和ROM仿真器。
Tornado的體系結(jié)構(gòu)使得許多強(qiáng)有力的開(kāi)發(fā)工具可以用于各種目標(biāo)機(jī)系統(tǒng)和各種主機(jī)-目標(biāo)機(jī)連接方式下,而不受制于目標(biāo)機(jī)的資源和通信機(jī)制。同時(shí)VxWorks具有良好的可剪裁性。因此它適用于各種嵌入式環(huán)境的開(kāi)發(fā),小到資源極其有限的個(gè)人手持式設(shè)備如pDA(personal Digital Assistant);大到多處理機(jī)系統(tǒng),如VME系統(tǒng)。
Tornado可提供一個(gè)直觀的、可視化的、用戶(hù)可擴(kuò)充的開(kāi)發(fā)環(huán)境,極大縮短了開(kāi)發(fā)周期。同時(shí),由于Tornado是一個(gè)完全的開(kāi)放系統(tǒng),使得集成第三方開(kāi)發(fā)工具變得十分容易。
主機(jī)與目標(biāo)機(jī)之間的通信是通過(guò)運(yùn)行各自處理器上的代理進(jìn)程來(lái)完成的,使主機(jī)上的開(kāi)發(fā)工具和目標(biāo)機(jī)的操作系統(tǒng)可以完全脫離相互連接的方式。
為了擺脫主機(jī)-目標(biāo)機(jī)通信帶寬和目標(biāo)機(jī)資源的限制,Tornado將傳統(tǒng)的目標(biāo)機(jī)方的工具遷移到主機(jī)上,如shell、loader和符號(hào)表等。這樣,系統(tǒng)不再需要額外的時(shí)間和帶寬在主機(jī)和目標(biāo)機(jī)之間交換信息,降低了對(duì)連接帶寬的需求,也避免了目標(biāo)機(jī)的資源(如內(nèi)存)被工具或符號(hào)表大量占用,使得應(yīng)用程序擁有更多的系統(tǒng)資源。同時(shí)這種遷移也使得各種主機(jī)開(kāi)發(fā)工具獨(dú)立于目標(biāo)機(jī)存在,從而使同一主機(jī)平臺(tái)上的工具可以用于所有的目標(biāo)機(jī)系統(tǒng)。
作為一個(gè)應(yīng)用軟件開(kāi)發(fā)環(huán)境,Tornado提供了友好的可視化開(kāi)發(fā)界面、交叉編譯環(huán)境、源碼級(jí)調(diào)試工具、目標(biāo)機(jī)命令解釋器和目標(biāo)機(jī)狀態(tài)監(jiān)視器等多種應(yīng)用工具,為應(yīng)用軟件開(kāi)發(fā)提供了一個(gè)高效而可靠的平臺(tái)。
三、程序設(shè)計(jì)
我們選用的DSp開(kāi)發(fā)工具是AD公司提供的VisualDSp。這是一個(gè)集成開(kāi)發(fā)環(huán)境,支持對(duì)SHARC系列DSp芯片的開(kāi)發(fā)。實(shí)時(shí)操作系統(tǒng)VxWorks的開(kāi)發(fā)工具是WindRiver公司的Tornado集成開(kāi)發(fā)工具。VisualDSp可以C語(yǔ)言或匯編語(yǔ)言編
寫(xiě)的DSp代碼,最新版本的VisualDSp還支持C++。它還有1個(gè)優(yōu)點(diǎn),就是可以編譯多片DSp的源代碼,并產(chǎn)生下載文件,這就可以很方便地進(jìn)行多DSp系統(tǒng)的軟件模擬。
ADSp21160陣列的設(shè)計(jì)結(jié)構(gòu)使它既可以構(gòu)成單指令流多數(shù)據(jù)流(SIMD)的并行處理機(jī),也可以構(gòu)成多指令流單數(shù)據(jù)流(MISD)或多指令流多數(shù)據(jù)流(MIMD)的流水線(xiàn)處理機(jī),視用戶(hù)的要求而定。這兩種并行方案的選擇,簡(jiǎn)單來(lái)說(shuō)就是選擇分割數(shù)據(jù)流還是分割處理工序。SIMD方案的原理如圖1所示。
以下介紹我們實(shí)驗(yàn)室承擔(dān)的水聲信號(hào)處理系統(tǒng)。本系統(tǒng)以VME總線(xiàn)為系統(tǒng)開(kāi)發(fā)平臺(tái),前端調(diào)理模件、模數(shù)轉(zhuǎn)換模件和前端控制模件等為VME插件,采用SHARC級(jí)DSp芯片陣列完成聲納信號(hào)實(shí)時(shí)處理,基于嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks及X窗口系統(tǒng)的中央控制和顯示。
圖2是4片DSp的任務(wù)分配圖。從前端采集來(lái)的信號(hào),經(jīng)波束形成和復(fù)解調(diào),再經(jīng)過(guò)窄帶濾波后的信號(hào)分為兩路,一路送去進(jìn)行幅度檢波,一路做頻域處理。幅度檢波就是對(duì)復(fù)信號(hào)求模,根據(jù)信號(hào)幅度判決有無(wú)目標(biāo)存在。頻域處理分兩種情況:當(dāng)發(fā)射信號(hào)為單頻脈沖時(shí),進(jìn)行功率譜估計(jì),然后根據(jù)多普勒頻移估計(jì)目標(biāo)速度;當(dāng)發(fā)射信號(hào)為雙曲調(diào)頻信號(hào)時(shí),進(jìn)行相關(guān)處理。
聲納綜合數(shù)據(jù)處理主要包括主動(dòng)聲納信號(hào)處理和被動(dòng)聲納信號(hào)處理。其中,主動(dòng)聲納信號(hào)處理又根據(jù)發(fā)射信號(hào)的不同,分為非相干處理、相干處理、功率譜處理。聲納綜合數(shù)據(jù)處理主要完成:目標(biāo)自動(dòng)檢測(cè)、目標(biāo)參數(shù)測(cè)定和動(dòng)目標(biāo)跟蹤。
四、操作流水線(xiàn)
操作流水線(xiàn)是模塊內(nèi)數(shù)據(jù)計(jì)算與I/O的流水線(xiàn),物理上表現(xiàn)為CpU與I/O端口的DMA之間的并行。在前端處理中由于數(shù)據(jù)率高,通信開(kāi)銷(xiāo)很大。以通信任務(wù)最為繁重的復(fù)解調(diào)和多普勒補(bǔ)償模塊為例,輸入數(shù)據(jù)率為2Mw/s,輸出數(shù)據(jù)率為4Mw/s,高速連接口Linkport最高速率為100Mw/s,如果采用串行傳輸?shù)脑?huà),通信時(shí)間就將占用60%以上的處理時(shí)間,計(jì)算時(shí)間顯然嚴(yán)重不足。所以必須采用并行執(zhí)行,流程圖如圖3所示。這也是一種異步流水線(xiàn)方式,每次傳送和計(jì)算完成都須要設(shè)置標(biāo)志以通知下一操作。
結(jié)束語(yǔ)
在VxWorks實(shí)時(shí)操作系統(tǒng)下,4片ADSp21160上的程序已經(jīng)通過(guò)模擬輸入和系統(tǒng)測(cè)試。采用SHARC DSp 陣列能夠很好地完成聲納信號(hào)實(shí)時(shí)處理,每一片DSp至少有10%的計(jì)算裕量,基本達(dá)到設(shè)計(jì)要求。
送到各片21160。6個(gè)連接口提供了另一種方法實(shí)現(xiàn)多處理器之間的通信。連接口的最高傳輸速率為600MB/s。
整個(gè)系統(tǒng)基于VME總線(xiàn)。VME總線(xiàn)系統(tǒng)作為最早的國(guó)際通用開(kāi)放式總線(xiàn),自1981年起,經(jīng)歷了近20年的發(fā)展。其影響不斷擴(kuò)大,功能不斷完善,現(xiàn)已成為性能最好、應(yīng)用最廣的國(guó)際總線(xiàn)標(biāo)準(zhǔn)之一。
根據(jù)設(shè)計(jì)要求,采用了4片ADSp21160。片外共享內(nèi)存SRAM可以被主機(jī)和各片DSp直接訪(fǎng)問(wèn);EpROM用來(lái)存放初始化程序和各片DSp要運(yùn)行的程序,在系統(tǒng)上電后這些程序被下載到各片DSp中;LEDs用來(lái)顯示插件的狀態(tài),如reset、normal等。每一片都有1個(gè)連接口連到插件的前面板,這樣前端采集來(lái)的數(shù)據(jù)就可以很方便地傳輸?shù)蕉郉Sp上,而且也使數(shù)據(jù)的傳輸模式更加靈活。
連接口(linkport)是SHARC系列DSp芯片的一個(gè)特點(diǎn)。ADSp21160共有6個(gè)8bit連接口提供額外的I/O服務(wù)。在100MHz時(shí)鐘下運(yùn)行時(shí),每個(gè)連接口可達(dá)100MB/s。連接口尤其適合多處理器間點(diǎn)到點(diǎn)的連接。連接口可以獨(dú)立地同時(shí)操作,通過(guò)連接口的數(shù)據(jù)封裝成48/32bit字長(zhǎng)后,可以從片內(nèi)存儲(chǔ)區(qū)直接被運(yùn)算核讀取或DMA傳輸。每一個(gè)連接口有它自己的雙緩沖I/O寄存器,數(shù)據(jù)傳輸可編程,硬件由時(shí)鐘/應(yīng)答握手線(xiàn)控制。4片DSp使用連接口實(shí)現(xiàn)DSp間兩兩互連。
21160的主機(jī)接口可以很方便地與標(biāo)準(zhǔn)微處理器總線(xiàn)(16/32bit)相連,幾乎不需要額外硬件。主機(jī)通過(guò)21160的外端口對(duì)其進(jìn)行訪(fǎng)問(wèn),存儲(chǔ)區(qū)地址映射為統(tǒng)一的地址空間。4個(gè)DMA通道可以用于主機(jī)接口,代碼和數(shù)據(jù)傳輸?shù)能浖_(kāi)銷(xiāo)很小,主處理器通過(guò)Hbr、HBG和REDY信號(hào)線(xiàn)與21160進(jìn)行通信,主機(jī)可以對(duì)片內(nèi)存儲(chǔ)區(qū)進(jìn)行直接讀寫(xiě)。
二、開(kāi)發(fā)環(huán)境Tornado
VxWorks的開(kāi)發(fā)環(huán)境是WindRiver公司提供的Tornado。Tornado采用主機(jī)-目標(biāo)機(jī)開(kāi)發(fā)方式,主機(jī)系統(tǒng)可采用運(yùn)行Sun Solaris、Hp-UX以及Win95/NT的工作站或個(gè)人計(jì)算機(jī),VxWorks則運(yùn)行在Intel x86、MC68K、powerpC或SpARC等處理器上。Tornado支持各種主機(jī)-目標(biāo)機(jī)連接方式,如以太網(wǎng)、串行線(xiàn)、在線(xiàn)仿真器和ROM仿真器。
Tornado的體系結(jié)構(gòu)使得許多強(qiáng)有力的開(kāi)發(fā)工具可以用于各種目標(biāo)機(jī)系統(tǒng)和各種主機(jī)-目標(biāo)機(jī)連接方式下,而不受制于目標(biāo)機(jī)的資源和通信機(jī)制。同時(shí)VxWorks具有良好的可剪裁性。因此它適用于各種嵌入式環(huán)境的開(kāi)發(fā),小到資源極其有限的個(gè)人手持式設(shè)備如pDA(personal Digital Assistant);大到多處理機(jī)系統(tǒng),如VME系統(tǒng)。
Tornado可提供一個(gè)直觀的、可視化的、用戶(hù)可擴(kuò)充的開(kāi)發(fā)環(huán)境,極大縮短了開(kāi)發(fā)周期。同時(shí),由于Tornado是一個(gè)完全的開(kāi)放系統(tǒng),使得集成第三方開(kāi)發(fā)工具變得十分容易。
主機(jī)與目標(biāo)機(jī)之間的通信是通過(guò)運(yùn)行各自處理器上的代理進(jìn)程來(lái)完成的,使主機(jī)上的開(kāi)發(fā)工具和目標(biāo)機(jī)的操作系統(tǒng)可以完全脫離相互連接的方式。
為了擺脫主機(jī)-目標(biāo)機(jī)通信帶寬和目標(biāo)機(jī)資源的限制,Tornado將傳統(tǒng)的目標(biāo)機(jī)方的工具遷移到主機(jī)上,如shell、loader和符號(hào)表等。這樣,系統(tǒng)不再需要額外的時(shí)間和帶寬在主機(jī)和目標(biāo)機(jī)之間交換信息,降低了對(duì)連接帶寬的需求,也避免了目標(biāo)機(jī)的資源(如內(nèi)存)被工具或符號(hào)表大量占用,使得應(yīng)用程序擁有更多的系統(tǒng)資源。同時(shí)這種遷移也使得各種主機(jī)開(kāi)發(fā)工具獨(dú)立于目標(biāo)機(jī)存在,從而使同一主機(jī)平臺(tái)上的工具可以用于所有的目標(biāo)機(jī)系統(tǒng)。
作為一個(gè)應(yīng)用軟件開(kāi)發(fā)環(huán)境,Tornado提供了友好的可視化開(kāi)發(fā)界面、交叉編譯環(huán)境、源碼級(jí)調(diào)試工具、目標(biāo)機(jī)命令解釋器和目標(biāo)機(jī)狀態(tài)監(jiān)視器等多種應(yīng)用工具,為應(yīng)用軟件開(kāi)發(fā)提供了一個(gè)高效而可靠的平臺(tái)。
三、程序設(shè)計(jì)
我們選用的DSp開(kāi)發(fā)工具是AD公司提供的VisualDSp。這是一個(gè)集成開(kāi)發(fā)環(huán)境,支持對(duì)SHARC系列DSp芯片的開(kāi)發(fā)。實(shí)時(shí)操作系統(tǒng)VxWorks的開(kāi)發(fā)工具是WindRiver公司的Tornado集成開(kāi)發(fā)工具。VisualDSp可以C語(yǔ)言或匯編語(yǔ)言編
寫(xiě)的DSp代碼,最新版本的VisualDSp還支持C++。它還有1個(gè)優(yōu)點(diǎn),就是可以編譯多片DSp的源代碼,并產(chǎn)生下載文件,這就可以很方便地進(jìn)行多DSp系統(tǒng)的軟件模擬。
ADSp21160陣列的設(shè)計(jì)結(jié)構(gòu)使它既可以構(gòu)成單指令流多數(shù)據(jù)流(SIMD)的并行處理機(jī),也可以構(gòu)成多指令流單數(shù)據(jù)流(MISD)或多指令流多數(shù)據(jù)流(MIMD)的流水線(xiàn)處理機(jī),視用戶(hù)的要求而定。這兩種并行方案的選擇,簡(jiǎn)單來(lái)說(shuō)就是選擇分割數(shù)據(jù)流還是分割處理工序。SIMD方案的原理如圖1所示。
以下介紹我們實(shí)驗(yàn)室承擔(dān)的水聲信號(hào)處理系統(tǒng)。本系統(tǒng)以VME總線(xiàn)為系統(tǒng)開(kāi)發(fā)平臺(tái),前端調(diào)理模件、模數(shù)轉(zhuǎn)換模件和前端控制模件等為VME插件,采用SHARC級(jí)DSp芯片陣列完成聲納信號(hào)實(shí)時(shí)處理,基于嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks及X窗口系統(tǒng)的中央控制和顯示。
圖2是4片DSp的任務(wù)分配圖。從前端采集來(lái)的信號(hào),經(jīng)波束形成和復(fù)解調(diào),再經(jīng)過(guò)窄帶濾波后的信號(hào)分為兩路,一路送去進(jìn)行幅度檢波,一路做頻域處理。幅度檢波就是對(duì)復(fù)信號(hào)求模,根據(jù)信號(hào)幅度判決有無(wú)目標(biāo)存在。頻域處理分兩種情況:當(dāng)發(fā)射信號(hào)為單頻脈沖時(shí),進(jìn)行功率譜估計(jì),然后根據(jù)多普勒頻移估計(jì)目標(biāo)速度;當(dāng)發(fā)射信號(hào)為雙曲調(diào)頻信號(hào)時(shí),進(jìn)行相關(guān)處理。
聲納綜合數(shù)據(jù)處理主要包括主動(dòng)聲納信號(hào)處理和被動(dòng)聲納信號(hào)處理。其中,主動(dòng)聲納信號(hào)處理又根據(jù)發(fā)射信號(hào)的不同,分為非相干處理、相干處理、功率譜處理。聲納綜合數(shù)據(jù)處理主要完成:目標(biāo)自動(dòng)檢測(cè)、目標(biāo)參數(shù)測(cè)定和動(dòng)目標(biāo)跟蹤。
四、操作流水線(xiàn)
操作流水線(xiàn)是模塊內(nèi)數(shù)據(jù)計(jì)算與I/O的流水線(xiàn),物理上表現(xiàn)為CpU與I/O端口的DMA之間的并行。在前端處理中由于數(shù)據(jù)率高,通信開(kāi)銷(xiāo)很大。以通信任務(wù)最為繁重的復(fù)解調(diào)和多普勒補(bǔ)償模塊為例,輸入數(shù)據(jù)率為2Mw/s,輸出數(shù)據(jù)率為4Mw/s,高速連接口Linkport最高速率為100Mw/s,如果采用串行傳輸?shù)脑?huà),通信時(shí)間就將占用60%以上的處理時(shí)間,計(jì)算時(shí)間顯然嚴(yán)重不足。所以必須采用并行執(zhí)行,流程圖如圖3所示。這也是一種異步流水線(xiàn)方式,每次傳送和計(jì)算完成都須要設(shè)置標(biāo)志以通知下一操作。
結(jié)束語(yǔ)
在VxWorks實(shí)時(shí)操作系統(tǒng)下,4片ADSp21160上的程序已經(jīng)通過(guò)模擬輸入和系統(tǒng)測(cè)試。采用SHARC DSp 陣列能夠很好地完成聲納信號(hào)實(shí)時(shí)處理,每一片DSp至少有10%的計(jì)算裕量,基本達(dá)到設(shè)計(jì)要求。