超市进销系统实验报告00001Word文档格式.docx
- 文档编号:19757180
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:44
- 大小:1.48MB
超市进销系统实验报告00001Word文档格式.docx
《超市进销系统实验报告00001Word文档格式.docx》由会员分享,可在线阅读,更多相关《超市进销系统实验报告00001Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
此系统采用人机交互的方式,界面美观友好。
信息查询灵活、操作方便,数据存储安全可靠。
能够对进货信息进行有效的经管。
对用户输入的数据,进行严格的数据校验,尽可能避免人为错误。
能够对商品销售信息进行有效的经管。
允许顾客退货。
能够准确、详细地经管商品库存信息。
当库存的商品数量达到一定程序,给出提示。
可以对数据库进行备份和还原。
系统应最大限度地实现易维护性和易操作性。
登录
验证
用户
系统主窗体
基本档案
进货经管
销售经管
库存经管
系统维护
2.1.1数据流图
图2.1
Fig.2.1
2.1.2数据字典
此系统的登录界面有验证用户的信息,只要登录成功,才可进入超市经管系统的主窗体。
主窗体可以连接到系统的所有功能菜单,包括基本档案,进货经管,销售经管,库存经管,系统维护。
基本档案包括员工信息和供应商信息。
员工信息表是因为开发过程中要考虑系统的安全性,不是任何人都可以操作系统的,才设置存储经管系统的员工信息表。
供应商信息表是因为超市的经营离不开与供应商的合作,而每件商品对应不同的供应商,此时必须在数据库中建立一个供应商信息表,用于存储所有供应商信息。
进货经管包括商品进货信息和进货信息查询,建立一个进货信息表是因为超市的运营离不开货物往来,日常货物的购买是非常重要的,此用于存储进货的详细信息。
销售经管分为商品销售信息和商品退货信息,商品销售信息表为了时刻了解超市销售利润,需要对商品的销售情况有所了解;
商品退货信息表是因为当顾客对某件商品不满意时,可以要求进货,同时超市经营者也要详细地了解退货信息。
库存经管分为库存警报和库存查询。
因为超市定期要对货物进行补充,在进货之前要了解剩余货物的数量,此时需要在数据库中建立一个库存信息表用于存储剩余货物的情况。
系统维护包括数据备份和数据还原,以防数据丢失,所以需要备份数据和还原数据。
2.2数据库概念结构设计
1.员工信息实体E—R图
图2.2
Fig.2.2
2.进货信息实体E—R图
图2.3
Fig.2.3
3.供应商信息实体E—R图
图2.3
4.库存信息实体E—R图
图2.4
Fig.2.4
2.3数据库逻辑,物理结构设计
2.3.1关系模式
Emp(EmpID,EmpName,EmpLoginName,EmpLoginPwd,EmpSex,EmpBirthday,EmpDept,EmpPost,EmpPhone,EmpPhoneM,EmpAddress,EmpFlag)其中EmpID为主码;
Company(CompanyID,CompanyName,CompanyDirector,ompanyPhoCne,CompanyFax,CompanyAddress,CompanyRemark,ReDateTime,Flag)其中CompanyID为主码;
2.3.2关系的属性设计
表2.1员工信息表
Table2.1Empfrom
EmpID
nvarchar
20
是
员工编号
EmpName
否
员工姓名
EmpLoginName
登录ID
EmpLoginPwd
登录密码
EmpSex
4
员工性别
EmpBirthday
datetime
8
员工生日
EmpDept
所属部门
EmpPost
员工职位
EmpPhone
家庭电话
EmpPhoneM
手机号码
EmpAddress
200
家庭住址
EmpFlag
int
1
是否发布
表2.2供应商信息表
Table2.2Companyfrom
CompanyID
50
供应商编号
CompanyName
100
供应商姓名
CompanyDirector
联系人姓名
ompanyPhoCne
联系人电话
CompanyFax
传真
CompanyAddressCompanyAddressCompanyAddressCompanyAddressCompanyAddressCompanyAddressCompanyAddressCompanyAddressCompanyAddressCompanyAddressCompanyAddress
地址
CompanyRemark
400
备注
ReDateTime
加入日期
Flag
表2.3进货信息表
Table2.3Goodfrom
GoodID
商品编号
EmpId
操作员编号
JhCompName
供应商名称
DepotName
仓库名称
GoodsName
商品名称
GoodsNum
商品数量
GoodsUnit
商品计量单位
GoodsJhPrice
进货单价
GoodsSellPrice
销售单价
GoodsNeedPrice
应付金额
GoodsNoPrice
实付金额
GoodsRemark
GoodsTime
进货时间
删除标记
表2.4商品销售信息表
Table2.4Sellfrom
SellID
销售编号
KcID
库存编号
GoodsID
SellGoodsNum
销售数量
SellGoodsTime
销售时间
SellPrice
SellNeedPay
SellHasPay
SellRemark
SellFlag
表2.5商品退货信息表
Table2.5Thfrom
ThGoodsID
退货商品编号
ThGoodsName
ThGoodsNum
退货数量
ThGoodsTime
退货日期
ThGoodsPrice
退货单价
ThNeedPay
ThHasPay
已退款金额
ThGoodsResult
退货原因
表2.6库存信息表
Table2.6Kcfrom
KcDeptName
kcGoodsName
KcNum
库存数量
KcAlarmNum
警报数量
KcUnit
KcTime
KcGoodsPrice
进货价格
KcSellPrice
销售价格
KcEmp
进货人
KcRemark
2.4数据库的创建
2.5系统总体结构设计
图2.5
Fig.2.5
第三章系统开发及实现
3.1界面设计效果
1.登录界面
2.员工信息
3.供应商信息
4.商品进货信息
5.进货信息查询
6.商品销售信息
7.商品退货信息
8.库存警报
9.库存查询
10.数据备份
11.数据还原
3.2实现方法
以员工信息表为例:
1>
.使用的控件:
ToolStrip,Label,TextBox,DateTimePicke,ComboBox,DataGridView.
2>
.保存,取消,添加,修改,删除按钮的互斥更改。
3>
.用于初始化组件,将控件恢复到原始状态。
4>
.点击保存,取消,添加,修改,删除按钮时,可以实现数据的添加,修改和删除操作。
5>
.根据查询条件,并输入关键字,便可查询你想要查询的内容。
6>
.点击退出按钮,即可退出此窗体。
7>
.Label为控件提供运行时信息或说明性文字。
8>
.TextBox允许用户输入文本,并提供多行编辑和密码字符掩码功能。
9>
.DateTimePicker控件,允许用户选择日期和时间,并以指定的格式显示。
10>
.ToolStrip控件为此表提供工具栏。
11>
.ComboBox显示一个可编辑的文本框,其中包括一个允许值下拉列表,需要指出的是当性别只有男女时,我们需要设它的DropDownStyle属性为DropDown,这样,才不允许用户更改性别信息。
12>
.DataGridView是为了显示表的数据。
13>
.在员工信息表的方法里,做三个查询,一是用于登陆验证的查询,二是用于窗体载入的查询,三是用于DataGridView单元格触发时索引的数据中记录返回。
14>
.有添加,修改和删除的方法,来实现数据库的更新。
15>
.有一个自动生成客户编号的方法,而无需自己添加编号
以商品进货信息表为例:
.同员工信息表一样,可以实现增删改查的功能,但其中多了一个控件TreeView。
.TreeView控件,填充商品类别信息。
.在添加商品进货单价和数量时,会自动算出商品应付的金额。
以数据备份为例:
.添加一个folderBrowserDialog控件,显示一个对话框,提示用户选择文件夹。
以数据还原为例:
.添加一个OpenFileDialog控件,显示一个对话框,提示用户打开文件。
第四章归纳总结
三个星期的时间非常快就过去了,这三个星期我不敢说有很大的进步,蛋黄还是了解了一些工程开发的过程。
以前没有亲身经历过相关的设计课程,这次提供了一个很好的机会。
这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题。
从需求分析阶段,想充分了解自己所做的课题在客户或者超市中的需求,由于《软件工程》这门课大二时学的不深,画数据流图等等软件设计流程做起来很生疏,翻阅课本,和软件工程课老师上课的讲解,总算整了一个像样点的需求分析,但是也不知道是不是正确,根据数据流图,不断修改需求,由于这个课程设计没有连接外部设备,比如打印机,等,所以做的都是在实践阶段,根据设计的大概模式展开一步步的模块构造。
经过不断地测试,不断地改进,其中还是发下了不少问题,第一次做这些工作,没有任何经验,甚至无从下手,还是很谢谢老师和同学的帮忙,从中也学到了一些代码的写法。
我们学习并应用了SQL语言,对数据库的创建,删除,修改有了一定的了解。
通过导入表和删除表,更改表学会了一些对表的操作。
这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。
出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。
我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.NET的核心技术就是XML我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,justdoit!
语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。
古语说的好:
学无止境啊!
参考文献
1.钱雪忠数据库原理及应用北京:
邮电大学出版社2007,8第二版
2.BainTSQLserver2000数据仓库与AnalysisServices中国电力出版社2003
3.王珊数据库技术与联机分析处理北京:
科学出版社1998
4.肖遥JSP的SQLServer数据库访问技术2009
5.史志国基于JSP的教务经管系统设计2008
第五章附录
(1)、员工信息表窗体frmEmpInfo的代码:
usingSystem。
usingSystem.Collections.Generic。
usingSystem.ComponentModel。
usingSystem.Data。
usingSystem.Drawing。
usingSystem.Linq。
usingSystem.Text。
usingSystem.Windows.Forms。
usingSystem.Data.SqlClient。
usingShop.GoodMenthod。
usingShop.ClassInfo。
namespaceShop
{
publicpartialclassfrmEmpInfo:
Form
{
publicfrmEmpInfo()
InitializeComponent()。
}
tb_EmpInfoEmpClass=newtb_EmpInfo()。
tb_EmpInfoMenthodtbMenthod=newtb_EmpInfoMenthod()。
//窗体载入时,将全部记录载入到控件中
privatevoidfrmEmpInfo_Load(objectsender,EventArgse)
tbMenthod.tb_EmpInfoFind("
"
5,dataGridView1)。
this.cbxCondition.Text="
员工姓名"
。
//窗体载入时默认的查询条件索引
///<
summary>
///点击查询按钮
/summary>
privatevoidtxtOK_Click(objectsender,EventArgse)
stringP_Str_selectcondition=this.cbxCondition.Text。
//查询类别索引
if(P_Str_selectcondition==null)
MessageBox.Show("
请选择查询条件!
)。
return。
if(this.txtKeyWord.Text=="
)
输入查询关键字!
switch(P_Str_selectcondition)
case"
:
//员工姓名字段在dataGridView1索引值为1
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text,1,dataGridView1)。
break。
员工性别"
//员工性别字段在dataGridView1引值为2
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text,2,dataGridView1)。
所属部门"
//所属部门字段在dataGridView1引值为3
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text,3,dataGridView1)。
员工职位"
//员工职位字段在dataGridView1引值为4
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text,4,dataGridView1)。
default:
publicstaticintintFlag=0。
//控件方法状态
///用于按钮的互斥更改
privatevoidControlStatus()
this.toolSave.Enabled=!
this.toolSave.Enabled。
this.toolAdd.Enabled=!
this.toolAdd.Enabled。
this.toolCancel.Enabled=!
this.toolCancel.Enabled。
this.toolAmend.Enabled=!
this.toolAmend.Enabled。
this.toolDelete.Enabled=!
this.toolDelete.Enabled。
///用于初始化组件,将控件恢复到原始状态
privatevoidClearControls()
txtEmpAddress.Text=null。
txtEmpPhone.Text=null。
txtEmpName.Text=null。
txtEmpLoginPwd.Text=null。
txtEmpPhoneM.Text=null。
txtEmpLoginName.Text=null。
cmbEmpPost.SelectedIndex=0。
cmbEmpDept.SelectedIndex=0。
comSex.SelectedIndex=0。
this.daEmpBirthday.Value=DateTime.Now。
///点击添加按钮
privatevoidtoolAdd_Click(objectsender,EventArgse)
ControlStatus()。
//点击添加按钮后控件状态相反
ClearControls()。
//清空控件内容
intFlag=1。
//添加标记为1
///点击保存按钮
privatevoidtoolSave_Click(objectsender,EventArgse)
if(getPan()==1)
if(intFlag==1)
if(tbMenthod.tb_EmpInfoFind(txtEmpLoginName.Text,"
1)==1)
登录名称已被占用!
!
txtEmpLoginName.Text="
txtEmpLoginName.Focus()。
if(tbMenthod.tb_EmpInfoFind(txtEmpName.Text,"
1)==1)
MessageBox
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 系统 实验 报告 00001