基于webgis数字校园总体设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于WebGIS的校园电子地图系统总体设计报告
姓名:郭晨晨
学号:20091316040
班级:09地信(1)班
总体概要设计
概要设计的主要任务是把需求分析的结果转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
1、总体设计原则
(1)实用性原则
实用性原则主要体现的是所设计的系统能够解决实际问题,是所有应用总体设计最基本的最主要的原则,直接关系到系统成败。
(2)可靠性原则
可靠性是总体设计的立足点,若设计的系统故障频繁,就不能够满足用户的要求。系统的可靠性可以从以下几个方面衡量:故障发生的平均时间、排除故障的可操作性和所用时间、故障发生后的诊断措施和迅速恢复的能力等几个方面。
(3)易于更新和维护
系统的设计,能够实现有关地图数据的实时更新和维护。在系统维护时只须在服务器上维护即可,数据的更新和维护要简单可行。
(4)操作简便
操作简单是软件设计过程中需要重视的问题,应精心设计用户接口、使系统用户界面友好,便于用户理解。具体表现在:
①用户输入信息时,系统会给出提示信息;
②数据的显示和提示信息要简单明了;
③当用户输入信息有误时,有信息提示;
④良好的可移植性和可扩展性。
程序的可移植性决定了程序的应用范围、效益和系统的发展,因此在设计时
也应给与充分的考虑;由于系统不是一成不变的,随着需求的增加经常需要扩展。
这种扩充包括系统电子地图内容的扩充、系统用户的扩充等。在设计时要充
分考虑到系统的各部分功能可加行,以避免随着情况的变化使得已建成的系统不
能正常运行,不得不重新设计整个系统。
(5)数据的冗余和共享
数据冗余是指重复占用存储空间的数据。数据共享是指同一个数据可以为多
个用户、多种应用程序所利用。从储存空间的要求来讲要消除冗余,但从访问到
系统的响应时间来考虑,为了缩短访问时间和简化查询方法,使用一些冗余技术
也是必要的。因此,在进行系统建立时,应尽量消除不必要的冗余,尽量提高数
据共享程度。
2、开发及运行环境
本系统在LAMP环境下开发,系统可运行于LAMP(linux-apache-mysql-php)
和WAMP(windows-apache-mysql-php)环境下。
(1)开发环境
表1 开发环境
Table 1 Server-side operating environment
硬件环境软件环境
CPU Intel(R) Core(TM)2 操作系统Linux/ubuntu 11.04
Web服务器Apache2.2.8 内存1GB 数据库系统Mysql5.0
硬盘160G PHP版本PHP5.0
(2)运行环境
服务器端
表2 服务器端运行环境
Table2 Server-side operating environment 硬件环境软件环境
CPU Intel(R) Xeon(R)
以上
操作系统Windows NT/2003/XP
VISta、UNIX、Linux Web服务器Apache
内存2BG以上数据库系统Mysql5.0
硬盘4OG以上PHP版本PHP5.0
3、技术架构
3.1 核心技术
主要采用的技术有php、mysql、JavaScript、ajax、Google地图API等。
(1)PHP技术
PHP(Personal Home Page)[5]是一种跨平台的服务器端嵌入式脚本语言。它最初是由Rasmus Lerdorf于1994年开发的。早期的版本,提供了访客留言本、访客计数器等简单功能。随后,在第二版中增加了对mSQL的支持。自此奠定了PHP在动态网页开发上的影响力,并迅速在Internet上流传开来[6]。截止2009年5月,在Google中搜索“php”,你将获得95亿条搜索记录,可见php在当今互联网时代是非常流行的。PHP的源代码完全公开,在Open Source意识抬头的今天,它更是这方面的中流砥柱。随着新函数库的不断加入,使PHP无论在Unix、Linux或是Win32的平台上都可以有更多新的功能。如今,PHP已更新至6.0版。在语法方面,PHP混合了C、Java、Perl以及PHP以前版本的优点。它相当于Script与CGI的结合语言,但是其执行将效率却比CGI更好,程序编写也比HTML更便利且更富有弹性,程序的安全性及保密性也比Script好。在函数支持方面,PHP几乎覆盖了Web应用的各个方面,其中最有特色的是数据库函数,
使用PHP完成一个含有数据库功能的网页非常简单,而PHP支持的数据库也非常丰富,目前包括:MySQL、Oracle、Sybase、mSQL、Informix等。
(2)Mysql技术
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购[7]。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。其特点是:核心线程使用完全多线程,这意味着它能很容易地利用多CPU;支持PHP、C、C++、Eiffel 、Java、Perl、Python和TCL API等客户工具和API;可运行在不同的操作系统平台上;利用一个优化的一遍扫描多重联结,可快速地进行联结;全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、 MAX()和MIN();一个非常灵活且安全的权限和口令系统,并且它允许基于主机的认证;MYSQL特有的SHOW命令可用来检索数据库、表和索引的信息,EXPLAIN命令可用来解释优化器如何执行一个查询[8]。
(3)JavaScript技术
JavaScript是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich 设计,是一种动态、弱类型、基于原型的语言,内置支持类。以它为基础,制定了ECMA Script标准[9]。
(4)Ajax技术
Ajax是当今最为热门的浏览器端开发技术之一[10], 简单的来说, 它是众多成熟技术的集合。Ajax 的出现,为传统开发技术带来全新的应用方式, 极大地提高了用户对程序的操作体验。Ajax使用XMLHttpRequest对象以异步的方式与服务器通信,从服务器获取需要的数据后在页面上进行局部刷新[11]。AJAX技术给
B/S模式下的客户端和服务器交互方式带来了巨大的变化,使得B/S模式的前后台交互方式也与C/S模式一样,成为API级别的交互[12]。