商品销售管理系统设计doc 29页Word格式文档下载.docx
《商品销售管理系统设计doc 29页Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《商品销售管理系统设计doc 29页Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。
2.查阅相关资料,自学具体课题中涉及到的新知识。
3.采用结构化、模块化程序设计方法,功能要完善,界面要美观。
4.所设计的系统原则上要能够运行无误,结果准确。
5.按要求写出课程设计报告,最晚于设计结束后1周提交。
其主要内容包括:
封皮;
课程设计任务书;
指导教师评语与成绩;
目录、概述、软件总体设计、详细设计、软件的调试、总结、致谢、参考文献、附录:
带中文注释的程序清单。
报告一律用A4纸打印,中文字体为宋体,西文字体用TimesNewRoman,一律用小四号字,行距采用“固定值”22磅,首行缩进2字符。
总体设计应配合软件总体模块结构图来说明软件应具有的功能。
详细设计应用传统或N-S流程图和屏幕抓图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。
四、设计内容
在销售系统基本理论指导下,详细给出销售管理系统分析到总体设计详细设计与实现及调试的各个环节,以及各个模块的功能,最后对本系统做出了客观评价,指明系统的现实意义。
五、课程设计工作量
由于是设计小组团结协作完成设计任务,一般每人的程序量在1000行有效程序行左右,不得抄袭。
六、课程设计工作计划
2010年12月15日,指导老师讲课,学生根据题目准备资料;
2010年12月15日,设计小组进行总体方案设计和任务分工;
2010年12月15日~2010年12月15日,每人完成自己承担的程序的模块的设计、编码、测试;
2010年12月15日~2010年12月15日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;
2010年12月15日~2010年12月15日,验收、撰写报告;
2010年12月15日~2010年12月15日,答辩及总结。
1、概述
1.1系统的研究背景
在科学技术日新月异的今天,计算机已逐步渗入各个领域,无论是学习,工作,还是娱乐都普及了计算机的使用,而随着网络的开通、并与Internet连接更让我们社会成为信息化的时代,人们不再需要浪费太多的时间去手工的获得信息,只要做在家中轻点几下鼠标不但能轻松获得各种信息,而且能够购买到自己需要的商品,既摆脱了时间和空间的限制又节约了大量的时间,因此熟练使用计算机及网络,已成为人们进入现代社会的必备技能。
商品销售管理系统正是在这种情况下诞生并逐渐发展起来的,它已成为我们进行商品交易中不可缺少的部分。
商品销售管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序功能完备,操作简单等。
本系统是在分析了现行商品管理中存在的问题的基础上,结合信息管理系统开发的概念、结构及系统开发的基本原理和方法,开发的一套商品销售管理系统。
根据实际情况,由目前各功能需求和公司里的情况而设计的这套系统。
全文共分为课题研究的意义、开发环境、系统的实现、性能测试与分析以及结束语等章节,详细地阐述了本系统开发的目的、过程。
商品销售管理系统是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。
商品销售管理系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存、维护和使用。
因此商品销售管理系统是一个信息处理系统。
商品销售管理系统作为各项业务、技术、工作自动化及高水平管理的方法和模式,正在得到越来越广泛的应用。
早期的商品销售管理系统通常是以各单位为主体,独自进行开发和应用。
从技术上看,大体是以局域网或客户机/服务器模式组成应用系统平台,在操作系统和数据库管理系统的平台上开发应用软件系统。
但是,由于技术的发展和进步以及应用、管理和数据共享的需要等诸多原因,把分散开发且分布在各个地域的独立的管理信息系统互相连接起来,实现系统硬件、系统软件、应用软件及数据的共享,已经成为越来越迫切的任务。
1.2计算机在商品销售管理中的地位
商品销售行业的系列竞争使得争取顾客资源,增加业绩,提高销售数量,制定正确的营销策略已经成为一项重要的任务,而借助于当前蓬勃发展的IT工具来拓展销售能力,创作客观的经济效益已经成为许多公司企业的首选。
作为一有效的统计分析手段,计算机管理系统具有明显的优势,它在数据保存、数据交换等方面均能够做到快速可靠,是手工操作所不能完成的。
1.3系统的主要内容
一个典型商品销售管理系统至少应该包括以下三个方面内容。
(1)数据库设计。
即根据实体E-R图,设计出数据表,并通过相互之间的数据流动,设计出所需的数据表。
(2)前台功能模块。
前台主要用于用户登录、查找商品销售信息、商品库存信息、退货信息等。
(3)后台功能模块。
后台主要用于管理员对商品信息修改、对用户授权、对数据库优化等进行管理。
商品销售管理系统开发流程包括需求分析、数据库分析和设计以及各功能模块的开发实现等。
1.4设计环境
1.软件环境:
1)MicrosoftSQLServer2000
2)VisulaStudio2008
3)WindowsXP操作系统
2.硬件环境:
普通PC机
3.使用语言:
C#
2、数据库设计
2.1需求分析
用户的需求具体体现在各种信息的提供,保存,更新和查询上,这就要求数据库结构能充分满足各种数据的输出和输入,收集和查询。
经过对系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下面所示的数据项和数据结构。
商品基本信息:
包括商品编号,商品名称,供应商名称,供应商编号,商品进价,商品售价,进货日期,库存量等。
商品供应商信息:
供应商编号,供应商名称,,联系电话,联系地址,备注等。
商品销售信息:
商品编号,销售日期,销售单价,销售数量,折扣,小计。
商品销售记录:
商品编号,销售日期,销售单价,销售数量,折扣,合计等。
管理员信息:
包含管理员代码,管理员姓名,密码,rank(权限)等。
在上面的需求分析,数据结构设计基础上,下面可以开始数据库概念结构设计了。
2.2数据库概念结构设计
图2-1系统总体图
2.3数据库逻辑结构设计
表2-1商品信息表(Commodity)
字段名
字段号
类型
是否主键
是否为空
商品编号
Commodity_Num
char(10)
PM
商品名称
Commodity_Name
char(20)
商品价格
Commodity_Price
decimal(9,2)
商品生产地
Commodity_Address
char(30)
商品保质期
Commodity_shelflife
表2-2退货信息表(Return1)
退货编号
Return_Num
int
Char(10)
F
退货数量
Return_Count
退货时间
Return_Time
datetime
退货原因
Return_reason
Char(100)
表2-3供应商信息表(Supplier)
供应商编号
Supplier_Num
Char(3)
供应商名称
Supplier_Name
Char(20)
供应商电话
Supplier_Telephen
Char(11)
供应商地址
Supplier_Adress
Char(30)
供应商帐号
Supplier_accountNum
表2-4商品销售信息表(Sell)
销售编号
Sell_Num
销售数量
Sell_Count
销售时间
Sell_Time
表2-5商品库存信息表(Stock)
商品库存编号
Stock_Num
商品库存数量
Stock_Count
表2-6商品采购信息表(Purchase)
采购编号
Purchase_Num
商品采购数量
Purchase_Count
Supplier_Num
商品采购时间
Purchase_Time
2.4数据库物理结构设计
商品信息(商品编号、商品名称、商品价格、商品的出产地、商品保质期)
销售信息(销售编号、销售量、销售时间)
库存信息(库存编号、库存量)
供应商信息(供应商编号、供应商名称、供应商联系方式、供应商地址、供应商帐号)
退货信息(退货编号、退货数量、退货时间、退货原因)
图2-2物理模型图
2.5数据库实施
以下为数据库建立的代码
/*==============================================================*/
/*Table:
Commodity*/
createtableCommodity(
Commodity_Numchar(10)notnull,
Commodity_Namechar(20)null,
Commodity_Pricedecimal(9,2)null,
Commodity_shelflifechar(10)null,
Commodity_Addresschar(30)null,
constraintPK_COMMODITYprimarykey(Commodity_Num)
)
Purchase*/
createtablePurchase(
Purchase_Numintnotnull,
Purchase_Countintnotnull,
Supplier_Numchar(3)notnull,
Purchase_Timedatetimenotnull,
constraintPK_PURCHASEprimarykey(Purchase_Num),
constraintFK_PURCHASE_REFERENCE_COMMODITforeignkey(Commodity_Num),
constraintFK_PURCHASE_REFERENCE_SUPPLIERforeignkey(Supplier_Num)
Return1*/
createtableReturn1(
Return_Numintnotnull,
Return_Countintnotnull,
Return_resaonchar(100)null,
Return_Timedatetimenotnull,
constraintPK_RETURN1primarykey(Return_Num),
constraintFK_RETURN1_REFERENCE_COMMODITforeignkey(Commodity_Num)
Sell*/
createtableSell(
Sell_Numintnotnull,
Sell_Countintnotnull,
Sell_Timedatetimenotnull,
constraintPK_SELLprimarykey(Sell_Num),
constraintFK_SELL_REFERENCE_COMMODITforeignkey(Commodity_Num)
Stock*/
createtableStock(
Stock_Numintnotnull,
Stock_Countintnotnull,
constraintPK_STOCKprimarykey(Stock_Num),
constraintFK_STOCK_REFERENCE_COMMODITforeignkey(Commodity_Num)
Supplier*/
createtableSupplier(
Supplier_Namechar(20)null,
Supplier_Telephenchar(11)null,
Supplier_Addresschar(30)null,
Supplier_accountNumchar(20)null,
constraintPK_SUPPLIERprimarykey(Supplier_Num)
3、系统功能设计
3.1数据流程
图3-1数据流程图
3.2实现功能
商品销售管理系统是一个对商品的销售和采购进行管理的系统,同时它还能对商品的销售采购等信息进行统计,实现了功能如图3-2所示。
图3-2系统功能结构图
3.3系统开发的软件
SQLServer2000,WindowsXP,VS.NET
4、系统实施和测试
4.1界面设计及程序设计
系统登录模块设计
登陆功能就是用户在打开登陆界面时输入“用户号”和“密码”后对用户的信息进行验证,并记录登陆用户的用户名和密码供管理员进行查看。
我们在设计时考虑到了不同用户权限的区别,在验证登录名和密码的过程中,会自动根据用户的权限动态生成该用户对应的界面。
图4-1登录界面图
代码设计:
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
if(textBox1.Text=="
"
||textBox2.Text=="
MessageBox.Show("
用户名或密码不能为空!
"
提示"
MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
else
stringUN=textBox1.Text;
stringPW=textBox2.Text;
conn.Open();
strings="
SELECT*FROMLoginwhereusername='
+UN+"
'
andpassword='
+PW+"
;
da=newSqlCommand(s,conn);
SqlDataReadersdr=da.ExecuteReader();
sdr.Read();
if(sdr.HasRows)
Name1=sdr.GetString(0);
Power=sdr.GetString
(2);
time=DateTime.Now.ToString();
conn.Close();
this.Hide();
mainformMain=newmainform();
Main.Show();
textBox1.Text="
textBox2.Text="
用户名或密码错误!
catch(Exceptionex)
MessageBox.Show(ex.Message);
商品销售模块
在商品销售模块中,需要用户输入的信息是商品编号以及购买数量。
系统会根据输入的商品的商品编号,在商品信息表中查找对应的商品名称以及商品的单价,并在界面中显示。
成功查找以后,会根据单价以及数量计算出总价,输出供用户核对金额。
并且为了避免销售员不小心更改商品的信息,例如单价等,我们设置单价的窗口为不可输入,只能自己查询。
图4-2商品销售图
{
if(textBox4.Text!
="
s="
selectStock_CountfromStockwhereCommodity_Num='
+textBox5.Text+"
conn.Open();
da=newSqlCommand(s,conn);
Int32baby=(Int32)da.ExecuteScalar();
if(baby>
=Convert.ToInt32(textBox1.Text.ToString()))
s="
insertintoSell(Commodity_Num,Sell_Count,Sell_Time)values('
'
+Convert.ToInt32(textBox1.Text.ToString())+"
+Convert.ToDateTime(dateTimePicker1.Value)+"
);
da.ExecuteReader();
MessageBox.Show(s);
updateStocksetStock_Count=Stock_Count-"
whereCommodity_Num='
da.ExecuteNonQuery();
商品销售成功!
商品数量不足!
请输入正确的商品编号或数量!
}
privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse)
if((e.KeyChar<
48||e.KeyChar>
57)&
&
e.KeyChar!
=8&
=13)
e.Handled=true;
采购入库报表