基于Linux平台的超市收银系统设计分析
2013-08-19刘晔
刘晔
【摘 要】文章在分析超市收银管理系统功能的基础上,对超市收银系统设计进行分析,为超市收银系统的功能全面化和运行高效化提供保障,可为相关系统设计工作者提供参考。
【关键词】Linux;超市收银系统
超市收银系统不仅提高了超市收银人员的工作效率和商品管理水平,而且也提高了超市的服务质量和整体管理水平。因此,开发超市收银系统的目标就是立足实际应用,着眼超市未来的发展,方便超市库存、销售记录的统计。文章设计了一套基于linux平台的超市收银系统,能节省大部分硬件资源,安全稳定,操作简便,为超市管理提供一套有力的解决方案。
一、系统功能分析
(1)前台系统功能。前台系统用户登入后可直接进入前台收银界面。第一,用户登入。根据用户输入的账户ID,账户密码到数据库中查询该收银员账号是否存在,如果验证不通过,则提示登录失败。第二,前台收银模块。前台收银界面包括注销退出、收银挂单、撤单、取单、退货等功能模块。(2)后台系统。后台系统主要包括商品管理、账户管理、记录查询三个功能模块。第一,商品管理。包括添加商品、删除商品、修改商品、查询商品能功能。第二,账户管理。可以实施添加账户、删除账户、修改账户、查询账户等操作。第三,记录查询。按日期或者员工ID查询记录。
二、系统设计
本系统根据超市收银的业务流程来划分模块的,利用linux c和oracle来开发系统的,每个模块功能不同,但又因数据的共享而相互关联在一起,可以实现数据的实时更新。考虑到系统的更新问题,所以本系统的开发采用增量模型(Incremental
Model)。(1)系统开发环境介绍。GCC(GNU Compiler Collec
tion,GNU编译器套装)是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,亦是自由的类Unix 及苹果计算机Mac OS X操作系统的标准编译器。Ncurses是最早的System V Release 4.0(SVr4)中curses的一个克隆。这是一个可自由配置的库,完全兼容旧版本的curses。curses构成了一个工作在底层终端代码之上的封装,并向用户提供了一个灵活高效的API(Application Progr amming Interface应用程序接口)。它提供了移动光标,建立窗口,产生颜色,处理鼠标操作等功能。使程序员编写应用程序不需要关心那些底层的终端操作。(2)数据模型及数据库设计。数据库主要包括员工表、商品表、挂单临时表、销售表四个组成部分,销售表又对应有销售明细表,可根据销售表中的销售单号查询销售明细。(3)人机相互界面设计。本软件在Ncurse的基础上封装了MyWindow结构。用C语言,遵循面向对象思想分装了一个易用MyWindow结构。界面业务逻辑大致相同,界面朴素大方,易于使用。(4)系统设计。第一,各个模块文件(以.h文件说明)。BaseEnvInit.h(环境初始化):Linux-ncurse环境的初始化,是Ncurse使用的基础。Button.h(按钮封装):封装按钮结构,包括大小、颜色、名称、按钮ID等静态属性,还包括按下按钮、焦点动作。TextBox.h(输入文本框封装):包括文本框字符容量,位置等静态属性,还包括按下,输入字符等动作。MyWindow.h(窗口封装):系统中所有的窗口都是由这个窗口结构创建出来的,在开发界面过程中灵活易用。DuLink.h(通用双链表):通用双链表,购买清单,查询结果清单,用链表来存储便于打印。双链表是这个系统中扮演的角色,举足轻重。FunctionLib.h(用户函数库):一些函数的声明。MyWindow.h(窗口封装):系统中所有的窗口都是由这个窗口结构创建出来的,在开发界面过程中灵活易用。OperationDB.h(Pro*c):对数据库进行增删改查操作。PosSysMain.c(系统主函数):Main函数。oracle.cfg(数据库配置文件):数据库配置文件,记录数据库用户名,密码相关信息。Makefile:编译规则文件。本程序对MyWindow的封装花了很多精力,也有一定得难度,使整个系统中,前台主界面,后台菜单界面,弹出框界面的开发轻松不少。后期的维护性好,代码复用性高,容易扩展。第二,技术要点说明。本程序前台采用Ncurse库界面库,C语言,Oracle数据库存储数据,Pro*c操作数据库进行开发。达到商业化软件设计要求:一是在Linux环境用GCC编译环境,进行开发。二是使用了Ncurse屏幕显示库。在它的基础上,封装了自己的界面工具库。三是使用Pro*c对数据库进行增删改查操作。
文章所设计的系统流程简单,功能俱全,维护性、扩展性好,具有一定的实际应用价值,但本系统安全性还有待进一步测试和优化。
参 考 文 献
[1][英]斯通斯,[英]马修著,陈健译.Linux程序设计[M].北京:人民邮电出版社,2007
[2]Brian W. Kernighan & Dennis M. Ritchie.C语言程序设计[M].北京:机械工业出版社,2004