超市收银管理系统的设计毕业设计毕业论文java.doc

上传人:坚持 文档编号:3673036 上传时间:2019-07-05 格式:DOC 页数:15 大小:973.50KB
下载 相关 举报
超市收银管理系统的设计毕业设计毕业论文java.doc_第1页
第1页 / 共15页
超市收银管理系统的设计毕业设计毕业论文java.doc_第2页
第2页 / 共15页
超市收银管理系统的设计毕业设计毕业论文java.doc_第3页
第3页 / 共15页
超市收银管理系统的设计毕业设计毕业论文java.doc_第4页
第4页 / 共15页
超市收银管理系统的设计毕业设计毕业论文java.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、泉 州 师 范 学 院毕业论文题 目 超市收银管理系统的设计 数学与计算机科学 学 院 信息 XXXXXX 专 业 08 级学生姓名 XXX 学 号 0803060XX 指导教师 XXXX 职 称 讲师 完成日期 2011 年 12 月 10 日 教务处 制1超市收银管理系统的设计(数学与计算机科学学院 08 信息 XXXXXXXX)指导教师 XXXXX(讲师)【摘 要】超市是一个以盈利为目的的一个商业机构,所以超市必然要以追求最大的利 润为目的,基于商品在市 场的价位以及销量来确定最优价格,使得商品利 润最大化。而当下不管大小型超市都有收银系统,在收银系统上可以统计一些商品的销量,以及 记录

2、下商品的价格波 动变化,在不同的价格上会产生不同的利润,所以在收银系统中增加一个计算出商品的最优价格的功能,能使超市的盈利达到最大,同时能使商家更好的为商品定价。【关键词】超市;收银系统;最优价格;利润;盈利1. 引言1.1 问题的提出 超市是一个客流量很大的地方,每天有很多的顾客要消费买东西,收银员要和很多的顾客结算,并且要给这些结算存档,以便日后查看或统计。如果只用人工的方法去处理这些结算和计算的数据将是一件很复杂繁琐的事情,而且将要投入大量的人力物力,并且会浪费大量的时间。为了解决此类问题,并且实现科学化、实用化的超市管理,我们就需要设计开发超市管理系统,并用于实践测试,使超市收银进入现

3、代化、简单化。1.2 设计思想该设计的指导思想是一切步骤简单化、实用化,系统的功能全面,界面尽可能美观大方,操作尽量简单明了,而且作为一个实用的应用系统要有较好的容错性,在出现错误操作时能够尽可能及时地给出提示,以便用户及时进行改正,以及避免错误的操作。1.3 系统开发的目标 作为一个应用系统,本系统的开发目标是实现超市管理系统简单化的思想,以查询系统为中心,主要包括相关数据库的设计、基础数据库的导入与修改、超市各种相关数据的查询、销售商品数量的统计的管理等。基于这个简单的设计而言,该系统是为小型超市而开发设计的,小型超市使用本系统,可以方便地快捷地对超市的各种信息进行查询以及修改,并且可以对

4、数据库中商品以及用户进行增加、删除、修改等操作。1.4 系统应用环境 随着设计思想与开发目标的出现,继而出现了开发语言的选择。Java 语言是一种程序设计语言,它简单、易学、易用,并因其可视化编程技术的完美表现和 SQL 语言功能的强大已成为编写数据库管理系统的主要语言之一。它在数据库方面有着广泛的应用,eclipse 开发工具不仅提供了更多更好的设计器、向导、生成器及新类,而且使得客户和服务器结构数据库应用程序的设计更加方便简捷。eclipse 以其强大的工具和面向对象的以数据为中心的语言,将客户/服务器和网络功能集成于现代的、多连接的应用程序,充分发挥了面向对象编程技术和事件驱动方式的优势

5、不断修正和改进直到形成用户满意的可行性系统。基于 eclipse 的以上优点,通过对整个系统进行研究分析,我决定使用eclipse 开发工具,利用其提供的各种面向对象编程的可视化工具来编制出用户满意的数据窗口平台。21.5 课题的研究意义 该系统的开发设计,在使用 eclipse 软件编程的过程中,充分利用了 JAVA 基础程序设计导入数据库管理知识,体现了 JAVA 在链接数据库和面向对象的可视化编程方面的高效,简洁等特点。该系统的应用,能够提高超市信息管理系统各项工作地效率和质量,并且促进商品的销售和利润的最大化;不仅降低各种人为工作地劳动强度,而且使超市的收银员空出更多的精力和时间来完成

6、其他工作,使工作效率很大的提高;改善经营管理,避免是收银的时间消耗,减少了顾客在超市中花费的时间,并且促进了超市的经济效益。2. 系统分析2.1 最优价格模块的思想进入 21 世纪后,随着经济建设的迅速发展,同时使得市场竞争愈演愈烈,这就迫使在市场竞争中想要处于优势地位,商家销售的商品性价比就必须达到最高,同时,超市最大的需求是得到最大的利润,不仅使得超市盈利最多,而且还需要制订出最优价格,来保证超市达到最高的经济效益。下面讨论在如何在超市收银管理系统中增加其独特的功能最优价格模块,为超市提供出最优价格的数据依据,使超市达到最大的盈利。2.2 最优价格的分析正如我们所知,利润是销售收入跟商品总

7、支出之差。为此我们需要在超市收银系统的添加最优价格模块,所以我们要推出商品销售的最优价格的公式,由此我们假设某商品的售价为 p,销售量为 ,x成本为 (显然这个成本与销售量有关) ,根据这些提供的数据,则可以计算出总收入 与总支出xq 分别为C(2-1)x*p(2-2)qC又在市场竞争的情况下销售量 与价格 p 相关,既有销售量 x 依赖与价格 p,记作x(2-3)pf其中 f 称为需求函数,是关于 p 的递减的函数。由于成本与销售量 有关,所以总收入 I 和总支出 C 都是关于价格 p 的函数: 、 ,然后再根据利润= 销售量*价格-总成本,因此x*xq*C利润 U 可以表示为(2-4))(

8、)()( pfqpIpU由一元函数取得极值的必要条件得,使利润 U(p)达到最大的最优价格 p* 可以由得,即有0d*p(2-5)*ppdCI3在数量经济学中 称为边际收入(价格变动一个单位时收入的改变量) , 称为边际支出(价格变dpI dpC动一个单位时支出的改变量) 。 (2-5)式表明最大利润在边际收入等于边际支出时取得。2.2.1 假定在商品的整个供销过程中每件商品成本 q 不变,为讨论方便起见,设需求函数是线性函数:(2-6))0,(fbap把总收入函数、总支出函数、需求函数和(2-6)式代入(2-4)式得(2-7)qUx用微分法得知只有使 U(p)最大时,既令 ,可以从中得到我们

9、需要的最优价格 为0dp *p(2-8)baq2*2.2.2假定在整个销售过程中每件商品的成本q不变,总销售时间为T,且在时间T内销售商品的数量为G件,需求函数仍然假定是线性函数f(p)=a-bp,(a,b0),试制定出此种情况下的商品销售最优价格p*。经计算,整理,最后得到(2-9)bTGaTp*2.3 最优价格的实例问题与解答2-1 某家超市提供的销售数据产品 销售时间 单品成本(元)单品售价(元)销量(件)总收入 总成本 利润3.5 4.2 583 2448.6 2040.5 408.13.5 4.5 552 2484 1932 552牙膏 30 天3.5 4.8 413 1982.4

10、1445.5 536.9由上表可以明显的看出同样的一款商品在相似的时间段,不同的售价可以得到不同的利润。基于以上的数据可以看出定位准确的销售价格对于商家的收益起着决定性的地位,所以该收银系统就于收银系统收集的数据分析出最优价格,使得超市在销售过程中得到最好的收益。3. 系统结构首先,系统主要有两个模块组成:系统收银主界面和销售管理界面。其中,收银主界面中包括登录界面、注册界面;销售管理界面中又包含着许多小模块:如添加商品、添加用户、修改商品、查看商品等模块。在程序中有一个非常重要的模块,就是编辑模块的 GUI,由于在系统在对“数据.mdb”数据库中的商品列表、用户列表里完成添加、删除、修改的操

11、作的类中,有几个程序有相似的 GUI,因此声明了类 EditorUI 以封装该 GUI。(注:GUI 为图形用户界面)类 EditorUI 完成编辑记录的画面设计,其设计思路如下:(1)调用者利用 EditorUI 类构造方法的参数(字符型数组 Sting arrayString),传递输入记录画面上一组列的标题。在 EditorUI 类构造方法中,从数组 arrayString 的实例变量arrayString.length 中可得到列的个数,并取出列的标题放在 labels 数组。4(2)定义一组文本字段 fields用于编辑一张表的记录各字段,并且调用者通过方法 getFieds()和

12、setFields()可读取和设置 fields 值。(3)类 EditorUI 界面上提供两个通用 Button 按钮:doTask1、doTask2,按钮的标签内容和按钮的事件处理过程可通过调用者来设置。3.1 超市收银系统定制最优价格的流程最优价格的模设计思想:该收银管理系统的创新点在于收集商品的销售数据,统计并且计算出商品的最优价格,给超市商品销售的销售价格一个参考,同时作为商品在市场上的价位的一个数据依据。在超市销售系统中,可进行如下的流程(图 3-1) ,对商品的价格进行修整,能对超市所最求的最大利润相磨合。计算出商品的最优价格商品获取最大利润销售商品的售价以及销量调整商品的销售价

13、格3-1 超市收银系统定制最优价格的流程图3.2 创建数据库在前面分析的基础上,得到了数据库的逻辑结构,然后就可以在 Microsoft Office Access2003数据库中是建立该逻辑结构。下面是数据库的创建过程:3.2.1 创建数据库 mdb 文件。在 Microsoft Office Access 主窗口选择文件新建命令,会弹出一个对话框 “新建文件” ,点击建立“空数据库” ,并选择保存位置以及保存的数据库名称,保存为“数据. mdb” 。3.2.2 创建项目的数据库。在数据库设计对话框中,选择对象为“表” ,点击菜单栏上的新建,在弹出的对话框中选择“数据视图表”单机确定。分别添

14、加如需要的列选项:商品编码、名称、价格、数量并保存为 Product。同样的方法建立表 user。3.2.3 在数据库中创建下面两个表格:3-1 商品数据表字段名 显示名称 类型 宽度ID 商品编号 Char 13NAME 商品名称 Char 40Price 商品价格 Double 5Cost 商品成本 Double 5Quality 商品数量 Int 553-2 用户数据表字段名 显示名称 类型 宽度UID 用户 ID Char 20UNAME 用户名 Char 20PassWord 密码 Char 20TYPE 权限 Int 1STATE 状态 Int 1通过此方法导入数据库:public

15、 void connect() 数据库 = new JDBCAdapter( “jdbc:odbc:数据“,“sun.jdbc.odbc.JdbcOdbcDriver“, “, “);3.3 系统的类图在设计超市收银管理系统时,需要编写以下几个 Java 源文件:Login.java、OperateDatabase.java、zhuce.java、SaleManger.java、Bangzhu.java、Bestprice.java、Bestprice2.java、DisplayProduct.java、DisplayRecord.java、DisplayUser.java、JDBCAdapt

16、er.java、JMoneyField.java、Music.java、Bestprice.java 、Bestprice2 .java、SetAddProduct.java、SetAddUser.java、SetDeleteProduct.java、SetDeleteUser.java、Setting.java、SetUpdateProduct.java、SetUpdateUser.java 和 EditorUI.java。超市收银管理系统用到的一些重要的类以及之间的组合关系如图 3-4 所示。其中 Login.java 为系统的入口类,该类具有主方法,程序也是从该类开始执行。SaleMan

17、ger.java 是负责收银功能的主窗口,该类没有主方法,只有在登录框中输入正确的用户名和密码才能进入该窗口。Setting.java 是系统的管理界面,同样没有主方法,只有在用管理用户登录后进入主界面后点击“管理”按钮后才能打开的窗口。6Login.java(登录类)Zhuce.java(注册类)OperateDatabase(连接数据库类)SaleManger(销售界面)JMoneyFieldBangzhuJDBCAdapterMusicSetting(管理界面)DisplayProductDisplayUserDisplayRecordSetAddProductSetDeleteProd

18、uctSetUpdateProductSetAddUserSetDeleteUserSetUpdateUserBestprice EditorUIBestprice23-4 超市收银管理系统的类图4. 系统界面设计4.1 总体结构本系统主要由以下界面组成: 登录界面 注册界面 系统主界面 销售管理界面4.2 登录界面登陆界面主要有三个按钮,两个文本框组成。该登陆窗体对用户登陆做了一个简单的判断,该界面是系统的登录界面,并提供验证管理员身份合法性的功能,设计完成的效果下图所示 。用户输入用户名和相应的正确密码,单击“登录”按钮,就可以进入系统主界面。登录类Login.java。74-1用户登录界

19、面为了提高软件的容错性,判断若数据库没有导入(既数据库没有通过管理工具的数据源管理工具将系统的数据库导入),或用户名、密码错误时打开错误提示框:4-2数据库未导入提示界面 4-3用户名或码错误提示界面其中,登录过程中做一下简单判断:如果用户名和密码中的数据正好和“user”表中的某个记录相同,则通过登陆窗体,否则提示用户用户名或密码有误。在通过登陆窗体中还要对用户名做一下判断:如果是管理员登陆,则进入主界面。系统的关键代码:public void actionPerformed(ActionEvent e) if(e.getSource()=bt1) OperateDatabase temp=

20、new OperateDatabase();username=tf1.getText();code=tf2.getText();String sql=“SELECT * FROM user where UID=“+“+username+“+“and PassWord=“+“+code+“;try rs=temp.Query(sql);if(rs.next() mingzi=username; /*记录登录的用户名*/this.dispose(); new SaleManger();elseJOptionPane.showMessageDialog(null, “用户名或密码错误“,“输入出错“

21、,JOptionPane.ERROR_MESSAGE);8catch(Exception s) s.printStackTrace(); temp.close();if(e.getSource()=bt2) System.exit(0); if(e.getSource()=button) /*如果点击的是注册按钮直接加入注册界面 */this.dispose();new zhuce(); 4.3 注册界面其中注册页面中主要完成的功能是申请进入系统的一个帐号。主要由三个标签,三个文本框,两个按钮组成。完成输入的数据后,点击“注册”按钮后,对数据库进行添加数据的操作,在此页面上进行注册的用户默认都

22、是普通用户,没有管理权限。4-4用户注册界面同样的,为了提高软件的容错性,判断若数据库存在该帐号,就会提示“帐号已存在,请重新注册!”其中通过SQL语言对数据库进行查询(详情见附带代码)。4-5帐号已存在提示界面 4-6用户名成功注册关键代码如下:public void actionPerformed(ActionEvent e)9if(e.getSource()=button)OperateDatabase temp=new OperateDatabase();uid=tf3.getText();username=tf1.getText();code=tf2.getText();String

23、 sql2=“INSERT INTO user(UID,UNAME,PassWord)“+“VALUES(“+uid+“, “+username+“,“+code+“)“;try rs=temp.Query(“select * from user where UID=“ +uid +“);if(rs.next()JOptionPane.showMessageDialog( null, “账号已存在,请重新注册!“, “注册的结果“, JOptionPane.PLAIN_MESSAGE );this.dispose();new zhuce();elseif(username=null) JOpt

24、ionPane.showMessageDialog( null, “账号不能为空,请重新注册!“, “注册的结果“, JOptionPane.PLAIN_MESSAGE );else temp.Insert_Delete(sql2);JOptionPane.showMessageDialog( null, “注册成功!“, “注册的结果“, JOptionPane.PLAIN_MESSAGE );this.dispose();new Login();catch(Exception s)s.printStackTrace(); temp.close();if(e.getSource()=bt2)System.exit(0);4.4 系统主界面该界面能够简单的实现超市所需要的收银结账的功能,主要有三个模块构成,其中上半部分为商品编码输入窗口,能够根据输入的商品,显示出商品的名称、价格等基础信息,同时能够修改商品的数量。还有一个“购买”按钮,点击按钮可就当前选定的商品加入购物总框中,以便统计。下部分左侧为需要购买的商品的统计,可统计顾客全部的购买信息。下部分右侧统计顾客所有购买的商品的总价格,并且通过顾客所付的金额,计算出需要给顾客找的金额。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。