会员管理系统1.docx
- 文档编号:10742824
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:65
- 大小:607.93KB
会员管理系统1.docx
《会员管理系统1.docx》由会员分享,可在线阅读,更多相关《会员管理系统1.docx(65页珍藏版)》请在冰点文库上搜索。
会员管理系统1
第一章 为什么要开发一个会员信息管理系统?
今天,计算机的价格已经十分低廉,性能却有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行是因为计算机可以代替人工进行许多繁杂的劳动;可以节省许多资源;可以大大提高人们的工作效率;可以使敏感文档更加安全,等等。
总之,计算机已经成为我们学习和工作的得力助手。
1.1、在中小型单位中用计算机管理会员信息的意义:
现在我国的中小单位中会员的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
我作为一个计算机信息管理专业的专科生,希望可以在这方面有所贡献。
改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我三年的所学编制出一个实用的程序来帮助中小单位进行更有效的会员信息管理。
归纳起来,好处大约有以下几点:
a.可以存储以前的会员档案,安全、高效;
b.只需一名录入员即可操作系统,节省大量人力;
c.可以迅速查到所需信息。
1.2、为将来中小单位信息化管理上网做好准备。
根据1999年中国电信的调查报告显示我国的上网人数已达到890万,互联网已经十分普及,本系统为中小单位将来的上网作了先期工作,比如数据库的建立。
1.3、会员信息的设计分析
根据实际情况,我们使用原型法(RapidPrototyping)即以少量代价快速地构造一个可执行的软件系统模型。
使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。
此时模块也发展成为最终产品了。
第 二章 如何开发一个会员信息管理系统
2.1编程环境的选择
微软公司于1998年发布了可视化编程语言集成包Visualfoxpro9.0,它是Windows应用程序开发工具,使目前最为广泛的、功能最完整、易学易用和规模可收缩的面向对象的开发工具。
说它广泛是因为它安装容易,运行环境要求不高,入门和学习方便,易于用户所接受;说它功能最完整是因为它经过了几个版本的升级,在数据管理方面,它基本具备了大型SQL数据库的特征;在数据库设计方面,它提供了各种数据库组件的设计向导和图形化、智能化的设计过程;Visualfoxpro9.0还提供了各种数据库用户界面的可视化设计工具,提供了自含的编程语言和调试工具,提供了查询数据库的默认表格工具等等。
这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,它是实现本系统一个相对较好的选择。
2.2关系型数据库的实现
Visualfoxpro9.0开发工具所使用的ODBC既关系型数据库可以避免应用程序随数据库的改变而改变,针对不同数据库使用不同的设计界面。
采用ODBC可以大大缩短开发应用程序的时间。
例如在开发TURBOC与FOXPRO的接口时,需要研究DBF文件的结构和相应的API函数。
而针对另一个数据库,就要重新研究相应的API函数。
使用ODBC,更改数据库只需在应用程序中调整相应的驱动程序。
它通过使用驱动程序来提供数据库的独立性。
因此,对于不同的数据库就要求使用不同的数据库驱动程序。
驱动函数实际上是一个支持ODBC函数调用的模块,通常就是一个动态链接库,应用程序就是通过调用动态链接库上驱动程序所支持的函数来操作数据库的。
a、选择ODBC数据源:
随同Visualfoxpro9.0提供的ODBC驱动程序允许用户使用相应类型的数据。
例如:
Paradox(R)3.x版和4.x版表文件、FoxPro2.x版数据文件等。
若要为上述类型安装ODBC驱动程序,可以使用Visualfoxpro9.0安装程序进行安装,安装驱动程序后,即可以使用默认的数据源和添加ODBC数据源了;
b、设置ODBC数据源:
目前,很多应用程序需要用到数据库,在Windows9x和Windows2000的控制面板中都有ODBC,非常方便地解决了不同数据库需要的连接。
第三章 系统总体规划和各功能的具体实现
3.1告别“helloworld”的年代
Windows下的Visual极大的简化了界面的设计,它使用程序员可以直观地设计应用程序的用户界面。
通过事件的驱动机制,用户在界面上的任何操作都自动被映射到了相应的处理代码上。
这样,程序员可以将精力集中在程序功能的实现上,无须像以前那样需要耗费大量的精力为界面编写代码。
例如,当用鼠标单击一个按钮时,用户闭幕不需要知道这个过程是怎样发生的,或者这个过程的代码是什么,而只需编写一段代码来告诉计算机单击按钮时要执行什么命令。
因此在程序设计中,Visualfoxpro比以住的各种工具都简便、快速。
Visualfoxpro还提供了OLE(ObjectLinkingandEnbedding,对象的链接与嵌入)功能。
也就是在应用程序里,可以通过控制其它应用程序中的对象来借用它们的某些功能。
例如,建立一个Visualfoxpro应用程序,在这个程序中,可能使用MicrosoftExcel建立一个计算器,用MicrosoftWord建立一个报表等。
另外,Visualfoxpro9.0中的数据访问特性,允许对SQLServer和其他企业数据库在内的大部分数据库格式建立数据库和前端应用程序,以及可调整的服务器端软件。
3.2面对对象的编程
Visualfoxpro应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。
开发人员可以最有效利用所创建的每一个对象。
使用应用程序具有可通用性可说扩展性和强有力的功能。
Visualfoxpro应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
3.3实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visualfoxpro也提供了强大的创建菜单功能是程序更加标准。
您可以使用Visualfoxpro的ApplicationWizard也可以使用Visualfoxpro的菜单编辑器建立菜单或者修改已经存在的菜单。
3.4、实现工具栏
CoolBar控件与Office97种看到的CoolBar是类似的。
CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。
通过在CoolBar中迁入其他空间你局可以向用户提供更好的灵活性和义用性。
Toolbar是工具条控件,是实现工具条的主体。
其中的按钮可以显示图像和标题,并按功能分组或加入分隔符,还可以围棋设置鼠标停留在其上显示的提示字符。
Toolbar也是一个控件容器且具有Style属性,并可以为其增加下拉按钮和平滑按钮等。
选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。
在“控件”选项卡列表中选择“MicrosoftWindowsCommonControls6.0”后工具相中增加改控件。
其属性及对象如下:
a.Align属性定义工具条在窗体中的位置
b.ToolTipText属性是字符串类型,定义控件的提示字符
c.Style属性定义按钮外观。
d.ImageList属性定义与数据条对应的ImageList控件名,该控件定义工具条按钮显示的图像。
e.HotImangeList属性设置一个ImageList控件名,该控件定义按钮获得热点时显示的图像。
f.DisabledImageList属性定义工具条按钮无效时显示的图像。
创建工具条包括ImageList和Toolbar控件
ImageList用于为其他控件提供图像库,将ImageList控件加入到工具箱的操作于前述Toolbar控件相同。
3.5帮助
专业水平的软件通常都带有联机帮助功能。
无论写出来的程序是要给大量的用户使用,还是仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的联机帮助文档。
微软的HelpWorkshop4.0是一套独立于Visualfoxpro的用来协助我们创建、运行于32位Windows操作系统下的帮助文件的工具。
使用它我们可以为我们编写的应用程序生成一组帮助文件。
3.6关于版本
为了是程序显得更具有专业风格,首先可以在其中加入通常的应用程序信息。
这些信息包括公司名称、版本号、修订号以及其他类似信息。
Visualfoxpro允许你使用APP对象来保存这些信息,APP对象是一个预定义对象,不需要在程序中创建它。
APP对象的大多数属性被应用程序用来提供常规的信息,通过使用这些APP提供的属性,可以在应用程序和用户之间交流重要信息,在项目属性框中可以设置它的属性。
以上仅仅是Visualfoxpro9.0中的一些最基本的特点。
Visualfoxpro9.0是一个功能强大的Windows应用程序开发工具。
尤其在Visualfoxpro9.0中,出现了很多关于数据访问、Internet控件、向导等方面的新特性。
第四章系统总体规划和各功能的具体实现系统设计
4.1、会员管理系统系统设计
4.1.1系统目标设计
通过一个会员信息管理系统,使单位的会员管理工作系统化、规范化、自动化,从而达到提高会员信息管理效率的目的。
4.1.2本系统开发设计思想
尽量采用企业现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源、提高系统开发水平和应用效果的目的;
系统应符合会员信息管理的规定,满足单位日常会员管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求;
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护;
系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等操作。
4.1.3系统功能分析
会员信息管理系统需要完成的功能主要有:
●系统数据初始化
●管理员基本信息数据的输入
●管理员基本信息数据的修改、删除
●会员基本信息数据的输入
●会员基本信息数据的修改、删除
●会员基本信息浏览
●会员是否预约等管理
4.1.4系统功能模块设计
在系统功能分析的基础上,考虑visualfoxpro9.0程序编制的特点,得到如图4-1所示的系统功能模块图。
如图4-1
图4-1系统功能模块图1
4.2、数据库设计
数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的环节。
数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生重要影响,好的数据库结构设计会减小数据库的存储量、提高数据的完整性和一致性,使系统具有较快的响应速度,简化基于此数据库的应用程序的实现等。
在数据库系统开始设计的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求,避免浪费不必要的人力和物力。
4.2.1数据库需求分析
数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个环节。
在这个阶段主要是收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。
在仔细调查单位会员信息管理过程的基础上,我们得到本系统所处理的数据流程,如图4-2所示。
图4-2 数据流程图
通过单位会员管理的内容和数据流分析,针对本系统,我们设计的数据项和数据结构如下:
●管理员基本状况。
包括的数据库项有:
编号、管理员、密码。
这个数据库是为了保证系统的安全。
●会员基本状况。
包括的数据库项有:
会员号、会员姓名、密码、性别、入会时间、家庭住址、联系电话等。
●会员密码是为了保护会员的隐私信息。
●预约退约的使用。
包括的数据库项有:
会员号、是否预约、预约时间等。
现在单位很多业务是可以预约,来节省客户等待的时间,以来提高服务质量。
4.2.2数据库逻辑结构设计
需要将上面的数据库概念结构转化为visualfoxpro9.0数据库所支持的实际数据模型,也就是数据库的逻辑结构。
会员信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表(只列出与本系统相关的字段)。
表4-1为管理员表
表4-1为管理员表
一个单位可以有多个员工利用本系统来查询会员的资料。
因此在数据库中建立一个用户口令表格来管理系统的用户。
这是初始密码,用户可以在下面的表单自行修改。
管理员:
lul
密码:
123
表4-2为会员资料表
表4-2为会员资料表
这个表主要是用于管理会员的详细资料,密码是为了保证会员的隐私安全。
表4-3预约退约表
这个表主要是用于管理会员的是否预约了,在进入修改之前是有密码验证的,以保证预约的准确性。
4.3各个功能模块的创建
为了让使用者有一个能轻松操作的界面,系统的主界面设计要求界面友好、功能分块明确、美观大方。
下面我们就来开始制作每一个功能模块。
会员验证模块和系统登陆相似就不在详细描述了。
4.3.1欢迎界面的设计
添加事件代码:
表单form1的DblClick事件:
ThisForm.Release
表单form1的Destroy事件:
ThisForm.Hide
DOFORM系统登录.scx
表单form1的KeyPress事件:
ThisForm.Release
表单Tirer1的Tirer1事件:
ThisForm.Release
4.3.2系统登陆界面的设计
制作步骤如下:
一、新建表单,将表单的caption属性值设置为“系统登录”,ShowWindow属性值设置为“2-作为顶层表单”,width属性值设置为295,height属性值设置为100,AutoCenter属性值设置为,并将表单保存为“系统登录.scx”。
二、继续设置该表单的属性:
将表单的MaxButton及MinButton属性值均设置为.f.,这样就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。
三、向表单添加两个label控件,将它们的caption属性值分别设置为“用户名”和“密码”。
四、向表单添加两个文本框控件,并将其中的Text2的PasswordChar属性值设置为“*”。
五、向表单添加两个命令按钮command1和command2,将它们的caption属性值分别设置为“确定”和“退出”。
六、适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图:
七、右击表单空白处,选“数据环境”命令,将“管理员”表添加到表单的数据环境中。
八、添加事件代码:
(一)表单的init事件代码:
publiccn&&声明全局变量,用于计算登录次数
cn=0
(二)表单的unload事件:
closeall
clearevents
quit
(三)接收用户名的文本框Text1的KeyPress事件代码:
LPARAMETERSnKeyCode,nShiftAltCtrl
ifnKeyCode=13.and.!
empty(this.value)&&输入用户名后按回车即进入输密码
thisform.Text2.enabled=.t.
thisform.Text2.setfocus
endif
(四)“确定”按钮command1的click事件代码:
cname=alltrim(thisform.text1.value)
ppassword=alltrim(thisform.text2.value)
cn=cn+1
ifcn=3
thisform.release
endif
setexacton
gotop
locatefor管理员=cname.and.密码=ppassword
ifeof()
messagebox('用户名或密码错误,请重新输入!
','系统提示')
return
else
thisform.visible=.f.
doformDO主菜单.mpr&&调入主界面表单
endif
setexactoff&&设置字符非精确比较
(五)“退出”按钮command2的click事件代码:
thisform.release
4.3.3管理员信息添加模块设计
制作步骤如下:
一、新建表单form1,并将其Caption属性值设为“管理员添加”,AutoCenter属性值设置为.t.,widht属性值设为290,height属性值设为210,将其保存为“管理员添加.scx”。
二、向表单添加一个grid控件,将其readonly属性设置为.t.,其RecordSourceType值采用默认的“1-别名”,在表单设计器中将其宽和高粗略调小一些即可,具体属性值我们将在表单的init事件代码中对其进行设置。
三、向表单添加三个Label控件,其属性值依次设置为“编号”、“管理员”和“密码”,将这三个控件排成一列;在这一列Label控件右侧添加三个文本框控件,属性值不用设置采用默认即可,也把它们排成一行;在第一个文本框的右侧添加两个命令按钮command1和command2,其Caption属性值依次设置为“添加”和“退出”。
适当调整一下各控件的大小和位置,“表单设计器”如下图所示:
四、添加事件代码:
(一)表单form1的unload事件:
setexactoff
closedata
(二)表单form1的init事件:
setexacton
settalkoff
use管理员表
this.Text1.value=""
this.Text2.value=""
this.Text3.value=""
withthis.grid1
.width=290
.height=110
.left=0
.top=0
.recordsource="管理员表"
.deletemark=.f.
.visible=.t.
.readonly=.t.
.ColumnCount=3
.Column1.Header1.Caption="编号"
.Column1.Header1.BackColor=RGB(255,255,190)
.Column2.Header1.BackColor=RGB(255,255,190)
.Column2.Header1.Caption="管理员"
.Column3.Header1.BackColor=RGB(255,255,190)
.Column3.Header1.Caption="密码"
.Column1.width=75
.Column2.width=80
.Column3.width=150
endwith
this.grid1.Setall("DynamicBackColor","RGB(224,225,255)","Column")
calculatemax(编号)tomaxbh&&在数据表中查找出序号最大的记录
szbh=val(right(maxbh,3))&&取出数字部分
ifszbh=0then&&判断数字部分是否为0
zdbh='gl001'
else
zdbh='gl'+padl(alltrim(str(szbh+1)),3,'0')&&生成自动编号
endif
this.Text1.value=zdbh
this.Text1.readonly=.t.
this.Text2.setfocus
(三)命令按钮command1(“添加”按钮)的click事件代码:
b=alltrim(thisform.Text2.value)
c=alltrim(thisform.Text3.value)
ifempty(b)&&此条件成立则说明该文本框是空的
messagebox("请输入管理员名称",16,"系统提示")
return
else
locatefor管理员=b
if.not.eof()&&此条件成立,说明要添加的内容和表中有重复的
gotop
messagebox("不允许有重复的管理员名称",16,"系统提示")
return
endif
endif
ifempty(c)
messagebox("请输入密码",16,"系统提示")
return
else
locatefor密码=c
if.not.eof()
gotop
messagebox("不允许有重复的密码",16,"系统提示")
return
endif
endif
msg=messagebox('确定要添加记录吗?
',32+4,'系统提示')
ifmsg=6
appendblank
gobottom
replace管理员表.编号withalltrim(thisform.Text1.value),;
管理员表.管理员withalltrim(thisform.Text2.value),;
管理员表.密码withalltrim(thisform.Text3.value)
messagebox('保存记录成功!
',64,'系统提示')
thisform.grid1.refresh
calculatemax(编号)tomaxbh&&在数据表中查找出序号最大的记录
szbh=val(right(maxbh,3))&&取出数字部分
ifszbh=0then&&判断数字部分是否为0
zdbh='gl001'
else
zdbh='gl'+padl(alltrim(str(szbh+1)),3,'0')&&生成自动编号
endif
thisform.Text1.value=zdbh
thisform.Text2.value=""
thisform.Text3.value=""
thisform.Text2.setfocus
thisform.refresh
endif
(四)命令按钮command2(“退出”按钮)的click事件代码:
thisform.release
五、运行“管理员添加.scx”。
4.3.3.1管理员信息修改模块设计
制作步骤如下:
一、新建表单form1,并将其caption属性设置为“管理员修改”,width属性值设为290,height属性值设为226,AutoCenter属性值设为.t.,并将其保存为“管理员修改.scx”。
二、向表单添加一个grid控件,将其readonly属性设置为.t.,其RecordSourceType值采用默认的“1-别名”,在表单设计器中将其宽和高粗略调小一些即可,具体属性值我们将在表单的init事件代码中对其进行设置。
三、在grid控件下方添加两个Label控件,使其排成一行,并将其caption属性依次设为“请选择查找方式”和“请输入要查找的内容”。
四、在label控件下方添加一个组合框控件Combo1及一个文本框控件Text1,文本框控件的属性值采用默认即可,组合框控件Combo1的RowSourceType属性值设置为“1-值”,RowSource属性值设置为“编号,管理员,密码”。
五、在表单上添加两个命令按钮comm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 会员 管理 系统