系统总体设计方案.docx
《系统总体设计方案.docx》由会员分享,可在线阅读,更多相关《系统总体设计方案.docx(16页珍藏版)》请在冰豆网上搜索。
系统总体设计方案
进销存系统总体设计方案
一、设计目标
由于商品进销存报表管理是企业日常经营管理中十分重要的一个组成部分,传统的手工管理方式呈现越来越多的弊端。
对此我们设计了关于此项的系统——进销存系统,从而可以方便统计汇总人员的工作量,提高公司的工作效率;该系统我们设计了以下的六大模块:
1)基本档案管理模块
基本档案管理主要用于实现系统基本数据的录入,相关基础数据为:
内部员工信息、往来单位信息、客户基本信息。
2)进货管理模块
主要用于实现商品的进货数据录入、退货数据录入和进货查询分析。
3)销售管理模块
主要用于实现商品的销售数据录入、客户退货数据录入和销售信息查询。
4)库存管理模块
主要用于实现库存调拨、库存商品数据上限报警和库存数据查询。
5)报表设计模块
用于实现员工信息报表、往来单位报表、进货商品报表、员工销售报表、商品进货分析报表、销售价格分析报表以及员工销售分析报表。
6)系统维护模块
用于实现用户设置、操作权限设置、密码修改、数据备份和数据恢复。
二、开发及运行环境
●开发时间:
2011-10-25
●运行环境:
硬件实施:
一台台式电脑其配置为:
CPU:
主频1.7GHz
主板:
映泰A785G
内存:
2G
硬盘:
250G
机箱电源:
金河田
软件环境:
vs2005和SQL2005
OFFICE2003
计算机的系统:
WindowsXP
三、系统功能结构(系统模块图)
基本档案管理模块:
员工信息:
编号、姓名、性别、出生日期、员工职位、家庭地址、联系电话、毕业时间、所学专业
客户档案:
姓名、性别、手机号码、备注。
供应商信息:
供应商ID、供应商名称、负责人、地址、电子邮箱、联系电话
进货管理模块
采购进货:
采购ID、供应商ID、供应商名称、(进)商品ID、(进)商品名称、进货单价、进货数量、应付款、实付款、采购时间、员工ID
采购退货:
退货ID、供应商ID、退货商品ID、退货数量,退货单价、退款金额、退货时间、员工ID
采购查询:
1采购类型:
采购进货查询,采购退货查询
2查询条件:
商品ID,采购时间,商品名称
销售管理模块
商品销售:
销售ID、客户ID、客户名称、销售商品ID、销售商品名称、销售单价、销售数量、应付款、实付款、销售时间、员工ID
客户退货:
退货商品名称、退货ID、退货客户ID、退货数量、退款金额、退货时间、员工ID、退货商品ID
销售查询:
销售的商品、编号、销售数量、价格、销售时间、客户名称、客户地址、客户联系方式、销售人员
库存管理模块
库存调:
商品ID、商品名称、商品调进、商品调出、调动时间、库存数量、调出数量
库存报表:
商品ID、商品名称、库存数量、报警数量、所在仓库
库存查询:
商品ID、商品名称、库存数量、报警数量、所在仓库
报表设计模块
员工信息报表:
员工姓名,员工性别,所属部门,所在职位,员工ID、用户名、角色ID、密码、联系电话、家庭地址
往来单位报表:
供应商信息、客户信息
进货商品报表:
采购ID、供应商ID、供应商名称、(进)商品ID、(进)商品名称、进货单价、进货数量、应付款、实付款、采购时间、员工ID
员工销售报表:
员工姓名、性别、商品ID、销售ID、销售时间
商品进价分析报表:
进货员工,员工性别、商品ID,商品名称、进货时间
销售价格分析报表:
员工姓名、商品名称、商品ID、销售ID、销售时间(开始到结束)
员工销售分析报表:
员工姓名、性别、商品ID、销售ID、销售时间
系统维护模块
系统管理:
系统用户、权限设置、更改密码、数据备份、数据还原
四、数据库设计
1.E-R图分析
2.主要数据表及结构设计
※※供应商信息表※※
字段名称
类型
长度
是否允许为空
备注
供应商ID
nvarchar
6
否
主键
供应商名称
nvarchar
10
是
负责人
nvarchar
4
是
地址
nvarchar
20
是
电子邮箱
nvarchar
20
是
联系电话
nvarchar
20
是
※※库存商品信息表※※
字段名称
类型
长度
是否允许为空
备注
库存ID
Nvarchar
6
否
主键
商品ID
nvarchar
6
是
外键
商品名称
nvarchar
10
是
商品数量
int
是
库存报警
int
是
所属仓库
nvarchar
6
是
外键
※※供应商——商品表(采购)※※
字段名称
类型
长度
是否允许为空
备注
采购ID
nvarchar
8
是
主键
供应商ID
nvarchar
6
是
外键
供应商名称
nvarchar
10
是
(进)商品ID
nvarchar
6
是
外键
(进)商品名称
nvarchar
10
是
进货单价
money
是
进货数量
int
是
应付款
money
是
实付款
money
是
采购时间
datatime
是
所属仓库
Nvarchar
6
是
外键
员工ID
nvarchar
6
是
外键
※※采购退货表※※
字段
类型
长度
是否为空
备注
退货ID
Nvarchar
8
N
主键
供应商ID
Nvarchar
6
Y
外键
退货商品ID
Nvarchar
6
Y
外键
退货商品数量
int
4
Y
退货商品单价
money
Y
退款金额
money
Y
退货时间
Datatime
Y
员工ID
Nvarchar
6
Y
外键
所属仓库
Nvarchar
6
Y
外键
※※客户信息表※※
字段
类型
长度
是否为空
备注
客户ID
Nvarchar
6
N
主键
客户名称
Nvarchar
6
Y
客户地址
Nvarchar
6
Y
联系电话
Nvarchar
6
Y
电子邮箱
Nvarchar
6
Y
※※销售表※※
字段
类型
长度
是否为空
备注
销售ID
Nvarchar
6
N
主键
客户ID
Nvarchar
6
Y
外键
客户名称
Nvarchar
6
Y
外键
销售商品ID
Nvarchar
6
Y
外键
销售商品名称
Nvarchar
6
Y
外键
销售单价
Money
Y
销售数量
Int
Y
应付款
Money
Y
实付款
Money
Y
销售时间
Datatime
Y
员工ID
Nvarchar
6
Y
外键
所属仓库
Nvarchar
6
Y
外键
※※销售退货表※※
字段
类型
长度
是否为空
备注
退货ID
Nvarchar
6
N
主键
退货商品ID
Nvarchar
6
Y
外键
退货客户ID
Nvarchar
6
Y
外键
退货单价
Money
Y
退货数量
Int
Y
退款金额
Money
Y
退货时间
Datatime
Y
员工ID
Nvarchar
6
Y
外键
所属仓库
Nvarchar
6
Y
外键
※※部门信息表※※
字段
类型
长度
是否为空
备注
部门名称
Nvarchar
6
N
主键
部门人数
Int
Y
部门领导
Nvarchar
6
Y
备注
Nvarchar
50
Y
※※权限信息表※※
字段
类型
长度
是否为空
备注
权限ID
Nvarchar
6
N
主键
员工信息
Bit
Y
客户档案
Bit
Y
供应商信息
Bit
Y
采购进货
Bit
Y
采购退货
Bit
Y
采购查询
Bit
Y
商品销售
Bit
Y
客户退货
Bit
Y
销售查询
Bit
Y
库存调拨
Bit
Y
库存报警
Bit
Y
库存查询
Bit
Y
员工信息报表
Bit
Y
往来单位报表
Bit
Y
进货商品报表
Bit
Y
员工销售报表
Bit
Y
商品进货分析报表
Bit
Y
销售价格分析报表
Bit
Y
员工销售分析报表
Bit
Y
系统用户
Bit
Y
权限设置
Bit
Y
更改密码
Bit
Y
数据备份
Bit
Y
数据恢复
Bit
Y
※※仓库信息表※※
字段
类型
长度
是否为空
备注
仓库名称
Nvarchar
6
N
主键
地址
Nvarchar
20
Y
面积
Int
Y
※※角色表※※
字段
类型
长度
是否为空
备注
角色ID
Nvarchar
6
N
主键
角色名称
Nvarchar
6
Y
权限ID
Nvarchar
6
Y
外键
※※员工信息表※※
字段
类型
长度
是否允许为空
备注
员工ID
Nvarchar
6
N
主键
员工姓名
Nvarchar
4
Y
性别
Nvarchar
1
Y
职位
Nvarchar
6
Y
所在部门
Nvarchar
6
Y
外键
联系电话
Nvarchar
20
Y
角色Id
Nvarchar
6
Y
外键
家庭地址
Nvarchar
20
Y
密码
Nvarchar
20
Y
用户名
Nvarchar
6
Y
3.触发器设计
最基本的要设计三个触发器:
采购触发器、库存触发器、销售触发器;为了系统更加的完善要设计更多的触发器,这样做出来的系统管理才会更有效。
由于我们的数据表有采购表、采购退货表、销售表、销售退货表、所以我们建了4个触发器:
采购触发器:
createtriggerGoodsIn
on采购表
forinsert
as
begin
insertinto商品信息表(商品ID,商品名称,商品数量,所属仓库)
selectinserted.进货商品ID,inserted.进货商品名称,inserted.进货数量,inserted.所属仓库frominserted
end
采购退货触发器:
createtriggerReGoodsInon采购退货表
forinsert,update
as
begin
update商品信息表set商品数量=(select商品信息表.商品数量-inserted.退货商品数量frominserted)
where商品信息表.商品ID=(SELECTinserted.退货商品IDfrominserted)
and商品信息表.所属仓库=(selectinserted.所属仓库frominserted)
end
销售触发器:
createtriggerSell
on销售表
forinsert,update
as
begin
update商品信息表set商品数量=(select商品信息表.商品数量-inserted.销售数量frominserted)
where商品信息表.商品ID=(selectinserted.销售商品IDfrominserted)
end
销售退货触发器:
createtriggerReSellInon销售退货表
forinsert,update
as
begin
update商品信息表set商品数量=(select商品信息表.商品数量-inserted.退货数量frominserted)
where商品信息表.商品ID=(SELECTinserted.退货商品IDfrominserted)
and商品信息表.所属仓库=(selectinserted.所属仓库frominserted)
end
项目文件结构:
用户权限设计:
我们设计了三个角色:
分别是系统管理员、一般用户、高级用户、
我们的权限和角色之间是1对1的联系,即一个角色只能有一种权限ID
D01:
为系统管理员权限
D02:
为普通用户权限
D03:
高级用户权限
窗体设计
1、员工信息窗体
代码模块:
1、privatevoidfrmEmployeeInfo_Load(objectsender,EventArgse)//加载信息
2、privatevoidbtnSave_Click(objectsender,EventArgse)//保存信息方法
3、privatevoidbtnCancel_Click(objectsender,EventArgse)//撤销方法
4、privatevoidbtnAdd_Click(objectsender,EventArgse)//新增数据方法
5、privatevoidbtnEdit_Click(objectsender,EventArgse)//修改信息方法
6、privatevoidbtnDelet_Click(objectsender,EventArgse)//删除信息方法
7、privatevoidbtnRefresh_Click(objectsender,EventArgse)//刷新信息方法
8、privatevoidbtnSearch_Click(objectsender,EventArgse)//查询信息方法
9、privatevoidbtnExit_Click(objectsender,EventArgse)//关闭当前窗体方法
10、privatevoiddgvEmployeeInfo_CellClick(objectsender,DataGridViewCellEventArgse)//单元格单击事件
11、privatevoidFilltxt()//将数据添加到文本框中方法