XX省大学生生讨论性学习和创新性实验计划6.docx
- 文档编号:10572286
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:11
- 大小:114.49KB
XX省大学生生讨论性学习和创新性实验计划6.docx
《XX省大学生生讨论性学习和创新性实验计划6.docx》由会员分享,可在线阅读,更多相关《XX省大学生生讨论性学习和创新性实验计划6.docx(11页珍藏版)》请在冰豆网上搜索。
XX省大学生生讨论性学习和创新性实验计划6
附件5
省大学生研究性学习和创新性实验计划
项目 申报 表
项目名称:
基于Suda框架的校园助手的设计与实现
学校名称
中南林业科技大学涉外学院
学生姓名
学 号
专业
性 别
入学年份
冯世昌
计算机科学与技术
男
2015年
贺世康
计算机科学与技术
男
2015年
周思娟
计算机科学与技术
女
2015年
黄鼎晟
计算机科学与技术
男
2015年
刘佳玲
软件工程
女
2015年
指导教师
余波
职称
副教授
项目所属
一级学科
计算机科学与技术
项目科类(理科/文科)
理科
学生曾经参与科研的情况
本项目组同学已经修读C/C程序设计、数据结构等课程,具备基本的程序设计技能;已经掌握基本的文献检索技术,能够根据选择的主题开展文献调研。
此外,项目申请人冯世昌参与科研情况:
1、参加2017年蓝桥杯程序设计竞赛省赛区B组C/C个人赛三等奖;
2、萌码()的SL注入和XSS安全测试研究,发现了该的XSS通用注入漏洞和一个高危的sessionfixation 攻击漏洞,具体细节查看分析文章:
已经联系管理员修复;
3、漏洞反馈平台补天( )无名团队成员,发现阿牛内幕Cookie任意注入的高危漏洞,因厂商未修复,漏洞细节不公开。
4、具有一年以上的框架开发经验,代码累计量达2万行左右(数据来来自:
)具体项目地址:
(1)atd3cn:
一个开源的PHP7MVC框架,开源地址:
.开发代码行数:
5675行.
(2)atdmi:
Atd3cn框架的修正版本开源地址:
。
开发代码行数:
11495行。
(3)Suda:
本项目使用开源PHP7框架,系结合前两个版本的优点结合开发而成.开源地址:
开发代码行数:
5648行。
指导教师承担科研课题情况
1、参与“973"项目(项目名称:
XX聚合模型、机制及计算性质 项目编号:
2005CB321802).
2、参与国家自然科学基金资助项目,软件容错测量理论与技术研究,项目编号:
No.60473031,2002—2005。
项目研究和实验的目的、内容和要解决的主要问题
一、项目研究的目的
随着无线的普及,越来越多的校园助手APP被开发与应用,这给大学生的校园生活以及在校学习带来诸多便利。
譬如:
现有的校园助手手机APP有效地解决了高校在校生校园通讯、成绩课表与教室等需求。
已有的校园助手APP缺乏校内维修的功能、校内兼职信息管理、校内志愿者管理、勤工俭学信息管理等功能。
为了方便我校学生及学生工作事务管理人员的工作、学习与生活,借助学生手机的使用现状,设计并开发校园助手APP。
基于Android开发的校园助手APP有着明显的缺陷:
需要下载安装,无疑会占用手机宝贵的存储空间.现行的应用也越来越偏向于网络化的应用程序,如腾讯XX的基于WEB开发的小程序,实现了扫码即可使用的功能,极大的方便了用户的使用,提高了应用的普及率,因此,本项目将会通过的方式实现。
通过的模式来实现本项目,可供选择有体系结构有C/S(客户端/服务器)和B/S(浏览器/服务器)两种.与传统的C/S体系结构相比,采用B/S(浏览器/服务器)架构,不需要下载客户端,便于维护,不需要额外安装支持软件,在本地运行时,受安全沙箱全程保护极大提高了安全性.
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象及构件实例间交互的方法。
框架提供了所有应用期望的默认行为的类集合。
在应用框架进行开发时只需重写子类(该子类属于框架的默认行为)或组装对象来支持所需的行为。
Web应用框架是实现了Web应用领域通用完备功能(除去特殊应用的部分)的底层服务。
基于框架编程方便开发员在一个通用功能已经实现的基础上开始系统开发。
本课题组成员为了学习并掌握开发技术细节,学习并掌握Web领域的通用问题和特定问题开发技术,提高自己的能力和技术水平,本项目的开发将会使用自主开发基于MVC(dule-View—Controller)结构的通用WEB应用程序框架的后端框架Suda。
二、项目研究内容
设计并实现一个校园助手。
该主要包含如下功能。
1、失物招领功能.用来解决人工处理失物招领信息的滞后性问题,替代现有失物招领通过布和公众号发布失物招领信息的落后手段.通过同学自主在上发布丢失物的物品的信息的描述和照片,以及学生拾到物品的描述性文字和图片的发布,通过审核后作为失物招领的数据,并且提供指定物品、丢失(拾到)时间、丢失(拾到)地点的物品的搜索,提高找到物品的几率。
2、校园跳蚤市场功能.旨在对无用物品进行二次利用和交换,提供学生发布二手交易物品信息的平台,学生通过添加描述性文字以及实拍图片和联系方式等详细信息发布在上,通过后台审核后会显示在上面,提供给同学们作为线下交易的参考的依据,并提供基本的物品搜索功能。
3、校内维修的功能,方便学生和维修人员的和进行维修,包括申请:
学生提供寝室,时间和损坏的物品,提供照片,避免了误报地方的问题,也方便维修人员准确的进行维修,时间和具体信息等;维修核计:
在维修人员维修完后确认维修.
4、校内兼职信息管理功能。
提供学校经过审核的商家发布兼职的内容和时间以及地点,学生可以通过本平台筛选和搜索兼职信息的时间地点和内容。
商家发布的兼职信息审核过后会出现在信息列表上。
5、校内志愿者信息功能。
方便社团、学生会和校园社团的操作员登记并发布志愿者岗位信息,包括:
志愿者工作服务内容和时间以及地点;志愿者岗位申请者信息并发出申请等。
6、勤工俭学的信息登记功能。
学生或者勤工俭学管理部门操作人员发布勤工助学岗位信息,包括:
工作内容和时间以及地点;以及学生申请勤工助学岗位等。
7、校园助手管理功能。
包括兼职信息发布管理、失物招领信息审核、维修信息的审核与管理、志愿者信息发布与管理、勤工俭学信息管理等功能的权限、数据安全等系统管理。
从开发的角度来说,本项目是一个典型的信息管理类型的,即需要课题组成员处理好的数据库结构,设计并实现上述功能所需数据的创建、更新、、删除(CURD)的功能.本项目采用MarXX数据库来储存数据.
此外,为了学习与掌握开发的框架技术,本课题组还需要对已经开发的Web应用程序框架Suda进行优化.研究内容包括:
1.研究和学习现有框架的优点和缺点,持续对Suda框架进行优化,并基于本框架开发本课题的校园助手.
2.探索学生项目在开发过程中应用敏捷开发技术方法的特点与规律。
3.掌握软件开发中需求规格说明、软件设计规格说明、测试等文档的基本规范。
Suda框架的基本结构如下图。
图1Suda框架的基本结构
三、要解决的主要问题
1.以项目组为单位了解并掌握敏捷开发方法.
2.校园助手的需求分析和软件设计。
3.Suda框架的迭发和测试。
4.基于Suda框架的校园助手的编码实现和测试。
5.需求说明书、项目计划、需求规格说明书、概要设计说明书和测试计划等软件开发的XX个时期的文档的编写
6.撰写校园助手项目、和Suda框架设计实现,并申请两款代码的软件著作权。
国内外研究现状和发展动态
围绕校园助手开展文献检索与调研,现有的校园助手APP列举如下.
1、惠达校园通,主要功能包括:
学院概况、校园通讯、新生专题、校图书馆、课程成绩、课表、教室、校园信息、在线问吧、出行指南的功能,其中课程成绩、课表的功能与教务管理信息系统的功能重复[1]。
2、芙蓉学院校园助手,主要功能包括:
课程成绩、课表、空教室。
由于XX普通高校提供的教务管理信息系统通常包括课程成绩、课表功能.因此,该APP的功能略显单一,对学生有帮助的也只是空教室的功能。
该APP基本上可以担任是“惠达校园通”的缩略版本,难以满足学生的学习生活的现实需求[2].
3、XX大红鹰学院校园助手,包括主要功能:
校园卡账户管理、用户课表,天气预报。
天气预报作为手机系统自带的基本功能,该功能冗余,且校园卡账户的管理功能的安全问题有待考证[3];此外,基于该APP有一个增强版本,即在上述校园助手之上添加GPS定位,但是,在校园内GPS的使用情况不得而知[4].
4、XX师范学院校园助手,包括主要功能:
百年校史、校园大事记、校园领导、校园课程表、校园地图、盖饭助手、教务系统和出行路线等,它是一个功能比较丰富的APP,但是,部分功能同样是重复了学校教务管理信息系统的功能,的实现也是通过模拟HTTP请求抓取数据,实现技术上不具有通用性,一旦教务系统的网页结构变更,则整个APP的抓取数据将会失败[5]。
5、XX工商职业学院校园助手,包括主要功能:
浏览学校和系部的新闻,并可以实现分享和收藏;查看任课教师的相关信息;浏览跳蚤商品,上传、管理和维护个人跳蚤商品;个人课程成绩;学校设施设备的拍照、上传及报修;其他生活服务功能,包括查看天气、订购以及叫外卖等功能.该校园助手具有一定的普遍性和通用性,但是依旧存在之前的校园助手的问题,包括对教务系统的过度依赖和无用功能的设计(查看天气、叫外卖)[6];
6、藏汉英三语校园助手,包括主要功能:
个人信息管理、成绩信息、选课信息、信息、新生导航、图书信息、校历信息、自习室预定、蹭课、校园地图、看、快递信息的功能,比较全面。
但是,成绩信息、选课信息、信息等功能与教务系统功能重复[7];
7、XX工学校园助手,包括主要功能:
二手交易市场,基本满足本校的部分要求,但是与本校同学所需要的功能还是有所差距[8]。
从上述所列校园助手APP来看,当前校园助手的功能与教务管理信息系统、图书管理系统以及手机随机附送软件的功能重复;此外,有些功能实际用途不大.综合以上的情况,项目组才决定开发一款实用性高,功能的校园助手。
现有的校园助手基本是基于Android平台开发,需要安装APP才能使用,就目前来看,本校园助手的功能具有针对性和实用性较强的特点。
经过检索,国外有相关也不多,现有的应用也越来越偏向于网络化的应用程序,如腾讯XX的基于WEB开发的小程序,实现扫码即可实用的功能,极大地方便用户使用,有效地提高此类应用的普及率[9]。
本项目后端程序采用项目组自主开发的Suda框架[17].。
该框架使用了目前最为通用的服务器语言PHP7编写[6],前端页面采用国外著名前端框架Bootstrap构建(Bootstrap 是最受欢迎的HTML、CSS和JS 框架,用于开发响应式布局、移动设备优先的WEB项目.),使用自适应布局的用户界面设计等[11][12]。
本框架的设计与实现使得项目组成员进一步熟悉最新的移动开发技术。
国内主流的PHP框架有ThinkPHP,eePHP和ColaPHP等,国外的主要框架有ZendFramework、Larel、Symfony等[13]。
在框架技术应用方面,国内明显落后于国外.随着技术的发展和普及,开发越来越普遍,怎样很快的进行的设计和开发是普遍关注的问题。
框架能节省开发时间,避免我们写一大堆自定义模块来实现这些性能,我们所需要做的就是将这些共用模块放在框架中实现。
框架节省了我们不少的时间和精力,并且让扩展变得更容易,框架强制使用公共的约定,它能有效地解决一些共有的问题,一个很好的框架的作用不言而喻。
PHP7是PHP语言最新一个版本,性能也有着很大的提升提升,PHP7比PHP5。
6性能提升了两倍,它全面支持64位系统,使用PHP开发,开发快,运行快[15],本身语法易学习;可以被嵌入于HTML语言,它相对于其他语言,编辑简单,实用性强,适合初学者。
采用PHP7作为主要的开发语言以适应国际发展趋势[16].
主流的移动开发用数据库系统有:
MySL,Oracle,SLServer,SLite以及MarXX。
的数据库采用MarXX数据库,MarXX数据库管理系统是MySL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因之一是:
甲骨文收购了MySL后,有将MySL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MarXX的目的是完全兼容MySL,包括API和命令行,使之能轻松成为MySL的代替品。
在存储引擎方面,10。
0。
9版起使用XtrXX(名称代号为Aria)来代替MySL的InnoDB.MarXX跟MySL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。
目前MarXX是发展最快的MySL分支版本,新版本发布速度已经超过了Oracle方的MySL版本。
相对于MySL最新的版本5。
6来说,在性能、功能、管理、NoSL扩展方面,MarXX包含了更丰富的特性。
比如微秒的支持、线程池、子优化、组提交、进度报告等,MarXX还是Google,Wikipedia,Slackware Linux,Arch Linux 等巨头所青睐的数据库.
参考文献
[1]黄震、吴程龙。
基于Android的校园通应用程序的设计与实现.现代计算机(专业版)[J]。
2014年21期.
[2]罗杰、王兴柱、冷迅、何易升、孙航宇.基于Android平台的校园助手APP设计与实现[J]。
软件导刊。
2016年12期。
[3]周森鹏、陆正球、蔡岑科. 基于Android的校园生活助手设计与实现.现代计算机(专业版)[J]。
2013年8期.
[4] 林XX、李晓蕾。
基于Android的校园助手手机应用程序的研究与设计[J].硅谷.2012年3期。
[5]胡小平、杨敏、刘奎.基于Android平台校园助手的设计与实现[J]。
XX师范学院学报(自然科学版)。
2014年3期.
[6]庄彦.基于Android的校园助手软件系统设计与实现[J].科技传播. 2015年6期.
[7]赵应、李雷.基于android平台的藏汉英三语校园助手的设计与实现[J].2016年9期。
[8]田丹、刘申菊 基于Android的校园助手的开发与实现[J]。
民营科技.。
[9]维基百科:
丰富的应用程序 [OL]。
2017年4月7日。
[10]PHP参考手册:
[OL]. 2017年4月7日.
[11] 唐俊开.HTML5 移动 Web开发指南[M].电子工业2012年11月。
[12]Petter Lubbers,BrianAlbers,FrankSalim著;李杰、柳倩、刘淼译 HTML5高级程序设计[M].邮电,2011年9月.
[13] Bartoszrebski,KarolPrzystalski,LeszekNowak 著。
复勇、景丽译。
PHP框架高级编程[M]。
清华大学2012年10月。
[14] 马小军、张玉祥、廖礼萍、张冰封。
软件工程:
项目案例与指导[M].清华大学2013年.
[15] AlenaHolliga. 5New Features inPHP7。
[OL]。
2017年4月7日。
[16]TIOBE.[OL].2017年4月7日。
Suda:
本项目使用的开源PHP7框架,是前两个结合前两个版本的优点结合开发而成。
开源地址:
[17]Suda框架. 2017年4月7日.
[18]MySL失势:
[OL]。
2014年4月7日. [19]维基百科 MarXX [OL].2017年4月7日。
本项目学生有关的研究积累和已取得的成绩
项目组成员已经组成了程序设计兴趣小组,熟悉学习应用的开发流程和过程,能够熟练的使用面向对象的方法进行程序设计.
已经修完C语言程序设计、JA语言程序设计、离散数学、数据结构等专业基础课以及正在学习的数据库系统概论课程。
学生在老师的指导下,自修软件工程导论,初步具备软件工程开发流程与管理的基本知识.
2015级计算机专业的冯世昌同学已经自主开发了一个通用的PHP的框架原型Suda框架(开源在:
),拥有丰富的程序编写经验,当前Suda框架项目的代码5648行。
一、已经实现的功能
(1)实现MVC模型(视图层、控制层和数据模型层)的基本功能.
(2)添加数据库自动创建、数据备份、自动生成数据模型模板等CMS(内容管理系统)的功能.
(3)提供一款类似arty语言的语法。
arty语言是一个PHP下的网页模板系统。
arty是一种HTML模板控制语言,它将PHP码(事务逻辑)与HTML代码(实现逻辑)分离的设计策略。
(4)提供一个调试工具,方便显示语法和运行时错误,显示错误代码行数,如图2.
(5)框架支持拼接式开发,XX模块之间耦合度低。
图2。
错误截图
二、当前已开发Suda框架的缺陷
(1)控制台控制命令和控制产生的用户组差异问题,基于Suda框架的在Linux平台运行时容易出现权限问题。
(2)路由配置过于繁琐:
在添加URL路由的时候,需要编辑2个以上的配置文件,比较繁琐,现在暂时用命令行操作.
(3)路由匹配算法不够高效,每次请求都要标记所有模块的所有路由信息;框架采用预缓存机制来输出网页代码,对性能消耗比较大。
(4)框架的I18N (internationalization,国际化)支持还不够完善.
(5)现有框架的代码继承了其它框架代码,整个框架内容与结构需要进一步清理。
综合上述,Suda框架还是有许多方面有待优化,需要进行再次迭发。
由于Suda第一版本的开发工作基本完成,因此,可以在此基础之上进行迭发。
由于之前开发过程中没有严格的遵守现代软件工程开发的方法,该框架的需求规格说明书,软件规格说明书以及软件测试报告等相关文档缺乏,因此,在迭发时需要完善上述缺失的软件开发文档。
项目的创新点和特色
1、项目的创新点
本课题源自学院学工部勤工助学工作信息化需求,并在此基础之上,结合学生学习生活的实际需要进行功能扩充,因此,本项目有良好的现实需求。
校园助手采用B/S构架,与其他校园助手APP相比,不需要下载客户端,极XX便了学生们的使用。
在总结分析了其他框架项目之后,采用路由-处理-响应模式,源自MVC模式但是又脱胎于MVC模式,使框架逻辑更为清晰。
本项目B/S结构,并基于框架进行开发,具有较好的可扩展性.
为了安全性和方便性,项目采用了独创的普通路由—管理路由模式管理普通页面和管理页面,很大程度上解决管理后台暴露问题,避免后台。
根据学生学习和生活以及学生管理部门的现实需求,开发校园助手的实用功能如:
校内维修、兼职信息管理、志愿者信息管理、勤工检学管理等。
2、项目的特色
本项目开发一个校园助手作为一个主要的项目,此外还使用了自主开发的框架,区别于其他项目使用其他商用框架,增加了项目组成员深入理解专业知识和开发的流程,有助于成员对专业知识的理解和应用.
项目采用了PHP7编码,校园助手针对手机APP下载和升级方面的不便,开发一个校园助手。
这在开发技术上有创新。
此外,校园助手基于的框架完全由自己开发设计,能够更加深入的了解的开发和设计流程。
本项目源自学院学工部勤工助学工作信息化需求,在此基础之上,扩展校园助手的功能,因此,实用性更强,因此,本项目有良好的应用需求背景。
项目的技术路线及预期成果
一、技术路线
本项目的技术路线如下,其中校园助手的实现基于优化后的Suda框架。
二、预期的成果
1.完成校园助手的需求分析、软件设计等阶段的规格说明书以及测试文档、用户操作指南等文档的编写。
2.完成Suda框架的编码和优化工作。
3.编写完善的基于Suda框架的开发文档和实用指南,方便其他开发人员参考.
4.设计并实现校园助手,测试后移交给勤工检学部门上线。
5.撰写项目开发。
申请Suda框架和校园助手的软件著作权。
结题报告。
年度目标和工作内容(分年度写)
1. 2017年4月-2017年5月 围绕校园助手开展文献调研,学习敏捷开发方法和管理方法,制定项目开发计划。
2。
2017年5月-2017年6月 开展需求分析,完成需求规格说明书.
3。
2017年7月-2017年8月开展软件设计,包括体系架构设计、界面设计、数据库设计等.
4.2017年8月—-2018年9月 基于Suda框架进行编码及测试,编写测试报告.
5。
2017年9月- 校园助手上线、运行及维护。
6。
2017年10月—2018年1月 优化Suda框架,迭发校园助手
7.2018年2月--2018年4月撰写研究,申请软件著作权.撰写结题报告,结题.
指导教师意见
本项目源自学院学工部勤工助学工作信息化管理的现实需求,有比较好的应用背景;本项目组采用自主开发的框架设计并实现校园助手,完成本项目研究,可以培养学生的框架开发技术能力;此外,本项目具有较好的基于专业学习的创新特点。
同意申报。
签字:
日期:
注:
本表栏空不够可另附纸张.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XX 大学 生生 讨论 性学 创新 实验 计划