商品销售管理系统设计论文--毕业设计

内容摘要

 

在科学技术日新月异的今天,计算机已逐步渗入各个领域,无论是学习,工作,还是娱乐都普及了计算机的使用,而随着网络的开通、并与Internet连接更让我们社会成为信息化的时代,人们不再需要浪费太多的时间去手工的获得信息,只要做在家中轻点几下鼠标不但能轻松获得各种信息,而且能够购买到自己需要的商品,既摆脱了时间和空间的限制又节约了大量的时间,因此熟练使用计算机及网络,已成为人们进入现代社会的必备技能。商品销售管理系统正是在这种情况下诞生并逐渐发展起来的,它已成为我们进行商品交易中不可缺少的部分。

商品信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序功能完备,操作简单等。

本系统是在分析了现行商品管理中存在的问题的基础上,结合信息管理系统开发的概念、结构及系统开发的基本原理和方法,开发的一套商品信息管理系统。根据实际情况,由目前各功能需求和公司里的情况而设计的这套系统。全文共分为课题研究的意义、开发环境、系统的实现、性能测试与分析以及结束语等章节,详细地阐述了本系统开发的目的、过程。

 

 

关键词:信息管理系统;系统开发 ;商品销售

 

 

 

 

 

 

 

 

 

 

 

 

Abstract

 

The rapid advance of science and technology today, the computer has gradually infiltrated all areas, regardless of learning, work, or entertainment throughout all of the computer's use, and with the opening of networks, connecting with the Internet and made us become information-based society of the times, People no longer need to waste too much time for manual access to information. As long as it is at home Click on the mouse and understand world, but to buy their needs of commodities, both out of time and space constraints to save a great deal of time, the use of skilled computer and network, People have become modern social skills required. Sales Management System is under such circumstances birth and gradually develops and it has become a commodity transactions indispensable part.

 Commodity information management system is typical of the Information Management System (MIS), including development of its key database background to the establishment and maintenance of front-end applications and the development of the two areas. Regarding the former requirement to establish data consistency and integrity of strong, good data security database. As for the latter demanded the application functions, and simple operation.

The system is the analysis of the existing merchandise management problems that exist on the basis of a combination of information management systems development concepts, structure and system development and the fundamental principles and methods, developed a set of commodity information management system. According to the actual situation from the various functional needs and the situation of the company and the design of such systems. The article consists of the significance of the research, development environment, the realization of system performance tests and analysis, and conclusion, the chapters, detailed description of the purpose of the system development process.

 

Keywords   Information Management System; System Development; Commodity sales



第一章:引 言

1.1信息管理系统简介

信息管理系统(MIS)是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。信息管理系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存、维护和使用。因此信息管理系统是一个信息处理系统。信息管理系统作为各项业务、技术、工作自动化及高水平管理的方法和模式,正在得到越来越广泛的应用。早期的信息管理系统通常是以各单位为主体,独自进行开发和应用。从技术上看,大体是以局域网或客户机/服务器模式组成应用系统平台,在操作系统和数据库管理系统的平台上开发应用软件系统。但是,由于技术的发展和进步以及应用、管理和数据共享的需要等诸多原因,把分散开发且分布在各个地域的独立的管理信息系统互相连接起来,实现系统硬件、系统软件、应用软件及数据的共享,已经成为越来越迫切的任务。

1.2 本课题研究的意义

当今社会是一个信息社会,信息已成为继劳动力、土地、资本之后的又一大资源。谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中占有一席之地,  谁就会有更多的优势。商品管理信息系统是一个销售单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以商品信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但目前还有一些小型企业仍使用传统人工的方式管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。

随着科学技术的不断提高,计算机科学日渐成熟,他强大的功能早已为人们所知晓,它已进入人类社会的各个领域并发挥着越来越重要的作用。计算机业飞速发展,技术淘汰指标高得惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”。 微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动信息管理系统的使用起到了重要作用。

使用计算机对商品信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、使用时间长、成本低等。这些优点能够极大地提高商品信息管理的效率,也是企业的科学化、正规化管理及与世界接轨的重要条件。

1.3 系统研究设计的目标

而现在商品销售单位需要处理大量的供应商信息,还要时刻更新单位所销售的产品信息,不断地添加、修改销售信息。面对各种不同的信息,需要合理的数据库结构来保存数据信息,还需要有效的程序结构支持各种数据操作的执行。

本系统的主要特点是:功能完善,实用性较强,还有操作简单,执行迅速等。

第二章 现行系统调查研究

2.1 现行业务介绍

该企业是从事商品的销售的单位,采购科进行商品采购,采购完成后,将所采购来的货物及采购清单一并交给库管员,库管员进行审核入库并将信息写入商品信息册中。商品销售时,销售员开出顾客需要的货物清单,将该清单交给库管员,库管员根据该清单上写明的货物从仓库中取出交给销售人员,同时将销售的记录写入记录册中。采购科将供应商信息交给管理员,管理员将供应商的基本信息记录在供应商记录册中。划价员根据经理的指示对商品进行定价并商品的定价写入商品价格表中。

这些都是手工操作,十分烦琐,而且容易出错,出错后不便查找纠正。由于信息量巨大,因此具体信息很难进行查询。时间长了会形成大量的书面文档,不易保存。

 

 

 

 

 

 

2.2该企业的组织机构图

 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 


                              2-1 企业组织结构图

2.3新系统业务流程图

经过对原有业务的分析,为了更加合理的利用现有的人力、财力和设备,充分的利用计算机带来的便利,规划出新系统的业务流程图如下:

 

 

2-2  新系统业务流程图

 

2.4 可行性分析

2.4.1技术可行性

a.开发软件可行性

结合本项目实际,本企业的业务量很大,但是其操作流程并不是很复杂,各种结构及流程十分清晰,可以设计出符合实际需求的信息管理系统。vf6.0非常擅长对数据表和其间关系进行简单的操作,无论是查询,统计还是用报表进行数据输出,都能顺利完成。因此,从软件角度讲是vf6.0是完全可以胜任的。

b.开发硬件可行性

开发本系统所使用的vf6.0软件对于计算机的要求比较低:

(1)    WINDOWS 98以上版本

(2)    80486或更高的处理器

(3)    MS WINDOWS支持的VGA或更高分辨率的显示器

(4)    应用程序要求8MB RAM

这样的要求市场上的计算机配置都能够达到,所以硬件的可行性也可达到。

2.4.2经济可行性

 由于销售企业目前完全采用手工方式完成业务,进行报表制作,对数据进行综合分析等。管理系统建成后由于不是直接用于生产,因此直接经济效益较小,但是一定会间接的创造出十分可观的经济效益。由此可见,开发此系统在经济上是完全可行的。而且,由于系统在未来较长的时间内稳定发挥作用,这对于提高公司的综合管理水平、简化日常业务操作都将会起到很大的帮助。

2.4.3操作可行性

销售企业的大多数员工从未使用过类似的管理系统,但是WINDOWS友好的界面和本系统简易的操作设置,可以使企业的内部员工很快掌握其各种操作。不仅如此,系统还附有详细的使用帮助文件,为本系统的正确使用给以图文并茂的形式加以说明。同时,在开发过程中,我们还可以尽量给用户以方便,充分考虑到用户需求的实际情况,在输入界面,查询界面、报表打印等部分添加注释或提示,并尽可能的采用相关联的数据自动输入的功能,帮助用户尽快掌握系统的使用和减少数据的输入,以提高本系统的使用效率。

第三章 系统分析

3.1数据流程图

根据对新系统业务的分析,提出新系统的数据流程图如下:

3-1 数据流程图的顶层图

 3-2数据流程图的一级细化

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

 3-3  数据流程图的二级细化

3.2数据字典

3.2.1数据元素卡

 
 

名称:商品代码                        编号:A001

所属数据流:F1F2F4F7F8F10

所属存储:D0D1D2D4D5D7D8

数据类型:字符型

 

 

 

数据类型:字符型    

 
 

 




名称:商品名称                         编号:A -002

所属数据流:F1F2F4F7F8F10

所属存储:D0D1D2D4D5D7D8

数据类型:字符型

 

名称:销售日期                         编号:A -003

所属数据流:F2F8F10

所属存储:D2D5D8

数据类型:日期型

 

名称:销售单价                        编号:A -004

所属数据流:F2F8F10

所属存储:D2D5D8

数据类型:数值型

 

名称:销售数量                        编号:A -005

所属数据流:F2F8F10

所属存储:D2D5D8

数据类型:数值型

 

名称:折扣                           编号:A -006

所属数据流:F2F8F10

所属存储:D2D5D8

数据类型:字符型

 

名称:小计                            编号:A -007

所属数据流:F2F8F10

所属存储:D2D5D8

数据类型:字符型

 

名称:供应商编号                     编号:A -008

所属数据流:F1F2F3

所属存储:D 1D2D3

数据类型:字符型

 

名称:供应商名称                     编号:A -009

所属数据流:F3F9F10

所属存储:D 3D6D9

数据类型:字符型

 

名称:商品进价                       编号:A -010

所属数据流:F1F2F4F7F8F10

所属存储:D0D1D2D4D5D7D8

数据类型:数值型

 

名称:商品售价                       编号:A -011

所属数据流:F1F2F4F7F8F10

所属存储:D0D1D2D4D5D7D8

数据类型:数值型

 

名称:进货日期                       编号:A -012

所属数据流:F1F2F4F7F8F10

所属存储:D0D1D2D4D5D7D8

数据类型:日期型

 

名称:库存量                         编号:A -013

所属数据流:F1F2F4F7F8F10

所属存储:D0D1D2D4D5D7D8

数据类型:数值型

 

名称:备注                           编号:A -014

所属数据流:F1F2F4F7F8F10

所属存储:D0D1D2D4D5D7D8

数据类型:备注型

 

 

名称:负责人                         编号:A -15

所属数据流:F1F2F3

所属存储:D 1D2D3

数据类型:字符型

 

 

名称:联系地址                       编号:A -016

所属数据流:F1F2F3

所属存储:D 1D2D3

数据类型:字符型

 

名称:联系电话                       编号:A -017

所属数据流:F1F2F3

所属存储:D 1D2D3

数据类型:数值型

3.2.2数据流卡

数据流卡

名称:入库登记卡                                   编号:F1

来源:外部实体“采购科”

去向:处理“登记入库信息”(P2.1

数据结构:商品编号 商品名称 进货日期 进货单价 销售价格

说明:

 

数据流卡

名称:商品销售卡                                  编号:F2

来源:外部实体“销售员”

去向:处理“录入商品销售信息”(P2.2

数据结构:商品编号 商品名称 进货日期 进货单价 销售价格

说明:

 

数据流卡

名称:供应商信息卡                              编号:F3

来源:外部实体“采购科”

去向:处理“录入供应商信息”(P2.3

数据结构:供应商编号 供应商名称 负责人 联系人电话 联系地址

说明:

 

数据流卡

名称:价格变动                                  编号:F4

来源:外部实体“划价员”

去向:处理“价格变动处理”(P2.3

数据结构:商品编号 商品名称 库存量 进货价格  销售价格

说明:

 

数据流卡

名称:商品信息报表                             编号:F7

来源:处理“打印商品信息表”(P4.1

去向:外部实体“采购科”

数据结构:商品编号 商品名称  库存量

说明:

 

数据流卡

名称:商品销售信息报表                         编号:F8

来源:处理“打印商品销售信息表”(P4.2

去向:外部实体“经理”

数据结构:商品编号 商品名称 商品售价 销售日期 合计金额

说明:

 

数据流卡

名称:供应商信息报表                           编号:F9

来源:处理“供应商信息报表”(P4.3

去向:外部实体“采购科”

数据结构:供应商编号 名称 负责人 联系电话  联系地址

说明:

 

     数据流卡

名称:信息查询                                编号:F10

来源:处理“信息查询处理”(P5

去向:外部实体“查询者”

数据结构:商品编号 商品名称 商品售价 供应商名称 等

说明:

3.2.3数据处理卡

数据处理卡

名称:登记商品入库信息                       编号:P1.1

输入: F1

输出: D1

处理:将数据流“商品清单”中的信息用键盘录入,数据存储“商品信息”中。

 

数据处理卡

名称:销售商品信息                           编号:P1.2

输入: F2

输出: D2

处理:将数据流“销售清单”中的准备销售的商品信息用键盘录入,数据存储“商品销售记录”中。

 

数据处理卡

名称:供应商信息                             编号:P1.3

输入: F3

输出: D3

处理:将数据流“供应商信息”中的供应商信息用键盘录入,数据存储“供应商”中。

 

数据处理卡

名称:价格变动                              编号:P1.4

输入: F4

输出: D4

处理:将数据流“价格变动通知”中的价格信息用键盘录入,数据存储“商品基本信息”中。

3.2.4 数据存储卡

 

 

 

 

 

      
  

名称:商品销售                                代码:B001

相关处理:商品销售信息录入(P1),商品信息查询(P5),打印报表(P4)

数据结构:

字段名

字段类型

宽度

取值范围

商品编号

字符

6

 

销售日期

日期

8

 

销售单价

数值

5

 

销售数量

数值

5

 

折扣

数值

3

0-1

小计

字符

9

 

 

 
 
 

名称:商品销售记录                         代码:B002

相关处理:商品销售信息录入(P1),销售信息查询(P5),打印报表(P4)

数据结构:  

字段名

字段类型

宽度

取值范围

商品编号

字符

6

 

销售日期

日期

8

 

销售单价

数值

5

 

销售数量

数值

5

 

折扣

数值

3

0-1

合计

字符

8

 

 

 
 
  

名称:商品信息                              代码:B003

相关处理:商品信息录入(P1),商品信息查询(P5),打印报表(P4)

数据结构:          

字段名

字段类型

宽度

取值范围

商品编号

字符

6

 

商品名称

字符

30

 

供应商名称

字符

30

 

供应商编号

字符

6

 

商品进价

数值

7

0-99999.99

商品售价

数值

7

0-99999.99

进货日期

日期

8

 

库存量

数值

5

0-99999

备注

备注

备注

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

名称:供应商信息                               代码:B004

相关处理:供应商信息录入(P1),供应商查询(P5),打印报表(P4)

数据结构:

字段名

字段类型

宽度

取值范围

供应商编号

字符

6

 

供应商名称

字符

30

 

负责人

字符

10

 

联系电话

数值

13

 

联系地址

字符

30

 

备注

备注

备注

 

 

 
 

 

 

 

 

 

 

 

 


第四章          系统设计

4.1系统结构设计

4.1.1系统结构图

4-1 系统功能结构图

4.1.2系统模块图

通过对用户需求的分析,我们可以分析出该商品销售管理大致可以分为四个模块:商品基本信息模块、供应商信息模块、商品价格变动模块、报表打印模块。

    现在对这四个模块做具体说明:

模块IPO

系统名称:

子系统名称:商品销售管理系统

模块名称:录入商品信息

模块代码:  D-001

调用模块:无

被调用模块:商品信息数据录入

输入:数据流“商品入库清单单”

输出:数据库表“商品基本信息表

处理:

    1)打开数据库表“商品基本信息表”。

    2)根据输入设计的“商品基本信息表”的输入格式,显示“商品基本信息表”格式。

    3)接收输入数据并校验。

    4)提示操作人员确认,确认后将数据写入数据库表“商品基本信息表”。

    5)关闭数据库,结束操作。

                           商品入库模块

模块IPO

系统名称:

子系统名称:商品销售管理系统

模块名称:商品出售

模块代码:  D-002

调用模块:无

被调用模块:商品变动数据录入

输入:数据流“商品销售信息表

输出:数据库表“商品销售记录

处理:

1) 打开数据库表“销售记录表

    2)根据输入设计的“销售记录表”的输入格式,显示“销售记录表”格式。

    3)接收输入数据并校验。

    4)提示操作人员确认,确认后将数据写入数据库表“销售记录表”。

    5)关闭数据库,结束操作。

              商品销售模块

 

 

模块IPO

系统名称:

子系统名称: 商品销售管理系统

模块名称:供应商信息录入

模块代码:  D-003

调用模块:无

被调用模块:供应商数据录入

输入:数据流“供应商信息表”

输出:数据库表“供应商信息表”

处理:

    1)打开数据库表“供应商信息表”。

    2)根据输入设计的“供应商信息表”的输入格式,显示“供应商信息表”格式。

    3)接收输入数据并校验。

    4)提示操作人员确认,确认后将数据写入数据库表“供应商信息表”。

    5)关闭数据库,结束操作。

 

供应商信息录入模块

 

模块IPO

系统名称:

子系统名称: 商品销售管理系统

模块名称:价格变动数据录入

模块代码:  D-004

调用模块:无

被调用模块:商品价格数据录入

输入:数据流“价格变动表”

输出:数据库表“商品基本信息表”

处理:

    1)打开数据库表“商品基本信息表”。

    2)根据输入设计的“商品基本信息表”的输入格式,显示“商品基本信息表”格式。

    3)接收输入数据并校验。

    4)提示操作人员确认,确认后将数据写入数据库表“商品基本信息表”。

    5)关闭数据库,结束操作。

 

价格变动模块

 

模块IPO

系统名称:

子系统名称: 商品销售管理系统

模块名称:商品信息查询模块

模块代码:  D-005

调用模块:无

被调用模块:信息查询

输入:数据流“商品基本信息表”

输出:数据库表“商品基本信息表”

处理:

    1)打开数据库表“商品基本信息表”。

    2)根据输入设计的“商品基本信息表”的输入格式,显示“商品基本信息表”格式。

    3)接收输入查询数据的依据并校验。

    4)提示操作人员确认,确认后将显示查询的结果

    5)关闭数据库,结束操作。

 

商品信息查询模块

 

 

 

模块IPO

系统名称:

子系统名称: 商品销售管理系统

模块名称:供应商信息查询模块

模块代码:  D-006

调用模块:无

被调用模块:供应商查询

输入:数据流“供应商信息表”

输出:数据库表“供应商信息表”

处理:

    1)打开数据库表“供应商信息表”。

    2)根据输入设计的“供应商信息表”的输入格式,显示“供应商信息表”格式。

    3)接收输入查询数据的依据并校验。

    4)提示操作人员确认,确认后将显示查询的结果

    5)关闭数据库,结束操作。

 

供应商查询模块

 

系统名称:

子系统名称: 商品销售管理系统

模块名称:打印商品信息模块

模块代码:  D-007

调用模块:无

被调用模块:报表打印

输入:数据处理D7

输出:数据流F7

处理:

    1)打开数据库表“商品信息表”。

    2)预览并打印“商品基本信息报表”。

    3)关闭数据库,结束操作。

 

商品信息打印模块

 

系统名称:

子系统名称: 商品销售管理系统

模块名称:打印商品销售模块

模块代码:  D-008

调用模块:无

被调用模块:报表打印

输入:数据处理D8

输出:数据流F8

处理:

    1)打开数据库表“商品销售信息表”。

    2)预览并打印“商品销售信息报表”。

    3)关闭数据库,结束操作。

 

商品销售信息报表

 

 

 

 

 

4.2代码设计

商品编号

 

 

 

 

 

 

 

 

                                               商品序号

 

                                               商品产地

 

                                               商品类型

 

供应商编号

 

 

 

 

 

 

 

 

                                                    供应商编号

 

                                                    供应商类型

 

供应商所在城市

4.3输出设计

为了适应日常及时的对各种数据信息进行整理和分析,需要对数据库的中的数据进行输出。本系统提供了两种输出形式:一是屏幕输出;二是报表输出。

a.显示输出

显示输出上最常见的输出方式,它有其他的输出方式无法比拟的优点:输出信息的速度快,即时性强,输出的成本低并且形式多样。主要是满足日常数据管理的需要,将各种数据库的信息显示在电脑的屏幕上,以便操作员进行各种操作。这种输出方式用的最多的就是各种信息的查询,另外,显示输出也常用于显示数据的输入、数据修改、系统工作状态等情况。

b.报表输出

报表输出主要的将商品信息通过打印机输出到纸张上,不但可以长期保留、随时散发而且方便对数据进行比较,为领导的决策提供依据。为了及时的了解库存商品的信息及库存量,设计了“库存商品信息报表”,为了及时的了解商品销售情况,和及时的统计营业额,设计了“商品销售统计报表”,为了加强与各个供应商进行联系,设计了“供应商基本信息报表”。具体设计如下图:

4-2 库存商品信息报表

4-3  商品销售统计报表

 

4-4  供应商基本信息报表

4.4输入设计

输入模块主要包括:商品入库,商品销售信息的添加和供应商信息的添加。这个模块是商品信息管理系统中非常重要的部分。它设计的是否易于操作,往往直接影响整个系统的能否在日常业务中充分的发挥作用。因此输入模块应尽量使操作方便、安全,尽可能减少数据输入量和输入次数。本系统主要以信息表登记的方式进行数据输入。

1输入名称;商品入库                相关模块:D-001

输入周期: 不定                   原始数据来源:采购科

 

输入屏幕的格式:

商品编号

商品名称

供应商编号

供应商名称

商品进价

商品售价

进货日期

库存量

 

娃哈哈非常可乐

Bj0001

天马批发商城

100

300

2007-6-14

500

其余的输入与此输入类似。

4.5 数据库的设计

数据库在信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接影响系统的运行效率的高低和数据是否具有完整性和一致性。设计数据库系统时即要充分了解用户目前的需求,还要考虑到将来可能增加的要求。

4.5.1数据库需求分析

用户的需求具体体现在各种信息的提供,保存,更新和查询上,这就要求数据库结构能充分满足各种数据的输出和输入,收集和查询。经过对系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下面所示的数据项和数据结构。

商品基本信息:包括商品编号,商品名称,供应商名称,供应商编号,商品进价,商品售价,进货日期,库存量,备注。

商品供应商信息:供应商编号,供应商名称,负责人,联系电话,联系地址,备注等。
商品销售信息:商品编号,销售日期,销售单价,销售数量,折扣,小计。

商品销售记录:商品编号,销售日期,销售单价,销售数量,折扣,合计等。

管理员信息:包含管理员代码,管理员姓名,密码,备注,rank(权限)等。

在上面的需求分析,数据结构设计基础上,下面可以开始数据库逻辑结构设计了。

4.5.2数据库逻辑结构设计

使用visual foxpro 6.0开发系统时,可以使用visual foxpro 6.0自带数据库管理系统,各个数据表的字段设置如下:

1             商品销售信息表( xiaoshou.dbf )

字段名

字段类型

宽度

说明

商品编号

字符

6

普通索引

销售日期

日期

8

 

销售单价

数值

5

 

销售数量

数值

5

 

折扣

数值

3

 

小计

字符

9

 

2             商品销售记录表( xiaoshoujilu.dbf )

字段名

字段类型

宽度

说明

商品编号

字符

6

普通索引

销售日期

日期

8

 

销售单价

数值

5

 

销售数量

数值

5

 

折扣

数值

3

 

合计

字符

8

 

3             商品信息表( shangpin.dbf )

字段名

字段类型

宽度

说明

商品编号

字符

6

普通索引

商品名称

字符

30

普通索引

供应商名称

字符

30

普通索引

供应商编号

字符

6

普通索引

商品进价

数值

7

2位小数

商品售价

数值

7

2位小数

进货日期

日期

8

 

库存量

数值

5

普通索引

备注

备注

备注

 

4               供应商信息表( gongyingshang .dbf )

字段名

字段类型

宽度

说明

供应商编号

字符

6

普通索引

供应商名称

字符

30

普通索引

负责人

字符

10

普通索引

联系电话

数值

13

 

联系地址

字符

30

 

备注

备注

备注

 

5               管理员信息表( user .dbf )

字段名

字段类型

宽度

说明

管理员代码

字符

6

普通索引

管理员姓名

字符

30

 

密码

字符

10

 

Rank(权限)

数值

1

 

 

4.5.3数据库的备份和恢复

信息数据是企业中非常重要的资源,因此保证数据库的安全可靠、正确有效是非常重要的问题。为了保证数据库的安全性,本系统特意设计了数据库的备份与恢复。

数据库备份主要用于对数据库中的现有数据进行备份,以便日后使用。

数据库恢复主要用于当数据库中的数据损坏时进行数据的还原,以保证系统的正常运行和数据库中的数据的安全性。

第五章  系统实施

5.1 语言的选择

微软公司的Microsoft Visual FoxPro 6.0Windows应用程序开发工具,Microsoft Visual FoxPro 6.0是目前最流行、最简单、使用最广泛的软件开发工具之一。它在编程上的深入性、运行的快速性等方面都具有很强的功能。Microsoft Visual FoxPro 6.0提供了相当友好的编程和操作界面,借助于Microsoft Visual FoxPro 6.0可以轻松地开发出功能强、速度快、应用广 并且占用资源少的应用程序。此外它还提供了强大的查询与管理功能、引入数据库表的概念、扩大对SQL语言的支持、大量使用可视化的界面操作工具、支持面向对象的程序设计、通过OLE实现应用、支持网络应用等等。故而,实现本系统VFP是一个相对较好的选择。

5.2 系统的运行环境

1、硬件配置要求:

      CPU:赛扬D2.53

      内存:512MB

      硬盘:80GB

      打印机:推荐EPSON  LQ-1600K

   2、软件配置要求:

      WINDOWS 2000/2003/XP中文版操作系统。

在安装了VF的计算机上,在程序目录,双击可执行文件即可。

    如果系统自带了vf6.0的运行库可以在任何电脑中运行,只要程序所在的目录下双击可执行文件即可。

5.3程序完成情况表

                模块

完成情况

            商品入库登记

完成

            商品销售登记

完成

            添加供应商

完成

            商品价格修改

完成

            库存商品查询

完成

            销售记录查询

完成

            供应商查询

完成

            打印库存商品报表

完成

            打印销售记录

完成

            打印供应商信息

完成

5.4界面设计及程序设计

1)商品入库:

       
                              
5-1 商品入库

a.添加按钮的实现代码:

if this.caption="添加"

    this.caption="保存"

    this.parent.tag=str(recn())

    thisform.txt商品编号.enabled=.t.

    thisform.txt商品名称.enabled=.t.

    thisform.txt商品进价.enabled=.t.

    thisform.txt商品售价.enabled=.t.

    thisform.txt供应商编号.enabled=.t.

    thisform.txt供应商名称.enabled=.t.

    thisform.txt进货日期.enabled=.t.

    thisform.txt库存量.enabled=.t.

    thisform.edt备注.enabled=.t.

    append blank

    thisform.commandgroup2.command2.enabled=.t.   

else

   this.caption="添加

   thisform.txt商品编号.enabled=.f.

    thisform.txt商品名称.enabled=.f.

    thisform.txt商品进价.enabled=.f.

    thisform.txt商品售价.enabled=.f.

    thisform.txt供应商编号.enabled=.f.

    thisform.txt供应商名称.enabled=.f.

    thisform.txt进货日期.enabled=.f.

    thisform.txt库存量.enabled=.f.

    thisform.edt备注.enabled=.f.

    thisform.commandgroup2.command2.enabled=.f.   

endif

 thisform.refresh

b.取消按钮代码:

if messagebox("确定取消么",4+32,"系统提示")=6

       select shangpin

              tablerevert(.f.)

       if eof() .and. bof() .or. reccount()=0

                     thisform.init

              else

              if eof()

                     skip-1

              else

                     skip

              endif      

endif

endif

thisform.commandgroup2.command1.caption="添加"

thisform.refresh

添加供应商的代码商品入库的代码相似。

2)供应商查询:

   a.单选按钮组的代码实现:

   do case

  case this.value=1   &&按供应商编号查询

    thisform.text1.enabled=.t.

    thisform.text2.enabled=.f.

    thisform.text3.enabled=.f.  

    thisform.text1.value=""

    thisform.text2.value=""

    thisform.text3.value=""   

     thisform.text1.setfocus

     thisform.grid1.refresh   

  case this.value=2   &&按供应商名称号查询

    thisform.text1.enabled=.f.

    thisform.text2.enabled=.t.

  
                        
5-2  供应商查询

 thisform.text3.enabled=.f.

    thisform.text1.value=""

    thisform.text2.value=""

    thisform.text3.value=""

     thisform.text2.setfocus

     thisform.grid1.refresh   

  case this.value=3   &&按供应商负责人查询

    thisform.text1.enabled=.f.

    thisform.text2.enabled=.f.

    thisform.text3.enabled=.t.   

    thisform.text1.value=""

    thisform.text2.value=""

    thisform.text3.value=""   

     thisform.text3.setfocus

     thisform.grid1.refresh   

  endcase

  thisform.refresh

  b. 按供应商编号查询的text1valid的代码如下(本页的其余的查询方式的代码与此相似)

    select gongyingshang

set filter to 供应商编号=alltrim(thisform.text1.value)

thisform.grid1.refresh

3)商品查询

商品查询界面如下图

                            5-3 商品查询

a.       按日期查询按钮代码如下:

    select shangpin

public qsrq,jzrq

qsrq=thisform.text3.value

jzrq=thisform.text4.value

do case

  case not empty(qsrq) and empty(jzrq)

       set filter to 进货日期>=qsrq

  case empty(qsrq) and not empty(jzrq)

       set filter to 进货日期<=jzrq

  case not empty(qsrq) and not empty(jzrq)

       set filter to 进货日期>=qsrq and 进货日期<=jzrq

  otherwise

       messagebox("未输入查询商品的进货日期!","提示")

endcase

thisform.grid1.refresh 

  b. 按商品编号查询的text1(valid)的实现代码如下:(其他的查询方式与此类似)

    select shangpin

set filter to 商品编号=alltrim(thisform.text1.value)

thisform.grid1.refresh

4)商品销售

商品销售界面设计如下图:

                 
5-4 商品销售 

其中商品编号、销售数量和交款由操作人员输入,其余各数据由系统自动输出或计算。

应收款小计的text的代码为:

  thisform.text5.value=thisform.text2.value*thisform.text3.value* thisform.text4.value

交款的text代码为:

  thisform.text8.value= thisform.text7.value-thisform.text5.value

确定按钮的(click)代码为:

  sele xiaoshou

append blank

    replace 商品编号 with thisform.text1.value

    replace 销售数量 with thisform.text4.value

    replace 销售单价 with thisform.text2.value

    replace 折扣 with thisform.text3.value

    replace 小计 with thisform.text5.value

    replace 销售日期 with date()

sele  xiaoshoujilu

append blank

    replace 商品编号 with thisform.text1.value

    replace 销售数量 with thisform.text4.value

    replace 销售单价 with thisform.text2.value

    replace 折扣 with thisform.text3.value

    replace 合计 with thisform.text5.value

    replace 销售日期 with date()

sele shangpin

replace 库存量 with 库存量 - thisform.text4.value

if 库存量 < 1

    messagebox("库存量小于 1 ",48,"存量不足,请进货!")

endif

select xiaoshoujilu

thisform.text1.value=""

thisform.text2.value=""

thisform.text5.value=0

thisform.text6.value=""

thisform.text1.setfocus()

this.enabled =.f.

thisform.refresh

说明:当操作员输完所有的数据,点击“确定”按钮时,系统自动将相关记录添加到“销售统计表”中,如该商品的库存为空,此时系统自动提示“库存量小于1,存量不足,请进货!”

第六章 系统使用与评价

6.1 本系统的使用方法

1)登陆:

每次运行时,打开程序所在的目录,双击程序(或右击选择打开)是会打开如下的登陆界面:

6-1 用户登陆界面

它对操作员进行口令验证,防止非法用户进入系统,任意增加、修改和删除数据。在选择或输入用户并提供正确的密码后,点登陆按钮即可进入系统,点取消放弃登录,退出系统。如果不能提供正确密码,在点确定按钮后会有相应提示,如果连续三次都输入了错误的密码,系统将自行关闭。系统的管理员分为两个级别:系统管理员和普通管理员。系统管理拥有一切权限,可以对数据进行初始化、数据备份、数据恢复、删除和修改其他的管理员信息。登陆时候请确认您的管理员级别。

2)数据录入:

进入系统后,在系统主界面的最上方是下拉菜单,系统的主要功能都集中于此。从左起第二个子菜单就是数据录入。其主要功能是向数据库中录入新的数据,包括商品入库和添加供应商信息。

本菜单系统管理员和普通管理均可用。
3
)开始工作(数据维护):

系统管理员进入系统后,在系统主界面的最上方是下拉菜单(如下图),系

6-2  系统目录
统的主要功能都集中于此。从左起第一个子菜单就是开始工作(系统维护),系统维护下面有数据初始化数据备份数据恢复退出等子菜单,现在分别介绍它们的功能:

数据初始化:清空当前系统中除用户信息之外的所有数据,恢复成系统的初始状。

数据备份:备份系统当前数据,可自行选择要备份的数据及备份去向。

数据恢复:用以前备份的数据替换系统当前的数据。

为了系统的安全,本操作只限系统管理员可用。

4)数据查询

进入系统后,在系统主界面的最上方是下拉菜单。从左起第三个子菜单是数据查询。其主要功能是查询系统当前的数据,数据查询下面的子菜单有:商品信息查询供应商查询管理员查询登陆日志查询。打开相应的界面进行查询,各个界面都可以根据用户输入的数据进行相应的查询。

其中,“管理员查询”和“登陆日志”只限系统管理可用。

5)商品销售:

用户进入系统后,可以点击主界面上的 按钮,系统会自动打开如下对话框:

 
6-3  商品销售

用户输入“商品编号”和“销售数量”时,系统会自动计算出“应收款小计”,当输入顾客缴款数量的时候,系统也能同样计算出应该找零。当点击“确定”按钮时交易完成,该商品的库存量会自动减去“销售数量”,当该商品的库存量小于1时,系统会自动提示“该商品已售完,可以进货。”,以提醒用户及时进货来补充该商品的库存量。

6)报表打印:

进入系统后,在系统主界面的最上方是下拉菜单。从左起第四个子菜单是报表打印,其主要功能是打印和预览系统设定的报表。下面的子菜单有:商品销售纪录供应商信息报表库存商品报表管理员档案登陆日志。当点击这些菜单时会打开相应的报表浏览。如果没有安装打印机,将会提示安装打印机,此时应该点并选忽略,否则系统将会产生错误;打印报表可以打印生成的报表。

或者点击命令按钮组的 按钮,也可以打开如下的界面进行报表的打印:

6-4  打印报表

其中,管理员档案登陆日志只限系统管理员可用,其的报表打印普通管理员可用。

6.2系统评价

1)经济评价

由于使用了本系统,减少了相关人员的手工操作的工作量,以前很多人长时间才能完成的工作,现在只需要少数的几个人在短时间内就可以完成。这样即可以在现有的员工人数不变的情况下扩大业务也可以实现减员增效。这样无形中就增加了公司的经济收入。同时由于使用了本系统增也提升业务效率,其中的无形价值更加巨大。

2)性能评价

由于使用了本系统,使得企业在商品入库管理,商品销售管理,商品价格调整和各种信息查询等方面有了质的突破。并且实现了查询、统计的功能,使企业的经营状况清晰可见,整个商品销售管理更加科学化,规范化。

3)管理评价

在使用本系统之后,不但提高了商品信息的管理效率,同时也改掉了很多手工操作的弊端,提高了管理效率,还将现行的管理体制以及人力、物力进行了更加合理的配置和优化。

 

 

 

 

 

 

 

 

 

 

结论

通过调研与代码编写,商品信息综合管理系统终于完成。在系统的制作过程中,以前学习感到很抽象的课程,像面向对象程序设等逐渐变得清晰起来。逐渐的感觉到这几门理论课程的重要性。

在学习vf6.0及面向对象时候,也相应的做一些应用的系统程序的练习,但是这些练习不够系统,随意性大,想到那里做到那里,没有统一的规划,没有形成一个完整的指导文档,一旦系统成型,出现错误时返工修改工作量较大,最终造成系统可靠性不高,难以实用。

这次的毕业设计开发,让我深切的体会到面向对象是系统开发过程中十分重要的一部分,他可以在系统开发初期就能让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的方便。通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更加深刻的认识。开始很陌生的程序设计开始逐渐的熟悉起来,为以后的工作、学习的进一步提高打下了坚实的基础。

 

 

 

 

 

 

 

 

 

 

致谢

感谢学校以认真负责的态度为我们组织这次毕业设计以及毕业论文答辩。老师们的严格把关,对我们来说有很大的压力。在这种压力下促使我们以最快的速度融入到程序开发理论的应用中去,通过这次理论联系实际的锻炼,使我们的系统分析与代码编写水平有了较大的进步。在这次毕业设计中积累的经验将对我们以后学习更加深入的知识有很大的帮助。

感谢我的指导老师,在设计的过程中提出了许多有益且宝贵的建议和意见。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考文献

1.《管理信息系统导论》                       黄梯云        机械工业出版社

2.《管理信息系统》                           黄梯云        经济科学出版社

3.《信息系统开发》                           甘仞初        经济科学出版社

4.《数据组织与结构》                         王珊          经济科学出版社

5.《软件开发工具》                           方美琪        经济科学出版社

6.Visual FoxPro6.0简明教程》               魏绍谦        高等教育出版社

7.Visual FoxPro6.0中文程序员指南》                       北京希望电脑

8.Visual FoxPro6.0中文版基础培训教程》     姜继红       人民邮电出版社

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附录

 

 

  • 6
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
很高兴能够为您提供帮助。成绩管理系统是一个比较常见的应用,可以使用C语言进行编程实现。以下是一个简单的成绩管理系统的C语言程序设计: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STUDENT_NUM 100 // 最大学生数 // 学生结构体 struct Student { char name[50]; int id; float grade; }; // 学生数组 struct Student students[MAX_STUDENT_NUM]; // 学生数量 int student_num = 0; // 添加学生 void add_student() { struct Student s; printf("请输入学生姓名:"); scanf("%s", s.name); printf("请输入学生学号:"); scanf("%d", &s.id); printf("请输入学生成绩:"); scanf("%f", &s.grade); students[student_num++] = s; } // 显示所有学生信息 void show_students() { printf("姓名\t学号\t成绩\n"); for (int i = 0; i < student_num; i++) { printf("%s\t%d\t%.2f\n", students[i].name, students[i].id, students[i].grade); } } // 根据学号查找学生 void find_student_by_id() { int id; printf("请输入学生学号:"); scanf("%d", &id); for (int i = 0; i < student_num; i++) { if (students[i].id == id) { printf("姓名:%s 学号:%d 成绩:%.2f\n", students[i].name, students[i].id, students[i].grade); return; } } printf("未找到学号为%d的学生\n", id); } // 根据成绩排序 void sort_students_by_grade() { for (int i = 0; i < student_num - 1; i++) { for (int j = i + 1; j < student_num; j++) { if (students[i].grade < students[j].grade) { struct Student temp = students[i]; students[i] = students[j]; students[j] = temp; } } } } // 主函数 int main() { int choice; while (1) { printf("1. 添加学生\n"); printf("2. 显示所有学生信息\n"); printf("3. 根据学号查找学生\n"); printf("4. 根据成绩排序\n"); printf("5. 退出\n"); printf("请选择操作:"); scanf("%d", &choice); switch (choice) { case 1: add_student(); break; case 2: show_students(); break; case 3: find_student_by_id(); break; case 4: sort_students_by_grade(); break; case 5: exit(0); default: printf("无效操作,请重新选择\n"); break; } } return 0; } ``` 这个程序实现了添加学生、显示所有学生信息、根据学号查找学生、根据成绩排序等功能。您可以根据自己的需要进行修改和扩展。如果您有更多的问题或需求,请随时告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值