劉曄
【摘 要】文章在分析超市收銀管理系統(tǒng)功能的基礎(chǔ)上,對超市收銀系統(tǒng)設(shè)計進行分析,為超市收銀系統(tǒng)的功能全面化和運行高效化提供保障,可為相關(guān)系統(tǒng)設(shè)計工作者提供參考。
【關(guān)鍵詞】Linux;超市收銀系統(tǒng)
超市收銀系統(tǒng)不僅提高了超市收銀人員的工作效率和商品管理水平,而且也提高了超市的服務(wù)質(zhì)量和整體管理水平。因此,開發(fā)超市收銀系統(tǒng)的目標(biāo)就是立足實際應(yīng)用,著眼超市未來的發(fā)展,方便超市庫存、銷售記錄的統(tǒng)計。文章設(shè)計了一套基于linux平臺的超市收銀系統(tǒng),能節(jié)省大部分硬件資源,安全穩(wěn)定,操作簡便,為超市管理提供一套有力的解決方案。
一、系統(tǒng)功能分析
(1)前臺系統(tǒng)功能。前臺系統(tǒng)用戶登入后可直接進入前臺收銀界面。第一,用戶登入。根據(jù)用戶輸入的賬戶ID,賬戶密碼到數(shù)據(jù)庫中查詢該收銀員賬號是否存在,如果驗證不通過,則提示登錄失敗。第二,前臺收銀模塊。前臺收銀界面包括注銷退出、收銀掛單、撤單、取單、退貨等功能模塊。(2)后臺系統(tǒng)。后臺系統(tǒng)主要包括商品管理、賬戶管理、記錄查詢?nèi)齻€功能模塊。第一,商品管理。包括添加商品、刪除商品、修改商品、查詢商品能功能。第二,賬戶管理??梢詫嵤┨砑淤~戶、刪除賬戶、修改賬戶、查詢賬戶等操作。第三,記錄查詢。按日期或者員工ID查詢記錄。
二、系統(tǒng)設(shè)計
本系統(tǒng)根據(jù)超市收銀的業(yè)務(wù)流程來劃分模塊的,利用linux c和oracle來開發(fā)系統(tǒng)的,每個模塊功能不同,但又因數(shù)據(jù)的共享而相互關(guān)聯(lián)在一起,可以實現(xiàn)數(shù)據(jù)的實時更新??紤]到系統(tǒng)的更新問題,所以本系統(tǒng)的開發(fā)采用增量模型(Incremental
Model)。(1)系統(tǒng)開發(fā)環(huán)境介紹。GCC(GNU Compiler Collec
tion,GNU編譯器套裝)是一套以GPL及LGPL許可證所發(fā)行的自由軟件,也是GNU計劃的關(guān)鍵部分,亦是自由的類Unix 及蘋果計算機Mac OS X操作系統(tǒng)的標(biāo)準(zhǔn)編譯器。Ncurses是最早的System V Release 4.0(SVr4)中curses的一個克隆。這是一個可自由配置的庫,完全兼容舊版本的curses。curses構(gòu)成了一個工作在底層終端代碼之上的封裝,并向用戶提供了一個靈活高效的API(Application Progr amming Interface應(yīng)用程序接口)。它提供了移動光標(biāo),建立窗口,產(chǎn)生顏色,處理鼠標(biāo)操作等功能。使程序員編寫應(yīng)用程序不需要關(guān)心那些底層的終端操作。(2)數(shù)據(jù)模型及數(shù)據(jù)庫設(shè)計。數(shù)據(jù)庫主要包括員工表、商品表、掛單臨時表、銷售表四個組成部分,銷售表又對應(yīng)有銷售明細表,可根據(jù)銷售表中的銷售單號查詢銷售明細。(3)人機相互界面設(shè)計。本軟件在Ncurse的基礎(chǔ)上封裝了MyWindow結(jié)構(gòu)。用C語言,遵循面向?qū)ο笏枷敕盅b了一個易用MyWindow結(jié)構(gòu)。界面業(yè)務(wù)邏輯大致相同,界面樸素大方,易于使用。(4)系統(tǒng)設(shè)計。第一,各個模塊文件(以.h文件說明)。BaseEnvInit.h(環(huán)境初始化):Linux-ncurse環(huán)境的初始化,是Ncurse使用的基礎(chǔ)。Button.h(按鈕封裝):封裝按鈕結(jié)構(gòu),包括大小、顏色、名稱、按鈕ID等靜態(tài)屬性,還包括按下按鈕、焦點動作。TextBox.h(輸入文本框封裝):包括文本框字符容量,位置等靜態(tài)屬性,還包括按下,輸入字符等動作。MyWindow.h(窗口封裝):系統(tǒng)中所有的窗口都是由這個窗口結(jié)構(gòu)創(chuàng)建出來的,在開發(fā)界面過程中靈活易用。DuLink.h(通用雙鏈表):通用雙鏈表,購買清單,查詢結(jié)果清單,用鏈表來存儲便于打印。雙鏈表是這個系統(tǒng)中扮演的角色,舉足輕重。FunctionLib.h(用戶函數(shù)庫):一些函數(shù)的聲明。MyWindow.h(窗口封裝):系統(tǒng)中所有的窗口都是由這個窗口結(jié)構(gòu)創(chuàng)建出來的,在開發(fā)界面過程中靈活易用。OperationDB.h(Pro*c):對數(shù)據(jù)庫進行增刪改查操作。PosSysMain.c(系統(tǒng)主函數(shù)):Main函數(shù)。oracle.cfg(數(shù)據(jù)庫配置文件):數(shù)據(jù)庫配置文件,記錄數(shù)據(jù)庫用戶名,密碼相關(guān)信息。Makefile:編譯規(guī)則文件。本程序?qū)yWindow的封裝花了很多精力,也有一定得難度,使整個系統(tǒng)中,前臺主界面,后臺菜單界面,彈出框界面的開發(fā)輕松不少。后期的維護性好,代碼復(fù)用性高,容易擴展。第二,技術(shù)要點說明。本程序前臺采用Ncurse庫界面庫,C語言,Oracle數(shù)據(jù)庫存儲數(shù)據(jù),Pro*c操作數(shù)據(jù)庫進行開發(fā)。達到商業(yè)化軟件設(shè)計要求:一是在Linux環(huán)境用GCC編譯環(huán)境,進行開發(fā)。二是使用了Ncurse屏幕顯示庫。在它的基礎(chǔ)上,封裝了自己的界面工具庫。三是使用Pro*c對數(shù)據(jù)庫進行增刪改查操作。
文章所設(shè)計的系統(tǒng)流程簡單,功能俱全,維護性、擴展性好,具有一定的實際應(yīng)用價值,但本系統(tǒng)安全性還有待進一步測試和優(yōu)化。
參 考 文 獻
[1][英]斯通斯,[英]馬修著,陳健譯.Linux程序設(shè)計[M].北京:人民郵電出版社,2007
[2]Brian W. Kernighan & Dennis M. Ritchie.C語言程序設(shè)計[M].北京:機械工業(yè)出版社,2004