版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C #課程設(shè)計(jì)</b></p><p> 題 目 快遞單打印系統(tǒng) </p><p> 院(系) 信息工程學(xué)院 </p><p> 專(zhuān) 業(yè) 13 軟件工程一班
2、</p><p><b> 目 錄</b></p><p> 摘 要 ……………………………………………………………………………………………III</p><p> 緒論……………………………………………………………………………………1</p><p> 1.1 開(kāi)發(fā)背景………………………………………………………
3、……………………2</p><p> 1.2 系統(tǒng)目標(biāo)……………………………………………………………………………2</p><p> 1.3 開(kāi)發(fā)方法 ……………………………………………………………………2</p><p> 1.3.1 軟件定義階段…………………………………………………………………2</p><p> 1.3.2 軟
4、件開(kāi)發(fā)階段…………………………………………………………………2</p><p> 1.3.3.運(yùn)行維護(hù)階段…………………………………………………………………3</p><p> 1.4 開(kāi)發(fā)工具……………………………………………………………………………3</p><p> 1.4.1 SQL Sever數(shù)據(jù)庫(kù)系統(tǒng)………………………………………………………3&l
5、t;/p><p> 1.4.2 GDI+圖形設(shè)備接口……………………………………………………………3</p><p> 1.4.3 Visual C#.NET編程語(yǔ)言……………………………………………………4</p><p> 系統(tǒng)分析………………………………………………………………………………4</p><p> 2.1 需求分析………
6、……………………………………………………………………4</p><p> 2.2 功能分析……………………………………………………………………………5</p><p> 2.3 系統(tǒng)結(jié)構(gòu)框圖……………………………………………………………………5</p><p> 2.4 系統(tǒng)流程圖……………………………………………………………………………5</p>
7、<p> 2.5 系統(tǒng)開(kāi)發(fā)環(huán)境………………………………………………………6</p><p> 數(shù)據(jù)庫(kù)分析與設(shè)置………………………………………………………………</p><p> 3.1 數(shù)據(jù)庫(kù)分析………………………………………………………………</p><p> 3.2.數(shù)據(jù)庫(kù)概念設(shè)計(jì)………………………………………………………………</p
8、><p> 3.3 數(shù)據(jù)表邏輯結(jié)構(gòu)設(shè)計(jì)………………………………………………………………</p><p> 系統(tǒng)設(shè)計(jì)與功能實(shí)現(xiàn)………………………………………………………………</p><p> 4.1操作類(lèi) ………………………………………………………………………………</p><p> 4.2 GDI+繪圖 …………………………………………
9、………………………………</p><p> 4.3 系統(tǒng)登錄模塊 ………………………………………………………………</p><p> 4.4 主窗體菜單欄設(shè)計(jì) ……………………………………………………………</p><p> 4.5 快遞單設(shè)置模塊……………………………………………………………</p><p> 4.5.1 快遞單基本
10、信息模塊………………………………………………………</p><p> 4.5.2 設(shè)計(jì)快遞單模板………………………………………………………………</p><p> 4.6 操作員維護(hù)模塊………………………………………………………………</p><p> 4.7 修改摸嗎模塊………………………………………………………………………</p><p
11、> 4.8 快遞單查詢(xún)模塊……………………………………………………………………</p><p> 4.8.1 條形碼的概述………………………………………………………………</p><p> 4.9 快遞單打印模塊………………………………………………………………</p><p> 系統(tǒng)測(cè)試………………………………………………………………………………<
12、;/p><p> 5.1 系統(tǒng)測(cè)試的意義 …………………………………………………………………</p><p> 5.2 測(cè)試項(xiàng)目………………………………………………………………………………</p><p> 5.3 初始化快遞單模板………………………………………………………………</p><p> 5.4 系統(tǒng)測(cè)試內(nèi)容 ………………………
13、………………………………………………</p><p> 結(jié)束語(yǔ)………………………………………………………………………………………………</p><p> 致謝…………………………………………………………………………………………………</p><p> 參考文獻(xiàn)……………………………………………………………………………………………</p><
14、p> 附錄……………………………………………………………………………………………</p><p><b> 前 言</b></p><p> 20世紀(jì)90年代以來(lái),隨著我國(guó)經(jīng)濟(jì)發(fā)展水平的提高,社會(huì)經(jīng)濟(jì)活動(dòng)也日趨頻繁,</p><p> 各種文件、包裹以至后來(lái)的高價(jià)值、小批量、個(gè)性化的貨物,都成為了快遞寄托的內(nèi)容,快遞產(chǎn)業(yè)也因此有著
15、巨大的市場(chǎng)規(guī)模,可觀的發(fā)展?jié)摿?。近年?lái),隨著互聯(lián)網(wǎng)的普及,我國(guó)電子商務(wù)蓬勃發(fā)展并且日益成熟,各種網(wǎng)上交易也日益頻繁,“網(wǎng)購(gòu)”成為了當(dāng)今社會(huì)的又一個(gè)新詞,快遞行業(yè)與網(wǎng)購(gòu)緊密相連,對(duì)促進(jìn)國(guó)民經(jīng)濟(jì)的發(fā)展起著舉足輕重的作用。如今的市場(chǎng),快遞業(yè)務(wù)成為了電子商務(wù)的重要組成部分,是電子商務(wù)實(shí)現(xiàn)實(shí)物配送的主要途徑。我國(guó)每年快遞業(yè)務(wù)量約20億件,如何更好地運(yùn)作物流咨詢(xún)成為引人關(guān)注的話題,快遞單打印軟件倍受青睞。隨著快遞單打印軟件的普及,快遞打印工作也可以
16、變得很簡(jiǎn)單。</p><p> 目前,在國(guó)內(nèi)使用較多的是小灰狼快遞單打印軟件,它是一款專(zhuān)業(yè)的大眾的快遞單打印及管理軟件,小灰狼快遞單打印軟件是一款專(zhuān)業(yè)的大眾的快遞單打印及管理軟件。它支持包括EMS郵政、 EMS國(guó)際、UPS、DHL、Fedex、TNT、中速?lài)?guó)際 、順豐、申通、申通淘寶單、圓通、DDS、全日通、能達(dá)、越豐、彪記、盈飛、郵政包裹單、韻達(dá)、郵政物流、中誠(chéng)、中通、飛康達(dá)、新邦、宅急送、YCC、奇速、匯通
17、等200多種快遞單據(jù)的打印??爝f單打印軟件秉承小灰狼票據(jù)軟件簡(jiǎn)潔、易用、直觀、快速的優(yōu)點(diǎn)。該快遞單打印軟件借鑒了許多小灰狼快遞單打印軟件的功能,它使用靈活方便,不受各種快遞單格式的限制,由使用者自行定義單據(jù)的打印格式,并且該系統(tǒng)可以設(shè)置多種單據(jù)格式,這滿(mǎn)足了一個(gè)用戶(hù)使用多種快遞單的要求。</p><p> 本設(shè)計(jì)根據(jù)企業(yè)對(duì)快遞單格式的個(gè)性化定制需求,基于Visual C#平臺(tái)開(kāi)發(fā)一個(gè)單機(jī)版快遞單打印專(zhuān)用軟件。選
18、擇SQL Server Management Studio數(shù)據(jù)庫(kù)軟件,對(duì)各類(lèi)信息進(jìn)行分類(lèi)管理。本系統(tǒng)還運(yùn)用到GDI+編程繪制快遞單模板,直接使用由GDI+提供的類(lèi)的方法可以調(diào)用打印機(jī),C#語(yǔ)言作為前臺(tái)編程語(yǔ)言,對(duì)前臺(tái)界面進(jìn)行相應(yīng)的編寫(xiě)與實(shí)現(xiàn)。</p><p><b> 第1章 緒論</b></p><p><b> 1.1 開(kāi)發(fā)背景</b>
19、</p><p> 二十一世紀(jì),是信息化蓬勃發(fā)展以及科學(xué)事業(yè)全面進(jìn)步的年代,計(jì)算機(jī)和一系列的通訊技術(shù)在當(dāng)今社會(huì)起著舉足輕重的作用,信息的傳遞和處理離不開(kāi)它們,社會(huì)的進(jìn)步和工業(yè)的發(fā)展離不開(kāi)它們,辦公的自動(dòng)化和生活的優(yōu)化更離不開(kāi)它們。以計(jì)算機(jī)為載體的信息系統(tǒng)也呈現(xiàn)著日新月異的局面,計(jì)算機(jī)與外部設(shè)備連接進(jìn)行信息的傳遞,不僅提高了處理信息的效率,節(jié)約大量的時(shí)間,減少不必要的勞動(dòng)力,而且其安全性方面的保障也大大提高。通過(guò)
20、計(jì)算機(jī)和打印機(jī)的連接,更方便地進(jìn)行信息的管理和處理,是本課題的主要研究方向。</p><p> 快遞單在我們?nèi)粘I钪械教幙梢?jiàn),天天、圓通、申通、豐速達(dá)、宅急送、韻達(dá)等,雖然快遞單的種類(lèi)多種多樣,但上面都會(huì)記載著運(yùn)輸環(huán)節(jié)中必要的信息。快遞公司作為物品、文件、資料等傳輸?shù)闹行沫h(huán)節(jié),可以有效地保障運(yùn)輸環(huán)節(jié)的安全。根據(jù)調(diào)查,古代傳輸信息的主要方法有:飛鴿、烽火、快馬、暗號(hào)、手語(yǔ)、書(shū)信、旗幟等,可以傳遞信息,但無(wú)法押韻
21、物品,后來(lái),出現(xiàn)了“鏢局”,現(xiàn)在快遞公司的運(yùn)作程序在某些方面沿襲了古代鏢局的行鏢程序。當(dāng)時(shí),在商人、雇主眼里,鏢師就是他們的護(hù)身符,有鏢師在他們身邊,他們的物件就可以安全到達(dá)目的地,他們的生意就會(huì)興隆。由于信息技術(shù)的發(fā)展,互聯(lián)網(wǎng)的出現(xiàn),操作流程的多元化,選擇空間的廣泛化、信息的全面化,快遞公司的興起成為了信息化時(shí)代的必然產(chǎn)物,快件、物品如何準(zhǔn)確、安全地到達(dá)收件人手里,是快遞公司不得不考慮的問(wèn)題,快遞單打印軟件的應(yīng)用,方便了運(yùn)輸物品的管理
22、,為企業(yè)管理帶來(lái)了明顯的經(jīng)濟(jì)效益,服務(wù)于各界人士,也帶來(lái)了可觀的社會(huì)效益。主要體現(xiàn)在:</p><p> ●快遞單的成批打印,對(duì)于收件人信息、地址、聯(lián)系電話、發(fā)件人信息、地址、聯(lián)系電話等,如果手工填寫(xiě),難免會(huì)出現(xiàn)紕漏,如果運(yùn)輸途中時(shí)間過(guò)長(zhǎng),也難免會(huì)出現(xiàn)字跡模糊的現(xiàn)象。該系統(tǒng)有效地解決了這一弊端。</p><p> ●快遞單號(hào)的管理,派件員可以根據(jù)快遞單號(hào)查找物件,而不需要在一堆雜亂的物
23、件中漫無(wú)目的地尋找。</p><p> ●用計(jì)算機(jī)查詢(xún)快遞單信息,輸出到打印機(jī)打印出快遞單信息,操作的自動(dòng)化和管理的電子化,全面地提高了物件的管理水平。</p><p> 隨著互聯(lián)網(wǎng)的深入,淘寶、京東、當(dāng)當(dāng)?shù)荣?gòu)物網(wǎng)站的不斷興起,物件派送的多樣化以及日益頻繁,快遞公司在市場(chǎng)中的競(jìng)爭(zhēng)也越來(lái)越激烈,這就離不開(kāi)現(xiàn)代化的管理,建立快遞單查詢(xún)打印系統(tǒng),物件安全、高效地到達(dá)目的地,盡可能地減少運(yùn)輸環(huán)
24、節(jié)的疏漏和低效,顯得十分必要。作為一種對(duì)大量快遞單信息實(shí)施管理和打印的系統(tǒng),與手工管理相比,有著明顯的優(yōu)點(diǎn),具體體現(xiàn)在以下幾個(gè)方面。(1)用戶(hù)界面美觀、友好,系統(tǒng)中各界面之間緊密聯(lián)系,方便用戶(hù)操作。(2)根據(jù)界面上的命令按鈕可以迅速檢索到用戶(hù)所需要的信息,查找方便,簡(jiǎn)單明了。(3)出錯(cuò)的幾率較小,系統(tǒng)中存儲(chǔ)容量大,錄入信息丟失的可能性很小,可靠性能高。(4)進(jìn)入系統(tǒng)需經(jīng)過(guò)身份驗(yàn)證和對(duì)部分重要環(huán)節(jié)設(shè)置權(quán)限,保密性較好,安全有保障。(5)根
25、據(jù)業(yè)務(wù)需要實(shí)時(shí)更新,減少人工,降低成本,優(yōu)化操作,安全有保障。</p><p><b> 1.2 系統(tǒng)目標(biāo)</b></p><p> 快遞單專(zhuān)用打印軟件的開(kāi)發(fā)目標(biāo)是成為客戶(hù)長(zhǎng)期需要使用的產(chǎn)品,具體過(guò)程為:根據(jù)快遞公司的具體操作流程,首先設(shè)計(jì)快遞單的樣式和快遞單信息內(nèi)容,然后將具體信息錄入數(shù)據(jù)庫(kù),轉(zhuǎn)化為對(duì)數(shù)據(jù)庫(kù)信息的讀取,通過(guò)主外鍵的約束來(lái)確定系統(tǒng)表的信息,盡可能地
26、完備數(shù)據(jù)庫(kù)??爝f單專(zhuān)用打印軟件的目標(biāo)是朝著運(yùn)用靈活、樣式多元、可塑造性強(qiáng)的方向發(fā)展。</p><p><b> 1.3 開(kāi)發(fā)方法</b></p><p> 調(diào)查分析快遞單專(zhuān)用打印軟件應(yīng)該具備的相關(guān)功能,結(jié)合本次畢業(yè)設(shè)計(jì)的相關(guān)要求進(jìn)行系統(tǒng)地開(kāi)發(fā),軟件的生命周期可分為軟件定義、軟件開(kāi)發(fā)、運(yùn)行維護(hù)三個(gè)階段,其中軟件定義是由問(wèn)題定義,可行性研究、需求分析三方面構(gòu)成,軟件開(kāi)
27、發(fā)可分為總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、單元測(cè)試、綜合測(cè)試,運(yùn)行維護(hù)主要是持久滿(mǎn)足用戶(hù)的需求。</p><p> 1.3.1 軟件定義階段</p><p> 問(wèn)題定義主要是明確該系統(tǒng)要解決的主要問(wèn)題是什么。根據(jù)快遞公司的目標(biāo)和發(fā)展戰(zhàn)略,明確本系統(tǒng)的開(kāi)發(fā)方向,同時(shí)考慮系統(tǒng)開(kāi)發(fā)過(guò)程中受的約束條件。羅列出系統(tǒng)開(kāi)發(fā)的主要模塊和模塊中可能會(huì)出現(xiàn)的問(wèn)題,提出備選方案。</p><p&
28、gt; 可行性研究考慮的主要問(wèn)題是研究開(kāi)發(fā)本系統(tǒng)是否有必要,從技術(shù)、經(jīng)濟(jì)、社會(huì)等三方面考慮,C#是運(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言,它是一種安全、穩(wěn)定的面向?qū)ο蟮木幊陶Z(yǔ)言。Microsoft SQL Server 2005 是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用BI工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。使用GDI+圖形設(shè)備接口,GDI+具備圖像處理和打印的功能。隨著經(jīng)濟(jì)的發(fā)展,信息化時(shí)代的到來(lái),該軟件對(duì)于龐大的信息量、運(yùn)貨量的處理
29、顯得很合理,也很有必要。傳統(tǒng)的手工記錄信息和押送貨物的方法低效、容易出錯(cuò),難以滿(mǎn)足當(dāng)前大量業(yè)務(wù)操作需求。</p><p> 因此,一套行之有效的管理軟件迫在眉睫,快遞公司通過(guò)掃描快遞單號(hào)的條形碼可以查詢(xún)到物品的詳細(xì)信息,客戶(hù)可以通過(guò)在網(wǎng)上搜尋快遞單號(hào),查找物件的具體位置,確保物件安全,這樣可以使得物件的管理有序、高效。</p><p> 1.3.2 軟件開(kāi)發(fā)階段</p>
30、<p> 軟件開(kāi)發(fā)階段回答的主要問(wèn)題是“怎么做”,我們可采取的措施及方法有:實(shí)踐調(diào)查法,文獻(xiàn)研究法、經(jīng)驗(yàn)總結(jié)法等。在設(shè)計(jì)中,首先查閱資料,對(duì)本課題進(jìn)行系統(tǒng)地研究,提出相應(yīng)的設(shè)計(jì)方案并進(jìn)行方案論證,然后對(duì)該課題進(jìn)行模塊劃分并找出模塊之間的關(guān)聯(lián)關(guān)系,針對(duì)每一個(gè)模塊需要完成的任務(wù),系統(tǒng)地畫(huà)出流程圖,在此基礎(chǔ)上進(jìn)行源代碼編寫(xiě)和調(diào)試,每個(gè)階段寫(xiě)出實(shí)施進(jìn)度報(bào)告,并進(jìn)行周記錄,系統(tǒng)測(cè)試成功后寫(xiě)出系統(tǒng)測(cè)試報(bào)告。</p><
31、;p> 1.3.3 運(yùn)行維護(hù)階段</p><p> 投入使用后,需要經(jīng)常對(duì)系統(tǒng)進(jìn)行維護(hù),數(shù)據(jù)庫(kù)的更新和備份,殘余信息的清理,用戶(hù)的使用權(quán)限等,根據(jù)具體情況對(duì)系統(tǒng)進(jìn)行修改,擴(kuò)大系統(tǒng)的使用范圍,完善系統(tǒng)的各模塊功能,提高系統(tǒng)的工作質(zhì)量,為企業(yè)帶來(lái)更大的經(jīng)濟(jì)效益。</p><p><b> 1.4 開(kāi)發(fā)工具</b></p><p> 使
32、用一臺(tái)連接有打印機(jī)的中等配置的電腦,在操作系統(tǒng)為Windows 7的環(huán)境下使用Microsoft SQL Server 2005作為數(shù)據(jù)庫(kù),該軟件的數(shù)據(jù)庫(kù)名稱(chēng)為db_Express ,該數(shù)據(jù)庫(kù)包含了4個(gè)數(shù)據(jù)表,分別用來(lái)存儲(chǔ)單據(jù)模板、快遞單記錄、單據(jù)類(lèi)型和操作員等信息,Visual C#.NET程序設(shè)計(jì)語(yǔ)言開(kāi)發(fā)該軟件系統(tǒng),GDI+負(fù)責(zé)在屏幕和打印機(jī)上顯示信息,以及對(duì)快遞單格式排版的處理。</p><p> 1.4
33、.1 SQL Server數(shù)據(jù)庫(kù)系統(tǒng)</p><p> 數(shù)據(jù)庫(kù)管理系統(tǒng)SQL Server Management Studio:SQL Server是微軟公司的新一代數(shù)據(jù)管理和分析解決方案的大型數(shù)據(jù)庫(kù)系統(tǒng),它給企業(yè)級(jí)應(yīng)用數(shù)據(jù)和分析程序帶來(lái)了更好的安全性、穩(wěn)定性和可靠性,使得數(shù)據(jù)庫(kù)更易于創(chuàng)建、部署和管理。Microsoft SQL Server具有分布式數(shù)據(jù)和數(shù)據(jù)倉(cāng)庫(kù)功能,能進(jìn)行分布式事務(wù)處理和聯(lián)機(jī)處理,用戶(hù)
34、可以在數(shù)據(jù)庫(kù)中創(chuàng)建多個(gè)數(shù)據(jù)表,通過(guò)主外鍵進(jìn)行相關(guān)數(shù)據(jù)的關(guān)聯(lián)設(shè)置,可以方便、有效地處理龐大的信息量。</p><p> 1.4.2 GDI+圖形設(shè)備接口</p><p> GDI+的主要功能有五類(lèi):二維矢量圖像、圖像處理、板式、打印、設(shè)計(jì)。本系統(tǒng)主要用到打印、圖像處理和板式的功能。GDI+提供了在編程時(shí)使用的應(yīng)用程序接口(API),通過(guò)這些API,GDI+讓程序員在設(shè)計(jì)程序中不必考慮到具
35、體的顯示器或打印機(jī),直接使用由GDI+提供的類(lèi)的方法便可以調(diào)用顯示器或打印機(jī),真正做到與設(shè)備無(wú)關(guān)。</p><p> 圖像處理主要運(yùn)用基本的圖像處理功能,基本的功能是在Image類(lèi)中定義的,Image類(lèi)提供了加載、創(chuàng)建和保存圖像的成員。板式是指文本的設(shè)計(jì)和外觀,GDI+提供了創(chuàng)建和使用字體的類(lèi),一些與字體相關(guān)的類(lèi)如Font、FontFamily和FontConverter等,程序員還可以在字體集中添加自定義的字
36、體等。繪制出的圖形可以轉(zhuǎn)化為bmp格式保存到指定文件夾中。</p><p> 1.4.3 Visual C#.NET編程語(yǔ)言</p><p> .NET技術(shù)是微軟公司推出的一個(gè)全新概念,它代表一個(gè)集合、一個(gè)環(huán)境和一個(gè)可以作為平臺(tái)支持下一代Internet的可編程結(jié)構(gòu)。.NET的目的就是將互聯(lián)網(wǎng)作為新一代操作系統(tǒng)的基礎(chǔ),對(duì)互聯(lián)網(wǎng)的設(shè)計(jì)思想進(jìn)行擴(kuò)展,用戶(hù)在任何地方、任何時(shí)間,以及利用任何設(shè)
37、備都能訪問(wèn)所需的信息、文件和程序。.NET計(jì)劃將是微軟今后幾年發(fā)展的戰(zhàn)略核心,其內(nèi)容非常龐大。它的技術(shù)開(kāi)發(fā)平臺(tái)是Visual Studio.NET,而C#作為Visual J++的替代語(yǔ)言也集成在該平臺(tái)中。</p><p><b> 第二章 系統(tǒng)分析</b></p><p><b> 2.1 需求分析</b></p><p
38、> 快遞單專(zhuān)用打印軟件是一個(gè)高度集成的快遞單管理軟件,通過(guò)對(duì)快遞單管理各個(gè)流程進(jìn)行分析,各種功能模塊進(jìn)行整合。從而達(dá)到快速檢索、降低風(fēng)險(xiǎn)、提高效率等目的,一個(gè)典型的快遞單打印系統(tǒng)應(yīng)包含常見(jiàn)的一些快遞單模板,快遞單信息檢索查詢(xún)和打印的功能。該系統(tǒng)可以通過(guò)對(duì)條形碼的掃描快速地查找快遞單具體信息,也可以通過(guò)快遞單上某一信息查找對(duì)應(yīng)的快遞單的具體信息,通過(guò)打印機(jī)的連接,打印出該快遞單。</p><p> 一個(gè)完
39、整的快遞單打印系統(tǒng)應(yīng)包括前臺(tái)和后臺(tái),前臺(tái)主要是顯示在計(jì)算機(jī)屏幕上的界面、控件按鈕、指令文本框等,后臺(tái)主要是為前臺(tái)的操作提供必要的指令和數(shù)據(jù),也就是各界面運(yùn)行的指令和相對(duì)于系統(tǒng)比較完整的數(shù)據(jù)庫(kù)。用戶(hù)登錄的信息、操作員維護(hù)信息、快遞單設(shè)置、查詢(xún)信息等。</p><p> 快遞單專(zhuān)用打印系統(tǒng)應(yīng)包含如下基本功能:</p><p> (1)設(shè)置用戶(hù)信息保存文件;</p><p
40、> ?。?)設(shè)置登錄模塊,用戶(hù)通過(guò)輸入用戶(hù)名代碼、密碼,進(jìn)入快遞單打印系統(tǒng)的管理界面。</p><p> ?。?)在快遞單設(shè)置場(chǎng)口中,用戶(hù)可創(chuàng)建任意樣式的快遞單模板,并可以根據(jù)實(shí)際需要隨時(shí)修改模板。</p><p> (4)設(shè)置快遞單基礎(chǔ)模塊,主要完成快遞單信息的添加、刪除、查找操作。設(shè)置單據(jù)管理模塊,可對(duì)快遞單進(jìn)行打印和查詢(xún)操作。設(shè)置快遞單查詢(xún)模塊,可以根據(jù)快遞單的類(lèi)型對(duì)快遞單進(jìn)
41、行查詢(xún)。設(shè)置操作員維護(hù)模塊,實(shí)現(xiàn)操作員的添加、修改和刪除等操作。設(shè)置操作員密碼修改功能,使操作員可修改其密碼。</p><p> ?。?)在快遞單打印模塊中,用戶(hù)可以使用多種類(lèi)型的快遞單,進(jìn)行信息的錄入,并進(jìn)行快遞單的即時(shí)打印。</p><p><b> 2.2 功能分析</b></p><p> 根據(jù)快遞單打印軟件應(yīng)該具備的基本功能分析,
42、本系統(tǒng)主要包括五大模塊。分別是快遞單打印模塊、快遞單查詢(xún)模塊、快遞單設(shè)置模塊、操作員維護(hù)模塊和修改密碼模塊。該系統(tǒng)模塊的具體功能說(shuō)明如下:</p><p> ●操作員維護(hù)模塊:該模塊主要負(fù)責(zé)登錄該系統(tǒng)的人員信息 管理操作。</p><p> ●修改密碼模塊:用戶(hù)可以修改自己的密碼,修改前需核實(shí)自己的原始密碼。</p><p> ●快遞單設(shè)置模塊:該模塊分為管理
43、快遞單和給快遞單設(shè)計(jì)模板兩個(gè)子模塊。</p><p> ●快遞單打印模塊:該模塊主要負(fù)責(zé)打印快遞單及單據(jù)內(nèi)容,保存快遞單數(shù)據(jù)。</p><p> ●快遞單查詢(xún)模塊:該模塊主要負(fù)責(zé)對(duì)快遞單信息的查詢(xún)以及查詢(xún)結(jié)果的處理。</p><p> 2.3 系統(tǒng)結(jié)構(gòu)框圖</p><p> 為了保證系統(tǒng)的安全,該快遞單打印系統(tǒng)是一個(gè)指定用戶(hù)登陸的系統(tǒng)
44、,需要經(jīng)過(guò)身份驗(yàn)證,才可以使用該軟件。這些用戶(hù)分為超級(jí)用戶(hù)和非超級(jí)用戶(hù),他們都可以進(jìn)行快遞單設(shè)置、快遞單查詢(xún)和快遞單的打印操作,在快遞單維護(hù)和修改密碼兩個(gè)模塊中有權(quán)限設(shè)置。該系統(tǒng)的結(jié)構(gòu)框圖如圖2—3所示。</p><p> 圖2—3 系統(tǒng)結(jié)構(gòu)框圖</p><p><b> 2.4 系統(tǒng)流程圖</b></p><p> 首先打開(kāi)系統(tǒng)的登錄窗
45、體,在快遞單打印通菜單欄和工具欄中可以操作鏈接進(jìn)入相應(yīng)的操作界面,該系統(tǒng)可以使用多種單據(jù)格式,這也就滿(mǎn)足了一個(gè)用戶(hù)使用多種快遞單的要求,該軟件主要包括五個(gè)操作模塊,其系統(tǒng)流程圖如圖2-4所示。</p><p> 圖2-4 系統(tǒng)流程圖</p><p> 2.5 系統(tǒng)的開(kāi)發(fā)環(huán)境</p><p> ?。?)運(yùn)行平臺(tái):Windows 7。</p><
46、p> 數(shù)據(jù)庫(kù)管理系統(tǒng)軟件:Microsoft SQL Sever 2005。</p><p> 開(kāi)發(fā)語(yǔ)言:Visual C#.NET。</p><p> 系統(tǒng)開(kāi)發(fā)平臺(tái):.NET Framework 4。</p><p> 分辨率:1360×768。</p><p> 第三章 數(shù)據(jù)庫(kù)分析與設(shè)置</p>
47、<p><b> 3.1 數(shù)據(jù)庫(kù)分析</b></p><p> 考慮到快遞公司需要處理龐大的信息量,數(shù)據(jù)庫(kù)維護(hù)工作量較大,在開(kāi)發(fā)快遞單軟件打印系統(tǒng)時(shí),選用SQL Sever 2005作為數(shù)據(jù)庫(kù)管理系統(tǒng)。在該數(shù)據(jù)庫(kù)管理系統(tǒng)中,新建一個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名為db_Express,在db_Express數(shù)據(jù)庫(kù)中新建4個(gè)數(shù)據(jù)表,分別用來(lái)存儲(chǔ)單據(jù)模板、快遞單記錄、單據(jù)類(lèi)型和操作員等信息,新建
48、的數(shù)據(jù)表信息如圖3-1所示。</p><p> 圖3-1 db_Express數(shù)據(jù)庫(kù)的說(shuō)明</p><p> 3.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p> 操作員在登錄該系統(tǒng)時(shí),需要經(jīng)過(guò)身份的驗(yàn)證,操作員分為超級(jí)用戶(hù)和非超級(jí)用戶(hù),在本系統(tǒng)中,只設(shè)置一個(gè)超級(jí)用戶(hù),其他的都是非超級(jí)用戶(hù),他們的區(qū)別主要體現(xiàn)在“操作員維護(hù)”模塊,超級(jí)用戶(hù)可以對(duì)非超級(jí)用戶(hù)進(jìn)行添加和刪除。操
49、作員信息E—R圖3-2-1所示。</p><p> 圖3-2-1 操作員信息E-R圖</p><p> 單據(jù)類(lèi)型主要是指該系統(tǒng)中快遞單信息的基本參數(shù),快遞單設(shè)置是整個(gè)系統(tǒng)流程的基礎(chǔ),系統(tǒng)存在多種類(lèi)型的快遞單,為了方便快遞單的管理以及數(shù)據(jù)表之間關(guān)聯(lián)信息的整合,所以該數(shù)據(jù)表為每個(gè)單據(jù)類(lèi)型設(shè)置了對(duì)應(yīng)的編碼表示。在“IsEnabled”列表中,“1”啟用單據(jù)類(lèi)型,“0”表示禁用單據(jù)類(lèi)型。單據(jù)類(lèi)
50、型信息的E-R圖如圖3-2-2所示。</p><p> 圖3-2-2 單據(jù)類(lèi)型信息E-R圖</p><p> 單據(jù)模板是通過(guò)GDI+圖形程序設(shè)計(jì)語(yǔ)言繪制,轉(zhuǎn)換為.bmp格式保存到指定文件夾下,本系統(tǒng)繪制了五種單據(jù)模版,分別是豐速達(dá)快遞單、申通快遞單、天天快遞單、中通快遞單和追封快遞單,它們涉及到的信息名稱(chēng)不同,用控制編碼標(biāo)識(shí)控制的名稱(chēng),在“IsFlag”列表中,“1”標(biāo)記快遞單號(hào),其它
51、名稱(chēng)用“0”標(biāo)記。單據(jù)模板信息E-R圖3-2-3所示。</p><p> 圖3-2-3 單據(jù)模板信息E-R圖</p><p> 在單據(jù)模版信息表完善、明確后,才能填寫(xiě)快遞單記錄信息,一個(gè)單據(jù)類(lèi)型編碼可以對(duì)應(yīng)多個(gè)快遞單號(hào),一個(gè)快遞單號(hào)控制著整張快遞單的全部信息內(nèi)容,通過(guò)控制編碼找到控制名稱(chēng)下的具體信息內(nèi)容。本系統(tǒng)的快遞單號(hào)采用的是條形碼中的39碼,快遞單記錄信息E-R圖3-2-4所示。&
52、lt;/p><p> 圖3-2-4 快遞單記錄信息E—R圖</p><p> 3.3 數(shù)據(jù)表邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 根據(jù)設(shè)計(jì)好的實(shí)體E-R圖創(chuàng)建數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),db_Express數(shù)據(jù)庫(kù)各表的結(jié)構(gòu)如下:</p><p> 操作員登錄信息表用來(lái)儲(chǔ)存操作員的類(lèi)別信息,包括操作員代碼,操作員名稱(chēng)、密碼、操作員級(jí)別4個(gè)字段。tb_Ope
53、rator表的邏輯結(jié)構(gòu)如表3-3-1所示。</p><p> 表3-3-1 操作員登錄信息表 </p><p> 單據(jù)類(lèi)型信息表用來(lái)存儲(chǔ)快遞單信息的參數(shù)屬性,包括單據(jù)類(lèi)型編碼,單據(jù)類(lèi)型名稱(chēng)、標(biāo)記、單據(jù)寬度、單據(jù)高度、單據(jù)圖片、是否啟用、編碼長(zhǎng)度8個(gè)字段。tb_BillType表的邏輯結(jié)構(gòu)如表3-3-2所示。 </p><
54、p> 表3-3-2 單據(jù)類(lèi)型信息表 </p><p> 單據(jù)模版信息表用來(lái)存儲(chǔ)快遞單各屬性的具體參數(shù)值,包括控制編碼、單據(jù)類(lèi)型編碼、模板起點(diǎn)X軸坐標(biāo)、模板起點(diǎn)Y軸坐標(biāo)、模板寬度值、模板高度值、模板信息標(biāo)記符、控制名、控制名的默認(rèn)設(shè)置值、控制名的交換項(xiàng)10個(gè)字段。tb_BillTemple的邏輯結(jié)構(gòu)如表3-3-3所示。</p><p> 表3-3-3 單據(jù)模板信息表
55、</p><p> 快遞單信息記錄表用來(lái)存儲(chǔ)快遞單上各參數(shù)的具體信息內(nèi)容,包括代號(hào)標(biāo)記,單據(jù)類(lèi)型編碼、快遞單號(hào)、控制編碼、控制內(nèi)容5個(gè)字段。tb_BillText的邏輯結(jié)構(gòu)如表3-3-4所示。</p><p> 表3-3-4 單據(jù)類(lèi)型信息表 </p><p> 第四章 系統(tǒng)設(shè)計(jì)與功能實(shí)現(xiàn)</p><p><b> 4
56、.1 操作類(lèi)</b></p><p> 為了便于系統(tǒng)的維護(hù)和管理,減少代碼的冗余,同時(shí)增加代碼的可復(fù)用性,本軟件定義了4個(gè)類(lèi),分別是DataOperate,CommClass,GlobalProperty,ReadFile。</p><p> 新建文件夾DAL和Common,將DataOperator類(lèi)歸集到DAL文件夾中,其他三個(gè)類(lèi)放入Common文件夾。</p&g
57、t;<p> 本系統(tǒng)自定義了一個(gè)數(shù)據(jù)操作類(lèi)DataOperate,該類(lèi)主要是用來(lái)封裝應(yīng)用程序與數(shù)據(jù)庫(kù)的連接,并實(shí)現(xiàn)對(duì)數(shù)據(jù)信息的添加、刪除、修改以及讀取等操作。在命名空間引人using System.Data.SqlClient命名空間,因?yàn)榧恿诉@個(gè)命名空間之后才可以使用該數(shù)據(jù)庫(kù)操作。</p><p> 在該類(lèi)的主體代碼中,(1)先聲明數(shù)據(jù)庫(kù)連接引用和數(shù)據(jù)庫(kù)命令引用;(2)創(chuàng)建DataOperat
58、e構(gòu)造方法,該構(gòu)造方法主要用來(lái)讀取和加載數(shù)據(jù)庫(kù)連接信息,創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象和命令對(duì)象并設(shè)置數(shù)據(jù)庫(kù)命令對(duì)象的連接屬性,并對(duì)他們進(jìn)行異常捕獲;(3)為了獲取數(shù)據(jù)庫(kù)連接對(duì)象和數(shù)據(jù)庫(kù)命令對(duì)象,定義Conn和Cmd兩個(gè)只讀屬性,以方便在該類(lèi)的外部操作數(shù)據(jù);(4)定義ExecDataBySqls方法的作用是為了同時(shí)提交多條Transact-SQL語(yǔ)句,若該方法執(zhí)行成功,則返回true值,否則返回false值;(5)定義GetDataReader方法
59、來(lái)讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),該方法封裝了Command對(duì)象的ExecuteReader方法,最終返回SqlDataReader對(duì)象;(6)定義ExecuteScalar方法的作用是為了得到結(jié)果集中的第一行的第一列的數(shù)值,返回ExecuteScalar對(duì)象。(7)自定義GetDataTable方法來(lái)將數(shù)據(jù)綁定到界面上的DataGridView控件,該方法的返回值為DataTable對(duì)象。 </p><p> 4.2 G
60、DI+繪圖模型</p><p> 本系統(tǒng)包含5種類(lèi)型的快遞單,分別是豐速達(dá)快遞單、申通快遞單、天天快遞單、中通快遞單、追封快遞單,從快遞單的外觀上看,一張快遞單由多種不同的字體和格式樣的圖案組成,考慮到快遞單模板繪制的復(fù)雜性和快遞單的打印需求,本系統(tǒng)采用面向?qū)ο蟮?.NET 應(yīng)用程序繪圖模型GDI+。</p><p> GDI+是與.NET Framework中的圖形設(shè)備接口進(jìn)行交互的
61、入口,它有以下幾方面的優(yōu)點(diǎn),(1)GDI+提供了一個(gè)與對(duì)象無(wú)關(guān)的模型,在GDI+中,程序員根據(jù)實(shí)際需要獨(dú)立地創(chuàng)建和使用鋼筆、畫(huà)筆、圖像或文字,并可以隨時(shí)對(duì)它們修改,操作簡(jiǎn)易方便。(2)該應(yīng)用程序可以在同一窗體上使用多種顏色和樣式的鋼筆繪制不同的圖形對(duì)象。(3)程序員可以在GDI+編寫(xiě)與打印機(jī)、監(jiān)視器或文件等圖形設(shè)備進(jìn)行交互的Windows和Web圖形應(yīng)用程序。</p><p> GDI+ 編程的核心System
62、.Drawing.Graphics 類(lèi),它封裝了一個(gè)GDI+繪圖表面,它可能是一個(gè)窗口,也可以是內(nèi)存里的位圖,本系統(tǒng)的快遞單模板是通過(guò)創(chuàng)建System.Drawing.Bitmap類(lèi)的一個(gè)實(shí)例來(lái)創(chuàng)建內(nèi)存文件的位圖。首先要確保using System.Drawing.Drawing2D和using System.Drawing命名空間被引用,然后創(chuàng)建實(shí)例bmp將繪制在窗口界面上的圖形轉(zhuǎn)化為24位RGB格式的圖像存儲(chǔ)到內(nèi)存文件中,單位為像素
63、,該對(duì)象需要指定圖像的高度和寬度,主要代碼格式:Bitmap bmp = new Bitmap(X, Y, System.Drawing.Imaging.PixelFormat.Format24bppRgb);然后引用System.Drawing.Graphics 對(duì)象來(lái)為圖像創(chuàng)建GDI+繪圖的上下文,使用靜態(tài)方法Graphics.FromImage()在內(nèi)存里的位圖上繪制內(nèi)容,主要代碼格式: Graphics graphics = G
64、raphics.FromImage(bmp);使用多個(gè)System.Drawing.Fo</p><p> 首先用GDI+庫(kù)繪制出這些快遞單的模板,然后導(dǎo)出轉(zhuǎn)換為bmp格式,再通過(guò)繪圖軟件轉(zhuǎn)換為jpg格式,通過(guò)窗體界面上的命令按鈕添加到運(yùn)行界面,GDI+庫(kù)還提供了圖形的打印功能,連接打印機(jī)設(shè)備后,這些繪制出的快遞單圖形是可以打印出來(lái)的。</p><p><b> 4.3系統(tǒng)登
65、錄模塊</b></p><p> 系統(tǒng)登錄是本軟件的起點(diǎn),也是程序的入口,本系統(tǒng)取名為“紅太狼快遞單打印軟件”,只有指定的合法用戶(hù)才可以登錄,在這些用戶(hù)中,有一個(gè)超級(jí)用戶(hù),其他為非超級(jí)用戶(hù),他們的權(quán)限主要體現(xiàn)在“操作員維護(hù)”模塊。在空白框內(nèi)填入指定的用戶(hù)編碼和登錄代碼,如果驗(yàn)證通過(guò),用戶(hù)將進(jìn)入系統(tǒng)的主界面,“系統(tǒng)登錄”模塊的運(yùn)行界面如圖4-3-1所示。</p><p> 圖
66、4-3-1 系統(tǒng)登錄界面</p><p> 新建一個(gè)Windows窗體,命名為FormLogin,該窗體中用到的主要控件和它們屬性值的設(shè)置如下,最大化按鈕(MinimizeBox)和最小化按鈕(MaximizeBox)屬性均為false,文本(Text)屬性設(shè)為“系統(tǒng)登錄”,在應(yīng)用小圖標(biāo)(Icon)屬性中加載圖標(biāo),表示系統(tǒng)登錄的標(biāo)志,背景設(shè)置(Background)屬性中導(dǎo)入背景圖片。該窗體用到的主要控件如表4
67、-3-2所示。</p><p> 表4-3-2 “系統(tǒng)登錄”窗體中用到的主要控件</p><p> “系統(tǒng)登錄”模塊包括登錄、重置、退出三個(gè)部分,該模塊的流程圖如圖4-3-3所示。</p><p> 圖4-3-3 系統(tǒng)登錄流程圖</p><p> 4.4 主窗體菜單欄設(shè)計(jì)</p><p> “快遞單打印通”窗
68、體是登錄本系統(tǒng)后的主窗體界面,它包含了該軟件所有的功能需求,用戶(hù)可以通過(guò)該頁(yè)面實(shí)施對(duì)快遞單管理的各項(xiàng)操作。它主要是通過(guò)調(diào)用CommClass公共類(lèi)中ShowFormByMdiParent方法來(lái)實(shí)現(xiàn)各模塊的鏈接操作,該窗體的運(yùn)行界面如圖4-4-1所示。</p><p> 圖4-4-1 主窗體界面</p><p> 新建一個(gè)Windows窗體,命名為AppForm,設(shè)置MainMenuSt
69、rip屬性為menuStripMain,StartPosition屬性為CenterScreen,Text屬性為“快遞單打印通”,在應(yīng)用小圖標(biāo)(Icon)屬性中加載圖標(biāo),表示系統(tǒng)登錄的標(biāo)志,背景設(shè)置(Background)屬性中導(dǎo)入背景圖片。該窗體用到的主要控件如表4-4-2所示。</p><p> 表4-4-2“系統(tǒng)登錄”窗體中用到的主要控件</p><p> 該模塊主要的程序如下:
70、</p><p> (1)引入命名空間using Express.UI.BaseSet;</p><p> using Express.UI.Express;using Express.Common;</p><p> ?。?)①觸發(fā)menuItemBillPrint(快遞單打?。┌粹o的Click事件,轉(zhuǎn)到“快遞</p><p> 單打
71、印”的窗體界面;</p><p> ?、谟|發(fā)menuItemBillQuery(快遞單查詢(xún))按鈕的Click事件,轉(zhuǎn)到“快遞</p><p> 單查詢(xún)”的窗體界面;</p><p> ?、塾|發(fā)menuItemSetBill(快遞單設(shè)置)按鈕的Click事件,轉(zhuǎn)到“快遞單</p><p><b> 設(shè)置”的窗體界面;</b&
72、gt;</p><p> ?、苡|發(fā)menuItemSetOperator(操作員維護(hù))按鈕的Click事件,轉(zhuǎn)到“操</p><p> 作員維護(hù)”的窗體界面;</p><p> ?、萦|發(fā)menuItemAmendPass(修改密碼)按鈕的CLick事件,轉(zhuǎn)到“密碼修</p><p><b> 改”的窗體界面。</b>
73、</p><p> 主窗體的菜單欄由基礎(chǔ)設(shè)置、單據(jù)管理和退出三部分組成,,該部分框圖如圖4-4-3所示。</p><p> 圖4-4-3 主窗體菜單欄框圖</p><p> 4.5 快遞單設(shè)置模塊 </p><p> “快遞單設(shè)置”窗體主要用于自定義快遞單樣式,用戶(hù)可以通過(guò)該窗體添加繪制出的快遞單模板,也可以根據(jù)實(shí)際需要添加、修改
74、、刪除快遞單,該窗體的運(yùn)行界面如圖4-5-1所示。</p><p> 圖4-5-1 “快遞單設(shè)置”窗體 </p><p> 新建一個(gè)Windows窗體,命名為FormBillType,設(shè)置MinimizeBox和MaximizeBox屬性值均為false,Text屬性值為“快遞單設(shè)置”,在應(yīng)用小圖標(biāo)(Icon)屬性中加載圖標(biāo)。該窗體用到的主要控件如表4-5-2所示。</p
75、><p> 表4-5-2“系統(tǒng)登錄”窗體中用到的主要控件</p><p> “快遞單設(shè)置”模板包括兩大部分,第一部分是管理快遞單,第二部分是快遞單模板設(shè)計(jì),管理快遞單又分為添加快遞單、修改快遞單和刪除快遞單3種操作,快遞單設(shè)置流程圖如圖4-5-3所示。</p><p> 圖4-5-3 “快遞單設(shè)置”流程圖 </p><p> 該模塊主要的
76、程序如下:</p><p> ?。?)引入命名空間using Express.Common;</p><p> ?。?)①觸發(fā)toolAdd(添加)按鈕的Click事件,轉(zhuǎn)到“快遞單基本信息”</p><p><b> 窗體。</b></p><p> ?、谟|發(fā)toolAmend(修改)按鈕的Click事件,若存在選中
77、的修改快</p><p> 遞單的內(nèi)容,則轉(zhuǎn)到“快遞單基本信息”窗體。</p><p> ③觸發(fā)toolDelete(刪除)按鈕的Click事件,若存在選中的刪除快遞單的</p><p> 內(nèi)容,就啟動(dòng)軟件提示對(duì)話框,若選擇“是”,將會(huì)級(jí)聯(lián)刪除數(shù)據(jù)庫(kù)中對(duì)應(yīng)的模板</p><p> 和快遞單記錄的信息,窗口界面上這條快遞單的所有信息隨之
78、被移除。</p><p> ?、苡|發(fā)toolSetting(修改模板)按鈕的Click事件,轉(zhuǎn)到“設(shè)計(jì)</p><p><b> 模板”窗體。</b></p><p> ⑤觸發(fā)toolExit(退出)按鈕的Click事件,則退出該頁(yè)面。</p><p> 4.5.1 快遞單基本信息模塊</p><
79、;p> 新建一個(gè)Windows窗體,命名為FormBillTypeInput,該窗體是“快遞單設(shè)置”窗體下的一個(gè)子窗體,選擇“快遞單設(shè)置”窗體上的“添加”或“修改”按鈕將打開(kāi)“快遞單基本信息”窗體,選擇“添加”按鈕時(shí),該窗體用于錄入快遞單的基本信息,選擇“修改”按鈕時(shí),該窗體用于修改遞單基本信息參數(shù),該窗體的運(yùn)行結(jié)果如圖4-5-4所示。</p><p> 圖4-5-4 “快遞單基本信息”窗體</p
80、><p> 快遞單參數(shù)在錄入和修改的過(guò)程中,有的參數(shù)值可以為空,有的參數(shù)值不能為空,該部分流程圖如圖4-5-5所示。 </p><p> 圖4-5-5 “快遞單參數(shù)”錄入流程圖</p><p> 4.5.2 設(shè)計(jì)快遞單模板</p><p> 在打開(kāi)的“快遞單設(shè)置”窗體中,首先選中一條快遞單記錄,然后單擊該窗體上的“設(shè)計(jì)模板”按鈕,程序?qū)?/p>
81、會(huì)打開(kāi)“設(shè)計(jì)模板”的窗體,在該窗體代碼中,程序首先從數(shù)據(jù)庫(kù)中讀取快遞單圖像,然后獲取當(dāng)前窗體的圖像分辨率,通過(guò)加載tb_BillTemplate數(shù)據(jù)表中的信息來(lái)動(dòng)態(tài)地創(chuàng)建文本框。運(yùn)行界面如圖4-5-6所示。</p><p> 圖4-5-6 設(shè)計(jì)模板窗體</p><p> 該子模塊的程序思路如下:</p><p> (1)構(gòu)造模板中的文本控件,因?yàn)楦鞣N類(lèi)快遞單模
82、板的信息內(nèi)容不相同,所以要從tb_BillTemplate數(shù)據(jù)表中動(dòng)態(tài)地讀入,這些控件在窗體界面上不顯示,只有運(yùn)行本系統(tǒng)時(shí),根據(jù)實(shí)際需要調(diào)整這些文本控件的大小。</p><p> (2)繪制該文本框的顏色、形狀、文本框中字體的大小,計(jì)算出每個(gè)文本框的長(zhǎng)度和寬度。在保存按鈕的Click事件中,必須查找到設(shè)置為快遞單號(hào)的控件,否則彈出程序無(wú)法執(zhí)行的軟件提示對(duì)話框。這些文本控件,可以刪除和重新添加,調(diào)整布局。<
83、/p><p> ?。?)單擊該模板上的“關(guān)閉”命令,彈出“模板設(shè)置信息已被更新,是否保存?”的軟件提示對(duì)話框,若單擊是,重新執(zhí)行保存按鈕的操作,否則不予保存。</p><p> 4.6 操作員維護(hù)模塊</p><p> “操作員”窗體的主要功能是添加、刪除、修改操作員記錄,該窗體的運(yùn)行界面如圖4-6-1所示。</p><p> 圖4-6-1
84、 “操作員”窗體</p><p> 新建一個(gè)Windows窗體,命名為FormOperator.cs,Text屬性為“操作員”,在應(yīng)用小圖標(biāo)(Icon)屬性中加載圖標(biāo)。該窗體用到的主要控件如表4-6-2所示。</p><p> 表4-6-2 “操作員維護(hù)”窗體中用到的主要控件</p><p> 操作員分為超級(jí)用戶(hù)和非超級(jí)用戶(hù),當(dāng)用超級(jí)用戶(hù)的身份登入該系統(tǒng)時(shí),可
85、以通過(guò)“操作員”窗體添加用戶(hù)、修改用戶(hù)名和刪除用戶(hù);當(dāng)用非超級(jí)用戶(hù)的身份登入該系統(tǒng)時(shí),不能對(duì)其他用戶(hù)進(jìn)行添加、修改和刪除操作,但可以修改自己的用戶(hù)名?!安僮鲉T維護(hù)”模塊框圖如圖4-6-3所示。</p><p> 圖4-6-3 “操作員模塊”框圖</p><p> “操作員編輯”模塊是“操作員維護(hù)”模塊下的子模塊,當(dāng)單擊“操作員維護(hù)”窗體上的“添加”和“修改”按鈕,會(huì)出現(xiàn)如圖4-6-4所
86、示的運(yùn)行界面。</p><p> 圖4-6-4 “操作員編輯”窗體</p><p> 該模塊的程序思路如下:</p><p> ?。?)在該窗體的Load事件中,若是添加命令,添加操作員的信息到tb_Operator數(shù)據(jù)表;若是修改命令,讀取該數(shù)據(jù)表的信息,主要是“操作員名稱(chēng)”,然后進(jìn)行編輯。</p><p> ?。?)觸發(fā)btnSave
87、(保存)按鈕的Click事件,檢索txtOperatorName控件中的內(nèi)容,若為空,則彈出“操作名稱(chēng)不許為空”的軟件提示對(duì)話框。添加按鈕需添加“操作代碼”,“操作名稱(chēng)”,“操作密碼”,“確認(rèn)密碼”,而修改按鈕只能修改“操作名稱(chēng)”。</p><p> 4.7 修改密碼模塊</p><p> “修改密碼”窗體的主要功能是修改當(dāng)前用戶(hù)的密碼,如果原密碼與當(dāng)前用戶(hù)的輸入密碼不相符,軟件提示錯(cuò)
88、誤。修改后的密碼保存到數(shù)據(jù)表tb_Operator中的“Password”字段中。該窗體的運(yùn)行界面如圖4-7-1所示。</p><p> 圖4-7-1 “修改密碼”窗體 </p><p> “修改密碼”模塊涉及到原密碼、新密碼、確認(rèn)密碼之間的確認(rèn)問(wèn)題,該模塊流程圖如圖4-7-2所示。</p><p> 圖4-7-2 “修改密碼”模塊流程圖 </p
89、><p> 該模塊的程序思路如下:</p><p> ?。?)引入命名空間using Express.DAL;和using Express.Common;</p><p> ?。?)觸發(fā)btnOk(保存)按鈕的Click事件,檢索“txtOldPassword”文本</p><p> 框中的內(nèi)容是否為空,若是空值,則彈出“原密碼不能為空”的軟
90、件提示對(duì)話框,否則判斷原密碼內(nèi)容是否和登錄本系統(tǒng)時(shí)的“用戶(hù)密碼”相符,若相符,繼續(xù)下面的操作,否則彈出“原密碼不正確”的軟件提示對(duì)話框。接下來(lái)檢索txtPassword文本框中的內(nèi)容是否為空,若是空值,則彈出“新密碼不能為空”的軟件提示對(duì)話框,否則判斷“新密碼”和“確認(rèn)信密碼”文本框中的內(nèi)容是否一致,若一致,更新tb_Operator數(shù)據(jù)表中原來(lái)的密碼,彈出“密碼修改成功”的軟件提示對(duì)話框,否則彈出“確認(rèn)密碼與新密碼不相同”的軟件提示對(duì)
91、話框。 </p><p> 4.8 快遞單查詢(xún)模塊 </p><p> “快遞單查詢(xún)”窗體除了提供對(duì)快遞單記錄的查詢(xún)、修改、打印和刪除3個(gè)基本功能外,還具有對(duì)快遞單信息修改后重新打印單據(jù)的功能,打印后的快遞單記錄重新被保存到數(shù)據(jù)表“tb_BillText”中,該界面的運(yùn)行結(jié)果如圖4-8-1所示。</p><p> 圖4-8-1 “快遞單查詢(xún)”
92、窗體</p><p> 新建一個(gè)Windows窗體,命名為FormExpressBill,Text屬性為“快遞單查詢(xún)”,在應(yīng)用小圖標(biāo)(Icon)屬性中加載圖標(biāo)。該窗體用到的主要控件如表4-8-2所示。</p><p> 表4-8-2“系統(tǒng)登錄”窗體中用到的主要控件</p><p> 本系統(tǒng)包括在5種類(lèi)型的快遞單,查詢(xún)快遞單時(shí),首先選擇需要查詢(xún)的單據(jù)類(lèi)型,選擇“
93、查詢(xún)”按鈕會(huì)彈出“查詢(xún)條件輸入”的界面,可以在文本框中輸入快遞單號(hào),地址等任意信息查詢(xún)到該快遞單的相關(guān)記錄,也可以直接選擇“快遞單輸入條件”界面上的查詢(xún)按鈕,查找該快遞單的所有記錄。選擇“打印”按鈕會(huì)彈出“單據(jù)打印”的界面,選擇“刪除”按鈕將會(huì)刪除該條快遞單的記錄??爝f單查詢(xún)的流程圖如圖4-8-3所示。</p><p> 圖4-8-3 快遞單查詢(xún)流程圖</p><p> 該模塊的程序思
94、路如下:</p><p> ?。?)使用get屬性來(lái)訪問(wèn)設(shè)置變量,在該界面的Load事件中,使用IDictionary泛型封裝“客戶(hù)基礎(chǔ)分類(lèi)”信息。</p><p> ?。?)在“選擇單據(jù)類(lèi)型”文本框的SelectedIndexChanged事件中,根據(jù)快遞單類(lèi)型的編碼查找對(duì)應(yīng)的單據(jù),若找到此類(lèi)單據(jù),用戶(hù)可以根據(jù)該單據(jù)上的某一信息查找對(duì)應(yīng)的所有信息內(nèi)容,但如果該單據(jù)不存在快遞單號(hào),就會(huì)彈出
95、“該單據(jù)的模板未設(shè)置快遞單號(hào)輸入框,無(wú)法查詢(xún)!”的軟件提示對(duì)話框。</p><p> ?。?)觸發(fā)toolQuery(查詢(xún))按鈕,轉(zhuǎn)到“快遞單據(jù)”窗體,執(zhí)行該窗體上的“查詢(xún)”命令按鈕。</p><p> ?。?)觸發(fā)toolPrint(打印)按鈕,轉(zhuǎn)到“快遞單據(jù)”窗體,執(zhí)行該窗體上的“打印”命令按鈕。</p><p> ?。?)觸發(fā)toolDelete(刪除)按鈕,
96、若有選中的內(nèi)容,則會(huì)彈出“確定要?jiǎng)h除嗎?”的軟件提示對(duì)話框,若單擊是,則會(huì)連帶數(shù)據(jù)表中的內(nèi)容一并刪除。</p><p> 4.8.1 條形碼的概述 </p><p> 條形碼是一種標(biāo)準(zhǔn)符號(hào),它可供電子儀器自動(dòng)識(shí)別,它的應(yīng)用領(lǐng)域十分廣泛,在工業(yè)領(lǐng)域、物流交通領(lǐng)域、商業(yè)領(lǐng)域和郵電通信等領(lǐng)域等都可以見(jiàn)到各式各樣的條形碼。本系統(tǒng)將它運(yùn)用到快遞單上,以便于對(duì)龐大的快遞單信息量的管理。</p
97、><p> 本軟件中的條形碼采用CODE39碼,它既可表示數(shù)字,也可以表示字母,在管理領(lǐng)域該類(lèi)條形碼應(yīng)用最廣發(fā),它的編碼規(guī)則是,每五條線表示一個(gè)字符,粗線用1表示,細(xì)線用0表示,這些線條間間隙較寬的用1表示,較窄的用0表示, 它的每一字符都是由5個(gè)條和4個(gè)空共9位元素組成,這9位元素中必定有三位是1,所有稱(chēng)為39碼,它可以是0~9、A~Z、-、*、%、$、/、+、空格、.,這些表示數(shù)字、字母和其他符號(hào)的44個(gè)字符組
98、成。條形碼的結(jié)構(gòu)圖如下圖4-8-4所示。</p><p> 圖4-8-4 條形碼的結(jié)構(gòu)圖</p><p> ●①:靜區(qū),靜區(qū)有兩個(gè)功能,一、當(dāng)兩個(gè)條形碼相距距離較近時(shí),靜區(qū)有助于將它們分開(kāi);二、它能使閱讀器進(jìn)入準(zhǔn)備閱讀的狀態(tài)。</p><p> ●②:位空,避免前一字符與后一字符的條疊在一起。</p><p> ●STOP:終止符,位
99、于條形碼的終止位置,包括終止位置的若干條與空。</p><p> ●START:起始符,位于條形碼的起始位置,包括起始位置的若干條和空組成。</p><p> ●③、⑤:條,條形碼中反射率較低的部分,印刷的顏色較深。</p><p> ●④、⑥:條,條形碼中反射率較高的部分,印刷的顏色較淺。</p><p> ●“C”“O”“D”“E
100、”:數(shù)據(jù)符,表示特定信息的條形碼符號(hào)。</p><p> 每個(gè)快遞單號(hào)對(duì)應(yīng)的條形碼不同,首先在PictureBox控件中繪制條形碼圖案,然后查找快遞單號(hào),本系統(tǒng)根據(jù)快遞單號(hào)自動(dòng)生成條形碼。Code 39條形碼的編碼規(guī)則如表4-8-5所示。</p><p> 表4-8-5 Code39條形碼的編碼規(guī)則</p><p> 4.9 快遞單打印模塊</p>
101、<p> “單據(jù)打印”模塊有對(duì)單據(jù)的保存和打印兩個(gè)主要功能,操作員可以修改快遞單中的任意信息,選擇“保存”按鈕,這些信息將會(huì)重新被保存到tb_BillText數(shù)據(jù)表中,選擇“打印”按鈕后會(huì)打印出該快遞單同時(shí)保存快遞單數(shù)據(jù),該界面的運(yùn)行結(jié)果如圖4-9-1所示。</p><p> 圖4-9-1 “快遞單打印”窗體</p><p> 新建一個(gè)Windows窗體,命名為Form
102、BillPrint,Text屬性為“快遞單打印”,在應(yīng)用小圖標(biāo)(Icon)屬性中加載圖標(biāo)。該窗體用到的主要控件如表4-9-2所示。</p><p> 表4-9-2 “快遞單打印”窗體中用到的主要控件</p><p> 單據(jù)打印功能是在快遞單查詢(xún)功能的基礎(chǔ)上實(shí)現(xiàn)的,操作員首先查詢(xún)需要打印的快遞單,然后在界面上填寫(xiě)或修改單據(jù)內(nèi)容,最后打印快遞單,快遞單打印流程圖如圖4-9-3所示。<
103、/p><p> 圖4-9-3 快遞單打印流程圖 </p><p> 該模塊的程序思路如下:</p><p> ?。?)定義CTextBox控件來(lái)代替系統(tǒng)中的TextBox控件,將tb_BillTemplate數(shù)據(jù)表中的內(nèi)容讀入繪制在快遞單模板上的文本框中,只有能夠讀取到快遞單號(hào)的快遞單模板才能打印,否則彈出“當(dāng)前模板未設(shè)置快遞單號(hào)輸入框,所以無(wú)法打印”的軟件提示對(duì)話
104、框。</p><p> (2)定義一系列Public對(duì)象實(shí)現(xiàn)對(duì)指定圖像的縮放、自行調(diào)整窗體大小、獲取系統(tǒng)分辨率等功能。</p><p> ?。?)觸發(fā)toolPrint(單據(jù)打印)按鈕的Click事件,在快遞單號(hào)不為空并且單據(jù)號(hào)位數(shù)相符的情況下,查找數(shù)據(jù)庫(kù)中的記錄,找到相關(guān)記錄后,設(shè)置打印文檔的邊距,設(shè)置打印文檔的紙張大小,連接打印機(jī),放入A4紙即可打印出該文本內(nèi)容。</p>
105、<p><b> 第五章 系統(tǒng)測(cè)試</b></p><p> 5.1 系統(tǒng)測(cè)試的意義</p><p> 系統(tǒng)測(cè)試是系統(tǒng)開(kāi)發(fā)過(guò)程中必不可少的一部分,在每個(gè)環(huán)節(jié)都要進(jìn)行嚴(yán)格、仔細(xì)地審查和測(cè)試,以便問(wèn)題可以更早地暴露出來(lái)。本系統(tǒng)是由五個(gè)模塊組成,各模塊之間有著千絲萬(wàn)縷的聯(lián)系,如果其中一個(gè)模塊的測(cè)試有誤,就會(huì)導(dǎo)致整個(gè)系統(tǒng)的癱瘓,所以要經(jīng)常進(jìn)行周期性地測(cè)試,
106、確保系統(tǒng)安全、穩(wěn)定,盡可能地避免系統(tǒng)在投入使用時(shí)出現(xiàn)的一系列故障。</p><p> 系統(tǒng)測(cè)試要注意以下幾點(diǎn)問(wèn)題:(1)根據(jù)各模塊的功能確定預(yù)期的輸出結(jié)果,將實(shí)際的輸出結(jié)果和預(yù)期的輸出結(jié)果進(jìn)行比較,觀察系統(tǒng)的測(cè)試情況是否正確。(2)在測(cè)試過(guò)程中,不能習(xí)慣性地只輸入合理的輸入條件,而忽視不合理,容易出現(xiàn)異常的輸入條件,這些很有可能會(huì)成為后期系統(tǒng)維護(hù)的隱患。(3)測(cè)試成功后,還應(yīng)檢查本模塊是否有多余的工作,應(yīng)盡可能
107、地保障代碼的準(zhǔn)確、精煉,多余的代碼不僅影響程序的運(yùn)行效率,而且也會(huì)導(dǎo)致系統(tǒng)潛在的危害。</p><p><b> 5.2 測(cè)試項(xiàng)目</b></p><p> 頁(yè)面測(cè)試:頁(yè)面的設(shè)計(jì)不能過(guò)于浮夸,當(dāng)系統(tǒng)被投入使用后,用戶(hù)看到的一系列頁(yè)面的跳轉(zhuǎn),要確保頁(yè)面上的控件指令能夠正常運(yùn)行,良好的界面設(shè)計(jì)會(huì)使用戶(hù)有一種舒適、嚴(yán)謹(jǐn)、易懂的感覺(jué),</p><p&g
108、t; 功能測(cè)試:最能體現(xiàn)系統(tǒng)價(jià)值的就是系統(tǒng)的功能,系統(tǒng)的功能越強(qiáng)大,越</p><p> 受用戶(hù)的歡迎,如果系統(tǒng)模塊處處受到約束和局限,這樣的系統(tǒng)將會(huì)很少被投入使用,良好的系統(tǒng)不會(huì)存在潛在的錯(cuò)誤而且各模塊會(huì)盡可能地發(fā)揮它們的功能。</p><p> (3)需求測(cè)試:每個(gè)系統(tǒng)在開(kāi)發(fā)前,都會(huì)進(jìn)行需求分析,系統(tǒng)開(kāi)發(fā)的目的和最終使命是滿(mǎn)足用戶(hù)各方面的需求。</p><p&
109、gt; 5.3 系統(tǒng)測(cè)試內(nèi)容 </p><p> 五個(gè)模塊下各子模塊的用例測(cè)試如下表5-3所示。</p><p><b> 5-3 測(cè)試用力表</b></p><p><b> 致 謝</b></p><p> 本篇論文是在錢(qián)誠(chéng)老師的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,精益求精的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c#快遞單打印課程設(shè)計(jì)
- c#酒店管理課程設(shè)計(jì)
- 拼數(shù)字游戲c#課程設(shè)計(jì)
- c#學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- c#課程設(shè)計(jì)--網(wǎng)上購(gòu)物系統(tǒng)
- 課程設(shè)計(jì)---計(jì)算機(jī)語(yǔ)言c#課程設(shè)計(jì)
- 宿舍管理系統(tǒng)課程設(shè)計(jì)報(bào)告(c#)
- c#課程設(shè)計(jì)--公司抽獎(jiǎng)管理系統(tǒng)設(shè)計(jì)
- c#俄羅斯方塊課程設(shè)計(jì)
- c#課程設(shè)計(jì)—模擬抽獎(jiǎng)軟件設(shè)計(jì)
- 快遞管理系統(tǒng)系統(tǒng)設(shè)計(jì)報(bào)告c#
- c語(yǔ)言課程設(shè)計(jì)《打印月歷》
- c#圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)c#
- c_課程設(shè)計(jì)報(bào)告-- c#音樂(lè)播放器
- c# 打印實(shí)心菱形
- 用c#做火車(chē)訂票管理系統(tǒng)課程設(shè)計(jì)
- c#課程設(shè)計(jì)學(xué)生信息管理系統(tǒng) 論文
- c語(yǔ)言課程設(shè)計(jì)-打印月歷軟件
- c#課程設(shè)計(jì)公交卡管理系統(tǒng)論文
評(píng)論
0/150
提交評(píng)論