超市收银管理系统.docx
《超市收银管理系统.docx》由会员分享,可在线阅读,更多相关《超市收银管理系统.docx(39页珍藏版)》请在冰豆网上搜索。
超市收银管理系统
超市收银管理系统的实现
3.1系统应用程序开发环境9
3.2系统后台数据库开发工具9
4设计总结12
1绪论
该局部主要介绍当前文件管理系统的背景与意义。
本次设计就是利用数据库有效、完整、安全储存、便于管理等多项优点对超市的会员信息与消费的数据运用数据库进展管理实现超市高效率的运作。
1.1课题的背景与意义
21世纪,超市的竞争也进入了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争管理的竞争人才的竞争,技术的提升和管理的升级是超市业竞争的核心。
零售领域目前呈多元开展趋势。
如何在竞争的激烈中扩大销售降低经营本钱,扩大经营规模成为超市经营者努力追求的目标。
因此我们有必要制定一套合理有效规X和实用的超市管理系统的一项分支超市收银管理系统,对超市的日常收银业务进展集中统一的管理。
超市收银系统具有高效性时效性。
该系统的三大益处有:
〔1〕大大提高超市的运作效率;
〔2〕通过全面的信息采集和处理,辅助提高超市的决策水平;
〔3〕使用本系统,可以迅速提升超市的管理水平,为降低经营本钱,提高效益,增强超市扩X力,提供有效的技术保障。
1.1.1系统功能设计
(1)系统主要分为用户管理和商品管理两个模块。
(2)用户管理对超市人员进展信息管理,进展人员信息的增删查改。
(3)用户登录是登录进入管理员或者是收银员身份。
(4)商品管理是对超市商品进展信息统计包括商品名称,单价和现有数量。
(5)商品详情是查看统计顾客所要购置的商品的信息。
(6)付款界面是多当前顾客购置的商品信息进展总价统计所支付的钱。
图1总体模块设计图
1.1.2系统设计
超市收银系统采用SQLSever语言进展数据库的连接利用数据库有效、完整、安全储存、便于管理等多项优点对超市的会员信息与消费的数据运用数据库进展管理实现超市高效率的运作。
本系统采用.netframework框架结构,可以模块化的对人员信息和商品信息进展直观的了解并可以对信息进展快速的增删查改。
通过数据库的多项信息安全高效的处理和.netframework框架结构的模块化的相结合,实现了最优的管理系统。
方便了超市管理者的管理。
1.2论文主要工作和结构安排
该论文主要应用程序开发环境:
MicrosoftVisualStudio2010;后台数据库开发工具:
MicrosoftSQLServer2005,工作是在.NET操作系统下,利用c#开发语言,实现的超市收银管理系统。
其目标在于实现超市对收银用户的信息记录和超市现有库存商品情况记录和罗列付费商品清单。
前期工作:
(1)首先,根据所作的需求分析,完成根本的功能界面设计。
(2)根据
(1)中界面设计,把每个功能通过代码来实现,以完成功能的定义。
(3)根据关系数据库模式中的数据库表的设计,并通过SQLServer2005建立数据库。
(4)把设计好的界面和数据库连接起来,使整个系统能够运行。
(5)选取几个典型的例子对该系统进展测试,不断地发现问题和解决问题,最终使该系统能够正常的运行,完成相应的任务。
(6)编写文档。
论文结构安排上主要分为绪论、系统功能、相关技术与工具介绍、总结四个局部,每一个局部具体分工如下:
1、绪论:
该局部主要介绍当前设计的管理系统的背景与意义,市场的前景分析与系统自身的优点。
以与论文主要工作与结构安排。
运用c#语言,通过数据库的多项信息安全高效的处理和.netframework框架结构的模块化的相结合,实现了最优的管理系统。
提高超市的便捷高效的管理。
2、系统功能:
该局部主要介绍该系统功能设计以与系统功能分析,从而能够展示整个系统的功能的规划。
4、总结:
该局部主要介绍在设计超市收银管理系统实现过程中自己的收获。
2系统功能
该局部主要介绍该系统功能的整体设计和系统的模块化设计以与系统功能分析,系统的功能规划如下所示:
2.1系统功能设计
根据系统的开发背景和意义以与需求分析确定该系统划分为以下几个管理功能:
(1)系统用户管理功能
该用户管理功能主要完成对超市收银人员信息的管理,首先管理员登录该功能的用例图如图2-1所示
2-1用户登录界面
根据设置权管理员可对人员信息进展增删查改。
信息录入主要有人员系统登录的账号密码,家庭住址、手机号、号和权限等操作。
该功能的用实现界面如图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)应用程序开发环境:
MicrosoftVisualStudio2010
(2)后台数据库开发工具:
MicrosoftSQLServer2005
(3)本系统采用.net framework 框架结构
(4)文档开发环境:
MicrosoftOfficeWPS文字
3.1应用程序开发环境
使用VisualStudio2010集成化开发环境
VisualStudio2010是微软公司集成化开发环境的最新版本,微软一共发布了如下4个版本的VisualStudio2010。
VisualStudio2010的用户界面与以前版本相比有了相当显著的改良。
微软使用WPF技术进展UI开发,无论在响应还是外观来说都更加吸引人,大大增强了用户的使用舒适性。
与之前的版本相比拟,VisualStudio2010在许多方面都得到了增强,比如WPF设计器、智能提示、代码高亮、可视化类设计器等。
其中一些独特的特性如下。
可视化的XML编辑器与设计器;
支持Windows移动开发;
支持Office开发;
为WindowsWorkflowFoundation项目提供了设计时的支持;
整合支持的代码重构;
可视化的类设计工具。
3.2后台数据库开发工具
该系统后台数据库采用Microsoft SQL Server 数据库开发工具,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大、效率高。
sqlserver2005是一个关系数据库管理系统。
它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase如此较专注于SQLServer在UNIX操作系统上的应SQLServer安装界面用。
sqlserver2005-数据库管理10个最重要的特点
数据库镜像、在线恢复在线检索操作、快速恢复、安全性能的提高、新的SQLServerManagementStudio、专门的管理员连接、快照隔离、数据分割、增强复制功能。
sqlserver2005-有关开发的10个最重要的特点
.NET框架主机、XML技术、ADO.NET2.0版本、增强的安全性、Transact-SQL、增强性能、SQL服务中介、通告服务、Web服务、报表服务、全文搜索功能的增强。
.NET技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。
.NET的目的就是将互联网作为新一代操作系统的根底,对互联网的设计思想进展扩展,使用户在任何地方、任何时间、利用任何设备都能访问所需要的信息、文件和程序。
.NET平台包括.NET框架和.NET开发工具等局部。
.NET框架〔Framework〕是整个开发平台的根底,包括公共语言运行库和.NET类库。
.NET开发工具包括VisualStudio.NET集成开发环境和.NET编程语言。
.NET编程语言包括VisualBasic、VisualC++和新的VisualC#等用来创建运行在公共语言运行库〔monLanguageRun,CLR〕上的应用程序。
.NET框架结构如图1-1所示。
图3-1.NET框架结构
2.公共语言运行库
公共语言运行库是.NETFramework的根底。
可以将运行库看成一个在执行时管理代码的代理,它提供核心服务〔如内存管理、线程管理和远程处理〕,而且还强制实施严格的类型安全以与可确保安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的根本原如此。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以与其他系统服务。
这些功能是在公共语言运行库上运行的托管代码所固有的。
3..NET框架类库
.NETFramework类库是一个与公共语言运行库严密集成的可重用的类型集合,是对WindowsAPI封装的全新设计,它为开发人员提供了一个统一的、面向对象的、分层的和可扩展的庞大类库。
该类库是面向对象的,使.NETFramework类型易于使用,而且还减少了学习.NETFramework的新功能所需要的时间。
此外,第三方组件可与.NETFramework中的类无缝集成。
例如,用.NETFramework集合类实现一组可用于开发您自己的集合类的接口。
您的集合类将与.NETFramework中的类无缝地混合。
.NETFramework类型使您能够完成一系列常见编程任务〔包括字符串管理、数据收集、数据库连接以与文件访问等任务〕。
除这些常见任务之外,类库还包括支持多种专用开发方案的类型。
例如,可使用.NETFramework开发如下类型的应用程序和服务:
控制台应用程序。
WindowsGUI应用程序〔Windows窗体〕。
ASP.NET应用程序。
XMLWebservices。
Windows服务。
本次设计的超市收银管理系统是由.NETFramework开发的WindowsGUI应用程序〔Windows窗体〕。
4设计总结
该局部主要介绍在设计超市收银管理系统实现过程中自己的收获。
4.1总结
通过本次实训,感觉.NET是一个很好的开发工具,在使用时很方便,关于界面开发方面:
具有很大的优势,都是一些插件性的。
比拟容易开发,但是经过最近的学习感觉对.NET开发界面的熟悉很重要。
当然了,闲暇之时多看一些相关控件的属性和一些相关的教学视频自学一下课堂上教师的设计目标是怎样是的并对其有一定的了解。
如果说,把C#开发界面,拿到软件工程开发的方法来看,逐步求精是最好的学习方法。
因为所有的任务都可以在一个应用程序开发中得到表现,从而也是的该应用程序更加完美!
主要培养了自己的规X研发能力,学习了企业项目开发的整个过程和团队项目开发经验,并且加强了.NET新技术的学习,熟练掌握了常用的软件开发工具〔如VisualStudio2010)的操作规程。
以与与数据库后台开发工具的数据管理的高效性相结合的系统程序开发实现了此次超市收银管理系统的设计。
经过这一段时间的实训也面临了很多的问题,问题在一步步的解决而我也深有感想并对自己这段时间所参悟的怎样学习C#有以下心得:
1.看看写写改改
看一看,改一改别人写的代码,养成一个简单程序。
看一看比一比就知道,谁的程序好谁的程序更成熟。
2.编一编敲一敲
看了其他人的代码代码,这是了解他们的代码,也必须了解代码的执行过程。
特别是在编译的时候,你会发现的你的进步和不足。
在经历无数错误中你也取得的许许多多的经验,这是多少成功的必备之路。
在无数编程过程中,大家都会发现,你的很多英文都会输入错误。
都用全叫的句号代替那半角点。
这个神奇的点。
3.从简单开始
大家都喜欢一部登天,那是不可能的事情。
无数的错误在积累经验的同时也会把你的自信心会被削弱的。
切记切记,不要把自己的自信心打击没有了。
从最根本的学起、从简单开始。
代码重复利用是快乐的,这样很节省代码的输入量,有信心后再去攻克、再去挑战。
4.在交流中成长
都说当局者迷,可能是很简单的属性设置的问题,或者是那个全角半角的句号,也许是你想不到的边边角角的问题,你却怎么也检查不出来的问题,多和同学交流交流也许很快就解决了。
大家要知道,通过网络的搜索,很会找到很多,有关的话题的解决方法,很多你遇到的问题,很有可能,早就被人发现,发现的同时也被其他人解决。
你会在寻找问题的答案中,获得进步。
5.不断突破创新
编程和其他事情一样,最烦的就是套用老方式和老方法。
你可以充分利用,现有的对象,进展细化和增加新的属性。
创新是编程最大的灵感。
6.在总结中成熟
不断的总结中,你会发现,你的的进步,同时也存在很多的不足。
所以,你要不断的改良你的学习方法,使之不断的进步。
编程的本身是一项创造性的工作。
灵感来自客户的需要,来自市场的需要,来自用户的便捷操作,来自您对自己的信心。
让你在不断的总结中不断的成熟。
参考文献
[1]X俊X海波著《ADO.NET数据库应用开发》2008年1月机械工业
[2] 徐孝凯 贺佳英 著 《数据库根底与SQL Server应用开发》2008年4月 清华大学
[3]我要自学网.c#入门教程
附录
核心代码:
〔1〕超市管理〔用户管理〕系统
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace超市管理
{
publicpartialclassForm1:
Form
{
publicForm1()
{
Initializeponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)//用户登录
{
if(textBox1.Text=="")
{
MessageBox.Show("请输入用户名");
}
else
{
if(textBox2.Text=="")
{
MessageBox.Show("请输入密码");
}
else
{
strings1=lianjie.Getcon();
SqlConnectionmycon=newSqlConnection();
mycon.ConnectionString=s1;
try
{//
mycon.Open();
stringss="select[yonghu],[mima]from[yonghu]where[yonghu]='"+textBox1.Text+"'and[mima]='"+textBox2.Text+"'";
Sqlmandselectcmn=newSqlmand(ss,mycon);
SqlDataReadercustDR=selectcmn.ExecuteReader();
if(custDR.HasRows)//判断是否查询到
{
custDR.Close();
stringss1="select[yonghu],[mima],[quanxian]from[yonghu]where[yonghu]='"+textBox1.Text+"'and[mima]='"+textBox2.Text+"'and[quanxian]='管理员'";
Sqlmandselectcmn1=newSqlmand(ss1,mycon);
SqlDataReadercustDR1=selectcmn1.ExecuteReader();
if(custDR1.HasRows)//管理员窗口调用
{
stringzhanghu1=this.textBox1.Text;
Form4f4=newForm4(zhanghu1);
f4.Show();
}
else//收银员窗口调用
{
stringzhanghu=this.textBox1.Text;
Form2f2=newForm2(zhanghu);
f2.Show();
}
}
else
{
MessageBox.Show("账号或密码错误");
}
mycon.Close();
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
mycon.Close();
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Application.Exit();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
}
}
}
〔2〕商品管理
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace超市管理
{
publicpartialclassForm2:
Form
{
publicForm2(stringzhanghu)
{
Initializeponent();
this.Text=zhanghu;
}
floatsum1=0;
floatzong=0;
publicstaticstringstr="";
privatevoidForm2_Load(objectsender,EventArgse)
{
strings1=lianjie.Getcon();
SqlConnectionmycon=newSqlConnection();
mycon.ConnectionString=s1;
mycon.Open();
stringss="selectshangpingfrom[wuping]";
Sqlmandselectcmn=newSqlmand(ss,mycon);
SqlDataReadercustDR=selectcmn.ExecuteReader();
boBox1.Items.Clear();
while(custDR.Read())
{
boBox1.Items.Add(custDR[0]);
}
mycon.Close();
}
privatevoidboBox1_SelectedIndexChanged(objectsender,EventArgse)
{
str=boBox1.SelectedItem.ToString();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(str=="")
{
MessageBox.Show("请选择商品");
return;
}
else
{
if(textBox1.Text=="")
{
MessageBox.Show("请输入购置数量");
textBox1.Focus();
return;
}
else
{
try
{
strings1=lianjie.Getcon();
SqlConnectionmycon=newSqlConnection();
mycon.ConnectionString=s1;
mycon.Open();
stringss="selectdanjia,shuliangfrom[wuping]whereshangping='"+str+"'";
Sqlmandselectcmn=newSqlmand(ss,mycon);
SqlDataReadercustDR=selectcmn.ExecuteReader();
custDR.Read();
stringss1=custDR.GetString(custDR.GetOrdinal("danjia"));
stringss2=custDR.GetString(custDR.GetOrdinal("shuliang")).ToString();
mycon.Close();
intnum=int.Parse(textBox1.Text);
if(num>int.Parse(ss2))
{
MessageBox.Show("库存不足,该商品剩余"+ss2);
return;
}
else
{
floatsum=float.Parse(ss1)*num;
ListViewItemlv=newListViewItem(str.ToString());
lv.SubItems.Add(ss1.ToString());
lv.SubItems.Add(textBox1.Text);
lv.SubItems.Add(s