毕业,课程设计,正文

3995
    


来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
联系方式 :
免费下载 ×

下载APP,支持永久资源免费下载

限免产品服务请联系qq:1585269081

下载APP
免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
下载 ×

下载APP,资源永久免费


如果出现不能下载的情况,请联系站长,联系方式在下方。

免费下载 ×

下载论文助手APP,资源永久免费

免费获取

如果你已经登录仍然出现不能下载的情况,请【点击刷新】本页面或者联系站长


第一章 引 言
随着生产的发展和生产规模的日益社会化,会计在不断地发展变化。经过人们长时期实践经验的积累,会计由简单到复杂,由不完善到完善,逐渐形成一套完整的体系,在经济管理工作中发挥着越来越重要的作用。与此同时,随着经济管理工作对财务数据处理要求的日益提高和科学技术的进步,会计操作技术也在不断地发展变化,计算机会计的出现大大提高了会计工作及至整个管理工作的水平和效率。

计算机用于数据处理,彻底改变了工作的面貌。会计数据处理的集中化自动化程度大大提高,采用计算机处理以后,原始数据通过各种输入方式输入计算机,计算机自动按照事先编制的程序进程各种处理工作,还可以根据需要,随时查询或打印有关帐簿和报表。提高了会计信息的准确性和及时性,随着现代社会企业的经济管理越来越复杂,竞争也越来越激烈,这种现象不但使会计所要处理的数据量增大,也要求会计数据的处理更加准确及时,利用计算机进行财务数据处理可以彻底打破手工处理的局限性,为日常管理提供更加详细、更加准确、更加及时的信息。从广度和深度上扩展了会计数据的领域,随时得到最新的情况。减轻了财务人员的工作负担,使用计算机进行会计数据处理以后,大部分工作由计算机自动进行处理,使财务人员从繁重的手工操作中解放出来,从而使财务人员把主要精力放在管理和监督上,更好地发挥财务人员的作用。

现在,科技的飞速发展,使各种管理向科学化、现代化的体制转变。财务管理的模式也随之相应的发生改变。财务管理在各个行业都存在,财务管理的好坏对本单位来说是很重要的。工作的记录清晰,对本单位日常工作起着决定性的作用。要建立现代化的财务管理系统,计算机是本系统的基础,也是实现现代化的重要保证。

为了更好的运用所学到的知识,为了将来能更好的胜任自己的工作。我们组在许占喜老师的悉心指导下进行了这次毕业设计,本设计是依据电脑公司财务管理的一些实际情况而设计的,不仅使单位职工在查询相关数据时方便准确,使管理人员减少和缩短工作时间和强度,更为领导对财务管理带来了便利,从而使工作效率大大提高。

第二章 需求分析
电脑公司管理系统根据现代化发展的需要,使企业的财务管理工作系统化、规范化、自动化,从而达到提高企业管理效率目的,决定建立一个“财务管理系统”,以取代人工管理。

1.系统开发思想。

(1)利用本单位现有的软硬件环境,采用先进的管理系统开发方案,从而达到充分利用本单位现有资源,提高系统开发水平和应用效果的目的。

(2)本系统符合本单位财务管理的规定,满足本单位相关人员日常使用的需要,并达到操作过程中的直观、方便、实用、安全等要求。

(3)本系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员进行补充、维护。

(4)系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。

2.系统开发目的。

(1)能对财务管理有关的各类数据进行输入、修改与查询。

(2)编制财务管理计划。

(3)打印管理报表。

3.系统功能分析。

系统功能分析是在系统开发总体任务的基础上完成的。功能主要有:

(1)系统数据初始化。

(2)商品基本信息数据的输入。

(3)商品基本信息数据的修改、删除。

(4)商品基本信息的查询、浏览。

(5)报表的查询、浏览。

(6)各项财务收支明细。
2.1用户需求分析
随着社会现代化的发展,单位的日常管理有关的信息随之急剧增加,传统的人力手工管理模式越来越不能适应现在的工作效率和准确性。在这个高节奏的信息时代,安全、准确的管理信息系统是每个管理者所需求的。建立一个适应现代化社会经济体制的管理信息系统势在必行。

在大量地调查和研究的基础上,包括访问用户,了解财务系统模型,熟悉现有的工作流程和数据流程等工作,采集和分析有关资料和、报表和业务规定,进行了财务管理软件的开发。在整个系统的设计和开发过程中,积极采纳最终用户的意见。对于开发财务管理系统进行了认真仔细的分析,在实施过程中不断地加以修改和完善,使这套财务管理系统能更好地运行。

该系统的具体任务就是设计一个电脑公司财务的数据库管理系统,由计算机来代替人工执行一系列诸如增加、删除、修改、查询、统计及打印等操作。这样就使办公人员以轻松快捷地完成财务管理的任务。
2.1.1数据需求
数据需求分析是数据库结构设计的第一个阶段,是非常重要的一个阶段。这个阶段主要是确定基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。

在仔细调查过程的基础上,我们得知各公司管理信息的急剧增加,传统的人力手工管理模式越来越不能适应现在的工作效率和准确性。为了更加的即时、准确的录入信息,特此设计本系统。
通过对财务管理的内容和数据流程分析,设计的数据项和数据结构如下:

(1)商品基本状况。包括的数据库项有商品名称、数量、入库日期、出库日期、进价等。

(2)商品库存。包括的数据库项有商品名称、数量、日期。

(3)商品领用。包括的数据库项有商品名称、领用员、日期、数量。

(4)商品销售。包含的数据库项在商品名称、销售价、销售员、日期、数量。

(5)商品收支信息。商品名称、收入、支出等。
2.1.2功能需求
功能分析的任务,是弄清用户对目标系统数据处理功能所提出的需求。根据系统目标和数据需求并与用户充分讨论后,本系统的功能需求可归纳以下几方面。

(1)数据登记。登记功能用于把各种手填单据中的数据及时登记到系统将要定义的表中,还要求能进行修改。

(2)查询。能查询录入的有关数据。

(3)编制并显示报表。编制财务管理的有关数据,并可由用户输入或修改。

(4)打印报表。能打印出全部或每个商品的有关信息数据。
2.2可行性分析
计算机管理信息系统的开发是一项复杂的系统工程。从70年代开始,人们逐渐认识到采用计算机处理以后,原始数据通过各种输入方式存储于计算机,在此后的数据加工过程中,计算机自动按照编制好的程序进行各种处理工作,很少或者完全不需要人工干预。此后,就可以根据需要,随时查询或打印有关数据和报表。通过对大量原始数据的处理,能及时为管理人员和单位职工提供反馈信息。提高了工作速度和准确性,从而使财务人员把主要精力放在管理和监督上,更好地发挥财务人员的作用。

财务管理系统的运行环境:

本系统采用单机用户操作方式,系统运行环境包括硬件系统、操作系统、数据库管理系统等软件。

硬件:

机  型:兼容机;

CPU : 赛扬2.0

硬  盘:20GB以上;

软  驱:1.44MB;

内  存:256MB;

显 示 器:17寸彩显;

打 印 机:Epson;

操作系统:

Windows95/98。

软件:

WINDOWS-XP操作系统

VISUAL FOXPRO 6.0

2.2.1经济方面可行性分析
本系统开发经费不是很多。对于规模不是很大、经费有限的单位在经济上是可以接受的,并且本系统实施以后可以明显的提高工作效率,很快就可以体现出经济效益来,所以本系统在经济上也是可行的。

投入除软件开发成本,一台中等电脑完全可以良好的运行本系统,完成硬件平台的要求,而且经济实用。
2.2.2技术方面可行性分析
(1)软件。面向对象程序设计Visual FoxPro6.0以其可视化编程,集先进性、实用性于一体的现代化软件开发工具为软件平台。小型数据库的灵活性、安全性、易用性为数据库编程提供了良好的条件,如此软件开发平台已经成熟可行。

Windows95是通向32位桌面操作系统的最容易的途径。除了运行基于32位Windows的应用程序之处,Windows95还能运行大多数基于16位Windows和基于MS-DOS的应用程序。Windows95对系统的要求要比Windows NT4.0更宽松,允许客户在16MB内存的系统上运行。

Windows95包括几个适于移动用户的重要特征,例如电源管理和即揷即用。最后,与Windows NT4.0相比,Windows95可以在更广泛的硬件设备和元件上运行。

Windows98是Windows95的增强升级版本。Windows95是通向32位桌面操作系统的最容易的途径,在此基础上进一步创新的Windows98将使电脑更易于操作,更可靠、更快捷,并且与Internet紧密结合。它定义了许多新颖优异的网络性能,例如支持功能强大的新硬件技术和娱乐平台等,同时对老的基于Windows的应用程序和技术保持良好的支持。对于用户来说,Windows98将提供新的易管理特征,帮助降低成本费用。Windows NT集中体现在可靠性、易管理性、安全性、网络性以及性能上是当今功能最强大的32位桌面操作系统。它有类似于Windows95和Windows98的图形用户界面更方便用户使用,而多线程、多任务结构的设计使运行基于32位Windows应用程序比其它操作系统更可靠、更安全,同时还支持基于MS-DOS和基于16位Windows的应用的多重引导。

(2)硬件。科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此财务系统的需要。

硬件配置:

中央处理器(CPU):586以上的处理器;

硬 盘:8GB以上硬盘;

软 驱:1.44MB软驱;

内 存:64MB、128MB、256MB;

显示器:14寸以上显示器;

打印机:Epson。

(3)人员。操作人员无需精通财务管理业务流程和Visual FoxPro6.0编程内容。不需要熟悉硬件及软件平台。在经过有关人员的简单指导就能够独立完成。本系统所涉及的业务流程与本单位的组织结构无需固定。

(4)设计目的。使程序的应用简单实用,既能满足财务管理的需要,又能方便操作,简单易用。屏幕显示应尽量直观、方便。

一般来说,应当将数据的录入、修改、查询、删除等操作集成在一起,这样,当管理人员需要维护某些数据的时候,就可以很方便地进行操作了。另外,一般还应支持模糊查询和组合查询,一般情况下,最好采用选择的方式。这样做不仅提高了操作速度,而且也大大地降低了出错的概率。

较强的检错和容错能力。管理人员在实际操作时,有可能发生一些操作,这就要求程序员在设计时一定要考虑一些可能出错的因素,以增强系统检错和容错的能力。

具有一定的数据恢复能力。有时发生错误操作不会对系统本身产生多大影响,但有时则会给系统带来灾难性的后果,这就要求系统设计者必须增加相应的恢复功能。

界面风格应当尽量向标准化方向靠近。这样做的好处是,由于所设计的MIS软件界面与用户使用过的其它常见软件的风格一致或者接近,而使用户容易掌握。

软件功能概述:

财务管理系统是针对财务管理业务而开发此管理软件。根据用户管理的需要,实现财务的输入、查询、修改、删除、打印等几方面的工作。用户利用计算机对财务信息、财务设定、汇总等进行处理来实现管理,由系统自行生成相应的数据以供用户查询和维护,另外用户还可以对这些基本信息随时进行更新和修改,财务管理程序系统力求给用户方便快捷的途径去管理这些繁琐的资料,从而实现一致性。
第三章 Visual FoxPro概述
Visual FoxPro是在FoxBASE和FoxPro基础上发展起来的新一代关系型数据库管理系统软件。FoxBASE和FoxPro曾在PC机数据库系统的应用中取得了极大的成功,随着面向对象技术的成熟和可视化编程技术的推广,Microsoft公司于1995年推出了Visual FoxPro3.0版,随后不久又推出了了Visual FoxPro5.0版及其中文版,1998年Microsoft发布了名为Visual Studio6.0的可视化编程语言的集成软件包,Visual FoxPro6.0即是其中的一员。
3.1 Visual FoxPro的特点
Visual FoxPro是一种用于数据库设计、创建和管理的软件,利用它可以对各种事务管理工作中的大量数据进行有效的管理和检索。Visual FoxPro6.0同时提供了可视化的、面向对象的程序设计方法,在其基础上可以方便地实现各种数据库应用系统的开发。

1. 强大的功能。

Visual FoxPr6.0拥有近500条命令,200余种函数,使得其功能空前强大,与以前的版本相比,在效能、设计环境、命令函数、系统资源的利用等方面都有了很大的改进。它还提供了一种称为“项目管理器”(program manager)的管理工具,可对用户所开发项目中的数据、文档、程序代码和类库(class library)等资源进行集中高效的管理,使得用户开发和维护应用程序更为方便有效。还支持与其他应用程序交换和共享数据,支持与大多数后台数据库的客户机/服务器应用程序连接,支持通过开放数据库连接驱动程序集成来自各个系统的数据。

2. 增强的数据库管理。

它将数据表区分为属于某个数据库的“数据库表”(datdbase table)和不属于任何数据库的“自由表”(free table)两大类。对所有的数据库表在创建的同时就可定义与数据库内其他表之间的联系,并且允许为数据库表设置字段级规则和记录级规则,以及表之间的参照完整性等。这就使得创建的数据表更加符合数据库应用的实际需要,并提供了更好的数据安全性、一致性和完整性。

3. 增强的SQL语言支持。

SQL语言是关系型数据库的标准操纵语言,SQL语言功能强大、使用灵活,在Visual FoxPro中引入了多条命令,可以利用这些命令相当方便地定义和修改数据表的结构,插入、删除、更新表中的数据,并实现对数据库和数据表的各种查询与检索。

4. 支持面向对象程序设计。

Visual FoxPr除继续支持传统的面向过程的程序设计方法外,还支持先进的面向对象的程序设计。Visual FoxPro允许用户对“对象”(object)和“类”(class)进行定义,并编写相应的代码。由于Visual FoxPro预先定义和提供了一批基类,用户可在Visual FoxPro提供的一些“基类”的基础上定义自己的类和子类(subclass),从而利用类的继承性(inheritance)大大减少编程的工作量,加快应用软件的开发过程。既使及结构化程序设计,也应用面向对象的程序设计,构成了Visual FoxPro程序设计的特点,同时为用户的编程带来了很大的方便。

5. 可视化的设计开发工具。

Visual FoxPro提供了大量的向导(wizard)、设计器(designer)和生成器(builder)来帮助用户完成数据库、查询、表单、报表、菜单等的设计工作。这些工具普遍提供可视化的、友好的图形界面,使得用户只需通过简单的操作而不必编制程序便可快速地完成各种查询设计和用户界面的设计工作,并可在此基础上高效率地开发出基于数据库的应用程序系统。

6. 增强的OLE应用集成。

Visual FoxPro支持对象链接与嵌入OLE技术,通过此种技术,Visual FoxPro可以与包括Word与Excel在内微软其它应用软件共享数据,实现应用集成。例如在不退出Visual FoxPro环境的情况下,用户就可以在Visual FoxPro的表单或窗体中链接其它软件中的对象,直接对这些对象进行编辑。在通过必要的格式转换后,用户可以在Visual FoxPro与其它软件之间进行数据的输入与输出。Visual FoxPro6.0还能提供自动的OLE控制,用户借助于这种控制,甚至于能通过Visual FoxPro的编程来运行其它软件,让它们完成诸如计算、绘图等功能,实现应用的集成。也可以在Visual FoxPro应用程序内部实现数据的共享。

7. 支持网络应用。

Visual FoxPro既适用于单机环境,也适用于网络环境,并可创建与lnternet一起使用的应用程序。其支持的网络应用主要如下。

(1)支持网络的客户机/服务器应用模式,既支持对本地计算机的访问,又支持对远程服务器的访问。

(2)支持用户通过本地或远程视图访问来自本地、远程或多个数据表中的不同数据,并在必要时,对数据源进行更新。

(3)在多用户环境中,Visual FoxPro允许建立事务处理程序来控制对数据的共享,包括处理数据的并发操作,限制某些用户对某些特定数据的访问等。
3.2 Visual FoxPro的用户界面
Visual FoxPro的主窗口界面主要由以下几个部分构成。

1. 系统菜单。

Visual FoxPro主窗口的菜单栏实际上是其提供的各种操作命令的集合。其中包括:文件、编辑、显示、格式、工具、程序、窗口和帮助8个下拉式菜单及其菜单项。大多数的操作均可通过菜单选择方式进行。

2. 系统工具栏。

工具栏仅次于菜单栏之下,由若干个工具按键组成,每个按键对应一个特定的菜单命令。对于经常使用的功能,单击工具栏中的按键比进行菜单命令的选择要快捷得多。

3. 窗口工作区。

Visual FoxPro主窗口菜单栏和工具栏以下的范围被称为窗口工作区。通常用于显示命令或程序的执行结果,同时也用来显示打开的各种窗口和对话框等。

4. 命令窗口。

命令窗口位于主窗口内,用来输入和显示各种操作命令。当用户在命令键入正确的命令并按Enter键之后,系统就会执行该命令。
3.3 Visual FoxPro的工作方式
Visual FoxPro支持两种工作方式,即交互操作方式和程序执行方式。

1. 交互操作方式。

Visual FoxPro启动成功后,便处在交互操作方式环境下。交互操作方式又可分为命令执行方式和菜单选择方式两种。

命令执行方式是指用户在命令窗口中键入一条命令后按Enter键,系统立即执行该命令并显示执行结果。采用命令执行方式时,用户需要熟悉各种命令的格式、功能和使用方法,对于熟练用户而言,采用命令执行方式往往比采用菜单选择方式具有更高的效率。

选择方式是指利用系统提供的菜单、工具栏、窗口、对话框等进行交互操作。选择方式的突出优点是简单、直观、不需要记忆命令格式,不足之处是其操作步骤往往比较繁琐。

Visual FoxPro将对应于菜单选择方式的等价命令显示在命令窗口中,命令执行方式和菜单选择方式的效果是一样的。交互操作方式简便、不需编程,运行结果清晰直观。

2. 程序执行方式。

程序执行方式是指根据实际工作需要,将一批经常要执行的命令按照所要完成的任务和系统的约定编写程序,并将其存储为程序文件,待需要时执行该程序文件,就可以自动地执行其内包含的一系列命令,完成所要完成的任务。

程序执行方式的突出优点是运行效率高,而且编制好的程序可以反复执行。对于最终用户来说,采用程序执行方式可以不必了解程序中的命令和内部结构,便能方便地完成程序所规定的功能。
第四章 数据库设计
现代社会是一个信息化的社会,而信息的载体则是各种各样的数据。计算机是现代化的信息处理工具,基于计算机的数据库技术能有效地存储和组织大量的数据,而基于数据库技术的计算机系统则被称为数据库系统。

Visual FoxPro是从DBASE、FOXBASE、FOXPRO历时多年发展过来的。在FoxPro2.x及更早的版本中,都是直接建立、管理和使用扩展名为dbf的数据库文件,这些数据库文件彼此是孤立的,没有一个完整的数据库概念和管理方法。当发展到Visual FoxPro时才引入数据 库的概念,才将扩展名为dbf的数据库文件组织在一起管理,使它们成为相互关联的数据集合。

在Visual FoxPro中,数据库是一个逻辑上的概念和手段,通过一组系统文件将相互联系的数据库表及其相关的数据库对象统一组织和管理。因此,在Visual FoxPro中应该把dbf 文件称做数据库表,简称表,而不再称做数据库或数据库文件。

在建立Visual FoxPro数据库时,相应的数据库名称实际是扩展名为dbc的文件名与之相关的还会自动建立一个扩展名为dct 数据库备注(memo)文件和一个扩展名为dcx的数据库索引文件.也即建立数据库后,用户可以在磁盘上看到文件名相同,但扩展名分别为dbc、dct dcx的三个文件,这三个文件是供Visual FoxPro数据库管理系统数据库使用的,用户一般不能直接使用这些文件。

用作表单和报表的默认关系,若在数据环境设计器中添加有关的若干表,相应的关系会自动显示出来;允许建立参照完整性,确保在更新、插入或删除记录时永久关系数据的完整性。

2.数据库的逻辑设计与物理设计。

(1)按一定的原则将数据组织成一个或多个数据库,指明数据库中包含了几个表,并指出每个表包含的字段。

(2)安排表之间的关联。

3.数据库的物理设计就是用指定的软件来创建数据库,定义数据库表,以及表之间的关联。在Visual FoxPro中可以用以下工具来实现物理设计。

(1)利用数据库设计器可创建数据库并添加数据库表,还可建立永久关联。

(2)利用表设计器可创建数据库表或自由表。

(3)利用表单、表单集或报表的数据环境设计器可添加表,还可建立表之间的关联。

(4)利用数据工作期(.VUE文件)能保存表单、表单集或报表所使用的工作环境,它所含的数据环境与数据环境设计器一样有效。.VUE文件还可为各种表单、表单集和报表一次性设置数据环境。

4.代码设计。

代码设计的概念不同于编码(编程序)。为维持数据的一致性和提供操作的方便性,应用系统中常需为某类数据设置一套代码。4.1数据库系统的基本概念
在数据库应用系统的开发过程中,数据库的结构设计是其中非常重要的一个环节。数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,能简化基于此数据库的应用程序的实现等。

数据库是指存储在计算机外部存储器上的、结构化的相关数据集合。为了便于数据的管理和检索,数据库中的大量数据必须按一定的逻辑结构加以存储,这就是数据“结构化”的概念。数据库中的数据具有较高的数据共享性、独立性和安全性,以及较低的数据冗余度,能有效地支持对数据进行的各种处理,并能保证数据的一致性和完整性。

数据库系统具有以下几个特点:

(1)数据的结构化。

(2)数据共享。

(3)数据独立性。

(4)可控冗余度。

一个数据库系统通常由5个部分组成,包括相关的计算机硬件系统、数据库集合、数据库管理系统、相关软件和人员。其特点包括数据结构化、数据共享、数据独立性以及统一的数据控制功能。数据库系统必须提供必要的数据安全保护措施,其中主要措施是安全性控制、完整性控制和并发操作控制。
4.2关系型数据库
关系型数据库是应用数学方法来处理数据库数据的。在关系型数据库中关系模型是数据库中所讨论的模型中最重要的模型。自80年代以来,计算机厂商新推出的数据库管理系统的产品几乎都是支持关系模型的。关系型数据库采用关系模型为数据的组织方式。在用户看来,关系模型中数据的逻辑结构是一张二维的表。在关系模型中有以下几个基本概念。

(1)关系:一个关系就是一个符合一定条件的二维表格,每个关系都有一个关系名。在Visual FoxPro中,一个关系被称为一个表,对应一个存储在磁盘上的扩展名为.DBF的表文件。

(2)元组:在一个具体的关系(二维表格)中,每一行被称为一个元组,或者称为一个记录。

(3)属性:在一个具体的关系(二维表格)中,每一列被称为一个属性,或者称为一个字段。

(4)域:是属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

(5)关键字:在一个关系中有一个或几个这样的属性(字段),其值可以唯一地标识一个元组(记录)。

(6)关系模式:对关系的描述称为关系模式。一个关系模式对应于一个关系结构,它是命名的属性集合。

如果从集合论的观点来定义关系,可以将关系定义为元组的集合;关系模式是命名的属性集合;元组是相关的属性值的集合;而一个具体的关系模型则是若干个相联系的关系模式的集合。

在关系模型中,每一个关系都必须满足一定的条件,即关系必须规范化。一个规范化的关系必须具备以下几个特点。

(1)每个属性必须是不可分隔的数据单元,即表中不能再包含表。或者说,每一个字段不能再细分为若干个字段。

(2)在同一个关系中不能出现相同的元组。

(3)在一个关系中不允许有完全相同的元组。

(4)在一个关系中任意交换两行的位置不影响数据的实际含义。

(5)在一个关系中任意交换两列的位置不影响数据的实际含义。
4.3数据库的优点
使用数据库可以带来许多好处。如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等。此外,数据库技术还为用户提供了简便的使用手段使用户易于编写有关数据库应用程序。

特别是近年来推出的计算机关系数据库管理系统,是管理数据库的软件工具,是帮助用户创建、维护和使用数据库的软件系统。它建立在操作系统的基础之上,实现对数据库的统一管理和操纵,满足用户对数据库进行访问的各种需要。它操作简单、使用灵活、画面直观、编程方便、功能强大、环境适应广泛、数据处理能力极强。数据库正得到愈来愈广泛的应用,必将成为经济管理的有力工具。数据库管理系统具有数据定义功能、数据操作功能、控制和管理功能以及数据字典等几项功能。

4.4数据库结构与数据库的种类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。由关系数据结构组成的数据库系统被称为关系数据库系统。在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。
4.5数据库概念结构设计
在数据库概念结构设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。4.6数据库逻辑结构设计
设计从分析输入数据着手,输入数据中的某类相关数据可以归纳为一个表。对需要同时调用的若干表,应使它们符合关联要求。数据库设计好后,可通过分析输出数据来验证其可用性,若发现有的输出数据不能从输入数据导出,须继续向用户输入数据。数据库逻辑设计的任务包括:按一定原则将所需数据组织成一个或多个数据库;确定数据库中所应包含的各个数据表;确定各个数据表所应包含的字段及各字段的属性;确定各数据表之间的关系及各数据表的主关键字和其他关键字等。

数据库概念结构转化为Visuai FoxPro数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
字段名

数据类型

商品名称

字符型(21)

数量

数值型(4)

日期

日期型(8)
表4-6-1 商品库存表字段名

数据类型

会计

字符型(8)

出纳

字符型(8)

销售人员

字符型(8)

经理

字符型(8)
表4-6-2 工作人员表字段名

数据类型

商品名称

字符型(20)

进价

数值型(10)

入库验收员

字符型(8)

入库日期

日期型(8)

数量

数值型(4)
表4-6-3 商品进库表字段名

数据类型

商品名称

字符型(21)

领用员

字符型(8)

日期

日期型(8)

数量

数值型(4)
表4-6-4 商品领用表
字段名

数据类型

商品名称

字符型(21)

销售价

数值型(10)

日期

日期型(8)

数量

数值型(4)

销售员

字符型(8)

表4-6-5 商品销售表

字段名

数据类型

商品名称

字符型(21)

姓名

字符型(8)

日期

日期型(8)

收入

数值型(10)小数位数(2)

支出

数值型(10)小数位数(2)

会计员

字符型(8)

出纳

字符型(8)

审核

字符型(8)
表4-6-6 收支明细表字段名

数据类型

商品名称

字符型(21)
表4-6-7 商品名称表

图4-6-1 数据库
4.7数据库物理结构设计
数据库的物理结构设计是指实际创建一个数据库,包括创建数据库中的各个数据表,并建立各表之间的联系。在Visual FoxPro中,通常可用“数据库设计器”来创建数据库并在其内添加或新建各数据表;然后利用“表设计器”来定义各个字段的名称、数据类型和宽度等属性,并建立有关字段的索引等;最后再在“数据库设计器”中建立各数据表之间的永久关系。
图4-6-2 数据库设计器
图4-6-3 表设计器
4.8数据库管理系统
数据库管理系统是管理数据库的软件工具,是帮助用户创建、维护和使用数据库的软件系统。它建立在操作系统的基础之上,实现对数据库的统一管理和操纵,满足用户对数据库进行访问的各种需要。

一般来说,数据库管理系统应具有以下一些功能:

(1) 数据定义功能。

(2) 数据操作功能。

(3) 控制和管理功能。

(4) 数据字典。

总之,数据库管理系统是用户和数据库之间的交互界面。用户只需通过它就能实现对数据库的各种操作与管理。在其控制之下,用户在对数据库进行操作时,可以不必关心数据的具体存储位置、存放方式以及命令代码执行的细节等问题,就能完成对各种相关数据的处理任务,而且可以保证这些数据的安全性、可靠性与一致性。

第五章

系统总体结构设计与程序模块设计
5.1系统总体结构设计
根据“自顶向下、逐步细分”的原则,对系统所需的各个功能模块进行合理的划分和设计。一个组织良好的数据库应用系统通常被划分分为若干个子系统,每个子系统的功能由一个或多个相应的程序模块来实现,并且还可以根据需要再进行功能的细分和相应程序模块的细分。

在设计本系统程序时,仔细考虑了每个功能模块所应实现的功能,该模块应包含的子模块,以及该模块与其他模块之间的联系等,然后再用一个主程序将所有的模块有机地组织起来。数据库应用系统大都包括以下几个一级功能模块。

1. 查询检索模块

数据库应用中的查询检索模块是不可缺少的,通常应提供对系统中每个数据表的分别查询功能,同时允许用户由指定的一个或多个数据表中获取所需数据。此外,应提供各种条件的查询和组合条件的查询,使得用户有更强的控制数据的能力。

图5-1-1 查询模块
2. 数据维护模块

数据维护模块则同样是必不可少的,除了提供数据库的维护功能以及对各个数据表记录的添加、删除、修改与更新功能之外,数据维护模块还应该提供数据的备份、数据表的重新索引等日常维护功能。

3. 统计和计算模块

在多数情况下,一个数据库应用系统还应提供用户所需的各种统计计算功能,包括常规的求和、求平均值、按要求统计记录个数和分类汇总等功能外,还应该根据实际需要提供其他专项数据的统计和分析功能。

4. 打印输出模块

一个实际运行中的数据库应用程序自然还应提供各种报表和表格的打印输出功能,既可以打印原始的数据表内容,也可从单个数据表或多个数据表中抽取所需的数据加以综合制表予以打印输出。并可根据需要提供分组打印和排序后打印输出等功能,同时允许用户灵活设定报表的打印格式。

图5-1-2 打印输出模块
5.2创建各程序模块
在Visual FoxPro中,创建各个程序模块实际上是利用先进的面向对象的程序设计方法,创建应用程序所需的一个个表单、报表和菜单等对象。此外还包括用户自定义类的创建以及用户界面的设计和创建等。一个数据库应用程序大多包含查询、维护和报表打印等多个输入输出功能模块,在面向对象的程序设计过程中,这些模块的设计实际上是与用户界面的设计融合在一起的。Visuai FoxPro提供了丰富的可视化设计工具,能支持用户在创建友好的用户界面的同时完成所需功能模块的创建。经过对系统功能的分析,我们将财务管理系统分为4个模块:系统主界面、商品进货记录、填写凭证、打印、查询。
5.2.1系统主界面的设计
为了让使用者有一个能轻松操作的界面,系统的主界面设计要求界面友好、功能分块明确、美观大方。

首先,展开项目管理器中的文档,选中表单,单击“新建”按钮。在弹出的对话框中单击“新建”按钮后,会弹出“表单设计器”是界面,根据界面的需要向其中添加控件。控件添加结束后,表单并未设计完成,此时的表单运行后会发现只有一个空壳,单击其中的按钮没有任何反应。因此,需要为表单设计事件响应。本程序的主界面已设计完成。图5-2-1 程序主界面
5.2.2商品进货记录的设计
本模块包含的功能有:商品进货的记录、增加修改进货记录。

新建表单,直接拉伸表单至合适大小,向表单中加入基本控件。本表单需要对数据库中的表进行操作,因此必须将该表加入到表单的数据环境中。

图5-2-2 商品进货记录5.2.3填写凭证的设计
本模块的功能是对基础财务的设定、使工作人员易于工作,做到数据不易丢失,根据各种基本情况设定界面。

图5-2-3 填写凭证
5.2.4查询模块的设计
本模块的功能是实现对所有业务的查询,包括他们的基础业务、商品名称查询、商品验收员查询、商品销售记录查询。根据工作流程、工作资料,表单计算相应的查询并作出统计,从而简化工作人员的工作。

图5-2-4 按名称查询
图5-2-5 按验收员查询

图5-2-6 按销售记录查询
第六章 程序设计
Visuai FoxPro操作都是通过菜单选择的方法或在命令窗口中逐条输入命令的方法来执行的,此种工作方式称为单命令工作方式或交互工作方式,其优点是不用编写程序即可完成一些简单的数据处理工作,但对于需要使用大量命令来处理复杂的数据管理任务时,却难以胜任。为此Visual FoxPro提供了成批命令协同工作的方式,即程序工作方式。

程序工作方式是根据解决实际问题的需要,将一系列合法的Visual FoxPro命令按一定的逻辑结构编排成一个完整的应用程序,然后输入到计算机内自动地、连续地加以执行。这样一来,既充分发挥了Visual FoxPro的功能、提高了系统的运行效率,又解决了非专业人员应用Visual FoxPro的困难,避免了命令输入时的重复劳动和误操作,并使得数据的安全得到进一步地保证。Visual FoxPro内置了用于程序设计的语言工具,不仅支持先进的面向对象程序设计方法,同时也支持传统的面向过程的程序设计方法。
6.1程序文件的建立
程序是由能够完成一定任务的一系列命令构成的,将一个Visual FoxPro程序所包含的各条命令依次逐条输入计算机中,在进行必要的编辑后存入指定磁盘文件的过程即为程序文件的建立过程。由于Visual FoxPro的程序是一种标准的ASCII码文本,因而不仅可用其自身提供的文本编辑器来建立,也可用其他任意的文本编辑器来建立。
6.1.1用菜单方式建立程序文件
用菜单方式建立程序文件的操作步骤如下。

(1)执行“文件”菜单下的“新建”命令,在弹出的“新建”对话框中选中“程序”单选钮,然后单击“新建文件”按钮,弹出程序编辑窗口。

(2)在程序编辑窗口中输入和编辑程序代码的文本内容。

(3)输入或编辑结束后,执行“文件”菜单下的“保存”命令或按Ctrl+W组合键,然后在弹出的“另存为”对话框中指定该程序文件的存放位置与文件名,单击“保存”按钮将其保存。程序存盘后默认的程序文件扩展名为.PRG。
6.1.2用命令方式建立程序文件
格式:MODIFY COMMAND<程序文件名>

功能:新建或修改指定的程序文件。

说明:

(1)执行此命令后,会弹出程序编辑窗口。

(2)当指定的程序文件名为新文件名时,将创建一个新的程序文件;当指定的程序文件名为已有的文件时,由在程序编辑窗口打开该文件供编辑修改。

(3)在程序文件名前可以指定该文件的保存磁盘和路径。默认的文件扩展名为.PRG,可不必输入。
6.2程序文件的运行
6.2.1用菜单方式运行程序文件。
(1) 执行“程序”菜单下的“运行”命令,将弹出“运行”对话框。

(2) 在“运行”对话框中选中要运行的程序文件名,或在“执行文件”文本框中输入要运行的程序文件名,然后单击“运行:按钮。
6.2.2用命令方式运行程序文件
格式:DO<程序文件名>

功能:将指定的程序文件调入内存关运行。

说明:

(1)在程序文件名前可以指定磁盘和路径。默认的扩展名为.PRG,可不必输入。

(2)本命令可在命令窗口键入执行,也可出现在另一个程序文件中,后者可实现在一个程序中调用另一个程序。

(3)在程序执行过程中,可随时按下Esc键使程序中断运行,并根据弹出的对话框中的提示信息,选择“取消”程序运行、“继续执行”或“挂起”等。
6.3程序中的辅助命令
Visual FoxPro命令几乎都可在程序中使用,除此之外,Visual FoxPro还提供了相当数量的程序辅助命令。主要命令分为:

(1) 程序注释命令。

在程序文本中加上必要的注释命令(或称注释语句),可增强程序的可读性,同时便于日后程序的维护和交流。注释语句是一种非执行语句,即系统对此种语句不作任何操作。

(2) 结束程序运行命令。

一个实用的Visual FoxPro程序往往由多个程序功能模块构成,各程序模块间可按需要进行多级调用。一个程序模块运行结束后可返回到调用它的上级模块,也可以直接返回到其最上级的主程序模块,或者回到系统的交互状态,甚至退出Visual FoxPro返回到宿主操作系统。

(3) 运行环境设置命令。

为使程序正常运行,设置一定的系统运行环境状态是十分必要的。其中除前面的几条命令外大多是一些SET命令,这此SET命令的共同特点是相当于一个状态转换开关,当置为ON时其功能有效,而置为OFF时则该功能无效。

第七章 程序的测试、连编与发行
7.1系统的测试与调试
在应用程序设计和创建的过程中,需要不断地对所设计的菜单、表单、报表等科学试验模块进行测试与调试。通过测试发现问题和纠正错误,并逐步加以完善。

软件在运行过程中可能会产生各种各样的问题,也可能带来不同程度的严重后果。软件测试是保证软件质量的最重要的手段。软件测试的概念IEEE定义为:使用人工可自动手段来运行或测定某个系统过程,其目的在于检验它是否满足规定需求或是弄清预期结果与实际结果之间的差别。

Visual FoxPro提供了专门的程序调试器,可用它来设置程序断点、跟踪程序的运行,检察所有变量的值、对象的属性值及环境设置值等。启动程序调试器的方法是执行“工具”菜单下的“调试器”命令,或在命令窗口执行DEBUG命令。

在各程序模块测试达到预定的功能和效果后,就可进行整个程序系统的综合测试与调试。综合测试通过后,便可投入试运行,即把各程序模块连同数据库一起装入指定的应用程序磁盘目录,然后启动主程序开始运行,考察系统的各个功能模块是否能正常运行,是否达到了预定的功能和性能要求,是否能满足用户的需求。试运行阶段一般只需装入少量的试验数据,待确认无误后再输入大批的实际数据。

尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都不是可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。典型的面向对向程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变。封装对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是面向对象程序的重要特点,继承使得代码的重用率提高,同时也使错误传播的概率提高。多态性使得面向对象程序对外呈现出强大的处理能力,但同时却使程序内“同一”函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生的行为。

功能测试:测试是否满足开发要求,是否能够提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。

强度测试及性能测试:测试系统的能力最高实际限度,即软件在一些超负荷的情况下,功能实现情况,如要求软件某一行为的大量重复、输入大量的数据、对数据库大量复杂性的查询等。测试软件的运行性能,这种测试常常与强度测试结合进行,需要事先对被测试软件提出性能指标,如传输连接的最长时限、传输的错误率、计算的精度、记录的精度、响应的时限和恢复时限等。

安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。

打印测试:在人工测试中用的是个人复查,当源程序编完以后,由编写人进行检查,但这种测试方法存在不足之处在于有些习惯性的错误不易发现,如果对功能理解有误,不易纠正,所以在个人复查的基础上又用了机器测试中的白盒测试和黑盒测试。白盒测试:也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试实例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。在进行白盒测试时,测试人应在完全了解系统功能、内部结构的前提下对系统进行测试,检查实现的功能与想要实现的设计有什么冲突不符,并及时改正。黑盒测试:也称功能测试,将软件看黑盒子,在完全不考虑的内部结构和特性的情况下,测试软件的外部特性,根据软件的需求规格说明书设计测试实例,从程度的输入和输出特性上测试是否满足设定的功能。在进行黑盒测试时,测试人随意无数次的输入符合条件的数据,检查结果是否与预期相符,如果相符则说明程序对输入的条件反映正确,如果不相符则程序有错,需要修改。
7.2系统的连编
一个应用程序设计完毕后,还必须进行连编,以便最后生成一个可执行文件供最终用户使用。连编不仅能将各个分别创建的程序模块有机地组合一起,从而保证整个系统的完整性和准确性,同时还可以增加程序的保密性。

通常可利用Visual FoxPro提供的项目管理器或应用程序生成器来进行连编,为此可先创建一个项目,并将应用程序所包含的各个组件添加到项目管理器中。一个应用程序系统通常对应着一个应用项目,利用Visual FoxPro开发的数据库应用项目实际上是数据、程序、文档、对象等各种相关文件的集合。Visual FoxPro提供了专门的“项目管理器”来对项目进行管理和维护。“项目管理器”以简便的、直观的方式组织和处理项目中所包含的各类文件。它一方面对项目中的数据和文档进行集中的管理,另一方面借助集成环境使得项目的创建和维护更为方便。
7.3系统的发行
在完成应用程序的开发和连编之后,可利用“安装向导”为应用程序创建安装程序和发行磁盘。其主要步骤如下。

(1)建立发布树

首先需要创建并维护一个独立的只包含要安装文件的目录树,称之为“发布树”。其中包含要复制到用户硬盘上去的所有发布文件。

(2)运行“安装向导”

执行“工具”菜单下“向导”子菜单中的“安装”命令,可启动“安装向导”。“安装向导”共有如下7个操作步骤。

①指定“发布树”的位置。

②指定应用程序的各个组件。

③为应用程序指定安装盘类型。

④指定安装过程中的对话框标题以及版权申明等内容。

⑤指定应用程度的默认文件安装目的地。

⑥显示出将安装的文件名、目的地及其他一些选项,允许对其做修改和调整。

⑦最后单击“安装向导”对话框的“完成”按钮后,系统即将“发布树”中的所有文件进行压缩并把它们分解为与安装盘大小相匹配的文件块,同时生成一个setup.exe文件。第八章 程序清单
* To attach this menu to your Top-Level form,

* call it from the Init event of the form:

* Syntax: DO WITH [,|][]

* oFormRef - form object reference (THIS)

* cMenuname - name for menu (this is required for Append menus - see below)

* lRename - renames Name property of your form

* lUniquePopups - determines whether to generate unique ids for popup names

* example:

* PROCEDURE Init

* DO mymenu.mpr WITH THIS,.T.

* ENDPROC

* Use the optional 2nd parameter if you plan on running multiple instances

* of your Top-Level form. The preferred method is to create an empty string

* variable and pass it by reference so you can receive the form name after

* the MPR file is run. You can later use this reference to destroy the menu.

* PROCEDURE Init

* LOCAL cGetMenuName

* cGetMenuName = ""

* DO mymenu.mpr WITH THIS, m.cGetMenuName

* ENDPROC

* The logical lRename parameter will change the name property of your

* form to the same name given the menu and may cause conflicts in your

* code if you directly reference the form by name.

* You will also need to remove the menu when the form is destroyed so that it does

* not remain in memory unless you wish to reactivate it later in a new form.

* If you passed the optional lRename parameter as .T. as in the above example,

* you can easily remove the menu in the form's Destroy event as shown below.

* This strategy is ideal when using multiple instances of Top-Level forms.

* example:

* PROCEDURE Destroy

* RELEASE MENU (THIS.Name) EXTENDED

* ENDPROC

* Using Append/Before/After location options:

* You might want to append a menu to an existing Top-Level form by setting

* the Location option in the General Options dialog. In order to do this, you

* must pass the name of the menu in which to attach the new one. The second

* parameter is required here. If you originally created the menu with the lRename

* parameter = .T., then you can update the menu with code similar to the following:

* example:

* DO mymenu2.mpr WITH THISFORM,THISFORM.name

*

* Using lUniquePopups:

* If you are running this menu multiple times in your application, such as in multiple

* instances of the same top-level form, you should pass .T. to the lUniquePopups

* parameter so that unique popup names are generated to avoid possible conflicts.

* example:

* PROCEDURE Init

* DO mymenu.mpr WITH THIS,.T.,.T.

* ENDPROC

*

* Note: Parm4-Parm9 are not reserved and freely available for use with your menu code.

*LPARAMETERS oFormRef, getMenuName, lUniquePopups, parm4, parm5, parm6, parm7, parm8, parm9

LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName

IF TYPE("m.oFormRef") # "O" OR ;

LOWER(m.oFormRef.BaseClass) # 'form' OR ;

m.oFormRef.ShowWindow # 2

MESSAGEBOX([只能从顶层表单调用该表单。请确认您表单的 ShowWindow 属性已设为2阅读此菜单MPR文件的头部分,可以获得详细信息。])

RETURN

ENDIF

m.cTypeParm2 = TYPE("m.getMenuName")

m.cMenuName = SYS(2015)

m.cSaveFormName = m.oFormRef.Name

IF m.cTypeParm2 = "C" OR (m.cTypeParm2 = "L" AND m.getMenuName)

m.oFormRef.Name = m.cMenuName

ENDIF

IF m.cTypeParm2 = "C" AND !EMPTY(m.getMenuName)

m.cMenuName = m.getMenuName

ENDIF

DIMENSION a_menupops[5]

IF TYPE("m.lUniquePopups")="L" AND m.lUniquePopups

FOR nTotPops = 1 TO ALEN(a_menupops)

a_menupops[m.nTotPops]= SYS(2015)

ENDFOR

ELSE

a_menupops[1]="记录"

a_menupops[2]="打印"

a_menupops[3]="查询"

a_menupops[4]="信息"

a_menupops[5]="其它"

ENDIF

* *********************************************************

DEFINE MENU (m.cMenuName) IN (m.oFormRef.Name) BAR

DEFINE PAD _1ee14ys59 OF (m.cMenuName) PROMPT "记录" COLOR SCHEME 3

DEFINE PAD _1ee14ys5a OF (m.cMenuName) PROMPT "打印" COLOR SCHEME 3

DEFINE PAD _1ee14ys5b OF (m.cMenuName) PROMPT "查询¯" COLOR SCHEME 3

DEFINE PAD _1ee14ys5c OF (m.cMenuName) PROMPT "信息" COLOR SCHEME 3

DEFINE PAD _1ee14ys5d OF (m.cMenuName) PROMPT "其它" COLOR SCHEME 3

ON PAD _1ee14ys59 OF (m.cMenuName) ACTIVATE POPUP (a_menupops[1])

ON PAD _1ee14ys5a OF (m.cMenuName) ACTIVATE POPUP (a_menupops[2])

ON PAD _1ee14ys5b OF (m.cMenuName) ACTIVATE POPUP (a_menupops[3])

ON PAD _1ee14ys5c OF (m.cMenuName) ACTIVATE POPUP (a_menupops[4])

ON PAD _1ee14ys5d OF (m.cMenuName) ACTIVATE POPUP (a_menupops[5])

DEFINE POPUP (a_menupops[1]) MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF (a_menupops[1]) PROMPT "打开"

DEFINE BAR 2 OF (a_menupops[1]) PROMPT "商品进货记录"

DEFINE BAR 3 OF (a_menupops[1]) PROMPT "填写凭证"

ON SELECTION BAR 1 OF (a_menupops[1]) ;

DO _1ee14ys5e ;

IN LOCFILE("E:\财务管理系统\主菜单" ,"MPX;MPR|FXP;PRG" ,"WHERE is 主菜单?")

ON SELECTION BAR 2 OF (a_menupops[1]) do form 商品进货记录

ON SELECTION BAR 3 OF (a_menupops[1]) do form ±报帐凭证

DEFINE POPUP (a_menupops[2]) MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF (a_menupops[2]) PROMPT "打印年终报表"

ON SELECTION BAR 1 OF (a_menupops[2]) do form 打印年终报表

DEFINE POPUP (a_menupops[3]) MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF (a_menupops[3]) PROMPT "按商品名称查询"

DEFINE BAR 2 OF (a_menupops[3]) PROMPT "按验收员查询"

DEFINE BAR 3 OF (a_menupops[3]) PROMPT "商品销售记录"

ON SELECTION BAR 1 OF (a_menupops[3]) do form 按名称查询

ON SELECTION BAR 2 OF (a_menupops[3]) do form 按验收员查询

ON SELECTION BAR 3 OF (a_menupops[3]) do form 产品销售记录

DEFINE POPUP (a_menupops[4]) MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF (a_menupops[4]) PROMPT "信息"

ON SELECTION BAR 1 OF (a_menupops[4]) do form信息

DEFINE POPUP (a_menupops[5]) MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF (a_menupops[5]) PROMPT "关于"

DEFINE BAR 2 OF (a_menupops[5]) PROMPT "\-"

DEFINE BAR 3 OF (a_menupops[5]) PROMPT "退出"

ON SELECTION BAR 1 OF (a_menupops[5]) do form 帮助

ON SELECTION BAR 3 OF (a_menupops[5]) ;

DO _1ee14ys5p ;

IN LOCFILE("E:\财务管理系统\主菜单" ,"MPX;MPR|FXP;PRG" ,"WHERE is 主菜单?")

ACTIVATE MENU (m.cMenuName) NOWAIT

IF m.cTypeParm2 = "C"

m.getMenuName = m.cMenuName

m.oFormRef.Name = m.cSaveFormName

ENDIF

* *********************************************************

* * _1EE14YS5E ON SELECTION BAR 1 OF POPUP 记录

* * Procedure Origin:

* * From Menu: 主菜单.MPR, Record: 5

* * Called By: ON SELECTION BAR 1 OF POPUP 记录

* * Prompt: 打开

* * Snippet: 1

* *********************************************************

*PROCEDURE _1ee14ys5e

=getfile()

* *********************************************************

* * _1EE14YS5P ON SELECTION BAR 3 OF POPUP 其它

* * Procedure Origin:

* * From Menu: 主菜单.MPR, Record: 24

* * Called By: ON SELECTION BAR 3 OF POPUP 其它

* * Prompt: 退出

* * Snippet: 2

* *********************************************************

*PROCEDURE _1ee14ys5p

_screen.activeform.release

clear event

clear all

close all

read events

quit

set sysmenu to default

* *********************************************************

SET SYSMENU TO

SET SYSMENU AUTOMATIC

DEFINE PAD _0kt0z899x OF _MSYSMENU PROMPT "记录" COLOR SCHEME 3

DEFINE PAD _0kt0z899y OF _MSYSMENU PROMPT "´打印" COLOR SCHEME 3

DEFINE PAD _0kt0z899z OF _MSYSMENU PROMPT "查询¯" COLOR SCHEME 3

DEFINE PAD _0kt0z89a0 OF _MSYSMENU PROMPT "更改密码" COLOR SCHEME 3

DEFINE PAD _0kt0z89a1 OF _MSYSMENU PROMPT "其他" COLOR SCHEME 3

ON PAD _0kt0z899x OF _MSYSMENU ACTIVATE POPUP记录

ON PAD _0kt0z899y OF _MSYSMENU ACTIVATE POPUP 打印

ON PAD _0kt0z899z OF _MSYSMENU ACTIVATE POPUP查询

ON PAD _0kt0z89a1 OF _MSYSMENU ACTIVATE POPUP 其他

DEFINE POPUP 记录 MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF记录 PROMPT "´打开"

DEFINE BAR 2 OF 记录PROMPT "商品进货记录"

DEFINE BAR 3 OF 记录 PROMPT "填写凭证"

ON SELECTION BAR 1 OF记录 ;

DO _0kt0z89a2 ;

IN LOCFILE("E:\财务管理系统\主菜单" ,"MPX;MPR|FXP;PRG" ,"WHERE is主菜单")

ON SELECTION BAR 2 OF 记录 do form商品进货记录

ON SELECTION BAR 3 OF 记录 do form ±¨报帐凭证

DEFINE POPUP 打印 MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF 打印 PROMPT "打印年终报表í"

ON SELECTION BAR 1 OF 打印 do form 打印年终报表

DEFINE POPUP 查询 MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF 查询 PROMPT "按商品名称查询"

DEFINE BAR 2 OF 查询 PROMPT "按日期查询"

DEFINE BAR 3 OF ²查询PROMPT "商品销售记录"

ON SELECTION BAR 1 OF查询do form 按名称查询

ON SELECTION BAR 2 OF查询do form 按日期查询

ON SELECTION BAR 3 OF查询do form 产品销售记录

DEFINE POPUP 其它 MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF 其它 PROMPT "¹关于"

DEFINE BAR 2 OF 其它 PROMPT "\-"

DEFINE BAR 3 OF 其它 PROMPT "退出"

ON SELECTION BAR 3 OF 其它;

DO _0kt0z89a4 ;

IN LOCFILE("E:\财务管理系统\主菜单" ,"MPX;MPR|FXP;PRG" ,"WHERE is主菜单")

* *********************************************************

* * _0KT0Z89A2 ON SELECTION BAR 1 OF POPUP 记录

* * Procedure Origin:

* * From Menu: 主菜单.PRG, Record: 5

* * Called By: ON SELECTION BAR 1 OF POPUP 记录

* * Prompt: 打开

* * Snippet: 1

* *********************************************************

PROCEDURE _0kt0z89a2

=getfile()

* *********************************************************

* * _0KT0Z89A4 ON SELECTION BAR 3 OF POPUP 其它

* * Procedure Origin:

* * From Menu: 主菜单.PRG, Record: 24

* * Called By: ON SELECTION BAR 3 OF POPUP 其它

* * Prompt: 退出

* * Snippet: 2

* *********************************************************

PROCEDURE _0kt0z89a4

_screen.activeform.release

clear event

clear all

close all

read events

quit

set sysmenu to default

et talk off

set exclusive on

set delete on

set century on

mypath=left(sys(16),rat("\",sys(16)))

set default to (mypath)

do form 库存数据

read events
结 束 语
本次毕业设计,经过三个多月的开发和设计终于完成了。这次设计是我对所学知识的一个总结。

我的设计题目是电脑公司财务管理系统的研究设计。面对综合性的设计,需要多方面的知识,在设计中我遇到了很多问题,其功能基本符合财务管理系统的需求,能够完成财务录入、管理、查询信息维护等功能,以及按不同方式实现系统检索,并提供部分系统维护功能,使用户方便进行资料修改、更新、删除。由于自身的水平所限,在系统设计时出现了许多问题,通过指导老师细心的指导,使许多难题得到了圆满解决,整个设计使我学到了很多知识,锻炼了自己的独立能力。

这次设计也使我受益非浅,使我懂得了对知识全面、更深一步掌握的重要性,同时也懂得了合作与独立的重要性。

毕业设计虽然结束了,但通过本次毕业设计,我基本掌握了Visuai Foxpro编程和应用,它留给我的不仅仅是一个课题的完成,通过毕业设计使我学会了如何发现问题,分析问题和解决问题,这将给我产生深远的影响。
致 谢

经过三个多月的紧张设计,我的毕业设计终于完成了。首先很感谢指导教师XXX老师,感谢他给本人一个机会在自己感兴趣的方面大显身手,并在设计过程中随时检查本人设计进度,对本人在设计时遇到的问题给予详细的解答以及为我提供了大量的相关设计资料。老师的指导和帮助对我能顺利完成这次毕业设计起到了关键性的作用,在这里表示最真诚的感谢和敬意。

最后,这次和我一组做毕业设计的同学们也给了我很大的帮助,帮助我查找资料、修改程序、篇写论文,使我能够在规定的时间内完成本次毕业设计,在此我向他们表示感谢。

参 考 书 目

1.高怡新编著,Visuai Foxpro程序设计,人民邮电出版社,2003年4月出版。

2.邵洋、谷宇、何旭洪编著,Visuai Foxpro数据库系统开发实例导航,人民邮电出版社,2003年8月出版。

3.谭浩强主编,史济民、汤观全编著,Visuai Foxpro及其应用系统开发,清华大学出版社,2000年1月出版。

4.王利、崔巍、娄不夜、杨明福、高玻编著,Visuai Foxpro程序设计。
PAGE PAGE 40

免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。
扫描加我微信 ×

演示

×
登录 ×


下载 ×
论文助手网
论文助手,最开放的学术期刊平台
				暂无来源信息			 
回复
来来来,吐槽点啥吧

作者联系方式

×

向作者索要->