目 录
第1章系统分析 ............................................... 1
1.1系统建设的目标 ....................................................... 1
1.2 可行性分析 .......................................................... 1 1.3需求分析 ............................................................. 2 1.4系统组织结构图 ....................................................... 2 1.5系统总体数据流程 ..................................................... 3 1.6管理业务流程图 ....................................... 错误!未定义书签。 1.7数据流程 ............................................................. 5 1.8系统数据字典 ........................................................ 11
第2章系统设计 .............................................. 11
2.1系统设计的原则 ...................................................... 11 2.2系统数据库设计 ...................................................... 12 2.4代码设计 ............................................................ 14 2.5用户界面设计 ........................................................ 15
第3章系统实施 .............................................. 16
3.1登陆连接代码 ........................................................ 17 3.2销售窗口代码 ........................................................ 18 3.3系统使用说明书 ...................................................... 20
参考文献 .................................... 错误!未定义书签。
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
第1章系统分析
1.1系统建设的目标
于目前订单管理系统还存在很多缺陷和不足,此次项目的目的就是根据现实需要,建立一个比较全面完整的订单管理系统。通过一个公司订单管理系统,使公司的订单管理工作系统化、规范化、自动化,从而达到提高公司管理效率的目的。具体有如下3个方面的目标:
(1)实现规范化的管理,包括系统设置、客户管理、订单管理、财务管理、仓库管理、五大模块等。
(2)高效率处理日常业务活动,包括新系统维护和设置、客户资料建立、信用评级、订单审核、财务核算以及库存管理等功能。
(3)协助企业高层领导做出科学合理的决策。 1.2 可行性分析
可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决(1)技术可行性
订单管理系统采用了当前的主流计算结构—C/S模式进行开发,前台开发工具选用Microsoft Visual Basic 6.0。Microsoft Visual Basic 6.0是一种可视化的、面向对象的Windows开发语言,Microsoft Visual Basic 6.0具有易用、通用和开发效率高的特点。后台的数据库开发工具选用了SQl sever 2000,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。这两种开发工具功能强大,有很好的接口,作为本系统开发工具是可行的。 (2)经济可行性
21世纪是一个充满竞争和挑战的世纪。在这个世纪中,高效化、系统化、规范化、自动化已成为现代企业的代名词。现代企业拥有自己的一套自己的订单管理系统是非常必要的,传统的手工式的订单管理方式已经无法适合当今的庞大的数据处理和精确的运
1
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
算需求,所以一套完善的订单管理系统是提高工作效率节省人力物力的有效解决方案。传统的管理方式,对订单管理人员要求数量多,耗资高,错误率高,工作人员流动和对新人的培训经费也是不小的开支。的本系统的开发为企业的工作效带来了一个质的飞跃,表现在:
1)可以代替人工进行许多繁杂的劳动 2)可以节省许多资源
3)可以大大提高企业的工作效率
一套完善的订单管理系统可持续使用并能随着时代和工作的需求不断更新,一期投入终身受用,按长期的使用计算,开发系统的造价平均到每年与传统式的管理方式的年耗资本相对比,性价比是可行的。 (3)社会可行性
对于这套订单管理系统而言,在投入使用前,会由开发并能熟练操作本系统的工程人员对用户群进行专业系统的培训。培训内容应包括,熟练掌握系统的各个功能和简单的系统维护,在开发设计程序的过程中直观的界面和控件的文字解释完全能使得用户充分理解起功能和意义,在计算机普及的今天,用户对本系统的操作完全可以看做是一种简单的,配合形式的手工操作,因为本系统最适合用于微型机,可以说几乎任何人都可以使用和管理。所以本系统的操作是可行的。
根据订单管理的日常的正常的业务运作规律和工作性质,可以看出本系统的业务是平时常见的工作,所以开发人员在开发起来比较容易入手,所以可以判断开发本系统的周期比较短,开发中的不可预见问题会比较容易解决,在开发小组的分析后应该容易做出相对准确的,误差微小的开发期限,应该可以在规定时间内,快速的、完整的交付给用户使用。 1.3需求分析
在现在的市场经济中,顾客越来越多的要求快速、高校的服务,使得供应商不得应用计算机管理提高自己的业务水平,其中订单的管理是一个重点,很好地管理订单来控制成本能够使企业占据优势地位,开发新的订单管理系统就显得尤其重要。开发企业订单管理系统就是根据制造业业务流程将业务的各类数据联系起来,组成一个有机的系统,使得业务、财务、市场等方面的信息得以方便、快捷地传递并经过综合处理生产各种报表送交给各个职能部门及决策者,其可以节省大量的人力,提高工作效率,随着计算机
2
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
技术的飞速发展,计算机在日常管理应用中迅速普及。同时随着市场经济的飞速发展,企业生产力不断提高,企业要不断开发客户市场,还要做好财务的收付工作和产品管理工作,同时收集处理信息的速度、准确性、安全性还影响到公司整体的管理水平和决策层对整体业务的控制和协调,面对激烈的挑战和竞争,商业企业的经营者们体悟到唯有有效地配置自己拥有的资源并合理使用社会一切资源,不断地调整自己的发展策略得以保证企业长期稳定发展并在细分试产上取得自己的竞争优势。 1.4系统组织结构图
订单管理系统 主管部门 杨轶 客户订单管理 财务管理 仓库管理 张凡 白光泽 马天柱 图1-1 组织结构图
1.5系统总体数据流程
图1-2总体流程图
1.6业务流程图 1.61总体管理业务流程分析
3
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
图1-3总业务流程图
1.62仓库管理业务流程图
仓库库存报表审核订单确认订单发货单是否充足否采购入库库存盘点是发货仓库管理编制报表日库存报表日出库报表 4
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
图1-4业务流程图
1.7数据流程
图1-5数据流程图
盘点明细D4.表1.1P4.1.4库存盘点库存表主管确认订单仓库P4.1.1产看库存P4.1.2是否充足否是发货发货通知客户P4.1.3采购产品采购入库 图1-6数据流程图
1.8系统数据字典 1.81数据元素条目 名称 数据类型 产品编号 char 产品名称 varchar 成本单价 money 出厂数量 int
长度 10 20 6 4 5
有关的数据结构 产品信息表 产品信息表 产品信息表 产品信息表 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
计量单位 Char 产品编号 char 库存数量 int 入库日期 datetime 盘点日期 datetime 调整数量 int 采购数量 int 采购日期 datetime 采购单价 money 采购厂商 varchar 1.82数据结构条目 4 10 4 8 8 4 4 8 6 10 产品信息表 库存表 库存表 库存表 库存盘点明细表 库存盘点明细表 产品采购表 产品采购表 产品采购表 产品采购表 数据结构条目 总编号:2-01 编号:001 有关的数据结构 数据存储 名称:产品信息表 产品信息表 说明:对产品信息进行描述和说明 数据结构: 产品编号 产品名称 计量单位 出厂数量 成本单价
数据结构条目 总编号:2-02 编号:002 有关的数据结构 数据存储 名称:库存表 库存表 说明:对库存产品的状态进行管理 数据结构:
6
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
产品编号 数量 入库时间 1.83库存盘点明细表
数据结构条目 总编号:2-03 编号:003 有关的数据结构 数据存储 名称:库存盘点明细表 说明:对库存产品进行定期盘点并且和库存表进行比照 数据结构: 产品编号 数量 入库时间 1.84数据流条目 数据流条目 总编号:3-01 编号:004 名称:确认订单 说明:已审核过的订单 数据流来源:主管 数据流去向:仓库 有关数据结构: 库存表 审核表 定价表
7
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
数据流条目 总编号:3-02 编号:005 名称:采购产品单 说明:对于缺货的产品进行采购 数据流来源:采购单 数据流去向:P4-02 有关数据结构: 库存表
数据流条目
总编号:3-03 编号:006
名称:发货单
说明:对客户订单最终进行发货的统计 数据流来源:确认订单
数据流去向:客户
有关数据结构:
客户订单
产品信息表
库存表
1.85处理过程条目 处理过程条目 总编号:4-01 编号:007 有关的数据结构 数据存储 名称:查看库存 库存表
8
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
说明:对库存情况的查询 输入:仓库 输出:发货单 处理:即对于要发货的产品进行库存确认和查询
处理过程条目 总编号:4-02 编号:008 有关的数据结构 数据存储 名称:发货 库存表 说明:向客户发货 输入:确认订单 输出:发货单 处理:对确认的订单进行发货
处理过程条目 总编号:4-03 编号:009 有关的数据结构 数据存储 名称:产品采购 库存表 说明:进行产品的补够 输入:采购单 输出:入库单 处理:产品进货
9
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
处理过程条目 总编号:4-04 编号:010 有关的数据结构 数据存储 名称:库存盘点 库存表 说明:库存盘点生成的明细表 输入:库存表 输出:库存盘点明细表 处理:对库存进行盘点
1.86外部实体条目
外部实体条目 总编号:5-01 编号:011 有关的数据结构 数据存储 名称:仓库 库存表 说明:反映产品的存储情况 库存盘点明细表 输出数据流:发货单 输入数据流:确认订单
外部实体条目 总编号:5-03 编号:012
有关的数据结构 数据存储 名称:客户 库存表 说明:即就是订单的下定者 库存盘点明细表 输出数据流:客户订单 输入数据流:发货单 1.87存储条目
10
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
存储条目 总编号:6-01 编号:013 名称:库存表 说明:产品的库存信息 存储来源: 有关的数据结构 数据存储 库存表 产品信息表
存储条目 总编号:6-02 编号:014 名称:库存盘点明细表 说明:库存盘点生成的明细表 存储来源: 有关的数据结构 数据存储 库存表 库存盘点明细表
第2章系统设计
2.1系统设计的原则
(1)简单性 :本系统要求在达到预定的目标、具备所需的功能的前提下,系统要应当尽量的简单。这样可以减少处理费用,提高系统效益,同时也便于管理;
11
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
(2)系统性:本系统要求系统设计从整体出发,把设计工作统计起来,是系统在设计规范、方法等个方面具有一致性,避免冲突和混乱;
(3) 灵活性:要求系统要有很强的对系统环境变化的适应性,是系统便于修改和更新,
特别是当局发生变化时,整个系统不应受到影响;
(4) 可靠性:本系统要求硬件和软件在运行过程中抵抗异常情况的干扰及保证系统正
常工作的能力;
(5) 经济性:在设计系统时,系统经济性是确定设计方案的一个重要因素; (6) 系统的运行效率:处理能力、响应时间的要求; (7) 安全性。 2.2系统数据库设计 总体数据库ER图
1 定n 1 产品 1 n 供订单 订n 财务 1 缴1 1 客户 1 审1 主管
图2-1
仓库数据库ER图
采购单采购库存N构成N产品N发货N客户N需要N库存盘点
12
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
图2-2
产品:{产品编号,产品名称,成本单价,出厂数量,计量单位} 库存:{产品编号,库存数量,入库日期}
采购:{产品编号,采购产品名称,采购数量,采购日期,采购单价} 库存盘点:{产品编号,产品名称,盘点日期,调整数量,标志}
13
产品编号 计量单位 产品名称 产品 出厂单价 图2-3
盘点时间 调整数量 库存盘点 产品编号 图2-4
采购数量 标志 产品名称 采购时间 产品编号 图2-5 采购单 采购单价 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
数据表的设计: 表结构设计
产品信息表 字段名称 数据类型 长度 备注 产品编号 char 10 Not null 主键 库存表,定价表的外键 产品名称 char 10 Not null 计量单位 int 4 成本单价 money 6 出厂数量 int 4 库存表 字段名称 数据类型 长度 备注 产品编号 char 10 Not null 主键 数量 int 4 Not null 入库时间 datetime 8 Not null 采购表 字段名称 数据类型 长度 备注 产品编号 char 10 Not null 主键 产品名称 char 10 Not null 采购数量 int 4 采购时间 datetime 8 采购单价 money 6 购货厂商 char 10 库存盘点明细表 字段名称 数据类型 长度 备注 产品编号 char 10 Not null 主键 盘点时间 datetime 8 Not null 调整数量 Int 4 Not null 产品名称 char 10 Not null
2.4代码设计
任何信息系统中,信息的表示方法都是系统的基础。任何信息都是通过一定的编码方式,以代码的形式输入并储存在计算机中的。代码是用来表征客观事物的一个或一组有序的符号,它应易于计算机和人识别与处理。
代码是以适当的符号来表达客观实体的属性及特征。有标识、分类统计检索、排序、对象描述的作用,一般根据唯一性原则、合理性原则、适用性原则、规范性原则、可扩充性原则和简明性原则来进行设计。具体如下:
14
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
订单编号: ⅹ ⅹ ⅹ ⅹ
自由码 小类号 大类号 客户编号:顺序码(001) 产品编号:顺序码(01) 2.5用户界面设计 2.51登陆界面设置:
2.52产品信息浏览界面设置
15
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
2.53客户信息浏览界面设置
2.54订单信息管理界面设置
16
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
第3章系统实施
3.1登陆连接代码
(1)“确定”按钮的Click事件代码: SET EXACT ON
THISFORM.i=THISFORM.i+1 IF EMPTY(ALLTRIM(账号))
MESSAGEBOX(\"请输入账号名称\" ,48, \"订单管理系统\") THISFORM.txt账号.SetFocus ELSE
SELECT UserInfo
LOCATE FOR ALLTRIM(账号)=ALLTRIM(THISFORM.txt账号.VALUE)
IF FOUND() .AND. ALLTRIM(密码)=ALLTRIM(THISFORM.txt密码.VALUE) CUser=账号 IsAdmin=管理 THISFORM.RELEASE() DO FORM LOGO ELSE
IF THISRORM.i<3
MESSAGEBOX(\"账号或密码错误,请重新输入\" ,48, \"订单管理系统\")
THISFORM.txt账号.VALUE= \"\"
THISFORM.txt密码.VALUE=\"\" THISFORM.txt账号.SetFocus ELSE
MESSAGEBOX(\"密码错误3次,系统无法启动\" ,48, \"订单管理系统\") THISFORM.RELEASE CLEAR EVENTS QUIT
17
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
ENDIF ENDIF ENDIF SET EXACT OFF
(2)“取消”按钮的Click事件代码 LOCAL YN
YN= MESSAGEBOX(\"确定退出\" ,4+32, \"订单管理系统\") IF YN=6
THISFORM.RELEASE CLEAR EVENTS QUIT ENDIF
3.2 产品信息窗口代码
(1)Unload事件代码如下: IF THISFORM.FormMode=\"cSelect\"
Return THISFORM.Selectedpro ENDIF
(2)DblClick事件代码如下: IF THISFORM.FormMode=\"cSelect\"
THISFORM.SelectedPro=ALLTRIM(THIS.VALUE) THISFORM.Release
ENDIF
(3)Cmdser按钮的Click事件代码如下: SelTJ=\".T.\"
IF .NOT. EMPTY(ALLTRIM(THISFORM.txt产品编号.Value))
SelTJ=SelTJ + \" AND '\" + ALLTRIM(THISFORM.txt产品编号.Value) + \"' $ 编
18
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
号\"
ENDIF
IF .NOT. EMPTY(ALLTRIM(THISFORM.txt产品名称.VALUE)) 名\"
ENDIF
SELECT ProductInfo SET FILTER TO SET FILTER TO &SelTJ THISFORM.Refresh
(4)“退出”代码如下:
YN=MESSAGEBOX(\"确定退出\订单管理系统\") IF YN=6
IF THISFORM.FormMode=\"cSelect\"
THISFORM.SelectedPro=\"0000000000\" ENDIFTHISFORM.Release
SelTJ=SelTJ + \" AND '\" + ALLTRIM(THISFORM.txt产品名称.Value)+ \"' $ 品
ENDIF
3.3客户信息浏览窗口代码 “查询”按钮的Click事件代码:
SelTJ=\".T.\"
IF .NOT. EMPTY(ALLTRIM(THISFORM.txt编号.Value))
SelTJ=SelTJ + \" AND '\" + ALLTRIM(THISFORM.txt编号.Value) + \"' $ 编号\"
ENDIF
IF .NOT. EMPTY(ALLTRIM(THISFORM.txt名称.VALUE))
SelTJ=SelTJ + \" AND '\" + ALLTRIM(THISFORM.txt名称.Value)+ \"' $ 名称\"
ENDIF
IF .NOT. EMPTY(ALLTRIM(THISFORM.txt联系人.VALUE))
19
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
SelTJ=SelTJ + \" AND '\" + ALLTRIM(THISFORM.txt联系人.Value)+ \"' $ 联系人\"
ENDIF
SELECT ClientInfo SET FILTER TO SET FILTER TO &SelTJ THISFORM.Refresh
(2)“打印”按钮的Click事件代码: REPORT FORM ClientInfo Preview FOR &SelTJ 3.4订单信息管理界面设置
(1)“增加”按钮的Click事件代码: SELECT OrderInfo
THISFORM.OldRecord=RECNO() APPEND BLANK
THISFORM.txt下单日期.VALUE=DATE() THISFORM.txt订单总额.VALUE=0 THISFORM.bModify=.T. THISFORM.bBrowse=.T. THISFORM.ModeControl THISFORM.Refresh
(2)“修改”按钮的Click事件代码: SELECT OrderInfo
THISFORM.OldRecord=RECNO() THISFORM.bModify=.T. THISFORM.bBrowse=.T. THISFORM.ModeControl THISFORM.ReFresh
“删除”按钮的Click事件代码: LOCAL YN
YN=Messagebox(\"确定删除\订单管理系统\") IF YN=6
20
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
SELECT OrderInfo DELETE PACK
If Eof() .AND. BOF() OR RECCOUNT()=0 THISFORM.INIT ELSE IF BOF() Skip Else If Eof() SKip-1 EndIF EndIF ENDIF ENDIF
THISFORM.Refresh
“打印”按钮的Click事件代码: REPORT FORM OrderInfo Preview FOR
ALLTRIM(订单编号)=ALLTRIM(THISFORM.txt订单编号.Value) “保存”按钮的Click事件代码: LOCAL OK,YN OK=.T. DO CASE
CASE EMPTY(ALLTRIM(THISFORM.txt订单编号.Value)) MESSAGEBOX(\"订单编号不能为空\订单管理系统\") THISFORM.txt订单编号.SetFocus OK=.F.
CASE EMPTY(ALLTRIM(THISFORM.txt产品编号.Value)) MESSAGEBOX(\"产品编号不能为空\订单管理系统\") THISFORM.txt产品编号.SetFocus
21
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
OK=.F.
CASE THISFORM.txt产品数量.Value=0
MESSAGEBOX(\"产品数量不能为空\订单管理系统\") THISFORM.txt产品数量.SetFocus OK=.F.
CASE EMPTY(ALLTRIM(THISFORM.txt客户编号.Value))
MESSAGEBOX(\"客户编号不能为空\订单管理系统\") THISFORM.txt客户编号.SetFocus OK=.F.
CASE EMPTY(ALLTRIM(THISFORM.txt联系人.Value)) MESSAGEBOX(\"联系人不能为空\订单管理系统\") THISFORM.txt联系人.SetFocus OK=.F.
CASE EMPTY(ALLTRIM(THISFORM.txt联系电话.Value)) MESSAGEBOX(\"联系电话不能为空\订单管理系统\") THISFORM.txt联系电话.SetFocus OK=.F. EndCase IF OK=.T.
YN=MESSAGEBOX(\"确定保存记录\订单管理系统\") IF YN=6
SELECT OrderInfo IF TABLEUPDATE(.F.)=.F.
MESSAGEBOX(\"订单编号错误\订单管理系统\") THISFORM.txt订单编号.SetFocus Else
THISFORM.bModify=.F. THISFORM.bBrowse=.F. THISFORM.ModeControl EndIf
22
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
EndIf
THISFORM.MonthView.Visible=.F. THISFORM.Refresh ENDIF
“取消”按钮的Click事件代码: Local OK
YN=MESSAGEBOX(\"确定取消\订单管理系统\") IF YN=6
SELECT OrderInfo TABLEREVERT(.F.)
IF BOF() .AND. EOF() OR RECCOUNT()=0 THISFORM.INIT ELSE
GO THISFORM.OldRecord THISFORM.bModify=.F. THISFORM.bBrowse=.F. THISFORM.ModeControl ENDIF
THISFORM.MonthView.Visible=.F. THISFORM.Refresh EndIf
3.3系统使用说明书
使用本系统时,进入登录界面,初始用户名为 “admin”,密码为:“admin” 点击“我要登陆”,进入主控界面窗口。点击“退出”菜单可退出系统。
23
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
参考文献
[1]《Visual FoxPro数据库应用实例完全解析》 贾凤波 杨树青 杨玉顺 编著 人民邮电出版社 2006年8月第1版
[2]《数据库应用基础 Visual FoxPro6.0应用与开发技术》 秦卫平 耿植林 方娇莉 郑陵潇 编著 重庆大学出版社
24
因篇幅问题不能全部显示,请点此查看更多更全内容