家政服务管理系统_论文

摘 要

家政服务管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面. 对于前者要求建立数据一致性和完整性强, 数据安全性好的数据库. 而对于后者则要求应用程序功能完备, 易使用等特点。

随着计算机技术的高速发展,人们对计算机的依赖性越来越强,特别是用计算机开发的数据库以及数据管理系统在生活应用中表现得更为突出,为此开发此系统。通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。

系统开发采用Microsoft 公司的Visual Foxpro 6.0,利用其强大的可视化界面功能及对数据库的支持,先构造一个原型,逐步增加功能,最终满足需求。

关键词:家政服务 VF 管理系统

目 录

第一章 绪论 .................................................................1 第二章 系统分析 .............................................................3

2.1 系统的初步调查: .....................................................3 2.2 系统的可行性分析 .....................................................4 2.3 系统开发步骤 .........................................................4 2.4 对本系统的分析 .......................................................5 第三章 系统设计 .............................................................6

3.1 功能模块 .............................................................6 3.2 数据库设计 ...........................................................6 第四章 系统编码与实现 ......................................................12

4.1 开发平台的选择 ......................................................12 4.2 各个功能模块的创建 ..................................................12 第五章 系统运行与维护 ......................................................35

5.1 系统的配置 ..........................................................35 5.2 系统的运行 ..........................................................35 5.3 系统的维护 ..........................................................35 5.4 本系统的维护模块 ....................................................36 第六章 开发总结 . ..........................................................38 第七章 致谢 . ..............................................................39 主要参考文献 ...............................................................40

第一章 绪论

在现代社会中管理的作用越来越显得重要和突出。一般来讲,管理通过计划、组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织的目标。传统的管理活动中,把人、才、物作为企业的主要资源。但是随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营及企业管理中的作用,并把它当做企业的一种极其重要的资源,人们称之为“信息资源”,信息资源的处理已经成为当今世界上一项主要的社会活动。

本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和在信息处理中的应用,标志着一个崭新时代——“信息时代”的开始,它使企业管理现代化成为可能。

一定意义上说,管理信息系统的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。

管理信息系统的发展 管理信息系统通过对企业当前运行的数据进行处理来获得有关信息,以控制企业的行为;利用过去和现在的数据及相应的模型,对未来的发展进行预测;能从全局目标出发,对企业的管理决策活动予以辅助。从工业发达国家来看,管理信息系统的发展经历了以下几个阶段。

第一阶段:(1953年至1965年)单项数据处理阶段,也称电子数据处理(EDP )阶段。这是电子计算机在管理领域应用的起步阶段。这一阶段,由于当时计算机硬、软件的限制,数据处理的性质只是使用计算机代替人的手工劳动,进行简单的单项数据处理工作,如计算工资、数据统计、报表登记、编制计划等。这个阶段的处理方式主要是集中式的批处理。 第二阶段:(1965年至1970年)综合数据处理阶段,也称事务处理系统(TPS )阶段。这个阶段计算机硬、软件有了很大的发展,出现了多用户的分时系统,计算机开始应用于

对某一个管理子系统的控制,并具有一定的反馈功能。如库存管理系统、生产调度系统、学籍管理系统等。这个阶段的处理方式已发展为面向终端的联机实时处理。

第三阶段:(1970年至今)管理信息系统(MIS )阶段。这个阶段是在企业中全面的使用计算机把各种管理子系统的功能集中起来,构成了计算机化的全方位的信息系统,即现代管理信息系统。这个阶段的处理方式是在数据库和网络基础上组成分布式处理系统。它的特点是使用数据库和分时处理的计算机网络,并充分利用运筹学等数学方法,实现了硬件、软件和数据资源的共享。

总的说来,计算机技术的发展,其性价比大幅的下降,使得其被大量广泛的使用。针对现实中的各种应用需求,相应的产生很多技术体系、技术标准,如J2EE 、NET 、COM/COM+等。这又大大的推动了企业的信息化进程。其影响可以归纳为如下两点:

(1)计算机已经成为我们学习和工作的得力助手:

今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源;

第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全等等。

(2)开发家政服务管理信息系统的意义

家政服务管理系统的使用,加强对客户资料的管理。通过对客户使用情况的分析, 可以掌握用户的喜好,而有针对性的采购家政,减少了不必的家政的购置,加快资金的流转速度。另一方面,家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而提高家政服务管理效率。

第二章 系统分析

2.1 系统的初步调查:

建立一个好的管理信息系统,必须要有一个好的管理基础。所谓好的管理基础,指的是合理的管理体制、完善的制度、科学的管理方法和准确的原始数据。与企业管理相比,我国的企业管理在这方面占有较大的优势。

应该看到,我国发展管理信息系统的时间还不长,设计开发的实际经验也很不足。要使管理信息系统在企业建立、使用,并从中获得巨大的效益,必须具备以下基本条件。

(1)领导重视、管理人员积极性高

管理信息系统的建立,需要企业提供资源、经费、人力和时间,要涉及管理体制、规章制度的变化、调整和大量数据的编码、表格形式协调等工作,这些企业管理的全局性问题必须在企业高层领导的重视和支持下才能获得解决。

管理人员的积极性也是不容忽视的条件。 管理人员是管理信息系统的直接用户,它们的积极性和配合程度,关系到管理信息系统的使用效果和生命力。

(2)具备一定的资源条件

管理信息系统的资源主要包括计算机硬、软件设备,不间断电源(UPS )、空调等辅助设备和计算机房设施等,有条件的企业应尽量发掘和利用现有计算机设备。管理信息系统的费用可分为开发费用和运行费用,前者包括设备购置、人员工资、培训和开发过程中的一系列支出等,后者包括机器运行、维护和修理费,人员工资和水、电、纸张和软盘等日常开支。

要有足够的资金保证,才能顺利完成整个系统的开发工作。当然,资金的投入也可以在开发和运行过程中分阶段进行,在逐步取得阶段成果的基础上补充更多的资源。

(3)组织一个强有力的开发小组

管理信息系统的质量,在某种意义上直接取决于开发人员的水平和素质。开发小组的人数因系统规模大小而异,通常包括系统分析员、程序员、数据录入员和硬、软件维护人员。由于管理信息系统的开发通常是从逐个子系统分期分批进行的,同时,已开发完毕投入使用的系统仍需不断维护、改进和完善,因此这个开发小组应该在相当长的时期内存在。

在正式的立项之前必须进行可行性分析,而可行性分析主要是对现行系统进行充分的调查研究,细致了解现行系统的现状流程,以及存在的主要问题,在此基础上提出新的系统的逻辑模型。

详细的现状调查目的是为了弄清现行系统的基本功能及信息流程,为了新系统逻辑模型提供基础。它是建立新系统的前期工作,也是进行系统分析和设计的重要基础。因此要建立新的家政管理系统就必须对家政店现行租借流程进行分析,以导入逻辑模型,进尔形成目标系统的逻辑模型。

2.2 系统的可行性分析

系统的可行性分析包括两个详细的部分:分析开发新的系统的必要性和可能性。必要性在前面系统初步调查中已经作了详细的分析,在这里就不再赘述;可能性主要包括经济可行性、技术可行性和运行可行性三个方面。

经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。家政服务管理系统用的是VF 开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行。硬件方面,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

运行可行性是对组织结构的影响,现有人员和机构、设施设施和环境对系统的适应性及人员培训补充计划的可行性。当前我们信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。

2.3 系统开发步骤

一般说来,管理信息系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。 上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。

国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析:系统设计:编程:模块调试:系统调试=20%:15%:20%:25%:20%。由此可见,程序编写在开发工作中只占很小比例,

而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的。另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用。

2.4 对本系统的分析

1. 系统目标设计

通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。 2. 开发设计思想

(1)尽量利用基础软硬环境,采用先进的管理系统开发方案从而达到充分利用现有

资源,提高系统开发水平和应用效果的目的;

(2)系统应符合家政服务管理的规定,满足家政店相关人员日常使用需要,并达到

操作过程中的直观、方便、实用、安全等要求;

(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未

参与开发的技术维护人员进行补充、维护;

(4)系统应具有各种票据的打印功能,并有这些票据的存根,报表;

(5)系统应具备数据库维护功能,及根据用户需求进行数据的删除、备份等操作。 3. 现状分析

当家政公司的客户较少时,能较好的安排员工为客户提供服务。但当客户较多时,对客户信息及员工的信息的管理,会花费大量人力及物力, 结果往往不理想,比如,不能及时更新客户联系信息,以致使不能及时的联系客户,更甚者失去客户。其次,在对客户的服务进行计费,对员工的工作进行计酬,往往存在着分岐。 4. 系统功能分析

(1)客户资料管理 (2)员工资料管理 (3)员工服务安排管理 (4)客户服务踪管理 (5)客户查询 (6)员工查询 (7)相关表册打印

第三章 系统设计

3.1 功能模块

管理信息系统设计阶段的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。

具体要求对系统进行功能分解,不断下去,直到分解成含义明确,功能单一的单元功能模块,从而绘制出系统的功能模块图,即HIPO 图。家政服务管理信息系统的HIPO 图如下:

3.2 数据库设计

1. 数据库需求分析

2. 数据库概念结构设计

在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体——联系图(简称E ——R 图)的方法进行数据结构的描述。E ——R 图由实体、属性、联系三部分组成。E ——R 图的有关符号说明如下:

实体 属性

根据数据字典的内容,得到本系统的实体——联系图如下:

客户实体信息

员工实体信息

用户信息实体

系统内主要实体间联系

3. 数据库逻辑结构设计

将以上E-R 图转换成如下关系模式:

客户表(客户编号, 姓名, 性别, 付款方式, 缴费, 服务项目, 住宅电话, 手机, 家庭地址, 合同编号,

生效日期, 终止日期, 服务地点, 备注)

员工表(姓名, 性别, 婚姻情况, 家庭电话, 文化程度, 员工编号, 到公司时间, 家庭地址, 身份证号, 人员状态)

服务安排表(员工编号, 客户编号, 服务日期, 员工姓名)

服务记录表(员工姓名, 客户编号, 开始服务时间, 结束服务时间, 备注)

用户表(用户名, 密码)

注:其中加下划线的字段为该表的关键字。

4. 物理结构设计

物理结构设计的原则如下: (1)尽可能的减少数据冗余和重复。 (2)结构设计与操作设计相结合。 (3)数据结构具有相对的稳定性。

基于以上设计原则,本系统中相关数据库表结构设计举例如下:

客户表:

员工表:

服务安排表: 服务记录表:

用户表:

5. 数据库的安全性、完整性、并发控制和恢复

信息数据是是一种非常重要的资源,因此保证数据库的安全可靠、正确有效是非常重要的问题。一般的数据库管理系统(DBMS )都有提供了一定的数据保护功能。数据库保护也称为数据控制,主要包括数据的安全性、完整性、并发控制和数据库的恢复

第四章 系统编码与实现

4.1 开发平台的选择

考虑到本系统的性能要求,和现有的条件,我们选择了WINDOWSXP 中文版作为开发、测试和运行的平台。因为WINDOWS 操作系统是目前应用最广的操作系统,它以全新的图形界面,简单快捷的操作方式,支持多媒体功能等特点而成为软件发展的流行趋势,选用它作为开发平台,易于功能的扩展和软件升级。 4.2 开发工具的选择

针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合家政服务管理系统的需要和目前的硬件环境,我们选用微软WINDOWS 平台下的Visual FoxPRO6.0(简写为VFP6.0)作为软件开发工具。选用该工具有发下几方面的优点:

(1)VFP6.0是目前微机上最优秀的关系型数据库管理系统软件,正如其名称中冠以的“Visual ”一样,它采用了可视化、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了系统工程的模块化和紧凑性。

(2)VFP6.0版本中提供了大量的诸如“数据库设计器”、“表单设计器”、“菜单设 计器”、“报表设计器”等开发设计工具和向导工具(Wizard ), 使以往费时费力的开发工作变得轻松自如。这些可视化的设计工具免除了开发者编写大量程序代码的工作。

4.2 各个功能模块的创建

1. 登陆界面模块设计

“确认”按钮代码 sele user loca

for

allt(user.uname)==allt(thisform.txtusername.value)

and

allt(user.upass)==allt(thisform.txtpassword.value) if foun()

release thisform clear event else

#define mismatch_loc"用户号或口令不正确! 请重新输入." wait window mismatch_loc timeout 1 thisform.txtpassword.value="" thisform.txtpassword.setfocus endif

“退出”按钮代码: thisform.release quit 2. 主界面

3. 客户管理模块设计

“新增”按钮 public ccode

ccode=""

do form frm_custom

“编辑”按钮

public ccode

if (.not.eof()).and.(.not.bof()) ccode=custom.客户编号 do form frm_custom endif

“删除”按钮

delete ccode=""

thisform.refresh

“客户服务”按钮

local bExist

bExist=.f. thisform.hide

for i=1 to _screen.formcount

if _screen.forms[i].caption="客户服务" _screen.forms[i].show bExist=.t. endif endfor if .not. bExist do form frm_amcustom endif

“退出”按钮代码:

thisform.release

“保存”按钮代码:

=tableupdate(.t.) this.enabled=.f.

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t.

thisform.refresh

“放弃”按钮代码

=tablerevert(.t.) this.enabled=.f.

this.parent.cmdsave.enabled=.f. this.parent.command4.enabled=.t. thisform.refresh

“表单”初始化代码

set multilocks on

=cursorsetprop("buffering",5)

“表单”激活代码

if len(ccode)=0 append blank else

locat for allt(客户编号)=allt(ccode) endif

this.cmdsave.enabled=.f. this.cmdcancel.enabled=.f. this.cmdsave.enabled=.t. this.cmdcancel.enabled=.t. this.command4.enabled=.f. thisform.refresh

“退出“按钮代码:

thisform.release

for i=1 to _screen.formcount

if _screen.forms[i].caption="客户管理" _screen.forms[i].refresh

endif endfor 4. 客户服务模块设计

“设定提醒时间”代码:

public pcode

if (.not.eof()).and.(.not.bof()) pcode=custom.合同编号 if len(pcode)>0 do form frm_setalarm endif endif

“编辑服务记录”代码 public sccode

if (.not.eof()).and.(.not.bof()) sccode=custom.客户编号 if len(sccode)>0 do form frm_setservice endif

endif

“客户管理”代码 local bExist bExist=.f. thisform.hide

for i=1 to _screen.formcount

if _screen.forms[i].caption="客户管理" _screen.forms[i].show bExist=.t. endif endfor

if .not. bExist do form frm_mcustom endif

“退出“按钮代码:

thisform.release

“编辑”按钮代码:

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t.

this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. this.parent.command3.enabled=.f. thisform.combo1.value=员工编号 thisform.combo2.value=员工姓名 ls=dtoc(服务日期) ds="" lts=""

for i=1 to len(ls) if SUBSTR(ls,i,1)="/" if len(ds)

ds=REPLCATE("0",2-len(ds))+ds endif lts=lts+ds ds="" else

ds=ds+SUBSTR(ls,i,1) endif endfor if len(ds)

ds=REPLCATE("0",2-len(ds))+ds endif lts=lts+ds

thisform.txt 服务日期.value=lts thisform.refresh

“保存”按钮代码: if

len(allt(thisform.combo1.value))>0 .and.len(allt(thisform.combo2.value))>0.and.len(allt(thisform.txt服务日期.value))>=6

c=thisform.txt服务日期.value

ld=ctod(subs(c,1,2)+"/"+subs(c,3,2)+"/"+subs(c,5,4))

if ld>=thisform.txt生效日期.value.and.ld

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. this.parent.command3.enabled=.t. thisform.refresh else

cMessageTitle="系统提示" cMessageText="日期无效" nDialogType=0+32

nanswer=MESSAGEBOX(cMessageText,nDialogType,cMessageTitle) thisform.txt服务日期.setfocus endif else

cMessageTitle="系统提示" cMessageText="信息输入不完整" nDialogType=0+32

nanswer=MESSAGEBOX(cMessageText,nDialogType,cMessageTitle) thisform.txt服务日期.setfocus endif

“放弃”按钮代码: =tablerevert(.t.) this.enabled=.f.

this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. this.parent.command3.enabled=.t. thisform.combo1.value="" thisform.combo2.value="" thisform.txt服务日期.value="" thisform.refresh

“退出”按钮代码: =tablerevert(.t.) thisform.release

“新增”按钮代码: append blank

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f.

thisform.txt 开始服务时间.value=dtoc(date())+" "+time() thisform.txt 结束服务时间.value=dtoc(date())+" "+time() thisform.refresh

thisform.txt 开始服务时间.setfocus

“编辑”按钮代码:

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. thisform.refresh “删除”按钮代码: delete

=tableupdate(.t.) if .not.eof() skip else

if .not.bof() skip-1 endif endif

thisform.refresh

“保存”按钮代码:

replace 客户编号 with allt(sccode) =tableupdate(.t.) this.enabled=.f.

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t.

this.parent.command2.enabled=.t. thisform.refresh

“放弃”按钮代码: =tablerevert(.t.) this.enabled=.f.

this.parent.cmdsave.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. thisform.refresh

“退出”按钮代码: =tablerevert(.t.) thisform.release

5. 员工管理模块设计

“新增”按钮代码: append blank

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. thisform.optiongroup1.value=1 thisform.refresh thisform. 姓名1.setfocus

“编辑”按钮代码:

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. if allt(人员状态)="正在待聘人员" thisform.optiongroup1.value=1 endif

if allt(人员状态)=" 正在工作人员" thisform.optiongroup1.value=2 endif

if allt(人员状态)="已回人员" thisform.optiongroup1.value=3 endif

thisform.refresh

“保存”按钮代码: =tableupdate(.t.) this.enabled=.f.

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. thisform.refresh

“放弃”按钮代码: =tablerevert(.t.) this.enabled=.f.

this.parent.cmdsave.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. thisform.refresh

“删除”按钮代码: delete

=tableupdate(.t.) if .not.eof() skip else

if .not.bof() skip-1 endif endif

thisform.refresh

“退出“按钮代码: =tablerevert(.t.) thisform.release

6. 客户资料查询模块设计

“打印详细资料”代码: public pccode if .not.eof()

pccode=allt(客户编号) if len(pccode)>0

set filter to allt(客户编号)=allt(pccode) report form rpt_detcus prev set filter to endif endif

“打印服务记录”按钮代码: public pccode if .not.eof()

pccode=allt(客户编号) if len(pccode)>0

set filter to allt(客户编号)=allt(pccode) report form rpt_serrec prev set filter to

endif endif

“退出“按钮代码: thisform.release

7. 服务安排查询模块设计

8. 服务情况查询模块设计

9. 雇员查询模块设计

10. 客户查询模块设计

11. 用户管理模块 1)新增用户模块

“确定”按钮代码: if not used("user") sele 0 use user endif

_username=allt(thisform.text1.value) _quanxian=""

_pass=allt(thisform.text2.value) _passqueren=allt(thisform.text3.value) if empty(_username)

messagebox("请输入用户名!") thisform.text1.setfocus return endif

if empty(_pass) or empty(_passqueren) messagebox(" 请输入密码!") thisform.text2.setfocus return endif

if _pass#_passqueren

messagebox("两次密码不一致,请检查!") thisform.text2.setfocus

thisform.text2.value="" thisform.text3.value="" return endif go top

locate for uname=_username if eof() go bottom appe blan

repl uname with _username ,upass with _pass for empty(uname) messagebox("添加用户成功!") thisform.release else

messagebox("对不起,该用户名已存在,请重新输入!") thisform.text1.value="" thisform.text2.value="" thisform.text3.value="" thisform.text1.setfocus return endif

thisform.text1.value="" thisform.text2.value="" thisform.text3.value=""

“取消”按钮代码: thisform.release 2)删除用户模块

“确定”按钮代码:

_user=allt(thisform.combo1.displayvalue) if empty(_user)

messagebox("请选择要删除的用户!") return endif

cMessageTitle="删除用户"

cMessageText="确定要删除该用户吗?" nDialogType=4+32

nanswer=MESSAGEBOX(cMessageText,nDialogType,cMessageTitle) if nAnswer=6

dele for upper(alltrim(uname))==upper(_user) messagebox("删除用户成功!") thisform.refresh endif

“取消”按钮代码: thisform.Release 12. 系统维护模块

“确定”按钮代码:

“xm1=ALLTRIM(ThisForm.combo.displayvalue) kl1=ALLTRIM(ThisForm.oldcode.Value) xin=ALLTRIM(ThisForm.newcode.Value) que=ALLTRIM(ThisForm.queren.Value)

LOCATE FOR ALLTRIM(uname)=xm1 and ALLTRIM(upass)=kl1 IF .NOT. EOF() IF xin==que

REPLACE upass WITH xin messagebox("口令

更改

成功,

你的

新口令

是:

"+alltrim(thisform.newcode.value)+" 请确认!"," 家政管理系统") ThisForm.Release ELSE

ThisForm.newcode.Value="" ThisForm.queren.Value="" ThisForm.newcode.SetFocus

=MESSAGEBOX("您输入的新旧口令不一致, 请重输!",48+0+0,"消息窗口!") ENDIF ENDIF

“取消“按钮代码” thisform.release 13. 报表打印模块 1)客户通讯录

2) 员工通讯录

3)客户详细资料

4)客户服务记录

第五章 系统运行与维护

管理信息系统在完成系统实施、投入正常运行之后,就进入了系统运行与维护阶段。

5.1 系统的配置

1、硬件配置要求(最低) : CPU:PII200以上。 内存:32MB 以上。 硬盘:2.1GB 以上

打印机:推荐EPSON LQ-1600KII 2、软件配置要求:

WINDOWS95/98/2000、XP 中文版操作系统。

5.2 系统的运行

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

5.3 系统的维护

系统维护的目的是保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。换言之,系统维护就是为了保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。系统维护的工作量往往是很大的,其费用大约占整个生命周期的60%,所以我们必须对系统维护给予足够的重视。 1、系统维护的内容

按照维护对象的不同,系统维护的内容可分为以下几类: (1)系统应用程序维护 (2)数据维护 (3)代码维护 (4)硬件设备维护 2、系统维护的类型

系统维护的重点是系统应用软件的维护工作,按照软件维护的不同性质,可以划分为下面四种类型:

(1)纠错性维护 诊断和修正系统中遗留的错误。

(2)适应性维护 使系统适用环境的变化而进行的维护。 (3)完善性维护 为满足用户的需求而进行的维护。

(4)预防性维护 为将要发生的变化或调整而进行的主动性维护。

5.4 本系统的维护模块

密码修改

“确定”按钮代码:

xm1=ALLTRIM(ThisForm.combo.displayvalue) kl1=ALLTRIM(ThisForm.oldcode.Value) xin=ALLTRIM(ThisForm.newcode.Value) que=ALLTRIM(ThisForm.queren.Value)

LOCATE FOR ALLTRIM(uname)=xm1 and ALLTRIM(upass)=kl1 IF .NOT. EOF() IF xin==que

REPLACE upass WITH xin

messagebox("口令更改成功,你的

新口令"+alltrim(thisform.newcode.value)+" 请确认!"," 家政管理系统") ThisForm.Release ELSE

ThisForm.newcode.Value="" ThisForm.queren.Value=""

是:

ThisForm.newcode.SetFocus

=MESSAGEBOX("您输入的新旧口令不一致, 请重输!",48+0+0,"消息窗口!") ENDIF ENDIF

“取消”按钮代码: thisform.release

第六章 开发总结

通过一个多月的系统开发,家政服务信息管理系统开发完成。在系统的开发过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。感觉到这几门理论课程的重要性。

以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划,一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。

这次的毕业设计开发,主要有以下几点收获:

1.对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。

2.通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础。

第七章 致谢

感谢学校以认真负责的态度为我们组织这次毕业设计以及毕业论文答辨。你们的严格把关,对我们来说有很大的压力。在这种压力下促使我们以最快的速度融入到软件开发理论的应用中去,通过这次煅炼,使我们的系统开发水平各方面都有了较大的进步。由此积累的经验将对我们以后的学习和生活产生帮助。

感谢我的指导老师,在毕业设计时帮助选题,在设计的过程中提出了许多有益的建议和意见,同时她先进的软件开发理念和思维方式也给我很大的启发,还有同组的同学也给予了我不少帮助,这里一并表示感谢。

第39页

参考文献

【1】 郑炳文 《visual Foxpro6.0 程序设计教程》 清华大学出版社 2003.07

【2】 高春玲 《数据库原理与应用》 电子工业出版社 1999.06

【3】 罗晓沛 《数据库技术》 清华大学出版社 2001.05

【4】 杨志强 《visual Foxpro6.0实战与精通》. 高等教育出版社. 2002.08

【5】飞思科技. 《中文visual Foxpro6.0高级教程》. 电子工业出版社. 2002.01

【7】捷新工作室 《中文visual Foxpro6.0基础教程》 机械工业出版社 2000.01

【8】冯晓利《学用visual Foxpro6.0中文版》

第40页 中国铁道出版社 2000.08

摘 要

家政服务管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面. 对于前者要求建立数据一致性和完整性强, 数据安全性好的数据库. 而对于后者则要求应用程序功能完备, 易使用等特点。

随着计算机技术的高速发展,人们对计算机的依赖性越来越强,特别是用计算机开发的数据库以及数据管理系统在生活应用中表现得更为突出,为此开发此系统。通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。

系统开发采用Microsoft 公司的Visual Foxpro 6.0,利用其强大的可视化界面功能及对数据库的支持,先构造一个原型,逐步增加功能,最终满足需求。

关键词:家政服务 VF 管理系统

目 录

第一章 绪论 .................................................................1 第二章 系统分析 .............................................................3

2.1 系统的初步调查: .....................................................3 2.2 系统的可行性分析 .....................................................4 2.3 系统开发步骤 .........................................................4 2.4 对本系统的分析 .......................................................5 第三章 系统设计 .............................................................6

3.1 功能模块 .............................................................6 3.2 数据库设计 ...........................................................6 第四章 系统编码与实现 ......................................................12

4.1 开发平台的选择 ......................................................12 4.2 各个功能模块的创建 ..................................................12 第五章 系统运行与维护 ......................................................35

5.1 系统的配置 ..........................................................35 5.2 系统的运行 ..........................................................35 5.3 系统的维护 ..........................................................35 5.4 本系统的维护模块 ....................................................36 第六章 开发总结 . ..........................................................38 第七章 致谢 . ..............................................................39 主要参考文献 ...............................................................40

第一章 绪论

在现代社会中管理的作用越来越显得重要和突出。一般来讲,管理通过计划、组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织的目标。传统的管理活动中,把人、才、物作为企业的主要资源。但是随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营及企业管理中的作用,并把它当做企业的一种极其重要的资源,人们称之为“信息资源”,信息资源的处理已经成为当今世界上一项主要的社会活动。

本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和在信息处理中的应用,标志着一个崭新时代——“信息时代”的开始,它使企业管理现代化成为可能。

一定意义上说,管理信息系统的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。

管理信息系统的发展 管理信息系统通过对企业当前运行的数据进行处理来获得有关信息,以控制企业的行为;利用过去和现在的数据及相应的模型,对未来的发展进行预测;能从全局目标出发,对企业的管理决策活动予以辅助。从工业发达国家来看,管理信息系统的发展经历了以下几个阶段。

第一阶段:(1953年至1965年)单项数据处理阶段,也称电子数据处理(EDP )阶段。这是电子计算机在管理领域应用的起步阶段。这一阶段,由于当时计算机硬、软件的限制,数据处理的性质只是使用计算机代替人的手工劳动,进行简单的单项数据处理工作,如计算工资、数据统计、报表登记、编制计划等。这个阶段的处理方式主要是集中式的批处理。 第二阶段:(1965年至1970年)综合数据处理阶段,也称事务处理系统(TPS )阶段。这个阶段计算机硬、软件有了很大的发展,出现了多用户的分时系统,计算机开始应用于

对某一个管理子系统的控制,并具有一定的反馈功能。如库存管理系统、生产调度系统、学籍管理系统等。这个阶段的处理方式已发展为面向终端的联机实时处理。

第三阶段:(1970年至今)管理信息系统(MIS )阶段。这个阶段是在企业中全面的使用计算机把各种管理子系统的功能集中起来,构成了计算机化的全方位的信息系统,即现代管理信息系统。这个阶段的处理方式是在数据库和网络基础上组成分布式处理系统。它的特点是使用数据库和分时处理的计算机网络,并充分利用运筹学等数学方法,实现了硬件、软件和数据资源的共享。

总的说来,计算机技术的发展,其性价比大幅的下降,使得其被大量广泛的使用。针对现实中的各种应用需求,相应的产生很多技术体系、技术标准,如J2EE 、NET 、COM/COM+等。这又大大的推动了企业的信息化进程。其影响可以归纳为如下两点:

(1)计算机已经成为我们学习和工作的得力助手:

今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源;

第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全等等。

(2)开发家政服务管理信息系统的意义

家政服务管理系统的使用,加强对客户资料的管理。通过对客户使用情况的分析, 可以掌握用户的喜好,而有针对性的采购家政,减少了不必的家政的购置,加快资金的流转速度。另一方面,家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而提高家政服务管理效率。

第二章 系统分析

2.1 系统的初步调查:

建立一个好的管理信息系统,必须要有一个好的管理基础。所谓好的管理基础,指的是合理的管理体制、完善的制度、科学的管理方法和准确的原始数据。与企业管理相比,我国的企业管理在这方面占有较大的优势。

应该看到,我国发展管理信息系统的时间还不长,设计开发的实际经验也很不足。要使管理信息系统在企业建立、使用,并从中获得巨大的效益,必须具备以下基本条件。

(1)领导重视、管理人员积极性高

管理信息系统的建立,需要企业提供资源、经费、人力和时间,要涉及管理体制、规章制度的变化、调整和大量数据的编码、表格形式协调等工作,这些企业管理的全局性问题必须在企业高层领导的重视和支持下才能获得解决。

管理人员的积极性也是不容忽视的条件。 管理人员是管理信息系统的直接用户,它们的积极性和配合程度,关系到管理信息系统的使用效果和生命力。

(2)具备一定的资源条件

管理信息系统的资源主要包括计算机硬、软件设备,不间断电源(UPS )、空调等辅助设备和计算机房设施等,有条件的企业应尽量发掘和利用现有计算机设备。管理信息系统的费用可分为开发费用和运行费用,前者包括设备购置、人员工资、培训和开发过程中的一系列支出等,后者包括机器运行、维护和修理费,人员工资和水、电、纸张和软盘等日常开支。

要有足够的资金保证,才能顺利完成整个系统的开发工作。当然,资金的投入也可以在开发和运行过程中分阶段进行,在逐步取得阶段成果的基础上补充更多的资源。

(3)组织一个强有力的开发小组

管理信息系统的质量,在某种意义上直接取决于开发人员的水平和素质。开发小组的人数因系统规模大小而异,通常包括系统分析员、程序员、数据录入员和硬、软件维护人员。由于管理信息系统的开发通常是从逐个子系统分期分批进行的,同时,已开发完毕投入使用的系统仍需不断维护、改进和完善,因此这个开发小组应该在相当长的时期内存在。

在正式的立项之前必须进行可行性分析,而可行性分析主要是对现行系统进行充分的调查研究,细致了解现行系统的现状流程,以及存在的主要问题,在此基础上提出新的系统的逻辑模型。

详细的现状调查目的是为了弄清现行系统的基本功能及信息流程,为了新系统逻辑模型提供基础。它是建立新系统的前期工作,也是进行系统分析和设计的重要基础。因此要建立新的家政管理系统就必须对家政店现行租借流程进行分析,以导入逻辑模型,进尔形成目标系统的逻辑模型。

2.2 系统的可行性分析

系统的可行性分析包括两个详细的部分:分析开发新的系统的必要性和可能性。必要性在前面系统初步调查中已经作了详细的分析,在这里就不再赘述;可能性主要包括经济可行性、技术可行性和运行可行性三个方面。

经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。家政服务管理系统用的是VF 开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行。硬件方面,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

运行可行性是对组织结构的影响,现有人员和机构、设施设施和环境对系统的适应性及人员培训补充计划的可行性。当前我们信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。

2.3 系统开发步骤

一般说来,管理信息系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。 上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。

国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析:系统设计:编程:模块调试:系统调试=20%:15%:20%:25%:20%。由此可见,程序编写在开发工作中只占很小比例,

而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的。另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用。

2.4 对本系统的分析

1. 系统目标设计

通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。 2. 开发设计思想

(1)尽量利用基础软硬环境,采用先进的管理系统开发方案从而达到充分利用现有

资源,提高系统开发水平和应用效果的目的;

(2)系统应符合家政服务管理的规定,满足家政店相关人员日常使用需要,并达到

操作过程中的直观、方便、实用、安全等要求;

(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未

参与开发的技术维护人员进行补充、维护;

(4)系统应具有各种票据的打印功能,并有这些票据的存根,报表;

(5)系统应具备数据库维护功能,及根据用户需求进行数据的删除、备份等操作。 3. 现状分析

当家政公司的客户较少时,能较好的安排员工为客户提供服务。但当客户较多时,对客户信息及员工的信息的管理,会花费大量人力及物力, 结果往往不理想,比如,不能及时更新客户联系信息,以致使不能及时的联系客户,更甚者失去客户。其次,在对客户的服务进行计费,对员工的工作进行计酬,往往存在着分岐。 4. 系统功能分析

(1)客户资料管理 (2)员工资料管理 (3)员工服务安排管理 (4)客户服务踪管理 (5)客户查询 (6)员工查询 (7)相关表册打印

第三章 系统设计

3.1 功能模块

管理信息系统设计阶段的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。

具体要求对系统进行功能分解,不断下去,直到分解成含义明确,功能单一的单元功能模块,从而绘制出系统的功能模块图,即HIPO 图。家政服务管理信息系统的HIPO 图如下:

3.2 数据库设计

1. 数据库需求分析

2. 数据库概念结构设计

在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体——联系图(简称E ——R 图)的方法进行数据结构的描述。E ——R 图由实体、属性、联系三部分组成。E ——R 图的有关符号说明如下:

实体 属性

根据数据字典的内容,得到本系统的实体——联系图如下:

客户实体信息

员工实体信息

用户信息实体

系统内主要实体间联系

3. 数据库逻辑结构设计

将以上E-R 图转换成如下关系模式:

客户表(客户编号, 姓名, 性别, 付款方式, 缴费, 服务项目, 住宅电话, 手机, 家庭地址, 合同编号,

生效日期, 终止日期, 服务地点, 备注)

员工表(姓名, 性别, 婚姻情况, 家庭电话, 文化程度, 员工编号, 到公司时间, 家庭地址, 身份证号, 人员状态)

服务安排表(员工编号, 客户编号, 服务日期, 员工姓名)

服务记录表(员工姓名, 客户编号, 开始服务时间, 结束服务时间, 备注)

用户表(用户名, 密码)

注:其中加下划线的字段为该表的关键字。

4. 物理结构设计

物理结构设计的原则如下: (1)尽可能的减少数据冗余和重复。 (2)结构设计与操作设计相结合。 (3)数据结构具有相对的稳定性。

基于以上设计原则,本系统中相关数据库表结构设计举例如下:

客户表:

员工表:

服务安排表: 服务记录表:

用户表:

5. 数据库的安全性、完整性、并发控制和恢复

信息数据是是一种非常重要的资源,因此保证数据库的安全可靠、正确有效是非常重要的问题。一般的数据库管理系统(DBMS )都有提供了一定的数据保护功能。数据库保护也称为数据控制,主要包括数据的安全性、完整性、并发控制和数据库的恢复

第四章 系统编码与实现

4.1 开发平台的选择

考虑到本系统的性能要求,和现有的条件,我们选择了WINDOWSXP 中文版作为开发、测试和运行的平台。因为WINDOWS 操作系统是目前应用最广的操作系统,它以全新的图形界面,简单快捷的操作方式,支持多媒体功能等特点而成为软件发展的流行趋势,选用它作为开发平台,易于功能的扩展和软件升级。 4.2 开发工具的选择

针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合家政服务管理系统的需要和目前的硬件环境,我们选用微软WINDOWS 平台下的Visual FoxPRO6.0(简写为VFP6.0)作为软件开发工具。选用该工具有发下几方面的优点:

(1)VFP6.0是目前微机上最优秀的关系型数据库管理系统软件,正如其名称中冠以的“Visual ”一样,它采用了可视化、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了系统工程的模块化和紧凑性。

(2)VFP6.0版本中提供了大量的诸如“数据库设计器”、“表单设计器”、“菜单设 计器”、“报表设计器”等开发设计工具和向导工具(Wizard ), 使以往费时费力的开发工作变得轻松自如。这些可视化的设计工具免除了开发者编写大量程序代码的工作。

4.2 各个功能模块的创建

1. 登陆界面模块设计

“确认”按钮代码 sele user loca

for

allt(user.uname)==allt(thisform.txtusername.value)

and

allt(user.upass)==allt(thisform.txtpassword.value) if foun()

release thisform clear event else

#define mismatch_loc"用户号或口令不正确! 请重新输入." wait window mismatch_loc timeout 1 thisform.txtpassword.value="" thisform.txtpassword.setfocus endif

“退出”按钮代码: thisform.release quit 2. 主界面

3. 客户管理模块设计

“新增”按钮 public ccode

ccode=""

do form frm_custom

“编辑”按钮

public ccode

if (.not.eof()).and.(.not.bof()) ccode=custom.客户编号 do form frm_custom endif

“删除”按钮

delete ccode=""

thisform.refresh

“客户服务”按钮

local bExist

bExist=.f. thisform.hide

for i=1 to _screen.formcount

if _screen.forms[i].caption="客户服务" _screen.forms[i].show bExist=.t. endif endfor if .not. bExist do form frm_amcustom endif

“退出”按钮代码:

thisform.release

“保存”按钮代码:

=tableupdate(.t.) this.enabled=.f.

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t.

thisform.refresh

“放弃”按钮代码

=tablerevert(.t.) this.enabled=.f.

this.parent.cmdsave.enabled=.f. this.parent.command4.enabled=.t. thisform.refresh

“表单”初始化代码

set multilocks on

=cursorsetprop("buffering",5)

“表单”激活代码

if len(ccode)=0 append blank else

locat for allt(客户编号)=allt(ccode) endif

this.cmdsave.enabled=.f. this.cmdcancel.enabled=.f. this.cmdsave.enabled=.t. this.cmdcancel.enabled=.t. this.command4.enabled=.f. thisform.refresh

“退出“按钮代码:

thisform.release

for i=1 to _screen.formcount

if _screen.forms[i].caption="客户管理" _screen.forms[i].refresh

endif endfor 4. 客户服务模块设计

“设定提醒时间”代码:

public pcode

if (.not.eof()).and.(.not.bof()) pcode=custom.合同编号 if len(pcode)>0 do form frm_setalarm endif endif

“编辑服务记录”代码 public sccode

if (.not.eof()).and.(.not.bof()) sccode=custom.客户编号 if len(sccode)>0 do form frm_setservice endif

endif

“客户管理”代码 local bExist bExist=.f. thisform.hide

for i=1 to _screen.formcount

if _screen.forms[i].caption="客户管理" _screen.forms[i].show bExist=.t. endif endfor

if .not. bExist do form frm_mcustom endif

“退出“按钮代码:

thisform.release

“编辑”按钮代码:

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t.

this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. this.parent.command3.enabled=.f. thisform.combo1.value=员工编号 thisform.combo2.value=员工姓名 ls=dtoc(服务日期) ds="" lts=""

for i=1 to len(ls) if SUBSTR(ls,i,1)="/" if len(ds)

ds=REPLCATE("0",2-len(ds))+ds endif lts=lts+ds ds="" else

ds=ds+SUBSTR(ls,i,1) endif endfor if len(ds)

ds=REPLCATE("0",2-len(ds))+ds endif lts=lts+ds

thisform.txt 服务日期.value=lts thisform.refresh

“保存”按钮代码: if

len(allt(thisform.combo1.value))>0 .and.len(allt(thisform.combo2.value))>0.and.len(allt(thisform.txt服务日期.value))>=6

c=thisform.txt服务日期.value

ld=ctod(subs(c,1,2)+"/"+subs(c,3,2)+"/"+subs(c,5,4))

if ld>=thisform.txt生效日期.value.and.ld

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. this.parent.command3.enabled=.t. thisform.refresh else

cMessageTitle="系统提示" cMessageText="日期无效" nDialogType=0+32

nanswer=MESSAGEBOX(cMessageText,nDialogType,cMessageTitle) thisform.txt服务日期.setfocus endif else

cMessageTitle="系统提示" cMessageText="信息输入不完整" nDialogType=0+32

nanswer=MESSAGEBOX(cMessageText,nDialogType,cMessageTitle) thisform.txt服务日期.setfocus endif

“放弃”按钮代码: =tablerevert(.t.) this.enabled=.f.

this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. this.parent.command3.enabled=.t. thisform.combo1.value="" thisform.combo2.value="" thisform.txt服务日期.value="" thisform.refresh

“退出”按钮代码: =tablerevert(.t.) thisform.release

“新增”按钮代码: append blank

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f.

thisform.txt 开始服务时间.value=dtoc(date())+" "+time() thisform.txt 结束服务时间.value=dtoc(date())+" "+time() thisform.refresh

thisform.txt 开始服务时间.setfocus

“编辑”按钮代码:

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. thisform.refresh “删除”按钮代码: delete

=tableupdate(.t.) if .not.eof() skip else

if .not.bof() skip-1 endif endif

thisform.refresh

“保存”按钮代码:

replace 客户编号 with allt(sccode) =tableupdate(.t.) this.enabled=.f.

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t.

this.parent.command2.enabled=.t. thisform.refresh

“放弃”按钮代码: =tablerevert(.t.) this.enabled=.f.

this.parent.cmdsave.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. thisform.refresh

“退出”按钮代码: =tablerevert(.t.) thisform.release

5. 员工管理模块设计

“新增”按钮代码: append blank

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. thisform.optiongroup1.value=1 thisform.refresh thisform. 姓名1.setfocus

“编辑”按钮代码:

this.parent.cmdsave.enabled=.t. this.parent.cmdcancel.enabled=.t. this.parent.command4.enabled=.f. this.parent.command2.enabled=.f. this.parent.command1.enabled=.f. if allt(人员状态)="正在待聘人员" thisform.optiongroup1.value=1 endif

if allt(人员状态)=" 正在工作人员" thisform.optiongroup1.value=2 endif

if allt(人员状态)="已回人员" thisform.optiongroup1.value=3 endif

thisform.refresh

“保存”按钮代码: =tableupdate(.t.) this.enabled=.f.

this.parent.cmdcancel.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. thisform.refresh

“放弃”按钮代码: =tablerevert(.t.) this.enabled=.f.

this.parent.cmdsave.enabled=.f. this.parent.command4.enabled=.t. this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. thisform.refresh

“删除”按钮代码: delete

=tableupdate(.t.) if .not.eof() skip else

if .not.bof() skip-1 endif endif

thisform.refresh

“退出“按钮代码: =tablerevert(.t.) thisform.release

6. 客户资料查询模块设计

“打印详细资料”代码: public pccode if .not.eof()

pccode=allt(客户编号) if len(pccode)>0

set filter to allt(客户编号)=allt(pccode) report form rpt_detcus prev set filter to endif endif

“打印服务记录”按钮代码: public pccode if .not.eof()

pccode=allt(客户编号) if len(pccode)>0

set filter to allt(客户编号)=allt(pccode) report form rpt_serrec prev set filter to

endif endif

“退出“按钮代码: thisform.release

7. 服务安排查询模块设计

8. 服务情况查询模块设计

9. 雇员查询模块设计

10. 客户查询模块设计

11. 用户管理模块 1)新增用户模块

“确定”按钮代码: if not used("user") sele 0 use user endif

_username=allt(thisform.text1.value) _quanxian=""

_pass=allt(thisform.text2.value) _passqueren=allt(thisform.text3.value) if empty(_username)

messagebox("请输入用户名!") thisform.text1.setfocus return endif

if empty(_pass) or empty(_passqueren) messagebox(" 请输入密码!") thisform.text2.setfocus return endif

if _pass#_passqueren

messagebox("两次密码不一致,请检查!") thisform.text2.setfocus

thisform.text2.value="" thisform.text3.value="" return endif go top

locate for uname=_username if eof() go bottom appe blan

repl uname with _username ,upass with _pass for empty(uname) messagebox("添加用户成功!") thisform.release else

messagebox("对不起,该用户名已存在,请重新输入!") thisform.text1.value="" thisform.text2.value="" thisform.text3.value="" thisform.text1.setfocus return endif

thisform.text1.value="" thisform.text2.value="" thisform.text3.value=""

“取消”按钮代码: thisform.release 2)删除用户模块

“确定”按钮代码:

_user=allt(thisform.combo1.displayvalue) if empty(_user)

messagebox("请选择要删除的用户!") return endif

cMessageTitle="删除用户"

cMessageText="确定要删除该用户吗?" nDialogType=4+32

nanswer=MESSAGEBOX(cMessageText,nDialogType,cMessageTitle) if nAnswer=6

dele for upper(alltrim(uname))==upper(_user) messagebox("删除用户成功!") thisform.refresh endif

“取消”按钮代码: thisform.Release 12. 系统维护模块

“确定”按钮代码:

“xm1=ALLTRIM(ThisForm.combo.displayvalue) kl1=ALLTRIM(ThisForm.oldcode.Value) xin=ALLTRIM(ThisForm.newcode.Value) que=ALLTRIM(ThisForm.queren.Value)

LOCATE FOR ALLTRIM(uname)=xm1 and ALLTRIM(upass)=kl1 IF .NOT. EOF() IF xin==que

REPLACE upass WITH xin messagebox("口令

更改

成功,

你的

新口令

是:

"+alltrim(thisform.newcode.value)+" 请确认!"," 家政管理系统") ThisForm.Release ELSE

ThisForm.newcode.Value="" ThisForm.queren.Value="" ThisForm.newcode.SetFocus

=MESSAGEBOX("您输入的新旧口令不一致, 请重输!",48+0+0,"消息窗口!") ENDIF ENDIF

“取消“按钮代码” thisform.release 13. 报表打印模块 1)客户通讯录

2) 员工通讯录

3)客户详细资料

4)客户服务记录

第五章 系统运行与维护

管理信息系统在完成系统实施、投入正常运行之后,就进入了系统运行与维护阶段。

5.1 系统的配置

1、硬件配置要求(最低) : CPU:PII200以上。 内存:32MB 以上。 硬盘:2.1GB 以上

打印机:推荐EPSON LQ-1600KII 2、软件配置要求:

WINDOWS95/98/2000、XP 中文版操作系统。

5.2 系统的运行

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

5.3 系统的维护

系统维护的目的是保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。换言之,系统维护就是为了保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。系统维护的工作量往往是很大的,其费用大约占整个生命周期的60%,所以我们必须对系统维护给予足够的重视。 1、系统维护的内容

按照维护对象的不同,系统维护的内容可分为以下几类: (1)系统应用程序维护 (2)数据维护 (3)代码维护 (4)硬件设备维护 2、系统维护的类型

系统维护的重点是系统应用软件的维护工作,按照软件维护的不同性质,可以划分为下面四种类型:

(1)纠错性维护 诊断和修正系统中遗留的错误。

(2)适应性维护 使系统适用环境的变化而进行的维护。 (3)完善性维护 为满足用户的需求而进行的维护。

(4)预防性维护 为将要发生的变化或调整而进行的主动性维护。

5.4 本系统的维护模块

密码修改

“确定”按钮代码:

xm1=ALLTRIM(ThisForm.combo.displayvalue) kl1=ALLTRIM(ThisForm.oldcode.Value) xin=ALLTRIM(ThisForm.newcode.Value) que=ALLTRIM(ThisForm.queren.Value)

LOCATE FOR ALLTRIM(uname)=xm1 and ALLTRIM(upass)=kl1 IF .NOT. EOF() IF xin==que

REPLACE upass WITH xin

messagebox("口令更改成功,你的

新口令"+alltrim(thisform.newcode.value)+" 请确认!"," 家政管理系统") ThisForm.Release ELSE

ThisForm.newcode.Value="" ThisForm.queren.Value=""

是:

ThisForm.newcode.SetFocus

=MESSAGEBOX("您输入的新旧口令不一致, 请重输!",48+0+0,"消息窗口!") ENDIF ENDIF

“取消”按钮代码: thisform.release

第六章 开发总结

通过一个多月的系统开发,家政服务信息管理系统开发完成。在系统的开发过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。感觉到这几门理论课程的重要性。

以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划,一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。

这次的毕业设计开发,主要有以下几点收获:

1.对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。

2.通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础。

第七章 致谢

感谢学校以认真负责的态度为我们组织这次毕业设计以及毕业论文答辨。你们的严格把关,对我们来说有很大的压力。在这种压力下促使我们以最快的速度融入到软件开发理论的应用中去,通过这次煅炼,使我们的系统开发水平各方面都有了较大的进步。由此积累的经验将对我们以后的学习和生活产生帮助。

感谢我的指导老师,在毕业设计时帮助选题,在设计的过程中提出了许多有益的建议和意见,同时她先进的软件开发理念和思维方式也给我很大的启发,还有同组的同学也给予了我不少帮助,这里一并表示感谢。

第39页

参考文献

【1】 郑炳文 《visual Foxpro6.0 程序设计教程》 清华大学出版社 2003.07

【2】 高春玲 《数据库原理与应用》 电子工业出版社 1999.06

【3】 罗晓沛 《数据库技术》 清华大学出版社 2001.05

【4】 杨志强 《visual Foxpro6.0实战与精通》. 高等教育出版社. 2002.08

【5】飞思科技. 《中文visual Foxpro6.0高级教程》. 电子工业出版社. 2002.01

【7】捷新工作室 《中文visual Foxpro6.0基础教程》 机械工业出版社 2000.01

【8】冯晓利《学用visual Foxpro6.0中文版》

第40页 中国铁道出版社 2000.08


相关文章

  • 变电站通信网络和系统协议IEC61850介绍
  • 第25卷第9期2001年9月 电网技术 PowerSystemTechn0109y Vol_25No.9SeD. 2001 文章编号:looo 3673(2001)090008一04 变电站通信网络和系统协议IEc61850介绍 谭文恕 ( ...查看


  • 酒店客房管理系统酒店客房管理系统
  • 前言 随着旅游业的发展,酒店业如雨后春笋般蓬勃发展起来,既是社会发展使然,综合性的酒店计算机管理系统已变得不可缺少.减少人员开支.提高核算精度以及减少财务错漏,维,一种新的理念,策支持系统,供酒店管理者决策参考. 本文简单介绍了酒店客房管理 ...查看


  • 论文相似度检验
  • 论文相似性检测报告 论文相似性检测报告 报告编号:fac66142-3855-4129-baa9-a05d00ae2807检测日期:2012年05月26日 检测范围:中国学术期刊数据库(CSPD).中国学位论文全文数据库(CDDB).中国学 ...查看


  • 毕业论文管理信息系统分析与设计
  • 毕业论文(设计)管理信息系统 A1 毕业论文(设计)信息系统的系统调研及规划 A1.1 项目背景分析 有利条件:信息化的来临和计算机在日常管理中的广泛应用: 目的:实现毕业论文管理的信息化和便捷化: 系统开发组织单位:信息管理专业教师及学生 ...查看


  • 你的毕业论文上网测"抄袭率"了吗
  • 你的毕业论文上网测"抄袭率"了吗 有学生提前多次检测仍过不了学校这一关 老师:其实论文有无抄袭,老师用心一看就能发现 又到论文答辩季,为了应付学校毕业论文查重检测,一些准毕业生在提交论文前先花钱检测自己的论文.27日,记 ...查看


  • 论文复制率检测---论文查重与经验总结
  • 论文复制率检测---论文查重与经验总结 又到了一年一度写毕业论文的时候了,论文复制率检测就是一个大问题了,因为毕业论文写作一般不是太难,因为有创意的论文毕竟是少数,多数论文都是东找西摘而来,但是这样写的论文就牵扯到一个大问题,就是如果提交的 ...查看


  • 服务型政府概念.内涵与特点
  • 总25卷第2期西南民族大学学报・人文社科版 V01.25No.2 2004年2月 JournalofSouthwestUniversityforNationalities.Humanities&SocialSei∞_ees Feb. ...查看


  • 发挥社区护士角色功能的意义
  • ・227・ ・护理・ 发挥社区护士角色功能的意义 吴亚君 [摘要] 社区护理资源的充分利用对社区卫生服务适应社会发展需要具有重要意义.充分发挥护士角色功能是 推广社区"全科团队"模式的关键.社区护士积极参与家庭护理是满足 ...查看


  • 大专部毕业论文格式要求
  • 毕业设计.论文格式标准 毕业设计.论文是根据专业教学的要求,对学生所学知识和理论进行综合运用的培训,旨在培养学生的专业研究素养,提高分析和解决问题的能力,使学生的创新意识和专业素质得到提升,使学生的创造性得以发挥. 毕业设计.论文应由学生本 ...查看


  • 信息技术与信息服务国际研讨会综述
  • 作者:杨棫 图书馆杂志 1995年04期 由中国科学院文献情报系统与中国国际图书进出口总公司联合举办的信息技术与信息服务国际研讨会于1994年10月21-24日在上海召开.会议代表来自全国各地56所高校.公共图书馆.科技情报所.专业情报单位 ...查看


热门内容