毕 业 论 文
题 目: 基于VFP党员信息管理系统
学生姓名 许 阳 指导教师 陈爱萍 讲师
二级学院 信息技术学院 专 业 计算机科学与技术
班 级 07计本(软件工程) 学 号 0705110309
提交日期 2011年4月10日 答辩日期 2011年4月30日
金陵科技学院学士学位论文 目录
目 录
摘 要 ......................................................... IV ABSTRACT ....................................................... V 第1章 引言 .................................................... 1 1.1课题研究目的及意义 .......................................... 1 1.2课题研究背景 ............................... 错误!未定义书签。 1.3课题设计目标 ................................................ 1 1.4论文框架结构 ................................................ 2 第2章 系统开发技术简介 ........................ 错误!未定义书签。 2.1关于JAVA EE ................................ 错误!未定义书签。 2.2使用JAVA作为开发语言....................... 错误!未定义书签。 2.3开发工具ECLIPSE ............................ 错误!未定义书签。 2.4 MYSQL数据库 ............................... 错误!未定义书签。 2.5 WEB服务器TOMCAT ............................ 错误!未定义书签。 2.6 JSP概述 ................................... 错误!未定义书签。 2.7 HIBERNATE概述 ............................... 错误!未定义书签。 2.8 STRUTS概述 ................................. 错误!未定义书签。 第3章 系统总体设计 ............................................ 4 3.1系统功能需求说明 ............................................ 4 3.1.1前台购物系统 ............................................ 5 3.1.2后台管理系统 ............................................ 5 3.2基本设计模型和处理流程 ..................... 错误!未定义书签。 3.3系统层次模块图 .............................................. 5 3.3.1前台购物系统 ........................... 错误!未定义书签。 3.3.2后台管理系统 ........................... 错误!未定义书签。 3.4系统流程图 .................................................. 7
I
金陵科技学院学士学位论文 目录
3.4.1前台购物系统流程图 ..................... 错误!未定义书签。 3.4.2后台管理系统流程图 ...................................... 8 第4章 数据库设计 ............................................. 10 4.1系统E-R图 ................................................. 10 4.1.1前台购物系统E-R图 ..................... 错误!未定义书签。 4.1.2后台管理系统E-R图 ..................... 错误!未定义书签。 4.2数据库详细设计 ............................................. 12 4.3创建数据库脚本 ............................. 错误!未定义书签。 第5章 系统详细设计 ........................................... 14 5.1前台购物系统模块功能及界面 ................................. 14 5.1.1用户注册/登录 .......................................... 14 5.1.2用户信息修改 ........................... 错误!未定义书签。 5.1.3查看商品详情 ........................................... 15 5.1.4购物车功能 ............................................. 18 5.1.5订单管理 ............................................... 21 5.2后台管理系统模块功能及界面 ................. 错误!未定义书签。 5.2.1管理员登录 ............................. 错误!未定义书签。 5.2.2管理员信息管理 ......................... 错误!未定义书签。 5.2.3商品管理 ............................... 错误!未定义书签。 5.2.4订单管理 ............................... 错误!未定义书签。 5.2.5会员信息管理 ........................... 错误!未定义书签。 5.2.6供应商信息管理 ......................... 错误!未定义书签。 第6章 系统测试与性能分析 ..................................... 33 6.1测试环境与条件 ............................................. 33 6.2系统测试 ................................................... 33 6.2.1系统测试的目的 ......................................... 33 6.2.2系统测试的原则 ......................................... 33 6.2.3系统测试的实施 ......................................... 34
II
金陵科技学院学士学位论文 目录
6.2.4功能测试 ............................................... 34 6.3性能分析 ................................................... 35 总结 .......................................................... 36 参考文献 ...................................................... 36 致谢 .......................................................... 36
III
金陵科技学院学士学位论文 摘要
VFP党员信息管理系统
摘 要
随着科学技术的发展,信息管理在日常生活中的地位变得越来越重要。数据库管理技术逐步趋于成熟,其应用也已经遍及各个领域,它能够代替人做各种重复,繁琐的劳动,并且拥有操作简单,可信度好,不易出错等优点,大大减少了不必要的人力消耗,提高工作效率。党员日常管理是每个学校必然面临的问题,是党委组织工作不可缺少的一部分。一个功能齐全、简单易用的党员信息管理系统能有效地减轻党员管理工作人员的工作负担,提高工作效率。
本文详细介绍了一个基于VFP技术的党员信息管理系统的设计及实现。着重论述了系统功能与实现、数据结构及流程、包括用户登录及注册、党员信息浏览、查询及生成报表、后台数据库管理等。运用VFP 6.0作为开发平台,打造一个系统界面友好、操作简便、功能完备、维护方便的党员信息管理系统。
关键词: VFP ;党员;管理
IV
金陵科技学院学士学位论文 摘要
The party members' information management system
Abstract
With the development of science and technology, information management position in their daily lives becomes increasingly important. The database management is becoming a more and more mature technology, also its application has been around in various fields. It can replace the people to do all kinds of repetition, tedious labor, at the same time it has a large number of advantages. For example, it is simple, reliable, and no error. Also it can greatly reduce the unnecessary human consumption and improve efficiency. Day to day management of each school to party members is not only an inescapable problem to face, but also a part of party’s work. A fully functional, simple information management system for party members effectively reduces the workload of party management staffs.
So this article will introduce a technique based on VFP members’ design and implementation of an information management system, which focuses on the function and implementation of the system, data structure and processes, user login and registration, viewing party members’ information, query and generate reports, and background database management. The use of VFP 6.0 as a development platform is to create an information management system of party members, whose is system user-friendly, simple, fully function, and easy to maintain.
Keywords: VFP ;The party members;
V
金陵科技学院学士学位论文 第1章 引言
第1章 引言
在计算机没有出现以前,人们的档案记录都以手工写录为主,这样既
1.1课题研究目的及意义
随着学院基层党组织党建工作的深入开展,党员数量逐渐增多,各基层党支部迫切需要引入信息化管理。因此为了解决以上问题,同时也为了进一步熟悉所学的知识,了解在系统的开发过程中可能遇到的情况,从而积累一定的经验。把自己所学的知识应用到实际中去,如:《Visual FoxPro 6.0实用教程》、《软件开发工具》、《数据库原理》、等。其它的开发目的如下:
(1) 提高系统开发的综合能力。
(2) 满足用户的需求,提高工作效率,加强对党员的管理,完成对有关内容的输入、查询、删除、打印等操作。
(3) 减少了重复性的劳动。党员管理人员从机械的手工操作中解放出来。
(4) 准确性、灵活性较好。模块化的设计,提高各个部分的独立性,减少各系统之间的数据依赖性,对环境的变化有很强的适应性。
(5) 系统性比较好。系统是作为统一的整体而存在的,以便于用户使用,提高工作效率,合理利用现有资源。
(6) 良好的人机界面,便于维护和操作
(7)开发适用的软件——“党员信息管理系统”。使之符合实际的使用情况,符合工作人员的要求,使管理工作达到高效、快捷、准确,提高管理水平。
(8) 满足用户的要求。随着党支部的扩增,党员的增加,党员的管理工作也越来越复杂、繁重。开发一套适用的管理系统,成为提高工作效率,减轻工作人员的工作负担的主要手段。综合实际的情况,开发此系统,尽量做到功能完备,易于操作,便于用户使用,解决实际问题。
(9) 根据项目开发本系统提供方便的人机对话界面,可以进行数据的录入、查询、修改、等功能,完全以用户的需求为基础,充分考虑用户的要求,尽量满足用户的使用。
1.2课题设计目标
设计一个党员信息管理系统,必须有一个正确的设计指导思想,通过合理的选择数据结构,网络结构,操作系统以及开发环境,构成一个完善的系统,才能充分发挥通过计算机管理党员信息带来的便捷,使本系统成为一个具备现代化气息的管理系统。
设计该系统的目标是,建立一个完善的党员信息管理系统,。其中管理员操作权限有:用户管理,修改密码等。非管理员操作权限有:数据库备份和恢复,组织管理,查询报表等。
1
金陵科技学院学士学位论文 第1章 引言
1.3论文框架结构
第1章 引言:介绍了课题研究的目的和意义,国内外背景以及课题的设计目标。 第2章 系统开发技术简介:简述了课题设计所涉及的各项技术。
第3章 系统整体设计:概述了系统设计的基本概念及处理流程,详细描述了系统及功能需求,对系统各模块进行了分析。
第4章 数据库设计:分析了数据库的设计模型,包括E-R图,数据库物理设计表 第5章 系统实现:详细说明系统各个模块实现界面效果及关键代码。
第6章 系统测试及性能分析:介绍了测试环境和条件、测试数据以及测试结果。
2
金陵科技学院学士学位论文 第2章 系统开发技术简介
3
金陵科技学院学士学位论文 第3章 系统总体设计
第2章 系统总体设计
本章主要介绍了该系统的简要需求分析、系统的设计模式以及系统的流程。在这里,将初步看到系统的整个操作流程,并对系统模块划分有一个整体把握。
2.1系统开发技术简介
Visual FoxPro ,简称VFP,是Microsoft公司从Fox公司的FoxBase数据库软件,经过数次改良,并且移植到Windows之后,得来的应用程序开发软件,主要用于开发数据管理与运算等方面。VFP是Microsoft公司推出的最新可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统。
VFP提供了功能完备的工具、极其友好的用户界面、简单的数据存取方式、独一无二的跨平台技术,交肯有良好的兼容性、真正的可编译性和较强的安全性,是目前最快捷、最实用的数据库管理系统软件之一。在桌面型数据库应用中,处理速度极快,是日常工作中的得力助手。
2.2系统功能需求说明
本系统主要由四大模块构成,分别为:系统设置、组织管理、查询报表、帮助。在系
统设置模块中,用户管理和修改密码两个小型模块需要操作权限达到系统要求才能进行操作。如图2-1所示:
图2-1党员信息系统功能模块图
4
金陵科技学院学士学位论文 第3章 系统总体设计
2.2.1系统设置
(1) 用户管理与修改密码
用户可以进行登录,只有具有一定操作权限的用户才能进行这两项操作。 (2) 数据库备份与恢复
用户登陆后,可以对已经生成的表进行备份和恢复,这两项功能是信息安全的有力保障。 (3) 注销与退出
用户可以在这两模块下进行注销操作或者退出系统操作。
2.2.2组织管理
(1) 党员管理:管理党员信息,对党员信息进行增、删、改、查操作。这个模块下有:
新增党员、党员信息两个子模块。
(2) 制度管理:主要显示各个支部所必须遵守的规章制度,通过下拉菜单显示各条制
度信息。
(3) 支部管理:通过增1、删、改、查支部信息,这个模块下分为新增支部和修改删
除支部两个子模块。
(4) 支部风采:在这个模块下,使用者可以对各个支部近期开展的活动进行浏览。
2.2.3查询报表
(1) 组织机构查询
对党支部表进行详细的查询,可以综合预览整个党支部表,也可进行单独的党支部的查询。 (2) 党员查询
对党员信息表进行详细的查询,可以综合预览整个党员信息表,也可进行单独的党员姓名的查询。 (3) 打印
用户可以在这个模块下进行党员信息表,支部表等等的打印,格式转换等操作。
2.2.4帮助
(1) 关于
主要显示本系统的基本信息。
(2) 帮助
对不熟悉本系统操作流程的人员进行系统操作步骤的简单讲解。
2.3业务流程图
根据对原系统的调查分析及资料的分析绘制如图3-2所示的业务流程图,由此流程图
5
金陵科技学院学士学位论文 第3章 系统总体设计
来画数据流程图和信息流程图以及做其它相关工作。
查询人 查询单 系统管理员 输出信息单 党员管理员 图2-2党员管理业务流程图 档案卡单 党员名单 打印 管理员通过后台系统登录页面登录进入管理系统首页。登录时系统会自动检测管理员的权限,并为之分配相应的管理功能。进入系统首页后,管理员对管理员信息、商品信息、订单信息、会员信息、供应商信息进行增删改查操作。同时,管理员对其他操作都具有最高权限。在管理工作结束后,管理员便可安全登出。图2-3以管理员信息管理为例,来说明系统的流程。
6
金陵科技学院学士学位论文 第3章 系统总体设计
图2-3系统流程图
2.4数据流程图
根据业务流程及相关资料绘制如下图2-4所示的流程图,此流程图主要为功能模块分析提供资料。
7
金陵科技学院学士学位论文 第3章 系统总体设计
图2-4 数据流程图
数据流程图说明:
D1: 收集党员信息数据 D2: 编辑完成的党员信息 D3: 打印党员信息档案 D4: 打印党员信息档案资料 D5: 查询党员信息 D6: 党员信息 D7: 党员信息
F1,F2,F3,F4:相应数据库表 P1,P2,P3,P4,P5: 相应操作
2.5逻辑模块图
根据调查分析及相关资料本系统的逻辑模块绘制如图3-5所示:
8
金陵科技学院学士学位论文 第3章 系统总体设计
党员的资料单 数据编辑
党员的资料库 查询 统计分析 制表 更新维护 XX XX 报表 图2-5 逻辑模块图
9
金陵科技学院学士学位论文 第4章 数据库设计
第3章 数据库设计
数据库是数据处理的一种方式,它有很优异的特点,譬如,有较底的数据冗余性和较高的数据独立性,数据之间联系紧密,对于数据的存取有较严格的限制,从而保证了系统的可靠性。其中包括:概念设计,逻辑设计和物理设计。
3.1概念设计
对数据的分析的基础上,我们可以由下而上的建立系统的概念结构,即从用户的角度进行视图设计将视图集成,然后对集成后结构分析优化并对其进行第1到 第3范式的抽选,最终可以得到概念模式。其中党员信息数据库有:姓名,性别,出生日期,民族,入党时间等字段,详细情况如表4-1党员信息数据库所示。对于党支部数据库包括支部编号,支部名称,所属院系等字段,详细情况如表4-2党支部数据库所示。对于制度数据库库包括编号,制度名称,内容等字段,详细情况如表4-3制度数据表所示。、
表3-1 党员信息数据库
表3-2党支部数据库
10
金陵科技学院学士学位论文 第4章 数据库设计
表3-3制度表数据库
3.2逻辑设计
逻辑设计的主要目的是将概念模型转换为层次模型或是网状模型的逻辑结构并将此类关系模型进行规范化以使系统结构得以有一个清晰的方案。党员信息数据库的字段有:姓名,性别,出生日期,入党时间,所属支部等。制度表数据库库的字段有:序号, 制度名称, 等。党支部数据库的字段有:支部编号,支部名称,所属院系等。
3.3物理设计
物理结构设计是为数据模型在设备上选定合适的存储结构和存储方法用以获得数据库的最优效率,通常包括库文件的组织形式,存储介质的分配,存取路径的选择,数据块大小的确定。物理结构的设计是系统得以实施的主要方式因此也是十分重要的步骤,我们需要对此进行认真的设定以 使系统有一个合理而且高效的设置。
11
金陵科技学院学士学位论文 第4章 数据库设计
3.4数据库详细介绍
本系统共涉及5张表,分别为党员信息表,党支部表,制度表,支部风采表,密
码表。 党员信息表
管理员信息表记录了有关管理员信息的相关资料。其字段设置如表3-4所示:
字段名 姓名 性别 民族 出生日期 入党时间 所属支部 学历
类型 varchar varchar varchar varchar varchar varchar varchar 长度 11 32 32 32 20 20 11 是否允许空 否 否 是 是 是 否 是 是否主键 是 否 否 否 否 否 否 表3-4 管理员信息表 密码表
此表用来存放正登陆用户账号和密码,以及管理员权限。其字段如表3-5所示:
字段名 类型 varchar 账号 varchar 密码 权限标志位 varchar 长度 20 20 10 是否允许空 否 否 是 是否主键 是 否 否 表3-5 密码表
党支部表
党支部表记录了有关支部信息的相关资料。字段设置如表3-6所示:
字段名 支部编号 支部名称 所属院系 类型 varchar varchar varchar 长度 11 36 20 是否允许空 否 是 是 是否主键 是 否 否 表3-6党支部表
制度表
制度表记录了党支部有关规章制度的相关资料。其字段设置如表3-7所示:
字段名 类型 长度 是否允许空 是否主键 varchar 序号 11 否 是 varchar 制度名称 20 是 否 内容 二进制备注4 是 否 型 12
金陵科技学院学士学位论文 第4章 数据库设计
表3-7制度表
支部风采表
支部风采表记录了近阶段各个支部所开展的活动及其主要内容。其字段设置如表3-8所示:
字段名 序号 活动名称 内容 组织单位 活动时间 参加人员 类型 varchar varchar 二进制备注型 varchar varchar 二进制备注型 长度 11 32 4 32 20 4 是否允许空 否 否 是 是 是 否 是否主键 是 否 否 否 否 否 表3-8 支部风采表
13
金陵科技学院学士学位论文 第5章 系统详细设计
第4章 系统详细设计
本章以说明附图片的形式,清晰的展示了系统各个模块的实际效果图。从注册登录到党员资料查询打印,从管理员登录到每一步操作,都有详细的说明。另注有部分关键代码,以便参考。
4.1系统模块功能及界面的程序设计
4.1.1系统启动与登录
系统启动时,显示党员信息管理系统的启动界面(如图5-1)。
图4-1系统启动
系统经过启动界面之后,自动弹出登录界面,通过下拉菜单自动显示所有的账号,以供操作人员选择,操作人员通过选择自己的账号,并且在密码框中输入相应的密码,系统自动通过储存于密码表中的账号密码进行匹配,并且通过此账号的权限标志位,来确定操作者的权限。如果账号与密码匹配,则进入下一层界面—党员信息管理系统主界面。
图4-2 用户登录
14
金陵科技学院学士学位论文 第5章 系统详细设计
locate all for alltrim(密码表.账号)==alltrim(thisform.combo1.value) if found()
if alltrim(thisform.text1.value)==alltrim(密码表.密码) x=1 do case
case alltrim(密码表.权限标志位)==\"1\" thisform.release
Do FORM 系统主表单
case alltrim(密码表.权限标志位)==\"0\" thisform.release
Do FORM 系统主表单2 endcase else
messagebox(\"口令不正确!请重新输入!\登录信息\") thisform.text1.setfocus thisform.text1.value=\"\" endif endif
4.1.2系统主表单
用户正确登录后,可以看到系统主界面,如图4-4:
图4-4 系统主界面
15
金陵科技学院学士学位论文 第5章 系统详细设计
主界面的功能主要是显示快捷按钮,以及系统菜单,具体代码如下:
do E:\\党员信息管理系统\\MENUS\\主界面菜单.mpr with this,.t. thisform.text3.value=ttoc(datetime())
5.1.3用户信息增加与删除
选择“系统设置”→“新增用户”命令,即可打开“新增用户”窗体。首先检查用户名是否为空或者已经存在,然后通过两次密码确认相同,则把输入的用户名、密码和权限输入密码表。如图5-3:
图5-3 新增用户
if empty(thisform.text1.value)
messagebox (\"用户名不能为空!\添加新用户\") thisform.text1.setfocus else
locate for upper(密码表.账号)=upper(allt(thisform.text1.value)) if found()
messagebox(\"用户名已经存在,请输入其他用户名!\添加新用户\") thisform.text1.setfocus else
if thisform.text2.value==thisform.text3.value if empty(thisform.text1.value)=.f.
a=messagebox('确定要添加记录吗?',32+4,'系统提示') if a=6
Insert Into 密码表;
(账号,密码,权限标志位);
16
金陵科技学院学士学位论文 第5章 系统详细设计
Values(alltrim(thisform.text1.value),alltrim(thisform.text2.value),alltrim(thisform.combo1.value))
endif else
messagebox('请输入支部编号',16,'系统提示') endif
messagebox(\"成功添加新用户!\添加新用户\") release thisform else
messagebox(\"请输入相同密码!\添加新用户\") thisform.text3.setfocus endif endif endif
管理员可以通过“删除用户”操作,来实现取消某一用户的操作账号,实现此功能需要管理员权限。具体操作如图5-4 。.
图5-4删除用户
use 密码表
if empty(thisform.combo1.value)=.f.
a=messagebox('确定要删除记录吗?',32+4,'系统提示')
17
金陵科技学院学士学位论文 第5章 系统详细设计
if a=6 then
delete from 密码表 where 账号=thisform.combo1.value and 密码=thisform.text1.value and 权限标志位=thisform.text2.value
pack
thisform.combo1.value=\"\" thisform.text1.value=\"\" thisform.text2.value=\"\" endif endif
5.1.4数据库备份与恢复
在系统的使用过程中,难免会遇到系统崩溃,病毒篡改系统等情况。在遇到这些突发状况时,系统备份与恢复就显得尤其重要。本系统提供系统数据库的完整备份与恢复。数据备份操作页面如下图5-5。.
图5-5数据库备份
数据备份代码如下: Set safety off Set talk off
If empty(thisform.combo1.value) Messagebox(\"请选择要备份的数据。\数据备份\") Thisform.combo1.setfocus Else If empty(thisform.text1.value) Messagebox(\"请选择数据备份去向。\数据备份\") Thisform.command3.setfocus Else
18
金陵科技学院学士学位论文 第5章 系统详细设计
If thisform.combo1.value#\"全部\" _fpt=allt(juststem(thisform.text1.value))+\".FPT\" _cdx=allt(juststem(thisform.text1.value))+\".CDX\" If file(sys(5)+curdir()+\"\\\"+_fpt) and file(sys(5)+curdir()+\"\\\"+_cdx) Copy file sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) to allt(thisform.text1.value) Copy file sys(5)+curdir()+\"\\\"+_fpt to justpath(allt(thisform.text1.value))+\"\\\"+_fpt Copy file sys(5)+curdir()+\"\\\"+_cdx to justpath(allt(thisform.text1.value))+\"\\\"+_cdx Messagebox(juststem(allt(thisform.text1.value))+\"备份成功!\数据备份\") Else If file(sys(5)+curdir()+\"\\\"+_fpt) Copy file sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) to allt(thisform.text1.value) Copy file sys(5)+curdir()+\"\\\"+_fpt to justpath(allt(thisform.text1.value))+\"\\\"+_fpt Messagebox(juststem(allt(thisform.text1.value))+\"备份成功!\数据备份\") Else If file(sys(5)+curdir()+\"\\\"+_cdx) Copy file sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) to allt(thisform.text1.value) Copy file
sys(5)+curdir()+\"\\\"+allt(juststem(thisform.text1.value))+\".CDX\" to
justpath(thisform.text1.value)+\"\\\"+allt(juststem(thisform.text1.value))+\".CDX\" Messagebox(juststem(allt(thisform.text1.value))+\"备份成功!\数据备份\") Else Copy file sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) to allt(thisform.text1.value) Messagebox(juststem(allt(thisform.text1.value))+\"备份成功!\数据备份\") Endif Endif Endif Else If DIRECTORY(allt(thisform.text1.value))=.t. Sask=messagebox(\"所选的路径已经包含全部数\"+chr(13)+\"据备份,是否覆盖?\数据备份\") If Sask=6 Delete file allt(thisform.text1.value)+\"\\*.*\" Rmdir allt(thisform.text1.value) Mkdir allt(thisform.text1.value) Copy file sys(5)+curdir()+\"\\\"+\"*.*\" to allt(thisform.text1.value)+\"\\*.*\" Messagebox(\"成功备份数据!\数据备份\") Endif Else
19
金陵科技学院学士学位论文 第5章 系统详细设计
Mkdir allt(thisform.text1.value) Copy file sys(5)+curdir()+\"\\\"+\"*.*\" to allt(thisform.text1.value)+\"\\*.*\" Messagebox(\"成功备份数据!\数据备份\") Endif Endif Endif Endif
图5-6显示的是数据库恢复的操作界面。
图5-6数据库恢复
数据库恢复的关键代码如下:
If file(justpath(thisform.text1.value)+\"\\\"+_fpt) and file(justpath(thisform.text1.value)+\"\\\"+_cdx) Copy file allt(thisform.text1.value) to sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) Copy file justpath(allt(thisform.text1.value))+\"\\\"+_fpt to sys(5)+curdir()+\"\\\"+_fpt Copy file justpath(allt(thisform.text1.value))+\"\\\"+_cdx to sys(5)+curdir()+\"\\\"+_cdx Messagebox(juststem(allt(thisform.text1.value))+\"恢复成功!\数据恢复\") Else If file(sys(5)+curdir()+\"\\\"+_fpt) Copy file allt(thisform.text1.value) to sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) Copy file justpath(allt(thisform.text1.value))+\"\\\"+_fpt to sys(5)+curdir()+\"\\\"+_fpt Messagebox(juststem(allt(thisform.text1.value))+\"恢复成功!\数据恢复\") Else If file(sys(5)+curdir()+\"\\\"+_cdx) Copy file allt(thisform.text1.value) to sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) Copy file justpath(allt(thisform.text1.value))+\"\\\"+_cdx to
20
金陵科技学院学士学位论文 第5章 系统详细设计
sys(5)+curdir()+\"\\\"+_cdx Messagebox(juststem(allt(thisform.text1.value))+\"恢复成功!\数据恢复\") Else Copy file allt(thisform.text1.value) to sys(5)+curdir()+\"\\\"+justfname(allt(thisform.text1.value)) Messagebox(juststem(allt(thisform.text1.value))+\"恢复成功!\数据恢复\") Endif Endif Endif
5.1.5党员信息
本界面为操作人员提供对党员信息表的查询操作,通过输入“待查找党员姓名”,在数据库中匹配党员信息并且显示。同时可以在操作页面上直接对数据库中该党员的信息进行修改以及删除。
图5-7党员信息
修改按钮的相关代码如下: if this.caption='修改(\\ 金陵科技学院学士学位论文 第5章 系统详细设计 alltrim(thisform.text4.value),; 性别 with alltrim(thisform.text5.value),姓名 with alltrim(thisform.text6.value),学历 with alltrim(thisform.text7.value) this.caption='修改(\\ use 党员信息表 if txt=alltrim(thisform.text1.value) thisform.refresh else txt=alltrim(thisform.text1.value) loca for 姓名=alltrim(thisform.text1.value) endif if found()=.t. thisform.refresh else messagebox('没有找到符合条件的记录!',16,'系统提示') go top thisform.refresh endif close tables all 5.1.6新增党员 在党员信息系统中,为党员信息数据库添加新党员信息时,需要使用下面的操作界面,通过对党员的姓名、性别、民族、入党时间等信息的输入,通过添加按钮,从而实现在党员信息数据库中,此条信息的插入。 22 金陵科技学院学士学位论文 第5章 系统详细设计 图5-8新增党员 添加按钮下的部分代码如下: Insert Into 党员信息表; (姓名,性别,学历,民族,入党时间,出生日期,所属支部); Values(alltrim(thisform.text1.value),alltrim(thisform.combo1.value),alltrim(thisform.combo2.value),; alltrim(thisform.text4.value),alltrim(thisform.text5.value),alltrim(thisform.text6.value),; alltrim(thisform.combo3.value)) messagebox('保存记录成功!',32+4,'系统提示') 5.1.7制度管理 通过制度管理表单,操作人员可以实现对党内制度的增加、删除以及查看操作。 23 金陵科技学院学士学位论文 第5章 系统详细设计 图5-9制度管理 通过按钮“添加”,可以打开“添加制度表单”,如图5-10所示。 24 金陵科技学院学士学位论文 第5章 系统详细设计 图5-10新增制度 “保存”按钮下的部分代码如下: if !empty(thisform.text1.value) a=messagebox('确定要添加记录吗?',32+4,'系统提示') if a=6 Insert Into 制度表; (制度名称,序号,内容); Values(alltrim(thisform.text1.value),alltrim(thisform.text2.value),alltrim(thisform.text3.value)) messagebox('保存记录成功!',16,'系统提示') endif else messagebox('请输入制度名称',16,'系统提示') endif 5.1.8新增、修改和删除支部 在对于党支部的操作过程,主要是新增支部,修改和删除支部,下面主要是这些功能的操作界面,以及相关核心代码。 25 金陵科技学院学士学位论文 第5章 系统详细设计 图5-11新增支部 “添加”按钮的相关代码: if empty(thisform.text1.value)=.f. a=messagebox('确定要添加记录吗?',32+4,'系统提示') if a=6 Insert Into 党支部表; (支部编号,支部名称,所属院系); Values(alltrim(thisform.text1.value),alltrim(thisform.text2.value),alltrim(thisform.text3.value)) messagebox('保存记录成功!',64+0,'系统提示') endif else messagebox('请输入支部编号',16,'系统提示') endif 26 金陵科技学院学士学位论文 第5章 系统详细设计 图5-12修改、删除支部 “修改”按钮的相关代码 if this.caption='修改(\\ if empty(thisform.combo1.value)=.f. a=messagebox('确定要删除记录吗?',32+4,'系统提示') if a=6 then delete from 党支部表 where 支部名称=thisform.combo1.value and 支部编号=thisform.text1.value and 所属院系=thisform.text2.value pack thisform.combo1.value=\"\" thisform.text1.value=\"\" thisform.text2.value=\"\" endif endif 5.1.9机构查询 通过下拉菜单,可以选择支部名称,按“确定”后,在下面的GRD表格中显示该党支部的详细信息。 27 金陵科技学院学士学位论文 第5章 系统详细设计 图5-13机构查询 “确定”按钮下的部分代码如下: select *; from 党支部表; where 党支部表.支部名称 == allt(thisform.combo1.value); into cursor temp thisform.grid1.recordsource ='temp' thisform.refresh 5.1.10党员查询 通过下拉菜单,选取党员所属支部,来查找党员的明确信息。 28 金陵科技学院学士学位论文 第5章 系统详细设计 图5-14党员查询 “查找”按钮下的部分代码如下: select *; from 党员信息表; where 党员信息表.所属支部 == allt(thisform.combo1.value); into cursor temp thisform.grid1.recordsource ='temp' thisform.refresh 5.1.11打印 此表单提供打印的服务,以及为各个信息表提供了Excle电子表格和TEXT文本文档的格式转换,极大方便了数据库信息的提取和归档操作。 29 金陵科技学院学士学位论文 第5章 系统详细设计 图5-15打印 信息表转换成Excle电子表格的程序代码如下: Open database sys(5)+curdir()+\"党员信息管理数据库.dbc\" Do case Case empty(allt(thisform.combo1.value)) Messagebox(\"请选择报表!\打印\") Case allt(thisform.combo1.value)=\"党员信息表\" Select * from 党员信息表 into table temp1 If reccount()=0 Messagebox(\"找不到符合条件的记录!\打印\") Use in temp1 Delete file temp1.* Else fi=putfile(\"文件名:\党员信息表\ If !empty(allt(fi)) Copy to allt(fi) xls oExcel=CREATEOBJECT(\"Excel.Application\") oExcel.WorkBooks.Open(allt(fi)) oExcel.Visible=.T. *DECLARE INTEGER ShellExecute IN Shell32.DLL INTEGER , STRING , STRING , STRING , STRING , INTEGER *=SHELLEXECUTE(0,'open',allt(fi),'','',3) Endif Use in temp1 Delete file temp1.* Endif Case allt(thisform.combo1.value)=\"党支部表\" Select * from 党支部表 into table temp1 30 金陵科技学院学士学位论文 第5章 系统详细设计 If reccount()=0 Messagebox(\"找不到符合条件的记录!\打印\") Use in temp1 Delete file temp1.* Else fi=putfile(\"文件名:\党支部表\ If !empty(allt(fi)) Copy to allt(fi) xls oExcel=CREATEOBJECT(\"Excel.Application\") oExcel.WorkBooks.Open(allt(fi)) oExcel.Visible=.T. *DECLARE INTEGER ShellExecute IN Shell32.DLL INTEGER , STRING , STRING , STRING , STRING , INTEGER *=SHELLEXECUTE(0,'open',allt(fi),'','',3) Endif Use in temp1 Delete file temp1.* Endif Case allt(thisform.combo1.value)=\"制度表\" Select * from 制度表 into table temp1 If reccount()=0 Messagebox(\"找不到符合条件的记录!\打印\") Use in temp1 Delete file temp1.* Else fi=putfile(\"文件名:\制度表\ If !empty(allt(fi)) Copy to allt(fi) xls oExcel=CREATEOBJECT(\"Excel.Application\") oExcel.WorkBooks.Open(allt(fi)) oExcel.Visible=.T. *DECLARE INTEGER ShellExecute IN Shell32.DLL INTEGER , STRING , STRING , STRING , STRING , INTEGER *=SHELLEXECUTE(0,'open',allt(fi),'','',3) Endif Use in temp1 Delete file temp1.* Endif Endcase use use use 5.1.12关于 主要以图片的形式,简单介绍本系统的基本情况。如图5-18所示。 31 金陵科技学院学士学位论文 第5章 系统详细设计 图5-16关于 32 金陵科技学院学士学位论文 第6章 系统测试与性能分析 第6章 系统测试与性能分析 本章是针对系统各个模块的测试过程以及结果所做的详细记录。 6.1测试环境与条件 硬件环境:如表6-1 表6-1硬件环境 名称 CPU 内存 硬盘 显卡 显示器 输入设备 数据库软件:VFP 配置 Inter(R) Core™2 Duo CPU T7250 @2.00Hz 2.00GB DDR 120G NVIDIA Quadro NVS 135M 14.1”液晶 键盘 操作系统:中文Windows XP 6.2系统测试 6.2.1系统测试的目的 系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案.。它的的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样?”。 6.2.2系统测试的原则 系统测试需要遵循以下的原则: (1) 如要尽早并不断地进行测试。 (2) 测试工作应该避免由原开发软件的人或小组承担。测试工作应由专门人员来进行, 这样会更客观,更有效。 (3) 设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输 出结果。 (4) 在设计测试用例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的 输入条件。 (5) 对异常、不合理、意想不到的情况进行测试;严格按照测试计划来进行,避免测 试的随意性等。 (6) 在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该 做的事。多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误。 (7) 严格按照测试计划来进行,避免测试的随意性。 33 金陵科技学院学士学位论文 第6章 系统测试与性能分析 6.2.3系统测试的实施 (1) 黑盒测试: 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试,是为了发现以下几类错误: a) 是否有不正确或遗漏的功能。 b) 在接口上,输入是否能正确的接受?能否输出正确的结果。 c) 是否有数据结构错误或外部信息(例如数据文件)访问错误。 d) 性能上是否能够满足要求。 e) 是否有初始化或终止性错误。 (2) 白盒测试: 白盒测试也称结构测试或逻辑驱动测试。它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。一般要对程序模块进行如下检查: a) 对程序模块的所有独立的执行路径至少测试一遍。 b) 对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 c) 在循环的边界和运行的界限内执行循环体。 d) 测试内部数据结构的有效性。 6.2.4功能测试 针对本Web应用系统,基于上述的测试方法始终贯穿其中,具体使用了链接测试、表单测试、Cookies测试、数据库测试,使得测试更具针对性。 测试用例:添加用户 表6-2用户注册模块测试表 测试数据:密码 密码:xuyang 预期结果 添加成功 实际结果 添加成功 与预期结果是否一致 一致 34 金陵科技学院学士学位论文 第6章 系统测试与性能分析 确认密码:xuyang 密码:xuyang 确认密码:xyang 测试用例:登录模块 密码输入不一致 密码输入不一致 一致 表6-3登录模块测试表 测试数据 1234 ,1234 1234 ,12345 aaa ,12345 预期结果 成功登录 密码错误 不存在改用户 实际结果 成功登录 错误提示 错误提示 与预期结果是否一致 一致 一致 一致 测试用例:添加管理员 表6-4添加管理员模块测试表 测试数据 管理员账号:1234 管理员密码:1234 密码确认: 1234 管理员等级:管理员 管理员账号:xuyang 管理员密码:1234 密码确认: 12345 管理员等级:普通管理员 预期结果 成功上传 实际结果 成功上传 与预期结果是否一致 一致 密码输入不密码输入不一一致 一致 致 6.3性能分析 通过以上功能测试可以看出,该系统各个模块的功能稳定,操作简单快捷。系统 本身带有一些验证功能,如用户名是否重复、密码是否一直、上传资料格式及大小是否符合要求等。并且,该系统对硬件要求不高,一般配置即可。 35 金陵科技学院学士学位论文 致谢 总结 让我为之努力,为之受益匪浅的毕业设计将要结束,在整个毕业设计实现过程中,遇到的困难不可谓不多,从没有任何VFP开发经历到独立完成党员信息系统的开发实现,虽说算不上完善,但也基本符合需求,这不仅仅是自己这几个月来辛勤劳动的结晶,更是对自己学习成果的一个检验。在我开发的整个过程中我在不断的学习,一边学一边做,很多时候在一个问题上要花好几个小时甚至一两天,当我好不容易将这个问题解决时才发现其实这是个很小的问题,也许只是由于不了解它的一个对象或者时一个函数的功能。但是,每当我费尽心思解决了一个关键问题时,那种成功的喜悦和茅塞顿开的感觉是没有办法来形容的,它不仅让我感受到自己知识的浅薄也会激励我更加努力的去学习更多的东西,好把我的设计做的更完善更好,因为我根本就不会知道自己在接下来的设计中又会遇到怎样的挫折。 从我的毕业设计上很容易看出来这个系统的稚嫩,很多地方的需求没有考虑到,很多功能实现的也很不完善,这可能跟我平时很少上网逛论坛有很大的关系。虽说在老师的指导下已经改进了很多,一些我觉得不必要而实际上很必要的功能虽然增加进去了,但是这个系统已经少了一种一气呵成的感觉,很多地方都能够看出需求变更的影子。这也让我更加体会到了一个良好的软件需求对一个软件系统来说是多么的重要了。 毕业设计将我学习的知识进行了一次综合,我必须将以前所学融会贯通,且灵活运用并且更加深入地研究学习之后才能完成我的设计,这也正是学习的真谛,希望我能够成功地通过这次检验,成为一个优秀的毕业生。 参考文献 [1] 杨觉英.组织与管理概论[M] .经济科学出版社,2009. [2] 康萍 王小奇.visual FoxPro 6.0实用教程[M] .陕西科学技术出版社,2003. [3] 萨师煊 王珊.数据库系统概论[M] .高等教育出版社,1990. [4] 毕庶伟.管理信息系统分析与设计.机械工业出版社,1992. [5] 邓文达.美工神话—网页设计与美化[M].北京:人民邮电出版社,2009. [6] 候炳辉 罗晓沛.系统分析员教程[M] .清华大学出版社,1992, . [7] 白庆华.计算机辅助管理与决策[M] .重庆大学出版社,1994. [8] 王亚芬.管理信息系统教程[M] .西安电子科技大学出版社,1990. [9] 刘志平.数据处理foxpro[M] .电子工业出版社,2003. [10] 丁宝康.数据库原理[M] .经济科学出版社,2003. 36 金陵科技学院学士学位论文 致谢 [11] 陈禹 方美琪.《软件开发工具》[M] .经济科学出版社,2003. [12] 汪孝宜.JSP数据库开发实例精粹[M].电子工业出版社,2005. [13] (美)福特(Ford,W.H.) (美)托普(Topp,W.R.) .著数据结构(Java版)[M]. 梁志敏 译. 清华大学出版社,2006. [14] 施伯乐.数据库系统教程[M].高等教育出版社,2003. [15] 张海藩.软件工程导论[M].清华大学出版社,2003. 致谢 本科学习生活即将结束,本人的毕业设计和学位论文在老师的关心帮助下顺利完成,在此表示我真挚的谢意。 首先我要向指导老师陈爱萍老师表达诚挚的感谢,在导师陈爱萍老师的关心和指导下,本设计进度才得以加快。在毕业设计中,遇到不能解决的问题时,陈爱萍老师不是直接给答案了事,而是耐心地讲解,引导我自己去解决问题,度过难关,在很多时候都是放下自己的事来为我解决问题。陈爱萍老师还给我提供了需要的所有资料,并且在设计遇到困难的时候,总是尽力为我解决。 正是身边老师的帮助,才让我的设计得以顺利完成。再次感谢! 文章比较粗糙,需要好好润色!仔细斟酌!!! 37 因篇幅问题不能全部显示,请点此查看更多更全内容