VB抽奖系统的设计与实现论文范文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 绪论
随着人类社会步入21世纪,信息技术的飞速发展和社会信息化的不断提高,特别是进入网络信息时代,我们的工作越来越离不开计算机,这个时候就需要更好的运用现代化技术为各联系点服务,不断提高工作效率。
计算机就充分体现了在这方面的优势,社会生产中所有的变化与现代计算机的发展几乎是分不开的,其在人类生活中具体表现在政治、经济、文化上,在长远意义上它在人类发展中还是占据着主体的地位。
科学技术的突发猛进,知识经济初见端倪使得一些落后的手工生产在经济生活中已经落伍,这也使信息技术的高速发展成了必要。
在现代社会中,企业若要取得竞争优势,必须对客户的需要了如指掌,并且建立稳固的客户关系。
因此,企业需要开展一些有效的活动来拉拢企业与客户之间的关系,比如现代社会上很流行的抽奖活动,但是真要实施的话如果没有一个方便快捷的客户关系系统不仅会浪费用户的宝贵时间而且会令客户感到服务缺乏亲切感。
计算机已经成为我们学习和工作的得力助手,利用它的特点可以实现人们所期望的相关功能。
在科学发达的今天,计算机的使用已经得到了广泛的普及,性能也比以往有了很大程度的提升,它已经被应用于许多领域。
在计算机与社会活动紧密结合的现代社会,开发这样一套抽奖软件成为很有必要的事情,对于我们即将计算机专业毕业的学生来说,也是一次将计算机应用于现实生活生产的一次很有意义的实践活动
2 需求分析
2.1功能需求分析
江苏省徐州汉高公司属于中外合资企业,为了回报广大客户的厚爱特推出了一个抽奖活动,考虑到该抽奖活动的可用性和实际性,计划开发一个抽奖系统,即本软件系统——徐州汉高公司抽奖系统。
对一个企业来说,在现代社会中实现数据规范化,自动化的电脑管理,是一个管理规范,运作高效的企业单位的必然要求,本系统正是根据公司的发展需要而研制开发的一个全新的抽奖系统。
现在我国大部分抽奖活动的水平还停留在机械介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,而且对于公平性还有待于提高。
在信息时代这种传统的抽奖方法必然被计算机为基础的信息管理所取代。
根据用户的具体要求和未来可能需要添加的功能,系统应包含以下功能:
1 系统登陆
(1)登陆系统:由系统管理员根据对应的帐号和密码进入该系统。
(2)信息输入:进入系统后登陆后台数据库,可以直接将客户的相关信息输入进数据库,同理也可以将某个客户的信息永久删除。
2 信息查询
(1)客户的基本信息查询:能查询所有客户的基本信息和单个用户记录的详细情况;根据用户表中的用户的各种属性值进行模糊查询;能方便地对选中的记录进行修改。
(2)中奖客户名单的查询:在程序主界面上有查询按钮,直接与后台数据库相连接,可以查到中奖与未中奖者的相关信息。
3 数据库操作
(1)数据删除:能有选择地删除某一张表的数据或数据库中全部数据,本操作作用在减少数据冗余,可以对数据库中的数据进行有选择的删除即初始化。
(2)动态数据更新:系统应具备灵活配置系统数据的能力,包括服务范围更新、机器更新、工程师更新、故障现象更新等。
(3)数据备份和初始化:根据用户选择的路径对数据库进行手动备份,每天进行自动备份;对上次使用后的数据库作了备份后,为减少数据冗余,可以对数据库中的数据进行有选择的删除即初始化。
4 系统数据配置
(1)密码管理:进入系统后登陆后台数据库,可以直接修改为新的帐号和密码。
对各种性质的用户提供了添加删除和修改用户信息的功能。
(2)用户权限配置:由管理员对客户的权限进行配置,使得客户不能对系统进入违规操作。
5 报表名单的输出和打印
(1)管理户根据数据库中中奖名单的情况,自选字段,能够对重要报表进行打印。
2.2 性能需求分析
1 界面需求:具有友好的管理员操作界面,有良好的人机接口;方便系统管理员使用(如:操作键盘时支持回车键等)。
2 灵活性:系统应具有较灵活的更新操作,对特别的数据项(如:客户名、抽奖号码、性别、联系方式等)应具备实时添加的功能,尽量避免二次开发;对一段时间后数据库的内容进行有选择地删除、初始化。
3 稳定性:系统应具备长期持续工作的能力;使数据库的一致性控制在可操作范围内;避免因系统引起的死机现象。
4 安全性:有良好的管理员身份认证体制和灵活的密码更改模块;用户权限可以通过管理员灵活修改;然后进行响应的备份操作。
2.3 数据需求分析
2.3. 1数据字典
根据系统设计的要求和功能模块的划分现将数据库分为下面三个大类:
1信息显示类:
(1)客户登记信息:
客户姓名、性别、年龄、联系、、联系方式、家庭住址、邮政编码。
(2)查询客户信息:
中奖情况、客户姓名、性别、年龄、联系、、联系方式、家庭住址、邮政编码。
(3)中奖分类信息:
中奖客户名单、未中奖客户名单、所有参与抽奖的客户名单(所有名单均包含客户的所有私人信息)。
2 实时更新类:
(1)对于已中奖的客户,将其进行保存,保证此号码不得参与往后的抽奖。
根据需要进行打印。
(2)未中奖的客户,仍保存在有效数据库中,以便滚入下轮进行抽奖。
3 系统配置类:
(1)登陆者权限
登陆者代号、登陆者密码、登陆者性质、登陆者级别。
(2)登录记录
登录日期、登录时间、退出日期、退出时间。
(3)系统管理员权限、高级用户权限。
允许添加客户信息、允许删除客户信息、允许修改客户信息、允许添加密码、允许删除密码、允许修改密码、允许添加数据更新、允许删除数据更新、允许修改数据更新、允许查询、允许打印、允许备份库、允许初始化库、允许删除库。
2.3.2绘制数据库系统ER图
根据系统的要求及特点,结合数据字典绘制出ER图如下:
1系统功能ER图
图2.3.2.1系统功能ER 图
2 登记客户信息
3
4
5系统管理员与系统的关系ER 图
2.3.3数据流图绘制
数据流图是目标软件系统中各个处理子功能以及它们之间的数据流动的图形表示。
数据流图的精化过程实际上是处理子功能和数据流的细化过程。
随着这
图2.3.2.5管理员登陆ER 图
一过程的进行,本系统的用户需求将会进一步精确化、一致化、完全化。
具体数据流图如下:
图2.3.3.1全程数据流图
2.3. 4控制流图的绘制
本系统需要实时地获取抽奖后的结果,是一个实时系统,所以再创建了数据流模型后还必须创建控制流模型,以便描述相关的事件以及系统状态在时间坐标系中的变迁。
分析本系统的控制流得到以下控制流图:
图2.3.4.1 系统控制流图
3 概要设计
软件的概要设计是在逐步进行的基础上经过详细汇总客户的有效信息资料,再对系统的总体结构进行规划,根据抽奖的要求确定软件的总体框架,概要设计旨在确定程序各主要部件之间的关系。
3.1 系统运行环境
硬件环境:程序应至少在PentiumII的计算机上运行,建议采用PentiumIV 计算机,CPU为400MHZ以上,基本内存128MB,显示内存16MB,20GB以上硬盘。
软件环境:软件应工作在Windows98及以上的系统上,建议使用Windows2000操作系统的计算机,另外配备Access2000数据库和Visual Basic6.0。
3.1.1概要设计阶段的主要内容
①审查软件计划、软件需求分析提供的文档,列出最佳设计方案,用
系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,审定后进入系统设计。
②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最
小单元模块。
确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。
③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具
来描述软件结构,结构图是经常使用的软件描述工具。
选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。
3.1.2概要设计的全过程
概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;然后进行结构设计,确定软件结构。
3.1.3概要设计的原则
①将软件划分成若干独立成分的依据。
②表示不同的成分内的功能细节和数据结构。
③统一衡量软件设计的技术质量。
3.1.4系统功能分析
根据徐州汉高公司抽奖系统的日常工作流程与内容,预测开发的抽奖系统的达到的功能如下:
1、系统的登陆:只要系统管理员或有相关权限的人可以登陆。
2、账号与密码的设定:凭对应的账号与密码才可以登陆本系统,否则
无效。
3、信息的录入:输入客户的相关信息。
4、信息的查询:查询中奖客户及未中奖客户的名单。
5、进行抽奖:进入系统主界面后点击“开始”,号码便开始循环滚动。
6、抽奖结果的产生:点击“停止”(即原先的开始键),便产生一个随
机的号码。
并自动存入数据库。
7、对中奖号码的备份:当进行下次抽奖时假如仍抽中已中的号码系统
则会提示已经抽过,本次抽奖无效。
对于已中奖的号码可以根据需要将其打印出来。
8、其他功能:密码管理等。
9、退出系统。
根据以上分析,该系统考虑将整个系统分解为如下3—1模块结构图:
并且在系统的开发过程中,尽量注意模块的高内聚、低耦合,使得系统的整体性能提高,并且也有利于投入使用后的系统维护。
3.2 功能模块描述
3.2.1需求功能描述
(1)客户信息的输入:输入客户的详细信息,输入后还可以对输进去的项目作简单的查询和修改以及删除操作。
考虑到登陆系统的实际情况,界面操作应支持回车符操作,尽量做到操作方便。
(2)系统对抽奖要求的实现:该系统每期准备设立四个奖项,一等奖一名,二等奖二名,三等奖四名,四等奖十名。
中奖的人不得再参与下期的抽奖,没中奖人员的信息与新产生的人员信息进入下一期抽奖,不会产生重复的中奖现象。
3.2.2 信息查询
(1)客户基本信息的查询:系统管理员能查询所有客户的基本信息和单个用户记录的详细情况;可以根据客户统计表中的客户的各种属性值进行模糊查询;能方便地对选中的记录进行修改或删除。
(2)客户中奖情况的查询:管理员直接利用系统所提供的中奖采集功能,就可以了解哪些客户中了奖,中了什么奖项,一目了然。
3.2.3报表输出和打印
系统管理员自选中奖客户字段,对所选中的客户报表进行打印。
3.2.3 VB操作
在目前市场上这些众多的程序开发工具中,有些强调编程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。
作为数据库系统的开发,Visual Basic是一个非常理想选择。
数据库是MIS 中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言Visual Basic语言,该开发工具具有很多长处:
Visual Basic是一种可视化的、面对对象和事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且
功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,Visual Basic具有以下特点:
1、可视化编程:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
如果对界面的效果不满意,还要回到程序中修改。
有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。
Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。
只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。
Visual Basic 自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
2、面向对象的程序设计
4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。
在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。
在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。
每个对象以图形方式显示在界面上,都是可视的。
3、结构化程序设计语言
Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。
Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且
使用灵活的调试器和编译器。
Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。
在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。
4、事件驱动编程机制
Visual Basic通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。
这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
5、访问数据库
Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能。
同时,Visual Basic还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual Basic编辑和处理。
Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。
在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
6、动态数据交换(DDE)
利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条
动态数据链路。
当原始数据变化时,可以自动更新链接的数据。
Visual Basic 提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。
7、对象的链接与嵌入(OLE)
对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。
OLE技术是Microsoft 公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。
利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
7、动态链接库(DLL)
Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。
但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。
此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。
Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统VB是一个相对较好的选择。
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。
Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。
我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。
缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。
一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。
DATA控件还提供了用来浏览不同记录的各种跳转按钮。
将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。
3.3数据库的设计
数据库的概念
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。
新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。
创建一个数据库结构的过程被认为是数据模型设计。
1.标识需要的数据;
2.收集被标识的字段到表中;
3.标识主关键字字段;
4.绘制一个简单的数据图表;
5.规范数据;
6.标识指定字段的信息;
7.创建物理表。
修改已建的数据库
数据库的修改分为:添加、编辑和删除记录。
这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。
实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。
一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。
一个更高级的连接形式称为自连接。
这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。
数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。
在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。
3.3.1数据库操作
对于数据库的选择,系统采用了Access2000作为数据库的开发工具,相对
于操作方面,Access2000比SQL具有更多的优越性,充分体现着简单明了这一理念。
Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
Access 的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。
另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。
如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
3.3.2系统中数据库的功能如下
(1)数据删除:可以选择地删除某些数据或数据库中全部数据,本操作用在减少数据冗余,可以对数据库中的数据进行有选择的删除即初始化。
(2)动态数据更新:系统具备灵活配置系统数据的能力,包括客户信息更新、添加或删除一个客户等等。
(3)数据备份和初始化:根据用户选择的路径对数据库进行手动备份,每天进行自动备份;对上次使用后的数据库作了备份后,为减少数据冗余,可以对数据库中的数据进行有选择的删除即初始化。
3.3.3客户信息登记表
3.3.3客户信息登记表
字段名称数据类型字段大小说明。