- 引 言
加之,现在客户的期望值越来越高,客户需要更好的服务(产品的质量及个性化服务)。企业的竞争已逐渐从产品的竞争转变为服务的竞争,因此中小企业要发展就必须进一步优化业务流程以提高企业竞争能力。Sales management system就是针对中小企业的销售、服务和营销体系进行规范化管理,以解决困饶中小企业的一系列问题,提高效率、降低成本。
企业汽车销售管理系统(Sales management system)通过对客户关系、销售行动、销售过程等环节记录、管理与分析,使销售管理从经验走向科学、从个人主导走向企业主导,针对中小企业销售管理中存在的诸多问题,从中小企业的销售管理的主要需求出发,充分“以客户为中心”,为中小企业建立弹性化和灵活性的业务流程。企业及个人可以完全按照企业的需要,制定适合企业特点的业务流程,实现对各种数据的规范化,自动化的计算机管理。同时加强了中小企业销售过程中协同作业的能力,并实现了中小企业销售管理过程中的移动办公管理,帮助中小企业建立以市场为基础,客户为导向的业务模式。帮助中小企业建立起规范化的企业营销体系,以提高企业营销的效率、竞争力,使企业决策层能够及时抓住市场的动态,推动市场的营销步伐,大幅度地提高市场占有率。
第二章 系统分析
2.1系统基本情况描述
汽车销售管理系统是典型的信息管理系统,其开发包括后台数据库的建立及前台应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强数据安全性好的库,我采用了Microsoft Access 2000, 而对于后者则要求应用程序功能完备,易使用等特点,我使用了Visual Basic 6.0。利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而见解操作数据库的只能化对象,首先在短时间内建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
汽车销售管理系统主要是对商品从购入到入库到销售出库中各个环节所发生的事件进行记录,以及对商品仓库的日常事务进行处理。能随时查询仓库的库存和已售商品。可根据进货统计、销售统计、图表分析,来决定采购计划和暂停采购的商品清单,提高资金利用率。能随时进行员工的业绩查询、厂商查询等,提高企业的科学管理水平。
2.2需求分析
在信息技术飞速发展的今天,各行各业使用计算机在辅助协调和管理自身工作的需求越来越高。人们都希望通过计算机技术来实现对各种事务的自动化管理。目前,企业办公自动化正朝着多功能,复合化和系统化的方向发展,汽车销售管理系统是企业办公自动化的一种体现.销售管理也是企业主要的事务管理之一,是提高企业竞争力的重要环节。
企业销售管理作为ERP的一部分,在企业管理中占重要地位,其计算机化在发达国家中也已经达到了相当高的水平。目前,我国企业销售管理方面的软件系统也为数不少,但这些系统的实用性并不强,它们普遍存在以下缺陷:
(1)针对国内众多中小企业迫切需要信息化管理,但处在初步需求阶段,无法承受诸如大型ERP、财务销售仓储一体信息化管理的中级阶段。自主开发的软件往往平台较低且功能单一,商用软件又过于注重通用性,无法充分考虑每一个具体单位、具体部门的实际需求。
(2)销售数据标准化程度较差,难以保证数据的唯一性和权威性。
(3)忽略了对销售数据的分析,使得销售经理需查询帐单,才能了解销售情况,在一定程度上的影响了对市场的判断和预测。
(4)没有注重对客户的管理,严重影响了企业对客户需求的了解,难以把握市场动态。
针对上述的缺陷,本系统以合理、全面、准确的国内外企业销售管理体系为基础,提供了对商品、员工、客户、厂商的全面管理,并且提供了全面的登记、查询、修改等功能。系统对商品从入库到出库到销售,整个商品流通中各个环节所发生的事件进行记录,以及对商品仓库的日常事务进行处理,能随时提供商品库的库存信息、商品销售信息,还能根据现有库存,销售情况分析商品市场前景,为采购计划提供有效的参考,以提高资金的利用率,避免不必要的损失。能随时进行员工的业绩查询、厂商查询等,提高企业的科学管理水平。
客户是企业的生命之源,对企业各类客户详细资料的收集、整理和综合深入分析,对客户请求的更快速响应,来提高客户满意度,是提高企业竞争力的一种现代化管理系统。系统中特别加入客户管理功能,可将特别客户设为会员,给予一定的优惠。同时也收集了客户的基本信息,对于企业采购计划,市场预测具有很大的价值。
特别值得一提的是计算机系统在运行的过程中,难免会出现硬件故障,系统软件和应用软件的错误,而造成计算机瘫痪或应用软件无法运用,这样数据库备份与恢复就显得特别重要,尤其在商务软件中,一但数据丢失,后果不堪设想。为此,本系统提供应数据库的备份与恢复功能,更好的确保了数据的完整性。
开发的这个汽车销售管理系统,它可以完成对商品的浏览、查询、修改、出库、入库及销售表单打印等功能,大大方便了商品销售的管理。而且它对传统的手工劳动冲击不大,备有的用户手册使用户不至于不适应,这样操作起来,用户也能快速的接受。此管理系统是在单机上用户根据不同的身份登录,而不能在网络环境中实现。
2.3 E-R图
图2.1 E-R图
其中用户与商品、用户与客户、用户与厂商之间是m:n的关系
2.4系统要求
任何系统的设计离不开软件、硬件环境的支持。合理地配置系统的软硬件环境是系统设计中必不可少的环节。
汽车销售管理系统的所配置的软件、硬件环境如下:
1. 软件环境
该软件是使用Visual Basic 6 和Microsoft Access 2000在windows xp系统下完成的,所以只要是兼容windows的软件或是操作系统,该软件都可以正确地运行,有较好的适应能力与兼容性。而且应用户的特殊需求,软件在完成后的维护阶段可以保持一个与其他类软件接口,随时满足用户的使用要求。
2.硬件环境
- 具有pentium166以上微处理器的微型计算机
- VGA或更高分辨率的显示器
- 32M或更大的内存
3.系统性能要求
(1)界面友好,且具有较高的人机交互的灵活性与方便性。
(2)系统响应时间与信息处理时间必须要尽量短,减少等待时间。
(3)由于商品数据信息重要,必须确保数据具有很高的正确性,不允许出现数据库错误等情况。
4.系统故障处理要求:
当出现断电﹑死机等意外情况时,必须能恢复到出现情况前的状况,能及时备份数据和恢复数据。
当一台机子出现问题时,其上的数据能安全的转移到其他机子上,并能够安全无误的运行。
2.5开发工具
本系统采用Visual Basic 6.0为前台语言,Microsoft Access 2000为后台数据库。
Visual Basic功能强大,有许多优点和特色,这其中包括:1. Visual Basic内部封装了许多对象操作,语法简单、自然,充分体现了面向对象的程序设计思想。2. Visual Basic提供了许多功能强大的组件,加上可视化的程序设计环境,使开发者能比用其他的开发工具更快的编写出复杂的Windows应用程序。3. Visual Basic可视化的集成开发环境具有充分的开放性,允许开发者将自己创建的组件、工具、向导等无痕迹的融合进去,极大地提高了开发效率。4. Visual Basic提供了强大的数据库访问操作功能,除了支持RDO(Remote Data Objects)和DAO(Data Access Objects)格式外,还支持现在的主流格式ADO(ActiveX Data Objects)。ADO强大的功能之一是它能够从不同的数据源中获得数据,而不仅仅局限于数据库。除了新的ADO对象应用外,VB还提供了ADO数据控件。此外,VB还支持流行的数据库连接标准OLE DB。
Microsoft Access关系型数据库是目前广为使用小型数据库系统之一。Microsoft Access提供标准的查询语言,方便开发数据库应用程序。
2.6 程序设计要求
程序的编写必须是正确的,能在计算机上编译调试,并能顺利运行。程序必须具有较好的结构性,层次分明。程序必须具有较高的速率,运行速度快,程序最后调试的结构必须具有较好的人机对话界面,交互性强,适用范围广泛。程序必须具有注释、说明、技术文档,可读性好。只有具备以上几点才能使人和机器之间得以沟通,使操作人员可以通过键盘鼠标很方便的与正在执行的系统进行对话。同时还要考虑到程序的安全性、可靠性、可移植性。只有满足这些要求,程序才是合格的程序。系统是在关系型数据库Microsoft Access 2000支持下采用Visual Basic 6.0开发的。
2.7关键问题和关键技术
2.7.1关键问题
* 用户需求分析
* 系统整体规划方案及设定
* 功能模块的划分及设定
* 利用ADO实现与数据库的连接
* 实现数据的输入、输出
2.7.2关键技术
* 分析生产的整个过程,弄清系统的各个功能以及它们之间的联系。
* 将系统中所需的数据建立成表,分析其中的关系,按照参照完整性规则建立联系。
* 灵活运用Adodc控件,MSChart控件实现与Microsoft Access的连接。
* 利用Visual Basic开发系统更强大的功能,使的系统操作更灵活,更方便。
第三章 系统设计
3. 1 设计思想
系统分析阶段的主要任务是解决系统究竟要“干什么”的问题,其结果是得到汽车销售管理系统的逻辑模型,书面形式为系统分析说明书。系统分析说明书是系统设计的依据。系统设计又称为新系统的物理设计,它的主要任务是依据系统分析阶段所建立的逻辑模型来设计系统的物理模型,或者说解决系统“怎样做”的问题。
系统设计也应该按照结构化的指导思想来进行。系统设计可以分成概要设计和详细设计两个阶段。概要设计通常采用结构化的系统设计方法,其主要任务是根据软件需求说明书,用一组标准的准则和图表工具确定系统有哪些模块,用什么方法连接在一起,从而构成最好的系统结构;同时设计出全局数据库和数据结构,规定设计限制,制定组装测试计划。详细设计阶段的主要任务是依据概要设计说明书,权衡各种处理方法和技术手段的利弊,采用结构化的设计方法,实现系统的总体设计和计算机处理过程的详细设计,其中包括代码、输入、输出、处理方式和数据存储的设计等。
汽车销售管理系统是由计算机管理商品信息等各项事务。首先建立一个数据库,用以存取商品的信息,然后建立用户数据库,用来实现对销售的管理,最后设计系统,提供一个人机交互的平台。
本系统采用模块化设计,各模块既相互独立,又互相联系。具有实用性及扩展性,可以对本系统的功能不断充实完善,同时不会对别的模块有影响,可维护性好。本系统是基于Visual Basic开发平台,Microsoft Access数据库,具有数据的录入、查询、修改、统计、打印、维护等功能。
3.2 各模块功能设计
汽车销售管理系统包括系统管理管理模块、交易管理模块、客户管理模块、查询管理模块、统计分析模块、员工管理模块和帮助窗口模块7个模块。
3.2.1 功能模块:
图3.1 功能模块图
根据模块我们认为系统的主要目标是:能实现对商品基本信息、员工基本信息,客户基本信息等信息的的管理。提供对这些信息的浏览、添加、查询、修改与删除等功能。所有的一切都必须遵循以下原则:以系统管理员为中心,方便管理,保障系统的正常工作及安全。
- 系统管理
- 用户登录
- 修改密码
- 退出系统
- 交易管理
- 进货登记
- 销售登记
- 退货登记
- 客户管理
- 会员登记
- 会员查询
- 查询管理
- 存货查询
- 销售查询
- 退货查询
- 厂商查询
- 统计分析
- 进货统计
- 销售统计
- 图表分析
- 员工管理
- 业绩查看
- 员工登记
- 员工查询
- 帮助
- 版本信息
3.2.2 模块基本信息
(1)系统管理
包括用户登录、修改密码、退出系统三个部分。
(2)交易管理
在交易过程中,实现商品进行进货登记、销售登记、退货登记等功能。
(3)客户管理
在销售过程中建立会员制度,对会员客户给予一定的优惠,进一步完善客户关系网。主要实现会员的登记、会员查询等功能。
(4)查询管理
处理对各种信息表的查询,如进货信息、销售信息、退货信息、厂商信息等。
(5)统计分析
这一模块对于企业的效益与发展起着至关重要的作用。除了实现对进货、销售、退货的统计外,利用各种销售信息、客户反映信息,对数据进行统计分析,以便企业能对市场进行准确的预测和作出正确的决断。
(6)员工管理
为了调动员工的工作积极性,使员工的薪水和他们的销售情况挂钩。建立员工的销售情况查询,以便对他们的业绩进行考核和评比。实现业绩查看、员工登记、员工表查询等功能。
(7)帮助
一个良好的Windows应用程序应该提供一个About窗口,其中包括本系统的名称、所有者、联系方式、 版本号与专利信息等。
3.2.3 输入输出原则
我们在设计输入模块时必须保证向系统输入正确的数据,在此前提下,应做到输入方法简单、迅速、经济、方便。为此,输入设计应遵循以下原则:
(1)最小量原则
(2)简单性原则
(3)早检验性原则
(4)少转换原则
输出设计包括以下几方面的内容:
(1) 确定输出内容
(2) 选择输出设备与介质
(3) 确定输出格式
3.3 数据流程图
数据流程图是描述现有系统和每个候选系统中数据的流动、存储和处理状况的图形。它是表达软件系统处理功能的合适工具,也是结构化系统分析的主要工具,更是编写系统需求分析资料、设计系统总体逻辑模型的有力工具。它能表达什么数据流入系统,它们从何处来,经过一些什么处理,变成了一些什么数据,分别流向何处,其中哪些数据需要存储等。我们选P1模块来详细的了解他它内部的逻辑功能,内部图如下图3.4所示。
图3.2 顶层数据流图
图3.4 进销退货数据流图
3.4 系统设计策略
结构图可以用来表示系统设计的成果,但并没有给出如何得到这个成果的方法,系统设计策略将解决这个问题,它给出了将数据流程图转换成结构图的两种方法,即事务分析和变换分析。
我们采用事务分析的方法得出结构图:
图3.5 功能结构图
3.5 系统流程图
图3.6 系统流程图
3.6 数据结构
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,像记录、域等。现在我们采用Microsoft公司的 Access 2000 做为数据库平台。新建一个数据库,创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计,这包括:标识需要的数据,收集被标识的字段到表中,标识主关键字字段,绘制一个简单的数据图表,规范数据,标识指定字段的信息,创建物理表。其所建表的结构如下:
3.6.1 数据字典
-
- 员工表
字段 | 类型 | 说明 |
员工编号 | 长整型 | 自动编号,主键 |
员工姓名 | 文本 | 字段大小为10 |
员工电话 | 文本 | 字段大小为20 |
员工地址 | 文本 | 字段大小为100 |
-
- 现存货表
字段 | 类型 | 说明 |
商品编号 | 长整型 | 自动编号,主键 |
生产厂商 | 文本 | 字段大小为20 |
商品名 | 文本 | 字段大小为20 |
型号 | 文本 | 字段大小为20 |
单价 | 货币 | 无 |
数量 | 数字 | 长整型 |
总金额 | 数字 | 长整型 |
进货年 | 数字 | 整型 |
进货月 | 数字 | 整型 |
进货日 | 数字 | 整型 |
业务员编号 | 数字 | 长整型 |
c) 已售商品表
字段 | 类型 | 说明 |
商品编号 | 长整型 | 自动编号,主键 |
生产厂商 | 文本 | 字段大小为20 |
商品名 | 文本 | 字段大小为20 |
型号 | 文本 | 字段大小为20 |
单价 | 货币 | 无 |
数量 | 数字 | 长整型 |
总金额 | 数字 | 长整型 |
销售年 | 数字 | 整型 |
销售月 | 数字 | 整型 |
销售日 | 数字 | 整型 |
业务员编号 | 数字 | 长整型 |
- 退货表
字段 | 类型 | 说明 |
商品编号 | 长整型 | 自动编号,主键 |
生产厂商 | 文本 | 字段大小为20 |
商品名 | 文本 | 字段大小为20 |
型号 | 文本 | 字段大小为20 |
单价 | 货币 | 无 |
数量 | 数字 | 长整型 |
总金额 | 数字 | 长整型 |
退货年 | 数字 | 整型 |
退货月 | 数字 | 整型 |
退货日 | 数字 | 整型 |
业务员编号 | 数字 | 长整型 |
e) 进货厂商表
字段 | 类型 | 说明 |
厂商编号 | 长整型 | 自动编号,主键 |
厂商名称 | 文本 | 字段大小为20 |
法人代表 | 文本 | 字段大小为10 |
厂商地址 | 文本 | 字段大小为100 |
- 用户表
字段 | 类型 | 说明 |
用户编号 | 长整型 | 自动编号,主键 |
用户名 | 文本 | 字段大小为10 |
密码 | 文本 | 字段大小为10 |
- 客户表
字段 | 类型 | 说明 |
会员编号 | 长整型 | 自动编号,主键 |
会员姓名 | 文本 | 字段大小为10 |
会员电话 | 文本 | 字段大小为20 |
会员地址 | 文本 | 字段大小为100 |
3.6.2数据库的逻辑设计
数据库技术主要解决的是对于给定的一组数据如何构造一个适合它们的数据库模式。这种逻辑结构一般用关系数据库来描述,在关系数据库中一个关系既可用来描述实体及其属性,又可以用来描述实体之间的关系。
在关系数据库规范化理论中所提到的关系实质上是一张二维表,表的每一行叫做一个元组,是某个实体或实体之间联系中的一个具体值,通常称为一个“记录”。每一列叫做一个属性,通常称为“数据元素”或“数据项”,每一个元组必须用关键字来标识该元组以区别于关系中的其他元组。把关系看成二维表具有以下几个性质:
- 在任一列上,数据项应该属于同一个属性;
- 这个表中的所有的行都是不相同的,即不允许有重复的组项出现;
- 在一个表中,行的顺序无关紧要;
- 在一个表中,每一列有不同的名称,并且列的顺序也无关紧要。
在本数据库中,我们采用第二范式来设置表。以现存货表为例:
在现存货表中,各属性之间的依赖关系是:
将这个关系组织成如下形式:
商品编号 | 生产厂商 | 商品名 | 型号 | 单价 | 数量 | 总金额 | 进货年 | 进货月 | 进货日 | 业务员编号 |
*商品编号
*商品编号
商品名 商品名
生产厂商 生产厂商
型号 型号
数量 数量
进货年 进货年
进货月 进货月
之所以选用第二范式来设计表,主要是从内聚性和耦合度方面来考虑的。
3.6.3 数据库的安全性和完整性
在信息时代,信息安全问题越来越重要。数据库所存储的数据是一个部门的宝贵信息资源,它通常可为许多合法用户共享,同时必须防止非法用户访问,甚至更改和破坏。此外,还要防止对数据库不正确的更新,造成数据库的不一致性,保证它的完整性。因此数据库的安全性和完整性十分重要,DBMS必须提供数据库安全性和完整性的保护机制。
数据库的安全性,就是防止非法用户使用数据库造成数据泄露、更改或破坏,以达到保护数据库的目的。数据库中的数据必须在DBMS统一的严格的控制之下,只允许有合法使用权限的用户访问,尽可能杜绝所有可能对数据库的非法访问。一个DBMS能否有效地保证数据库的安全性是它的主要性能指标之一。
用户标识与鉴定是系统提供的最外层的安全保护措施。每个用户都登记一个用户标识符,它是用户公开的标识。但为了正确识别用户,防止别人冒名顶替,仅使用用户标识符是不够的,还需要进一步鉴别用户身份。
为了进一步鉴别用户,目前最广泛的就是使用口令。这样,每次用户要求进入系统时,必须得输入用户的标识符和口令,系统核对用户标识符和口令以鉴别用户身份。只有当用户标识符和口令核实正确后,用户才能使用计算机。
数据库的完整性是指授权用户对数据库更新时不会破坏数据的一致性,从而保证数据库中数据是正确的、一致的、相容的。对于违背完整性约束条件的操作则拒绝处理。
关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束;实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为是关系的两个不变性,应该由关系系统自动支持。
第四章 系统实现
4.1实现策略
用户通过输入正确的用户名和密码进行登录,如果三者都正确则可以通过菜单访问各个模块,对各个模块进行操作。如果三次密码都不正确,则系统自动退出。下面简要介绍各个模块的程序实现。
4.2系统主窗体
在这个窗体中,我们可以根据窗体中所列的菜单,找到你所要访问的模块,并对之进行操作。
图4.1 系统主窗体
界面设置:本窗体主要由窗体、菜单栏、工具栏、状态栏等组成,总体如上图所示。新建一个多文档(MDI)窗体,在里面加入一个Toolbar控件,一个ImageList控件,一个Timer控件,一个StatusBar控件。设计时一般先设计窗体背景和窗体标题,菜单栏通过VB中的菜单编辑器进行设计,工具栏通过设计ImageList控件和Toolbar控件实现,状态栏通过设计StatusBar控件实现,其中Timer控件用来控制在StatusBar中的时间显示。
4.3系统管理
4.3.1 用户登录
界面设计:新建一个窗体,在里面加入三个Image控件,两个TextBox控件,两个label控件,两个CommandButton控件。
4.4.2 修改密码
图4.3 修改密码
界面设计:新建一个窗体,在里面加入一个Frame控件,四个TextBox控件,四个label控件,两个CommandButton控件。
4.4 交易管理
4.4.1进货登记
在这个界面里我们可以通过第一个容器实现添加商品入库,通过第二个容器实现添加新的厂商。单击清空重填按钮,可以清空文本框,便于用户重添信息。单击关闭则可以关闭此窗口。
图4.4 进货登记界
界面设计:新建一个窗体,在里面加入两个Frame控件,十六个TextBox控件,十六个label控件,四个CommandButton控件。
4.4.2销售登记
在这个界面里主要实现销售时对商品信息的处理,单击销售按钮将该商品信息从库存表中删除,并写入已销售商品表中。单击打印按钮,可以打印销售发票单。
图4.5 销售登记界面
界面设计:新建一个窗体,在里面加入十一个TextBox控件,十二个label控件,三个CommandButton控件。其中通过printer对象来实现打印。
4.4.3 退货登记
主要实现对退货商品信息的处理,将数据从已销售商品表中删除,并写入退货表中。
图4.6 退货登记界面
界面设计:新建一个窗体,在里面加入十一个TextBox控件,十二个label控件,两个CommandButton控件。
4.5 客户管理
4.5.1 会员登记
主要实现会员信息的添加。
图4.7会员登记
界面设计:新建一个窗体,在里面加入一个Frame控件,四个TextBox控件,四个label控件,两个CommandButton控件。
4.5.2 会员查询
主要实现对会员信息的查询、修改、删除等功能。
界面设计:新建一个窗体,在里面加入一个DataGrid控件,一个Adodc控件,两个CommandButton控件。
图4.8会员查询窗体
4.6 查询管理
4.6.1 存货查询
在这个模块里主要是完成对现存商品的查询。
图4.9 存货查询界面
界面设计:新建一个窗体,在里面加入一个Frame控件,两个Textbox控件,两个label控件,三个CommandButton控件。
4.6.2 销售查询
在这个模块里主要是完成对已售商品的查询。
图4.10销售查询界面
界面设计:新建一个窗体,在里面加入一个Frame控件,两个Textbox控件,两个label控件,三个CommandButton控件。
4.6.3 退货查询
在这个模块里主要是完成对退货表的查询。
图4.11 退货表界面
界面设计:新建一个窗体,在里面加入一个DataGrid控件,一个Adodc控件。
4.6.4厂商查询
在这个模块里主要是完成对进货商信息的查询、修改、删除。
图4.12 进货商表
界面设计:新建一个窗体,在里面加入一个DataGrid控件,一个Adodc控件,两个CommandButton控件。
4.7 统计分析
4.7.1进货统计
图4.13 进货统计界面
在这模块中主要完成当日、本月、本季度、当年进货的统计。界面设计:新建一个窗体,在里面加入八个DataGrid控件,八个Adodc控件,一个SSTab控件,一个Label控件,一个TextBox控件。
4.7.2 销售统计
图4.14 销售统计
本模块完成当日、本月、本季度、当年销售的统计。
界面设计:新建一个窗体,在里面加入八个DataGrid控件,八个Adodc控件,一个SSTab控件,一个Label控件,一个TextBox控件。
4.7.3 图表分析
图表分析模块主要是对当日,本月,本季度,当年销售的图表分析。利用Microsoft Chart Control 6.0中的 MSChart控件,可以制作大部分的Microsoft Graph图表,可以实现条形图、柱状图、饼状图、散点图等。
图4.15 图表分析
界面设计:新建一个窗体,在里面加入四个MSChart控件,一个SSTab控件。
4.8 员工管理
4.8.1 员工查询
在这个模块里主要是完成对员工信息的查询、修改、删除。
图4.16 员工表
界面设计:新建一个窗体,在里面加入一个DataGrid控件,一个Adodc控件,两个CommandButton控件。
4.8.2 业绩查看
在这个模块里主要是完成对员工销售业绩的查询。
图4.17 业绩查看
界面设计:新建一个窗体,在里面加入一个Frame控件,一个Textbox控件,一个label控件,三个CommandButton控件。
4.8.3 员工登记
图4.18 员工登记
界面设计:新建一个窗体,在里面加入一个Frame控件,四个TextBox控件,四个label控件,两个CommandButton控件。
4.9 数据备份
在这个模块里主要是完成对数据库的备份以及数据库恢复功能。
本系统主要运用拷贝的原理实现数据库的备份与恢复。在具体的程序中运用FileCopy语句来实现备份,但FileCopy语句只适用于小型数据库。此外,为了使数据备份和数据恢复更加形象,程序中以图形备份卡的形式来代替数据库文件。
图4.19 数据备份界面
界面设计:新建一个窗体,在里面加入一个ImageList控件,一个ListView控件,两个OptionButton控件,一个Drive控件,一个Dir控件,一个File控件,两个Label控件,两个CommandButton控件。
4.10 帮助
在这个模块里主要是显示软件版本信息。其中包括本系统的名称、所有者、 版本号、版本说明与专利信息等。
第五章 系统测试
测试主要是针对程序设计及编程调试后的结果进行的工作,那么为什么要进行测试呢?很多人认为“测试是证明程序中不存在错误的过程”,“程序测试的目的是要证明程序正确地执行了预期的功能”等,但是这些定义却是错误的定义。因为人们在测试程序时自然是想给程序员增添一点价值,也就是说,测试是一项花费昂贵的活动,测试者必然希望通过增加程序自身的价值来补偿一些花费,而提高程序的价值就意味着提高程序的质量和可靠性,提高程序的可靠性就意味着发现并改正程序的错误。所以进行测试不应是为了显示程序是好的,而应该从程序中含有错误这个假定出发去测试程序,从中发现尽可能多的错误,因此测试的定义应该是:为了发现错误而执行程序的过程。从这个定义出发可以看出应该把查出了新错误的测试看作是成功的测试,没有发现错误的测试则是失败的测试。
测试一般有两种方法:
黑盒测试:黑盒测试是测试者把程序看成是一个黑盒。即完全不考虑程序内部结构和内部特性。相反,测试者仅仅关心寻找使程序未按规范运行的情况,并且仅仅按程序的规范导出测试数据。一般来说用这种方法查出程序中所有错误只能使用穷举输入测试。
白盒测试:白盒测试或逻辑驱动测试允许人们检查程序的内部结构,是测试者从检查程序的逻辑着手,得出测试数据,进行测试的过程。
模块测试是指测试程序中的单个子程序或过程。其目的是要对模块的功能与定义模块的性能规范或接口规范进行比较。这就是说,在测试的一开始我们不是把程序作为一个整体来测试,而是首先集中注意力来测试程序中较小的结构块。这样做的理由是:首先由于一开始把注意力集中在程序的较小的单元上,模块测试是一种妥善进行组合测试的很好方法。其次,因为在模块测试时,发现错误就可以肯定错误所在的位置,因而便于纠错。最后模块测试给我们提供同时测试多个模块的良机,从而在测试过程中提出了并行性问题。
测试应遵守一定的原则:
1. 确定预期输出(或结果)是测试情况必不可少的一部分。
2. 程序员应避免测试自己的程序。
3. 程序设计机构不应该测试自己的程序。
4. 彻底检查每个测试结果。
5. 对非法的和非预期的输入情况,也要像对合法的,预期的输入一样,编写测试情况。
在模块测试阶段主要运用黑盒测试和边界值法,部分细节运用白盒测试,而在总体测试阶段则使用黑盒测试。黑盒测试又叫功能测试,用黑盒测试来发现程序中的错误,必须在所有的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。白盒测试又叫结构测试,是对软件的过程细节做细致的检查。
选取用户登录为例,具体的测试方案如下:
- 不输入用户名
- 不输入密码
- 输入错误的密码
- 连续三次输入错误的密码
根据测试方案,测试结果如下:
测试功能 | 测试结果 |
1 | 请输入用户名 |
2 | 请输入密码 |
3 | 用户名或密码不正确,无法登录 |
4 | 三次输错密码,系统自动退出 |
第一种测试结果 第二种测试结果
第三种测试结果 第四种测试结果
第六章 总结及谢辞
6.1 总 结
销售管理是企业主要的事务管理之一,是节流增收最有潜力的环节。该模块以合理、全面、准确的销售体系为基础,提供了对商品数量、金额的全面管理,并且提供了全面的查询功能。包括对现存商品、已售商品、员工、客户、厂商的一体化查询。商品从入库到出库到销售整个流通过程中各个环节所发生的事件进行记录,能随时提供仓库的库存、商品销售情况、客户、厂商等信息,为采购计划或市场预测提供有效的依据,以提高资金的利用率,避免不必要的损失,同时也提高了企业的科学管理水平。
这次毕业设计我是用Visual Basic 6.0设计的,它是我大学中主要学习的计算机编程语言,通过这次实例开发,我对VB程序设计水平和数据库应用能力都有了很大的提高。当然在设计过程中我碰到了不少的难题,除了向学得比较好的同学虚心请教之外,我也借阅了大量与本系统开发有关的书籍,使得许多问题都迎刃而解。以前我们只是接触书本知识,缺少实践经验,只能是纸上谈兵,但通过这次销售系统开发我积累了不少开发经验和解决问题的方法,这对于我将来从事软件开发都是有很大的推动作用。在这次的开发中我有不少体会,具体总结如下:
系统开发前的准备工作一定要做好。“良好的开始是成功的一半”,在开始具体工作前,先选择好要用的编程工具,然后就这方面争对性的借阅参考资料,掌握书本中的编程技巧,灵活运用到自己的程序中来。此外,网络也为我们提供了极大的方便,有什么需要了解的,在网上我们都可以查到。我们还要了解系统开发的环境。
系统的设计过程是循序渐进的,先需求分析,再总体设计,后详细设计,最后编写代码、上机调试、系统测试。其中需求分析是关键,它是系统开发的基础,它确定系统必须完成哪些工作,对系统提出明确、清晰、具体的要求。
调试阶段必不可少,有些理论上你认为正确的东西,调试起来可能就会出现错误。比如有时候你要想往数据库里面插入数据,不是光写插入语句就行的,还必须要使数据库表处于编辑状态,这样才能实现往里面插入数据。通过调试能发现许多意想不到的错误,这对于完善系统是必不可少的。
我们在设计系统的时候不可能每个问题都考虑得面面具到,这就需要老师的指导,因此我们要虚心接受老师给我们的建议。在设计过程中可能会遇到好多困难,有的还可能多次都解决不了,在面对问题的时候我们要有耐心,要有解决困难的决心和坚持到底的恒心。
总而言之,系统必须严格按照软件工程的方法进行开发,其中生命周期法比较适合,即将软件工程学和系统工程的理论与方法引入计算机信息应用系统的研制开发中,将信息系统开发的全过程严格地划分为四个阶段:系统分析、系统设计、系统实施、系统运行与维护。只有按照科学的开发方法才能开发出令人满意的系统,而且开发起来也是事半功倍。
通过这次毕业设计,我们积累了不少开发系统的经验,这对于我将来踏上工作岗位都是极为重要的。但是由于时间有限,系统还有许多不完整的地方,像用户界面不够美观,用户输入功能不够方便等,这些问题都有待于进一步的改善。
参考文献:
[1] Microsoft公司编著·Visual Basic 6.0中文程序员指南·北京希望电子出版社·1998.9
[2] Microsoft公司编著·Visual Basic控件参考手册·
北京希望电子出版社·1999.3
[3] Microsoft公司编著·Visual Basic 6.0组件工具指南·北京希望电子出版社·1999.3
[4] 张海藩 编著·软件工程·人民邮电出社·2003.11
[5] 刘萌等编著·Visual Basic企业办公系统开发实例导航·人民邮电出社·2004.1
[6] 高春艳等编著·Visual Basic数据库开发关键技术与实例应用·人民邮电出版社· 2004.5
[7] Steven Jordan 牛力等编著· Visual Basic 6.0编程宝典·电子工业出版社· 2005.1