微生活网站设计与开发毕业论文.docx
- 文档编号:18098461
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:38
- 大小:702.98KB
微生活网站设计与开发毕业论文.docx
《微生活网站设计与开发毕业论文.docx》由会员分享,可在线阅读,更多相关《微生活网站设计与开发毕业论文.docx(38页珍藏版)》请在冰点文库上搜索。
微生活网站设计与开发毕业论文
毕业设计(论文)
设计(论文)题目:
宁工“微生活”设计与开发
摘要
当手机、平板等移动设备变得日益流行,在这些设备上的运行的应用程序也随之变得越来越重要,更多的同学也得力于此可以随时随地的学习、娱乐和工作,然而,由于传统互联网技术的限制,这些却在这些移动设备上不能很好的呈现,严重的阻碍了校园信息的传递,很难适应当前这个以“用户为中心”、“面向资源共享”、“变化快速”的信息时代。
因此,本文在此基础上建立一个面向广大师生与高校部使用的信息系统微,把传统的校园网发展为“人性化”的产物,以师生需求为核心,运用最新的互联网技术,实现支持多终端应用的高校和校园生活服务的完美结合,把学生切身实际的如教务信息,图书查询,以与课表查询等,娱乐学生的功能例如匿名交友,出行功能例如拼车,实时公交等。
本次程序设计是基于SAE的服务器,集成了Apache-2.2和PHP-5.3以与mysql的数据库,而主要函数库用到了Curl和Ereg,微信开发接口,采用面向对象的设计思想,功能间采用低耦合设计。
在本地测试则采用wamp的集成环境,即windows、apache、mysql、PHP的集成,更加有效的,方便的在安装和测试体现出来。
整篇文档通过技术理论分析,系统设计,总体架构,数据库设计,以与关键代码编写等流程,最终实现了用户体验良好、界面设计美观、功能完善的宁工微生活的基本功能,以与通过微信实现更多实用性极强的功能。
关键词:
;PHP;微信;Curl;面向对象;AJAX
ABSTRACT
Whenmobilephones,tabletsandothermobiledevicesbecomeincreasinglypopular,applicationsthatrunonthesedevicesbecomesmoreandmoreimportant,morestudentsbutalsoeffectiveinthecan,atanytime,learn,playandwork,however,duetolimitationofthetraditionalInternettechnology,thesesitesareinthesemobiledevicescannotverygoodshowing,serioushinderedthecampusinformationtransfer,difficulttoadapttothecurrentto"theuserasthecenter","SharingOriented","changefastintheinformationage
So,basedonthis,thispaperestablishedaninformationsystemforthemajorityofteachers,studentsandcollegesanduniversitiestousemicrosite,thetraditionaldevelopmentofthecampusnetworkistheproductof"humanization",totheneedsofteachersandstudentsasthecore,usingthelatestInternettechnology,implementationsupportmultiterminalapplicationoftheuniversitywebsiteandcampuslifeserviceoftheperfectcombination,thestudentsimmediatepracticalsuchasacademicinformation,inquiries,booksandtimetablesearch,studentrecreationfunctionssuchasanonymousfriends,travelfunctionsuchascarpooling,real-timebus.
TheprogramdesignisserverbasedonSAE,integratedApache-2.2andPHP-5.3andtheMySQLdatabaseandmainfunctionlibraryusedinthecurlandEreg,developmentofmicrochannelinterface,usingobjectorienteddesign,thefunctionbetweenthelowcouplingdesign.Inthelocaltesting,theintegrationofwindows,Apache,mysql,PHPismoreeffective,anditismoreconvenientfortheinstallationandtesting.
Theentiredocumentthroughtheoryanalysis,systemdesign,architecture,databasedesign,andkeycodecompilationprocess,andultimatelyachievetheuserexperienceisgood,beautifulinterfacedesign,perfectfunctionoftheNingmicrolifeofbasicfunctions,aswellasthroughmicrochanneltoachieveamorepracticalverystrongfunction.
KeyWords:
Website;PHP;WeChat;oop;AJAX;
1.引言
1.1研究背景
Internet的迅速发展,使得人与人之间的交流已经不再局限于面对面的语言交流,可以开始利用Internet上各种快捷的方式进行随时随地的交流。
这一点在校园里的表现尤为明显。
而大学生所活跃的,贴吧,教务网等在互联网的活跃度上所占比例越来越大,校园网在互联网的地位也已经越来越重要。
但国外的高校也也存在单一的模式,即主要是办公类,教育类,以与生活咨询类,而各个之间也并没有很多的功能交错在一起,存在相互交独立的关系,而学校官网则比较杂而乱,不能很好的适应同学的生活,在现实生活中不能随时随地的去应用,也不能快速的获取信息反馈,即存在兼容性差,反馈时间长,信息错乱等多方面的不便。
目前在前端设计方面,HTML5的兴起,使得响应式设计能够很好的去兼容多个移动设备,配合着DIV+CSS设计以与传统AJAX和Jquery等JS库,能够很好的使得去切身实际的去满足广大用户的使用。
而MYSQL数据库的分布式存储以与优化的 SQL查询算法,有效地提高查询速度。
在PHP5方面,则可以更加支持更多函数应用等。
1.2研究目的与意义
本文主要研究如何简单实用H5;结合PHP技术去实现校园的资源整合与重构;需研究如何快速,深化的去使用mysql去查询数据;对服务器的功能的基本了解,包括的自带的功能如Memcache,Storage等的应用;研究如何结合微信公共平台,更加快捷方便的使用微生活的各个功能。
而通过各个功能的实现,以与多个方面的结合,能够使用户在微信上方便,快捷,高校的使用微生活的功能,可以更加完善的结合学校所有的功能,而在此基础上,同学们对学校文化,活动,教务以与生活各个方面有个更好的体验和参与,使得信息更加与时,高效,快速的进入同学生活中。
1.3研究容
本文通过研究当前高校的校网的情况,并做出基本功能需求分析。
在方面,主要包括以下容:
(1)功能模块设计:
包括功能设计,模块划分,系统框架设计,数据库设计和用户操作流程设计等。
(2)系统实现:
基于PHP与mysql数据,在linux的环境下进行开发,实现各功能模块,包括在校基本的信息查询,个人信息管理,校文件分享以与生活服务等。
拟解决的主要问题
微生活系统的功能设计与实现:
通过对工程学院学生用户群体的生活、学习的实际需求进行调研,并结合学校各类信息系统建设的现状,探讨宁工“微生活”的功能设计,并基于PHP技术予以实现。
在网页设计方面,通过简单应用响应式设计,简单实现对移动设备不兼容的问题,以与在对CSS+JavaScript在进入深一步的研究。
2.基本技术和理论
2.1数据库技术
Mysql是一个关系型数据库管理系统,但是目前用的最多的数据库管理系统,其中mysql是web应用中最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一,具有分布式数据库和数据仓库功能,将数据库中数据保存到不同的表中,而不是放在一个大仓库中,更好的提高了灵活性,而其所使用的sql语言是用于访问数据库的最常用标准化语言。
由于体积小,速度快,总体拥有成本低,又开放源码等特点,因此,一般中小型开发都选择mysql作为数据库,而搭配PHP,apache可组成良好的开发环境。
图2-1为mysql的可视化图形界面图:
图2-1数据库可视化图
2.2AJAX技术
AJAX=AsynchronousJavaScriptandXML即异步操作的javascript和xml。
能够是网页在整个页面不重新加载的情况下能够和服务器交换数据,更新网页部分技术。
主要就是创建请求对象,发送请求,获取响应等步骤,从而与服务器交互,包括get和post两种方法去对接。
浏览器中添加了负责发送请求的AJAX对象,该对象事先会绑定一段事件(js调用)处理函数。
用户填写信息点击注册时,会调用AJAX对象的方法,发送请求,AJAX对象发请求并不会影响页面的存在,所以在AJAX对象发送请求的同时,表单页面还可以进行其他的工作。
服务器接收到请求后获取数据,处理判断,响应时的数据不再是完整的页面,而是部分数据。
当响应提供的部分数据到达客户端时,并不是直接由浏览器展示,事先准备好的事件处理函数接收、解析。
部分数据取出来后由JavaScript代码控制这些数据,更新至页面的某位置。
整个过程中,AJAX负责发送请求,也负责接受返回的响应,并将响应中的数据更新至页面中主要流程图如图2-2所示
图2-2AJAX工作示意图
2.3响应式布局
Div+Css是在静态页面中最常用的前段技术,是WEB设计的标准,一种网页布局,与之前的表格布局可以完美的实现页面容与表现相分离。
而本文用了简单的响应式设计,集中创建页面的图片排版,智能的根据使用设备进行相应的布局。
响应式布局是在2010年提出的,主要是为了适应不同终端,为用户提供一个更加舒适的界面,提高用户体验。
因为代码编写需要使网页适应多个终端设备,因此会出现代码量大,加载时间长,又因为涉与到多方面设计,因此很多效果达不到最佳效果。
主要的设计思路是通过javascript语句去判断设备的分辨率,从而去加载不同的css样式效果,而与此同时在设定各个参数的时候,采用百分比,或者自动(auto)等参数,能够充分适应界面。
主要样式图如图2-3所示。
图2-3自适应样式图
3.基本系统设计
3.1需求分析
3.1.1系统基本功能需求
1.基本教务系统查询:
对接教务系统,结合网页,微信,实现功能主要包括学生成绩,课表等教务信息的一键查询和在线查询。
2.图书信息查询
对接学校图书馆系统,获取主要包括个人借书信息,还书时间提醒,以与书籍查询,包括馆藏,等基本信息。
3.无线公交查询
和通、市公交系统对接,实现公交实时查询,公交到站提醒登录和匹配对接提醒功能。
4.宁工出行拼车(修改案)
拼车信息填写与查询,主要解决学校出行问题,例如东校区来回拼车,市区来回拼车等
5.匿名交友
微信平台上学生的匿名交友功能,快速回复等,主要丰富平台的娱乐功能。
3.1.2系统性能需求
1.时间特性:
系统响应时间足够迅速(<5s),能够满足用户要求。
2.适应性:
在操作方式、运行环境、使用设备改变以与接口改变的场景下,系统需要能够自动适应,有相应的布局调整。
3.可使用性:
操作界面简单明了,但对格式和数据类型进行验证,包括对客户端验证和服务端验证,并采用错误友好提醒,提示用户输入正确数据和使用正确的操作方式。
4.安全性
只有合法用户才能登录使用系统,因此对每个用户都有不同等级的设置。
对用户名、密码、以与用户相关信息进行加密处理,保证账号信息安全。
5.可维护性
采用功能间的低耦合连接,相互之间的数据库主外键连接,使用面向对象进行调用,方便修改操作。
系统采用了记录日志,用于记录用户的操作与故障信息,同时本系统采用的B/S模式,结构清晰,便于维护人员进行维护。
3.1.3系统运行环境需求
云端架构的环境是sae,其中运行环境已经集成配置好,主要SAE平台目前的Web服务器使用的是:
CentOS-6.x;Apache-2.2.x;PHP-5.3.x。
Web服务器运行在64位Linux环境下。
Apache运行在Prefork模式下,即每个请求都会对应一个Apache进程,请求结束后该进程才能服务于下一个请求。
平台通过模块方式扩展了Apache和PHP的相关功能。
但也一些函数和类被限制使用例如函数exec,system等,SQLiteDatabase类等。
本地测试则使用wamp(windows+apache+mysql+PHP)环境,而在WampServer安装完成后,通过localhost/打开后可以看到WampServer自带的一个简单的页面,里面有PHPinfo、PHPmyadmin和sqlitemanager三个工具,能够图形化mysql和网页界面。
3.2系统总体架构设计图
3.2.1设计结构功能图
从首页登录之后,可以更具登录密码去访问学校的教务,图书馆系统,以与匿名交友等功能,无线公交功能是在未登录状态也可使用,公交提醒功能则需要登录使用。
图3-1设计结构功能图
3.2.2功能界面设计:
采用类似win8式风格设计,简单,明白,易操作,比较明显,采用HTML和PHP嵌套写入,结合mysql数据库显示部分数据。
图3-2功能界面设计图
3.2.3功能流程图设计
图3-3功能流程设计图
3.3功能设计
3.3.1登陆功能
表3-1登陆功能简介表
功能描述
登陆,注册基本功能的实现。
关键技术
表单基本验证,数据库账户验证,验证码验证,是否在线判断,验证。
所需要主要函数与关键类
所需主要函数与关键类:
email,check_Session,verification_Code,check_User
登录功能的流程图如图3-4所示。
图3-4登陆功能流程图
3.3.2基本教务系统的查询
功能描述
教务系统的成绩课表查询等(本学期和所有课表)。
关键技术
密码验证,模拟登录,正则表达式匹配,放入缓存。
所需要主要函数与关键类
check_Uesr_Edu,curl,ereg(pattern,string)等
设计思路
使用curl模拟登录教务系统,返回到微信和网页端,学生的密码根据openid从数据库查找获取。
表3-2教务系统查询功能介绍
从教务系统模拟登录获取教务系统获取cookie如图3-5所示,而整个系统走向如图3-6所示。
图3-5抓取教务系统cookie图
图3-6教务系统模拟登陆示意图
3.3.3图书信息的查询
表3-3图书信息功能介绍
功能描述
包括个人借书信息,还书时间提醒,书籍查询
关键技术
图书馆密码验证,模拟(post)登录,正则表达式匹配,放入缓存,模拟get查询。
所需要主要函数与关键类
Memcache,Bus,Send_Message等。
设计思路
check_Uesr_Lib,curl,ereg(pattern,string),email等(ps:
还书提醒应用于微信,需要微信的api)
服务器,客户端,图书馆系统之间的相互调用如图3-7所示。
图3-7图书馆模拟查询示意图
3.3.4无线公交查询
表3-4无线公交功能介绍
功能描述
获取实时公交,加入到站提醒功能
关键技术
h5的自适应网页,get获取公交信息,解析json,AJAX技术以与配合微信api的到站提醒功能。
所需要主要函数与关键类
Memcache,Bus,Send_Message等。
设计思路
发送路线(523)get请求,在获取参数后返回json数据,通过解析用AJAX修改站点选项框,通过PHP语言把所提交的信息写入数据库,带着时间参数
整个设计流程图如图3-8所示。
图3-8无线公交提醒信息流程图
3.3.5匿名交友(仅限微信)
表3-5匿名交友功能介绍
功能描述
在平台匿名交友
关键技术
微信api,sae缓存
所需要主要函数与关键类
Memcache,ACCESS_TOKEN接口等
设计思路
主要利用微信平台做为一个类似的中转站,客服功能,使得发送过来的消息能够通过平台去发送到指定同学
图3-9微信匿名交友流程图
3.4数据库设计
3.4.1数据库关系图
图3-10数据库关系图
3.4.2数据库设计
1.用户密码设计
userform存放用户信息,id是用户的编号为主键,自动生成。
username是用户称呼,password是用户的密码,email是用户的,realname是用户的真实,这几行的容在注册时必须填写不能为空。
regedate是用户注册日期,格式为年-月-日,是自动添加,openid是微信fromusername(具有唯一标识)。
表3-6userform
字段
类型
Null
注释
id
int(11)
否
主键
username
varchar(255)
否
用户
password
varchar(255)
否
密码
varchar(24)
否
realname
varchar(255)
否
真实
openid
varchar(255)
否
用户id
regedate
date
否
注册时间
教务系统密码设计
主要存放用户的教务系统账号和密码,以与主键id和用户的唯一标识openid,
表格3-7User_edu
字段
类型
注释
id
int(11)
主键Id
user
varchar(200)
用户名
password
varchar(200)
密码
Openid
varchar(200)
用户id
2.图书馆密码设计
表3-8User_lib
字段
类型
空
id
int(11)
否
user
varchar(200)
否
password
varchar(200)
否
username
varchar(200)
否
3.匿名交友数据库设计
其中主键是id,与其他表对接的键是openid,time是存储用户参与活动的时间,用在判断用户是否已经过了四十八小时互动,在这里设定是18小时,black是判断是被拉黑,0是被拉黑,1是未被拉黑,默认是1;
表3-9Maker_friend
字段
类型
默认
注释
id
int(11)
主键id
openid
varchar(200)
用户id
time
varchar(200)
发送时间
black
int
(1)
0
是否被拉黑
4.系统实现与测试
4.1主要类设计
主要设计如下几个类:
Check_User,User_Edu,User_Lib,Bus,Library_serach,Send_Message,Maker_Friend。
每个类都有各自的功能,查询课表成绩,查询公交车等,但在登录教务系统和图书馆的时候调用Check_User类去检验用户的账号密码的正确与否,而设计到要发送消息的时候即调用Send_Mseeage。
关系如下图4-1所示。
图4-1类关系图
下面对这几个类进行简要说明:
1.User_Edu:
用户可以通过登陆之后,直接获取自己的教务系统成绩课表信息,如果未登陆状态,可以直接使用账号密码登陆,调用Check_User验证信息,在线查询信息。
包含成绩获取,课表获取,用户验证以与成绩课表匹配等功能。
2.User_Lib:
图书馆用户功能在登陆的时候调用Check_User_Lib验证图书个人信息,查询个人图书借阅情况,设置图书还书提醒信息,但是图书信息查询不需要登陆,使用AJAX去显示反馈的信息。
包含图书信息查询,还书提醒。
3.Bus:
公交车查询实时公交,反馈到微信客户端,并让用户可以设置自己的到站提醒功能,到站提醒功能
包含公交车查询,公交车到站提醒。
4.Library_serach
包含图书查询。
5.Check_User
主要是调用图书馆和教务系统信息的验证,通过返回值去说明账号密码是否正确,即模拟登陆是否成功。
4.2关键功能的实现代码
4.2.1User_Edu
包含成绩获取,课表获取以与成绩课表匹配等功能。
成绩获取:
privatefunctiongrade($jwid,$jwpwd){
$cookie_file=tempnam('./temp','cookie');
$ch=curl_init("
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
$str=curl_exec($ch);
$info=curl_getinfo($ch);
curl_close($ch);
$pattern='/
此处省略正则表达式和返回值
}
课表获取:
privatefunctionkebiao($key){
此处省略模拟登陆过程
$key=str_replace("课表","",$key);
if(empty($key)){
$i=date('w');
if($i==0){
$i=7;
}
}else{
$i=$key;
}
$j=$i+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生活 网站 设计 开发 毕业论文