订单管理系统文档

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

订单管理信息系统一、系统概述(一)系统开发及应用背景随着社会经济的发展,社会的信息化程度越来越高,中小企业在信息化的过程中担任了很重要的角色,其信息化速度也较快。随着企业的发展,其对信息化的要求也越来越高,因此有必要使用一个完整的系统来管理企业的各种信息数据本次课程设计中我们小组通过开发一个完整的小型订单管理系统来帮助企业制定和开发一份企业管理信息系统,订单管理系统的总体任务是实现与订单相关的各种信息的系统化、规范化和自动化。(二)、系统设计思想设计中创建“订单管理系统”的主要目的是实现对订单信息的管理,然而规划订单管理必然会涉及下订单的客户,以及订单中所涉及的产品,因此在系统中需要添加客户信息滚利和产品信息管理的功能。一个信息管理系统必然由一定的用户来操作,要保证信息管理系统中信息正确,需要对能够操作信息的用户进行管理,因此在操作中添加了用户管理的功能。信息管理系统中管理各种信息的目的是在于日后能够对系统中的信息进行浏览、查询和输出,因此在系统中添加了信息浏览的功能。因此,一个简单而完整的订单管理系统至少应该包含本系统中设计的信息管理、信息浏览和用户管理3类功能。二、系统调查(一)系统目标及功能在本次课程设计中,我们小组确定开发的订单管理信息所要完成的的功能有:1.系统登录控制,必须使用特定的用户名和密码登录系统才能使用系统。2.产品信息管理,管理订单所使用的产品信息,可以浏览、增加、修改和删除产品信息。3.客户信息管理,管理下订单时客户的的信息,可以浏览、增加、修改和删除客户信息4.订单信息管理,管理订单的信息,可以浏览、增加、修改和删除订单信息,在增加订单时需要使用的产品信息和客户信息必须首先通过产品信息管理和客户信息管理功能添加。5.客户信息浏览,浏览系统中所有的客户信息,可以使用制定的关键字来查询相应的客户,并且可以使用报表的形式将查询结果输出。6产品信息浏览,浏览系统中所有的产品信息,可以使用制定的关键字查询相应的产品,并且可以使用报表的形式将查询结果输出。7.用户权限管理,本系统中是吸纳了简单的用户权限管理,普通用户仅能修改密码,而管理员则可以添加、修改、删除用户。(二)系统功能模块划分根据上述的系统功能分析,可以得出如图1-1所示的系统功能模块图订单管理系统信息管理模块用户管理模块信息浏览模块产品信息管理客户信息管理订单信息管理添加用户修改用户修改密码删除用户用户登录产品信息浏览客户浏览三、系统分析与设计(一)数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该充分了解用户各个方面的需要,包括现有的及将来可能增加的需求。数据库设计一般包括如下几个步骤。数据库需求分析数据库概念结构设计数据库逻辑结构设计(二)数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的设计打下基础。通过上述系统功能分析,正对一般客户管理信息系统的需求,总结出如下的需求信息。订单信息涉及产品信息和客户信息。产品信息和客户信息中需要存在唯一字段。产品信息和客户信息可以按几种常用的信息查询。产品信息、客户信息、订单信息应该可以增加、修改、删除和打印输出。用户信息中的用户名必须是唯一的。用户信息中必须包含权限信息。经过上述系统功能分析和需求总结,我们考虑到将来功能上的扩展,涉及如下面所示的数据项和数据结构。产品信息,包含编号、品名、单位、单价、类别、产地以及说明等。客户信息,包含编号、名称、联系人、电话、地址、邮编等。订单信息,包含订单编号、产品编号、产品数量、客户编号、联系人、联系电话、送货地址、下单日期以及说明等。用户信息,包含账号、密码、姓名、部门以及管理等。(三)数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。本次课程设计中,根据上面的设计规划处的实体有:订单信息实体、客户信息实体、产品信息实体,以及用户信息实体,各实体具体的描述E-R图如下。“订单信息”、“客户信息”和“产品信息”实体之间的E-R图如图1-2“订单信息”实体的E-R图如图1-3所示订单信息订单编号订单总额下单日期客户编号产品编号产品信息订购客户信息订单信息“产品信息”实体的E-R图如图1-4所示“客户信息”实体的E-R图如图1-5所示客户信息编号名称联系人地址产品信息编号品名单位单价“用户信息”实体的E-R图如图1.6所示(四)数据库逻辑结构设计数据库的概念结构设计完毕后,就可以将上面的数据库概念结构转化为实际数据模型,也就是数据库的逻辑结构。使用VisualFoxPro开发直接使用其自带的数据库,订单管理系统中使用的各个数据表的字段设置如下。用户信息表(UserInfo)的字段设置如表1-1所示。用户信息账号密码姓名部门权限产品信息表(ProductInfo)的字段设置如表1-2所示客户信息表(ClientInfo)的字段设置如表1-3所示订单信息表(OrderInfo)的字段设置如表1-4所示(五)创建订单管理信息系统项目在VisualFoxPro项目主窗口中选择【文件】中新建命令,选择新建项目OFA。项目创建后即可打开项目管理器,如表单1-1所示。四、程序设计(一)创建可视化类信息管理模块中所使用的表单中都使用到了移动记录工具栏和命令按钮工具栏,若分别添加,其属性和代码将是一件很繁琐的事,因此在本次课程设计中将首先创建可视类,然后在表单中添加创建的可视化类,就减少了工作量,又保证了组员间风格的一致。在本次试验中共需创建“移动记录工具栏”类和“命令按钮工具栏”这两个类。1、创建“移动记录工具栏”类(1)创建可视类打开项目管理器,切换到“类”选项卡,单击该选项卡的新建,在“新建类”对话框的“类名”文本框中输入可视化类的名称“MOVERECORD”,在“派生于”下拉列表框中选择要新建的基类“COMMANDGROUP”,单击“存储于”文本框右侧的按钮,打开“另存为”对话框,选择存储位置,以及可视类库的名称,并将可视类库命名为“ADMINBUTTON”设置完毕后,单击“确定”就完成了可视类的创建,打开了类设计器。在可视化类中设置类的“BUTTONCOUNT属性值为4,并修改类及类中按钮的属性如表1-5所示。“移动记录工具栏”类的属性设置控件名称属性属性取值moverecordbutton4height40width320按钮Frontbold.T.Forecolor0,0,255Height30width65cmdtopCaption首记录tooltiptext到第一条记录cmdpreCaption上一个tooltiptext到上一条记录CmdnxtCaption下一个tooltiptext到下一条记录cmdbtmCaption末记录tooltiptext到最后一条记录可视化类“移动记录工具栏”及其中的控件后,可视类的效果如下图1-7(2)添加代码在本次实例中当鼠标移动到按钮上方时鼠标指针变为自定义形状,这需要在按钮的“MOUSEMOVE”事件中添加代码来指定鼠标的指针形状,代码如程1.1所示LPARAMETERSnButton,nShift,nXCoord,nYCoordThis.MousePointer=99&&鼠标指针为自定义形状This.MouseIcon=SYS(5)+h_point.cur&&指定鼠标的指针“首记录”按钮的click代码GOTOP&&到首记录THISFORM.REFRESH&&刷新表单“移动记录工具栏”类中的“上一个”按钮的click代码如程1.2所示*如果到了数据表首部IFBOF().OR.RECNO()=1MessageBox(已到首记录,48,移动记录)ELSE*如果数据指针不位于数据表首部SKIP-1ENDIF*刷新表单THISFORM.REFRESH“移动记录工具栏”类中的“下一个”按钮的click代码如程1.3所示*如果记录指针位于数据表末尾IFEOF()orRecNO()=RecCount()MessageBox(已到末记录,48,移动记录)*如果记录指针不位于数据表末尾ELSE&&记录指针下移SKIPENDIF*刷新表单THISFORM.REFRESH()“末记录”按钮的click代码如程1.4所示GOBUTTOM&&到数据末尾THISFORM.REFRESH&&刷新表单“移动记录工具栏”类中的4个按钮设定是,根据表单中数据记录指针的位置不同,禁用或者启用不同的按钮,所以需将判断及操作代码添加到“移动记录工具栏”类的“refresh”事件中,具体代码如程1.5所示*如果数据表为空或者只有一条记录IFBOF().AND.EOF().OR.RECCOUNT()=1THIS.Cmdtop.ENABLED=.F.THIS.Cmdpre.ENABLED=.F.THIS.Cmdnxt.ENABLED=.F.THIS.Cmdbtm.ENABLED=.F.ENDIF*如果在记录指针在数据表的末尾IFRECNO()=RECCOUNT().OR.EOF()THIS.Cmdtop.ENABLED=.T.THIS.Cmdpre.ENABLED=.T.THIS.Cmdnxt.ENABLED=.F.THIS.Cmdbtm.ENABLED=.F.ELSE*如果记录指针在数据表的首部IFRECNO()=1.OR.BOF()THIS.Cmdtop.ENABLED=.F.THIS.Cmdpre.ENABLED=.F.THIS.Cmdnxt.ENABLED=.T.THIS.Cmdbtm.ENABLED=.T.ELSE*如果记录指针不在数据表的首部也不在尾部THIS.Cmdtop.ENABLED=.T.THIS.Cmdpre.ENABLED=.T.THIS.Cmdnxt.ENABLED=.T.THIS.Cmdbtm.ENABLED=.T.ENDIFENDIF这样,“移动记录工具栏”类就创建完毕!2、创建“命令按钮工具栏”类由于前面已详细介绍了“移动记录工具栏”类的创建,这里就不再一一介绍了,按照之前我们设想设置好类及按钮的属性后,“命令按钮工具栏”类的效果如图1-8与“移动记录工具栏”类相同,当鼠标移动到按钮上方时,鼠标指针要使用自定义鼠标指针,所以也要添加该类中的按钮的“mousemove”事件代码如上。由于“命令按钮工具栏”类在各个表单中的效果相同,即可首先弹出一个确认话框,如果确认则退出当前表单,所以退出按钮的“click”事件代码如程1.6所示LOCALYN&&声明本地变量*确认对话框YN=MESSAGEBOX(确定退出,4+32,订单管理系统)IFYN=6&&如果确认THIS.PARENT.PARENT.RELEASEENDIF至此,“命令按钮工具栏”类创建完成。(二)创建系统主表单本次课程设计中,使用.PRG程序作为主程序,由该程序设置运行的环境,并调用系统登录表单,系统通过后显示系统LOGO表单,然后再试系统主表单,再由系统主表单调用其他表单完成系统提供的各个功能。1、创建系统主程序主程序是所编写的程序的入口,其作用是设置程序的运行环境,定义变量、常量,然后调用其他的表单,其代码如程1.7所示*——系统环境设置CLEARCLEARALLSETESCAPEOFF&&禁止运行的程序在按ESC键被中断SETTALKOFF&&关闭命令显示SETSAFETYOFF&&覆盖时不要确认SETSTATBAROFF&&将状态栏关闭SETSYSMENUOFF&&可关掉VFP系统菜单区域SETSYSMENUTO&&关闭系统菜单SETCENTURYON&&显示四位年代SETDATEANSI&&指定

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功