毕业设计(论文)谈商场管理系统在vfp中的实现.doc
毕 业 论 文(设 计)课题名称 谈商场管理系统在VFP中的实现 学 院 信息电子技术学院 专 业 计算机科学与技术 班 级 指导教师教 学生姓名 佳 木 斯 大 学 教 务 处摘要本论文主要说明了本软件是基于Visual FoxPro数据库管理系统而开发的商场管理系统,能实现商场管理中用户的部分需求。其界面友好、使用方便、功能强大,具备添加记录、插入记录、查询记录、浏览记录、打印浏览、打印修改、日志、帮助等等功能。以上功能使商场管理从往日的繁杂的工作量中解脱出来,通过人机交互解决商场管理中的问题。本商场管理系统中还涉及到了人员的管理,是通过人员的负责区域与合同签订的关系来实现的。本软件采用友好界面开发出来的,以菜单和工具栏做为用户操作的主要方式,且本系统在安全性方面有很好的展现,用户的权限有一定的规定。通过本论文把整个软件开发过程以软件工程的思想展现给大家,有不足之处请多多指正。关键字:DB;DBMS;商场管理系统;数据字典。AbstractThis paper important show this software am base on Visual FoxPro DBMS and that employer emporium manage system software, this can come true in the emporium manage system users part demand, he interface amity, use convenience, function mightiness, that have append record, insert record, query record, browse record, print browse, modify print, log, help etc. Upwards functions employ emporium manage from in former days of multifarious of workload suffer disentangle; get across man/machine alternation settle issue of emporium manage. This emporium manage system also come down to personnels manager, that am get across personnels answer for area and barged connection of autograph implement. This software exhibits amity interface employer come out, menu and toolbar does mostly mode of user operational, this system at security as pact have good exhibit, users popped have definite prescribe. Get across this paper will entire software employer process as well as software engineering idea lie tip everybody, have lack please point out mistakes so that they can be corrected.Keyword:DB;DBMS;emporium manage system;Data dictionary.1 前 言 近10年来,我国的计算机应用事业不仅在教学科研和工程技术等各个专业领域飞速发展,而且在经济、商业、金融、信息、管理和社会生活等更为广泛的领域全面蓬勃地发展起来,告别是在信息管理方面和因特网技术,使pc微型计算机获得了新的生命。由于计算机技术的发展和数据库管理系统的出现,使得计算机系统的应用从军事和科学计算领域逐步扩展到社会的各个领域为计算机的普及打开了一个崭新的局面。目前各种类型的计算机已经广泛的应用于情报检索系统,办公信息系统,银行信息系统,图书管理系统,人事档案管理系统,财务管理系统等各种企事业管理信息系统中。管理信息系统是计算机应用最广泛的领域,占计算机应用的70%80%。数据库系统已迅速发展成为一个非常重要的分支。数据库理论技术和应用等方面在不断的完善和发展,它在管理信息系统中具有较强的生命力并得到广泛的应用。管理信息系统中,关键的问题是如何对系统的大量数据进行有效,合理的存储和处理为用户准确,快捷的提供所需要的信息。数据库技术就是为了解决这一问题而产生和发展起来的。 Visual FoxPro是一种可视化的关系数据库管理系统。从1983年Ashton-Tata公司首先推出第一个功能较强的数据库管理系统dBASEII产品相继经历了dBASEIII,dBASEIV,dBASEV。由于dBASE运行速度慢,图形不足原因,1987年Fox Software推出了FoxBASE+1.00等版本。对dBASE产品系列完全兼容。1987年对推出FoxPro 1.00后,FoxPro2.0,2.5等版本相继出现。Visual FoxPro6.0是相对高的版本,功能,效果都有明显的优越性。 本软件是基于Visual FoxPro数据库管理系统而开发的商场管理系统,包含个数据库和个表单,能实现商场管理中用户的大部分需求。其界面友好、使用方便、功能强大,具备添加记录、插入记录、查询记录、浏览记录、打印浏览、打印修改、帮助等功能。以上功能使商场管理从往日的繁杂的工作量中解脱出来,通过人机交互解决商场管理中的问题。本商场管理系统中还涉及到了人员的管理,是通过人员的负责区域与合同签订的关系来实现的。本软件设计将软件工程、数据库设计和开发工具使用等知识融入其中。通过面向世界对象设计思想,模拟整个商场管理系统的开发过程。数据库应用系统可分为以数据为中心和以处理为中心根据的两类。前者以提供数据为目的,重点在数据采集、建库及数据库维护等工作,这些工作都是非常重要和必要的。后者虽然也包含这些内容,但重点是使用数据,即进入查询、统计、打印报表等工作其数据量比前者小得多,但这却是数据库系统的基本方法。以处理为中心的数据库应用系统适用于一般企事业单位,本论文以这类系统的开发方法介绍商场管理系统的实现过程。 为了描述的更为清晰,采用图解的方法给大家介绍。由图1.1可知,整个开发活动从对系统的需求分析开始,系统需求包括对数据和需求和对应用功能的需求两方面内容。图中把前者称为数据分析,后者称为功能分析,它们分别是数据库设计和应用程序设计的依据。实际上在以处理为中心的应用系统中,这两方面的需求是相互制约的。具体的说,应用程序设计时将受到数据库当前结构的约束;而在设计数据库的时候,也必须考虑为实现功能所进行的数据处理的需要。确定需求必须建立在调查研究的基础上,包括访问用户,了解人工系统模型,采集和分析有关资料等工作。需求分析结束后,就可以分别进行数据库设计和应用程序设计,后者通常包括“确定总体结构à模块设计à编码调试”等内容。 这两项工作完成后系统应投入试运行,即把数据库文件连同有关的应用程序一起装入计算机,从而考察它们在各种应用中能否达到预定的功能和性能需求,若不能满足要求,还需返回前面的步骤再次进行需求分析或修改设计,试运行阶段一般只装入少量数据,待确认没有重大问题后再正式装入大批数据,以免导致较大的返工。试运行的结束标志着系统开发的基本完成,但是只要系统还在使用,就可能常需要调整和修改,也即还须做好系统的“维护”工作,这包括纠正错误和系统改进等。需求分析数据分析功能分析数据库设计应用程序设计系统试运行(联调)满意否系统运行与维护NY 图1.1 数据库应用系统开发示意图2 开发工具简介这一章中主要介绍系统开发背景以及系统开发工具的选择。任何一个系统都有其开发背景与开发工具,知道开发背景就知道了为什么开发这个软件,知道了开发工具,就知道了如何去开发这个软件,只有具备这两个条件,才是开发软件的开始,下面分别介绍这两个方面。2.1 开发背景 我是佳木斯大学、信息电子技术学院、2001级计算机科学与技术专业的学生,在这即将告别母校的时刻,学校要求以毕业设计和毕业论文来衡量这几年来的学习成果,为了给母校交上这几年来学习成果的满意答卷,我以“谈商场管理系统在VFP中的实现”做为我这次论文答辩的题目,并为这次论文的准备以及研发过程,走访了许多的大小商场,从中取得了一些经验和设计的方法、思路,对我以后的设计提供了很大的帮助。本商场管理系统并不以某一具体商场为例,而是综合众家商场的经营念,以本人的思想做为自己的商场管理而开发的数据库管理系统。在此基础上,我开始了开发工具的选择,并进行了系统的分析,包括需求和可行性分析以及系统的逻辑模型,在些基础上进系统的规划。除此之外,根据本商场管理系统的功能分析阶段,制定了一个开发计划,对实施的各个阶段有计划的进行。2.2 开发工具的选择本商场管理系统采用VFP6.0做为开发的平台,因为它具有很多的优点,是一个比较优秀的数据库开发系统软件。Visual Foxpro(简称VFP)是微软公司Visual系列软件的新成员。自1994年发表Foxpro2.6以后,微软公司又在1995年12月和1997年1月相继发表了VFP3.0和VFP5.0作为Foxpro的升级产品。前者在windows3.x平台上工作,后者在Windows95环境中工作。与Foxpro相比,VFP的最大特点是张了面向对象的编程思想,支持可视化的编程技术。Windows应用程序的窗口和对话框中常常包含大量控制对象。Foxpro为这些控制对象提供了多种定义命令,但这些命令一般都含有大量命令子句,用它们编程不仅繁琐而且费时。为了减轻编程的工作量Foxpro2.5提供了屏幕生成器等辅助设计工具,通过用工具自动生成屏幕格式程序,向用户初步展示了以控制对象为处理单元的面向对象的程序设计思想。Visual Foxpro 则将Visual系列软件的可视化编程技术引入Foxpro中,将传统的逐一用命令来定义控制对象的作法,简化为“表单设计器”通过表单设计器既可以创建新表单,也可以修改已有的表单.这样,建立应用程序的第一步便可归结为创建表单。VFP的另一重要改进,是在库文件上面增加一层数据库,形成数据库的新概念。在传统的Xbase数据库中,第张二维表都是一个库文件,也是一个独立的数据库。当操作的数据涉及多个库文件时,须利用“关联”命令将多个库文件从不同工作区临时连接起来,待操作结束再去掉关联。在VFP中,数据库的概念扩充为由若干相关的二维表,表间关系和内部程序(VFP把它们称为存储过程Stored Procedure)的集合,使这些相关的数据和把数据库文件称为“表”(Table),把相关表的集合称为“数据库”(Database),而不属于任何数据库的表称为“自由表”(Free TAble)。表和数据库分别使用.DBF和.DBC为扩展名。在对表进行定义 时,同时定义各表之间的关联,并人作为“永久关系”存储在.DBC文件中。在使用数据库时,永久关系随表的打开面打开,用户可利用这种关系快速地访问分散于不同表中的数据而同时保证信息的完整性。按照建立数据库应用系统的理论,要开发一个数据库应用系统,首先要设计出合理的数据库文件。VFP引入的数据库新概念,使程序员在开始建库前就要确定一个应用系统须包含多少张表,各表之间应建立什么样的永久关系,这不仅有助于建立结构合理的数据库,也便于程序员养成重视数据库结构设计的良好习惯。除此之外,VFP还直接支持客户机/服务器结构,从而为它在网络环境下的应用创造了便利。由此可见,从发展趋势看,VFP必然成为数据管理系统的有利开发软件。Visual FoxPro除具有数据共享,减少数据冗余具有较高的数据独立性和为加强反对数据安全性和完整性的保护等优点外,还具有如下特点:VFP6.0中文版,它是运行于Windows95和WindowsNT平台的32位数据库系统,充分发挥了32位微处理器强大的32位数据处理性能。它功能强大,直观易用,支持客户/服务器结构和面向对象编程,提供多种可视化编程工具,支持最新Internet技术, WWW数据库的设计,最新流行的ActiveX等。 VFP6.0中文版完全支持OOP(面向对象)的应用程序设计方法,VFP使用了真正的类,包括继承性,封装性和多态性。用可视方式创建类、查看类及类代码;利用表单向导进行专业级界面设计;对表关系进行可视化查看;可利用OLE自动化来包含其他软件(如Excel、Word)中的对象并使用这些软件。通过VisualFoxPro对象和事件模型,用户可以快速创建和实现无模式(modeless)的应用程序;利用生成器和工具栏,开发人员可以快速开发应用程序,而省去编写大量的代码、定义繁多的属性。总之,VFP6.0中文版是一种适用于专业人员的开发工具。 数据库概念的发展在FoxPro 2.X中一个表就是数据库,实际上是真正的数据库中表的概念,在Visual FoxPro中,数据库指的是可以存储一个或者多个表(.DBF)及视图的关系数据库,这才是真正的关系型数据库的概念。 对于一个大型的信息管理系统,它很可能需要对不同的用户各自创建一个大型的文件系统,它包括许多表,而属于一个用户的一套表与属于另一个用户的一套表实际上是相同的,只是名称有所不同,而在FoxPro2.x中,需要建立大量的代码来区别和维护属于不同用户的一套表,这套表的数量可能是非常庞大的,维护编码也是非常庞大的。然而VisualFoxPro中引入的真正的数据库的概念,使这一问题的解决变得非常的容易,设计人员只要为不同的用户创建不同的数据库,然后在这些数据库下建立用户自己的表就可以很容易对每个用户进行区别和维护了。而且,这样的数据库的关系能力更加强大,更加稳定可靠。 VisualFoxPro6.0的面向对象编程,一个很重要的部分是通过使用类体现出来的.类具有对象的继承、封装的特性,和一切使用对象编程的优点。可以大大简化编程,在本系统的设计中就充分利用了这种优点(如:自动转换中英文输入法的gstextbox的自定义类,Visual FoxPro5.0自带的可视类库WIZSTYLE.VCX 中的searchclass类等等).可以按照需要给自己的数据库定制相应的菜单样和工具栏。.重新设计了项目管理器(ProjectManager),其最简单的用途是作为一种组织工具,保存属于特定应用程序所有文件的列表,而且根据文件类型将这些文件进行划分。它所提供的多页框界面,使对项目文件的添加、建立和编程更加容易。.可以与OFFICE软件集成。其还有如下新的特点:1. 对GIF和JPEG图形的支持。此功能已进一步加强了对Internet互操作性的支持。2. HTML帮助:HTML HELP是Microsoft所提供的用于创建适应Internet时代要求的帮助文件的解决方案。3. 新的和改进的语言元素:此功能可简化编程工作,而且将VF6.0API库Foxtools.fll中的许多函数也添加到VF中。4. OLE拖放:用此工具可支持OLE拖放的应用程序之间移动数据。5. 项目管理器挂接程序:为了能以编程方式访问“项目管理器”,采用了project 对象关联模型,该模型由项目project 对象和相应的Project Hools 对象组成。当通过执行命令打开一个项目时,都将实例化相应的 Project 对象。6. 自动服务程序的改进:VF6.0提供了经过该进而更可靠的自动服务程序。这些自动服务程序能更好的与VB,ASP 这样的产品和技术协作。7. 新增和改进的向导和生成器:除了对已有的几个向导改进之外,VF6.0还带有新的向导和生成器,帮助用户生成应用程序,创建数据库在Web上发布数据建立对象摸型,以及创建用户自己的向导。8. 对2000年日期的支持:在用程序代码中支持2000年日期。9. Access和 Assign 方法程序:利用这两种用户自定义的方法程序可在查询或视图更改属性的值时执行所需代码。10. Active Document :是一种基于Windows的嵌入在浏览器中的非HTML应用程序,它提供了在浏览器界面中访问应用程序功能的途径。11. 组件管理库:它是一个新工具,能帮助用户将类库表单按钮等对象进行分组并组成对象,项目,应用程序或其他分组。这些可视的分组是可动态定制的,这样就能在组件管理库中的多个分类之间使用复制和重新组织组件。12. 代码范围分析器应用程序:代码范围应用程序可记录文件中的哪行代码被执行了。而分析应用程序则提供了哪些行被真正执行,一行代码被执行的次数所耗费的时间等信息。之所以本论文选VF6.0 作为程序设计的基础系统是因为目前众多开发工具中,虽然VB,DELPHI 等都具有访问数据库的功能,POWER BUILDE 更是内置了数据库并设计了自己专用的大型数据库接口。然而,Visual FoxPro6.0在数据库开发工具中有着不可替代的地位。事实证明VB通过JET和ODBC访问数据库但使用不方便。DELPHI仍通过ODBC但在速度上并没有优势,况且帮助太少。PB用自己ODBC驱动大型数据库,但易用性方面Visual FoxPro6.0是无可比拟的。VF6.0易学习,完善的联机帮助。支持PC与网络数据库是数据库应用系统的组成并且Visual FoxPro6.0又增加了许多新功能。此软件首当本论文作品的核心。3 需求分析3.1 系统需求分析系统需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。在需求分析过程中进行可行性分析,提出一些可行性的方案,用较小的成本在较短的时间内确定是否存在可行的解法,系统需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。3.1.1 简单性 由于操作人员的计算机知识普遍较差,要求有良好的人机界面,在满足用户需求的基础上,系统的实现尽量简单并易于操作、运行效率高,在系统实现中,将用户提出的各种各样需求和自己联想出的可能的需求罗列出来,从中去选择以方便用户,另外数据计算自动完成,尽量减少人工干预;使系统实现得尽量简单。3.1.2 灵活性 系统的实现应具有良好的灵活性和可塑性。例如对记录的修改、查询等都给用户做出灵活选择的余地,不呆板,使用户运用得自如。如:方便的数据查询,支持多条件查询; 提供方便的修改方式与保存方式。3.1.3 可靠性系统的可靠性是检验系统实现成败的指标之一。例如,在本系统中,对使用者录入的日期,系统能相应做统一的转换,以保证数据的统一及类型的匹配,也保证了系统运行的可靠,可靠还体现在用户口令的输入核对功能、文本框输入值检验功能等。3.1.4 多功能性本合同管理系统尽可能满足用户的需求,实现的功能多。例如录入、修改、查询、浏览、打印、强大的报表功能等。让用户应用本软件后基本能解决所需的问题及事物。3.1.5 安全性由于该系统的使用对象多,要求有较好的权限管理,本系统用户分为系统用户和普通用户,系统用户拥有最高的权力,可以删除普通用户;可以查看日志文件等,本软件系统用户只有一个,并可对其密码进行修改。普通用户只可以添加用户,对数据的添加、浏览、查询等处理操作。这样对数据的安全性有了很大的保证。3.2 系统的可行性分析3.2.1 人工商场管理系统的弊端在计算机应用仅限于科学计算的时代。商场管理只能人工进行这样做浪费了企业的开支费用。当时数据存储虽然也用到过计算机也只是做简单的存储及打印工作。因为数据冗余。数据和程序有了很大的独立性。但都作为特定的文件保存在外存上,由操作系统统一管理数据不能被有关用户共享。数据和程序间有很大依赖性,从而造成数据的重复,又急易造成数据的不一制性。当然也造成大量人力资源浪费,时间浪费,企业成本浪费。数据库管理阶段是70年代来发展起来的,用数据库管理使数据有了统一的结构,对所有的数据实现统一集中的管理,以实现数据的共享,保证了数据的完整性。但需要专业技术人员操作数据库,仍是以文件方式存储数据,并不能提高工作效率。3.2.2 人机商场管理系统的优点计算机具有快速性,准确性,记忆性,逻辑性,通用性,自己连续性等优点。因此利用计算机来把人从烦琐的事物中解决出来是人们一直在解决的问题,现在已经实现了,利用数据库系统就可以让人方便有效的完成工作。它是一个智能的人机交互的工作平台。实现了数据的共享,减少数据冗余,也增加了数据的正确性,安全性等功能。数据库应用系统的目的是把数据实现电脑化管理。 数据库应用系统组成如(图3.1)信息处理辅助功能用户界面数据库管理人员录入图3.1 数据库应用系统组成从图3.1中可清晰看出,用户只是与用户界面交互,其他的都可以不理睬。用户界面:由于数据库应用系统是一种面向最终用户的应用系统,用户界面应该具有友好,简单易操作等特点。它是一个系统能否被用户最终接受的重要因素之一。信息处理:信息处理是建立数据库应用系统的目的。其基本功能包括各类信息的查询,统计,报表打印等功能。数据库管理:指数据库表的添加,修改及删除等。数据库:即数据库应用系统的操作对象,包括表及试图等。辅助功能:是指数据库应用系统中的菜单,帮助,本系统安装及版本信息等。 从上述数据库应用系统的组成,能让我们深刻认识到了人机交互后对信息处理快捷及高效。因此,开发商场管理系统是非常必要的,这也是我的目的和出发点。4 系统总体设计 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。系统设计的基本目的是回答“系统应该如何去实现?”这个问题,因此,本系统设计分为系统规划、系统设计和实现、数据库设计、模块设计、菜单设计、工具栏设计、代码设计与系统完成几个部分逐一说明。其中系统规划中分为项目规划、功能框图、数据库规划。系统设计和实现分为数据与编码设计和流程设计。4.1 系统规划4.1.1 项目规划 商场管理系统是一个典型的数据库应用程序,由系统初始化模块、数据输入模块、用户界面、修改删除模块、查询模块、报表打印模块等部分组成,特规划功能模块如下: (1)系统初始化模块:该模块的主要任务是维护系统的正常运行与安全,包括更改密码、注册用户、注销用户等等 (2)数据输入模块:该模块的主要功能是负责输入商场管理系统的数据,由于数据量大,所以该模块的设计出发点应从方便用户操作的角度出发,如:采用中英文自动切换、非法数据输入出现错误提示等。 由于烟煤管理系统的数据量虽大,但计算并不复杂,所以该系统的数据计算功能在输入模块中一并完成。并以数据库的形式存起来,而不以临时表的形式存储,因为该数据以后要经常调用。 (3)查询模块:查询模块是一个数据库系统中所必须的模块。为了方便用户,本系统提供了多种查询方式。如:按编号查询、按客户名称查询、按商品名称查询、按负责人员查询等等。 (4)修改删除模块:修改删除模块通常也是数据库中必须有的一个模块。因为在输入数据过程中难免会有出错的时候。本商场管理系统为修改删除模块提供了安全保障,不必要修改的地方本系统给予屏蔽。(5)报表打印模块:每月进行统计核算时,要打印出合同数据、商品数据、人员数据、客户数据等报表,以便查询及作为对外付款的原始凭证。 (6)其他功能:为了最大限度的方便用户操作,本系统设计了类似WINDOWS风格的快捷工具条,使用户有一种亲切感。.系统初始化 .人员录入 .商品录入 .客户录入.系统维护 更改密码 用户管理 .查询模块 浏览查询 按编号查询 .按客户名称查询 .按商品名称查询 按负责人查询.修改删除模块 修改删除商品 修改删除客户 修改删除人员 .报表打印 .打印合同数据 .打印客户数据 .打印人员数据 打印商品数据 .关于 .退出系统4.1.2 功能框图软件的开发主要目的是实现它的功能。因此,只有明确了功能才能为下一步的开发做基础,本系统的功能框图如(图4.1)合同录入商场管理系统合同管理人员管理 浏览打印系统设置帮助退出人员修改合同浏览商品浏览客户浏览人员浏览打印商品台打印客户打印合同打印人员商品台帐客户档案用户关于帮助打印预览打印打印预览打印打印预览打印录入合同修改合同查询人员添加修改图4.1功能框图4.1.3 数据库规划(1)分析数据需求 由于本系统的使用对象多,要提供合同一览表、商品明细表、客户明细表、人员明细表。对于数据查询,可利用VFP6.0中提供的临时表,以加快系统的响应速度。由于用户可能存在调动的可能,所以,系统中应有添加用户、删除用户、更改密码的功能。 (2)确定数据库 由于VFP6.0的数据库管理比较完善,在设计数据库时,不同主题的信息应存储在不同的表中,并遵循下列规则: .同一信息只保存一次; .防止删除有用信息; 只有在同一信息只保存一次的前提下,才能减少数据冗余性和出错的可能性,而为了防止删除有用信息,最好的解决方法仍然是把不同主题的信息放在不同的表中。 根据以上分析,从数据库中取出的信息可分成几个主题:每个主题都是一个独立的表,即商场管理系统中应包括以下几个表:合同数据表、客户档案表、商品表、人员表、缺货表、打印表。4.2 系统规划进程1查资料列进度23菜单表单3数据库456编代码4.2.1 网络图4.2.2 时间参数表 毕业设计共十周时间 第一周:查找资料、加强对VFP的学习,为以后设计打下基础。 第二周:菜单、表单、界面制作以及数据库的建立。 第三周-第五周:代码编写。 第六周-第七周:调试、连编成可执行程序。 第八周-第十周:写论文。 第十周:全部整理、备齐,准备答辩。5 系统详细设计5.1 数据分析与编码设计 数据分析主要是分析各种数据的用途及相互之间的关联,分析数据的类型、数量发生频度和使用频度,并具体弄清楚每个数据所需的范围和位数及来源的时间性,为数据库、文件设计及输出、输入设计提供依据,也为制定合理的数据处理方法提供依据。 编码是一项基础工作,编码必须唯一,编码设计的目的是为了便于数据的存储和检索,提高处理的效率和精度,节省处理时间和减少存储空间且方便使用。在商场管理系统中,合同、商品、客户、负责人员都有一个编号,这是确定一条记录的唯一标准。 5.2 流程设计在进行流程设计之前要先明确数据流的流向,要知道哪里发出数据,哪里接收数据,在此之间进行了怎样的存储和处理,本合同管理系统的数据流图如(图5.1)定货单合同送货单0层1层 图5.1数据流图根据数据流图将整个系统分成若干模块。画出各个模块的流程图,以便为后来的编程提供清晰的思路与算法。(1) 登录模块,如(图5.2)开始N=0Kl=输口令use 口令库Kl=口令库?N=n+1N=3?结束运行主菜单5.2登录模块流程图(2) 修改模块如(图5.3)开始选择要修改的记录改为其他值值正确?对话框提示结束修改图5.3修改模块流程图(3) 合同添加模块如(图5.4).f.合同编号=录入的编号?开始用文本框写记录打开客户库欠款金额=0?对话框提示该客户有欠款增加?文本框清空打开合同库添加记录提示编号重复请重新输入打开商品列表库存<销售量?缺货=销售量库存转为缺货库吗?结束.t.f.t.f.t.f.t.f.t.图5.4合同添加流程图5.3 数据库设计如果说功能设计是你行动的目的的话,那么数据库设计就是你此次行动的前期准备。目的越明确则你准备的就要更具体。数据库是由包含字段和记录的二维表组成,记录着你所需要用到的和将要处理的所有信息,所以说数据库是地基是重中之重。本系统新建一个数据库(emporium .dbc),加强完善对商场系统的管理。 (1)理论依据 一般来说,一个应用程序的数据结构是实现该程序的关键因素,VisualFoxPro1970年由E.F.Codd提出的关于数据库模型,是以关系集合理论中重要的数学原理为基础的,通过定义创建该集合的很少一些规则,即可方便地处理一些数据,这种技术被称为数据规范化。 .第一范式(1NF):消除重复字段和非原子的值。 .第二范式(2NF):要求每一个字段都依赖于主关键字段的每一部分。 .第三范式(3NF):要求所有非主关键字都只依赖于主关键字段。 确定字段原则: 根据表中存储信息的不同,表中所需的字段也不一样,在确定所需字段时有下列方法可供使用: .描述不同主题的字段应属于不同的表,通过定义之间的关系,可以将多个表中的字段进行数据组合,生成各种表单或报表。 .不要在表中存储通过推导或计算可以得到的数据。.收集所需的全部信息。应全面检查书面的表单和报表,确定所需的数据都已包括在所设计的表中或可由这些表计算出来。 .以最小的逻辑单位存储信息。应尽量把信息分解成比较小的逻辑单位。 .对于主关键字段,VFP6.0不充许其有重复值或NULL 值。 确定字段数据类型规则: 在实际选择数据类型时,应结合字段的自身情况并考虑以下几点: .该字段用于存储什么类型的值 .要对字段中的值执行什么类型的运算 .是否要用字段进行排序或筛选 .是否用字段对记录进行分组 (2) 商场数据表的设计 本系统的商场数据表(hetong.dbf)分为两大类:原始数据部分、结论部分。 原始数据部分:合同代号、商品编号、客户编号、商品名称、商品单价、数量、交货日期结论部分:金额、负责人是通过计算得到,按理不应放在合同表中,但本系统的数据管理并不复杂,包含在表中会更加方便。 根据实际情况及管理数据的方便,包含如上的字段: 本商场管理信息管理系统的数据词典如(表5.1) 表5.1 商品列表(splb.dbf)字段名类型宽度代号字符型10名称字符型20规格字符型6单价数值型5库存量数值型3销售量数值型3缺货数量数值型3所在仓库字符型3 表5.2 客户档案(khda.dbf)字段名类型宽度代号字符型10公司名称字符型30联系人字符型8公司地址数值型40电话字符型11是否欠款逻辑型1欠款金额数值型5表5.3 合同库(hetong.dbf)字段名类型宽度合同代号字符型10客户代号字符型10商品代号字符型10商品名称字符型20定货数量数值型3单价数值型5合同金额数值型8负责人字符型8交货期日期型8 表5.4 人员表(renyuan.dbf)字段名类型宽度代号字符型4姓名字符型8性别字符型2年龄数值型3负责区域字符型6工资字符型4同时还有打印库(dy.dbf)字段同合同库以及缺货库(qhk.dbf)字段同商品列表。5.4 模块设计(1) 登录模块的设计 本商场管理系统,若每一个进入计算机的人都能够对系统进行操作,就可能有意或无意的破坏数据,对用户产生不良影响,甚至造成无法估量的损失。因此,在进入系统之前要设置密码输入功能,本系统启动后,进入登录表单,按"确定"后运行口令程序,本系统采用是一种口令程序设计方法。为了加强管理,提高系统的安全性能,根据"需者方知"的原则,对上述人员的使用权限作了严格的规定,用户级别分为系统和普通两个级别,其中系统级的权限最高(即系统管理员),其有权分配、更改和收回使用系统的其他人员的使用权限,并可以对整个商场管理系统的功能进行操作,其密码可以修改,系统用户只有一个,可以删除普通用户。普通用户可以有多个,他们只能对商场管理系统的部分功能操作,并可以添加普通用户和修改用户,修改用户的前提必须知道原密码,其不可以修改删除数据库中的数据。 登陆模块此优点是通过不同的权限的用户登陆后,整修商场管理系统的菜单与工具栏就随之不同。且本登陆窗口的口令有次数限制,如果输入口令不正确达到三次,系统将自动关闭。这也是防止非法用户进入的有效措施。界面如图5.5,由五个标签框和两个文本框与两个命令按钮组成。实现原理:将系统用户与普通用户库加载到这个表单中,到一个公共变量N来统计输入不正确的口令次数,每错一个N便自动加一,当N=3时则执行退出命令,在此期间,检查您所输