
茂名学院
毕业设计说明书
题目会展管理信息系统的设计与实现
英文并列题目ExhibitionMamagementInformationSystem
DesignandImplementation
学院信息学院专业计算机科学与技术班级04-2班
学生赖国伟指导教师(高工)陈少波
完成时间2008年3月17日至2008年6月20日
茂名学院
毕业设计(论文)任务书
计算机科学与技术系计算机科学与技术专业04-2班学生赖国伟
一、毕业设计(论文)课题会展管理信息系统的设计与实现
二、毕业设计(论文)工作自2008年3月17日起至2008年6月20日止
三、毕业设计(论文)进行地点软件工程实验室
四、毕业设计(论文)的内容要求:
1主要内容:建立一个基于网络的会展管理信息系统。
2主要要求:
1)系统管理:系统注册、用户管理(添加、修改、删除等)、修改密码、找回密
码、验证码设置、系统登录、退出系统等。
2)会展信息管理:会展名称、地点、场馆、开始时间、结束时间、参展商资格要
求、收费标准、食宿安排、会展组织机构(主办、承办、协办、赞助)。
3)邀请函管理:网上或邮寄邀请函,对邀请函按日期或单位(国家、地区)排序。
记录回函日期及是否参展信息,回函参展的单位,自动加入参展单位列表等。
4)参展单位管理:参展单位名称、所属国家(地区)、详细地址(主页、邮编、
电邮等)、负责人、企业规模、主业及在行业中的地位、展位规格及收费、参展商品及
展出要求、参展期间的活动、组委会应提供的服务、服务人员安排等。
5)会议管理:会展期间的会议安排(时间、地点、会议主题、召集人、主讲人、
参加人员等)。
6)门票管理:会展门票的印制和销售。
系主任
批准日期
7)财务管理:每次会展的财务收支情况。每月及每年的财务报表(可选)。
8)统计分析:根据会展主题、参展商情况、参展商品及成交情况、观众情况、参
展商及观众对会展的反馈意见、会展财务收支情况等进行统计分析,为提高会展管理及
服务水平提供依据。
3开发环境:windows2000/XP及任何可以完成工作的工具。
4设计报告书要求1~2万字。
教研室负责人
指导教师
接受设计论文任务开始执行日期2008年3月17日
学生签名
摘要
随着我国经济的蓬勃发展并逐渐与世界接轨,各行业都在举办各种规模的展览会或
展销会,借此推动经济的发展。然而对于会展的组织者来说,要忙于各种繁琐的手续、
协调多方面关系、联系展商、场馆、管理分配会展的资源(如展位、广告等)。由于这
些工作还处于手工管理阶段,组织者很难跟踪并及时了解会展的筹备进程,资源调配困
难,在此背景下,提出开发会展管理信息系统。
会展管理信息系统能够帮助组委会在会展筹备阶段对展商、观众、活动和花费进行
管理。系统高度抽象了会展筹备阶段的业务模型,在设计上采用弹性、灵活的设计方式,
具有一定的独到之处。允许用户根据实际需要定义会展中的活动和活动的各项属性,使
得组委会能够根据实际情况在系统中定制会展活动,并对活动和资源计划以及发生费用
进行全程监控,做出正确的决策。
系统采用Apache,PHP,MySQL作为开发工具。
关键字:基于网络,B/S结构,会展,会展管理,管理信息系统
Abstract
Alongwithourcountryeconomyvigorousdevelopmentandwiththeworldtrail
connection,variousprofessionsallisgraduallyconductingeachscaletheexpositionorthe
exhibition,rregardingtheorganizeroftheexhibition,
mustbebusywitheachtediousprocedure,thecoordinatedvariousrelations,therelation
unfoldstheresourceswhichbusiness,thefacility,themanagementassignmentcanunfold(for
exampletoexhibitionposition,advertimentandsoon).Becautheworkalsoisatthe
manualmanagementstage,theorganizerisverydifficultthearrangementadvancementwhich
tracksandthepromptunderstandingcanunfold,theresourcesmixesthedifficulty,underthis
background,propodthedevelopmentcanunfoldthemanagementinformationsystem.
Thixhibitionmanagementsystemhelpsthecommitteetoplananddesigninveral
aspects,suchassizeofexhibitionandvisitor,activities,not
onlyintegratetheabstractworkflowinexhibitions,butalsocontainssomespecialfeaturesto
ehelpofcustomizeddefinitionsofactivitiesanddifferent
propertiesinthesystem,differenturscandesignaccordingtodifferentrealworld
circumstances,obrvingtheprocedureandresourcesoftheexhibitontime,soastomake
correctdecisions.
SystemisdevelopedunderApache,PHP,andMySQL.
Keywords:badonnetwork,B/Sstructure,exhibition,exhibitionmanagement,
ManagementInformationSystem
目录
摘要.........................................................................................................................................I
ABSTRACT..............................................................................................................................II
第一章概述............................................................................................................................1
1.1问题的提出.....................................................................................................................1
1.2课题概述.........................................................................................................................1
1.3B/S结构..........................................................................................................................2
1.3.1B/S结构的优点......................................................................................................2
1.3.2B/S架构软件的优势与劣势..................................................................................3
第二章系统分析......................................................................................................................4
2.1可行性分析.....................................................................................................................4
2.1.1可行性分析原则.....................................................................................................4
2.1.2可行性分析内容.....................................................................................................4
2.1.3可行性分析结果.....................................................................................................4
2.2需求分析.........................................................................................................................5
2.2.1需求分析准则.........................................................................................................6
2.2.2功能需求分析.........................................................................................................6
2.2.3系统对象分析.........................................................................................................6
2.2.4数据需求分析.........................................................................................................7
2.2.5性能需求分析.........................................................................................................8
2.3开发工具选择.................................................................................................................8
2.3.1Apache服务器........................................................................................................8
2.3.2数据库:MySQL5.0.45.........................................................................................9
2.3.3PHP5.0...................................................................................................................9
2.3.4EditPlus2...............................................................................................................9
2.3.5Dreamweaver8.......................................................................................................9
第三章总体设计....................................................................................................................11
3.1项目规划及设计目标...................................................................................................11
3.1.1项目规划...............................................................................................................11
3.1.2设计目标...............................................................................................................12
3.2系统业务流程分析.......................................................................................................12
3.3系统功能结构...............................................................................................................13
3.4开发及运行环境...........................................................................................................13
第四章系统设计....................................................................................................................15
4.1编码规范.......................................................................................................................15
4.1.1数据库命名规范...................................................................................................15
4.1.2变量及对象名称定义规则...................................................................................16
4.1.3数据类型简写规则...............................................................................................16
4.2数据库设计...................................................................................................................17
4.2.1数据表概要说明...................................................................................................17
4.2.2系统实体关系图...................................................................................................17
4.2.3数据表结构...........................................................................................................20
第五章技术准备....................................................................................................................29
5.1安装APACHE....................................................................................................................29
5.2安装MYSQL....................................................................................................................30
5.3安装PHP........................................................................................................................31
5.4安装PHPMYADMIN.............................................................................................................33
第六章公共模块设计............................................................................................................35
6.1文件及文件夹模块设计...............................................................................................35
6.2系统配置文件...............................................................................................................36
6.2公共类设计...................................................................................................................36
6.2.1数据库类...............................................................................................................36
6.2.2分页显示类...........................................................................................................38
第七章主要功能模块设计实现............................................................................................43
7.1系统管理.......................................................................................................................43
7.1.1系统登录设计.......................................................................................................43
7.1.2找回密码设计.......................................................................................................45
7.1.3修改密码设计.......................................................................................................46
7.1.4用户管理设计.......................................................................................................47
7.2系统注册设计...............................................................................................................48
7.3基础信息管理...............................................................................................................49
7.3.1场馆维护模块设计...............................................................................................49
7.3.2地区信息模块设计...............................................................................................50
7.3.3展品类别模块设计...............................................................................................51
7.3.4单位性质模块设计...............................................................................................52
7.4会展管理........................................................................................................................53
7.4.1单位管理模块设计...............................................................................................53
7.4.2发函处理模块设计...............................................................................................55
7.4.3邀请函管理模块设计...........................................................................................56
7.4.4展品管理...............................................................................................................57
7.4.5会议管理模块设计...............................................................................................58
7.5会展服务管理...............................................................................................................58
7.5.1活动资源管理模块设计.......................................................................................58
7.5.2单位活动管理.......................................................................................................59
7.5.3活动收费管理.......................................................................................................60
7.6财务管理设计...............................................................................................................62
7.7查询与报表设计...........................................................................................................62
7.8数据服务设计...............................................................................................................62
7.8.1数据服务类...........................................................................................................62
7.8.2数据备份模块设计...............................................................................................63
7.8.3数据恢复模块设计...............................................................................................64
第八章程序调试与错误处理................................................................................................65
8.1数据表外码问题...........................................................................................................65
8.2“#2003-服务器没有响应”的问题........................................................................66
8.3连接数据库问题...........................................................................................................67
第九章改进和完善方面........................................................................................................68
9.1安全性改进...................................................................................................................68
9.2功能扩展.......................................................................................................................69
9.3电子商务应用...............................................................................................................70
第十章总结............................................................................................................................71
10.1技术总结.....................................................................................................................71
10.1.1释放内存.............................................................................................................71
10.1.2获取插入记录自动标识.....................................................................................71
10.2经验总结.....................................................................................................................72
致谢........................................................................................................................................73
参考文献..................................................................................................................................74
附录A系统数据流图.............................................................................................................75
A.1数据流图用途...............................................................................................................75
A.2系统数据流图的实现...................................................................................................75
附录B系统数据字典.............................................................................................................78
B.1数据字典的用途...........................................................................................................78
B.2系统数据字典的实现...................................................................................................78
附录C系统安装手册.............................................................................................................80
C.1开发及运行环境设置...................................................................................................80
C.2用户名与密码...............................................................................................................80
C.3系统安装说明...............................................................................................................80
第一章概述
1.1问题的提出
随着我国经济的蓬勃发展并逐渐与世界接轨,各行业都在举办各种规模的展览会或
展销会,借此推动经济的发展。然而对于会展的组织者来说,要忙于各种繁琐的手续、
协调多方面关系、联系展商、场馆、管理分配会展的资源(如展位、广告等)。由于这
些工作还处于手工管理阶段,组织者很难跟踪并及时了解会展的筹备进程,资源调配困
难。在此,将问题总结如下:
1.会展筹备过程缺乏信息化、智能化管理,停留在原来的初级管理水平上。
2.观众和参展厂商均对会展的管理有提高和改进管理的呼声。
3.对会展的前期宣传、招募参展商和后期相关信息的管理跟不上,很多重要的信息
和潜在客户信息容易丢失,影响会展产业的长期可持续发展。
4.对各种行业有不同兴趣的观众在参观时缺乏快速、有效的引导,往往浪费了大量
的时间,使部分观众对会展失去兴趣。
5.对参展厂商在会展上展示和销售的产品缺乏有效管理,有时会出现一定数量与会
展主题无关的产品,甚至一些严重影响会展形象的产品。
6.组委会对会展中的活动(如展位、广告、会议、运输等)和资源缺乏有限的管理,
不能够及时和直观的掌握各项活动的动态(如展位、广告的预定和付款情况)。
本课题的任务就是在这样的背景下提出的,目的是要达到有效的管理会展各项活动
和资源、管理展商信息,力求直观、简化会展的业务处理,提高会展组织者的管理水平。
1.2课题概述
会展筹备过程中,组织者需要管理场馆、参展单位、观众的基本情况,管理邀请函
和为展商、观众打印证件。有一项重要的工作就是必须做到合理分配会展资源并向参展
单位提供服务,如分配展位、征订广告、筹备会议、运输展品等,组织者必须随时掌握
各种资源的配置和使用情况,以满足各个方面的需要,这个过程中将会涉及对各种费用
的管理。展览结束后还要对各项工作进行总结,例如观众行为分析、各项活动的回款等,
为下次举办会展提供参考。
目前,大多数会展的管理工作还停留在手工阶段。由于招展过程复杂,并且缺乏对
计划的跟踪和控制,组织者多凭印象和经验实施管理,这导致组织者对于各项活动经费
的支出和回款缺乏科学的统计和快捷的查询,会展结束后,组织者甚至不能准确的计算
会展的收益和提供各项活动的分析报告。
此外,由于不同的组织者对于会展的“活动”和“资源”定义和描述的方式不同,
目前行业中的会展管理软件如不能够提供对“活动”和“资源”的灵活定义方式,因此
现有会展资源管理系统不具有通用性,这就造成了同样是实施一套会展管理系统,却要
对表结构和程序进行修改,而且几乎是重新开发的局面。
与国内的会展组织管理相比,国外的会展管理水平却非常高。招展能够通过网上支
付的方式完成。展馆有专门的组织负责跟踪和协调组织过程,为展商和观众提供全方位
的服务。
开发本系统的目的是实现对展商、观众的统一管理和对会展活动、资源的灵活定义,
保证会展组织者能够及时了解会展组织进程,提高管理水平。
1.3B/S结构
B/S结构:(Browr/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构
模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能
实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browr),如NetscapeNavigator或InternetExplorer,
服务器安装Oracle、Syba、Informix或SQLServer等数据库。浏览器通过WebServer
同数据库进行数据交互。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有
一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。
B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能
在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能
进行局部实时刷新。
1.3.1B/S结构的优点
B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只
要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,
再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司
内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账
号进入系统。
1.3.2B/S架构软件的优势与劣势
1.维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产
品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在
几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只
需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用
户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需
要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级
和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方
向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、
物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”
客户机,“胖”服务器。
2.成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器
成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在
的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全
性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人
使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统
快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非
常盛行。
比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新
浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系
统,但用户的电脑本身安装的大部分是windows操作系统。
3.应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端
(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务
器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browr)实
现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运
行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都
备有数据库存储服务器,以防万一。
第二章系统分析
2.1可行性分析
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决,
它的目的不是为了解决问题,而是确定问题是否值得去解决。
可行性研究进一步探讨问题定义阶段所确定的问题是否有可行的解。在对问题正确
定义的基础上,通过分析问题,导出试探性的解,然后复查并修正问题定义,在此分析
问题,改进提出的解法……。经过定义问题、分析问题、提出解法的反复过程,最终提
出一个符合系统目标的高层次的逻辑模型。然后根据系统的这个逻辑模型设想各种可能
的物理系统,并且从技术、经济和操作等各方面分析这些物理系统的可行性。最后分析
员提出一个推荐的行动方针,提交用户和客户负责人审查批准。
2.1.1可行性分析原则
(1)全面性
(2)层次性
(3)科学性
(4)可操作性
2.1.2可行性分析内容
(1)技术可行性:使用现有的技术能实现这个系统吗?
(2)经济可行性:这个系统的经济效益能超过它的开发成本吗?
(3)操作可行性:系统的操作方式在这个用户组织内行的通吗?
2.1.3可行性分析结果
(1)技术可行性
影响因素有:信息的共享,管理是否涉及展览中心会展信息管理根本性的改革,采
用的开发工具是否满足业务流量的要求,开发周期等。
结果:本系统采用公共代码模块、功能替代等缩短了开发的时间,简化了开发的流
程,且收集了较为完整的实体信息,遵循简介流畅的界面设计原则等。
(2)经济可行性
影响因素:是否制定了详细的会展管理信息化发展战略等。
结果:本系统采用当前支持面向对象的PHP网络开发语言和MySQL数据库,服务器
端的WEB服务器采用Apache,以上均为开源、免费代码。另外,个人开发或是团队开发
能排除版本费用过高的问题,快速开拓中低端市场。
(3)操作可行性
影响因素:有员工素质、领导的支持,部门间的配合以及员工素质等。
结果:本系统通过创建新用户账户后,可以按创建时规定的权限去访问相应的功能
模块,对人员的职位不同有各自的权限要求,从而有效的对各种用户进行管理。另外,
经调查知,展览中心的工作人员90%达大学专科以上文凭。
(4)系统数据流图:见附录A。
(5)系统数据字典:见附录B。
2.2需求分析
为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。需求分析
是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这
个问题。
虽然在可行性研究阶段已经粗略了解了用户的需求,甚至还提出了一些可行的文
案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的
解法,因此许多细节被忽略了。然而在最终的系统中却不能遗漏任何一个微小的细节,
所以可行性研究并不能代替需求分析,它实际上并没有准确地回答“系统必须做什么?”
这个问题。
需求分析的任务还需要是确定系怎样完成它的工作,而仅仅是确定系统必须完成哪
些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
在本系统进行软件需求的分析时,主要采用情景分析技术,情景分析技术的用处主
要体现在下述两个方面:
(1)它能在某种程度上演示目标系统的行为,从而便于用户理解,而且还可能进一
步揭示出一些分析员目前还不知道的需求。
(2)由于情景分析较易为用户所理解,使用这种技术能保证用户在需求分析过程中
始终扮演一个积极主动的角色。需求分析的目标是获知用户的真实需求,而这一信息的
惟一来源是用户,因此,让用户起积极主动的作用对需求分析工作获得成功是至关重要
的。
2.2.1需求分析准则
(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型。
(2)必须定义软件应完成的功能,这条准则要求建立功能模型。
(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。
(4)必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
2.2.2功能需求分析
这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的
所有功能。
通过与相关工作人员的详细讨论,总结用户需求如下:
系统管理:系统注册,用户管理(添加、修改、删除等)、修改密码、找回密码、
验证码设置、系统登录、退出系统等;
会展信息管理:系统可以管理多个会展,记录会展的主要信息,如:会展名称、
地点、场馆、开始时间、结束时间、参展商资格要求、收费标准、食宿安排、
会展组织机构(主办、承办、协办、赞助)等;
邀请函管理:主办机构网上或邮寄邀请函,对邀请函按日期或单位(国家、地
区)排序。向各相关的单位说明公司会展情况,记录回函日期及是否参展信息,
回函参展的单位自动加入参展单位列表等;
参展单位管理:记录每次会展的参展参观单位信息,如:参展单位名称、所属
国家(地区)、详细地址(主页、邮编、电子邮件等)、负责人、企业规模、主
业、展位规格及收费、参展商品及展出要求、参展期间的活动、组委会应提供
的服务、服务人员安排等;
单位人员管理:包括参展单位的人员管理与参观者的基本信息管理,如单位名
称、参观者姓名、地址、联系方式等;
会议管理:会展期间的会议安排(时间、地点、会议主题、召集人、主讲人、
参加人员等);
门票管理:会展门票的印制和销售;
活动收费的管理:参展单位参加各项活动,主办机构要向其收费,收费时以参
加的活动为依据,通常每个活动都有固定的报价;
财务管理:每次会展的财务收支情况,每月及每年的财务报表;
查询与统计:按会展、单位、活动等信息查询分析参展单位数据,并可以图形
方式显示出来。
2.2.3系统对象分析
通过对需求进行分析,得出本系统几个主要的对象如下:
会展:承载每次会展的信息,主要的元素有:会展名称、主场馆、开始时间、
结束时间、布展时间、撤展时间、开幕式酒会、会展组织机构(主办、承办、
协办、赞助)等相关信息。
单位:记录每次会展的参展单位信息,是本系统的主要对象,主要的元素有:
单位编码、单位名称、所属国家(地区)、详细地址(主页、邮编、电子邮件等)、
单位类别、主营业务、负责人等信息。
单位的子对象——邀请函:记录向每个单位发送邀请函的情况,主要元素有:
发信日期、单位、是否参展等信息。
单位人员:是单位对象的子对象,每个人员对象都对应一个单位对象,人员对
象的主要元素有:人员代码,人员名称、是否负责人、职务、职称等。
单位活动:活动对象主要用来表示各项目活动,主要元素有:活动类型、活动
名称、具体活动信息等。
活动对象的子对象——活动资源:每个活动定义完之后,需要记录相应的资源
内容,对于资源可以这样理解:单位活动是载体,活动资源是内容。
参展单位:该对象由单位对象派生出来,需要单独说明,某个单位确认参加某
特定会展后,形成参展单位对象,主要元素有:单位名称、展会名称。
参展单位派生的单位活动对象:记录每个参展单位参加活动情况,主要元素有:
参展单位、参加活动名称等信息。
参展单位的另一个子对象是收费对象:记录参展单位付费情况,主要元素有:
单位名称、收款金额等信息。
会议:该对象记录会展期间的会议安排情况,主要元素有:时间、地点、会议
主题、主持人等信息。
2.2.4数据需求分析
数据需求分析,也就是分析系统的数据要求,任何一个软件系统本质上都是信息处
理系统,系统处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软
件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任
务。
分析系统的数据要求通常采用建立数据模型的方法。复杂的数据由许多基本的数据
元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典可以全面准确地定义
数据,但是数据字典的缺点是不够形象直观。为了提高可理解性,常常利用图形工具辅
助描绘数据结构。
数据需求分析详细见“数据库设计”部分。
2.2.5性能需求分析
性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信
息量速率、主存容量、磁盘容量、安全性等方面的需求。例如,“用户登录程序必须
在5秒钟之内进入系统。”就是一项性能需求。
表3.1性能需求分析表
性能选项描述测试点
1.响应时间不超过5秒;所有模块
2.信息量速率延时5秒内(视网速而定,上传文件除外);所有模块
3.主存容量1GB;系统测试
4.磁盘容量160GB;系统测试
5.安全性硬件安全措施、系统配置、软件出错处理等;系统配置等
6.可移植性基于(B/S),Windows/Linux;WindowsXP
7.数据库后台数据存储、信息查询等;MySQL5.0.45
2.3开发工具选择
本系统设计为B/S结构的应用系统。服务器端的WEB服务器采用Apache,客户端
用PHP作为前端开发工具,后台采用MySQL5.0.45的数据库。系统运行环境为
Windows2000/XP。其中:
采用PHP的优势在于其是基于WEB的开发工具,方便的程序跟踪和调试环境,有
众多的扩展类库,安全性高,运行稳定,语法简单易学易用等。
2.3.1Apache服务器
PHP的黄金搭档非Apache服务器莫属,并且它还提供了两种模式来支持PHP,一
种为FastCGI方式,另一种是Apache模块方式。本系统中采用最新的Apache2.2.6版
本。
Apache2的特性简述如下:
模块化:支持多种语言或脚本引擎。
安全性高:由于开放源代码,通过会在安全性问题被及时发现并解决后发布更
新的版本。
扩展性好:支持多种操作系统,如MSWin32/FreeBSD/Linux/OS2等平台。
可移植性:在这些异构操作系统,配置与安装基本相似。
性能优异:可以自定义运行参数、编译环境,以适应不同的Web环境的承载。
多线程:Apache2支持UNIX运行POSIX线程,在Windows下为多线程。
自定义错误文档:管理员可以方便地更改错误页面,如404、500等页面的重新
订制。
2.3.2数据库:MySQL5.0.45
MySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构大应用,
它由一个服务器守护程序mysqld和很多不同的客户程序及库组成。它是目前市场上运
行最快的SQL(StructuredQueryLanguage,结构化查询语言)数据库之一。它提供了其
他数据库少有的编程工具,而且MySQL对于商业和个人用户是免费的。在本系统中,
使用相对稳定的5.0.45版本。
MySQL5的功能特点如下:
可以同时处理几乎不限数量的用户;
处理多达50000000条以上的记录;
命令执行速度快;
具有简单有效的用户特权系统。
2.3.3PHP5.0
PHP的强大易用性与灵活性,其运行的稳定与易部署性是其他WEB开发语言不能
匹敌的。本系统中,选择PHP5,是因为它的全新的面向对象开发(OOP)特性。
支持PPP特性(Public/Private/Protected)
例外以及异常处理(Exceptions)
对象重载
对象克隆(ObjectCloning)
接口(Interfaces)
自动调用(Autoload)
重写的增强的内置函数以及新函数库
2.3.4EditPlus2
EditPlus是韩国人开发的一款优秀的文本编辑器。优点是小巧且功能强大,内置对
PHP语法的支持,另外还可以编写HTML、Javascript代码等。
2.3.5Dreamweaver8
Dreamweaver是一个强大网页设计工具,它的良好设计界面与代码编辑优点,赢得
了各级网站建设者的青睐。居于它可以建立动态数据库驱动网站,用它编写PHP,效果
不错。
第三章总体设计
3.1项目规划及设计目标
3.1.1项目规划
会展信息管理系统主要由系统维护、基础信息、会展管理、会展服务、门票管理、
财务管理、查询与报表、数据服务等模块组成,具体规划如下。
系统维护模块
该模块主要用于实现系统注册、用户管理、修改密码、找回密码、验证码设置、系
统登录、退出系统等功能。
基础信息模块
该模块主要用于实现系统信息的维护及基本数据的录入,有场馆维护、地区信息、
场馆人员、地区维护、展品类别、单位性质、人员业务等信息维护功能。
会展管理模块
该模块主要用于实现单位管理、邀请函管理、会展展品信息、个人参观信息、会议
管理、参展单位人员管理;
会展服务管理模块
该模块主要用于实现活动资源、单位活动、活动收费等功能。
门票管理
该模块主要用于实现门票的印制与销售功能。
财务管理模块
该模块主要用于实现财务收入、财务支出管理、财务报表等功能。
查询与报表模块
该模块主要用于实现会展资源查询、会展活动查询、付款情况查询、会展综合报表
等功能;
数据服务模块
该模块主要用于实现数据的备份、恢复功能。
帮助模块
该模块主要用于实现帮助主题、关于系统等功能。
3.1.2设计目标
提升展会管理的水平和品牌效应,有效增强市场竞争力。
对整个过程实施信息化管理,简化展会组织流程。
对参展厂商、展品、展场集中高效管理以提高针对展商的服务水平。
对观众分层次、分类管理和统计,有助于更好地吸引和服务观众。
实现对展会活动内容的灵活定义,使系统能够胜任任何展会活动的管理需要。
3.2系统业务流程分析
会展信息管理系统的业务流程如图3.1所示。
图3.1系统业务流程图
3.3系统功能结构
会展管理信息系统功能结构图如图3.2所示。
3.4开发及运行环境
系统开发平台:Dreamweaver8.0、EditPlus2、IE6.0。
WEB服务器:Apache2.2.6。
系统开发语言:PHP5.2.5。
系统后台数据库:MySQL5.0.45。
系统运行平台:WindowsXP(SP2)/Windows2000(SP4)/WindowsServer
2003(SP1)。
分辨率:最佳效果1024×768像素。
第四章系统设计
4.1编码规范
4.1.1数据库命名规范
1.数据库
数据库命名以字母“db”开头(小写),后面加数据库相关英文单词或缩写。如表
4.1所示。
表4.1数据库命名
数据库名称描述
db_EMIS会展管理信息系统数据库
2.数据表
数据表以字母“tb”开头(小写),后面加数据表相关英文单词或缩写。如表4.2所
示。
表4.2数据库表名
数据表名称描述
tb_admin系统管理员基本信息表
3.字段
字段一律采用英文单词或词组(可利用翻译软件)命名,同一个表中的字段使用统
一的前缀,如找不到专业的因为单词或词组可以用相同意义的英文单词或词组代替。如
表4.3所示。
表4.3字段命名
字段名称描述
admin_ID管理员编号
admin_loginName管理员帐号
4.视图
视图命名以字母“view”开头(小写),后面加表示该视图作用的相关英文单词或缩
写。如表4.4所示。
表4.4视图命名
字段名称描述
view_sampleInfo查看展品信息
5.存储过程
存储过程命名以字母“proc”开头(小写),后面加表示该存储过程作用的相关英文
单词或缩写。如表4.5所示。
表4.5存储过程命名
字段名称描述
proc_login实现登录功能
6.触发器
触发器命名以字母“trig”开头(小写),后面加表示该触发器作用的相关英文单词
或缩写。如表4.6所示。
表4.6触发器命名
字段名称描述
trig_addSamInfo插入展品信息
4.1.2变量及对象名称定义规则
模块级变量采用:M_+数据类型简写+变量名称,例如:M_Int_xx。
全局变量采用:G_+数据类型简写+变量名称,例如:G_Int_xx。
局部变量采用:P_+数据类型简写+变量名称,例如:P_Int_xx。
模块级常量采用:Mc_+数据类型简写+变量名称,例如:Mc_Int_xx。
全局常量采用:Gc_+数据类型简写+变量名称,例如:Gc_Int_xx。
过程级常量采用:Pc_+数据类型简写+变量名称,例如:Pc_Int_xx。
4.1.3数据类型简写规则
整型(int)int
字符型(char)ch
字符型(varchar)vch
浮点型(float)fl
浮点型(double)db
布尔型(bool)bl
4.2数据库设计
本系统采用MySQL作为后台数据库,数据库命名为db_EMIS,其中包括20个数据
表。
4.2.1数据表概要说明
表4.7是对本系统中所有数据表的相关描述。
表4.7系统数据表概要说明
表名描述
_admin操作员信息表
_exhiInfo会展信息表
_sceneInfo场馆信息表
_frontForInfo主办信息表
_inviteInfo邀请函信息表
_sampleType展品类别表
_sampleInfo展品信息表
_companyType单位性质表
_companyInfo单位信息表
_areaInfo地区信息表
_peopleInfo人员信息表
_businessList业务明细表
_exhCompany参展单位表
_individualVisit个人参观服务表
_activeResource活动资源表
_companyActive单位活动表
_activeList活动明细表
_meetingInfo会议信息表
_attendMeeting参加会议表
_receiveInfo收款单表
_receiveList收款单明细表
4.2.2系统实体关系图
根据系统需求分析,规划出的实体有管理员、展会信息、场馆信息、邀请函信息、
展品信息、展品类别、单位信息、单位性质、地区信息、人员信息、业务信息、参展单
位、会议信息、活动资源、单位活动、活动明细、收款单、收款单明细等18个。另外,
还有主办信息、参加会议、个人参观业务等3个实体关系。
系统实体关系图如图4.1所示。
4.2.3数据表结构
以下是本系统中所有数据表结构的描述。
_admin(操作员信息表)
表tb_admin用于保存系统操作员的基本信息,该表的结构如表4.8所示。
表4.8操作员信息表
字段名数据类型长度主键否描述
admin_IDint是编号(PK)
admin_loginNamevarchar32否登录号
admin_passwordvarchar32否密码
admin_namevarchar32否真实姓名
admin_xvarchar4否性别
admin_departmentvarchar100否工作部门
admin_phonevarchar15否联系电话
admin_questionvarchar100否机密问题
admin_answervarchar100否机密问题答案
admin_emailvarchar100否电子邮件
admin_popedomint否管理权限
admin_regTimedatetime8否注册时间
_exhiInfo(展会信息表)
表tb_exhiInfo用于保存每个展会的详细信息,该表的结构如表4.9所示。
表4.9展会信息表
字段名数据类型长度主键否描述
exh_IDint是展会编号(PK)
exh_logoPicvarchar30否会标
exh_namevarchar100否展会名称
exh_docNOvarchar100否批文号
exh_strTimedatetime8否开始时间
exh_endTimedatetime8否结束时间
exh_tBegindatetime8否布展时间
exh_tEnddatetime8否撤展时间
exh_partyTimedatetime8否开幕式酒会时间
exh_partyAddressvarchar100否开幕式酒会地点
frontforCompanyvarchar200否主办单位
undertakeCompanyvarchar200否承办单位
aidanceCompanyvarchar200否协办单位
supportCompanyvarchar200否赞助单位
exh_innerRentfloat10,2否室内单位租金
exh_outerRentfloat10,2否室外单位租金
exh_qualificationlongtext否参展商资格要求
exh_remarklongtext否备注
_frontForInfo(主办信息表)
表tb_frontForInfo用于保存会展在哪个场馆展览的基本信息。该表的结构如表
4.10所示。
表4.10主办信息表
字段名数据类型长度主键否描述
ff_exhIDint是展会代码(PK,FK)
ff_sceneIDint是场馆代码(PK,FK)
_sceneInfo(场馆信息表)
表tb_sceneInfo用于保存展览场馆基本信息,如场馆名称、地点、场馆负责人、展
位数、高度以及承重限制等。该表的结构如表4.11所示。
表4.11场馆信息表
字段名数据类型长度主键否描述
scene_IDint是场馆编号(PK)
scene_namevarchar100否场馆名称
sceneNOvarchar20否场馆号
scene_contractorvarchar32否负责人
scene_addressvarchar100否场馆地址
scene_postalcodechar6否邮政编码
scene_telvarchar15否联系电话
scene_faxvarchar15否传真
scene_emailvarchar100否电子邮件
scene_netAddressvarchar100否网址
scene_areafloat10,2否面积
scene_stationNOint4否展位数
highLimitfloat10,2否高限
weightLimitfloat10,2否承重
gateHighfloat10,2否门高
gateWidefloat10,2否门宽
scene_remarklongtext否备注
_inviteInfo(邀请函信息表)
表tb_inviteInfo用于保存邀请函详细信息,如发函日期、回函日期、是否参展等。
该表的结构如表4.12所示。
表4.12邀请函信息表
字段名数据类型长度主键否描述
invite_IDint是邀请函编号(PK)
invite_exhIDint否展会编号(FK)
invite_companyIDint否单位编号(FK)
invite_peopleIDint否人员编号(FK)
invite_ndDatedatetime8否发函日期
invite_answerDatedatetime8否回函日期
invite_isJoinchar2否是否参展
invite_operatorvarchar32否操作员
invite_remarklongtext否备注
_sampleInfo(展品信息表)
表tb_sampleInfo用于记录单位展品的详细信息,该表结构如表4.13所示。
表4.13展品信息表
字段名数据类型长度主键否描述
sam_IDint是展品编号
sam_exhID
int
否展会编号
sam_comID
int
否单位编号
sam_namevarchar100否展品名称
sam_typeIDInt否类别编号
sam_modelvarchar30否型号
sam_standardvarchar30否规格
sam_numberfloat10,2否数量
sam_totalValuefloat10,2否总价值
sam_transExplainvarchar200否运输说明
sam_remarklongtext否备注
sam_beginDatedatetime8否进馆开始时间
sam_endDatedatetime8否进馆结束时间
_sampleType(展品类别表)
表tb_sampleType用于保存展品类别信息,该表的结构如表4.14所示。
表4.14展品类别表
字段名数据类型长度主键否描述
st_typeIDint4是类别编号(PK)
st_typeNamevarchar100否类别名称
_companyInfo(单位信息表)
表tb_companyInfo用于保存单位的详细信息,如单位名称、地区、邮编、业务等。
该表的结构如表4.15所示。
表4.15单位信息表
字段名数据类型长度主键否描述
com_ID
int
是单位编号(PK)
com_areaID
int
否地区编号(FK)
com_typeID
int
否单位性质编号(FK)
com_namevarchar200否单位名称
com_englishNamevarchar200否英文名称
com_addressvarchar100否地址
com_postalcodechar6否邮编
com_emailvarchar100否电子邮件
com_netAddressvarchar200否网址
com_mainBusinessint否主要业务(FK)
com_stafferNOint否职员人数
com_capitalfloat10,2否注册资本
com_iniAutvarchar200否国际认证
com_remarklongtext否备注
_companyType(单位性质表)
表tb_companyType用于记录单位性质信息,该表的结构如表4.16所示。
表4.16单位性质表
字段名数据类型长度主键否描述
ct_typeIDint4是性质编号(PK)
ct_typeNamevarchar100否性质名称
ct_remarklongtext否备注
_areaInfo(地区信息表)
表tb_areaInfo用于记录地区基本信息,该表的结构如表4.17所示。
表4.17地区信息表
字段名数据类型长度主键否描述
area_IDint4是地区编号(PK)
area_namevarchar60否地区名称
area_fullNamevarchar100否地区全称
area_isLeafchar2否是否底级结点
area_upAreaIDint4否上级地区代码
area_remarklongtext否备注
_peopleInfo(人员信息表)
表tb_peopleInfo用于保存参展单位的负责人(联系人)或观众的基本信息,该表
的结构如表4.18所示。
表4.18人员信息表
字段名数据类型长度主键否描述
people_IDint4是人员代码(PK)
people_comIDint否公司代码(FK)
people_namevarchar32否中文名
people_englishNamevarchar60否英文名
people_xvarchar4否性别
people_birthdayvarchar10否生日
people_dutyvarchar60否职务
people_isleaderchar2否是否负责人
people_titlevarchar60否职称
people_blIDInt4否负责业务代码(FK)
people_officeTelvarchar15否办公电话
people_faxvarchar15否传真
people_mobilevarchar15否手机
people_homeTelvarchar15否家庭电话
people_areaIDint否地区编号(FK)
people_addressvarchar100否联系地址
people_postalcodechar6否邮政编码
people_emailvarchar100否电子邮件
people_remarklongtext否备注
_businessList(业务明细表)
表tb_businessList用于保存人员业务信息,该表的结构如表4.19所示。
表4.19业务明细表
字段名数据类型长度主键否描述
bl_IDint4是业务代码(PK)
bl_namevarchar100否业务名称
bl_remarklongtext否备注
_exhCompany(参展单位表)
表4.20参展单位表
字段名数据类型长度主键否描述
exhCom_IDint是参展单位编号(PK)
exhCom_exhIDint否展会编号(FK)
exhCom_comIDint否单位编号(FK)
_individualVisit(个人参观服务表)
表4.21个人参观服务表
字段名数据类型长度主键否描述
iv_IDint是参观代码(FK)
iv_peopleIDint否人员编号(FK)
iv_exhIDint否展会编号(FK)
iv_pricefloat10,2否价格
iv_operTimedatetime8否操作时间
iv_operatorvarchar32否操作员
iv_remarklongtext否备注
_meetingInfo(会议信息表)
表4.22会议信息表
字段名数据类型长度主键否描述
mi_IDint是会议代码(PK)
mi_namevarchar100否会议主题
mi_timedatetime8否时间
mi_placevarchar100否地点
mi_orgamizervarchar100否组织者
mi_comperevarchar100否主持人
mi_attendeelongtext否出席者
mi_remarklongtext否备注
_activeResource(活动资源表)
操作员对展会的某项活动初始化活动资源(如室内展位)。操作员可以逐条记录,也
可以使用资源代码的固定部分拼凑资源代码的活动部分进行批量增加活动资源,还可以
将某一个展会的活动资源复制到另外一个展位。
表4.23活动资源表
字段名数据类型长度主键否描述
actRes_IDint是资源代码(PK)
actRes_exhIDint否展会编号(FK)
actRes_namevarchar100否资源名称
actRes_pricefloat10,2否单价
actRes_amountfloat10,2否数量
actRes_unitvarchar30否单位
actRes_remarklongtext否备注
_companyActive(单位活动表)
操作员添加参展单位后,记录该单位的展会活动和活动明细。在活动明细中对单位
的活动配置活动资源。
表4.24单位活动表
字段名数据类型长度主键否描述
cact_IDint是单位活动代码(PK)
cact_exhIDint否展会编号(FK)
cact_exhComIDint否参展单位代码(FK)
cact_shouldRecfloat10,2否应收帐款
cact_alreadyRecfloat10,2否已收帐款
cact_confirmTimedatetime8否审核时间
cact_remarklongtext否备注
_activeList(活动明细表)
表4.25活动明细表
字段名数据类型长度主键否描述
al_IDint是活动明细代码(PK)
al_cactIDint否单位活动代码(FK)
al_actResIDint否活动资源代码(FK)
al_pricefloat10,2否单价
al_amountfloat10,2否数量
al_isChargeint4否是否收款
al_operatorvarchar32否操作员
al_operateTimedatetime8否操作时间
_receive(收款单表)
输入:添加参展单位的收款单记录,同时系统根据当前时间初始化收款日期,记录
审核单据的人员,并且标记收款单是否经过审核有效,输入会计凭证号、发票号、发票
日期、相关单据号和备注信息等。
表4.26收款单表
字段名数据类型长度主键否描述
rec_IDint是收款单号(PK)
rec_exhIDint否展会代码(FK)
rec_comIDint否单位代码(FK)
rec_gatheringMoneyfloat10,2否收款金额
rec_gatheringDatedatetime8否收款日期
rec_checkervarchar32否审核人
rec_checkTagchar2否审核标记
rec_voucherIDvarchar32否会计凭证号
rec_invoiceIDvarchar32否发票号
rec_invoiceDatedatetime8否发票日期
rec_operatorvarchar32否操作人
rec_operateTimedatetime8否操作时间
rec_remarklongtext否备注
_receiveList(收款单明细表)
收款单明细是单位活动的应收帐款项目。用户填写“实收金额”,系统自动计算“欠
收金额”,欠收金额=应收金额-实收金额,实收金额或“减应收金额”不应高于销售金
额。
表4.27收款单明细表
字段名数据类型长度主键否描述
rl_IDint是收款单明细号(PK)
rl_recIDint否收款单号(FK)
rl_alIDint否活动明细号(FK)
rl_minusShouldfloat10,2否减应收金额
rl_factReceivefloat10,2否实收金额
21.Tb_financeDefary(会展财务支出表)
表4.28会展财务支出表
字段名数据类型长度主键否描述
fd_IDint是财务支出代码(PK)
fd_exhIDint否会展号(FK)
fd_namevarchar100否资源名称
fd_pricefloat10,2否单价
fd_amountfloat10,2否数量
fd_resUnitvarchar32否资源单位
fd_isPayint否是否付款
fd_alreadyPayint否已付款
fd_operatorvarchar32否操作员
fd_operateTimedatetime8否操作时间
fd_checkervarchar32否审核员
fd_checkTimedatetime8否审核时间
fd_remarklongtext否备注信息
第五章技术准备
5.1安装Apache
在/下载ApacheHTTP服务器的最新MSI安装版
本,下载最新的Win32二进制部分代码(MSI安装),这里,下载后Apache的名字为
apache_2.2.6-win32-x86-no_,然后执行它。
Apache2的默认安装路径为C:ProgramFilesApacheGroupApache2,安装提示允
许选择不同的路径。这里选择一个更方便的路径(C:Apache),这样使用Apache就可
以更容易些。
在安装过程中将会要求输入服务器的信息,如图5.1所示。
图5.1安装Apache2.2.6
因为这里在本地机执行,所以将前两项简单填为localhost,最后一行填上电子邮箱
(以后还可以通过编辑Apache配置文档修改这些信息,修改文件的默认路径为:
C:)。
可以选择将Apache安装在80端口或8080端口,默认的端口是80。如果机器之前
已经装有另一个Web服务器(如IIS),则需要将Apache安装在不同的端口上,如果选
择将Apache安装在8080端口上,则需要在Apachebin文件夹下(默认为C:Program
FilesApacheGroupApache2bin)手动启动Apache服务器,具体是在该文件夹下输入以
下命令:
Apache–kinstall
当Web服务器不在80端口上工作时,发出HTTP请求时就需要手动指定端口,如
http://localhost:8080/ajax/suggest。
在接下来的安装中,可以安全地使用默认选项。
Apache服务器安装的同时会启动Apache服务监控程序,在任务栏上会显示出来。
任务栏上的图标反映了当前网络服务器的状态(关闭、运行等),也允许用户启动、停
止和重启Apache服务。
注意:每次修改配置文件之后都需要重启(或关闭再启动)Apache服务,
这样是为了使更改生效。
安装完Apache2之后,确定它正常工作,如果安装在80端口,在浏览器中输入
http://localhost/。如果安装在8080端口,在浏览器中输入http://localhost:8080/。可以看
到如图5.2所示的Apache欢迎信息。
图5.2Apache安装成功
5.2安装MySQL
MySQL的官方网站为。本设计所安装的版本为MySQL5.0,
可以从/downloads/mysql/下载。不过最好清楚使用的SQL查询符合
SQL92标准,这样就可以以最小的转换代价在其他的数据库系统中使用了。
在下载页面,滚动到Windows下载区,下载WindowsEsnfial文件,它会要求选择
一个镜像站点下载,下载的文件名可能会是这样的。下
载完之后,直接执行即可安装MySQL服务器。
安装完之后就有机会配置服务器了。在配置时,安全的做法是一直选择默认值。在
要求输入root密码的步骤中,这与root@localhost用户有关,应选择一个别人不容易猜
到而自己又容易记住的密码,这里的密码为:1234。
图5.3安装MySQL配置服务器界面
5.3安装PHP
PHP的官方网站为。可以从/下载
PHP最新压缩包的Windows二进制部分(不是安装包)。最好不要使用安装包,因为它不
包含扩充部分,而您可能会在项目中用到这部分内容,而且安装包不会给您做很多配置
工作。
下载完Windows二进制包之后,按照下面的步骤安装PHP:
(1)解压压缩包(可能会是一个名为的文件)到C:PHP文件
夹下,如果喜欢的话也可以选择其他的名字和路径。
(2)将-recommended从C:PHP复制到Windows文件夹下(C:windows),
将其重新命名为。
(3)打开,用你喜欢的文本编辑器(如Notepad)进行编辑,将php_,
php_和php_改为extension(移除其前面的分号即可),并在php_mysqli
中增加相似的修改:
extension=php_
extension=php_
extension=php_
extension=php_
(4)建议在开发环境下发送错误报告,不过这项是可选的(上一选择是默认的),
这样会收到警告,说明某一修改会改变其他脚本的功能。在中找到error_reporting
行并将其修改为:
error_reporting=E_All
(5)将C:PHP下的和复制到Windows的system32文件夹下
(默认为windowssystem32)。
(6)将C:PHPext下的php_、php_、php_和php_
复制到Windows的system32文件夹下。
(7)打开Apache配置文件进行编辑,默认情况下,这个文件的路径为C:Program
。
(8)在中,找到有许多LoadModule条目的部分,添加下面的内容:
LoadModulephp5_modulec:/php/
AddTypeapplication/
(9)仍在文件,通过DirectoryIndex条目,将加到这行的末尾,
如下:
(10)保存文件,通过在任务栏的通知区单击Apache服务监控程序来重
启Apache2服务器(如果这一步出现任何错误,确认之前的安装步骤都是正确填写的)。
如果Apache重新启动而没有任何错误,则是一个好的标志。
(11)在htdocs文件夹下新建一个名为ajax的文件夹(默认为C:Program
FilesApacheGroupApache2htdocs)。
(12)确认您的Apache实例可以分析PHP代码,在ajax文件夹下创建名为
的文件,将下面代码加到其中:
<?php
phpinfo();
?>
(13)在浏览器中输入http://localhost/ajax/(如果Apache工作在8080端口上则
输入http://localhost:8080/ajax/),测试安装是否成功,结果页面如图5.4所示。
图5.4PHP安装成功
5.4安装phpMyAdmin
phpMyAdmin是用PHP写的,非常受欢迎的一款MySQL管理软件,它允许用一种
简单易用的Web界面来管理MySQL数据库,官方网站是。
根据下面的步骤安装和配置phpMyAdmin。
(1)首先从/home_page/上下载最新版本
的phpMyAdmin,如果不能确定应该下载哪个文件,最安全的方法就是下载zip文档。
(2)将压缩文件解压到硬盘上,这个文档包含了一个用完整phpMyAdmin版本号
命名的文件夹(例如,phpMyAdmin测试版本的这个文件夹叫做
phpMyAdmin-2.8.0-betal)。
(3)为了减少不必要的麻烦,可将这一文件夹更名为phpMyAdmin。
(4)将phpMyAdmin文件夹移动到Apache2的htdocs文件夹下(默认为C:Program
FilesApacheGroupApache2htdocs)。
(5)确定安装的phpMyAdmin可被Apache访问,在浏览器中输入
http://localhost/phpMyAdmin,如果安装成功,可以得到如图5.5所示界面。
图5.5phpMyAdmin还没有访问到MySQL
(6)根据提示的错误信息,需要指示phpMyAdmin怎样访问MySQL服务器。在
phpMyAdmin文件夹下搜索一个名为的文件夹,用下面的代码修改其选
项,如果没有找到此文件,用下面的内容创建此文件。
<?php
$cfg[‘PmaAbsoluteUri’]=“http://localhost/phpMyAdmin/”;
$cfg[‘Servers’][1][‘host’]=“localhost”;
$cfg[‘Servers’][1][‘auth_type’]=‘config’;
$cfg[‘Servers’][1][‘ur’]=“root”;
$cfg[‘Servers’][1][‘password’]=“password”;
?>
其中,密码(password)为安装配置MySQL时的密码:1234。
到这里,已经完成了Apache、MySQL、PHP和phpMyAdmin的安装与配置。
第六章公共模块设计
6.1文件及文件夹模块设计
在本系统的实际开发过程中,因为是基于B/S结构,要创建很多Web页,类文件及
其他系统辅助开发文件来完成基本的功能操作。在编写代码之前,先把系统中可能用到
的文件夹创建出来(例如,创建一个名为images的文件夹,用于保存网站中需要的图
片),这样可以方便以后的开发工作,也可以规范网站的整体架构。
在这会展信息管理系统(ExhibitionInformationManagementSystem,EIMS)中,
设置根文件夹为EIMS,设计如图6.1所示的文件夹及文件架构图。在接下来的开发过程
中,只需将相应的文件保存在相应的文件夹中即可,这样,便于程序开发调用。
图6.1系统文件夹及文件架构图
6.2系统配置文件
在本系统中,利用一个系统配置文件来存储系统的参数,例如数据库的连接信息等。
这样做可以提高系统的可移植性。当系统的配置文件发生变化时,例如更改服务器,就
不用修改散步在各个页面中的数据库连接信息,而只需要修改配置文件即可。
下面是系统的配置文件,除了定义数据库连接信息之外,还包括全局参数
$PAGE_MAX_LINE,即分页显示信息时每页显示的最大记录数。
<?php
classsys_conf{
//数据库全局变量
publicstatic$DBHOST="localhost";
publicstatic$DBUSER="root";
publicstatic$DBPWD="1234";
publicstatic$DBNAME="db_EIMS";
//每页显示的记录数
$PAGE_MAX_LINE=25;
}
?>
可以通过require()或include()函数在其他页面中引用sys_文件,从而得到数
据库配置信息。
6.2公共类设计
6.2.1数据库类
实现一个数据库类,来完成所有底层的数据库操作,这样做可以提高系统的可移植
性。当底层数据库管理系统发生变化时,只需要改动或替换掉这个类即可。数据库类图
如图6.1所示。
databa
-host//服务器名
-ur//用户名
-pwd//密码
-db_name//数据库名
-connection//连接标识
+_get()//获取属性值
+_t()//设置属性值
+_construct()//构造函数,建立连接
+_destruct()//析构函数,释放连接
+execute()//数据库增、删、改函数
+query()//数据库查询函数
图6.1数据库类图
数据库类图的实现代码如下。
<?php
require_once("sys_");//包含系统配置文件
classdataba{
//属性
private$host;//服务器名
private$ur;//用户名
private$pwd;//密码
private$name;//数据库名
private$conn;//连接标识
//方法
//__get();获取属性值
function__get($property_name){
if(ist($this->property_name)){
return($this->property_name);
}
el{
return(null);
}
}
//__t();设置属性值
function__t($property_name,$value){
$this->property_name=$value;
}
//_construct();构造函数,建立连接
function__construct()
{
$this->host=sys_conf::$DBHOST;//使用sys_conf类的静态属性
$this->ur=sys_conf::$DBUSER;
$this->pwd=sys_conf::$DBPWD;
$this->name=sys_conf::$DBNAME;
$this->conn=mysql_connect($this->host,$this->ur,$this->pwd);//建立连接
mysql_lect_db($this->name,$this->conn);
}
//_destruct();析构函数,断开连接
function__destruct(){
mysql_clo($this->conn);
}
//增删改:参数$sql为Inrt语句
functionexecute($sql){
returnmysql_query($sql);
}
//查询:参数$sql为Query语句
//返回值为对象数组,数组中每一元素为一行记录构成的对象
functionquery($sql){
//查询数据
$query_result=mysql_query($sql,$this->conn)ordie("对不起,连接数据库出错!
");
//返回查询结果
return$query_result;
}//query
}//class_databa
?>
6.2.2分页显示类
记录的分页显示是系统首先需要解决的一个问题,具体的内容包括生成页面的导航
信息(上一页、下一页等),以及通过导航信息正确显示一定数目的数据。本系统设计
一个通用分页类myDataGridClass来实现上面两个功能。
类myDataGridClass的类图如图6.2所示。
myDataGridClass
-sql//所要显示数据的SQL查询语句
-max_line//每页显示的行数
-begin_records//所要显示记录的首行序号
-total_records//记录总数
-result//记录读出结果数组
-total_pages//总页数
-current_page//当前页号
+navigate()//显示首页、末页、下页、上页导航信息
+read_data()//从数据库读取当前的记录信息
图6.2分页显示类图
实现过程如下。
(1)在实例化之前,建立数据库连接并选择数据库(这一步在外部实现,以增加类
的通用性。
(2)实例化类,并且对属性sql赋值,即指定所要查询的数据源。
(3)对其属性begin_record赋值,即指定本页所要显示的记录从查询所得到的结果
集合中的第几行开始。
(4)调用read_data()方法,显示当前页所要显示的记录。
(5)调用navigate()方法,显示页面导航信息。
分页类图的实现代码如下。
<?php
/*********************************************
类名:myDataGridClass
功能:分页显示MySQL数据库中的数据
*********************************************/
classmyDataGridClass
{
//属性
var$sql;//所要显示数据的SQL查询语句
var$max_line;//每页显示最多行数
var$begin_record;//所要显示记录的首行序号
var$total_records;//记录总数
var$current_records;//本页读取的记录总数
var$result;//记录读取结果数组
var$total_pages;//总页数
var$current_page;//当前页数
var$arr_page_query;//数组,包含分页显示需要传递的参数
//方法
/*******************************************
构造函数:__construct()
输入参数:$pmax_line,每页显示最多行数
*******************************************/
functionmyDataGridClass($pmax_line)
{
$this->max_line=$pmax_line;
$this->begin_record=0;
}
/*******************************************
析造函数:__destruct()
输入参数:
*******************************************/
function__destruct()
{
}
/*******************************************
get函数:__get()
*******************************************/
function__get($property_name)
{
if(ist($this->$property_name))
{
return($this->$property_name);
}
el
{
return(NULL);
}
}
/*******************************************
t函数:__t()
*******************************************/
function__t($property_name,$value)
{
$this->$property_name=$value;
}
/*******************************************
函数名:read_data
功能:根据SQL查询语句从表中读取相应的记录
返回值:属性二维数组result[记录号][字段名]
*******************************************/
functionread_data()
{
$psql=$this->sql;
//查询数据,数据库链接等信息应在类调用的外部实现
$result=mysql_query($psql)ordie(mysql_error());
$this->total_records=mysql_num_rows($result);
//利用LIMIT关键字获取本页所要显示的记录
if($this->total_records>0)
{
$psql=$psql."LIMIT".$this->begin_record.",".$this->max_line;
$result=mysql_query($psql)ordie(mysql_error());
$this->current_records=mysql_num_rows($result);
//将查询结果放在result数组中
$i=0;
while($row=mysql_fetch_array($result))
{
$this->result[$i]=$row;
$i++;
}
}
}
/*******************************************
函数名:navigate()
功能:显示首页,上页,下页,末页
*******************************************/
functionnavigate()
{
//获取总页数,当前页信息
$this->total_pages=ceil($this->total_records/$this->max_line);
$this->current_page=$this->begin_record/$this->max_line+1;
//获取将要导航到的分页的初始记录号
$first=0;
$next=$this->begin_record+$this->max_line;
$prev=$this->begin_record-$this->max_line;
$last=($this->total_pages-1)*$this->max_line;
//生成导航链接
if($this->begin_record>=$this->max_line)
{
echo"
页] ";
}
el
{
echo"
}
if($prev>=0)
{
echo"
页] ";
}
el
{
echo"
}
if($next<$this->total_records)
{
echo"
页] ";
}
el
{
echo"
}
if($this->total_pages!=0&&$this->current_page<$this->total_pages)
{
echo"
页] ";
}
el
{
echo"
}
}
}
?>
第七章主要功能模块设计实现
7.1系统管理
7.1.1系统登录设计
系统登录主要用于对进入会展信息管理系统的用户进行安全性检查,以防止非法用
户进入该系统。只有合法的用户,才可以进入系统,同时根据管理员分配的权限,给予
操作员相应的操作权限。
在用户登录时,还需要输入验证码。验证码的作用是为有效防止某个黑客对某一个
特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。这里,采用SESSION机制
实现验证码功能,如果输入错误,则不允许登录系统。
验证操作员及其密码,主要通过判断用户输入的用户名及密码是否符合数据库中的
操作员用户名和密码,如果符合则允许登录,注册相应的系统SESSION变量,并按相应
的权限给予相应的操作,否则提示用户非法登录。
图7.1系统登录窗体
1.实现思路
图7.2系统登录实现过程
2.核心代码分析
<?php
//加密密码
$password=md5($_POST['password']);
$sql="SELECT*FROMtb_adminWHEREadmin_loginName='".$_POST['urname']."'and
admin_password='$password'";
$result=$db->query($sql);
if(mysql_num_rows($result)>0)
{
//用ssion机制记录登录用户信息
$_SESSION['isLogin']="login";
$_SESSION['adminName']=$_POST['urname'];
$_SESSION['IMSystem']=$_POST['IMSystem'];
echo"
";
exit;
}
?>
7.1.2找回密码设计
找回密码模块用于在操作员忘记密码或丢失密码时取回密码。这要求在注册操作员
时,输入相应的密码提示问题及答案,否则,不能找回密码。在操作的过程中,如果输
入的问题答案与数据库相符,则允许操作员修改新密码,否则,操作失败。系统运行效
果如图7.3,图7.4,图7.5所示。
图7.3找回密码运行效果图
图7.4找回密码运行效果
图7.5找回密码运行效果
1.实现思路
图7.6找回密码实现过程
7.1.3修改密码设计
修改密码模块用于实现操作员密码修改的功能。运行效果如图7.7所示。
图7.7修改密码窗体
1.实现过程
图7.8修改密码实现过程
7.1.4用户管理设计
用户管理模块用于管理系统操作员相关信息,如修改某操作员的部门信息,操作权
限信息等,还包括添加、修改、删除操作员信息。
只有超级管理员才具有该功能操作权限。
图7.9添加操作员窗体
图7.10操作员管理窗体
7.2系统注册设计
系统注册模块主要用于初始化一个新系统。这里要求输入展会名称、展会组办机构
信息等。提交注册时,首先判断必须输入的字段是否输入完全以及所输入的信息是否满
足格式要求,如果输入完全及格式输入正确,则转至系统后台处理,否则,给出相应的
提示信息。
只有超级管理员才具有该功能操作权限。
图7.11系统注册窗体
7.3基础信息管理
基础信息管理,主要管理本系统的基础信息,有场馆信息、地区信息、展品类别、
单位性质、业务明细等5个功能模块。
7.3.1场馆维护模块设计
场馆维护模块主要用于实现场馆信息的注册、编辑、删除等功能。在该模块中,分
别在客户端使用了Javascript和在服务器端使用PHP正则表达式对电话号码、传真、
电子邮件、网址、高度、承重等信息格式进行了验证,只有在全部通过验证时,才可以
进行场馆信息的注册、修改操作。
删除场馆信息时应检验是否存在其他展会与该场馆关联,否则不允许删除。
图7.12场馆信息注册窗体
图7.13场馆信息维护窗体
7.3.2地区信息模块设计
地区按照树状结构进行组织,应反映出地区之间的从属关系,并且能够对展商和观
众按照地区属性进行统计和分析。单位的地区属性只允许关联到地区组织机构的叶结点
上。
删除地区时应检查,如地区已跟单位关联,则不允许删除;如该地区存在下级地区
结点,则不允许删除。
图7.14地区信息注册窗体
图7.15地区信息维护窗体
7.3.3展品类别模块设计
记录参展展品的类别信息,展品类别与展品关联,与展品的关系为一对多关系。
图7.16展品类别信息注册窗体
图7.17展品类别维护窗体
7.3.4单位性质模块设计
单位的性质,如:公司、政府、科研机构、进出口、IT、食品、制造等,与单位的
对应关系为一对多。
删除时应注意删除此性质与单位的全部关联。
图7.18单位性质注册窗体
图7.19单位性质维护窗体
7.3.5业务明细模块设计
单位业务,如媒体、咨询、进出口等,与单位的关系为一对多。
删除时应注意删除此业务明细信息与单位的全部关联。
图7.20业务明细注册窗体
图7.21业务明细维护窗体
7.4会展管理
会展信息管理,是本会展管理信息系统的重要部分。主要管理会展业务信息,有单
位管理、发(邀请)函处理、邀请函管理、展品管理、会议管理、个人参观业务等6个
功能模块。
7.4.1单位管理模块设计
管理和查看单位信息,实现对单位按其名称执行模糊查询,还能够按照其他属性(名
称、地区、邮编、业务等)进行全方位的查找和排序,打印单位的通讯录列表等。
由于本会展信息管理系统可以管理多个会展信息,在单位信息管理中,可能出现某
个单位连续两次或多次参加会展活动,这就可能出现需要多次输入该单位信息的情况。
这里的处理方式是:单位信息管理中,提取的信息是系统单位信息数据库中的数据,也
即会展信息管理系统中单位信息共享。如果某一单位曾经参加本会展中心的展会,这次
又参加相关展会,则在“单位管理”界面中的“是否参展”栏“【筛选】”即可,系统会
自动添加该单位信息到本次会展中,另外,在“发函处理”也会有该单位信息显示,可
以进行发送邀请函等处理。如果某单位是第一次参加本会展中心的展会,则要求输入该
单位的相关信息以及单位联系人信息。
如果某单位破产或者其他原因需要删除该单位信息时,在删除单位信息时应检查,
如果存在以下条件之一,则不能够删除单位信息。
已有人员信息;
已有参展活动;
已定义单位性质;
已有邀请函信息;
运行效果如图7.22,7.23,7.24所示。
图7.22单位信息注册窗体
图7.23单位联系人信息注册窗体
图7.24单位信息维护窗体
7.4.2发函处理模块设计
如果某单位曾经参加本会展中心举办的相关展会,则在“单位管理”界面中的“是否参展”
栏“【筛选】”即可,系统会自动添加该单位信息到本次会展中,另外,在“发函处理”
也会有该单位信息显示,可以进行发送邀请函等处理。
发函处理,也即对参加本次会展的单位发送邀请函。
可以删除发函单位信息,删除操作完成后,在“单位管理”界面也会进行相应的更
新显示,修改为不参加本次会展,而不是真正物理删除该单位信息及单位联系人信息。
运行效果如图7.25,7.26所示。
图7.25发函处理窗体
图7.26发函成功
7.4.3邀请函管理模块设计
维护已发出的邀请函记录,记录回函日期,是否参展以及备注信息等。对邀请函按
日期或单位排序。回函参加展会的单位,自动加入参展单位列表。
可以按单位名称或寄信时间段查找邀请函。
删除邀请函,删除在某个时间范围内的所有邀请函记录或者未回函的记录。
图7.27邀请函管理窗体
图7.28回函处理窗体
图7.29回函处理后邀请函管理窗体
7.4.4展品管理
记录单位的展品信息,展品与展会关联,展品与单位、展会的关系为一对多关系。
图7.30展品信息注册窗体
图7.31展品信息管理窗体
7.4.5会议管理模块设计
会议管理模块主要用于会展期间的会议安排,有时间、地点、会议主题、召集人、
主讲人等信息。
图7.32会议信息注册窗体
图7.33会议信息维护窗体
7.5会展服务管理
会展服务,主要指由会展中心所提供的相关服务的管理,有活动资源,单位活动,
活动收费等。
7.5.1活动资源管理模块设计
操作员对展会的某项活动初始化活动资源(如室内展位)。操作员可以逐条增加记录,
也可以使用资源代码的固定部分拼凑资源代码的活动部分进行批量增加活动资源,还可
以将某一个展会的活动资源批量复制到另外一个展会。
删除资源时检查该资源是否已被使用,如被使用,则不允许删除。
图7.34活动资源注册窗体
图7.35活动资源维护窗体
7.5.2单位活动管理
操作员添加参展单位后,记录该单位的展会活动和活动明细。在活动明细中对单位
活动配置活动资源。每项活动的收费金额合计(应收帐款)=∑(资源单价+资源数量)。
操作员选择参展单位后,系统自动调出该单位的活动和活动明细。
删除单位活动时检查,如存在以下情况,则不允许删除单位活动。
已有活动明细。
已有收费明细。
删除活动明细时检查,如已有收费明细,则不允许删除活动明细。
在“注册单位活动”窗体中,如果活动资源已经用完,则在“活动资源”的选择框
中不再提供该活动资源的选择。另外,选择活动资源后,系统给出该活动资源单价,操
作员输入数量后,系统自动计算总金额。最后,从数据库中减去相应资源的数量。运行
效果如图7.36所示。
图7.36单位活动注册窗体
图7.37单位活动管理窗体
图7.38单位活动明细窗体
7.5.3活动收费管理
1.收款单
输入:添加参展单位的收款单记录,同时系统根据当前时间初始化收款,记录审核
该单据的人员,并且标记收款凭证是否经过审核有效,输入会计凭证号、发票号、发票
日期、相关单据号和备注信息。
执行:系统自动计算参展单位的应收和已收金额。其中:应收金额=∑活动收费,已
收金额=∑实收金额。
删除收款单时检查,不存在明细的收款单,可以直接删除,否则系统应该给出提示。
已审核的单据不允许删除。
图7.39单位活动收费管理窗体
图7.40活动收费窗体
2.收款单明细
收款单明细是单位活动的应收帐款项目,用户填写“实收金额”,系统自动计算“欠
收金额”,欠收金额=应收金额-实收金额,实收金额或“减应收金额”不应高于销售金
额。
删除收款单明细时检查:未审核的收款单,可直接删除明细,已审核的收款单不能
删除明细。
已审核的收款单不能增加收款明细。
7.6财务管理设计
财务管理模块设计,主要管理每次会展的财务收支情况。有财务收入,财务支出和
每月及每年的财务报表;
7.7查询与报表设计
在会展信息的管理过程中,系统管理人员或者用户等有时需要根据特定的条件查询
特定信息,如查询某个展品信息,查询某单位的单位活动等。查询功能模块设计主要用
于实现以上的功能。
报表用于处理数据库,帮助展会组织者及系统管理人员分析和解释重要信息。它通
过公式,交叉表,子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉
的重要关系,表达一些通过文字或数字不能充分表达的信息。
7.8数据服务设计
在系统的使用过程中,由于系统完善性、网络安全、操作员误操作等原因,有可能
出现数据库数据表丢失或损坏的情况。在这个情况下,备份数据库显的很重要。如果发
生系统错误,你可以将你的数据恢复到系统错误发生时的状态。这包括数据备份与数据
恢复两部分内容。
7.8.1数据服务类
实现一个数据服务类,来完成所有数据备份及数据恢复的操作,这样做可以提高系
统的可移植性。数据服务类图如图7.41所示。
class_backup
-host//服务器名
-ur//用户名
-pwd//密码
-db_name//数据库名
-connection//连接标识
+_construct()//构造函数,建立连接
+_destruct()//析构函数,释放连接
+get_table_name()//取得数据库中的表
+get_table_fields($table_name)//取得每个表中的FIELDS
//和属性并生成CREATETABLE语句
+get_inrt($table_inrt_name)//取得表中的数据并生成ISERTINTO语句
+write_file($file_path,$file_contents)//写入一个文件
+read_file($file_path)//读取文件
+splitsql($sql)//分离SQL语句
+backupDataba($file_path_name)//备份数据:获取所有数据并连接成
//新的字符串并将它写入文件中.sql
+restoreDataba($file_restore)//恢复数据
图7.41数据库类图
7.8.2数据备份模块设计
在功能子菜单中选择“数据备份”菜单项,进入“数据备份”界面,该功能模块主
要实现将系统数据备份到服务器上的相应位置。运行界面如图7.42所示。
由于先前数据服务类的设计,在本模块设计中只需要声明一个对象,通过调用备份
数据函数backupDataba()函数即可,参数为备份文件文件名及保存位置。
图7.42数据备份窗体
相关代码如下:
//声明操作对象
$bak=newclass_backup();
//备份数据库
$str=$bak->backupDataba("backupData/");
7.8.3数据恢复模块设计
在功能子菜单中选择“数据恢复”菜单项,进入“数据恢复”界面,该功能模块主
要实现用以前备份的数据库文件来恢复当前数据。运行界面如图7.43所示。
由于先前数据服务类的设计,在本模块设计中只需要声明一个对象,通过调用数据
恢复函数restoreDataba()函数即可,参数为备份文件文件名及保存位置。
图7.43数据恢复窗体
相关代码如下:
//声明操作对象
$restore=newclass_backup();
//恢复数据库
$str=$restore->restoreDataba("backupData/");
第八章程序调试与错误处理
8.1数据表外码问题
1.外码定义
关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是
R的外部码(ForignKey),也称外码。
如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)
的码,则Sno是关系模式SC的外部码。
主码与外部码提供了一个表示关系间联系的手段。
2.参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K
s
相对应(基
本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
·或者取空值(F的每个属性值均为空值);
·或者等于S中某个元组的主码值;
3.问题说明
在本系统中,有多个数据表用到了外码。其中,在地区信息表中,因为地区信息按
照树状结构进行组织,反映出地区之间的从属关系,所以,就出现了主码与外码在同一
个数据表的问题。
在地区信息模块设计完成后,在调试的过程中,出现以下问题:
(1)插入新数据失败;
(2)当修改上级地区信息后,所有的其下级地区信息都丢失;
4.解决方法
经过认真分析数据库表及设计代码,找到解决方法:
(1)根据参照完整性规则,外码字段必须允许空,而在数据表设计时,外码字段为
NOTNULL,所以,在向数据表插入第一条记录时,出现插入新数据失败。
(2)对“修改上级地区信息后,所有的其下级地区信息都丢失”问题,查看设计代
码,原代码如下:
if($upAreaID!=0)
{
//上级地区不为空
$sql="UPDATEtb_areaInfoSETarea_name='$areaName',area_fullName='$areaFullName',
area_isLeaf='$isLeaf',area_upAreaID='$upAreaID',area_remark='$remark'WHEREarea_ID='$id'";
$res=$db->execute($sql);
}
el
{
//上级地区为空
$sql="DELETEFROMtb_areaInfoWHEREarea_ID='$id'";
$res=$db->execute($sql);
$sql="INSERTINTOtb_areaInfo(area_name,area_fullName,area_isLeaf,area_remark)
VALUES('$areaName','$areaFullName','$isLeaf','$remark')";
$res=$db->execute($sql);
}
经过分析知道,当上级地区为空(如地区最高级为‘广东’,目前修改的结点也为‘广
东’)时,则先删除当前记录信息,然后再新插入一条记录。根据参照完整性规则,当
你删除上级记录时,同时也删除了其下级记录,所以出现“修改上级地区信息后,所有
的其下级地区信息都丢失”问题。
为解决问题,修改代码如下:
if($upAreaID==0)
{
//上级地区不为空
$sql="INSERTINTOtb_areaInfo(area_name,area_fullName,area_isLeaf,
area_remark)VALUES('$areaName','$areaFullName','$isLeaf','$remark')";
}
el
{
//上级地区为空
$sql="INSERTINTOtb_areaInfo(area_name,area_fullName,area_isLeaf,
area_upAreaID,area_remark)VALUES('$areaName','$areaFullName','$isLeaf','$upAreaID',
'$remark')";
}
8.2“#2003-服务器没有响应”的问题
1.问题描述
登陆PHPMyAdmin的时候提示“#2003-服务器没有响应”,如图8.1所示。
·本地其它php+mysql程序运行正常;
·PHPMyAdmin以前运行正常,就最近出错。
图8.1“#2003-服务器没有响应”提示框
2.解决办法:
找到/文件中以下代码段:
复制内容到剪贴板代码:
//Authenticationmethod(validchoices:config,http,HTTP,signonorcookie)
$cfg['Servers'][$i]['auth_type']='config';
//MySQLur
$cfg['Servers'][$i]['ur']='root';
//MySQLpassword(onlyneededwith'config'auth_type)
$cfg['Servers'][$i]['password']='1234';
将其中的$cfg['Servers'][$i]['password']补上相应的正确密码,这里密码是1234。
8.3连接数据库问题
1.问题描述
在单元测试的过程中,系统给出“对不起,连接数据库出错!”提示信息。
2.问题分析
在系统单元测试的过程中,这个问题经常出现,特别是对系统数据查询操作后。出
现这个的问题的可能性有两个:一是数据库服务器没有启动,另外是操作数据库的SQL
语句出错。
3.解决方法
针对以上出现的问题,首先检查数据库服务器是否启动。其次是检查操作数据库的
SQL语句是否出错,比如查询数据表中不存在的字段,查询条件出错,又或者操作数据
库的SQL语句编写有错等。经过检查核对后,问题基本能得到解决。
如果以上方法还不能解决这个问题,则需要检查其他内容,看所编写的程序是否出
错等,更多的时候是凭直觉去检查错误。
第九章改进和完善方面
通过实施会展管理信息系统,初步实现了展会管理的信息化建设。以前的组委会需
要大量的人力收集资料,整理数据和保存Excel文件。由于Excel不是关系数据库结构,
缺少对数据的约束,因此很容易造成数据的不一致性,给查询带来不便。实施会展管理
管理系统后,数据实现集中处理,只需简单的操作即可完成数据的整理和查询工作。
本系统中,实现了对展品的登记管理,将展品信息备案,有利于展品管理的安全性,
并督促参展商展出内容与展会主题相符,同时有利于对展品信息的统计和发布。
通过对展会活动和资源的管理,组织者能够实时查看展会各项活动资源的分配情况
以及回款情况(如展位,广告等),及时做出决策和调整,大大提高了组委会的工作效
率,降低了管理成本。
系统还提供了对观众的统计数据(按地区),将为组织者在展会结束总结观众情况提
供数据参考。
会展信息管理系统作为展会组织者的平台,在实际应用中有其巨大的发展潜力。除
到目前为止完成的功能模块设计外,还可以着手进一步的开发工作。
9.1安全性改进
在计算机网络中,安全威胁来自各方面,甚至有些是由于用户自身的失误而产生的。
影响、危害计算机网络安全的因素分自然和人为两类。自然因素包括温度、湿度、灰尘、
雷击、静电、火灾、地震、设备故障等。人为因素又有无意和故意之分,例如由于误操
作删除了数据的疏忽和过失属于无意,而人为故意的破坏属于黑客行为。由于系统中存
储和流动着许多高度机密数据和电子财富,这早已成为政治间谍、商业间谍及黑客窥测
和行动的目标。
就系统安全性来说,包括系统本身的安全以及系统信息的安全,而保护系统的信息
安全是最终的目的。
对系统安全性的改进,有以下几个方面:
1.系统实体安全
如计算机机房的物理条件、物理环境及设施的安全标准,计算机硬件、附属设备及
系统传输线路的安装及配置等,加以改进和完善。
2.软件安全
如保护系统不被非法侵入,系统软件与应用软件不被非法复制、篡改、不受病毒的
侵害等。
3.系统中的数据安全
加强信息完整性、规则性方面的验证,保护系统信息的数据安全,不被非法存取,
保护其完整性、一致性等。
4.系统安全管理
如对运行过程中突发事件的安全处理,包括采取计算机安全技术(如拒绝服务),建
立安全管理制度,加强操作人员的培训,开展安全审计,进行风险分析等。
总之,系统安全性是一个内涵极其丰富的概念,尽管在系统开发设计阶段进行了风
险评估及采取了相应的安全措施,但在系统的运行过程中,还是需要不断对系统安全性
进行改进,主动解决系统安全和信息安全问题。
9.2功能扩展
作为一个全球年产值数千亿美元的朝阳产业,会展业不但有着巨大的经济效益,而
且具有强大的社会效应。会展信息管理已成为会展经营决策活动中必不可少的重要手
段。
会展业具有强大的产业带动效应,能汇聚巨大的人流、物流、信息流、技术流、商
品流和资金流,各种数据繁多,如能有效进行会展信息管理,可以使上述各种信息的流
动和管理更加简便、顺畅和合理,实现资源共享,降低运营成本,提高管理效率。UFI
主席EN人为,到2009年,将有85%以上的参展企业和组展商通过网络进
行沟通,通过网络实现预展,能极大地提高组展、参展的质量。这种数字化、信息化建
设将促进服务内涵的拓展,推动经济信息管理建设。
计算机辅助管理技术的发展,使会展信息系统达到新的水平,由于它以销售为起点,
销管合一,将使用户取得更好的效益,而管理与运作的更紧密结合,将大大提高企业的
工作效率,从而提高会展管理和服务水平。
会展信息管理系统主要是对会展信息的采集、存储、加工、处理和分析,并以此作
为管理层了解情况、作出决策的依据。信息管理系统是一个有人、机构成的系统,是一
个以人为本强调决策的重要性和系统实施的目的性的系统;是一个以实现管理增效为目
的的系统,通过有效地管理人、财、物、信息等资源来实现会展组织的目标。
在本课题研究过程中,由于个人所掌握的知识、技术和开发周期等因素的限制,仅
仅完成了会展信息管理中基本信息的管理功能。除此以外,还有会展场馆安全管理、会
展物流经济管理、会展旅游经济管理、会展价格管理、会展财务管理等功能模块。
9.3电子商务应用
也许是受所学专业的影响,我个人来说对电子商务在会展中的应用这方面的内容比
较敏感。通过在学校图书馆以及互联网查找相关的资料了解到,电脑技术、电话技术、
摄像技术特别是网络技术的发展从根本上改变了会展企业的经营方式及其与客户沟通
的方式。现代信息技术更以无可比拟的广泛性和渗透性使网络会展应运而生并不断发展
壮大。
本会展管理系统还可综合应用电子商务,如建立展会宣传网站,动态发布展会的资
源信息,利用网上报名、支付手段来简化复杂的流程等等!
第十章总结
本课题研究的是会展信息管理系统的设计与实现,通过这次毕业设计,我大致了解
了在进行软件开发工作时的基本过程,并且从中获得了许多从课堂上学不到的知识和有
意义的收获。
在完成本课题的过程中,在开始阶段遇到不少的问题:首先,对会展领域的知识了
解的比较少,使得前面花了较多的时间去上网查找相关资料以及到图书馆查找相关文献
以了解相关的知识;其次,因为初次采用PHP5面向对象进行项目开发,PHP5较PHP4
各方面都比较严谨,由于没有相关的经验,在配置开发环境的过程中,对细节的问题把
握不好,解决问题的过程中也用了不少的精力;最后,一些非计划的客观原因也在一定
程度上增加了我的难度。尽管如此,我还是在学校规定的时间内,把在学校所学的知识
付诸实践,完成了这次毕业设计的任务。
通过本设计,让我增长了不少相关的知识,了解了软件的编写程序过程,更体会到
软件工程的重要性。最重要的是认识到:会展信息管理系统作为展会者的平台,在实际
应用中有其巨大的发挥潜力。相对而言,计算机完整的工程档案与服务档案可以使管理
人员随时了解最新的情况,更可以规范维护、服务标准,帮助管理人员合理安排工作时
间。另外,计算机在管理收费方面,灵活性、准确性大大提高。
10.1技术总结
10.1.1释放内存
PHP的内存管理策略是,当程序脚本执行完成后,该脚本所占用的内存会被自动释
放掉,无需开发人员干预。然而,有的情况下PHP所执行的查询或其他操作会占用很
大的内存,如多次进行查询操作并且返回很大的数据集,这时就需要使用
mysql_free_result()函数手动释放内存。函数的定义为:
intmysql_free_result(intresult)
10.1.2获取插入记录自动标识
对于含有AUTO_INCREMENT属性列的数据表,有时需要在执行INSERT操作后,
获取当前插入记录的自动标识ID,即该记录AUTO_INCREMENT属性上的值。由于该
ID值经常用于作为PRIMARYKEY,因为获取后便可对该条记录进一步操作。PHP提
供了自动获取该ID的函数。
intmysql_inrt_id(int[Link_identifier])
使用该函数时需注意:首先应进行INSERT操作,其次数据表中应含有
AUTO_INCREMENT属性列。
10.2经验总结
我把在学校所学的知识付诸实践,完成了毕业设计的任务。在完成本系统的过程中,
第一次把握了整个系统的设计过程。现在把设计过程中的经验总结如下:
1.为了方便系统的编码和后期维护,在系统编码之前,一定要首先制定一套完整的
编码规范(包括数据库命名规范和程序代码命名规范),同时,应该先对系统做一个总
体分析,将其可能建立的文件进行分类,放置在不同的文件夹下,并将一些可重用代码
抽象为方法,写入到公共类中。
2.在系统的开发过程中,一定不要急于编写代码,而应该首先把需求分析做好,特
别是数据库分析,同时把各模块之间的关系、作用和功能了解清楚。另外,值得注意的
是,为了方便程序的后期维护,在编写代码的过程中,整体分析一定要明确。
3.编程的方法固然重要,程序的操作界面也要注意美观,优秀的应用系统软件需具
备健壮性、灵活性以及良好的个性化界面。因为个性化可以让系统操作员快速熟悉系统
以及系统的使用。
4.查阅资料是必不可少的一个环节,如果能找到与所研究的课题有关的,比较适合
的参考文献,将对自己所研究的课题有极大的帮助,可以避免走许多必要的弯路。在互
联网上查找相关资料,往往会收到意想不到的效果。在本设题的研究过程中,我就充分
地利用了网络以及茂名学院图书馆资源,大大提高了整体开发效率。
5.系统整体设计完成后,对程序的调试是极其重要的一步,调试的意义在于,可以
逐步完善,改正系统中的错误,使系统尽量完善。
由于时间的有限和开发经验的不足及其他个人方面的原因,在软件设计中还有许多
有待完善的地方。但经历过本科毕业设计,锻炼了自己的意志品质及适应社会的能力,
并且在真正的实践中加深了对理论知识的理解,积累的编程经验,为不久毕业后走向社
会打下了良好基础。
致谢
本次毕业设计的顺利完成,首先要感谢学校以及计算机与电子信息学院各级领导和
老师,是他们教给我知识,锻炼我分析问题和解决问题的能力。同时,还要特别感谢我
的毕业课题指导老师——陈少波老师!在整个毕业设计的过程中,陈老师不但在设计方
向和技术流程上给我做认真的分析、指导,主动找我询问毕业设计准备工作、设计进度、
解决难题、应该参考那些资料等,在就业引导与学校相关任务方面也给了我很大的支持,
告诉我在就业过程中应该注意的问题以及如何顺利工作。以上这些对我能顺利完成本次
毕业设计、完成从大学生涯到社会工作的转型、对往后工作与学习无疑都是至关重要的
帮助。在此谨向茂名学院的所有老师致以诚挚的谢意和崇高的敬意。
在此,我还要感谢一起度过大学本科两年生活的17位专升本同窗,正是由于你们的
帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。预祝各位同学
在未来的工作中身体健康、工作顺利!
在设计和论文即将完成之际,我的心情无法平静,从开始进入课题到设计和论文的
顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的
谢意!最后我还要感谢培养我长大含辛茹苦的父母及亲人,谢谢你们!
参考文献
1.魏中龙,段炳德著.我为会展狂——如何经营成功的会展.北京:机械工业出版社,2002
2.向洪.会展资本——并不高深的赚钱秘诀.北京:中国水利水电出版社,2003
3.刘大可,王起静.会展活动概论.北京:清华大学出版社,2004
4.陈来生.会展经济.上海:复旦大学出版社,2005.11
5.(美)JeAnnaAbbott,(美)AgnesDeFranco,王向宁.会展管理.北京:清华大学出版社,2004
6.赵杰,李涛,朱慧.SQLServer数据库设计、管理与实现.北京:清华大学出版社,2004
7.赵杰,李涛,王国业.毕业设计指导及案例剖析——数据库应用方向.北京:清华大学出版社,2005
8.王石,杨英娜.PHP+MySQL应用开发.北京:人民邮电出版社,2006
9.[罗]CristianDarie,FilipChereches-Tosa,BogdanBrinzarea,与PHPWeb开发.
王德民,王新颖,刘昕译.北京:人民邮电出版社,2007
10.杜江.PHP5与MySQL5Web开发技术详解.北京:电子工业出版社,2007
11.张海藩.软件工程导轮(第四版).北京:清华大学出版社,2003
12.王珊,萨师煊.数据库系统概论(第四版).北京:高等教育出版社,2006
13.[美]dez著.数据库设计凡人入门——关系数据库设计指南.范明,邱保志,职
为梅等译.北京:电子工业出版社,2005
14.蔡立军,池鹏等.网站建设原理与实践.北京:中国水利水电出版社,2004.8
15.胡建伟.网络安全与保密.西安:西安电子科技大学出版社,2003.11
rinoDoriSmith著,陈剑瓯译.JavaScript基础教程(第六版).北京:人民邮电出版
社,2007.9
sig著,陈贤安,江疆译.精通JavaScript.北京:人民邮电出版社,2008.4
附录A系统数据流图
当数据在软件系统中移动时,它将被一系列“变换”所修改。数据流图(DFD)是
一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数
据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过
程。
数据流图是系统逻辑功能的图形表示,是分析员与用户之间极好的通信工具。
A.1数据流图用途
画数据流图的基本目的是利用它作为交流信息的工具。分析员把他对现有系统的认
识或对目标系统的设想用数据流图描绘出来,供有关人员审查确认。由于在数据流图中
通常仅仅使用四种基本符号,而且不包含任何有关物理实现的细节,因此,绝大数用户
都可以理解和评价它。
数据流图的另一个主要用途是作为分析和设计的工具。
A.2系统数据流图的实现
本会展管理信息系统中,主要业务的数据流图如图所示。
图A-1“参展邀请函管理”数据流图
图A-2“参观管理”数据流图
图A-3“展品管理”数据流图
图A-4“活动资源管理”数据流图
收款单
收款登记收款处理
单位活动表
收款单表
收款明细表
活动
活动
收款单
活动
收款单
图A-5“单位活动管理”数据流图
图A-6“收款管理”数据流图
图A-7“基础信息维护”数据流图
附录B系统数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的
集合。
数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。
数据流图和数据字典共同构成系统的逻辑模型,数据流图和对数据流图中每个元素
的精确定义放在一起,共同构成系统的规格说明。
B.1数据字典的用途
数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立的一组严密一致
的定义很有助于改进分析员和用户之间的通信,因此将消除许多可能的误解。对数据的
这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通
信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免许多
麻烦的接口问题。
数据字典中包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给
定的数据元素的所有程序(或模块),所以很容易估计改变一个数据将产生的影响,并
且能对所有影响的程序或模块作出相应的改变。
B.2系统数据字典的实现
1.展会信息
展会信息=展会代码+场馆+会标+展会名称+开始时间+地点+内容+批文号+
室内单位租金+室外单位租金+结束时间+布展开始时间+布展结束时间+撤展开始
时间+撤展结束时间+开模式酒会时间+开模式酒会地点+主办单位+协办单位+赞
助单位+承办单位+备注信息。
2.场馆信息
场馆信息=场馆代码+场馆名称+地址+电话+联系人+最大面积+最大展位数+
传真+电子邮件+网址+高限+承重+门高+门宽+备注信息。
3.单位信息
单位信息=单位代码+单位名称+英文名称+地区代码+地址+邮政编码+网址+
电子邮件+业务性质+职员人数+注册资本+年营业额+国际认证+备注信息。
4.人员维护
单位联系人=人员代码+单位代码+姓名+英文名+是否负责人+职称+职务+办
公电话+传真+手机+家庭电话+电子邮件+备注信息。
人员业务性质=业务性质代码+业务性质名称。
5.地区信息
地区信息(树状结构)=地区代码+地区名称+地区全称+上级地区代码+是否底
级。
6.单位性质
单位性质=性质代码+性质名称。
7.邀请函
邀请函=邀请函代码+单位代码+发函日期+回函日期+是否回函+寄信人+备注
信息。
8.展品信息
展品信息=展品代码+展品类别代码+单位代码+展品名称+型号+规格+数量+
总价值+运输标志+运输说明+备注信息。
9.活动资源
活动资源=展会代码+资源代码+资源名称+最大数量+价格+数量+单位+备注
信息。
10.单位活动
参展单位=展会代码+单位代码。
单位活动=参展单位+单位名称+单位活动代码+活动类别代码+活动名称+合计
金额+应收账款+已收账款+销售折扣+操作人+操作时间+审核人+审核时间+是
否收费+备注信息。
活动明细=活动明细代码+资源代码+单价+数量。
11.收款单
收款单=收款单号+单位代码+收款金额+操作员+审核员+审核标记+会计凭证
号+发票号+发票日期+备注信息。
收款单明细=收款单明细号+收款单号+单位名称+合计金额+活动类别+销售金
额+减应收金额+备注信息。
附录C系统安装手册
C.1开发及运行环境设置
1.硬件平台
CPU:P41.8GHz。
内存:256MB以上。
2.软件平台
操作系统:WindowsXP(SP2)/Windows2000(SP4)/WindowsServer2003(SP1)。
数据库:MySQL5.0.45。
开发工具:Dreamweaver8.0、EditPlus2。
开发语言:PHP5.2.5。
浏览器:IE6.0。
Web服务器:Apache2.2.6。
分辨率:最佳效果1024×768像素。
C.2用户名与密码
系统初始化用户名与密码为:
用户名:admin
密码:admin
C.3系统安装说明
(1)用户在安装系统时,计算机除了满足上面要求的配置外,还需要按照本设计说
明书“第五章技术准备”的要求与步骤配置好系统运行环境。完成如下工作。
(2)将源程序从光盘中拷贝到本地机器的任意路径下,例如将光盘中“EIMS”文
件夹的系统文件,拷贝到E盘根目录下,路径为:“E:EIMS”(“EIMS”文件夹下包括
会展管理信息系统的全部文件),再去除所有文件的只读属性。
(3)将系统文件拷贝到服务器根目录。按照“第五章技术准备”配置好的系统运
行环境的服务器根目录为“C:Apache2htdocs”,将文件夹“EIMS(系统根文件夹)”
拷贝到该服务器目录下。
(4)本系统采用MySQL作为后台数据库,用户在使用时,首先需要附加数据库。
具体操作如下:
1.运行数据库可视化管理工具phpMyAdmin,新建数据库“EIMS”。
2.在菜单栏中选择“Import”选项卡,然后在“文本文件的位置”中选择需要导入的
数据库文件(这里数据库文件地址为“C:Apache2htdocsEIMS”,文件名为“”),
然后点击“执行”按钮,执行导入数据库文件操作。如图C-1所示。
图C-1数据文件导入窗体
3.如果以上操作失败,则在菜单栏中选择“SQL”选项卡,复制文件
“EIMS_”文件中的内容到文本框中(文件EIMS_的地址为“C:
Apache2htdocsEIMS”),然后选择“执行”,如图C-2所示。
图C-2数据库SQL语句执行窗体
4.到这里,所有的配置完成。
5.打开浏览器IE,在地址栏中输入http://localhost/EIMS/,运行系统。管理员登录
界面和系统操作主界面如图C-3,图C-4所示。
图C-3系统登录界面
图C-4系统操作主界面
本文发布于:2023-03-16 03:50:53,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167890985430562.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:会展管理.doc
本文 PDF 下载地址:会展管理.pdf
| 留言与评论(共有 0 条评论) |