测品娱乐
您的当前位置:首页库存管理系统_毕业设计论文

库存管理系统_毕业设计论文

来源:测品娱乐
目 录

第一章 系统分析 ....................................................................................................................... 2

1.1 系统需求分析 ................................................................................................................. 2

1.1.1 系统功能要求 ..................................................................................................... 2 1.1.2 系统性能要求 ..................................................................................................... 3 1.2.2 系统用例描述 ..................................................................................................... 3 1.2.3 系统主要流程图 ................................................................................................. 3

第二章 系统设计 ....................................................................................................................... 4

2.1 功能模块设计 ................................................................................................................. 4 2.2 数据库设计 ....................................................................................................................... 6

2.2.1 数据库对象 ........................................................................................................... 6 3.2.2 数据表 ................................................................................................................... 6

第三章 系统实现与说明 ........................................................................................................... 9

3.1 用户登录 ......................................................................................................................... 10 3.2 系统主界面 ..................................................................................................................... 10 3.3 库存管理 ......................................................................................................................... 11

3.3.1 商品入库 ............................................................................................................. 11 3.3.2 商品入库管理 ..................................................................................................... 12 3.3.3 商品出库 ............................................................................................................. 13 3.3.4 商品出库管理 ..................................................................................................... 14 3.3.5 入库商品信息查询 ............................................................................................. 15 3.3.6 出库商品信息查询 ............................................................................................. 16 3.3.7 数据备份 ............................................................................................................. 17

第四章 程序代码 ..................................................................................................................... 18

4.1 数据库连接 ..................................................................................................................... 18 4.2 业务逻辑层(主要代码) ................................................................................................. 21 4.3 表示层(删除功能代码) ................................................................................................. 23

摘 要

随着现代工业的发展,计算机信息管理系统越来越受到企业重视,而库存管理信息系统就是一个典型的信息管理系统(MIS),库存管理系统能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。基于此本人开发了一个库存管理系统,该系统实现了商品基本信息、类别信息、仓库信息等基本信息的管理,实现了商品入库、商品出库、入库管理、出库管理、出入库统计等库存管理,系统还实现了库存查询、用户管理、系统管理等功能。系统的核心是库存管理,企业使用库存管理系统,可以摆脱传统的手动填写单据工作模式,节省了大量的人力、物力和财力,使得管理员从繁琐的工作中出来。

本系统开发平台是VS2005,开发语言是C#, 数据库为SQL Server2005。系统采用三层架构模式,三层架构模式可实现代码的分散关注、松散耦合、逻辑复用、标准定义,并使得代码具有高度的可扩展性、安全性、易移植性和易维护性。系统还采用了javascript技术,使得页面富有动态感。

关键词:库存管理,数据库,信息管理系统(MIS)

第一章

1.1 系统需求分析

1.1.1 系统功能要求

系统分析

本人设计了一个基于Microsoft .NET Framework的B/S库存管理系统,系统包括了以下库存管理的常见功能:

(1) 基本信息管理。包括添加商品类别的添加、商品类别管理、商品信息、商品信息管理、客户信息的添加、客户信息管理、仓库信息添加、仓库信息管理。

(2) 库存管理。包括新增入库单、入库管理、新增出库单、出库管理、库存报警、入库统计、出库统计、查看库存信息。

(3) 库存信息查询。包括入库单查询、出库单查询。 (4) 用户管理。包括增加用户、更改密码、更改权限。

(5) 系统管理。包括数据库备份、数据恢复、数据库压缩、分离数据库、附

加数据库、数据导入、数据导出。 1.1.2 系统性能要求

库存管理系统为了满足人们的需求应具有以下性能: (1)系统具有易操作性; (2)系统具有通用性、灵活性; (3)系统具有易维护性; (4)系统具有可开放性; (5)系统具用易移植性。 1.2.2 系统用例描述

表1-1 系统用例描述表 输入 用户名和密码 商品信息 选择要修改和删除的信息 要入库的商品信息 选择要修改/删除的商品信息 要出库的商品 选择要修改/删除的商品信息 选择要备份的数据 系统响应 在数据库中查询用户信息 存储商品信息 修改/删除商品信息 存储入库商品信息 修改/删除商品信息 存储商品信息 修改/删除商品信息 备份数据 输出 提示:“用户登录成功!“ 提示:“添加成功!” 提示:“修改成功/删除成功” 提示:“添加成功” 提示:“修改成功/删除成功” 提示:“添加成功” 提示:“修改成功/删除成功” 提示:“备份成功” 编号 用例名称 1 登录 添加商品信息 管理商品信息 商品入库 入库信息管理 商品出库 用例描述 检查用户是否存在 对商品信息进行添加 对商品信息进行修改、删除 对商品信息进行入库 对入库商品进行修改、删除 对商品信息进行出库 对出库商品进行修改、删除 对数据进行备份 2 3 4 5 6 7 出库管理 8 数据备份 1.2.3 系统主要流程图

管理员登录成功后进入系统主页面流程图,管理员登录成功后,管理员进入系统主页面,对系统主要功能进行操作,登录失败后,重新登录。系统主要流程

图如图1-2所示。

图1-2 系统流程图

第二章

2.1 功能模块设计

系统设计

库存管理系统主要有基本信息管理、库存管理等五大功能模块,系统的五大功能模块如图3-1所示。

图2-1 系统功能模块

库存管理包括商品的基本信息等八个部分,其具体描述如图2-2所示。

图2-2 库存管理模块

基本信息管理包括管理客户信息等八个部分,具体描述如图2-3所示。

图2-3 基本信息管理模块

系统管理包括备份数据库等7个部分,具体描述如图2-4所示。

图2-4 系统管理模块

2.2 数据库设计

2.2.1 数据库对象

库存管理系统数据库对象主要包括用户表、客户信息表、商品信息表、入库操作信息表、出库信息操作表、库存表、商品类别表、仓库信息表,系统的表设计如表2-1所示。

表2-1 数据库对象

名称 Users Customers StoreIn StoreOut Products ProductTypes ProStore StoreHouses Suppiler 类型 基本表 基本表 基本表 基本表 基本表 基本表 基本表 基本表 基本表 说明 存储用户的基本信息 存储客户的基本信息 存储入库商品基本信息 存储出库商品基本信息 存储商品的基本信息 存储商品类别基本信息 存储库存商品基本信息 存储仓库的基本信息 存储供应商的基本信息 3.2.2 数据表

(1)客户信息表。保存了客户的基本的信息,如客户编号、客户名称、客户类型等,主键是c_ID。客户信息表的详细设计如表3-2所示。

表2-2 Customers表

字段列名 c_ID c_Name c_Type c_Ontact c_Address c_Postcode c_Phone c_Fax c_Email c_Memo 字段类型 int varchar varchar varchar varchar varchar varchar varchar varchar varchar 字段大小 50 20 30 50 10 30 30 30 1000 必填字段 是 否 否 否 否 否 否 否 否 否 说明 客户编号 客户名称 客户类型 联 系 人 联系地址 邮政编码 联系电话 传真号码 邮 箱 备 注 (2)用户信息表。保存了用户的基本信息,如用户编号、用户密码等,主键是userName用户信息表的详细设计如表2-3所示。

表2-3 Users表

字段列名 uerName pwd popedom 字段类型 varchar varchar varchar 字段大小 50 50 10 必填字段 是 是 是 说明 用 户 名 用户密码 权 限 (3)商品类别表。保存了商品类别的基本的信息,如类别编号、类别名称、商品级别,主键是typeID,商品类别表的详细设计如表2-4所示。

表2-4 ProductTypes表

字段列名 typeID typeName upperID 字段类型 int varchar varchar 字段大小 50 10 必填字段 是 是 是 说明 商品类ID 商品名称 商品 级别 (4)商品信息表。保存了商品信息的基本的信息,如商品编号、商品名称、供

应商等,主键是p_ID,商品信息表的详细设计如表2-5所示。

表2-5 Products表 字段列名 p_ID p_Name TypeID sp_Name 字段类型 int varchar int varchar 字段大小 50 100 必填字段 是 是 是 是 说明 商品类别ID 商品类别名称 商品级别 供应商 p_Style p_Unit p_Price p_MakeDate p_Low p_High p_Valid p_AlarmDays varchar varchar float datetime int int int int 50 10 是 是 是 是 是 是 是 是 商品规格 计量单位 单价 商品生产日期 商品数量上限 商品数量下限 有限期 在到达有效期期前几天发出警告 (5) 供应商表。保存了供应商的基本的信息,如供应商编号、供应商名称等,主键是sp_ID,供应商品表的详细设计如表2-6所示。

表2-6 Suppiler表 字段列名 sp_ID sp_Name sp_Telphone sp_Address 字段类型 varchar varchar varchar varchar 字段大小 20 100 20 100 必填字段 是 是 是 是 说明 供应商编号 供应商名称 联系方式 地址 (6)入库操作信息表。保存了入库商品的基本的信息,如入库单编号、入库操作类型、入库商品编号等,主键是i_ID,入库操作信息表的详细设计如表3-7所示。

表2-7 StoreIn表 字段列名 i_ID i_Type p_ID p_MakeDate p_Price p_num p_Price p_SumPrice c_ID p_Uint empName s_Name OptDate 字段类型 varchar varchar varchar datetime float int float foat int varchar varchar varchar datetime 10 50 50 100 50 字段大小 20 50 必填字段 是 是 是 是 是 是 是 是 是 是 是 是 是 说明 入库单ID 入库操作型 入库商品号 生产日期 入库商品价 入库商品量 单价 总额 客户编号 计量单位 经办人 仓库名称 入库日期 (7)出库操作信息表。保存了出库商品的基本的信息,如出库单编号、出库操作类型、出库商品编号等,主键是o_ID,出库操作信息表的详细设计如表2-8所示。

表2-8 StoreOut表

字段列名 o_ID o_Type p_ID p_Prices p_Number p_SumPrice c_ID s_Name empName optDate p_Uint 字段类型 varchar varchar varchar float int float int varchar varchar datetime varchar 10 50 50 字段大小 20 20 20 必填字段 是 是 是 是 是 是 是 是 是 是 是 说明 入库单编号 入库操作类型 商品编号 价格 数量 总价格 客户编号 仓库名称 经办人 出库日期 单位 (8)库存信息表。保存了库存商品的基本的信息,如库存编号、商品名称、商品数量等,主键是s_pID,库存信息表的详细设计如表2-9所示。

表2-9 ProStore表

字段列名 s_pID p_ID p_Price Pnum p_MakeDate s_Name 字段类型 int varchar float int datetime varchar 字段大小 20 50 必填字段 是 是 是 是 是 是 说明 商品存贮编号 商品编号 商品入库单价 商品库存数量 生产日期 仓库名称 (9)仓库信息表。保存了仓库的基本的信息,如仓库编号、仓库名称、仓库说明等,主键是s_ID,出库信息表的详细设计如表3-10所示。

表2-10 StoreHouses表

字段列名 s_ID s_Name s_Memo 字段类型 int varchar varchar 字段大小 50 1000 必填字段 是 是 是 说明 仓库编号 仓库名称 仓库说明

第三章 系统实现与说明

3.1 用户登录

管理员输入正确用户名、密码和验证码,单击登录,进入系统主页面,系统登录页面如图3-1所示。

3.2 系统主界面

成功登录后,进入库存管理系统的主界面。在主界面可以浏览库存管理系统的基本信息,系统主界面如图3-2所示。

3.3 库存管理

库存管理是库存管理系统中的主要模块,通过商品入库和出库管理,实现商品的运转。 3.3.1 商品入库

单击左侧商品入库命令,进入商品入库界面,选择入库操作类型,选择商品编号、选择生产日期、输入经办人等,点击确定,完成商品入库。商品入库界面如图3-3所示。

3.3.2 商品入库管理

从左侧菜单栏单击入库管理命令,可以进入商品入库管理界面,可以对入库商品信息进行删除和编辑操作,选中要删除入库商品信息记录,直接可以单击删除命令,可以删除选中的记录,单击编辑操作命令可以链接到相应的编辑页面,用户可以进行入库商品信息编辑,商品入库管理界面如图3-4所示。

3.3.3 商品出库

从左侧菜单栏单击商品出库命令,可进入商品出库界面,选择出库操作类型、录入商品编号、录入经办人等,单击确定按钮,实现商品出库。商品出库界面如图3-5所示。

3.3.4 商品出库管理

从左侧菜单栏单击出库管理命令,进入出库管理页面,对出库商品信息进行删除和编辑操作,选中要删除的出库商品记录,单击删除命令,可删除选中的记录,单击编辑操作可以链接到相应的编辑页面,用户可以进行出库商品信息编辑,商品出库管理界面如图3-6所示。

3.3.5 入库商品信息查询

单击左侧菜单栏的入库查询命令,进入入库商品信息查询界面,入库查询包括按入库商品编号查询、按入库类型查询、按仓库名称查询、按入库日期查询。输入入库商品编号,单击确定按钮,可以查询到相应的入库商品信息,其它的查询方式与入库商品编号的查询方式一样。入库商品查询界面如图4-7所示。

3.3.6 出库商品信息查询

单击菜单栏的出库查询命令,进入出库商品信息查询界面,出库查询分为按出库商品编号查询,按出库类型查询,按仓库名称查询,按出库日期查询。单击按库存名称查询命令,选择要查询的仓库名称,可以查询要相应的出库商品信息。出库商品信息查询界面如图3-8所示。

3.3.7 数据备份

单击菜单栏数据库备份命令,选择要备份的数据库,输入备份数据的路径,单击确定按钮,完成备份操作,数据备份界面如图4-9所示。

第四章

4.1 数据库连接

using System; using System.Data;

using System.Configuration; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public class SqlHelper {

public SqlHelper() { }

程序代码

private SqlConnection con; private void Open() {

con = new

SqlConnection(ConfigurationManager.ConnectionStrings[\"li\"].ConnectionString); con.Open(); }

public int ExcuteProcedure(string procName, SqlParameter[] prams) {

Open();

SqlCommand myCommand = new SqlCommand(); myCommand.Connection = con;

myCommand.CommandType = CommandType.StoredProcedure; myCommand.CommandText = procName; if (prams != null) {

foreach (SqlParameter parameter in prams) {

myCommand.Parameters.Add(parameter); } }

int n = myCommand.ExecuteNonQuery(); con.Close(); return n; }

public SqlDataReader ExcuteProcedure_Dr(string procName, SqlParameter[] prams) {

Open();

SqlCommand myCommand = new SqlCommand(); myCommand.Connection = con;

myCommand.CommandType = CommandType.StoredProcedure; myCommand.CommandText = procName; if (prams != null) {

foreach (SqlParameter parameter in prams) {

myCommand.Parameters.Add(parameter); } }

int i = myCommand.ExecuteNonQuery();

SqlDataReader dr = myCommand.ExecuteReader(); return dr; }

public DataSet ExcuteProcedure_Ds(string procName, SqlParameter[] prams) {

Open();

SqlCommand myCommand = new SqlCommand(); myCommand.Connection = con;

myCommand.CommandType = CommandType.StoredProcedure; myCommand.CommandText = procName; if (prams != null) {

foreach (SqlParameter parameter in prams) {

myCommand.Parameters.Add(parameter); } }

SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); da.SelectCommand = myCommand; da.Fill(ds,\"tables\"); return ds; }

public DataSet ExcuteProcedure_Ds(string procName) {

Open();

SqlCommand myCommand = new SqlCommand(); myCommand.Connection = con;

myCommand.CommandType = CommandType.StoredProcedure; myCommand.CommandText = procName;

SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); da.SelectCommand = myCommand; da.Fill(ds); return ds; }

public DataSet ExcutemyDs(string myDs) {

Open();

SqlCommand myCommand = new SqlCommand(); myCommand.Connection = con; myCommand.CommandText = myDs;

SqlDataAdapter myDataAdapter = new SqlDataAdapter(); myDataAdapter.SelectCommand = myCommand; DataSet myDataSet = new DataSet(); myDataAdapter.Fill(myDataSet); return myDataSet; }

public SqlDataReader GetDataReader(string SQL) {

Open();

SqlCommand myCommand = new SqlCommand();

myCommand.CommandText = SQL; myCommand.Connection = con;

SqlDataReader myDataReader = myCommand.ExecuteReader(); return myDataReader; } }

4.2 业务逻辑层(主要代码)

private string o_ID; private string o_Type; private string p_ID; private float p_Price; private int p_Number; private float p_SumPrice; private int c_ID; private string s_Name; private string empName; private DateTime optDate; private DateTime optDate1; private string p_Uint; public string O_ID {

get { return o_ID; } set { o_ID = value; } }

public string O_Type {

get { return o_Type; } set { o_Type = value; } }

public string P_ID {

get { return p_ID; } set { p_ID = value; } }

public float P_Price {

get { return p_Price; } set { p_Price = value; } }

public int P_Number {

get { return p_Number; }

set { p_Number = value; } }

public float P_SumPrice {

get { return p_SumPrice; } set { p_SumPrice = value; } }

public int C_ID {

get { return c_ID; } set { c_ID = value; } }

public string S_Name {

get { return s_Name; } set { s_Name = value; } }

public string EmpName {

get { return empName; } set { empName = value; } }

public DateTime OptDate {

get { return optDate; } set { optDate = value; } }

public string P_Uint {

get { return p_Uint; } set { p_Uint = value; } }

public DateTime OptDate1 {

get { return optDate1; } set { optDate1 = value; } }

public DataSet InserStoreOut(ref StoreOut insert) {

SqlParameter[] parame = new SqlParameter[]{

new SqlParameter (\"@o_Type\",SqlDbType.VarChar,20), new SqlParameter (\"@p_ID\",SqlDbType.VarChar,20), new SqlParameter (\"@p_Prices\",SqlDbType.Float), new SqlParameter (\"@p_Number\",SqlDbType.Int),

new SqlParameter (\"@p_SumPrice\",SqlDbType.Float), new SqlParameter (\"@c_ID\",SqlDbType.Int),

new SqlParameter (\"@s_Name\",SqlDbType.VarChar,50), new SqlParameter (\"@EmpName\",SqlDbType.VarChar,50), new SqlParameter (\"@OptDate\",SqlDbType.DateTime ), new SqlParameter (\"@p_Uint\",SqlDbType.VarChar,10), };

parame[0].Value = insert.O_Type; parame[1].Value = insert .P_ID ; parame[2].Value = insert .P_Price ; parame[3].Value = insert.P_Number; parame[4].Value = insert .P_SumPrice ; parame[5].Value = insert.C_ID ; parame[6].Value = insert .S_Name ; parame[7].Value = insert .EmpName ; parame[8].Value = insert.OptDate; parame[9].Value = insert.P_Uint; SqlHelper myHelper = new SqlHelper();

DataSet myds = myHelper.ExcuteProcedure_Ds(\"InsertStoreOut\", parame); return myds; }

public DataSet DeleteStoreOut(ref StoreOut delete) {

SqlParameter[] parame = new SqlParameter[]{ new SqlParameter (\"@o_ID\",SqlDbType.VarChar ,20), };

parame[0].Value = delete.O_ID; SqlHelper myHelper = new SqlHelper();

DataSet myds = myHelper.ExcuteProcedure_Ds(\"DeleteStoreOut\", parame); return myds; } }

4.3 表示层(删除功能代码)

protected void Delete_Click(object sender, CommandEventArgs e) {

StoreOut delete = new StoreOut();

delete.O_ID = e.CommandArgument.ToString(); StoreOutManager mymanager = new StoreOutManager(); DataSet myds = mymanager.DeleteStoreOut(ref delete); }

protected void Edit_Click(object sender, CommandEventArgs e) {

string id=e.CommandArgument.ToString();

Response.Redirect(\"StoreOutUpdate.aspx?id=\" + id); }

因篇幅问题不能全部显示,请点此查看更多更全内容