数据库课程设计仓库管理系统.docx
《数据库课程设计仓库管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计仓库管理系统.docx(94页珍藏版)》请在冰点文库上搜索。
数据库课程设计仓库管理系统
任务书
1、课程设计题目
仓库管理系统
2、设计任务和内容
一个小型通用的仓库管理系统是实现企业对库存商品出库、入库进行高效的管理。
通过应用系统应能结合销售情况对库存商品进行录入、删除、修改等操作。
按照一定的条件,查询、统计符合条件的商品信息;并且对查询、统计的结果有一定的输出。
本课题任务是开发一个小型的仓库管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。
3、设计步骤和要求
设计步骤:
首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。
然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计。
设计要求:
1、撰写课程设计说明书。
其要求如下:
(1)基本要求:
①能反映完成了上述设计内容要求。
②要求撰写不少于5000个文字(20页)的文档。
③文档中至少要包括:
数据流图、数据字典、E-R图、数据库表的详细
说明、系统功能结构图、主要功能模块说明。
④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面
的计算机截图或手工绘图。
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)
其中,正文部分:
①分章、层次等,每一章从新一页开始。
②章节安排可如下安排
.概述:
包括项目背景、编写目的、软件定义、开发环境等内容。
.需求分析:
问题陈述、需完成的功能。
以数据流图和数据字典表达。
.概念结构设计:
将上述需求分析的成果抽象为ER模型图。
.逻辑结构设计:
把ER模型图转换为关系表;描述每一个基本表关
系。
并进行规范化;定义视图、定义索引、主关键字、定义权限。
.软件功能设计:
画出系统功能结构图,描述每个功能所完成的任务。
.代码设计和界面设计:
给出主要功能的代码并有适当的说明;界面
设计要合理,给出主要界面。
2、一个可运行的仓库管理系统原型。
(可选)
教师签名:
摘 要
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现管理企业势在必行。
而仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本文通过分析浏览器/服务器结构的特点并结合企业仓储管理的实际情况,提出了基于B/S结构中小型企业仓库管理系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用ASP.NET技术和SQLServer2005开发企业仓库管理系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。
通过该系统,使学生可以方便地在企业内部网上进行仓储管理。
该B/S结构的系统在WindowsXP系统和VS.NET平台下开发完成,使用C#作为ASP.NET的开发语言,SQLServer2005作为后台数据库,该数据库系统在安全性、准确性、运行速度方面均有绝对的优势,并且能够对容量较大的数据库进行处理,效率高。
系统有较高的安全性和较好的性能
本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与企业仓库管理系统相关的信息、VS.NET与SQL的无缝链接技术等。
关键词仓库管理;信息管理系统;B/S结构;数据库管理
第一章概述
1.1项目背景
1.2编写目的
1.3软件定义
1.4开发环境
第二章需求分析
2.1可行性分析
2.2功能分析
2.3数据流图
2.4数据字典
第三章概念结构设计
3.1E-R图
第四章逻辑结构设计
4.1关系表
4.2基本表关系。
4.3规范化
第五章软件功能设计
5.1系统功能结构图
5.2功能任务简介
第六章代码设计和界面设计
第一章概述
1.1项目背景
仓库存放的货物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。
针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。
系统主要的实现目标是监控整个仓库的运转情况;提供完善的出入库登记功能且拥有便捷的查询功能。
1.2编写目的
根据任务书要求,假想一小型企业拥有多个仓库,拥有多种物品,且物品在仓库中存在耗损情况。
开发数据库和系统平台解决此问题。
1.3软件介绍
本系统包括一下几个模块。
1)货物管理
提供入库登记、出库登记、损耗登记三个方面的登记功能方便的修改库存信息。
2)档案管理
提供货物档案设置、仓库设置、分类设置三个方面的内容。
分别允许用户更改货物的属性,仓库的属性,分类的属性。
3)查询统计
提供入库查询、出库查询、耗损查询、库存查询四个方面的内容。
允许用户随时查询仓库的现状。
4)系统维护
提供货物档案设置、仓库设置、分类设置三个方面的内容。
分别允许用户更改货物的属性,仓库的属性,分类的属性。
5)系统信息
提供用户管理,更改密码,系统说明,退出系统四项功能。
使软件功能更加完善。
1.4开发环境
语言环境C#语言
平台环境SQLServer2000,VisualStudio2005
系统开发环境Win7,处理器T8300,内存2G,显卡Geforce8600GT
系统运行环境WinXp/Vista/Win7,处理器PentiumII300以上,内存64M以上,硬盘空间3G以上,显卡普通VGA显卡
第二章需求分析
2.1可行性分析
本软件所有处理流程内置,通过界面操作可以完成所有功能能,使用者无需具备SQL及C#语言知识,且软件所有功能完全可以达成编写目的,软件运行硬件要求不高,开发软件是完全可行的。
2.2功能分析
本软件所有处理流程内置,通过界面操作可以完成所有功能能,使用者无需具备SQL及C#语言知识,且软件所有功能完全可以达成编写目的,软件运行硬件要求不高,开发软件是完全可行的。
2.3数据流图
略
2.4数据字典
1.数据项
数据项名
别名
含义说明
类型
长度
取值范围
GoodsID
物品号
标志每个物品
int
4
0-65535
SN
库存编号
标志每条库存信息
int
4
0-65535
SortID
类别ID
标志类别
int
4
0-65535
StorageID
仓库ID
标志仓库编号
int
4
0-65535
InOrder
入库单号
每条入库操作对应单号
int
4
0-65535
OutOrder
出库单号
每条出库操作对应单号
int
4
0-65535
BreakOrder
损耗单号
每条损耗操作对应单号
int
4
0-65535
2.数据流
数据流名
说明
数据来源
数据去向
组成
存储入库单
把入库信息存入入库单
货物
入库单
入库单号,仓库号,物品号,入库数量,入库单位,入库日期
存储出库单
把出库信息存入出库单
仓库
出库单
出库单号,仓库号,物品号,出库数量,出库单位,出库日期
存储耗损单
把损耗信息存入损耗单
仓库
损耗表
耗损单号,仓库号,物品号,耗损数量,耗损日期,损耗备注
3.数据结构
数据结构名
含义说明
组成
货物
操作入库出库及损耗的物品
物品号,物品名,类别名称,规格
仓库
存放所有货物的载体
仓库ID,仓库名称
4.数据存储
数据存储名
说明
编号
流入数据流
流出数据流
组成
入库单
所有入库信息记录
D1
入库单号,仓库号,物品号,入库数量,入库单位,入库日期,入库备注
入库单号,仓库号,物品号,入库数量,入库单位,入库日期,入库备注
出库单
所有出库信息记录
D2
出库单号,仓库号,物品号,出库数量,出库单位,出库日期,出库备注
出库单号,仓库号,物品号,出库数量,出库单位,出库日期,出库备注
损耗单
所有损耗信息记录
D3
耗损单号,仓库号,物品号,耗损数量,耗损日期,损耗备注
耗损单号,仓库号,物品号,耗损数量,耗损日期,损耗备注
5.处理过程
处理过程名
说明
输入
输出
处理
入库审核
对入库申请进行审核
入库申请
同意的入库申请,驳回的入库申请
判断入库信息完整及数据正确与否,均正确则通过否则驳回
入库处理
将物品存入库并登记入库表
同意的入库申请
入库信息,入库单
把货物入库并把信息记录到入库单
出库审核
对出库申请进行审核
出库申请
同意的出库申请,驳回的出库申请
判断出库操作是否够权限并核对仓库中货物是否足够操作,均正确则通过否则驳回
出库处理
将物品出库并登记入出库表
同意的出库申请
出库信息,出库单
把货物出库并把信息记录到出库单
损耗审核
对损耗申请进行审核
损耗申请
同意的损耗申请,驳回的损耗申请
判断损耗操作权限是否够及仓库中是否有此物,均正确则通过,否则驳回
损耗处理
将物品损耗报废并登记入损耗表
同意的损耗申请
损耗信息,损耗表
把货物损耗报废并把信息记录到损耗单
第三章概念结构设计
3.1E-R图
图略
第四章逻辑结构设计
4.1关系表
1.类别信息表
类别信息SortInfo
字段名
数据类型
主键
必填字段
备注
SortID
int
是
是
类别ID
SortName
Varchar(10)
是
类别名称
SortLimit
Int
是
类别权限
2.仓库信息表
仓库信息StorageInfo
字段名
数据类型
主键
必填字段
备注
StoragetID
int
是
是
仓库ID
StorageName
Varchar(20)
是
仓库名称
3.物品信息表
物品信息GoodsInfo
字段名
数据类型
主键
必填字段
备注
GoodsID
int
是
是
类别ID
GoodsName
Varchar(20)
是
类别名称
SortID
Int
是
类别权限
Spec
Varchar(10)
类别权限
库存信息StoreInfo
字段名
数据类型
主键
必填字段
备注
SN
int
是
是
库存自动编号
StoreID
Int
是
仓库号
GoodsID
Int
是
物品号
SortID
Int
是
类别ID
GoodsNum
Int
是
数量
EditDate
DateTime
修改日期
4.库存信息
5.入库信息
入库信息InInfo
字段名
数据类型
主键
必填字段
备注
InOrder
int
是
是
入库单号
StorageID
Int
是
仓库号
GoodsID
Int
是
物品号
InNum
Int
是
入库数量
InUnit
Varchar(20)
是
入库单位
InDate
DateTime
入库日期
InRemark
Varchar(100)
入库备注
6.出库信息
出库信息OutInfo
字段名
数据类型
主键
必填字段
备注
OutOrder
int
是
是
出库单号
StorageID
Int
是
仓库号
GoodsID
Int
是
物品号
OutNum
Int
是
出库数量
OutUnit
Varchar(20)
是
出库单位
OutDate
DateTime
出库日期
OutRemark
Varchar(100)
出库备注
7.入库信息
损耗信息BreakInfo
字段名
数据类型
主键
必填字段
备注
BreakOrder
int
是
是
损耗单号
StorageID
Int
是
仓库号
GoodsID
Int
是
物品号
BreakNum
Int
是
损耗数量
BreakDate
DateTime
损耗日期
BreakRemark
Varchar(100)
损耗备注
8.用户信息
用户信息UserInfo
字段名
数据类型
主键
必填字段
备注
UserID
int
是
是
用户ID
UserName
Varchar(20)
是
用户名称
UserPassword
Varchar(8)
是
用户密码
UserLimit
int
是
用户权限
4.2基本表关系
4.3规范化
createdatabaseStoreage
--物品信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[GoodsInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableGoodsInfo
GO
CREATETABLEGoodsInfo
(
GoodsIDintidentity(1,1)primarykey,--物品号编号主
GoodsNamevarchar(20)notnull,--物品名
SortIDintnotnull,--类别ID外
Specvarchar(10)--规格可空
)
--类别信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[SortInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableSortInfo
GO
CREATETABLESortInfo
(
SortIDintidentity(1,1)primarykey,--类别ID主
SortNamevarchar(10)notnull,--类别名称
SortLimitintnotnull--类别权限
)
--仓库信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[StorageInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableStorageInfo
GO
CREATETABLEStorageInfo
(
StorageIDintidentity(1,1)primarykey,--仓库ID主
StorageNamevarchar(20)notnull--仓库名称
)
--库存信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[StoreInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableStoreInfo
GO
CREATETABLEStoreInfo
(
SNintidentity(1,1)primarykey,--库存自动编号主
StoreIDintnotnull,--仓库号外
GoodsIDintnotnull,--物品号外
SortIDintnotnull,--类别ID外
GoodsNumintnotnull,--物品数量
EditDatedatetime--修改日期可空
)
--入库信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[InInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableInInfo
GO
CREATETABLEInInfo
(
InOrderintidentity(1,1)primarykey,--入库单号主
StorageIDintreferencesStorageInfo(StorageID)notnull,--仓库号外
GoodsIDintreferencesGoodsInfo(GoodsID)notnull,--物品号外
InNumintnotnull,--入库数量
InUnitvarchar(20),--入库单位可空
InDatedatetime,--入库日期可空
InRemarkvarchar(100)--入库备注可空
)
--出库信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[OutInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableOutInfo
GO
CREATETABLEOutInfo
(
OutOrderintidentity(1,1)primarykey,--出库单号主
StorageIDintreferencesStorageInfo(StorageID)notnull,--仓库号外
GoodsIDintreferencesGoodsInfo(GoodsID)notnull,--物品号外
OutNumintnotnull,--出库数量
OutUnitvarchar(20),--出库单位可空
OutDatedatetime,--出库日期可空
OutRemarkvarchar(100)--出库备注可空
)
--损耗信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[BreakInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableBreakInfo
GO
CREATETABLEBreakInfo
(
BreakOrderintidentity(1,1)primarykey,--损耗单号主
StorageIDintreferencesStorageInfo(StorageID)notnull,--仓库号外
GoodsIDintreferencesGoodsInfo(GoodsID)notnull,--物品号外
BreakNumintnotnull,--损耗数量
BreakDatedatetime,--损耗日期可空
BreakRemarkvarchar(100)--损耗备注可空
)
--用户信息
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[UserInfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptableUserInfo
GO
CREATETABLEUserInfo
(
UserIDintidentity(1,1)primarykey,--用户ID主
UserNamevarchar(20),--用户名
UserPasswordvarchar(8),--用户密码
UserLimitint--类别(权限)
)
第五章软件功能设计
5.1系统功能结构图
图略
5.2功能任务简介
简述个部分功能
代码设计
1.主界面
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceXRX
{
publicpartialclassMain:
Form
{
publicMain()
{
InitializeComponent();
}
privatevoid入库登记(objectsender,EventArgse)
{
GoodsManage.InManageAa=newXRX.GoodsManage.InManage();
Aa.ShowDialog();
}
privatevoid出库登记(objectsender,EventArgse)
{
GoodsManage.OutManageAb=newXRX.GoodsManage.OutManage();
Ab.ShowDialog();
}
privatevoid耗损登记(objectsender,EventArgse)
{
GoodsManage.BreakManageAc=newXRX.GoodsManage.BreakManage();
Ac.ShowDialog();
}
privatevoid货物档案设置(objectsender,EventArgse)
{
InfoManage.GoodsInfoBa=newXRX.InfoManage.GoodsInfo();
Ba.ShowDialog();
}
privatevoid仓库档案设置(objectsender,EventArgse)
{
InfoManage.StoreInfoBb=newXRX.InfoManage.StoreInfo();
Bb.ShowDialog();
}
priv