《仓库管理系统的设计与实现本科毕业.doc》由会员分享,可在线阅读,更多相关《仓库管理系统的设计与实现本科毕业.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流仓库管理系统的设计与实现本科毕业.精品文档.课 程 设 计 说 明 书题目: 仓库管理系统的设计与实现 燕山大学课程设计(论文)任务书院(系): 理学院 教学单位: 信息学院 学 号 学生姓名被牛顶 专业(班级)12级信息一班设计题目仓库管理系统的设计与实现设计技术参数仓库管理系统分为入库信息管理,出库信息管理,借出信息管理和库存状态管理四个模块,主要功能为:1.产品入库管理,可以填写入库单,确认产品出库;2.产品出库管理,可以填写出库单,确认产品出库;3.借出管理,凭借条借出,然后能够还库;4.初始库存设置,设置库存的初始值,库存的上下警戒
2、限;设计要求1.针对选定的系统进行需求分析,设计系统结构图和系统功能模块图; 2.针对需求分析,画出E-R图表示的概念模型,并将其转换为至少满足3NF的关系模式,设计较为合理的数据库模式;3.系统中应能体现对数据库的保护(数据恢复、并发控制、安全性和完整性);4.编写所需功能的SQL语句。工作量1.设计一个小型的、功能完善的管理系统,并编写对数据功能部分的SQL语句。2.根据系统的设计过程与结果,撰写课程设计说明书(不少于5000字)。3.保证每天8小时出勤。(占考核成绩的10%)工作计划第1天:熟悉开发环境;所需资料收集,需求分析;设计系统结构图,功能模块图。第2天:熟练掌握开发工具的使用;
3、画出系统E-R图,转换为关系模式,并设计数据库模式,建立系统所需的数据库;系统详细设计。第3-4天:针对系统所需的功能,编写SQL代码;编写代码实现各种功能。第5天:调试,完善、优化系统;撰写课程设计说明书和总结;答辩。参考资料1.数据库系统概论(第四版).王珊,萨师煊.高等教育出版社.20062.谭浩强.C+程序设计.清华大学出版社.20073.李涛等.visual C+ + SQL Server数据库开发与实例.清华大学出版社.20064.李春葆等.数据库原理与应用基于SQL Server2005.清华大学出版社.20095.白尚旺等.PowerDesigner软件工程技术.电子工业出版社
4、.2004指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。年 月 日 燕山大学课程设计评审意见表指导教师评语:成绩: 指导教师: 年 月 日答辩小组评语:成绩: 评阅人: 年 月 日课程设计总成绩:答辩小组成员签字:年 月 日摘 要随着科学技术的不断提高,计算机科学不断发展,其强大功能已被人们深刻认识,它已经进入社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对仓库信息进行管理,具有着人工管理无法比拟的优点,它检索迅速,查找方便,可靠性高,保密性好,寿命长,成本低等,可减少更多的人力物力,这些都能极大的提高货物的管理效率,
5、也是仓库管理科学化,正规化,与世间接轨道的重要条件,因此开发一个仓库管理系统是很有必要的,具有特殊的技术意义和管理意义。仓库管理系统是以一个虚拟的仓库为模型,开发具有货物管理功能的小型数据库数据库管理应用软件。该软件前台使用Visual C+应用程序,后台使用SQL Server 2005作为数据服务器,以“用户方便,功能实用”为首要目标。最显著的特点是具有比较强大的系统分析功能,可以为管理者提供有关的统计分析数据。本软件的使用将有助于提高仓库管理员管理能力,使其迈上一个崭新的台阶。关键词:仓库管理系统、C+、SQL语言摘 要11 绪 论41.1 背景41.1.1 编写目的41.1.2 软件定
6、义及开发环境4 1.1.2.1 软件定义.4 1.1.2.2 开发环境.42 系统需求分析52.1 信息需求52.2 处理需求52.3 数据流图及数据字典6 2.3.1 系统总体的数据流图6 2.3.2 数据流名词条描述.72.4 安全性和完整性要求9 2.4.1 安全性.9 2.4.2 完整性.93 系统设计103.1 系统总体设计103.1.1 系统功能模块图103.1.2 系统功能要求及功能模块分析113.1.3 菜单设计113.2 数据库设计113.2.1 数据库概念结构设计113.2.2 数据库逻辑结构设计173.2.2.1 关系模型173.2.3 数据库物理设计174 系统实现20
7、4.1 数据库的建立204.1.1 用SQL语言建立数据库204.1.2 实验数据实例254.1.3 数据库的维护36总 结38参考文献资料391 绪论1.1 背景 随着我国经济的飞速发展,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断增大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长,面对庞大的产品信息量,如何有限的管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业的运行效益。而库存管理又涉及入库,出库,产品,经办人员及用户等方面的
8、因素,如沪管理这些信息是一个非常复杂的系统工程,所以就需要仓库管理系统来提高仓库管理员的工作效率,对于信息的规范管理,科学统计,快速查询,减少管理方面的工作量,同时对于调动广大员工的积极性,提高企业的生产效率,都具有十分重要的意义。 1.1.1 编写目的 仓库管理系统的主要任务是用计算机对各种货物信息进行日常的管理,如修改、增加、删除及查询等,针对系统服务对象的具体要求迅速准确的完成各种货物信息的统计计算和汇总工作,快速打印出货物报表。 1.1.2 软件定义及开发背景 1.1.2.1 软件定义 “仓库管理系统”是以一个虚拟的仓库为模型,开发的具有入库管理、出库管理、借出管理功能的小型数据库管理
9、应用软件。 1.1.2.2开发环境系统开发平台:Microsoft visual studio 2005系统开发语言:C+系统后台数据库:SQL Server 2005运行平台:Windows XP (SP2)分辨率:最佳效果12801024像素 2 系统需求分析随着计算机的普及和计算机技术的发展,仓库管理工作在企业的日常管理中占据了极其重要的地位。高效的计算机管理技术使得仓库管理科学化、规范化、现代化已经成为仓储企业管理部门越来越迫切的要求。2.1 信息需求 系统对每个入库操作均要求用户填写入库单,对每个出库操作均要求用户填写出库单,在出入库操作同时可以进行增加,删除和修改等操作,用户可以随
10、时进行各种查询,统计,报表打印,帐目核对等工作。1. 产品入库管理,可以填写入库单,确认产品入库。2. 产品出库管理,可以填写出库单,确认产品出库。3. 借出管理,脾,凭借条借出,然后可以还库。4. 可以进行盘库,反映每月,年的库存情况。5. 可以查询产品入库情况,出库情况,当前库存情况,可以按出库单,如库单,产品,时间进行查询。2.2 处理需求系统具有的功能模块,如图2.1所示:仓库物资管理系统入库信息管理库存信息管理出库信息管理借出信息管理图1 系统总功能模块图2.3 数据流图及数据字典 2.3.1 系统总体的数据流图核对信息借出信息核对信息借出单出库信息核对信息出库单库存信息入库信息库存
11、单借出信息借出历史记录出库信息出货历史记录货物信息查询修改信息入库信息入库记录借出信息出库信息储存货物信息库存信息查询修改信息入库信息存货单入库单用户3.0 仓库情况管理欠条收据用户出货发票4.0 出库管理用户5.0 借出管理1.0 入库管理2.0 查询/修改仓库管理员图2 系统总体数据流图 2.3.2 数据流名词条描述数据流名称:核对信息数据流别名:无说明:所需要核对的信息数据流来源:入库管理,出库管理,借出管理数据流流向:用户数据流组成:货物编号+货物品名+货物规格+货物数量+货物进价+货物种类+用户类型+用户号+用户姓名+本次入库/出库/借出时间+借出归还时间数据流名称:入库信息数据流别
12、名:无说明:即将装入仓库的货物的信息数据流来源:入库管理数据流流向:仓库管理员,入库记录,存货单数据流组成:货物编号+货物品名+货物规格+货物数量+货物进价+货物种类+客户类型+客户编号+客户名称+本次入库时间+货物产地数据流名称:入库单数据流别名:无说明:即将装入仓库的货物的清单数据流来源:用户数据流流向:入库管理数据流组成:货物编号+货物品名+货物规格+货物数量+货物进价+货物种类+客户类型+客户编号+客户名称+本次入库时间+货物产地数据流名称:货物信息数据流别名:无说明:对仓库中的所有货物的信息的统计数据流来源:仓库管理员数据流流向:查询/修改数据流组成:货物=货物编号+货物品名+货物规
13、格+货物数量+货物进价+货物售价+货物种类数据流名称:修改/查询信息数据流别名:无说明:对仓库中的所有货物修改或查询的信息数据流来源:查询/修改数据流流向:仓库管理员,库存单数据流组成:货物编号+货物品名+货物规格+货物数量+货物进价+货物售价+货物种类数据流名称:储存货物信息数据流别名:无说明:已储存在仓库中的货物信息数据流来源:仓库管理员数据流流向:仓库情况管理数据流组成:货物编号+货物品名+货物规格+货物数量数据流名称:库存信息数据流别名:无说明:仓库的空间储存情况数据流来源:库存单数据流流向:仓库情况管理,仓库管理员数据流组成:仓库容量+货物编号+货物品名+货物规格+货物数量数据流名称
14、:出库信息数据流别名:无说明:销售后即将出库的货物的信息数据流来源:出库管理数据流流向:仓库管理员,出货历史记录,出发票数据流组成:货物编号+货物品名+货物规格+货物数量+货物售价+货物种类+客户类型+客户编号+客户名称+本次出货时间+货物产地数据流名称:出库单数据流别名:无说明:即将出库的货物的清单数据流来源:用户数据流流向:出库管理数据流组成:货物编号+货物品名+货物规格+货物数量+货物售价+货物种类+客户类型+客户编号+客户名称+本次出货时间+货物产地数据流名称:借出信息数据流别名:无说明:被借出货物的信息数据流来源:数据流流向:仓库管理员,借出历史记录数据流组成:货物编号+货物品名+货
15、物规格+货物数量+货物售价+货物种类+客户类型+客户编号+客户名称+本次借出时间+货物产地+归还时间数据流名称:借出单数据流别名:无说明:被借出仓库的货物的清单数据流来源:用户数据流流向:借出管理数据流组成:货物编号+货物品名+货物规格+货物数量+货物进价+货物种类+客户类型+客户编号+客户名称+本次借出时间+货物产地2.4 安全性和完整性要求 2.4.1 安全性 出入库等信息需要保密,因此必须有完善的安全保护措施,可以使用权限来限制对系统内部的信息的读取和操作,在传输处理存储的过程中,必须要有授权机制来保证系统的安全性。 2.4.2完整性 保证系统中的信息处在一种完整和没有受到损害,防止因非
16、授权访问、部件故障或其它错误而引起信息篡改、破坏或丢失。系统管理员可以访问注册用户数据库,系统管理员分为不同的权限。对不同的管理员有不同的权限,以适合实际应用的需求。注册用户只能对自己的数据库进行管理。3 系统设计3.1 系统总体设计 3.1.1 系统功能模块图仓库物资管理系统入库信息管理库存信息管理出库信息管理借出信息管理修改出库信息删除出库信息查询入库信息增加出库信息删除出库信息查询出库信息增加入库信息修改入库信息删除出库信息增加借出信息修改借出信息查询借出信息库存警戒设置查询库存信息修改库存信息图3 系统功能模块图 3.1.2 系统功能要求及功能模块分析仓库管理系统的主要目的用来统计查询
17、货物的出入库,借出等信息,应具有如下功能。1. 能够初始库存设置,设置库存的初始值,库存的上下警戒线。2. 可以进行盘库,反映每月,年的库存情况。3. 可以查询产品入库情况,出库情况,借出情况,当前库存情况,可以按出库单,如库单,产品,时间进行查询。4. 可以打印货物清单。根据上述分析,可以得出系统的入库信息管理模块、出库信息管理模块、借出信息管理模块、库存信息管理模块等的主要功能:1.入库信息管理模块 该模块主要完成记录入库信息,同时可以进行增加,删除,修改和查询操作。 2.出库信息管理模块 该模块主要完成记录出库信息,同时可以进行增加,删除,修改和查询操作。 3.借出信息管理模块 该模块主
18、要完成记录借出信息,同时可以进行增加,删除,修改和查询操作。 4.库存信息模块 该模块主要完成对货物的查询,可以按出库单,如库单,借出单,产品,时间进行查询。 3.1.3 菜单设计入库信息管理增加入库信息增加入库信息增加入库信息增加入库信息退出增加借出信息增加借出信息增加借出信息增加借出信息增加出库信息增加出库信息增加出库信息增加出库信息增加库存信息增加库存信息库存警戒设置出库信息管理借出信息管理库存信息管理入库信息管理图4 菜单的简单初始化设计3.2 数据库设计 3.2.1 数据库概念结构设计 仓库管理系统的实体联系图(E-R图)型号仓库管理员号规格日期数量仓库管理员图5 仓库管理员属性图仓
19、库号地址数量商品号商品名称仓库图6 仓库属性图型号规格日期数量出库单商品名称用户号出库单号提货人姓名生产厂家出库单位名称图7 出货单属性图型号规格日期数量 入库单用户号商品名称入库单号 送货人姓名生产厂家入库单位名称图8 入库单属性图用户号借出人姓名归还日期借出日期借出单号商品名称数量规格型号借出单图9 借出单属性图商品号数量规格型号商品名称商品图10 商品属性图用户用户号用户名联系电话性别图11 用户属性图 n m p q n m p 1 1 1用户审核入库单出库单借出单拥有填写商品仓库管理员核对储存管理仓库 1 n n m n 1图12 总体实体联系(E-R)图1 3.2.2 数据库逻辑结
20、构设计3.2.2.1 关系模型用户(用户号,姓名,性别,电话)入库单(入库单号,用户号,商品名称,生产厂家,型号,规格,数量,日期,入库单位名称,送货人姓名)出库单(出库单号,用户号,商品名称,生产厂家,型号,规格,数量,日期,出库单位名称,提货人姓名)借出单(借出单号,用户号,商品名称,生产厂家,型号,规格,数量,借出日期,归还日期,借出人姓名)商品(商品号,商品名称,生产厂家,型号,规格,数量)仓库管理员(仓库管理员号,姓名,性别,年龄,电话)仓库(仓库号,商品名称,商品号,数量,地址)3.2.3 数据库物理设计仓库管理系统的数据表如下所示:用户表(Users)列名数据类型长度备注User
21、IDInt用户号UserNameChar20姓名SexChar16性别TelChar16电话入库单表(Receipt table)列名数据类型长度备注ReceiptIDInt入库单号UserIDInt用户号TradeNameChar100商品名称ManufacturerChar100生产厂家ModelChar30型号StandardChar20规格QuantityInt数量DateChar20日期SUNameChar100入库单位名称DeliverymanNameChar20送货人姓名出库单表(Outbound table)列名数据类型长度备注OutboundIDInt出库单号UserIDIn
22、t用户号TradeNameChar100商品名称ManufacturerChar100生产厂家ModelChar30型号StandardChar20规格QuantityInt数量DateChar20日期OUNameChar100出库单位名称PgNameChar20提货人姓名借出单(Lend out table)列名数据类型长度备注LendoutIDInt借出单号UserIDInt用户号TradeNameChar100商品名称ManufacturerChar100生产厂家ModelChar30型号StandardChar20规格QuantityInt数量BorrowdateChar20借出日期R
23、eturndateChar20归还日期LendersNameChar20借出人姓名商品表(Goods table)列名数据类型长度备注GoodsIDInt商品号TradeNameChar100商品名称ManufacturerChar100生产厂家ModelChar30型号StandardChar20规格QuantityInt数量仓库管理员表(Warehouse keeper table)列名数据类型长度备注WarehouseKeeperIDInt仓库管理员号WarehouseKeepernameChar20姓名SexChar16性别AgeInt年龄TelChar16电话仓库表(Storage
24、table)列名数据类型长度备注WarehouseIDInt仓库号Trade nameChar100商品名称GoodsIDInt商品号QuantityInt数量AddressChar100地址4 系统实现4.1 数据库的建立 4.1.1 用SQL语言建立数据库用SQL语言具体实现下述内容的编写:1.用户表用SQL语言建立的代码: CREATE TABLE dbo.Users(UserID int NOT NULL,UserName char(20) COLLATE Chinese_PRC_CI_AS NOT NULL,Sex char(16) COLLATE Chinese_PRC_CI_AS
25、 NULL,Tel char(16) COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT PK_Users PRIMARY KEY CLUSTERED UserID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY2.入库单表用SQL语言建立的代码: CREATE TABLE dbo.Receipt_table(ReceiptID int NOT NULL,UserID int NOT NULL,TradeName char(100) COLLATE Chinese_PRC_CI_AS NOT NULL,Manufa
26、cturer char(100) COLLATE Chinese_PRC_CI_AS NULL,Model char(30) COLLATE Chinese_PRC_CI_AS NULL,Standard char(20) COLLATE Chinese_PRC_CI_AS NULL,Quantity int NOT NULL,Date char(20) COLLATE Chinese_PRC_CI_AS NOT NULL,SUName char(100) COLLATE Chinese_PRC_CI_AS NOT NULL,DeliverymanName char(20) COLLATE C
27、hinese_PRC_CI_AS NOT NULL, CONSTRAINT PK_Receipt_table PRIMARY KEY CLUSTERED ReceiptID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY3.出库单表用SQL语言建立的代码: CREATE TABLE dbo.Outbound_table(OutboundID int NOT NULL,UserID int NOT NULL,TradeName char(100) COLLATE Chinese_PRC_CI_AS NOT NULL,Manufacturer char(100
28、) COLLATE Chinese_PRC_CI_AS NULL,Model char(30) COLLATE Chinese_PRC_CI_AS NULL,Standard char(20) COLLATE Chinese_PRC_CI_AS NULL,Quantity int NOT NULL,Date char(20) COLLATE Chinese_PRC_CI_AS NOT NULL,OUName char(100) COLLATE Chinese_PRC_CI_AS NOT NULL,PgName char(20) COLLATE Chinese_PRC_CI_AS NOT NUL
29、L, CONSTRAINT PK_Outbound_table PRIMARY KEY CLUSTERED OutboundID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY4.借出单表用SQL语言建立的代码: CREATE TABLE dbo.Lend_out_table(LendoutID int NOT NULL,UserID int NOT NULL,TradeName char(100) COLLATE Chinese_PRC_CI_AS NOT NULL,Manufacturer char(100) COLLATE Chinese_PRC_C
30、I_AS NULL,Model char(30) COLLATE Chinese_PRC_CI_AS NULL,Standard char(20) COLLATE Chinese_PRC_CI_AS NULL,Quantity int NOT NULL,Borrowdate char(20) COLLATE Chinese_PRC_CI_AS NOT NULL,Returndate char(20) COLLATE Chinese_PRC_CI_AS NOT NULL,LendersName char(20) COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTR
31、AINT PK_Lend_out_table PRIMARY KEY CLUSTERED LendoutID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY5.商品表用SQL语言建立的代码: CREATE TABLE dbo.Goods_table(GoodsID int NOT NULL,TradeName char(100) COLLATE Chinese_PRC_CI_AS NOT NULL,Manufacturer char(100) COLLATE Chinese_PRC_CI_AS NULL,Model char(30) COLLATE Chi
32、nese_PRC_CI_AS NULL,Standard char(20) COLLATE Chinese_PRC_CI_AS NULL,Quantity int NOT NULL, CONSTRAINT PK_Goods_table PRIMARY KEY CLUSTERED GoodsID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY6.仓库管理员表用SQL语言建立的代码:CREATE TABLE dbo.Warehouse_keeper_table(WarehouseKeeperID int NOT NULL,WarehouseKeepername
33、 char(20) COLLATE Chinese_PRC_CI_AS NOT NULL,Sex char(16) COLLATE Chinese_PRC_CI_AS NOT NULL,Age int NOT NULL,Tel char(16) COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT PK_Warehouse_keeper_table PRIMARY KEY CLUSTERED WarehouseKeeperID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY7.仓库表用SQL语言建立的代码:CREAT
34、E TABLE dbo.Storage_table(WarehouseID int NOT NULL,Trade name char(100) COLLATE Chinese_PRC_CI_AS NULL,GoodsID int NULL,Quantity int NOT NULL,Address char(100) COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT PK_Storage_table PRIMARY KEY CLUSTERED WarehouseID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY
35、8. 索引用SQL语言建立的代码ALTER TABLE dbo.Goods_table ADD CONSTRAINT PK_Goods_table PRIMARY KEY CLUSTERED GoodsID ASC)WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) 9. 管理员对用户信息表的操作: 插入SQL语言建立的代码USE storageINSERT INTO Users VALUES(7,沙保亮,男,14563125845)SELECT *FROM Users插入后表格显示: 修改SQL语言建立的代码USE
36、storageUPDATE Users SET User_name= 沙宝亮 WHERE User_ID=7SELECT *FROM UsersWHERE User_ID=7修改后表格显示: 删除SQL语言建立的代码:USE storageDELETE FROM Users WHERE User_ID=7SELECT *FROM UsersWHERE User_ID=7删除后表格显示: 查询SQL语言建立的代码:USE storageSELECT *FROM UsersWHERE User_ID=3查询后表格显示:10. 管理员对入库单表的操作插入SQL语言建立的代码:USE storageI
37、NSERT INTO Receipt_table VALUES(2015051501,2,冬瓜,绍兴,A类,15斤,450,2010-6-5,新东方,小王)SELECT *FROM Receipt_table插入后表格显示:修改SQL语言建立的代码:USE storageUPDATE Receipt_tableSET DeliverymanName=小钱WHERE ReceiptID=2015051501SELECT *FROM Receipt_tableWHERE ReceiptID=2015051501修改后表格显示:删除SQL语言建立的代码:USE storageDELETE FROM
38、Receipt_tableWHERE ReceiptID=2015051501SELECT *FROM Receipt_tableWHERE ReceiptID=2015051501删除后表格显示:查询SQL语言建立的代码:USE storageSELECT *FROM Receipt_tableWHERE ReceiptID=2012062301查询后表格显示: 11.管理员对出库单表的操作插入SQL语言建立的代码:USE storageINSERT INTO Outbound_tableVALUES(2013051601,5,汽车,意大利,C类,跑车,11,2013-5-16,兰博基尼,小
39、宋)SELECT *FROM Outbound_table插入后的表格显示:修改SQL语言建立的代码:USE storageUPDATE Outbound_tableSET Quantity=5WHERE OutboundID=2013051601SELECT *FROM Outbound_tableWHERE OutboundID=2013051601修改后的表格显示:删除SQL语言建立的代码:USE storageDELETE FROM Outbound_tableWHERE OutboundID=2013051601SELECT *FROM Outbound_table删除后的表格显示:查询SQL语言建立的代码:USE storageselect *FROM Outbound_tableWHERE OutboundID=2014071001查询后的表格显示:12.用户对借出单表的操作插入SQL语言建立的代码:USE storageINSERT INTO Lend_out_tableVALUES(2014110201,4,手机,美国,B类,4.5寸,100, 2014-11-04, 2014-11-06,商
限制150内