超市收银管理系统

上传人:小*** 文档编号:139123354 上传时间:2022-08-22 格式:DOC 页数:30 大小:307.74KB
返回 下载 相关 举报
超市收银管理系统_第1页
第1页 / 共30页
超市收银管理系统_第2页
第2页 / 共30页
超市收银管理系统_第3页
第3页 / 共30页
点击查看更多>>
资源描述
RFID原理与应用课程设计 超市收银管理系统的实现 目 录1 绪论21.1 课题的背景及意义21.1.1 系统功能设计21.1.2 系统设计31.2 论文主要工作和结构安排32 系统功能52.1 系统功能设计53 相关技术及工具介绍93.1 系统应用程序开发环境93.2 系统后台数据库开发工具93.3 系统设计采用框架结构104 设计总结124.1 总结12附 录141 绪论该部分主要介绍当前文件管理系统的背景及意义。本次设计就是利用数据库有效、完整、安全储存、便于管理等多项优点对超市的会员信息及消费的数据运用数据库进行管理实现超市高效率的运作。1.1 课题的背景及意义21世纪,超市的竞争也进入了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争管理的竞争人才的竞争,技术的提升和管理的升级是超市业竞争的核心。零售领域目前呈多元发展趋势。如何在竞争的激烈中扩大销售降低经营成本,扩大经营规模成为超市经营者努力追求的目标。因此我们有必要制定一套合理有效规范和实用的超市管理系统的一项分支超市收银管理系统,对超市的日常收银业务进行集中统一的管理。超市收银系统具有高效性时效性。该系统的三大益处有:(1)大大提高超市的运作效率; (2)通过全面的信息采集和处理,辅助提高超市的决策水平; (3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力, 提供有效的技术保障。 1.1.1 系统功能设计(1) 系统主要分为用户管理和商品管理两个模块。(2) 用户管理对超市人员进行信息管理,进行人员信息的增删查改。(3) 用户登录是登录进入管理员或者是收银员身份。(4) 商品管理是对超市商品进行信息统计包括商品名称,单价和现有数量。(5) 商品详情是查看统计顾客所要购买的商品的信息。(6) 付款界面是多当前顾客购买的商品信息进行总价统计所支付的钱。超市收银管理系统用户管理商品管理付款商品详情人员信息管理用户登录图1总体模块设计图1.1.2 系统设计超市收银系统采用SQL Sever语言进行数据库的连接利用数据库有效、完整、安全储存、便于管理等多项优点对超市的会员信息及消费的数据运用数据库进行管理实现超市高效率的运作。本系统采用.net framework框架结构,可以模块化的对人员信息和商品信息进行直观的了解并可以对信息进行快速的增删查改。通过数据库的多项信息安全高效的处理和.net framework框架结构的模块化的相结合,实现了最优的管理系统。方便了超市管理者的管理。1.2 论文主要工作和结构安排该论文主要应用程序开发环境:Microsoft Visual Studio2010;后台数据库开发工具:Microsoft SQL Server 2005,工作是在.NET操作系统下,利用c#开发语言,实现的超市收银管理系统。其目标在于实现超市对收银用户的信息记录和超市现有库存商品情况记录和罗列付费商品清单。前期工作:(1) 首先,根据所作的需求分析,完成基本的功能界面设计。(2) 根据(1)中界面设计,把每个功能通过代码来实现,以完成功能的定义。(3) 根据关系数据库模式中的数据库表的设计,并通过SQL Server 2005建立数据库。 (4) 把设计好的界面和数据库连接起来,使整个系统能够运行。 (5) 选取几个典型的例子对该系统进行测试,不断地发现问题和解决问题,最终使该系统能够正常的运行,完成相应的任务。 (6) 编写文档。论文结构安排上主要分为绪论、系统功能、相关技术及工具介绍、总结四个部分,每一个部分具体分工如下:1、 绪论:该部分主要介绍当前设计的管理系统的背景及意义,市场的前景分析及系统自身的优点。以及论文主要工作及结构安排。运用c#语言,通过数据库的多项信息安全高效的处理和.net framework框架结构的模块化的相结合,实现了最优的管理系统。提高超市的便捷高效的管理。2、系统功能:该部分主要介绍该系统功能设计以及系统功能分析,从而能够展示整个系统的功能的规划。3、相关技术及工具介绍:该部分主要介绍系统所采用系统应用程序开发环境系统后台数据库开发工具,系统设计采用框架结构的相关知识。4、总结:该部分主要介绍在设计超市收银管理系统实现过程中自己的收获。2 系统功能该部分主要介绍该系统功能的整体设计和系统的模块化设计以及系统功能分析,系统的功能规划如下所示: 2.1 系统功能设计根据系统的开发背景和意义以及需求分析确定该系统划分为以下几个管理功能:(1)系统用户管理功能该用户管理功能主要完成对超市收银人员信息的管理,首先管理员登录该功能的用例图如图2-1所示 2-1 用户登录界面根据设置权管理员可对人员信息进行增删查改。信息录入主要有人员系统登录的账号密码,家庭住址、手机号、QQ号和权限等操作。该功能的用实现界面如图2-2所示: 2-2 人员信息注册界面利用数据库和程序连接进行信息管理。数据库人员信息存储界面如2-3所示2-3 数据库人员信息表(2)商品管理 商品管理是由管理员权限才可以进行商品信息的增删查改。商品管理主要查看添加入库商品的信息以及库存商品的信息,并对库存商品的信息进行修改和查询。如图2-4界面所示: 2-4 商品管理界面 在“添加商品”界面中按要求填入商品的名称、单价、数量,点击“确认”按钮即可。如2-5添加商品界面所示: 2-5添加商品界面 在“商品管理”界面中,点击“查询删除”按钮即可看到所有商品的详细信息,若输入某商品名称仅查看到该商品的信息;点击到商品信息的某一栏,更改数字,点击“删除”按钮则商品的这一信息就被删除成功。如图2-6商品查看界面所示: 2-6商品查看界面顾客结账时物品消费清单罗列和系统计算应付,实收和应找零结账流程如图2-7物品消费清单界面,2-8付费界面所示: 2-7物品消费清单界面 2-8付费界面 3 相关技术及工具介绍该部分主要介绍系统所采用的技术及开发工具,涉及该系统采用的开发工具及技术,以及该系统涉及的数据库相关知识。 相关技术及工具介绍本系统是在下列开发环境下完成的: (1)应用程序开发环境:Microsoft Visual Studio 2010(2)后台数据库开发工具:Microsoft SQL Server 2005(3)本系统采用.netframework框架结构(4)文档开发环境:Microsoft Office WPS文字3.1 应用程序开发环境使用Visual Studio 2010集成化开发环境Visual Studio 2010是微软公司集成化开发环境的最新版本,微软一共发布了如下4个版本的Visual Studio 2010。Visual Studio 2010的用户界面与以前版本相比有了相当显著的改进。微软使用WPF技术进行UI开发,无论在响应还是外观来说都更加吸引人,大大增强了用户的使用舒适性。与之前的版本相比较,Visual Studio 2010在许多方面都得到了增强,比如WPF设计器、智能提示、代码高亮、可视化类设计器等。其中一些独特的特性如下。 可视化的XML编辑器及设计器; 支持Windows移动开发; 支持Office开发; 为Windows Workflow Foundation项目提供了设计时的支持; 整合支持的代码重构; 可视化的类设计工具。3.2 后台数据库开发工具该系统后台数据库采用MicrosoftSQLServer数据库开发工具,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大、效率高。sql server 2005是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。sql server 2005 - 数据库管理10个最重要的特点数据库镜像、在线恢复在线检索操作、快速恢复、安全性能的提高、新的SQL Server Management Studio、专门的管理员连接、快照隔离、数据分割、增强复制功能。sql server 2005 - 有关开发的10个最重要的特点.NET 框架主机、XML 技术、ADO.NET 2.0 版本、增强的安全性、Transact-SQL 、增强性能、SQL 服务中介、通告服务、Web服务、报表服务、全文搜索功能的增强。3.3系统设计采用框架结构.NET技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。.NET的目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展,使用户在任何地方、任何时间、利用任何设备都能访问所需要的信息、文件和程序。.NET平台包括.NET框架和.NET开发工具等部分。.NET框架(Framework)是整个开发平台的基础,包括公共语言运行库和.NET类库。.NET开发工具包括Visual Studio.NET集成开发环境和.NET编程语言。.NET编程语言包括Visual Basic、Visual C+和新的Visual C#等用来创建运行在公共语言运行库(Common Language Run,CLR)上的应用程序。.NET框架结构如图1-1所示。 图3-1 .NET框架结构2公共语言运行库公共语言运行库是 .NET Framework 的基础。可以将运行库看成一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。这些功能是在公共语言运行库上运行的托管代码所固有的。3.NET框架类库.NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合,是对Windows API封装的全新设计,它为开发人员提供了一个统一的、面向对象的、分层的和可扩展的庞大类库。该类库是面向对象的,使 .NET Framework 类型易于使用,而且还减少了学习 .NET Framework 的新功能所需要的时间。此外,第三方组件可与 .NET Framework 中的类无缝集成。 例如,用.NET Framework 集合类实现一组可用于开发您自己的集合类的接口。您的集合类将与.NET Framework 中的类无缝地混合。 .NET Framework 类型使您能够完成一系列常见编程任务(包括字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案的类型。例如,可使用 .NET Framework 开发下列类型的应用程序和服务:控制台应用程序。Windows GUI应用程序(Windows 窗体)。ASP.NET应用程序。XML Web services。Windows 服务。本次设计的超市收银管理系统是由 .NET Framework 开发的Windows GUI应用程序(Windows 窗体)。4 设计总结该部分主要介绍在设计超市收银管理系统实现过程中自己的收获。 4.1 总结 通过本次实训,感觉.NET是一个很好的开发工具,在使用时很方便,关于界面开发方面:具有很大的优势,都是一些插件性的。比较容易开发,但是经过最近的学习感觉对.NET开发界面的熟悉很重要。当然了,闲暇之时多看一些相关控件的属性和一些相关的教学视频自学一下课堂上老师的设计目标是怎样是的并对其有一定的了解。如果说,把C#开发界面,拿到软件工程开发的方法来看,逐步求精是最好的学习方法。因为所有的任务都可以在一个应用程序开发中得到体现,从而也是的该应用程序更加完美!主要培养了自己的规范研发能力,学习了企业项目开发的整个过程和团队项目开发经验,并且加强了.NET新技术的学习,熟练掌握了常用的软件开发工具(如Visual Studio 2010) 的操作规程。以及与数据库后台开发工具的数据管理的高效性相结合的系统程序开发实现了此次超市收银管理系统的设计。经过这一段时间的实训也面临了很多的问题,问题在一步步的解决而我也深有感想并对自己这段时间所参悟的怎样学习C#有以下心得: 1.看看写写改改 看一看,改一改别人写的代码,养成一个简单程序。看一看比一比就知道,谁的程序好谁的程序更成熟。 2. 编一编敲一敲 看了其他人的代码代码,这是了解他们的代码,也必须了解代码的执行过程。特别是在编译的时候,你会发现的你的进步和不足。在经历无数错误中你也取得的许许多多的经验,这是多少成功的必备之路。 在无数编程过程中,大家都会发现,你的很多英文都会输入错误。都用全叫的句号代替那半角点。这个神奇的点。 3.从简单开始 大家都喜欢一部登天,那是不可能的事情。无数的错误在积累经验的同时也会把你的自信心会被削弱的。切记切记,不要把自己的自信心打击没有了。从最基本的学起、从简单开始。代码重复利用是快乐的,这样很节省代码的输入量,有信心后再去攻克、再去挑战。4.在交流中成长 都说当局者迷,可能是很简单的属性设置的问题,或者是那个全角半角的句号,也许是你想不到的边边角角的问题,你却怎么也检查不出来的问题,多和同学交流交流也许很快就解决了。大家要知道,通过网络的搜索,很会找到很多,有关的话题的解决方法,很多你遇到的问题,很有可能,早就被人发现,发现的同时也被其他人解决。你会在寻找问题的答案中,获得进步。5.不断突破创新 编程和其他事情一样,最烦的就是套用老方式和老办法。你可以充分利用,现有的对象,进行细化和增加新的属性。创新是编程最大的灵感。 6.在总结中成熟 不断的总结中,你会发现,你的的进步,同时也存在很多的不足。所以,你要不断的改进你的学习方法,使之不断的进步。编程的本身是一项创造性的工作。灵感来自客户的需要,来自市场的需要,来自用户的便捷操作,来自您对自己的信心。让你在不断的总结中不断的成熟。参考文献1 张俊 崔海波 著 ADO.NET数据库应用开发 2008年1月 机械工业出版社 2徐孝凯贺佳英著数据库基础与SQLServer应用开发2008年4月清华大学出版社3 我要自学网.c#入门教程附 录核心代码:(1)超市管理(用户管理)系统using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 超市管理 public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) /用户登录 if (textBox1.Text = ) MessageBox.Show(请输入用户名); else if (textBox2.Text = ) MessageBox.Show(请输入密码); else string s1 = lianjie.Getcon(); SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = s1; try / mycon.Open(); string ss= select yonghu,mima from yonghu whereyonghu=+textBox1.Text+and mima= + textBox2.Text + ; SqlCommand selectcmn = new SqlCommand(ss, mycon); SqlDataReader custDR = selectcmn.ExecuteReader(); if (custDR.HasRows)/判断是否查询到 custDR.Close(); string ss1 = select yonghu,mima,quanxian from yonghu whereyonghu= + textBox1.Text + and mima= + textBox2.Text + and quanxian=管理员; SqlCommand selectcmn1 = new SqlCommand(ss1, mycon); SqlDataReader custDR1 = selectcmn1.ExecuteReader(); if (custDR1.HasRows)/管理员窗口调用 string zhanghu1 = this.textBox1.Text; Form4 f4 = new Form4(zhanghu1); f4.Show(); else/收银员窗口调用 string zhanghu = this.textBox1.Text; Form2 f2 = new Form2(zhanghu); f2.Show(); else MessageBox.Show(账号或密码错误); mycon.Close(); catch (Exception ex) MessageBox.Show(ex.Message); mycon.Close(); private void button2_Click(object sender, EventArgs e) Application.Exit(); private void Form1_Load(object sender, EventArgs e) (2)商品管理using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 超市管理 public partial class Form2 : Form public Form2(string zhanghu) InitializeComponent(); this.Text = zhanghu; float sum1= 0; float zong = 0; public static string str = ; private void Form2_Load(object sender, EventArgs e) string s1 = lianjie.Getcon(); SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = s1; mycon.Open(); string ss = select shangping from wuping; SqlCommand selectcmn = new SqlCommand(ss, mycon); SqlDataReader custDR = selectcmn.ExecuteReader(); comboBox1.Items.Clear(); while (custDR.Read() comboBox1.Items.Add(custDR0); mycon.Close(); private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) str = comboBox1.SelectedItem.ToString(); private void button1_Click(object sender, EventArgs e) if (str = ) MessageBox.Show(请选择商品); return; else if (textBox1.Text = ) MessageBox.Show(请输入购买数量); textBox1.Focus(); return; else try string s1 = lianjie.Getcon(); SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = s1; mycon.Open(); string ss = select danjia,shuliang from wuping where shangping= + str + ; SqlCommand selectcmn = new SqlCommand(ss, mycon); SqlDataReader custDR = selectcmn.ExecuteReader(); custDR.Read(); string ss1 = custDR.GetString(custDR.GetOrdinal(danjia); string ss2 = custDR.GetString(custDR.GetOrdinal(shuliang).ToString(); mycon.Close(); int num = int.Parse(textBox1.Text); if (num int.Parse(ss2) MessageBox.Show(库存不足,该商品剩余 + ss2); return ; else float sum = float.Parse(ss1) * num; ListViewItem lv = new ListViewItem(str.ToString(); lv.SubItems.Add(ss1.ToString(); lv.SubItems.Add(textBox1.Text); lv.SubItems.Add(sum.ToString(); listView1.Items.Add(lv); string sum2 = ; sum1 = sum1 + sum; sum2 = sum2 + sum1; textBox2.Text = sum2; mycon.Open(); string ss3=(int.Parse(ss2)-num).ToString(); string sss = update wuping set shuliang=+ss3+ where shangping=+ str + ; SqlCommand selectcmn1 = new SqlCommand(sss, mycon); SqlDataReader custDR1 = selectcmn1.ExecuteReader(); mycon.Close(); catch (Exception ex) MessageBox.Show(ex.Message); private void button2_Click(object sender, EventArgs e) string str1 = this.textBox2.Text; Form8 f8 = new Form8(str1); f8.Show(); zong = sum1+zong; sum1 = 0; textBox1.Clear(); listView1.Items.Clear(); textBox2.Clear(); private void button3_Click(object sender, EventArgs e) private void Form2_FormClosing(object sender, FormClosingEventArgs e) MessageBox.Show(zong.ToString(); (3)用户信息管理using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 超市管理 public partial class Form3 : Form public Form3() InitializeComponent(); public int panduan() if (textBox1.Text = ) MessageBox.Show(请输入账号); textBox1.Focus(); return 0; else if (textBox2.Text = ) MessageBox.Show(请输入密码); textBox2.Focus(); return 0; else if (textBox3.Text = ) MessageBox.Show(请输入再次输入密码); textBox3.Focus(); return 0; else if (textBox4.Text = ) MessageBox.Show(请输入家庭住址); textBox4.Focus(); return 0; else if (textBox5.Text = ) MessageBox.Show(请输入家庭住址); textBox5.Focus(); return 0; else if (textBox6.Text = ) MessageBox.Show(请输入QQ); textBox6.Focus(); return 0; else if (textBox2.Text != textBox3.Text) MessageBox.Show(密码不匹配,请重新输入); textBox2.Clear(); textBox3.Clear(); textBox2.Focus(); return 0; else if (textBox5.Text.Length != 11) MessageBox.Show(手机号格式不正确,请重新输入); textBox5.Focus(); return 0; return 1; private void button1_Click(object sender, EventArgs e) if (panduan() = 0) return; string s1 = lianjie.Getcon(); SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = s1; try/判断是该账户是不是已经存在. / mycon.Open(); string ss = select yonghufrom yonghu whereyonghu= + textBox1.Text+; SqlCommand selectcmn = new SqlCommand(ss, mycon); SqlDataReader custDR = selectcmn.ExecuteReader(); if (custDR.HasRows)/判断是否查询到 MessageBox.Show(该用户已存在,请重新输入用户名); textBox1.Clear(); textBox1.Focus(); return; mycon.Close(); catch (Exception ex) MessageBox.Show(ex.Message); mycon.Close(); try mycon.Open(); string ss1 = insert into yonghu(yonghu,mima,zhuzhi,shoujihao,qq,quanxian) values(+textBox1.Text+,+textBox2.Text+,+textBox4.Text+,+textBox5.Text+,+textBox6.Text+,+comboBox1.Text+); SqlCommand selectcmn1 = new SqlCommand(ss1, mycon); SqlDataReader custDR1 = selectcmn1.ExecuteReader(); MessageBox.Show(添加成功); catch (Exception ex) MessageBox.Show(ex.Message); private void Form3_Load(object sender, EventArgs e) comboBox1.SelectedIndex = 1; private void textBox3leave(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) this.Close(); private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) (4) 管理系统选择using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 超市管理 public partial class Form4 : Form public Form4(string zhanghu1) InitializeComponent(); this.Text = zhanghu1; private void button1_Click(object sender, EventArgs e) Form3 f3 = new Form3(); f3.Show(); private void button2_Click(object sender, EventArgs e) Form5 f5 = new Form5(); f5.Show(); private void button3_Click(object sender, EventArgs e) Form6 f6 = new Form6(); f6.Show(); private void button4_Click(object sender, EventArgs e) Form7 f7 = new Form7(); f7.Show(); private void Form4_Load(object sender, EventArgs e) private void groupBox1_E
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!