C#课程设计企业进销存销售管理系统论文.doc
《C#课程设计企业进销存销售管理系统论文.doc》由会员分享,可在线阅读,更多相关《C#课程设计企业进销存销售管理系统论文.doc(35页珍藏版)》请在冰点文库上搜索。
郑州科技学院
课程设计
课程设计名称:
企业进销存销售管理系统
专业班级:
10级计科2班
学生姓名:
田雨龙
学号:
201015062
指导教师:
王玉萍
课程设计时间:
33
摘要
企业进销存管理系统是目前广泛应用于公司或是中小企业中管理系统的典型代表,涉及到了人员或货物管理中主要的6个方面,即进货、销售、库存、员工及往来单位。
通过一个典型企业进销存管理系统的例子,介绍了现代企业进销存管理信息化的一般解决方案,其重要性不言而喻。
但是,目前很多中小企业在具体的业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力、效率低下,而且无法达到理想的效果,本系统通过提高了管理效率、全面提高了企业的经营水平、进而全面提升了企业的经济效益
本系统是根据企业的特点,采用.NET技术和数据库Access开发,主要是处理商业企业商品的采购、库存和销售各个环节的活动,具有良好的人机界面;集进、销、存于一体,为企业量身定做的进销存管理软件。
在设计过程中最大限度满足用户的要求,因此,该系统具有较强的实用性和针对性。
本系统界面友好,操作简单,可维护性强,功能完备。
本论文介绍了进销存管理信息系统开发的全过程,详细介绍了系统的分析、系统的开发与设计说明等内容,最后给出了系统的使用说明和系统设计的心得体会。
1前言 2
1.1开发背景与现状 2
1.2开发设计的意义 3
1.3系统的基本内容综述 3
2系统分析 4
2.1需求分析 4
2.2可行性分析 5
2.2开发工具选择 5
3系统设计 6
3.1系统功能图 6
3.2概念结构设计 7
3.3逻辑结构设计 10
3.4窗体设计 12
4主要功能模块 17
4.1登陆窗体 17
4.2库存设计 20
4.3进货窗体 24
4.4销售窗体 30
4.5员工管理窗体 30
4.6往来单位窗体 30
5系统测试 30
5.1系统测试目的 30
5.2系统测试环境 31
总结 31
致谢 32
参考文献 33
1前言
1.1开发背景与现状
随着经济全球化的发展和我国融入世界经济的步伐加快,全球采购、全球生产和全球销售的发展模式要求加快发展现代物流业,优化资源配置,提高市场响应速度和产品供给时效,降低企业物流成本,增强国民经济的竞争力。
中小企业在我国经济发展中具有重要地位,目前我国的中小企业数量较多、地区分布广泛、行业分布跨度大,中小企业将面临外资企业和国外产品和服务的严峻挑战。
比较而言,外资企业具有更为雄厚的资金实力、丰富的管理经验和先进的技术手段,因此,如果我国的中小企业不借助先进的管理思想转变经营理念,使用信息化手段提高企业的管理水平和工作效率,将很难在今后的国际竞争中取胜。
企业管理在很多方面、很大程度上都必须借助信息化的工具来完成,采用电脑管理进货、库存和销售等诸多环节也已成为必然趋势。
从国家软件工业应用现状统计分析,目前我国大型中小企业使用管理软件的比例高达95%以上。
中小企业使用管理软件的比例约45%,绝大数都是财务软件。
这些数据反映了我国中小企业应用管理信息系统的总体情况,我们从中可以看到,大型中小企业的应用情况要好于中小企业,大型中小企业的管理信息系统应用已逐渐的从单项业务管理系统向集成的管理系统转变,而中小型中小企业由于资金短缺,信息基础薄弱等原因管理信息系统的应用情况不理想,同时,我们还可以看出,中小企业实施管理信息系统存在风险,由于中小企业个性的存在以及管理软件业务流程的固化,不是应用了管理软件就能实现有效的管理信息系统,就能为中小企业带来效益。
中小企业应用管理信息系统离不可中小企业的环境和条件。
1.2开发设计的意义
在现代企业的物流管理中,一个良好的进销存管理系统不仅能大大降低企业由于生产经营管理不善而产生的过多的成本,提高企业的办事效率,降低企业在物流管理中不必要的人力物流财力损失,而且能使企业的运行机制更加规范合理,使企业在节省自身成本提高竞争优势的同时,树立好企业形象,形成带头优势,从而带动整个行业的高效发展及社会经济效率的整体素质的提高。
本系统的开发适用于多个行业,可以帮助企业快速有效管理进货、销售、库存等各项业务,合理控制进销存各个环节,提高资金利用率,实现管理高效率和实时性。
1.3系统的基本内容综述
进销存管理系统采用.NET技术和Access数据库开发,主要是处理商业企业商品的采购、库存和销售各个环节的活动,具有良好的人机界面;考虑到系统的使用对象可能较多,权限管理良好;数据查询方便,支持多条件查询;在相应的权限下,可方便地删除数据;数据计算自动完成,尽量减少人工干预;基本信息查询时,可根据查询条件动态显示查询结果。
进销存管理系统主要由进货管理、销售管理、库存管理、基本信息和辅助工具等模块组成,具体规划如下:
l进货管理模块。
该模块主要用于实现商品的进货数据录入和退货数据录入。
l销售管理模块。
该模块主要用于实现商品的销售数据录入和客户退货数据录入。
l库存管理模块。
库存管理模块主要用于实现库存调拨和库存数据查询。
l基本信息模块。
基本信息模块主要用于实现员工信息、往来单位信息的管理和登录密码的修改。
l辅助工具模块。
辅助工具模块用于实现计算机中的一些基本办公软件Word、Excel和计算器的启动。
2系统分析
进销存管理是企业日常经营管理中十分重要的一个组成部分,传统的手工管理方式呈现出越来越多的弊端。
在手工管理模式下,统计,汇总处理时的工作量极其繁重,处理效率非常低,领导也无法及时了解企业资金占用的实际状况。
通过报表管理,企业可以直观分析企业的进销存情况,提高企业的竞争能力。
2.1需求分析
通过实际调查,要求本系统具有以下功能。
l具有良好的人机界面。
l如果系统的使用对象较多,则要求有良好的权限管理。
l方便的数据查询,支持多条件查询。
l在相应的权限下,可方便地删除数据。
l数据计算自动完成,尽量减少人工干预。
l报表分析商品进货、商品销售情况。
l报表基本信息查询时,可根据查询条件动态显示查询结果。
l报表分析过程中,可根据条件动态分析报表数据。
根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几模块:
第一模块:
进货管理部分
1、进货单信息
2、进货退货单管理
第二模块:
销售管理
1、销售单信息
2、销售退货单管理
第三模块:
库存管理
1、查看库存的基本信息
2、出库
3、入库
第四模块:
基本信息管理
1、员工信息
2、往来单位信息
3、修改密码
第五模块:
辅助工具
1、启动Word
2、启动Excel
3、启动计算器
2.2可行性分析
随着经济的全球化以及中国经济改革的逐渐深化,中小企业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是企业赢得竞争胜利的决定性因素,进销存管理系统的开发是提高企业竞争力的最有效的方法之一。
进销存管理系统的开发实现了从进货、库存、到销售的一体化管理。
提高了管理水平和工作效率,最大限度减少了手工操作带来的错误。
2.2开发工具选择
本系统前台数据库采用MicrosoftSQLAccess2003,该数据库系统在安全性、准确性、运行速度方面有相对对的优势,并且处理数据量较大、效率高;后台选择以.NET平台作为开发平台,以C#作为开发语言,采用VisualStudio2008作为主要的开发工具,可与Access2003数据库无缝连接。
3系统设计
3.1系统功能图
企业进销存管理系统
库存管理
销售管理
基本信息管理
辅助工具
进货管理
进货单信息
进货退货信息
销售单管理
销售退货管理
库存基本信息
出库入库管理
员工信息
往来单位信息
启动WordExcel
启动计算器
企业进销存管理系统功能结构图
否
是
系统登录
是否登录
系统主窗体
库存管理
销售管理
基本信息管理
辅助工具
进货管理
系统业务流程图
3.2概念结构设计
商品型号
商品名
商品编号
商品编号
商品编号
商品名
库存信息表
库存数
商品单位
进价
售价
产地
库存信息表
商品名
商品编号
进货编号
进货信息表
进货数
商品单位
进价
总进价
进货时间
进货信息表
商品型号
商品名
销售编号
销售信息表
销售数
商品单位
售价
总价
销售日期
销售信息表
员工性别
员工名
员工编号
商品编号
商品编号
商品名
员工信息表
员工职务
员工电话
员工地址
员工信息表
往来单位名
往来编号
库存信息表
往来单位联系人
往来单位电话
往来单位地址
往来单位信息表
3.3逻辑结构设计
根据设计好的E-R图在数据库中建立各表,系统数据库中各表的逻辑结构如下:
往来单位信息表:
字段名
数据类型
长度
主键
描述
unitid
文本
50
是
往来单位编号
uintname
文本
100
否
往来单位名
unittel
文本
50
否
联系人电话
unitcop
文本
20
否
联系人姓名
unitaddress
文本
20
否
地址
员工信息表:
字段名
数据类型
长度
主键
描述
employid
文本
50
是
员工编号
fullname
文本
100
否
员工姓名
type
文本
50
否
员工职务
sex
文本
20
否
性别
tel
文本
20
否
电话
address
文本
50
否
地址
库存信息表:
字段名
数据类型
长度
主键
描述
tradecode
文本
50
是
商品编号
fullname
文本
100
否
商品名
type
文本
50
否
商品型号
unit
文本
20
否
商品单位
qty
文本
20
否
库存数量
price
文本
20
否
进价
saleprice
文本
20
否
售价
produce
文本
50
否
产地
进货信息表:
字段名
数据类型
长度
主键
描述
billcode
文本
50
否
进货单编号
tradecode
文本
100
是
商品编号
fullname
文本
50
否
商品名
unit
文本
20
否
商品单位
qty
文本
20
否
进货数
price
文本
20
否
进价
allprice
文本
40
否
总进价
time1
文本
50
否
进货日期
3.4窗体设计
登陆窗体
主窗体
进货窗体
售货窗体
库存窗体
员工信息窗体
4主要功能模块
4.1登陆窗体
员工通过输入编号、密码、对应的身份和验证码来登陆,登陆时通过不同的身份来判断员工的操作权限,相关代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text=="")
{
MessageBox.Show("用户名不能为空");
textBox1.Focus();
return;
}
if(textBox2.Text=="")
{
MessageBox.Show("用户密码不能为空");
textBox2.Focus();
return;
}
if(textBox3.Text=="")
{
MessageBox.Show("验证码不能为空");
textBox3.Focus();
return;
}
stringstr="select*fromuserinfowhereuserid='"+textBox1.Text+"'anduserpsw='"+textBox2.Text+"'andusertype='"+comboBox1.Text+"'";
DataSetds=dbhelp.bindgrid(str);
dbhelp.conn.Open();
if(ds.Tables[0].Rows.Count>0&&textBox3.Text==label6.Text)
{
this.Hide();
zhuchuangtis=newzhuchuangti();
s.Show();
if(comboBox1.Text=="职工")
{
s.库存管理ToolStripMenuItem.Enabled=false;
s.往来单位ToolStripMenuItem.Enabled=false;
}
if(comboBox1.Text=="主管"||comboBox1.Text=="副主管")
{
s.往来单位ToolStripMenuItem.Enabled=false;
}
}
else
{
if(ds.Tables[0].Rows.Count>0&&textBox3.Text!
=label6.Text)
{
MessageBox.Show("验证码错误请重新输入");
textBox3.Text="";
textBox3.Focus();
}
else
{
if(MessageBox.Show("登录失败是否继续登陆","",MessageBoxButtons.YesNo,MessageBoxIcon.Exclamation)==DialogResult.Yes)
{
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox1.Focus();
label6.Text=yanzheng.creatcard(4);
}
else
{
Application.Exit();
}
}
}
baseinfo1.usertype=comboBox1.Text;
baseinfo1.userid=textBox1.Text;
dbhelp.conn.Close();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Application.Exit();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
stringstr1="selectdistinctusertypefromuserinfo";
OleDbCommandcmd=newOleDbCommand();
OleDbDataReaderdr;
cmd.Connection=dbhelp.conn;
dbhelp.conn.Open();
cmd.CommandText=str1;
dr=cmd.ExecuteReader();
while(dr.Read())
{
comboBox1.Items.Add(dr.GetString(0));
}
comboBox1.SelectedIndex=0;
dbhelp.conn.Close();
label6.Text=yanzheng.creatcard(4);
}
privatevoidlabel6_Click(objectsender,EventArgse)
{
label6.Text=yanzheng.creatcard(4);
}
4.2库存设计
确认操作人员的身份后可以对库存信息进行相应的操作,如对库存信息进行添加、删除、修改和查询,高职务的人员可以进行所有操作,中级职务人员只能查询,低级职务人员无权限进入此界面,相关代码如下:
privatevoidkucun_Load(objectsender,EventArgse)
{
stringstr="select*fromtb_stock";
ds=dbhelp.bindgrid(str);
dbhelp.conn.Open();
dataGridView1.DataSource=ds.Tables[0].DefaultView;
dbhelp.conn.Close();
string[]stock={"商品编号","商品名","产地"};
for(inti=0;i<=2;i++)
{
comboBox1.Items.Add(stock[i]);
}
comboBox1.Text=stock[0];
groupBox1.Enabled=false;
}
privatevoiddataGridView1_SelectionChanged(objectsender,EventArgse)
{
textBox2.Text=dataGridView1.CurrentRow.Cells[0].Value.ToString();
textBox3.Text=dataGridView1.CurrentRow.Cells[1].Value.ToString();
textBox4.Text=dataGridView1.CurrentRow.Cells[2].Value.ToString();
textBox5.Text=dataGridView1.CurrentRow.Cells[3].Value.ToString();
textBox6.Text=dataGridView1.CurrentRow.Cells[5].Value.ToString();
textBox7.Text=dataGridView1.CurrentRow.Cells[4].Value.ToString();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
//DataSetds=newDataSet();
if(textBox1.Text=="")
{
stringstr="select*fromtb_stock";
ds=dbhelp.bindgrid(str);
dbhelp.conn.Open();
dataGridView1.DataSource=ds.Tables[0].DefaultView