管理信息系统课程设计报告.docx
- 文档编号:25437920
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:24
- 大小:370.28KB
管理信息系统课程设计报告.docx
《管理信息系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《管理信息系统课程设计报告.docx(24页珍藏版)》请在冰豆网上搜索。
管理信息系统课程设计报告
经济管理学院
2013至2014学年第二学期管理信息系统课程设计报告
班级学号
姓名
指导教师
成绩
1、系统分析(配合图形作简要说明)
1.1顶层数据流图
1.2第0层数据流图
2、系统设计
2.1系统功能结构图
根据物资管理系统的分层数据流图,可以导出物资管理系统的功能模块结构图,各个功能模块说明如下:
1)采购计划管理是根据企业每月的生产计划和生产进度编制出相应的采购计划,再根据采购计划下达采购任务。
根据采购任务计算所需的资金总额,编制资金需求计划,并下达相应的资金周转任务。
企业一般都会有备料,管理员根据现有物料和采购计划制作备料状况反馈表,发送给相关部门。
2)合同及客户管理主要功能是完成合同信息的录入,客户信息的录入,并根据合同双方的行为对合同的履行情况进行分析。
3)收发存管理主要是完成物料出入库的管理。
物料采购入库时要由仓库检验员检验,检验合格后才能入库,同时要填写入库单。
物料出库时也要经过检验,领料员要先填写提交领料申请单,经仓库保管员确认库存足够时才可以发货,否则就通知领料员库存不足。
库存管理主要是出入库管理,保证库存的上下限,不影响企业的正常生产。
4)统计分析主要功能就是对企业内外部信息的报表进行统计,对采购成本和实耗成本进行对比分析,对库存积压进行分析,找出根源所在,及时采取有效措施来解决该问题。
5)系统维护主要包括物资代码的维护,客户代码的维护以及操作员的管理。
在收发库存管理中,各流程的详细工作:
a.领料工作流程
1)领料人提交领料单(每一种物料有一张领料单)
2)仓库保管员根据领料计划单检验该领料单是否有效
3)若经检验没有相应的领料计划,则通知领料人该领料单无效
4)若领料单有效,仓库保管员根据领料单上的物料代码核对是否有足够的库存
5)若没有足够的库存,仓库保管员向领料人发缺货单
6)若有足够的库存,仓库保管员在领料单上签字,并登记出库单,修改物料主文件中的现有库存数;相应的物料出库,物料清单交领料人
b.入库工作流程
1)采购员提交入库申请单(每一种物料有一张入库申请单)
2)仓库保管员根据采购计划单验收入库申请单
3)若验收发现没有相应的采购计划,则仓库保管员向采购员发无效申请单
4)若验收合格,则仓库保管员向检验员申请物料检验;检验员根据检验结果填写物料检验单
5)如果物料或供货方不合格,则向采购员发出退货单
2.2代码设计
1.代码及作用
1)代码
代码是代表事物名称、属性、状态等的符号,为了便于计算机处理,一般用数字、字母或它们的组合来表示。
由于代码的编制需要仔细调查和多方协调,是一项很费事的工作,需要经过一段时间。
在手工处理系统中,许多数据如零件号、设备号、图号等早已使用代码。
2)代码的作用(功能)
①为事物提供一个概要而不含糊的认定,便于数据的存储和检索。
代码缩短了事物的名称,无论是记录、记忆还是存储,都可以节省时间和空间。
②使用代码可以提高处理的效率和精度。
按代码对事物进行排序、累计或按某种规定算法进行统计分析,可以十分迅速。
③提高了数据的全局一致性。
这样,对同一事物,即使在不同场合有不同的叫法,都可以通过编码统一起来,提高了系统的整体性,减少了因数据不一致而造成的错误。
④是人和计算机的共同语言,是两者交换信息的工具。
2.代码设计的原则
(1)唯一化
唯一化是代码设计的首要任务。
(2)规范化
我们在唯一化的前提下还要强调编码的规范化。
(3)系统化
现代化企业的编码系统已由简单的结构发展成为十分复杂的系统。
系统所用的代码尽量标准化,以方便数据交换和共享。
3.代码的种类
(1)顺序码
(2)区间码
(3)助忆码
4.代码设计
(1)部门代码(bmdm)
一共两部分,每部分3位,部门类别+编号,部门类别
办公处10,生产处20,后勤处30,编号分别依次往下排。
例如:
财务处1010
(2)工程代码(gcdm)
一共三部分,每部分两位,一共6位,产品类别+男式或女式+车型类别,
产品类别:
自行车01,摩托车02,修理类11
自行车中,男式01,女式02,车型类别:
普通型01,轻便型02,载重型03,例如:
轻便型女士自行车010202
摩托车中,踏板01,跨骑式02,普通型01,载重型03,例如:
载重摩托车(踏板)020103
(3)客户代码(khdm)
一共三部分,每部分两位,一共6位,省份+产品类型+编号
省份:
上海01,江苏02,北京03,依次类推;
产品类别:
自行车01,摩托车02,钢铁03,依次类推;例如上海摩托车贸易有限公司010201
(4)物资代码(wzdm)
物资代码分两部分,每部分5位,一共10位,第一部分是物资的种类,螺丝类00001,铜片类00002,等等,第二部分是物资种类的规格,螺丝类下分规格,直径5mm00001,直径7mm00002,依次类推。
例如:
直径7mm圆柱头螺丝:
000010002
第一个:
在本系统中是指向第一张入库单或出库单文件,其代码为:
gotop
thisformset.refresh
上一个:
指向当前指针所在位置的上一个文件,其代码为:
IFBOF()then
GOtop
ELSE
SKIP-1
ENDIF
thisformset.Refresh
下一个:
指向当前指针所在位置的下一个文件,其代码为:
IFEOF()then
GOtop
ELSE
SKIP1
ENDIF
thisformset.Refresh
最后一个:
是指向本系统中的最后一个入库单或出库单文件,其代码为:
GObottom
thisformset.Refresh
查找:
就是在文件中筛选出符合所输入的限制条件的记录或文件,其代码为:
DOseek.qpr&&调用一个查询表单
添加:
即是新建一张出库单或入库单,其代码为:
ThisForm.CmdAddrow.enabled=.t.
ThisForm.CmdDelRow.enabled=.t.
thisform.cmdfirs.enabled=.f.
thisform.cmdprior.enabled=.f.
thisform.cmdnext.enabled=.f.
thisform.cmdlast.enabled=.f.
thisform.cmdfind.enabled=.f.
thisform.cmddel.enabled=.f.
thisform.cmdedit.enabled=.f.
this.enabled=.f.
thisform.cmdprint.enabled=.f.
Selectmax(pzbh)frompzzhkwherepzlb=ThisForm.zaPzlbintoarrayA_maxbh
IF_Tally=0Thenlspzbh=”1001”
Else
lspzbh=str(A_maxbh+1,4,0)
Endif
Thisform.Cbopzbh.Additem(lspzbh)
ThisForm.zaPzbh=lspzbh
thisform.cbopzbh.value=lspzbh
selecpzzhk
appeblank
replapzlbwithThisForm.zApzlb,pzbhwithval(ThisForm.zaPzbh),Rqwith
Date()
selectpzwj
setfilterto
setfiltertopzlb=alltrim(thisform.cbopzlb.value)and
pzbh=val(thisform.zapzbh)
ThisForm.txtyear.Value=year(date())
ThisForm.txtmonth.Value=month(date())
ThisForm.txtday.Value=day(date())
thisform.txtdx.value=””
thisform.refresh
编辑即对表中的数据进行增加或修改,其代码为:
thisform.cmdfirs.enabled=.f.
thisform.cmdprior.enabled=.f.
thisform.cmdnext.enabled=.f.
thisform.cmdlast.enabled=.f.
thisform.cmdfind.enabled=.f.
thisform.cmddel.enabled=.f.
thisform.cmdnew.enabled=.f.
thisform.cmdprint.enabled=.f.
thisform.cmdsave.enabled=.t.
thisform.cmdaddrow.enabled=.t.
thisform.cmddelrow.enabled=.t.
thisform.cbopzlb.readonly=.f.
thisform.cbopzbh.readonly=.f.
thisform.txtyear.readonly=.f.
thisform.txtmonth.readonly=.f.
thisform.txtday.readonly=.f.
thisform.txtfjzs.readonly=.f.
thisform.grdpzwj.readonly=.f.
thisform.txtzd.readonly=.f.
thisform.txtsh.readonly=.f.
thisform.txtjz.readonly=.f.
this.enabled=.f.
Thisform.refresh
删除即删除表中的记录,其代码为:
ifmessagebox(“是否删除[“+ALLT(ThisForm.zApzlb)+”字
第”+ALLT(ThisForm.zApzbh)+”张]凭证”,4+32+256,”删除提示”)=6
Then
deletefrompzzhkwhereallt(str(pzbh))=allt(ThisForm.zApzbh)and
allt(pzlb)=allt(ThisForm.zApzlb)
deletefrompzwjwhereallt(str(pzbh))=allt(ThisForm.zApzbh)and
allt(pzlb)=allt(ThisForm.zApzlb)
Endif
ThisForm.Cbopzlb.Requery()
thisform.refresh
退出的代码为:
Thisformset..Release
2.3数据库概念设计(ERD)及关系模式
2.4数据库设计
整个数据库表结构如下所示:
(1)入库单文件(RKDWJ.DBF)
字段名
类型
长度
小数位数
意义
LD_ID
C
6
0
唯一性标识
CKBH
C
2
0
仓库编号
RKRQ
D
8
0
入库日期
LDBH
C
7
0
料单编号
KHBH
C
6
0
客户编号
KHMC
C
30
0
客户名称
HTH
C
10
0
合同号
GCBH
C
10
0
工程编号
FPH
C
10
0
发票号
JK
N
12
3
价款
SE
N
12
3
税额
JSHJ
N
12
3
价税合计
YZF
N
12
3
运杂费
YZFSL
N
3
0
运杂费税率
YZFSE
N
12
3
运杂费税额
YZFHJ
N
12
3
运杂费合计
ZJE
N
12
3
总金额
JHJE
N
12
3
计划金额
BZ
M
4
0
备注
ZGY
C
10
0
主管
BGY
C
10
0
保管员
ZDY
C
10
0
制单
CGY
C
10
0
采购员
LRY
C
10
0
录入员
BXY
C
10
0
报销员
SHY
C
10
0
审核员
(2)入库单物资(RKDWZ.DBF)
字段名
类型
长度
小数位数
意义
LD_ID
C
6
0
唯一性标识
WZBH
C
12
0
物资编号
YSSL
N
12
3
应收数量
SSSL
N
12
3
实收数量
SJDJ
N
12
3
实际单价
SJJE
N
12
3
实际金额
SE
N
10
3
税额
SL
N
20
0
税率
JSHJ
N
12
3
价税合计
JHDJ
N
12
3
计划单价
JHJE
N
12
3
计划金额
(3)物资代码(WZDM.DBF)
字段名
类型
长度
小数位数
意义
WZBH
C
10
0
物资编号
WZMC
C
30
0
物资名称
GGXH
C
30
0
规格型号
JLDW
C
4
0
计量单位
CKBH
C
4
0
仓库编号
ZBBH
C
4
0
帐簿编号
KCSX
N
12
3
库存上限
KCXX
N
12
3
库存下限
(4)领料单文件(LLDWJ.DBF)
字段名
类型
长度
小数位数
意义
LD_ID
C
6
0
唯一性标识
LDBH
C
7
0
料单编号
LLRQ
D
8
0
领料日期
CKBH
C
2
0
仓库编号
YTMC
C
20
0
用途名称
BMBH
C
4
0
部门编号
GCBH
C
9
0
工程编号
TH
C
20
0
图号
BZ
M
4
0
备注
KJY
C
8
0
会计员
SHY
C
8
0
审核员
BGY
C
8
0
保管员
ZGY
C
8
0
主管员
LLY
C
8
0
领料员
LRY
C
8
0
录入员
JHJE
N
12
2
计划金额
SJJE
N
12
2
实际金额
注:
领料单文件与领料单物资之间是一对多关系,二者通过LD_ID建立关联
(5)领料单物资(LLDWZ.DBF)
字段名
类型
长度
小数位数
意义
LD_ID
C
6
0
唯一性标识
WZBH
C
10
0
物资编号
JHDJ
N
12
2
计划单价
JHJE
N
12
2
计划金额
SJDJ
N
12
2
实际单价
SJJE
N
12
2
实际金额
QLSL
N
12
3
请领数量
SFSL
N
12
3
实发数量
(6)物资余额(WZYE.DBF)
字段名
类型
长度
小数位数
意义
WZBH
C
10
0
物资编号
Nf
C
4
年份
Yf
C
2
月份
START_SL
N
12
3
期初数量
START_JE
N
12
3
期初金额
JHDJ
N
12
3
计划单价
SJDJ
N
12
3
实际单价
RKSL
N
12
3
入库数量
RKJE
N
12
3
入库金额
CKSL
N
12
3
出库数量
CKJE
N
12
3
出库金额
END_SL
N
12
3
期末数量
END_JE
N
12
3
期末金额
(7)材料库存明细账表
字段名
类型
长度
小数位数
意义
日期
D
8
0
日期
物资编号
C
10
0
物资编号
摘要
C
30
0
摘要
RKSL
N
12
3
入库数量
RKJE
N
12
3
入库金额
CKSL
N
12
3
出库数量
CKJE
N
12
3
出库金额
(8)密码权限表
字段名
类型
长度
小数位数
意义
用户名
C
10
0
用户名
密码
C
10
0
密码
权限
C
2
0
权限
(9)工程代码(GCDM.DBF)
字段名
类型
长度
小数位数
意义
GCBH
C
10
0
工程编号
GCMC
C
30
0
工程名称
GCLB
C
4
0
工程类别
(10)部门代码(BMDM.DBF)
字段名
类型
长度
小数位数
意义
BMBH
C
4
0
部门编号
BMMC
C
20
0
部门名称
BMLB
C
4
0
部门类别
2.5输入输出界面设计
我们此次设计的物料收发存管理系统的主要界面有以下几个:
第一个界面“登录界面”:
在这个界面中,由于我们开始定义的数据库是本地数据库所以我们只提供了两个编辑窗口分别用于输入用户名和密码。
两个按钮分别是登录和退出功能。
当用户名或密码输入不对时,系统会给予相应提示。
当用户输入的信息与数据库中的数据完全一致时,即可进入第二个界面。
第二个界面“主界面”:
主窗口界面中,起到的是中间连接作用,定义了三个命令按钮,分别连接“材料入库单”、“领料单”、“材料库存查询”表单。
第三个界面“材料入库单”:
在这个界面中,在数据环境中添加了RKDWJ.dbf、KDWZ.dbf、WZDM.dbf三张表,并且定义它们的关系,其中RKDWJ.dbf为主表。
另外通过命令按钮实现对信息的相关操作。
第四个界面“领料单”:
在这个界面中,在数据环境中添加了LLWJ.dbf、LLWZ.dbf、WZDM.dbf三张表,并且定义它们的关系,其中LLWJ.dbf为主表。
另外通过命令按钮实现对信息的相关操作。
第五个界面“材料库存查询”:
材料库存汇总账界面
材料库存明细账界面
物料收发存系统-入库单明细账
3技术关键
(1)输入时组合框的使用
组合框是一种表单控件,它的使用可以节省不少时间,通过在表单中添加组合框控件并设置其rowsource和rowsourcetype属性就可以从相应的表中筛选出符合条件的记录或字段供用户选择,在很多网页上它的应用是非常广泛的。
(2)用户登录窗口
创建用户登录窗口之前应该要在数据库中新创建一张用户表,包括用户的姓名和登录密码字段,然后再基于用户表创建登录窗口。
登录窗口中只包括用户姓名组合框,用户密码,登录日期两个文本框和确认,取消两个按钮。
其中的用户姓名就来自于用户表,密码属于密文,登录日期由系统自动获取,其代码为:
thisform.txt.value=date(),用户输入完毕后点击确认按钮提交,若系统检查有误则跳出提示窗口提醒用户输入不正确,重新输入;若无误,则进入主界面。
确认按钮的click事件的代码为:
ifAllt(Tmpuser.password)<>ALLT(ThisForm.Txtpass.Value)Then
messagebox("口令不对",1+32+256,"登录错误")
return
endif
plogon=.t.&&登录成功后才将全局变量plogon设为真,菜单的skip项条才不会将菜单功能忽略掉。
querydate=ctod(alltrim(thisform.txtlogintime))&&登录后此登录时间作为查看帐簿的月份期间
ThisForm.Release
若用户点击“取消”按钮则跳出提示窗口,询问用户是否真的要退出登录,其代码为:
ifmessagebox("是否退出VFP系统?
",3+32+256,"退出提示")=6Then
exit
else
Setsysmtodefa&&恢复系统菜单
Endif
ThisForm.Release
(3)类的应用
VFP中,为了实现常用功能,系统提供了一些类,称为基类,子类是用户在已有的类的基础上进行修改并加入新的特性而形成的类.子类所依托的类称为父类。
VFP的基类可分为容器类和控件类两大类.
(1).容器类:
容器类是可以包含其他害的基类,将容器类加入表单后,无论在设计还是在运行时,既可以将容器类的对象作为一个整体进行操作,也可以分别对其中所包含的对象进行处理.
(2).控件类:
控件类是可以包含在容器类的类.控件类的封装比容器类更加严密,但也因此丧失了一些灵活性.控件类不能作为其他对象的父对象.
在VFP中建立类,大大提高了效率。
(4)菜单的设计
菜单的设计,使得用户与系统有更好的界面交流。
更容易找到需要的界面。
菜单主程序代码:
SCREEN.Caption="物料收发存管理信息系统"
SETCENTURYON
SETDATETOLONG
SETDELETEON
SETEXCLUSIVEOFF
SETSAFETYOFF
DOmain.mpr
READEVENTS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理信息系统 课程设计 报告