管理信息系统课程设计报告

管理信息系统课程设计报告—仓库

管理系统

学院: 班级: 姓名: 学号:

仓库管理系统的设计和实现

一、绪论

企业的物资管理往往是很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管体制不尽相同,各类统计计划报表繁多等原因,物资管理有必要实现计算机信息化管理,而且必须根据企业的具体情况制定相应的方案。

根据当前的企业管理体制,一般物资供应管理系统总是根据所掌握的物资类别,相应分成几个人科室来进行物资的计划、订货、核销托收和验收入库,根据企业各个部门的需要来发送物资设备,兵随时按期进行库存盘点、做台账;根据企业领导和自身管管理的需要按月、季、年进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备消耗情况,根据计划定额和实际消耗定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。

本次我是用Access设计了一个仓库管理系统,用于中小型企业,操作方便。

二、系统的分析和设计

仓库管理的物资在这里主要是企业生产所需的各种设备。进货时经检查合同确认为有效托收以后,进行验收入库,需要填写入库单,并进行入库登记。企业各个部门根据所需要的物资设备总额和部门生产活动需要提出物资需求申请。计划员根据整个企业需求开出物资设备出库单,仓库管理员根据出库单核对发放设备。

设备使用完毕需要何时归还,填写入库单。还需要按月,季,年进行统计分析,产生相应报表。

1.系统分析

1.1需求分析

需求分析是信息系统分析与设计的基础。要开发并实施一个完整的信息系统,需求分析是否充分准确直接决定信息系统是否能最终使用户满意,并且影响到数据库结果是否合理实用,所以必须首先了理解用户的需求,并形成系统需求说明书。

(1)仓库数据库必要性分析

作为商店所有的商品的最初集散地,对于仓库的管理无疑是重要的,传统的

仓库管理人员在日常的生活中,要从事繁重的商品登记工作,对于要查询商品的人员来说也要花费很长的时间去分清商品;同时,一旦仓库有进入新的商品,又要从新更改商品的基本录入,同时对于一些过时的商品,要重新分类,并且及时的删除。如果是数量极少的商品,人工可以完全胜任,但是面对着成千上万的商品的登记和输出,就要需要进行系统性信息化规范。我们团队设计的仓库系统中包含了商品的查询功能、更新功能以及将一些不必要商品的删除功能。

(2)现实需求

随着公司和企业贸易的扩大化和所从事商品种类的日益增多,导致公司的后勤部门面临着繁重的账目查询和仓库管理负担。并且随着公司的进一步发展,公司上层对于公司的未来发展有了进一步的战略规划,传统的人工商品和仓库的管理系统以不能满足公司的进一步的发展,因此将公司的后勤管理进行信息化是必要的。

1.2.功能分析

本仓库管理系统主要有如下几个功能:

(1)仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。

(2)仓库管理各种信息的查询、维护和修改。

(3)设备采购表的生成。

(4)在仓库管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监控和报警。

(5)企业各个部门的物资需求的管理。

(6)操作日志的管理。

2、系统设计

2.1.系统功能模块的设计

如图2-1

管理信息系统课程设计报告

仓库管理信息系统的功能可以分为设备入库,设备出库,设备还库,设备需求,设备采购等方面。

仓库管理系统属于企业管理信息系统,是管理信息系统在现实中的ERP应用。它支持企业整体发展战略。企业的管理层通过对系统数据的收集分析,有利于制定合理的企业经营战略。详细的功能模块则为企业的全面成本管理,提高敏捷的后勤保障建立了基础。该系统模块所具有的功能较为详细,能较好地满足企业的需求。

通过仓库管理系统的建设,极大提高了企业的形象,而信息技术的使用则全面降低了企业运作成本,提高了公司的整体运作效率,公司业务得以拓展,企业利润实现最大化,进一步提高了企业的综合竞争力;仓库管理信息系统规范优化了企业内部各部门、各办事机构的业务流程,对重点业务实行了全面质量监控。通过科学化管理,实现各部门间的协同运作、无纸化办公,并且使公司内部各部门、使用权限明了清楚,杜绝互相推诿现象,强化了部门责任;同时仓库管理信息系统支持开发决策,为企业决策层提供图形化、报表化的市场分析数据,能够对未来的公司业务发展、客户需求发展、市场发展做出预测,为公司制定经营战略提供数据支持;系统通过Internet实现全天候实时服务,实现365*24全天候信息交流,充分满足客户的各种需求,全面提升客户服务水平,大大加强与客户

的紧密度,也为不同部门之间的信息交流与相互合作奠定坚实的基础。

2.2系统的数据流程图的设计

数据库的结构设计是一个非常重要的问题,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。在上述分析的基础上,可以得到本系统的数据流程图,如图2-2

管理信息系统课程设计报告

图2-2

三、数据表的创建和设计

使用Access数据库管理系统建立应用系统,首先需要创建一个数据库。然后在该数据库中添加所需要的表、查询、窗体、报表和宏等。

1.数据库的创建

使用向导设计“仓库管理系统”数据库

2.E-R图的设计

2.1现有库存实体的E-R图、

管理信息系统课程设计报告

2.2入库实体的E-R图

管理信息系统课程设计报告

2.3出库实体的E-R图

管理信息系统课程设计报告

2.4部门需求实体的E-R图

管理信息系统课程设计报告

2.5设备还库实体E-R图

管理信息系统课程设计报告

2.6设备采购实体E-R图

管理信息系统课程设计报告

2.7实体与实体之间的关系

四.编写代码

1.设备入库

1.1添加记录功能

Private Sub Command14_Click()

' *************

On Error GoTo Err_Command14_Click

DoCmd.GoToRecord , , acNewRec

Exit_Command14_Click:

Exit Sub

Err_Command14_Click:

MsgBox Err.Description

Resume Exit_Command14_Click

End Sub

1.2修改库存功能

Private Sub Command16_Click()

'*************

管理信息系统课程设计报告

Dim As Database

Dim curRS As Recordset

Dim deviceCnt As Integer

Set curdb = CurrentDb

Set curRS = curdb.OpenRecordset("selet*from devisce where 设备号='" & 设备号.Value & "'")

If Not curRS.EOF Then

'***************

'如果已经存在该设备'就在库存中修改相关记录

'***************

deviceCnt = curRS.Fields("现有库存")

deviceCnt = deviceCnt + CInt(入库数量.Value)

curdb.Execute "update device set 现有库存=" & deviceCnt & " ,总数=" & curRS.Fields("_总数").Value + CInt(入库数量.Value) & "where 设备号='" & 设备号.Value & " ' "

Else

'**************

'如果数据库里没有相关设备'就在库存里添加一条新纪录

'***************************

With curRS

.AddNew

.Fields("设备号") = 设备号.Value

.Fields("现有库存") = CInt(入库数量.Value)

.Fields("最大库存") = CInt(入库数量.Value) + 10

.Fields("最小有库存") = CInt(入库数量.Value) - 10

.Fields("总数") = CInt(入库数量.Value)

.Update

End With

End If

curdb.Execute "insert into Howdo(操作员,操作内容,操作时间) values ('管理员','设备入库'," & CDate(入库时间.Value) & ")"

'********************

'将操作记录到日志中

'*********

cmdAdd.Enabled =True

cmdAdd.SetFocus

cmdMod.Enabled = False

End Sub

Private Sub Command16_click()

End Sub

1.3查找记录功能

Private Sub Command17_Click()

On Error GoTo Err_Command17_Click

Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_Command17_Click:

Exit Sub

Err_Command17_Click:

MsgBox Err.Description

Resume Exit_Command17_Click

End Sub

2.设备出库

2.1添加记录功能

Private Sub Command14_Click()

On Error GoTo Err_Command14_Click

DoCmd.GoToRecord , , acNewRec

Exit_Command14_Click:

Exit Sub

Err_Command14_Click:

MsgBox Err.Description

Resume Exit_Command14_Click

End Sub

2.2修改库存功能

Private Sub Command16_Click()

Dim As Database

Dim curRS As Recordset

Dim deviceCnt As Integer

Set curdb = CurrentDb

Set curRS = curdb.OpenRecordset("selet * from devisce where 设备号='" & 设备号.Value & "'")

If Not curRS.EOF Then

'***************

'如果已经存在该设备'就在库存中修改相关记录

'***************

deviceCnt = curRS.Fields("现有库存")

deviceCnt = deviceCnt - CInt(入库数量.Value)

curdb.Execute "update device set 现有库存=" & deviceCnt & "where 设备号='" & 设备号.Value & "'"

Else

'**********************

'将操作记录到日志中

'************************

curdb.Execute "insert into Howdo(操作员,操作内容,操作时间) values ('管理员','设备出库','" & CDate(出库时间.Value) & "')"

Else

'******************************

'如果书库里没有相关设备,就给出提示信息

'**********************************

MsgBox "没有该设备!"

End If

cmdAdd.Enabled = True

cmdAdd.SetFocus

cmdMod.Enabled = False

End Sub

2.3查找记录功能

Private Sub Command17_Click()

Private Sub Command17_Click()

On Error GoTo Err_Command17_Click

Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_Command17_Click:

Exit Sub

Err_Command17_Click:

MsgBox Err.Description

Resume Exit_Command17_Click

End Sub

Private Sub cmdTime_Click()

'**************************

'将当前时间插入到文本框中

'**************

出库时间.SetFocus

出库时间.Text = CStr(Date) & " " & CStr(Time)

End Sub

3.设备还库

3.1添加记录功能

Private Sub Command14_Click()

On Error GoTo Err_Command14_Click

'DcCmd.GoTORecord , ,acFirst

'DoCmd.GoToRecord ,, acNewRec

cmdMod.Enabled = True

cmdMld .SetFocus

cmdAdd.Enable = False

Exit_ Command14_Click:

Exit Sub

Err_Command14_Click:

MsgBox Err.Description

Resume Exit_Command14_Click

End Sub

3.2修改库存功能

Private Sub Command16_Click()

Dim curdb As Database

Dim curRS As Recordset

Dim deviceCnt As Integer

Set curdb = CurrentDb

Set curRS = curdb.OpenRecordset("select * from device where 设备号='" & 设备号.Value & "'")

If Not curRS.EOF Then

'*********************

'如果已经存在该设备,就在库存中修改相关记录

'****************************

deviceCnt = curRS.Fields("现有库存")

deviceCnt = deviceCnt + CInt(归还数量.Value)

curdb.Execute "update device set 现有库存=" & deviceCnt & "where 设备号='" & 设备号.Value & "'"

'*****************

'将操作记录到日志中

'*************

cuedb.Execute "insert into Howdo(操作员,操作内容,操作时间)Values ('管理员,'设备还库','" & (还库时间.Value) & ")"

Else

'*********************

'如果数据库里没有相关设备,就给出提示信息

'***********************

MsgBox "没有该设备!"

End If

cmdAdd.Enabled = True

cmdAdd.SetFocus

cmdMod.Enabled = False

End Sub

3.3查找记录功能

Private Sub Command17_Click()

On Error GoTo Err_Command17_Click

Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_Command17_Click:

Exit Sub

Err_Command17_Click:

MsgBox Err.Description

Resume Exit_Command17_Click

End Sub

4.设备需求

4.1添加记录功能

Private Sub Command14_Click()

'********************

'添加记录功能

'********************

On Error GoTo Err_Command14_Click

DoCmd.GoToRecord , , acNewRec

Exit_Command14_Click:

Exit Sub

Err_Command14_Click:

MsgBox Err.Description

Resume Exit_Command14_Click

End Sub

4.2保存日志功能

Private Sub Command16_Click()

'******************

'将操作记录到日志中

'****************

Dim curdb As Database

Set curdb = CurrentDb

curdb.Execute "insert into Howdo (操作员,操作内容,操作时间) Values ('管理员','设备需求','" & CStr(Date) & " " & CStr(Time) & "')"

cmdAdd.Enabled = True

cmdAdd.SetFocus

cmdMod.Enabled = False

End Sub

4.3查找记录功能

Private Sub Command17_Click()

On Error GoTo Err_Command17_Click

Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_Command17_Click:

Exit Sub

Err_Command17_Click:

MsgBox Err.Description

Resume Exit__Command17_Click:

End Sub

5.设备采购

5.1添加记录功能

Private Sub Command14_Click()

'*********************

'添加记录

'***************

On Error GoTo Err_Command14_Click

'DcCmd.GoTORecord , ,acFirst

DoCmd.GoToRecord , , acNewRec

cmdMod.Enabled = True

cmdMld .SetFocus

cmdAdd.Enable = False

Exit_ Command14_Click:

Exit Sub

Err_Command14_Click:

MsgBox Err.Description

Resume Exit_Command14_Click

End Sub

5.2保存日志功能

Private Sub Command16_Click()

'*****************

'将操作记录到日志中

Dim curdb As Database

Set curdb = CurrentDb

curdb.Execute "insert into Howdo(操作员,操作内容,操作时间) value ('管理员','设备采购','" & CStr(Date) & " " & CStr(Time) & "')"

cmdAdd.Enabled = True

cmdAdd.SetFocus

cmdMod.Enab

5.3查找记录功能

Private Sub Command17_Click()

'**************

'查询功能

'***************

On Error GoTo Err_Command17_Click

Screen.PreviousControl.SetFocus

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_Command17_Click:

Exit Sub

Err_Command17_Click:

MsgBox Err.Description

Resume Exit_Command17_Click

End Sub

五.系统启用

1.进入仓库管理系统

界面如下:

管理信息系统课程设计报告

2. 现在进入设备入库管理

只要点击上边栏的“设备入库”就好。您会看到入库登记入库一览表的界面:

管理信息系统课程设计报告

在这里您只要点击查找记录按照提示按照相应的格式输入商品的信息,然后点击确定系统就会自动及时的保存入库商品的信息。

3. 现在进入设备出库管理

只要点击上边栏的“设备出库”就好。您会看到出库登记一览表的界面:

管理信息系统课程设计报告

请你把要出库的商品的信息键入系统就会自动的从系统中删除相应的商品信息,保证商品信息的准确性,注意这里键入的格式要确定,键入的信息要尽可能准确从而保证删除的商品就是出库的。

4. 现在进入设备出库管理

只要点击上边栏的“设备还库”就好。您会看到还库登记入库一览表的界面:

管理信息系统课程设计报告

5. 现在进入设备需求管理

只要点击上边栏的“设备需求”就好。您会看到需求登记一览表的界面:

管理信息系统课程设计报告

6. 现在进入设备采购管理

只要点击上边栏的“设备采购”就好。您会看到采购登记一览表的界面:

管理信息系统课程设计报告

7. 现在进入报表显示

只要点击上边栏的“报表显示”就好。您会看到报表一览表的界面:

管理信息系统课程设计报告

点击“设备清单”前面的复选框,如下所示:

管理信息系统课程设计报告

然后就点击“显示”,就出现如下图片:

管理信息系统课程设计报告

六.存在的问题:

1.代码错误

将书本上设备入库窗体设计的修改库存代码中 Private Sub Command16_Click()

'*************

Dim As Database

Dim curRS As Recordset

Dim deviceCnt As Integer

Set curdb = CurrentDb

Set curRS = curdb.OpenRecordset("selet*from devisce where 设备号='" & 设备号.Value & "'")

If Not curRS.EOF Then

'***************

'如果已经存在该设备'就在库存中修改相关记录

'***************

deviceCnt = curRS.Fields("现有库存")

deviceCnt = deviceCnt + CInt(入库数量.Value)

curdb.Execute "update device set 现有库存=" & deviceCnt & " ,总数=" &_curRS.Fields("_总数").Value + CInt(入库数量.Value) & "where 设备号='" & 设备号.Value & " ' "

Else

'**************

'如果数据库里没有相关设备'就在库存里添加一条新纪录

'***************************

With curRS

.AddNew

.Fields("设备号") = 设备号.Value

.Fields("现有库存") = CInt(入库数量.Value)

.Fields("最大库存") = CInt(入库数量.Value) + 10

.Fields("最小有库存") = CInt(入库数量.Value) - 10

.Fields("总数") = CInt(入库数量.Value)

.Update

End With

End If

curdb.Execute "insert into Howdo(操作员,操作内容,操作时间) values ('管理员','设备入库'," & CDate(入库时间.Value) & ")"

'********************

'将操作记录到日志中

'*********

cmdAdd.Enabled =True

cmdAdd.SetFocus

cmdMod.Enabled = False

End Sub

Private Sub Command16_click()

End Sub

改为:

curdb.Execute "update device set 现有库存=" & deviceCnt & " ,总数=" & curRS.Fields("_总数").Value + CInt(入库数量.Value) & "where 设备号='" & 设备号.Value & " ' "

2.Acess版本问题

由于我的电脑装的是Access 2010,与Access 2003存在一定的差异,所以有些功能不一样,在设计过程中存在一些问题。并且有些报表以及切换面板显示结果和Access 2003不一样。

七.课程设计总结

因为是初次自己动手,所以中间有很多的困难,总结一下:

(1)刚开始的时候总是觉得不顺手,做的时候也比较慢,要参照书本一步一步来,生怕出现什么错误,而且有些时候都不知道书上到底讲的是什么,所以我就先把书本上的内容看了一遍,觉得自己看得差不多熟悉了就继续开始做,但是发现理论和实践相差还是很大的,我每次做的时候都要找很久,很多东西都不熟练。

(2)因为版本的问题我也走了很多弯路,我电脑使用的是Access 2010,它的整个版面以及功能和Access 2003不一样,所以在按照书本上的步骤一步步走的时候总是存在一些问题。

(3)在编写代码的过程中,总是出现一些问题,特别是长时间对着电脑和代码,

觉得自己满眼都是代码,这样结果往往就是代码输错,要不就是拼写错误,像 “TRUE”老是被我拼成“TURE”,刚开始没发现,后来才发现错了,它显示的不是蓝色。

整个实验结束的心得:在整个实习过程完毕后,自己有一种十足的成就感,没想到经过这么多的困难,我可以开发出一个基本完备的系统,同时也对这门课产生了更加浓厚的兴趣。

通过此次信息系统设计我受益匪浅:

(1)掌握了功能结构图的绘制,之后的上机实验的系统实施使我学会用一种开发工具去开发系统的流程。

(2)此次系统系统实施利用的是Access开发工具,虽然之前没有学过,但是还是可以看出Access的开发功能还不是很强,界面的设计不够具体全面。

(3)由于时间紧凑,系统做的较为简陋,但能基本满足系统目标与要求。此次系统设计的主要训练目的基本达到,并且通过这次的信息管理系统的设计开发,让我对课本上的理论有了更深层次的理解,我认识到管理信息系统的实用性非常强,可以增强企业的管理功能,提高管理效率,增加其管理手段,为企业合理利用资源、节约资源、降低成本、提高效益发挥作用。在系统设计中主要掌握了信息系统设计的主要步骤和各阶段文档的编写,加深了对信息系统设计应用软件开发的理解,提升了解决实际问题的能力。

(4)通过本次系统的设计,一方面我觉得管理信息系统是一门实用性很强的课程,学好它对我们今后的学习工作非常有利;另一方面我觉得自己的能力真的很有限,很多知识都不知道,需要完善,最重要的是在掌握理论知识的同时提高动手能力。

八.参考资料:

中文Access 2003案例经典(TP311.138AC/63)

相关推荐