企业订单管理系统论文Word下载.docx
《企业订单管理系统论文Word下载.docx》由会员分享,可在线阅读,更多相关《企业订单管理系统论文Word下载.docx(47页珍藏版)》请在冰点文库上搜索。
1.4开发环境
硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。
由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济,只要配备PII/266以上的就可以。
软件平台是指系统开发与运行的软件环境。
本系统在开发时选用了稳定性较强的WindowsXP中文专业版和VisualFoxpro6.0作为开发语言,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。
VisualFoxPro是一种最为实用的数据库管理系统和数据库应用系统开发工具,它为数据库结构和应用程序的开发提供了功能强大的面向对象的设计环境。
无论是组织信息、进行查询、创建集成的关系型数据库系统,还是终端用户编写功能全面的数据管理应用程序,VisualFoxPro都可以提供管理数据所需的所有工具。
2、构造模型
3、业务流程
4、数据流程;
产品信息数据流程图;
用户信息数据流程图;
订单洗洗数据流程图:
二、系统设计
1.1系统调查与可行性研究
实事求是地进行全面系统调查是管理信息系统分析和设计的基础,其工作的质量对整个管理信息系统开发工作的成败起着决定性作用。
系统调查原则是指在系统调查过程中应始终坚持的方法、做法或指导思想,对于确保调查工作客观、顺利地进行是至关重要的。
可行性研究是一个综合的概念,他是一门运用多学科的知识,寻求使开发的管理信息系统达到最佳经济效果的综合研究方法。
可行性研究的任务可以概括为对一个拟开发的管理信息系统,在做出决策之前,全面论证该管理信息系统项目开发的必要性、可能性、有效性和合理性。
其内容是通过调查研究,全面分析与管理信息系统项目有关的因素,组合设计出多个可能的方案,并对各个方案的经济效果进行分析,最后评选最优方案和最佳时机,为决策者提供决策依据。
可行性研究的作用就在于保证决策者在其所追求的目标中,能够有效地利用现有的人力、物力和财力等资源,从而达到预期的效果。
企业订单管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
因此本工作组结合企业订单的要求,对VisualFoxpro数据库管理系统、SQL语言原理进行了较深入的学习和应用,主要完成对企业订单管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
系统运行结果证明,本次所设计的系统可以满足企业对订单管理录入、浏览、打印等方面的需求。
1.2系统需求分析
系统分析的概念:
系统分析解决管理信息系统干什么的问题,描述了管理信息系统的与功能。
系统分析阶段需要对管理信息系统的问题进行调研和分析:
(1)确定新系统的目标。
(2)系统的总体结构描述。
(3)子系统功能描述。
(4)子系统数据分析。
(5)数据输入输出描述。
(6)确定技术性能指标,包括可靠性、安全保密性、适用性、可维护性和可移植性。
(7)优化业务处理流程和数据流程,定义经济数学算法和模型,最后产生子系统模块功能表、数据流程图、输入/处理/输出表(IPO)、数据字典等系统分析文档。
(8)确定计算机系统配置,计算机网络技术方案。
结构化系统分析的特点是:
(1)建立面向用户的观点,用户自始至终要参与系统的开发。
(2)加强调查药酒和系统分析。
(3)逻辑数据和物理数据分开进行设计。
(4)层次分解。
(5)采用图形化建模工具。
根据上面的描述,企业订单管理系统主要完成的功能包括:
·
系统登录控制。
必须使用用户名和密码登录后才能使用系统。
产品信息管理。
管理订单中所使用的产品信息,可以浏览、增加、修改和删除产品信息。
客户信息管理。
管理下订单时客户信息,可以浏览、增加、修改和删除客户信息。
订单信息管理。
管理订单信息,可以浏览、增加、修改和删除订单信息,在增加订单时需要使用的产品信息和客户信息必须首先通过产品信息管理和客户信息管理功能添加。
客户信息浏览。
浏览系统中所有的客户信息,可以使用指定的关键字查询相应的客户,并且可以使用报表的形式将查询结果输出。
产品信息浏览。
浏览系统中所有的产品信息,可以使用指定的关键词查询相应的产品,并通过报表的形式将查询结果输出。
用户权限管理。
本系统中实现了简单的用户权限管理,普通用户仅能修改密码,而管理员用户则可以添加、修改、删除用户。
1.3系统模块设计预览
系统设计的概念:
系统设计解决管理信息系统怎么干的问题,对管理信息系统进行总体设计和详细设计。
系统设计的内容:
子系统功能模块设计、编码设计、输入设计、输出设计、数据库设计、系统可靠性设计、系统安全性和保密性设计、与其他系统的接口设计和与外部系统的连接设计。
系统设计的根本目的是设计一个灵活的、具有可维护性的管理信息系统,为下一阶段的系统实施和程序编制做好充分准备。
结构化系统设计方法的基本特点:
(1)由问题结构导出系统结构,即问题结构与系统结构相对应。
(2)通过层次分解来简化系统。
(3)运用了一系列图表工具。
(4)提供了一系列系统策略。
(5)提供了一组评价系统设计质量的准则。
系统功能模块图:
2、系统流程:
企业订单管理系统分为:
信息管理模块、用户管理模块和信息浏览模块。
而信息管理模块中,“产品信息管理”可以通过“首记录”、“上一个”、“下一个”和“末记录”按钮移动窗口中的记录指针,也可以增加、修改和删除记录,同时可以将窗口中当前记录通过报表输出。
“客户信息管理”可以分条浏览客户信息,可以增加、修改、删除记录,也可以打印当前记录。
“订单信息管理”可以浏览、增加、删除和打印订单信息记录。
信息浏览模块中的“客户信息浏览”可以查看系统中所有的客户信息,可以指定相应的关键字查看特定的客户,还可以通过单击该窗口中的打印按钮将窗口显示的记录通过报表的形式打印输出。
用户管理模块中的“添加用户”用来输入用户名、姓名、部门、密码和确认密码,选择是否赋予用户帐号管理的权限,单击“确定”按钮即可完成一个新的用户的添加。
“修改用户”即可对该用户的信息进行修改,修改完成后单击“确定”按钮保存修改
3、程序流程
4、代码及数据库设计(包括输入、输出及保存)
4.1数据库结构设计
数据库的概念结构设计完毕后,要将上面的数据库概念结构转化为VisualFoxPro所支持的实际数据模型,也就是数据库的逻辑结构。
在此可以直接使用VisualFoxPro自带的数据库。
产品信息表(ProductInfo)
字段名
类型
宽度
可否为空
默认值
说明
编号
字符型
8
否
主索引
品名
40
单位
10
单价
数值型
1位小数
类别
20
产地
可
100
客户信息表(ClientInfo)
主索引字段
名称
联系人
地址
邮编
6
电话
12
设计好数据库的结构后,可以创建数据库了。
使用VisualFoxPro开发应用程序时使用项目管理器可以更好的管理应用程序开发,要使用项目管理器,求要首先创建一个项目。
4.2创建可视化类
在系统中,信息管理模块中所使用的表单中都使用到了移动记录工具栏和命令按钮工具栏,如果分别添加,其属性设置是很繁琐的工作。
因此,在系统中采用首先创建可视类,然后在表单创建可视类的对象的方法,这样即可以减少工作量,又可以保证风格的统一。
在系统中共需要创建“移动记录工具栏”和“命令按钮工具栏”两个类。
4.2.1创建“移动记录工具栏”类
在VisualFoxPro中,创建可视类包括设定可视类的外观,给可视类添加属性和添加代码。
其中最主要是设定可视类的外观,属性的添加视情况而定,而代码则只需要添加通过的代码即可,因为将可视类对象化后可视类可能无法正常工作,因此还需要重新添加。
创建移动记录工具栏类需要创建可视类的外观和添加代码。
“移动记录栏”类属性设置
控件名称
属性
属性取值
MoveRecord
Button
4
可视类中按钮的个数
Height
可视类的高度
Width
320
可视类的宽度
按钮
FontBold
.T.
按钮标题的字体是否为粗体
FontName
楷体GB_2312
按钮标题的字体名称
FontSize
14
按钮标题的字体大小
FontColor
0,0,225
按钮标题的字体颜色
30
按钮的高度
65
按钮的宽度
CmdTop
Caption
首记录
按钮提示信息
ToolTipText
到第一条记录
按钮的标题
CmdPre
上一个
到上一条记录
CmdNxt
下一个
到下一条记录
CmdBtm
末记录
到最后一条记录
以上是“移动记录工具栏”类的属性,在可视类中设置类的“ButtonCount”属性为4,并修改类及类中按钮的属性。
“移动记录工具栏”类
“首记录”按钮的“Click”代码:
GOTOP&
&
到首记录
THISFORM.REFRESH&
刷新表单
单击“上一个”按钮时,首先判断表单中数据记录指针是否到了数据表首部,如果不是则将表单中数据记录指针移动到当前记录的上一个位置,并刷新表单,“上一个”按钮的“Click”代码:
*如果到了数据表首部
IFBOF().OR.RECNO()=1
MessageBox("
已到首记录"
48,"
移动记录"
)
ELSE
*如果数据指针不位于数据表首部
SKIP-1
ENDIF
*刷新表单
THISFORM.REFRESH
单击“下一个”按钮时,首先判断表单中数据记录指针是否到了数据表尾部,如果没有则将表单中数据记录指针移动到当前记录的下一个位置,并刷新表单,“下一个”按钮的“Click”代码:
*如果记录指针位于数据表末尾
IFEOF()orRecNO()=RecCount()
已到末记录"
*如果记录指针不位于数据表末尾
ELSE&
记录指针下移
SKIP
THISFORM.REFRESH()
单击“末记录”按钮时,表单中数据记录指针移动到数据表的最后一条记录,并刷新表单。
添加“末记录”按钮的“Click”代码:
GOBOTTOM&
到数据表末尾
THISFORM.REFRESH&
系统“移动记录工具栏”类中的4个按钮设定根据表单中数据记录指针的位置不同,禁用或者启动不同的按钮,具体如下。
数据表为空或者只有一条记录:
禁用所有4个按钮。
记录指针位于数据表开始:
禁用“首记录”、“上一个”按钮。
记录指针位于数据表末尾:
禁用“末记录”、“下一个”按钮。
记录指针位于数据表中部:
启动所有4个按钮。
根据如上所述的设计,只需要将判断及操作代码添加到“移动记录工具栏”类的“Refresh”事件中即可,具体代码:
*如果数据表为空或者只有一条记录
IFBOF().AND.EOF().OR.RECCOUNT()=1
THIS.Cmdtop.ENABLED=.F.
THIS.Cmdpre.ENABLED=.F.
THIS.Cmdnxt.ENABLED=.F.
THIS.Cmdbtm.ENABLED=.F.
*如果在记录指针在数据表的末尾
IFRECNO()=RECCOUNT().OR.EOF()
THIS.Cmdtop.ENABLED=.T.
THIS.Cmdpre.ENABLED=.T.
*如果记录指针在数据表的首部
IFRECNO()=1.OR.BOF()
THIS.Cmdnxt.ENABLED=.T.
THIS.Cmdbtm.ENABLED=.T.
ELSE
*如果记录指针不在数据表的首部也不在尾部
ENDIF
需要注意的,当表单的数据环境中只有一个数据表时是可以正常运行的,但是当表单的数据环境中有多个数据表时,还需要指定工具栏操作的工作区。
2.2.2创建“命令按钮工具”类
“命令按钮工具栏”类主要用于创建可视类的外观,由于在表单中创建可视类的对象后,类中的各个按钮的操作的对象不同,因此“命令按钮工具栏”类中的按钮的代码要等到创建可视类的对象后再添加。
“命令按钮工具栏”类属性设置
AdminButton
7
280
70
15
0,0,255
50
CmdAdd
增加
增加新记录
CmdMod
修改
修改当前记录
CmdDel
删除
删除当前记录
CmdPri
打印
打印当前记录
CmdSave
保存
保存修改
CmdCcl
取消
取消修改
CmdExit
退出
退出当前窗口
当鼠标移动到按钮上方时,鼠标指针要使用自定义鼠标指针,因此也要添加该类的按钮的“MouseMove”事件:
LPARAMETERSnButton,nShift,nXCoord,nYCoord
This.MousePointer=99
This.MouseIcon=SYS(5)+"
h_point.cur"
下图为“命令按钮工具栏”的效果图:
“命令按钮工具栏”类
由于“命令按钮工具栏”类在各个表单中的效果相同,即可首先弹出一个确话框,如果确认则退出当前表单,因此“退出”按钮的“Click”事件代码可以在类中添加,这样在创建类的对象后在表单中就不需要每个表单添加一次了。
添加“退出”按钮的“Click”事件代码:
LOCALYN&
声明本地变量
*确认对话框
YN=MESSAGEBOX("
确定退出"
4+32,"
订单管理系统"
IFYN=6&
如果确认
THIS.PARENT.PARENT.RELEASE
4.2.2创建系统主表单
系统中使用.PRG程序作为主程序,由该程序设置运行的环境,并调用系统登录表单,登录后显示系统Logo表单,然后是系统的主表单,再由系统主表单调用其他表单实现系统提供的各个功能。
4.2.3创建系统主程序
主系统是程序的入口,其作用是设置程序的运行环境,定义变量、常量。
然后进行调用其他的表单,在系统中使用.PRG程序作为系统主程序,其主要功能包括。
系统环境设置。
避免多次运行程序。
声明全局变量。
调用登录表单。
进入事物处理。
系统中的主程序代码:
*——系统环境设置
CLEAR
CLEARALL
SETESCAPEOFF&
禁止运行的程序在按ESC键被中断
SETTALKOFF&
关闭命令显示
SETSAFETYOFF&
覆盖时不要确认
SETSTATBAROFF&
将状态栏关闭
SETSYSMENUOFF&
可关掉VFP系统菜单区域
SETSYSMENUTO&
关闭系统菜单
SETCENTURYON&
显示四位年代
SETDATEANSI&
指定日期表达式的显示格式为yy.mm.dd
*——避免多次运行程序
*——声明API函数“FindWindow”
DECLAREIntegerFindWindowINUSER32.DLLStringlpClassName,StringlpWindowName
lpWindowName="
IF.NOT.FindWindow(0,lpWindowName)==0&
寻找窗口标题
=MESSAGEBOX("
程序已经运行了"
QUIT
_Screen.Caption=lpWindowName
*——声明全局变量
PUBLICcUser,IsAdmin&
声明全局变量,用来保存系统中的登录用户
*——调用登录表单
DOFORMLogon&
显示登录表单
*——进入事物处理
READEVENTS&
进入事务处理
2.3.2隐藏VisualFoxPro主窗口
将项目连编成可执行程序后,程序启动后会首先显示VisualFoxPro的主窗口,然后才会执行程序代码,这显得非常不美观,因此有必要隐藏VisualFoxPro主窗口。
在VisualFoxPro的命令窗口中输入命令“MODIFYFILEConfig.fpw”,在打开的文本编辑器中输入“SCREEN=OFF”,然后按Ctrl+W存盘退出,最后将文件Config.fpw添加带项目管理器的“其他”选项卡的“其他文件”中。
这样将项目连编成可执行程序后,即可隐藏VisualFoxPro主窗口。
注意:
将VisualFoxPro主窗口隐藏后,主程序调用的第一个表单的“ShowWindow”属性值必须设置为“2-作为顶层表单”,否则该表单将一同被隐藏了,程序无法显示出任何界面,但是进程仍然残留在系统中。
2.3.3设计系统主菜单
系统中所有信息管理、浏览功能都是通过系统主表单中的菜单来调用的,而且系统中所实现的简单拥护权限管理也是通过菜单来实现的,因此系统中的系统主菜单是比较重要的。
系统主菜单结构
菜单
菜单项
结果
命令
跳过条件
信息管理
(\<
I)
产品信息管理(\<
P)
DOFORMProAdmin
客户信息管理(\<
C)
DOFORMClienAdmin
订单信息管理(\<
DOFORMOrderAdmin
信息浏览
B)
客户信息浏览(\<
DOFORMClientSelect
With“cBrowse”
DOFORMProSelect
Wi