版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
頁1.系統(tǒng)概述1.1開發(fā)背景近年來中國經(jīng)濟(jì)的高速發(fā)展,各地區(qū)的車輛數(shù)量增長迅速,由此各地的小區(qū)的機(jī)動車檔案資料增加迅速。隨著檔案資料的增加,工作人員勞動強(qiáng)度增大,檔案資料的存儲、查詢等工作與辦公高效率的要求矛盾日漸突出。本論文所介紹的便是一個小區(qū)車輛管理系統(tǒng),以規(guī)范對車輛信息的管理,提高管理效率。在小區(qū)車輛管理過程中,涉及車位管理的信息化、車主管理的信息化、繳費(fèi)信息管理的信息化,做好信息化工作利于提高小區(qū)車輛的管理效率,維護(hù)小區(qū)車輛的秩序。要維護(hù)小區(qū)車輛的秩序,既要有好的硬件環(huán)境,同時也要有好的客戶服務(wù),而要實(shí)現(xiàn)這些目標(biāo)的辦法就是信息化。本選題,針對小區(qū)車輛管理過程中的一些信息,對其進(jìn)行信息化處理。當(dāng)前,在小區(qū)車輛管理過程中,有許多信息需要處理和管理。甚至尚未使用計(jì)算機(jī)進(jìn)行信息處理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于管理過程中的很多信息都是用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改?;谶@此問題,我認(rèn)為有必要建立一個停車場管理系統(tǒng),使停車場管理工作規(guī)范化,系統(tǒng)化,程序化,避免停車場管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改停車場情況。在小區(qū)車輛管理過程中,主要涉及公共車位信息、私有車位信息、出租車位信息、車主信息、車主繳費(fèi)信息,通過對以上各個環(huán)節(jié)的信息化,提高檔案的規(guī)范化管理,為以后的查詢、統(tǒng)計(jì)作下基礎(chǔ)。1.2開發(fā)環(huán)境前臺應(yīng)用程序開發(fā)使用的是MicrosoftVisualC++6.0,后臺數(shù)據(jù)庫的建立和維護(hù)使用的是SQLServer2008。(1)MicrosoftVisualC++6.0特點(diǎn)VisualC++6.0,簡稱VC或者VC6.0,是微軟推出的一款C++編譯器,將“高級語言”翻譯為“機(jī)器語言(低級語言)”的程序。VisualC++是一個功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出VisualC++1.0后,隨著其新版本的不斷問世,VisualC++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。雖然微軟公司推出了VisualC++.NET(VisualC++7.0),但它的應(yīng)用的很大的局限性,只適用于Windows2000、WindowsXP和WindowsNT4.0。所以實(shí)際中,更多的是以VisualC++6.0為平臺。VisualC++6.0不僅是一個C++編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrateddevelopmentenvironment,IDE)。VisualC++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lassWizard等開發(fā)工具。這些組件通過一個名為DeveloperStudio的組件集成為和諧的開發(fā)環(huán)境。(2)SQLServer2008SQL是英文StructuredQueryLanguage的縮寫,意思為結(jié)構(gòu)化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL語言標(biāo)準(zhǔn)。SQLServer2008為我們帶來了一些更強(qiáng)大的審計(jì)功能;或許其中最重要的一個就是變更數(shù)據(jù)捕獲(CDC)。使用CDC,你能夠捕獲和記錄發(fā)生在你數(shù)據(jù)庫中的任意INSERT、UPDATE或DELETE等操作。一旦你為一個數(shù)據(jù)庫啟用了CDC功能,你可以對該數(shù)據(jù)庫中的一個表進(jìn)行跟蹤記錄。SQLServer會記錄對這些表進(jìn)行修改的信息,并將其寫到啟用CDC功能的數(shù)據(jù)庫的某些系統(tǒng)表中。當(dāng)一個用戶針對你的數(shù)據(jù)表運(yùn)行INSERT、UPDATE或UPDATE操作時,相關(guān)操作事務(wù)和相關(guān)數(shù)據(jù)就會被記錄下來。對于INSERT來說,插入的數(shù)值會被記錄,而對于DELETE來說,被刪除的值同樣也會被記錄。UPDATE的操作略微有點(diǎn)不同。更新前后的數(shù)據(jù)都會被記錄。通過使用CDC功能,你不僅可以知道對數(shù)據(jù)進(jìn)行了何種操作,你還可以恢復(fù)因誤操作或錯誤的程序所造成的丟失數(shù)據(jù)。這是SQLServer非常強(qiáng)大的一個新增功能,它為數(shù)據(jù)審計(jì)提供了一個非常有用的功能,在此以前,我們一般要借助于第三方工具來實(shí)現(xiàn)這一功能。MicrosoftSQLServer2008為加密和密鑰管理提供了一個全面的解決方案。為了滿足不斷發(fā)展的對數(shù)據(jù)中心的信息的更強(qiáng)安全性的需求,公司投資給供應(yīng)商來管理公司內(nèi)的安全密鑰。MicrosoftSQLServer2008通過支持第三方密鑰管理和硬件安全模塊(HSM)產(chǎn)品為這個需求提供了很好的支持。這個平臺有以下特點(diǎn):可信任的——使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。高效的——使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時間和成本。智能的——提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀察和信息。2.需求分析2.1系統(tǒng)需求分析隨著國家經(jīng)濟(jì)間建設(shè)的不斷發(fā)展,國有綜合實(shí)力的不斷提高,小汽車已經(jīng)逐步走進(jìn)千家萬戶。面對汽車時代的來臨,住宅小區(qū)對于智能停車場要求也將進(jìn)入一個全新的物業(yè)管理模式。小區(qū)停車場設(shè)施的建設(shè)、管理是住宅小區(qū)規(guī)劃管理者日益面臨的一個重要課題。為了滿足小區(qū)有車位管理的需求,我們嘗試著設(shè)計(jì)了一個簡潔穩(wěn)定實(shí)用的小區(qū)車位管理系統(tǒng)。2.1.1需要對小區(qū)車位進(jìn)行屬性劃分系統(tǒng)應(yīng)當(dāng)能夠顯示車位車主的基本信息,并對其進(jìn)行添加、修改、查詢。對于車位的車主,應(yīng)當(dāng)有其完整的車位信息:車位編號,車位屬性,車主姓名,地址,電話,手機(jī),車牌號,車型。這些信息在售出車位時由管理人員通過添加功能錄入,添加后,車位信息及時更新,當(dāng)要對車位車主信息進(jìn)行修改時,要用到修改功能;當(dāng)需要知道具體的車主信息時,可以根據(jù)姓名與車位編號進(jìn)行查詢。車位車主信息顯示、添加、修改、查詢功能由系統(tǒng)的固定模塊實(shí)現(xiàn)。2.1.2車位信息顯示、添加、修改、查詢功能系統(tǒng)應(yīng)當(dāng)能夠顯示車位車主的基本信息,并對其進(jìn)行添加、修改、查詢。對于車位的車主,應(yīng)當(dāng)有其完整的車位信息:車位編號,車位屬性,車主姓名,地址,電話,手機(jī),車牌號,車型。這些信息在售出車位時由管理人員通過添加功能錄入,添加后,車位信息及時更新,當(dāng)要對車位車主信息進(jìn)行修改時,要用到修改功能;當(dāng)需要知道具體的車主信息時,可以根據(jù)姓名與車位編號進(jìn)行查詢。車位車主信息顯示、添加、修改、查詢功能由系統(tǒng)的固定模塊實(shí)現(xiàn)。2.1.3繳費(fèi)信息顯示、添加、修改、查詢功能系統(tǒng)應(yīng)當(dāng)根據(jù)車位車主信息,記錄其繳費(fèi)信息。小型數(shù)據(jù)庫(車位信息表、車主信息表、繳費(fèi)信息表)的設(shè)計(jì),表格形式可修改、添加、查詢車位信息和車位業(yè)主信息:車位編號、車位屬性、顯示車位業(yè)主簡要信息等。車主和繳費(fèi)信息模塊主要以表格形式顯示出車位業(yè)主信息:姓名、住址、電話、手機(jī)、車牌號、車型等并可修改、添加、查詢,以及顯示繳費(fèi)信息:開始時間、每季度是否繳費(fèi)、繳費(fèi)總數(shù)等。車主和繳費(fèi)信息顯示、添加、修改、查詢功能由系統(tǒng)的固定模塊實(shí)現(xiàn)。2.1.4車位圖顯示功能系統(tǒng)應(yīng)當(dāng)能夠顯示小區(qū)平面圖,當(dāng)鼠標(biāo)左鍵點(diǎn)擊某個車位時,應(yīng)當(dāng)顯示出該車位的車主和繳費(fèi)信息,主要顯示車位圖、車位編號、車位屬性、車位業(yè)主信息等,并連接到小型數(shù)據(jù)庫。系統(tǒng)應(yīng)當(dāng)根據(jù)需求對小區(qū)車位進(jìn)行屬性劃分。首先應(yīng)將小區(qū)車位劃分為私家車位、公共車位和出租車位三部分。私家車位的特點(diǎn)是使用者固定,交費(fèi)采用季度制。公共車位又可以稱為公用車位,它的特點(diǎn)是使用者不固定,針對臨時性散客服務(wù)。出租車位指私家車位車主向其他人租賃自己的車位。私家車位的車輛總是停放在自己的車位上,而不停放在公共車位和出租車位上。車位中的私家車位和公共車位數(shù)目一般情況下是固定不變的。此功能由系統(tǒng)的固定模塊實(shí)現(xiàn)。2.1.5數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學(xué)與技術(shù)的重要組成部分,是計(jì)算機(jī)數(shù)據(jù)處理與車位管理系統(tǒng)的核心。系統(tǒng)應(yīng)當(dāng)能夠存儲車位信息和繳費(fèi)信息,此功能由數(shù)據(jù)庫實(shí)現(xiàn)。2.2可行性分析目前國內(nèi)外有許多這種類型的軟件,小區(qū)規(guī)劃不一,軟件的功能卻大同小異。公共車位又可以稱為公用車位,它的特點(diǎn)是使用者不固定,針對臨時性散客服務(wù)。出租車位指私家車位車主向其他人租賃自己的車位。私家車位的車輛總是停放在自己的車位上,而不停放在公共車位和出租車位上。車位中的私家車位和公共車位數(shù)目一般情況下是固定不變的。對于小區(qū)業(yè)主,有私家車的,如果停放在小區(qū)那么必須購買車位。軟件系統(tǒng)記錄車位的屬性:出租車位、公共車位、私有車位;記錄車位的信息:車主姓名、地址、車牌號等;記錄繳費(fèi)信息:開始繳費(fèi)時間、最后繳費(fèi)時間、繳費(fèi)總數(shù)等。系統(tǒng)必須可以對相應(yīng)數(shù)據(jù)進(jìn)行添加、查詢、修改。因此,車位信息和繳費(fèi)信息是必須包含的。大學(xué)課程中學(xué)習(xí)了VC編程軟件,MicrosoftVisualC++6.0軟件能夠?qū)崿F(xiàn)車位信息和繳費(fèi)信息的列表顯示。通過對數(shù)據(jù)庫的操作,能夠?qū)崿F(xiàn)數(shù)據(jù)的添加,修改,查詢。所以本軟件系統(tǒng)的開發(fā)是必要的,可行的。2.3數(shù)據(jù)描述由上述分析和根據(jù)對系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程的分析,可畫數(shù)據(jù)流圖2-1所示。車位及車主車位及車主用戶車位圖車主及繳費(fèi)添加顯示車位車主及繳費(fèi)信息查詢添加修改查詢3.概要設(shè)計(jì)3.1數(shù)據(jù)庫的設(shè)計(jì)數(shù)據(jù)庫作為系統(tǒng)的基礎(chǔ),在信息管理系統(tǒng)中占有非常重要的地位,首先要保證其設(shè)計(jì)的合理性,一個設(shè)計(jì)合理的數(shù)據(jù)庫,可以提高數(shù)據(jù)的存儲效率,是對數(shù)據(jù)有效管理的前提條件,保證數(shù)據(jù)的完整和一致,也是系統(tǒng)設(shè)計(jì)的關(guān)鍵。擁有設(shè)計(jì)合理的數(shù)據(jù)庫往往可以起到事半功倍的效果。數(shù)據(jù)庫如果設(shè)計(jì)不當(dāng),系統(tǒng)運(yùn)行當(dāng)中會產(chǎn)生大量的冗余數(shù)據(jù),從而造成數(shù)據(jù)庫的極度膨脹,影響系統(tǒng)的運(yùn)行效率。3.2主要數(shù)據(jù)表結(jié)構(gòu)表3.1車主信息表列名數(shù)據(jù)類型允許null值idVarchar(50)√nameVarchar(50)√addressVarchar(50)√telVarchar(50)√phoneVarchar(50)√carIDVarchar(50)√cartypeVarchar(50)√表3.2車位信息表列名數(shù)據(jù)類型允許null值idinttypeVarchar(50)√numberintownerVarchar(50)√表3.3繳費(fèi)信息表列名數(shù)據(jù)類型允許null值useridintstartVarchar(50)totalVarchar(50)√ispayVarchar(50)√4.詳細(xì)設(shè)計(jì)4.1設(shè)計(jì)目標(biāo)本系統(tǒng)小區(qū)車輛管理系統(tǒng),必須要滿足使用靈活、操作方便等設(shè)計(jì)要求。本系統(tǒng)在設(shè)計(jì)時應(yīng)達(dá)到以下目標(biāo):1、系統(tǒng)界面要美觀友好,操作簡單方便。2、信息查詢靈活、方便、快捷、準(zhǔn)確。3、系統(tǒng)要實(shí)現(xiàn)易安裝性、易維護(hù)性和易操作性。4、系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。5、提高工作效率、降低成本。6、減少工作人員沉重、繁瑣的工作量。7、數(shù)據(jù)計(jì)算自動完成,盡量減少人工干預(yù)。4.2設(shè)計(jì)思想小區(qū)車輛管理系統(tǒng)采用三層結(jié)構(gòu)的設(shè)計(jì)思想,其程序邏輯結(jié)構(gòu)分為用戶界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)存儲層。整個系統(tǒng)在三層結(jié)構(gòu)之上分模塊進(jìn)行分解,利用當(dāng)今流行的C++語言,基于WindowsXP、Access2000、VC6.0為開發(fā)環(huán)境進(jìn)行開發(fā)。用戶界面層主要處理用戶的操作;業(yè)務(wù)邏輯層主要處理用戶操作和數(shù)據(jù)庫之間的連接;數(shù)據(jù)層主要針對數(shù)據(jù)庫信息的處理。在系統(tǒng)中將車位、車主及繳費(fèi)信息等都封裝成相應(yīng)的類,同時每個類都有自己對應(yīng)的集合類和操作類,從而再次提高了對數(shù)據(jù)庫操作的安全性和程序的可擴(kuò)展性。4.3系統(tǒng)主要功能模塊設(shè)計(jì)本系統(tǒng)應(yīng)用有如下功能模塊:(1)小區(qū)車位管理系統(tǒng)——車位管理模塊設(shè)計(jì)與開發(fā)(2)小區(qū)車位管理系統(tǒng)——業(yè)主信息和繳費(fèi)信息模塊(3)小區(qū)車位管理系統(tǒng)——車位圖模塊設(shè)計(jì)與開發(fā)該論文主要關(guān)于小區(qū)車位管理系統(tǒng)——車位管理模塊設(shè)計(jì)與開發(fā),車位管理模塊具有以下功能:對車位進(jìn)行管理,通過設(shè)計(jì)軟件對車位表進(jìn)行表格顯示;在車位表中進(jìn)行修改,查詢和添加車位信息。以上操作都要連接數(shù)據(jù)庫,實(shí)現(xiàn)可視化的對數(shù)據(jù)庫的增加、刪除和修改,方便小區(qū)管理車輛。小型數(shù)據(jù)庫車位信息包括車位編號、車位屬性、姓名、住址、電話、手機(jī)、車牌號、車型,車位狀態(tài)。4.4系統(tǒng)窗體設(shè)計(jì)4.4.1主窗體設(shè)計(jì)(1)運(yùn)行程序進(jìn)入主界面,窗口如下圖圖4-1系統(tǒng)主界面(2)代碼設(shè)計(jì)代碼主要實(shí)現(xiàn)功能:連接所建的小型數(shù)據(jù)庫,單擊擊車位圖中的車位號時顯示車位的具體狀態(tài),包括車位信息(車位編號、車位屬性、姓名、住址、電話、手機(jī)、車牌號、車型),繳費(fèi)信息(開始時間、最后繳費(fèi)時間、欠費(fèi)時間總數(shù)、欠費(fèi)總數(shù))。點(diǎn)擊車位管理,會顯示車位信息表,包括車位編號、車位屬性、姓名、住址、電話、手機(jī)、車牌號、車型、車位狀態(tài)。點(diǎn)擊繳費(fèi)管理,會顯示車主及繳費(fèi)信息表。包括車位編號、車位屬性、姓名、住址、電話、手機(jī)、車牌號、車型、開始時間、最后繳費(fèi)時間、欠費(fèi)時間總數(shù)、欠費(fèi)總數(shù)所有信息。4.4.2車位管理窗口(查詢、添加、修改、刪除)設(shè)計(jì)(1)通過車位圖主界面的車位管理菜單進(jìn)入此窗口,窗口顯示包括車位編號、車位屬性、姓名、住址、電話、手機(jī)、車牌號、車型、車位狀態(tài)等具體信息。由此界面中的各個按鈕可以對數(shù)據(jù)庫中的車位表進(jìn)行添加、修改、刪除、查詢。具體窗口如下圖圖4-2車位管理窗體(2)代碼設(shè)計(jì):voidCParkDlg::DoDataExchange(CDataExchange*pDX){}BOOLCParkDlg::OnInitDialog(){ } UpdateData(false); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE}//搜索車位和業(yè)主信息voidCParkDlg::OnSearchPark(){ }//當(dāng)點(diǎn)擊表格某一行時,觸發(fā)的事件,用于確定新增,修改,刪除按鈕是否可用voidCParkDlg::OnClickTable(NMHDR*pNMHDR,LRESULT*pResult){}通過此代碼實(shí)現(xiàn)車位管理功能。詳細(xì)代碼見附錄A中的車位管理代碼。4.4.3、車位信息查詢窗體設(shè)計(jì)(1)通過搜索按鈕進(jìn)行信息的查詢,在輸入框輸入所要查詢的內(nèi)容(可以選擇搜索方式或者關(guān)鍵字搜索)就可以顯示出想要查詢的內(nèi)容。窗口如下圖圖4-3車位信息查詢窗體(2)代碼設(shè)計(jì)CDatabase::CDatabase(){}CDatabase::~CDatabase(){ }//查詢所有車位信息_RecordsetPtrCDatabase::searchCarParking(){ }//查詢業(yè)主信息_RecordsetPtrCDatabase::searchOwners(CStringid){}//根據(jù)條件查詢,按照車位或者車牌號查詢_RecordsetPtrCDatabase::searchCarParking(CStringkeyword,intcondition){ }//根據(jù)車位ID查詢車位,用于判斷當(dāng)前車位是有用戶boolCDatabase::searchParingById(CStringid){ }通過此代碼實(shí)現(xiàn)車位管理的查詢功能。詳細(xì)代碼見附錄A中的車位信息查詢代碼。4.4.4、車位信息添加窗體設(shè)計(jì)(1)點(diǎn)擊車位管理中的添加按鈕,進(jìn)入添加窗口。在窗口中填入所要填的各種信息,然后保存就可以實(shí)現(xiàn)添加。窗口如下圖圖4-4車位信息添加窗體(2)代碼設(shè)計(jì)//給對應(yīng)車位添加車組信息voidCParkDlg::OnAdd(){ //獲取選中行中的車位號。 //獲取選中行的車位類型 //獲取選中行號 //跳轉(zhuǎn)到新增車主的界面,同時設(shè)置界面需要顯示的車位號和車位類型 //關(guān)閉當(dāng)前窗口,并刷新數(shù)據(jù) }通過此代碼實(shí)現(xiàn)車位管理的添加功能。詳細(xì)代碼見附錄A中的車位信息添加代碼。4.4.5、車位信息修改窗體設(shè)計(jì)(1)點(diǎn)擊車位管理中的修改按鈕,進(jìn)入修改窗口。在窗口中填入所要改的各種信息,然后保存就可以實(shí)現(xiàn)修改功能。窗口如下圖圖4-5車位信息修改窗體(2)代碼設(shè)計(jì)//修改對應(yīng)車位的車主信息所觸發(fā)的事件voidCParkDlg::OnModify(){ //獲取選中的行 //判斷是否選中列表中的值 //跳轉(zhuǎn)到車主的界面,同時設(shè)置界面需要顯示的車位號和車位類型 //關(guān)閉當(dāng)前窗口,并刷新數(shù)據(jù) }通過此代碼實(shí)現(xiàn)車位管理的修改功能。詳細(xì)代碼見附錄A中的車位信息修改代碼。4.4.6、車位信息刪除窗體設(shè)計(jì)(1)在車位管理中選中一行信息,點(diǎn)擊刪除按鈕就會跳出是否刪除的提示框,點(diǎn)擊確定就能刪除想要刪除的信息。圖4-5車位信息刪除窗體(2)代碼設(shè)計(jì)//刪除按鈕響應(yīng)的事件voidCParkDlg::OnDelete(){ //獲取選中的行 //判斷是否選中列表中的值 //關(guān)閉當(dāng)前窗口,并刷新數(shù)據(jù) }通過此代碼實(shí)現(xiàn)車位管理的刪除功能。詳細(xì)代碼見附錄A中的車位信息刪除代碼。5.系統(tǒng)測試5.1測試原則通過單元測試和集成測試,僅能保證軟件開發(fā)的功能得以實(shí)現(xiàn)。但不能確認(rèn)在實(shí)際運(yùn)行時,它是否滿足用戶的需要,是否大量存在實(shí)際使用條件下會被誘發(fā)產(chǎn)生錯誤的隱患。為此,對完成開發(fā)的軟件必須經(jīng)過規(guī)范的系統(tǒng)測試。換個角度說,開發(fā)完成的軟件僅僅是實(shí)際投入使用系統(tǒng)的一個組成部分,需要測試它與系統(tǒng)其他部分配套運(yùn)行的表現(xiàn),以保證在系統(tǒng)各部分協(xié)調(diào)工作的環(huán)境下也能正常工作。系統(tǒng)測試應(yīng)該盡量搭建與用戶實(shí)際使用環(huán)境相同的測試平臺,應(yīng)該保證被測系統(tǒng)的完整性,對臨時沒有的系統(tǒng)設(shè)備部件,也應(yīng)有相應(yīng)的模擬手段。系統(tǒng)測試時,對應(yīng)描述的對象、屬性和各種服務(wù),檢測軟件是否能夠完全“再現(xiàn)”問題空間。系統(tǒng)測試不僅是檢測軟件的整體行為表現(xiàn),從另一個側(cè)面看,也是對軟件開發(fā)設(shè)計(jì)的再確認(rèn)。這里說的系統(tǒng)測試是對測試步驟的抽象描述。它體現(xiàn)的具體測試內(nèi)容包括:①功能測試:測試是否滿足開發(fā)要求,是否能夠提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標(biāo)準(zhǔn)。②強(qiáng)度測試:測試系統(tǒng)的能力最高實(shí)際限度,即軟件在一些超負(fù)荷的情況,功能實(shí)現(xiàn)情況。如要求軟件某一行為的大量重復(fù)、輸入大量的數(shù)據(jù)或大數(shù)值數(shù)據(jù)、對數(shù)據(jù)庫大量復(fù)雜的查詢等。③性能測試:測試軟件的運(yùn)行性能。這種測試常常與強(qiáng)度測試結(jié)合進(jìn)行,需要事先對被測軟件提出性能指標(biāo),如傳輸連接的最長時限、傳輸?shù)腻e誤率、計(jì)算的精度、記錄的精度、響應(yīng)的時限和恢復(fù)時限等。④安全測試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。安全測試時需要設(shè)計(jì)一些測試用例試圖突破系統(tǒng)的安全保密措施,檢驗(yàn)系統(tǒng)是否有安全保密的漏洞。⑤恢復(fù)測試:采用人工的干擾使軟件出錯,中斷使用,檢測系統(tǒng)的恢復(fù)能力,特別是通訊系統(tǒng)?;謴?fù)測試時,應(yīng)該參考性能測試的相關(guān)測試指標(biāo)。⑥可用性測試:測試用戶是否能夠滿意使用。具體體現(xiàn)為操作是否方便,用戶界面是否友好等。⑦安裝/卸載測試等等。5.2測試計(jì)劃1.此小區(qū)車輛管理系統(tǒng)是在老師和自己的努力下完成的。2.此項(xiàng)目是為了節(jié)省政府的時間,提高工作效率,以創(chuàng)造出更大的利益而設(shè)計(jì)的。3.此項(xiàng)目在測試的時候采用的是手動的方法.5.3測試結(jié)果通過以上的測試,最后結(jié)果證明此車輛管理信息管理系統(tǒng)可用,可以為小區(qū)車輛管理節(jié)省大量的人力物力。6.總結(jié)與展望經(jīng)過馮老師耐心細(xì)致的指導(dǎo),及同學(xué)們的幫助,同時翻閱了大量的資料(包括網(wǎng)上資料,書本及學(xué)校的一些相關(guān)資料)經(jīng)過近一個月的努力,設(shè)計(jì)最終告一段落。通過這個課題也使我深深的理解了軟件設(shè)計(jì)的思想懂得如何運(yùn)用所學(xué)的知識建立一個系統(tǒng)。在初步完成代碼的編寫工作后我通過單步調(diào)試,反反復(fù)復(fù),最終解決了這些問題。在這一段時間里,我實(shí)現(xiàn)了從構(gòu)思到編程,到各種功能的具體運(yùn)行,整個過程是艱辛的,但也是快樂的。通過這次畢業(yè)設(shè)計(jì),我體會到了很多,首先要把大學(xué)這四年所學(xué)的東西全部學(xué)以致用,在有限的時間內(nèi),一個人完成一個獨(dú)立的項(xiàng)目,的確是一個極大的挑戰(zhàn)。但是在這個挑戰(zhàn)中我學(xué)習(xí)到了很多,不會的就到圖書管翻閱資料、或者去網(wǎng)上搜索,或者請教老師和同學(xué),特別是老師和同學(xué)們,給予了我很大的幫助。在程序的設(shè)計(jì)中遇到了很多問題,印象深刻的就是開始的時候數(shù)據(jù)庫連接,怎么也連接不上,以為是連接字符串的問題,但是改來改去也沒能解決問題,后來嘗試性的改了DSN的服務(wù)器,才發(fā)現(xiàn)是服務(wù)器連接錯誤,改了之后就運(yùn)行起來了。畢業(yè)設(shè)計(jì)給我?guī)淼牟粌H僅是挑戰(zhàn),更是機(jī)遇,他教會我如何去發(fā)現(xiàn)問題,然后如何解決問題,教我不能放棄,要一直的努力才能得到最后的勝利。通過畢業(yè)設(shè)計(jì)我不僅僅知道了更多的軟件方面的知識,也學(xué)會了一些新的思考方式。我認(rèn)為本系統(tǒng)有如下優(yōu)缺點(diǎn):優(yōu)點(diǎn):本系統(tǒng)具有較強(qiáng)的直觀性,設(shè)計(jì)完整,能較好的體現(xiàn)系統(tǒng)的設(shè)計(jì)構(gòu)思;缺點(diǎn):設(shè)計(jì)的有些方面有點(diǎn)簡單,只解決了主要問題,實(shí)現(xiàn)了主要功能,還有很多地方需進(jìn)一步分析改進(jìn)。致謝畢業(yè)論文是對學(xué)生大學(xué)階段學(xué)習(xí)成績的總結(jié),也是對學(xué)生分析問題、解決問題能力的綜合考察。在本次畢業(yè)設(shè)計(jì)中,我從馮永老師身上學(xué)到了很多東西。老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺。無論在理論上還是在實(shí)踐中,都給與我很大的幫助,在馮老師的幫助下,我的專業(yè)知識和專業(yè)能力達(dá)到了質(zhì)的飛躍。這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝老師耐心的輔導(dǎo)。在此,我在這里再次忠心的感謝馮老師在系統(tǒng)開發(fā)過程中給予我的大力幫助,使我有信心解決難題,一步步的完成畢業(yè)設(shè)計(jì),使得系統(tǒng)能及時開發(fā)完成。同時還要向給予我無微不至的關(guān)心和幫助的學(xué)校各級領(lǐng)導(dǎo)和教師以及同學(xué)表達(dá)最誠摯的謝意。衷心感謝各位評審的批評和指導(dǎo)。參考文獻(xiàn)[1]馮博琴等著。《面向?qū)ο蠓治雠c設(shè)計(jì)》,機(jī)械工業(yè)出版社,2003[2]孫晨霞主編,《數(shù)據(jù)庫應(yīng)用技術(shù)》,北京郵電大學(xué)出版社,2010.8[3]周桂紅主編,《數(shù)據(jù)結(jié)構(gòu)》,北京郵電大學(xué)出版社,2010.8[4]李旗編著,《C#.NET程序設(shè)計(jì)》,機(jī)械工業(yè)出版社,2008.1[5]譚浩強(qiáng)著,《C語言程序設(shè)計(jì)》,清華大學(xué)出版社,2006[6]明日科技著,《SQLServer》從入門到精通,清華大學(xué)出版社,2012.9[7]謝勇.《VisualC++6.0》實(shí)例精通.北京:科學(xué)出版社,2000年[8]丁寶康:《數(shù)據(jù)庫實(shí)用教程》,北京:清華大學(xué)出版社,2004年。[9]周佩德.《數(shù)據(jù)庫原理及應(yīng)用》.北京:電子工業(yè)出版社。2005年[10](美)CJDate.《AnIntroductiontoDATABASESYSTEMS》.北京:機(jī)械工業(yè)出版社,2002年。[11]特別感謝百度知道、CSDN、MSDN、豆丁網(wǎng)等論壇給予的幫助。附錄A(1)車位管理代碼//ParkDlg.cpp:implementationfile//#include"stdafx.h"#include"CarMangement.h"#include"ParkDlg.h"#include"Database.h"#include"AddOwnerDlg.h"#include"ModifyParkDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CParkDlgdialogCParkDlg::CParkDlg(CWnd*pParent/*=NULL*/):CDialog(CParkDlg::IDD,pParent){ //{{AFX_DATA_INIT(CParkDlg) m_condition=-1; m_keyword=_T(""); //}}AFX_DATA_INIT}voidCParkDlg::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CParkDlg) DDX_Control(pDX,IDC_BUTTON3,m_delete); DDX_Control(pDX,IDC_BUTTON2,m_modify); DDX_Control(pDX,IDOK,m_add); DDX_Control(pDX,IDC_LIST1,m_parkList); DDX_Radio(pDX,IDC_RADIO1,m_condition); DDX_Text(pDX,IDC_EDIT1,m_keyword); //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CParkDlg,CDialog)//{{AFX_MSG_MAP(CParkDlg)ON_BN_CLICKED(IDC_BUTTON1,OnSearchPark)ON_NOTIFY(NM_CLICK,IDC_LIST1,OnClickTable)ON_BN_CLICKED(IDOK,OnAdd) ON_BN_CLICKED(IDC_BUTTON2,OnModify) ON_BN_CLICKED(IDC_BUTTON3,OnDelete) ON_WM_PAINT() //}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CParkDlgmessagehandlersBOOLCParkDlg::OnInitDialog(){ CDialog::OnInitDialog(); DWORDstyles=m_parkList.GetExtendedStyle(); m_parkList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); m_parkList.InsertColumn(0,"車位編號",LVCFMT_LEFT,70,0); m_parkList.InsertColumn(1,"車位屬性",LVCFMT_LEFT,70,1); m_parkList.InsertColumn(2,"姓名",LVCFMT_LEFT,60,2); m_parkList.InsertColumn(3,"住址",LVCFMT_LEFT,80,3); m_parkList.InsertColumn(4,"電話",LVCFMT_LEFT,80,4); m_parkList.InsertColumn(5,"手機(jī)",LVCFMT_LEFT,80,5); m_parkList.InsertColumn(6,"車牌號",LVCFMT_LEFT,80,6); m_parkList.InsertColumn(7,"車輛類型",LVCFMT_LEFT,77,7); CDatabasem_database; _RecordsetPtrresult=m_database.searchCarParking(); intm_returnCount=0; _variant_tparkID,parkType,owner,name,address,tel,phone,carID,carType; while(!result->adoEOF) { //得到結(jié)果集中的數(shù)據(jù)值 parkID=result->GetCollect("number"); parkType=result->GetCollect("type"); owner=result->GetCollect("owner"); //將從數(shù)據(jù)庫中讀出的數(shù)據(jù)插入到list中 m_parkList.InsertItem(m_returnCount,""); m_parkList.SetItemText(m_returnCount,0,(LPCTSTR)(_bstr_t)parkID); m_parkList.SetItemText(m_returnCount,1,(LPCTSTR)(_bstr_t)parkType); CStringstrowner; if(owner.vt==VT_NULL||owner.vt==VT_EMPTY) { strowner=""; } else { strowner=(LPCTSTR)(_bstr_t)owner; } //如果對應(yīng)的車位用戶不是空,這需要查詢業(yè)主的信息 if(!strowner.IsEmpty()) { //查詢業(yè)主信息 _RecordsetPtrresultowner=m_database.searchOwners((LPCTSTR)(_bstr_t)strowner); //從結(jié)果集中獲取對應(yīng)值 name=resultowner->GetCollect("name"); address=resultowner->GetCollect("address"); tel=resultowner->GetCollect("tel"); phone=resultowner->GetCollect("phone"); carID=resultowner->GetCollect("carID"); carType=resultowner->GetCollect("carType"); //將數(shù)據(jù)插入到對應(yīng)的表格中 m_parkList.SetItemText(m_returnCount,2,(LPCTSTR)(_bstr_t)name); m_parkList.SetItemText(m_returnCount,3,(LPCTSTR)(_bstr_t)address); m_parkList.SetItemText(m_returnCount,4,(LPCTSTR)(_bstr_t)tel); m_parkList.SetItemText(m_returnCount,5,(LPCTSTR)(_bstr_t)phone); m_parkList.SetItemText(m_returnCount,6,(LPCTSTR)(_bstr_t)carID); m_parkList.SetItemText(m_returnCount,7,(LPCTSTR)(_bstr_t)carType); } m_returnCount++; result->MoveNext(); } UpdateData(false); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE}//搜索車位和業(yè)主信息voidCParkDlg::OnSearchPark(){ UpdateData(); //清空列表中的數(shù)據(jù) m_parkList.DeleteAllItems(); if(m_condition==-1) { AfxMessageBox("請選擇檢索條件"); } else { //初始化數(shù)據(jù)庫 CDatabasesearch; //調(diào)用數(shù)據(jù)庫接口查詢車位信息 _RecordsetPtrresult=search.searchCarParking(m_keyword,m_condition); intm_returnCount=0; _variant_tparkID,parkType,name,owner,address,tel,phone,carID,carType; while(!result->adoEOF) { //得到結(jié)果集中的數(shù)據(jù)值 parkID=result->GetCollect("number"); parkType=result->GetCollect("type"); owner=result->GetCollect("owner"); //將從數(shù)據(jù)庫中讀出的數(shù)據(jù)插入到list中 m_parkList.InsertItem(m_returnCount,""); m_parkList.SetItemText(m_returnCount,0,(LPCTSTR)(_bstr_t)parkID); m_parkList.SetItemText(m_returnCount,1,(LPCTSTR)(_bstr_t)parkType); //判斷是否是空 CStringstrowner; if(owner.vt==VT_NULL||owner.vt==VT_EMPTY) { strowner=""; } else { strowner=(LPCTSTR)(_bstr_t)owner; } //如果對應(yīng)的車位用戶不是空,這需要查詢業(yè)主的信息 if(!strowner.IsEmpty()) { //查詢業(yè)主信息 _RecordsetPtrresultowner=search.searchOwners((LPCTSTR)(_bstr_t)strowner); while(!resultowner->adoEOF) { //從結(jié)果集中獲取對應(yīng)值 name=resultowner->GetCollect("name"); address=resultowner->GetCollect("address"); tel=resultowner->GetCollect("tel"); phone=resultowner->GetCollect("phone"); carID=resultowner->GetCollect("carID"); carType=resultowner->GetCollect("carType"); //將數(shù)據(jù)插入到對應(yīng)的表格中 m_parkList.SetItemText(m_returnCount,2,(LPCTSTR)(_bstr_t)name); m_parkList.SetItemText(m_returnCount,3,(LPCTSTR)(_bstr_t)address); m_parkList.SetItemText(m_returnCount,4,(LPCTSTR)(_bstr_t)tel); m_parkList.SetItemText(m_returnCount,5,(LPCTSTR)(_bstr_t)phone); m_parkList.SetItemText(m_returnCount,6,(LPCTSTR)(_bstr_t)carID); m_parkList.SetItemText(m_returnCount,7,(LPCTSTR)(_bstr_t)carType); resultowner->MoveNext(); } } m_returnCount++; result->MoveNext(); } result->Close(); if(m_returnCount==0) { AfxMessageBox("沒有搜索到相關(guān)內(nèi)容!"); } } }//當(dāng)點(diǎn)擊表格某一行時,觸發(fā)的事件,用于確定新增,修改,刪除按鈕是否可用voidCParkDlg::OnClickTable(NMHDR*pNMHDR,LRESULT*pResult){ CStringparkingID; intcur; //獲取選中的行 for(inti=0;i<m_parkList.GetItemCount();i++) { if(m_parkList.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED) { //獲取選中行中的車位號。 parkingID=m_parkList.GetItemText(i,0); //獲取選中行號 cur=i; } } CDatabasesearch; boolresult=true; if(!parkingID.IsEmpty()) { result=search.searchParingById(parkingID); } else { return; } if(result) { m_add.EnableWindow(false); m_modify.EnableWindow(true); m_delete.EnableWindow(true); } else { m_modify.EnableWindow(false); m_delete.EnableWindow(false); m_add.EnableWindow(true); }}車位信息查詢代碼//Database.cpp:implementationoftheCDatabaseclass.////////////////////////////////////////////////////////////////////////#include"stdafx.h"#include"CarMangement.h"#include"Database.h"#ifdef_DEBUG#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#definenewDEBUG_NEW#endif////////////////////////////////////////////////////////////////////////Construction/Destruction//////////////////////////////////////////////////////////////////////CDatabase::CDatabase(){ //CoInitialize是Windows提供的API函數(shù),用來告訴Windows以單線程的方式創(chuàng)建com對象。 //應(yīng)用程序調(diào)用com庫函數(shù)(除CoGetMalloc和內(nèi)存分配函數(shù))之前必須初始化com庫。 ::CoInitialize(NULL); HRESULThr; hr=m_pConnection.CreateInstance(_uuidof(Connection)); if(FAILED(hr)) { ::AfxMessageBox("Connection實(shí)例失敗!"); } m_pCommand.CreateInstance(_uuidof(Command)); m_pRecord.CreateInstance(_uuidof(Recordset)); try { _bstr_tstr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;DataSource=PC-20130725DTRH;InitialCatalog=CarMangement;uid=sa;pwd=hutao19901105"; hr=m_pConnection->Open(str,"","",adModeUnknown); } catch(_com_errore) { ::AfxMessageBox(e.Description()); }}CDatabase::~CDatabase(){ }//查詢所有車位信息_RecordsetPtrCDatabase::searchCarParking(){ _bstr_tsearchSql="select*fromparking"; m_pRecord=m_pConnection->Execute(searchSql,NULL,adCmdText); returnm_pRecord;}//查詢業(yè)主信息_RecordsetPtrCDatabase::searchOwners(CStringid){ _bstr_tsearchSql="select*fromownerswhereid='"+id+"'"; m_pRecord=m_pConnection->Execute(searchSql,NULL,adCmdText); returnm_pRecord;}//根據(jù)條件查詢,按照車位或者車牌號查詢_RecordsetPtrCDatabase::searchCarParking(CStringkeyword,intcondition){ _bstr_tsearchSql="select*fromparkingwhereidlike'%"+keyword+"%'"; if(condition==1) { searchSql="select*fromparkingwheretypelike'%"+keyword+"%'"; } m_pRecord=m_pConnection->Execute(searchSql,NULL,adCmdText); returnm_pRecord;}//根據(jù)車位ID查詢車位,用于判斷當(dāng)前車位是有用戶boolCDatabase::searchParingById(CStringid){ boolisExist; //構(gòu)造sql語句 _bstr_tsearchSql="select*fromparkingwhereid='"+id+"'"; m_pRecord=m_pConnection->Execute(searchSql,NULL,adCmdText); _variant_towner; owner=m_pRecord->GetCollect("owner"); //判斷車位是又有對應(yīng)的業(yè)主 if(owner.vt==VT_EMPTY||owner.vt==VT_NULL) { isExist=false; } else isExist=true; returnisExist;}車位信息添加代碼//給對應(yīng)車位添加車組信息voidCParkDlg::OnAdd(){ CStringparkingID,parkingType; intcur; //獲取選中的行 for(inti=0;i<m_parkList.GetItemCount();i++) { if(m_parkList.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED) { //獲取選中行中的車位號。 parkingID=m_parkList.GetItemText(i,0); //獲取選中行的車位類型 parkingType=m_parkList.GetItemText(i,1); //獲取選中行號 cur=i; } } //判斷是否選中列表中的值 if(parkingID.IsEmpty()) { AfxMessageBox("沒有選擇行"); } else { //跳轉(zhuǎn)到新增車主的界面,同時設(shè)置界面需要顯示的車位號和車位類型 CAddOwnerDlgaddOwnerdlg; addOwnerdlg.m_parkingID=parkingID; addOwnerdlg.m_parkingType=parkingType; addOwnerdlg.DoModal(); //關(guān)閉當(dāng)前窗口,并刷新數(shù)據(jù) EndDialog(IDD_DIALOG_CARMAN); CParkDlgnewDlg; newDlg.DoModal(); }車位信息修改代碼//修改對應(yīng)車位的車主信息所觸發(fā)的事件voidCParkDlg::OnModify(){ CStringparkingID,parkingType,name,address,tel,phone,carID,carType; intcur; //獲取選中的行 for(inti=0;i<m_parkList.GetItemCount();i++) { if(m_parkList.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED) { //獲取選中行中的車位號。 parkingID=m_parkList.GetItemText(i,0); //獲取選中行的車位類型 parkingType=m_parkList.GetItemText(i,1); name=m_parkList.GetItemText(i,2); address=m_parkList.GetItemText(i,3); tel=m_parkList.GetItemText(i,4); phone=m_parkList.GetItemText(i,5); carID=m_parkList.GetItemText(i,6); carType=m_parkList.GetItemText(i,7); //獲取選中行號 cur=i; } } //判斷是否選中列表中的值 if(parkingID.IsEmpty()) { AfxMessageBox("沒有選擇行"); } else { //跳轉(zhuǎn)到新增車主的界面,同時設(shè)置界面需要顯示的車位號和車位類型 CModifyParkDlgmodifydlg; modifydlg.m_parkingID=parkingID; modifydlg.m_parkingType=parkingType; modifydlg.m_name=name; modifydlg.m_address=address; modifydlg.m_tel=tel; modifydlg.m_phone=phone; modifydlg.m_carID=carID; modifydlg.m_carType=carType; modifydlg.DoModal(); //關(guān)閉當(dāng)前窗口,并刷新數(shù)據(jù) EndDialog(IDD_DIALOG_CARMAN); CParkDlgnewDlg; newDlg.DoModal(); } }車位信息刪除代碼//刪除按鈕響應(yīng)的事件voidCParkDlg::OnDelete(){ CStringparkingID,parkingType; intcur; //獲取選中的行 for(inti=0;i<m_parkList.GetItemCount();i++) { if(m_parkList.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED) { //獲取選中行中的車位號。 parkingID=m_parkList.GetItemText(i,0); //獲取選中行的車位類型 parkingType=m_parkList.GetItemText(i,1); //獲取選中行號 cur=i; } } //判斷是否選中列表中的值 if(parkingID.IsEmpty()) { AfxMessageBox("沒有選刪除的信息"); } else { MessageBox("確定刪除?","確認(rèn)信息框",MB_OKCANCEL); //初始化數(shù)據(jù)庫對象 CDatabasem_dataBase; boolresult=m_dataBase.delOwnerInfo(parkingID); if(result) { MessageBox("刪除成功","提示信息框",MB_OK); //m_parkList.DeleteItem(cur); //關(guān)閉當(dāng)前窗口,并刷新數(shù)據(jù) EndDialog(IDD_DIALOG_CARMAN); CParkDlgnewDlg; newDlg.DoModal(); } else { MessageBox("刪除失敗","提示信息框",MB_OK); } } }voidCParkDlg::OnPaint(){ // //給窗體添加背景 // CPaintDCdc(this); CRectrc; GetClientRect(&rc); CDCdcMem; dcMem.CreateCompatibleDC(&dc); CBitmapbmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP2); BITMAPbitmap; bmpBackground.GetBitmap(&bitmap); CBitmap*pbmpPri=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rc.Width(),rc.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);}本科畢業(yè)設(shè)計(jì)任務(wù)書學(xué)部:教師姓名:職稱:年月日專業(yè)名稱計(jì)算機(jī)科學(xué)與技術(shù)設(shè)計(jì)題目小區(qū)車位管理系統(tǒng)——車位管理模塊設(shè)計(jì)與開發(fā)
題目來源C類設(shè)計(jì)內(nèi)容:近年來中國經(jīng)濟(jì)的高速發(fā)展,各地區(qū)的車輛數(shù)量增長迅速,由此各地的小區(qū)的機(jī)動車檔案資料增加迅速。隨著檔案資料的增加,工作人員勞動強(qiáng)度增大,檔案資料的存儲、查詢等工作與辦公高效率的要求矛盾日漸突出。本論文所介紹的便是一個小區(qū)車輛管理系統(tǒng),以規(guī)范對車輛信息的管理,提高管理效率。在小區(qū)車輛管理過程中,涉及車位管理的信息化、車主管理的信息化、繳費(fèi)信息管理的信息化,做好信息化工作利于提高小區(qū)車輛的管理效率,維護(hù)小區(qū)車輛的秩序。要維護(hù)小區(qū)車輛的秩序,既要有好的硬件環(huán)境,同時也要有好的客戶服務(wù),而要實(shí)現(xiàn)這些目標(biāo)的辦法就是信息化。本選題,針對小區(qū)車輛管理過程中的一些信息,對其進(jìn)行信息化處理。在小區(qū)車輛管理過程中,主要涉及公共車位信息、私有車位信息、出租車位信息、車主信息、車主繳費(fèi)信息,通過對以上各個環(huán)節(jié)的信息化,提高檔案的規(guī)范化管理,為以后的查詢、統(tǒng)計(jì)作下基礎(chǔ)。設(shè)計(jì)要求及主要技術(shù)參數(shù):本系統(tǒng)有如下功能模塊:(1)小區(qū)車位管理系統(tǒng)——車位管理模塊設(shè)計(jì)與開發(fā)(2)小區(qū)車位管理系統(tǒng)——業(yè)主信息和繳費(fèi)信息模塊(3)小區(qū)車位管理系統(tǒng)——車位圖模塊設(shè)計(jì)與開發(fā)其中,車位管理模塊具有以下功能:對車位進(jìn)行管理,通過設(shè)計(jì)軟件對車位表進(jìn)行表格顯示;在車位表中進(jìn)行修改,查詢和添加車位信息。車位信息包括車位編號、車位屬性、姓名、住址、電話、手機(jī)、車牌號、車型,車位狀態(tài)。以上操作都要連接數(shù)據(jù)庫,實(shí)現(xiàn)可視化的對數(shù)據(jù)庫的增加、刪除和修改,方便小區(qū)管理車輛。軟件環(huán)境如下:操作系統(tǒng)Windows2000Server/WindowsXP數(shù)據(jù)庫MicrosoftSQLServer2008開發(fā)語言C++
進(jìn)度安排:3月11日-3月23日:做畢業(yè)設(shè)計(jì)的準(zhǔn)備工作,進(jìn)行資料收集,充分利用網(wǎng)絡(luò)并搜集文獻(xiàn)、期刊等資料,學(xué)習(xí)C#編程語言,以及數(shù)據(jù)庫方面的知識。3月24日-4月1日:進(jìn)行系統(tǒng)分析,對系統(tǒng)進(jìn)行需求分析、可行性分析,明確各模塊的功能,概要設(shè)計(jì)。4月2日-4月20日:進(jìn)行詳細(xì)設(shè)計(jì),并編寫系統(tǒng)各模塊的程序代碼。4月21日-4月30日:系統(tǒng)測試及究誤改正.即對系統(tǒng)進(jìn)行編輯測試,以便勘誤出錯誤及不完善的地方環(huán)節(jié)進(jìn)行完善開發(fā),對不盡如人意的環(huán)節(jié)進(jìn)行改善,使系統(tǒng)更加易于使用。5月1日-5月10日:系統(tǒng)軟件的進(jìn)一步完善。5月11日—6月3日:開始著手準(zhǔn)備論文,設(shè)計(jì),寫作,完成論文。并且準(zhǔn)備畢業(yè)設(shè)計(jì)答辯所需要的資料等,準(zhǔn)備答辯。專家意見:題目明確、可行,同意下達(dá)任務(wù)。專家簽字:年月日學(xué)院意見:(是否同意立題)院長:年月日本科畢業(yè)設(shè)計(jì)開題報(bào)告題目:小區(qū)車位管理系統(tǒng)--車位管理模塊設(shè)計(jì)與開發(fā)學(xué)部:學(xué)生姓名:專業(yè):班級學(xué)號:指導(dǎo)教師姓名:指導(dǎo)教師職稱:年月日學(xué)生姓名專業(yè)班級學(xué)號1指導(dǎo)教師職稱所在學(xué)部論文名稱小區(qū)車位管理系統(tǒng)-車位管理模塊設(shè)計(jì)與開發(fā)選題依據(jù):近年來中國經(jīng)濟(jì)的高速發(fā)展,各地區(qū)的車輛數(shù)量增長迅速,由此各地的小區(qū)的機(jī)動車檔案資料增加迅速。隨著檔案資料的增加,工作人員勞動強(qiáng)度增大,檔案資料的存儲、查詢等工作與辦公高效率的要求矛盾日漸突出。本論文所介紹的便是一個小區(qū)車輛管理系統(tǒng),以規(guī)范對車輛信息的管理,提高管理效率。當(dāng)前,在小區(qū)車輛管理過程中,有許多信息需要處理和管理。甚至尚未使用計(jì)算機(jī)進(jìn)行信息處理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于管理過程中的很多信息都是用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改?;谶@此問題,我認(rèn)為有必要建立一個停車場管理系統(tǒng),使停車場管理工作規(guī)范化,系統(tǒng)化,程序化,避免停車場管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改停車場情況。從工作就業(yè)方向的角度考慮,我把此次畢業(yè)設(shè)計(jì)當(dāng)做自己就業(yè)前得一次檢測和總結(jié),使自己充分認(rèn)識自己,再加上指導(dǎo)老師的輔助,相信此次實(shí)踐會對自己起到很大的引導(dǎo)幫助作用,對自己以后的工作來說,會產(chǎn)生積極的明顯的催化作用。文獻(xiàn)綜述:1.開發(fā)背景近年來中國經(jīng)濟(jì)的高速發(fā)展,各地區(qū)的車輛數(shù)量增長迅速,由此各地的小區(qū)的機(jī)動車檔案資料增加迅速。隨著檔案
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南郴州市百??毓杉瘓F(tuán)有限公司招聘9人參考考試題庫附答案解析
- 蔬菜生產(chǎn)基地制度
- 農(nóng)業(yè)生產(chǎn)技術(shù)指導(dǎo)制度
- 分類生產(chǎn)現(xiàn)場管理制度
- 科研生產(chǎn)實(shí)驗(yàn)室管理制度
- 2026年濰坊青州市事業(yè)單位公開招聘綜合類崗位人員(32人)參考考試試題附答案解析
- 生產(chǎn)成包梯級制度
- 2026上半年黑龍江省衛(wèi)生健康委員會直屬事業(yè)單位招聘125人備考考試試題附答案解析
- 鎮(zhèn)建立農(nóng)產(chǎn)品生產(chǎn)制度
- 無視項(xiàng)目生產(chǎn)管理制度
- 防寒防凍防滑安全培訓(xùn)課件
- 駕校教練員安全知識培訓(xùn)課件
- 《危險化學(xué)品安全法》解讀與要點(diǎn)
- 電力網(wǎng)絡(luò)安全培訓(xùn)教學(xué)課件
- 2025年宜昌市“招才興業(yè)”市直事業(yè)單位人才引進(jìn)47人·重慶大學(xué)站筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 上海市徐匯區(qū)上海中學(xué)2025-2026學(xué)年高三上學(xué)期期中考試英語試題(含答案)
- 2025秋滬科版(五四制)(新教材)初中科學(xué)六年級第一學(xué)期知識點(diǎn)及期末測試卷及答案
- 孕婦貧血教學(xué)課件
- 5年(2021-2025)山東高考生物真題分類匯編:專題17 基因工程(解析版)
- 新華資產(chǎn)招聘筆試題庫2025
- 智能化項(xiàng)目驗(yàn)收流程指南
評論
0/150
提交評論