销售管理系统课程设计
更新时间:2023-05-07 17:56:02 阅读量: 实用文档 文档下载
课程设计
课程名称:数据库原理
课题名称:销售管理系统
班级:计算机学院08-03BJ班
完成人:叶尔祥(14082400560) (组长)
刘志平(14082400557)
郭世昆(14082402726)
甘霞(14082400663)
蒋序东(14082400599)
指导教师:胡虚怀
湖南理工学院计算机学院
年月日
- 0 -
目录
绪论 (2)
1课题背景 (2)
2系统开发相关技术介绍 (2)
1设计目的 (3)
2 系统功能分析 (3)
2.1系统的功能需求 (3)
2.2功能模块 (4)
3 数据库设计 (4)
3.1数据库的建立 (4)
3.2数据库的数据字典 (5)
3.3数据库的逻辑结构 (6)
3.4数据库的概念结构(E-R图) (10)
4系统的程序设计与实现 (13)
4.1登陆模块 (14)
4.2管理模块 (18)
4.3采购模块 (21)
4.4销售模块 (31)
4.5改密模块 (40)
4.6数据库连接技术 (42)
5系统的运行结果与分析 (42)
6附录 (47)
6.1数据库源程序 (47)
6.2数据库脚本程序 (47)
小组成员分工情况说明 (49)
课程设计总结 (49)
- 1 -
绪论
1.1课题背景
随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和市场竞争力。但目前仍有部分企业还停留在原始计账管理阶段。而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。
许多从事商业活动的企业都需要采购商品、销售商品以及将商品暂时存储在仓库中,对这一工作流程进行有效地管理和控制,对这些企业来说是非常重要。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。
1.2系统开发相关技术介绍
本系统相关开发的技术有两种,利用专门的数据库编程工具:SQL SERVER;另一种方法是:利用常规的程序语言编写:C#。
- 2 -
一、设计目的
基于Microsoft SQL Server 2008数据库并以visual studio 2010编程环境C#语言设计的实用销售管理系统
二、系统的功能分析
(1)系统的功能需求:
在信息技术的催化之下,世界经济的变革已经进入了加速状态。世界经济一体化,企业经营全球化,以及高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企业与供方的关系变得更加密切和复杂。强化管理,规范业务流程,提高透明度,加快商品资金周转,以及为流通领域信息管理全面网络化打下基础,是商品销售公司乃至众多商业企业梦寐以求的愿望。
随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,因此企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。
1)经济上可行性分析
现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为企业的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
第一,本系统的运行可以代替人工进行许多繁杂的劳动;
第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高企业的工作效率;
本产品的开发所需的设备在现有条件下,只需要少量的投入资金就可以实现。因此在经济上是可行的。
2)技术上可行性分析
a)软件可行性
C#具有丰富的数据库功能,可以直接建立和编辑数据库,使用结构化查询语言直接访问SQL Sever 上的数据库,并提供简单的面向对象的库操作命令、多用户数据库的加锁机制和网络数据库的编程技术。
SQL Sever 2008是由微软公司推出的,能提供超大型系统所需的数据库服务,并对数据库提供全面的保护,具有防止问题发生的安全措施,他是一个采用SQL语言的关系型数据库管理系统。作为客户机/服务器的后端数据库,他是所有数据的汇总和管理中心。
附:软件环境
操作系统:Windows 7 中文旗舰版
数据库:Microsoft SQL Server 2008
开发平台:Microsoft visual studio 2010
b)硬件可行性
本系统的开发利用Microsoft SQL Server 2008作为本系统的数据库,它是一个支持多用户的新型数据库。
使用C#作为系统开发的开发环境,此开发工具开发数据库管理系统,采用面向对象的方式,方便、简捷、功能强大。
附:硬件环境
处理器:AMD Athlon(速龙) 64 X2 双核5200+
硬盘:320GB
内存:2G
显示器:瀚视奇HSD5A47 Hanns.G HW173 ( 17.2 英寸)
- 3 -
- 4 -
(2)功能模块
三、数据库设计
1.数据库的建立
数据库的设计尽量的实现与应用程序做到最低等级的耦合,按照三层模式两级联系的方式设计数据库,把数据库设计成层次清晰的,高效的,实用数据库。在该系统的数据库设计方面,把数据库的设计分为四层:基本表,视图,包,存储过程。其中视图作为联系存储过程与基本表的桥梁必须进行认真的设计,在最外层,包中包含存储过程要用到的一些信息,也可以认为包和存储过程是处于相同的层次,不将存储过程放置在包中,是考虑到对进行数据库基本表、视图以及功能型的存储过程扩展的时候应尽量避免和减少对系统的层次模型的影响。以降低产生错误的可能。但在数据库设计已经相对稳定的情况下,可以将存储过程置于包中,由于这是第一次使用SQL SERVER 开发系统,兼顾上面的原因,而采用了包与存储过程分离的方式。
因为该系统是采用三层架构设计的,可通过应用服务器的扩展来实现新功能的添加。而在该课程设计的内容定义方面,保证了数据的独立性,该系统对数据记录的操作也因为其课程设计中定义的数据操作方式和操作内容而注定不会产生脏数据及数据读写的不一致性,故在数据库设计方面未采用触发器。
我们认为在扩展应用服务器至多种功能后,将应用服务器分为控制部分和客户应用部分,此
销 售 管
理 系 统
商品销售
商品采购
信息统计
信息查询
信息修改
添加销售信息
减少仓库数量 新产品数量
增加已有产品
销售统计
入库统计 采供查询
销售查询
价格,商品调整 用户,密码 商品入库
入库
出库
时在控制部分添加触发器来防止数据读写的不一致性,这已经超出了本次课程设计所涉及的范围,在此不做过多的陈述。
2.数据库的数据字典:
销售管理系统,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流,数据存储和处理过程进行说明。
(1)主要数据流定义
1)员工情况
位置:员工
定义: 员工情况=姓名+性别+出生日期+民族+学历+职称。
数据流向:根据公司的具体情况来确定。
说明:要对每一位员工进行唯一编号。
2)管理员情况
位置:用户
定义: 用户身份=员工编号。
数据流量:根据公司的具体情况来确定。
说明:要对每一位管理员建立唯一的账号
3)销售情况
位置:销售表
定义:销售=各个商品的单价×数目
数据流量:从库存向客户
说明:销售金额会计算到销售员里
4)采购情况
位置:采购
定义:采购=各个商品的数目+各个商品的总价
数据流向:从客户到库存
说明:采购信息会被存储在采购员的表里
5)库存情况
位置:仓库
定义:库存=各个商品的单价和数量
数据流向:从库存到销售
说明:库存必须和采购的商品一样
6)管理
位置:用户
定义:管理员管理员工
数据流向:从管理者到职工
说明:管理员能看到销售员和采供员看不到的信息
7)购买
位置:销售表
定义:客户可以买销售员的商品
数据流向:从销售员到客户
(2)数据存储
1)数据存储:销售记录
- 5 -
数据量和存取频度:根据公司的具体规模情况来确定。
存取方式:联机处理;检索和更新;以更新操作为主。
2)数据结构:采购记录
数据量和存取频度:根据公司的具体规模情况来确定。
存取方式:联机处理;检索和更新;以更新操作为主。
3)数据结构:供货记录
数据量和存取频度:根据公司的具体规模情况来确定。
存取方式:联机处理;检索和更新;以更新操作为主。
4) 数据结构:库存记录
数据量和存取频度:根据公司的具体规模情况来确定。
存取方式:联机处理;检索和更新;以更新操作为主。
(3)处理过程
1)销售过程
输入:商品单价,商品数目
输出:商品总价以及对应客户名单
处理说明:根据员工的销售记录销售的时间和总价录入销售表
2)采购过程
输入:采购商品的编号,数量和品牌,以及采购的供应商
输出:采购所需要的价格和采购的时间
处理说明:根据员工的采购记录,将采购商品的价格和供应商录入订单表
3.数据库的逻辑结构(数据库中的表的结构及定义)
商品表
名称数据类型大小约束
商品编号Char 15 Primary key()
商品名Char 30 not null
商品类别char 30
出售低价decimal (10,1)
库存表
名称数据类型大小约束
商品编号Char 15 外码foreign key 库存量Int
- 6 -
供货商表
名称数据类型大小约束
供货商编号Char 15 主码(primary key)公司名Char 15 Not null
联系人姓名Char 15
联系电话Char 15
邮箱Char 30
地址Char 30
客户表
名称数据类型大小约束
销售员编号Char 15 主码(primary key)姓名Char 15 Not null
联系电话Char 15
邮箱Char 30
地址Char 30
采购员工表
名称数据类型大小约束
采购员编号Char 15 主码(primary key)姓名Char 15 Not null
联系电话Char 15
邮箱Char 30
地址Char 30
销售员工表
名称数据类型大小约束
销售员编号Char 15 主码(primary key)姓名Char 15 Not null
联系电话Char 15
邮箱Char 30
地址Char 30
- 7 -
采购表
名称数据类型大小约束
商品编号Char 15 外码foreign key 采购员编号Char 15 外码foreign key 供货商编号Char 15
采购数量Int
进货价Decimal (10,1)
采购日期Smalldatetime
销售表
名称数据类型大小约束
客户编号Char 15
销售编号Char 15 外码foreign key 商品编号Char 15 外码foreign key 出售日期Smalldatetime
出售量Int
出售单价Decimal (10,1)
利润表
名称数据类型大小约束
商品编号Char 15 外码foreign key 成本价Decimal (10,1)
实际售价Decimal (10,1)
用户表
名称数据类型大小约束
权限编号char 15
用户名Char 15
密码Char 20
- 8 -
附录:表数据单
采购表
采购表
供货商表
客户表
- 9 -
库存表
销售表
4.数据库的概念结构(E-R图):
(通过Microsoft Office Visio 2007反向工程生成)
- 10 -
SQL
表关系图
create table 商品
(
商品编号 char(15) primary key,
商品名 char(30) not null,
商品类别 char(30),
出售低价 decimal (10 ,1),
)
create table 库存
(
商品编号 char(15),
库存量 int,
foreign key (商品编号) references 商品(商品编号), )
create table 供货商
(
供货商编号 char(15) primary key,
公司名 char(15) not null ,
- 11 -
联系人姓名 char(15),
联系电话 char(15),
邮箱 char(30),
地址 char(30),
)
create table 客户
(
客户编号 char(15) primary key ,
客户姓名 char(15) not null,
联系电话 char(15),
邮箱 char(30),
地址 char(30),
)
create table 采购员工
(
采购员编号 char(15) primary key,
姓名 char(15) not null,
联系电话 char(15),
邮箱 char(30),
地址 char(30),
)
create table 销售员工
(
销售员编号 char(15) primary key,
姓名 char(15) not null ,
联系电话 char(15),
邮箱 char(30),
地址 char(30),
)
create table 采购
(
商品编号 char(15) ,
采购员编号 char(15) ,
供货商编号 char(15) ,
采购数量 int ,
进货价 decimal (10 ,1) ,
采购日期 smalldatetime ,
foreign key (商品编号) references 商品(商品编号),
foreign key (采购员编号) references 采购员工(采购员编号), )
- 12 -
create table 销售
(
客户编号 char(15) ,
销售员编号 char(15) ,
商品编号 char(15) ,
销售日期 smalldatetime ,
销售量 int ,
出售单价 decimal (10 ,1) ,
foreign key (商品编号) references 商品(商品编号),
foreign key (销售员编号) references 销售员工(销售员编号),
)
create table 利润
(
商品编号 char(15) ,
成本价 decimal (10 ,1) ,
实际售价 decimal (10 ,1) ,
foreign key (商品编号) references 商品(商品编号),
)
create table 用户
(
权限编号 char(15),
用户名 char(15),
密码 char(20),
)
四、系统的程序设计与实现
必须包括:
系统的运行环境
硬件环境
处理器:AMD Athlon(速龙) 64 X2 双核5200+
硬盘:320GB
内存:2G
显示器:瀚视奇HSD5A47 Hanns.G HW173 ( 17.2 英寸)
软件环境
操作系统:Windows 7 中文旗舰版
数据库:Microsoft SQL Server 2008
开发平台:Microsoft visual studio 2010
- 13 -
- 14 - 开发环境
Microsoft visual studio 2010 集成开发环境
C#语言
系统的详细设计
(包括模块之间的关系,模块的功能、数据库的连接技术的实现、主要功能实现的程序段说明等) 模块之间的关系
(1)、登陆模块
○
1 通过“改密”按钮进入“密码修改”窗体 ○
2 通过“登陆”按钮进入“3
个管理系统”窗体
登陆选择关键代码:
bool bcon = false;
SqlConnection conn = null;
string comdstr = "";
SqlCommand mycomand = null;
SqlDataReader dr = null; 登陆模块 数据库 管理模块 采购模块 销售模块 数据库
改密模块 选择登陆 选择改密
try
{
conn = new SqlConnection(Resource1.String1);
comdstr = "select 姓名,密码,职称,编号from 员工";
mycomand = new SqlCommand(comdstr, conn);
conn.Open();
dr = mycomand.ExecuteReader();
while (dr.Read())
{
if (dr[0].ToString().Trim(' ') == ntBx.Text)
{
if (dr[1].ToString().Trim(' ') == ptBx.Text)
{
bcon = true;
break;
}
}
}
if (bcon)
{
if (dr[2].ToString().Trim(' ') == "管理员")
{
MForm mForm = new MForm();
this.Hide();
379a2c3f0912a216147929fabel1.Text = dr[0].ToString();
379a2c3f0912a216147929fabel2.Text = dr[3].ToString();
mForm.ShowDialog();
this.Close();
}
else if (dr[2].ToString().Trim(' ') == "销售员")
{
采购sForm = new 采购();
379a2c3f0912a216147929fabel6.Text = dr[0].ToString();
379a2c3f0912a216147929fabel7.Text = dr[3].ToString();
this.Hide();
sForm.ShowDialog();
this.Close();
}
else if (dr[2].ToString().Trim(' ') == "采购员")
{
BForm bForm = new BForm();
this.Hide();
- 15 -
379a2c3f0912a216147929fabel6.Text = dr[0].ToString();
379a2c3f0912a216147929fabel7.Text = dr[3].ToString();
bForm.ShowDialog();
this.Close();
}
else
{
MessageBox.Show("密码错误,请重新输入");
}
}
else
{
MessageBox.Show("密码错误,请重新输入");
}
}
finally
{
conn.Close();
}
改密选择关键代码:
SqlConnection conn = null;
string comdstr = "";
SqlCommand mycomand = null;
SqlDataReader dr = null;
try
{
bool ft = false;
conn = new SqlConnection(Resource1.String1);
comdstr = "select 姓名,密码,职称from 员工";
mycomand = new SqlCommand(comdstr, conn);
conn.Open();
dr = mycomand.ExecuteReader();
while (dr.Read())
{
if (dr[0].ToString().Trim(' ') == ntBx.Text)
{
if (dr[1].ToString().Trim(' ') == ptBx.Text)
{
ft = true;
break;
- 16 -
}
}
}
if (ft)
{
gaimi GM = new gaimi();
379a2c3f0912a216147929fabel4.Text = dr[2].ToString();
this.Hide();
GM.ShowDialog();
this.Close();
}
else
{
MessageBox.Show("你输入的用户名或密码错误,请重新输入");
}
}
finally
{
conn.Close();
}
- 17 -
(2)、管理模块
1 库存查询
2, 员工信息查询
3 订单查询
4 客户信息查询
5供货商信息查询
关键代码:
//库存量查询
comdstr = "select 商品名称,库存量,单价from 库存";
mycomand = new SqlCommand(comdstr, con);
con.Open();
dr = mycomand.ExecuteReader();
listView2.Items.Clear();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' '));
item.SubItems.Add(dr[1].ToString());
item.SubItems.Add(dr[2].ToString());
listView2.Items.Add(item);
}
//员工信息查询
comdstr = "select 编号,姓名,电话,手机,邮箱,地址,职称,基本工资,密码from
- 18 -
员工";
mycomand = new SqlCommand(comdstr, con);
con.Open();
dr = mycomand.ExecuteReader();
listView1.Items.Clear();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' '));
item.SubItems.Add(dr[1].ToString().Trim(' '));
item.SubItems.Add(dr[2].ToString().Trim(' '));
item.SubItems.Add(dr[3].ToString().Trim(' '));
item.SubItems.Add(dr[4].ToString().Trim(' '));
item.SubItems.Add(dr[5].ToString().Trim(' '));
item.SubItems.Add(dr[6].ToString().Trim(' '));
item.SubItems.Add(dr[7].ToString().Trim(' '));
item.SubItems.Add(dr[8].ToString().Trim(' '));
listView1.Items.Add(item);
}
//订单查询
//1. comdstr = "select 客户姓名,商品名称,销售量,销售单价,账单编号,销售日期from 销售";
mycomand = new SqlCommand(comdstr, con);
con.Open();
dr = mycomand.ExecuteReader();
listView3.Items.Clear();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr[4].ToString().Trim(' '));
item.SubItems.Add(dr[1].ToString().Trim(' '));
item.SubItems.Add(dr[2].ToString());
item.SubItems.Add(dr[3].ToString());
item.SubItems.Add(dr[0].ToString().Trim(' '));
item.SubItems.Add(DateTime.Parse(dr[5].ToString()).Year.ToString()
+ "-" + DateTime.Parse(dr[5].ToString()).Month.ToString()
+ "-" + DateTime.Parse(dr[5].ToString()).Day.ToString());
listView3.Items.Add(item);
}
//2.
comdstr = "select 账单编号,名称,进货数量,单价,供货商姓名,进货日期from 采购";
mycomand = new SqlCommand(comdstr, con);
con.Open();
dr = mycomand.ExecuteReader();
- 19 -
listView8.Items.Clear();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' '));
item.SubItems.Add(dr[1].ToString().Trim(' '));
item.SubItems.Add(dr[2].ToString());
item.SubItems.Add(dr[3].ToString());
item.SubItems.Add(dr[4].ToString().Trim(' '));
item.SubItems.Add(DateTime.Parse(dr[5].ToString()).Year.ToString()
+ "-" + DateTime.Parse(dr[5].ToString()).Month.ToString()
+ "-" + DateTime.Parse(dr[5].ToString()).Day.ToString());
listView8.Items.Add(item);
}
//客户信息查看
comdstr = "select 客户姓名,联系手机,联系电话,"
+ "邮箱,地址,结余,公司名称,上次联系时间from 客户";
mycomand = new SqlCommand(comdstr, con);
con.Open();
dr = mycomand.ExecuteReader();
listView6.Items.Clear();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' '));
item.SubItems.Add(dr[1].ToString().Trim(' '));
item.SubItems.Add(dr[2].ToString().Trim(' '));
item.SubItems.Add(dr[3].ToString().Trim(' '));
item.SubItems.Add(dr[4].ToString().Trim(' '));
item.SubItems.Add(dr[5].ToString());
item.SubItems.Add(dr[6].ToString().Trim(' '));
item.SubItems.Add(dr[7].ToString());
listView6.Items.Add(item);
}//供货商查询
comdstr = "select 姓名,电话,手机,"
+ "邮箱,地址,结余,公司名称from 供货商";
mycomand = new SqlCommand(comdstr, con);
con.Open();
dr = mycomand.ExecuteReader();
listView5.Items.Clear();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr[0].ToString().Trim(' '));
item.SubItems.Add(dr[1].ToString().Trim(' '));
- 20 -
正在阅读:
销售管理系统课程设计05-07
胶粉聚苯颗粒施工方案05-18
快速编马尾打造不同款式和气质发型04-30
国家标准化管理委员会关于全国环境管理标准化技术委员会及其3个03-19
新北师大版三年级下册数学第四单元千克、克、吨教学设计09-07
张梨梨林学概论重点09-28
CO2激光、Nd YAG激光和准分子激光熔覆特性的比较05-11
工程竣工监理资料归档整理目录清单108-25
高中语文必背14篇情景默写(学生用)09-25
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 管理系统
- 课程
- 销售
- 设计
- 2020年骨干教师工作计划范本5篇
- 导师分享:收获真正的爱情
- 二年级【部编语文】二年级下册阅读理解专项训练100(附答案)及解析
- 「精品」人教版小学数学六年级下册:第5课时解决问题教案(1)-推荐
- 门禁对讲机维修,门禁对讲机维修策略,门禁对讲机维修找哪家?
- 奥巴马罗姆尼着力在俄亥俄州竞选一托福阅读机经背景
- 建筑构造期末考试试卷及答案
- 2016年版传统媒体转型行业市场现状及发展前景趋势展望分析报告
- “十三五”重点项目-代合金镀件项目申请报告
- 人教部编版四年级数学上册《大数的认识复习课》名师教学设计
- 2018-2024年中国节流阀行业市场监测及投资环境评估预测报告
- 赞美默默付出的句子【三篇】
- 中级维修工理论复习资料10套
- 吉林省长春市十一中2015-2016学年高二化学上学期期初考试试题
- 2018年复旦大学管理学理论(同等学力加试)复试实战预测五套卷
- 辽宁省基层医疗卫生机构和专业公共卫生机构具体情况3年数据分析报告2019版
- 语文七年级第一学期练习册答案
- 2013年山东省考结构化面试真题
- 2018-2019年小学英语河北六年级同步测试拔高试卷【2】含答案考点及解析
- 2018年浙江理工大学C语言程序设计复试实战预测五套卷