微生活网站设计与开发毕业论文.docx

上传人:b****5 文档编号:30258041 上传时间:2023-08-13 格式:DOCX 页数:38 大小:702.98KB
下载 相关 举报
微生活网站设计与开发毕业论文.docx_第1页
第1页 / 共38页
微生活网站设计与开发毕业论文.docx_第2页
第2页 / 共38页
微生活网站设计与开发毕业论文.docx_第3页
第3页 / 共38页
微生活网站设计与开发毕业论文.docx_第4页
第4页 / 共38页
微生活网站设计与开发毕业论文.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

微生活网站设计与开发毕业论文.docx

《微生活网站设计与开发毕业论文.docx》由会员分享,可在线阅读,更多相关《微生活网站设计与开发毕业论文.docx(38页珍藏版)》请在冰豆网上搜索。

微生活网站设计与开发毕业论文.docx

微生活网站设计与开发毕业论文

 

毕业设计(论文)

 

设计(论文)题目:

宁工“微生活”设计与开发

 

摘要

当手机、平板等移动设备变得日益流行,在这些设备上的运行的应用程序也随之变得越来越重要,更多的同学也得力于此可以随时随地的学习、娱乐和工作,然而,由于传统互联网技术的限制,这些却在这些移动设备上不能很好的呈现,严重的阻碍了校园信息的传递,很难适应当前这个以“用户为中心”、“面向资源共享”、“变化快速”的信息时代。

因此,本文在此基础上建立一个面向广大师生与高校部使用的信息系统微,把传统的校园网发展为“人性化”的产物,以师生需求为核心,运用最新的互联网技术,实现支持多终端应用的高校和校园生活服务的完美结合,把学生切身实际的如教务信息,图书查询,以与课表查询等,娱乐学生的功能例如匿名交友,出行功能例如拼车,实时公交等。

本次程序设计是基于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)

密码

email

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)

 是否被拉黑

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='//i';

此处省略正则表达式和返回值

}

课表获取:

privatefunctionkebiao($key){

此处省略模拟登陆过程

$key=str_replace("课表","",$key);

if(empty($key)){

$i=date('w');

if($i==0){

$i=7;

}

}else{

$i=$key;

}

$j=$i+1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1