设计报告 仓库管理



《设计报告 仓库管理》由会员分享,可在线阅读,更多相关《设计报告 仓库管理(24页珍藏版)》请在装配图网上搜索。
1、东北石油大学本科生课程设计 东 北 石 油 大 学 课 程 设 计 课 程 数据库课程设计 题 目 库存管理系统 院 系 计算机与信息技术学院 专业班级 学生姓名 学生学号 指导教师 2011年 7月 8日 东北石油大学
2、课程设计任务书 课程 数据库课程设计 题目 库存管理系统 专业 计算机科学与技术 姓名 学号 一、主要内容: 开发一个库存管理系统。设计并实现这样的一个系统主要是锻炼学生采用面向对象方法、设计思路等开发软件的能力。 二、基本要求: 系统主要有以下功能:首页、货物管理、仓库管理、存储规则管理、订单、货物需求、退出系统。货物管理包含货物修改、货物删除、货物添加;仓库管理包含仓库修改、添加、删除;存储管理包存储添加、修改、删除;订单包含查询和提交订单
3、的出货、进货情况;货物需求包含查询功能。系统用户根据操作权限的差异可分为3类,即仓库管理员、分仓库管理员和采购员。除了实现上述功能以外,库存管理系统还具有友好、简洁的界面,安全性要高,稳定性要强。 三、主要参考资料: [1] 曹斌,韩中孝.ASP.NET数据库系统项目开发实践 [M].北京科学出版社,2003:93-97 [2] 陈宗兴,杜国.ASP.NET网络系统程序开发[M].北京:中国水利水电出版社,2008:92-102 [3] 徐娟,吴志山,陈金良.网页制作实用技术[M].北京:清华大学出版社,2003:21-52 [4] 陈玉峰.SQL Server2000数据库开发教程
4、[M].北京:科学出版社.2003:210-211 完成期限 19-20周 指导教师 专业负责人 年 月 日 目 录 第1章 系统分析 1 1.1开发背景 1 1.2系统需求分析 1 1.3开发环境 2 第2章 系统设计 3 2.1系统架构 3 2.2系统功能模块 4 2.3系统数据库设计 5 第3章 系统实现 8 3.1登录界面 8 3.2
5、货物管理模块 9 3.3货物浏览模块 11 3.4订货单模块 13 第4章 系统测试 15 4.1测试目的 15 4.2测试项目 15 4.3项目说明 15 4.4测试结果 16 第5章 结束语 19 参考文献 20 21 第1章 系统分析 1.1开发背景 1、计算机已经成为我们学习和工作的得力助手 今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源; 第三,计算机可以大大的
6、提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。 2、在企事业单位用计算机管理库存物资的意义 现在我国很多企事业单位对库存物资等的管理还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。归纳起来,在企事业单位用计算机代替人工管理库存物资大约有以下几点好处: 1)可以存储大量的库存信息和物资相关信息,安全、高效; 2)只需一到二名信息录入员即可操作系统,节省大量人力; 3)可以迅速查到所需信息。 1.2系统需求分析 21世纪以来,人类经济高速发展,人们发生了日新月异的
7、变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。为了适应现代社会人们高度强烈的时间观念,库存物资管理系统为企事业单位带来了极大的方便。 设计一个数据库系统,首先必须确认数据库系统的用户和用途。由于数据库系统是一个组织部门的模拟,数据库系统设计者必须对一个组织部门的基本情况有所了解,比如该组织部门的组织机构、各部门的联系、有关事物和活动以及描述它们的数据、信息流程、政策和制度、报表及其格式和有关的文档等。收集和分析这些资料的过程称为需求分析。需求分析的目标是给出应用领域中数据项、数据项之间的关系和数据操作任务的详细定义,为数据库系统的概
8、念设计、逻辑设计和物理设计奠定基础,为优化数据库系统的逻辑结构和物理结构提供可靠依据。设计人员应与用户密切合作,用户则应积极参与,从而使设计人员对用户需求有全面、准确的理解。 需求分析的过程是对现实世界深入了解的过程,数据库系统能否正确的反映现实世界主要取决于需求分析,需求分析人员既要对数据库技术有一定的了解,又要对组织部门的情况比较熟悉,一般由数据库系统设计人员和本组织部门的有关工作人员合作进行。 1.2.1数据流图 数据字典以文字的形式对数据流程图中的各个成分的内容和特征进行详细解释和描述,避免人们对某些成分产生歧义,对数据进行具体的说明。数据字典中有六类条目:数据元素、数据结构、
9、数据流、数据存储、处理过程、外部实体。不同类型的条目有不同的属性需要描述。下文将会根据它们对学生成绩管理系统进行详细的分析。 开始 相应管 理操作 退出 图1-1 系统总体流程图 1.3开发环境 数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据的结构化、可控冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序 等优点,较大的信息系统都是建立在数据库设计之上的。 由于用到的数据表格多,另外考虑到实际情况,如学生基本信息的变动,我们选用SQL Server作为数据库开发,而不用
10、Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQL Server是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQL Server数据库。 用语言进行编码。 编程语言是微软在.NET计划中重要的开发语言,它具有语法简单,功能强大,快速应用,语言自由,强大的Web服务器控件,支持跨平台,与XML相融合等。因此选择编程语言。 第2章 系统设计 2.1系统架构 整个系统分为四个部分,仓库总管、分仓库总管、采购员和主界面。 首先,因为系统是面向特定的某些对象的,所以用户进入系统应该进行身份验证。根据不同的身份进入不同
11、的操作界面。 采购员进入库存管理系统后,根据自己的权限进入货物进出维护界面,对出货、进货信息进行查看,根据菜单项可以查看货物需求、修改个人的密码、注销等操作。 对于分仓库总管来说,根据自己的权限进入货品进出维护界面,查看一种货品的数量、最大存储量、当前数量等信息,同时又可以插入某种货物的进货出货状况等;还可以根据导航条查看货品需求,进行个人密码修改、注销等操作。 对于仓库总管,首先进入货品信息维护界面,可以对所有货品信息进行修改删除操作,可以根据导航条对仓库信息维护、存放规则维护、货物进出记录、个人密码修改、注销等界面进行查看、修改和删除等操作。 本系统是以Windows XP系统为操
12、作平台,在.NET环境下编程实现。 系统ER图: 管理者 货物 仓库 货物进出记录 管理 提交 储存 存入 写入 编号 姓名 性别 权限 地址 编号 库号 地址 容量 最高存储量 最低存储量 存储量 编号 名称 价格 次提供商 主提供商 需求量 类型 进货量 提交人 管理人 出货量 图2-1 系统E-R图 N N N 1 N N N N N 1 2.2系统功能模块 系统模块如下[1]: 库存管理系统 分仓库总管 仓库总管 采购员 个人信息维护 仓库信息维护 存放规则维护
13、 货物进出记录 个人密码修改 货物进出维护 货品进出信息 货物信息管理 货品需求 货品需求 货物信息添加 货物信息修改 货物信息删除 图2-2 系统模块图 2.3系统数据库设计 综合以上分析,要实现上面的所有功能模块,数据库共要设计四个表[2],它们分别是:货物表、管理员表、记录表、存储表和仓库表。 表2-1 货物表 序号 字段名 数据类型 数据长度 NULL Primarykey 描述 1 GID Int 4 N Y 货物号 2 GName varchar 50 Y N 货物名 3 GP
14、rice money 10 Y N 当前价格 4 GProvider1 varchar 50 Y N 主提供商 5 GProvider2 varchar 50 Y N 次提供商 6 GDescribe varchar 50 Y N 描述 表2-2 管理员表 序号 字段名 数据类型 数据长度 NULL Primarykey 描述 1 UID int 4 N Y 用户号 2 UName varchar 50 Y N 姓名 3 UPassword varchar 50 Y N 密码 4
15、 UPower varchar 50 Y N 权限 6 USex char 2 Y N 性别 7 UAddress varchar 50 Y N 地址 8 UTel varchar 50 Y N 电话 9 UEmail varchar 50 Y N 电邮 10 UDep int 4 Y N 负责人 表2-3 记录表 序号 字段名 数据类型 数据长度 NULL Primarykey 描述 1 RID int 4 N Y 表号 2 RGID int 4 Y N 货物号
16、 3 RWID intr 4 Y N 仓库号 4 RQuantity float 8 Y N 所需量 5 RType char 10 Y N 类型 6 RManager int 4 Y N 管理人号 7 RHandler varchar 50 Y N 提(送)货人 8 UID int 4 Y N 用户号 9 RMaxIn float 8 Y N 最大进货量 10 RMaxOut float 8 Y N 最大出货量 表2-5存储表 序号 字段名 数据类型 数据
17、长度 NULL Primarykey 描述 1 SID int 4 N Y 存储表号 2 SGID int 4 Y N 货物号 3 SWID int 4 Y N 仓库号 4 STopLine float 8 Y N 存储上限 5 SbaseLine float 8 Y N 存储下限 6 SQuantity float 8 Y N 存储量 表2-6仓库表 序号 字段名 数据类型 数据长度 NULL Primarykey 描述 1 WID int 4 N Y 仓库号 2
18、 WName varchar 50 Y N 仓库名 3 WArea float 8 Y N 容量 4 WAddress varchar 50 Y N 地址 5 WDescribe Varchar 50 Y N 描述 6 UID int 4 Y N 用户号 第3章 系统实现 3.1登录界面 填写正确的用户名和密码,点击登录按钮,然后根据权限进入不同的页面进行管理[3]。 图 3-1 登录主界面 If (dr.Read) Then
19、 Label3.Text = "" //将数据库中的字段内容放入session中 Session("uid") = dr("uid").ToString Session("upower") = dr("upower").ToString Session("udep") = dr("udep").ToString Label3.Text = "欢迎您" + Session("uid") //判断登录用户的权限 If (Session("upower").ToString().Trim = "仓库总管") Then Response.Redirect("goodsmanage.as
20、px") ElseIf (Session("upower").ToString().Trim = "分仓库管理员") Then Response.Redirect("goodsreserve.aspx") ElseIf (Session("upower").ToString().Trim = "采购员") Then Response.Redirect("orderlist.aspx") End If 3.2货物管理模块 图 3-2 货物管理界面 仓库总管登录后跳转到此界面[4],按照登录号可以对货物进行查询、修改、删除等操作。根据导航条可以跳转到个人信息维护、仓库信息维
21、护、存放规则维护等界面进行查询、修改、删除等操作。 //提取文本框中的内容然后进行修改 Dim str As String str = GridView1.DataKeys(e.RowIndex).Value.ToString Dim gname As String gname = CType(GridView1.Rows(e.RowIndex).Cells(1).Controls(0), TextBox).Text.ToString Dim gprice As String gprice = CType(GridView1.Rows(e.RowIndex).Cells(
22、2).Controls(0), TextBox).Text.ToString Dim gprovider1 As String gprovider1 = CType(GridView1.Rows(e.RowIndex).Cells(3).Controls(0), TextBox).Text.ToString Dim gprovider2 As String gprovider2 = CType(GridView1.Rows(e.RowIndex).Cells(4).Controls(0), TextBox).Text.ToString //连接数据库 Dim conn As
23、 OleDbConnection conn = New OleDbConnection("Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=WMS;Data Source=.") Dim cmd As OleDbCommand Dim sqlstr As String sqlstr = "update Goods set GName = '" + gname + "',GPrice='" + gprice + "',GProvider1='" + gpr
24、ovider1 + "',GProvider2='" + gprovider2 + "' where GID =" + str cmd = New OleDbCommand(sqlstr, conn) conn.Open() cmd.ExecuteNonQuery() conn.Close() //重新绑定 GridView1.EditIndex = -1 bindgrid() 3.2.1货物添加页面 图 3-3 货物添加界面 点击添加新货按钮,进入此页面。 Dim conn As OleDbConnection conn = New OleDbConnec
25、tion("Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=WMS;Data Source=.") Dim cmd As OleDbCommand conn.Open() Dim getinsertID As String getinsertID = "select max(GID) from Goods" cmd = New OleDbCommand(getinsertID, conn) Dim dr As OleDbDataReader dr = c
26、md.ExecuteReader dr.Read() Dim vargid As Integer If (dr(0).ToString = "") Then vargid = 1 Else vargid = Convert.ToInt32(dr(0).ToString) + 1 End If Dim sqlstr As String Dim gprice As Double gprice = Convert.ToDouble(TextBox2.Text.ToString.Trim) sqlstr = "insert into Goods(GID,GName,GPrice
27、,GProvider1,GProvider2,GDescribe) values('" & vargid & "','" & TextBox1.Text & "','" & gprice & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "')" Dim cmd1 As OleDbCommand cmd1 = New OleDbCommand(sqlstr, conn) cmd1.ExecuteNonQuery() conn.Close() MsgBox("插入成功!") 3.3货物浏
28、览模块 图 3-4 货物浏览界面 根据分仓库总管的权限可以对货物出货、进货进行提交和查看[5]。 Dim conn As OleDbConnection conn = New OleDbConnection("Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=WMS;Data Source=.") Dim cmd1 As OleDbCommand Dim cmd2 As OleDbCommand conn.Open() Dim getinsert
29、ID1 As String Dim getinsertID2 As String getinsertID1 = "select max(SID) from Store" getinsertID2 = "select max(RID) from Records" cmd1 = New OleDbCommand(getinsertID1, conn) cmd2 = New OleDbCommand(getinsertID2, conn) Dim dr As OleDbDataReader dr = cmd1.ExecuteReader dr.Read() '将数据库中的id字段的
30、最大值自动加1 If (dr(0).ToString = "") Then varsid = 1 Else varsid = Convert.ToInt32(dr(0).ToString) + 1 End If Dim dr2 As OleDbDataReader dr2 = cmd2.ExecuteReader dr2.Read() '将数据库中的id字段的最大值自动加1 If (dr2(0).ToString = "") Then varrid = 1 Else varrid = Convert.ToInt32(dr2(0).ToString) + 1 End
31、If '将数据的内容添加入数据库 Dim sqlstr1 As String sqlstr1 = "insert into Store(SID,SGID,SQuantity,STopLine) values('" & varsid & "','" & TextBox7.Text & "','" & TextBox1.Text & "','" & TextBox2.Text & "')" Dim cmd3 As OleDbCommand cmd3 = New OleDbCommand(sqlstr1, conn) Dim sqlstr2 As String sqlstr2 = "
32、insert into Records(RID,RGID,RQuantity,RType,RHandler,RMaxIn,RMaxOut) values('" & varrid & "','" & TextBox7.Text & "','" & TextBox5.Text & "','" & RadioButtonList1.Text & "','" & TextBox6.Text & "','" & TextBox4.Text & "','" & TextBox3.Text & "')" Dim cmd4 As OleDbCommand cmd4 = New OleDbCommand(
33、sqlstr2, conn) cmd3.ExecuteNonQuery() cmd4.ExecuteNonQuery() conn.Close() MsgBox("插入成功!") 3.4订货单模块 根据采购员的权限进入订货单界面,查看出货、进货状况,同时也可以修改个人密码、查询货品需求等操作。 图 3-5 订货单界面 '根据文本框内容显示查询结果 Dim conn As OleDbConnection conn = New OleDbConnection("Provider=SQLOLEDB.1;Password=1234;Persist Security Info
34、=True;User ID=sa;Initial Catalog=WMS;Data Source=.") Dim cmd As OleDbCommand Dim sqlstr As String '查询语句 sqlstr = "select RID,GName,WName,RQuantity,RType,RManager,RHandler from Records,Goods,Warehouses where RGID=GID AND RWID=WID and Records.RType='" & DropDownList1.Text & "'" cmd = New OleDbCom
35、mand(sqlstr, conn) conn.Open() Dim adp As New OleDbDataAdapter(cmd) Dim ds As New DataSet adp.Fill(ds, "link") GridView1.DataSource = ds.Tables("link").DefaultView GridView1.DataBind() conn.Close() '显示当前用户的id号 If Not IsPostBack Then Label3.Text = Session("uid") bindgrid() End If
36、 第4章 系统测试 4.1测试目的 测试为了寻找软件缺陷,评估一个程序或系统的属性和能力,确定是否符合其所需结果的活动。以防止“风险”的发生。 什么是风险?风险是测试应用通不过可靠性或健壮性测试,可能会给用户带来商业上的上海的可能性有关。 4.2测试项目 项目测试 1) 用户登录的测试; 2) 添加用户的测试; 3) 修改用户密码的测试; 4) 添加货物信息的测试; 5) 修改货物信息的测试; 6) 添加存储规则的测试; 7) 修改存储规则的测试; 8) 添加仓库信
37、息的的测试; 9) 修改仓库信息的测试; 10) 查询货物需求的测试; 11) 查询订货信息的测试; 4.3项目说明 1、用户登录的测试 该测试的目的是保证登录窗口的正确性与在错误发生时容错和纠错性。 具体的通过登录框中输入空用户名,和错误的用户密码来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。 2、添加用户的测试 该测试的目的是保证登录的正确性与在错误发生时容错和纠错性。 具体的通过添加记录框中输入重复的用户名,空用户名和用户密码来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。 3、修改用户密码的测试 该测试的目的是保
38、证登录窗口的正确性与在错误发生时容错和纠错性。 具体的通过添加记录框中输入用户名和密码,新密码是否修改成功来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。 4、添加或者修改货物信息的测试 该测试的目的是保证添加或者修改货物的正确性与在错误发生时容错和纠错性。 具体的通过添加记录框中输入货物的货号、货物名称、当前价格、主提供商、次提供商,货物信息是否添加或修改成功来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。 5、添加或者修改存储规则信息的测试 该测试的目的是保证添加或者修改存储规则信息的正确性与在错误发生时容错和纠错性。 具体的通
39、过添加记录框中输入货品名称、存放仓库、存放下限、存放上限、存放数量,存储规则信息是否添加或修改成功来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。 6、添加或者修改仓库信息的测试 该测试的目的是保证添加或者修改课程信息窗口的正确性与在错误发生时容错和纠错性。 具体的通过添加记录框中输入仓库信息的仓库名称、仓库所处地址、仓库容量、仓库主管人、仓库描述,仓库信息是否添加或修改成功来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。 7、查询货物需求信息和订单信息的测试 该测试的目的是保证查询货物需求信息的正确性与在错误发生时容错和纠错性。 4
40、.4测试结果 1、货物添加 图4-1 货物添加页面 2、用户密码修改 图4-2 用户密码修改页面 3、人员信息添加 图4-3 人员信息添加页面 4、货物需求页面 图4-4 货物需求页面 第5章 结束语 在学习数据库之前一直觉得数据库没有什么深入研究的价值,觉得无非是将数据存起来进行增删改查的操作就是了。直到真正接触到了数据库这门课才真地发现了这里面得奥妙和值得专研的价值。数据已然成为当今信息社会的一种极为重要
41、的资源,各个部门无时无刻不在于数据打交道,对于这些大量数据的处理使得数据库应运而生。作为学习软件的我们对于数据库的学习更加是必不可少。虽然对于SQL语言这些东西以前基本上没有太多的接触,但是清晰易懂语言的模式并没有对学习造成太大的困扰。而实际上这学期的双语教学的确让我的学习变的有些吃力,不是因为读不懂,而是读过之后理解仅仅停留在字面意思上,不能很透彻地理解到位。但是老师课堂上深入浅出的讲解,和对于课件的翻译让我对此有了很大的弥补。对于数据库的理解已经不仅仅是知道增删改查这些简单的基本操作,知道表之间的连接,一些运算,一些模式等等。实际上,对于数据库进行建立与操作是十分复杂的,中间要经过很多考虑
42、对于现实的结合,对于软硬件的要求都需要考虑在内。从某种意义上看来说,对于数据库的学习不仅仅改变了我对与数据库的看法,同时也改变了我对于程序设计的看法。从前简单的看到就做是不科学的,应该经过规划和研究分析才能上手。于此同时,老师留的项目其实是对于我们的所学习知识的一种检验与扩充。因为项目结合很多的其他知识,同时做项目的过程是一个对于知识的重新审视与巩固的过程。总地来说,这学期的数据库课程让我觉得有所收获,有所得。加强了对于课程本身的理解,同时也知道了更广的知识面。 参考文献 [1]费贤举,胡智喜. 基于模块化的软件工程课程体系的
43、构建与实现 [J]. 常州 工学院学报. 2006:1-10 [2] 曹斌,韩中孝.ASP.NET数据库系统项目开发实践 [M].北京科学出版社,2003 [3] 徐娟,吴志山,陈金良.网页制作实用技术[M].北京:清华大学出版社,2003 [4] 陈宗兴,杜国.ASP.NET网络系统程序开发[M].北京:中国水利水电出版社,2008 [5] 陈玉峰.SQL Server2000数据库开发教程[M].北京:科学出版社,2003 东北石油大学课程设计成绩评价表 课程名称 数据库
44、课程设计 题目名称 库存管理系统 学生姓名 李晓林 学号 080702140914 指导教师姓名 佟喜峰 职称 副教授 序号 评价项目 指 标(优秀) 满分 评分 1 选题难度 选题难度较高,或者对原题目进行了相当程度的改进。 10 2 工作量、工作态度和出勤率 工作量饱满,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。 10 3 课程设计质量 按期圆满的完成了规定的任务,方案设计合理,思考问题全面,系统功能完善。 40 4 报告质量 问题论述思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。 30 5 回答问题 在进行课程设计程序系统检查时,能正确回答指导教师所提出的问题。 10 6 创新(加分项) 工作中有创新意识,对前人工作有改进或有应用价值。在进行系统检查时能对创新性进行说明,并在报告中有相应的论述。 +5 总分 评语: 指导教师: 年 月 日
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。