方硕瑾
摘 要: 针对中小学教辅书籍泛滥的乱象,设计一种高互动性和实效性的教辅书籍点评系统。采用Spring MVC设计模式开发了移动app客户端和Web端后台管理系统,主要包括用户管理、教辅书籍查询和管理、教辅点评和管理、推荐教辅书籍等功能。利用该系统,学生、家长和老师可对各类教辅书籍进行点评,同时可推荐口碑好、质量高、价格便宜的教辅书给学生和家长,为学生在海量的教辅书中选择适合自己的书籍提供重要的参考依据,实现出版商和学生共赢,对教育主管部门规范教辅书市场具有重要的意义。
关键词: 教辅书籍; 点评系统; 移动app; 推荐教辅
中图分类号:TP3 文献标志码:A 文章编号:1006-8228(2015)08-39-03
Design and implementation of supplementary books review system based on mobile app
Fang Shuojin
(Zhejiang Business College, Hangzhou, Zhejiang 310053, China)
Abstract: For primary and secondary school supplementary books flooding chaos, design a high interactive and effective of supplementary books reviews system. Mobile client app and the Web site background management system is developed with the application of spring MVC design patterns, including functions of user management, supplementary books query and management, supplementary comment and management, supplementary books recommendation etc. Using the system, students, parents and teachers can make comments on all kinds of supplementary books, and the system can recommend reputational, high quality, inexpensive supplementary books to students and their parents, for students to provide important reference basis in selection of their books from the massive supplementary books, realize win-win of publishers and students, which has important significance for education departments to regulate supplementary book market.
Key words: supplementary books; review system; mobile app; recommend supplementary
0 引言
为了能使孩子进入重点学校学习,家长千方百计地提高孩子学习成绩。越来越多的出版社和图书经销商正是看中了这一庞大的消费群体,使得奥数、作文、同步训练、小升初、中考、高考等教辅书泛滥[1-2]。近几年教育部每年都会下发关于规范中小学教辅材料的通知,但收效甚微。教辅书籍种类繁杂、内容同质化、质量良莠不齐、价格虚高、市场混乱、使用缺乏规范的乱象没有得到根本遏制,国内各大网上书店如当当、卓越、豆瓣等均没有专门对各类教辅书籍进行分类评价,为学生和家长购书带来一定的困惑[3]。因此,有必要对各类中小学教辅书籍制定一个合理的评价机制,规范教辅书籍市场,能够让学生、家长及学校老师对每一种类每一本教辅书的质量、价格以及权威性有更加直观和准确的判断,免除学生因选错教辅书毁掉学生宝贵学习时间和精力的后顾之忧。
随着移动互联网的发展和智能手机的普及,使得利用移动客户端软件对教辅书籍进行点评成为可能。本文针对中小学教辅书籍泛滥的乱象,设计一种高互动性和实效性的教辅书籍点评系统,采用Spring MVC设计模式[4]开发了移动客户端和Web端管理系统,主要书籍信息展示和管理、用户管理、用户点评和管理、书籍推荐、广告管理、教辅评价反馈等功能。利用该系统,学生、家长和老师可对各类教辅书籍进行点评,同时可推荐口碑好、质量高、价格便宜的教辅书给学生和家长,为他们在海量的教辅书中选择适合自己的书籍提供重要的参考依据,实现出版商和学生共赢,对教育主管部门规范教辅书市场具有重要的意义。
1 系统设计
1.1 系统总体设计
系统的业务流程为管理员录入教辅书籍、年级、科目信息等基础数据,学生或家长利用移动app客户端通过注册/登录,获取教辅书籍信息,并对教辅书籍进行点评或查看他人的评价,业务流程如图1所示。
[学生/家长][管理员][打开Android应用][查看教辅列表][查看书籍详细信息][查看他人评价][登录/注册][点评教辅][退出系统][查询教辅] [登录系统][录入基础数据][录入教辅数据] [教辅更新][查看信息][用户管理][退出系统]
图1 系统业务流程图
1.2 功能模块设计
教辅书籍点评系统包括移动app客户端和Web后台管理系统,其中移动app客户端的用户主要是学生、家长和老师,主要包括用户中心、查询教辅、点评教辅和推荐教辅等模块,后台管理主要包括基础数据管理、用户信息管理、教辅信息管理和点评信息管理等功能模块,系统的主要功能模块如图2所示。
[教辅书籍点评系统][移动app客户端][后台管理][用户中心模块][查询教辅模块][点评教辅模块][推荐教辅模块][基础数据管理][用户信息管理][教辅信息管理][点评信息管理]
图2 系统功能模块图
⑴ 用户中心模块包括用户注册、登录、我的点评、我订阅的教辅等功能。
⑵ 查询教辅功能为用户提供教辅的年级、科目、书名等关键字进行查询,结果可显示该教辅的书籍名称、封面、科目、年级、出版社、作者、价格、简介以及评价等信息。
⑶ 点评教辅包括点评、查看评价以及点赞等功能。在书籍详细页面,用户可以点击封面下的评分条来评分,评价教辅时可以输入想要评论的内容,在输入框底部出现上传图标,让用户提交评论。查看评价时,会弹出泡泡框,查看用户对于该书籍的评价,评价信息包括评价用户、评价星级、评价时间、评价内容。点赞功能是当前用户可对其他用户的评论点击“顶”或“踩”来表示赞同或反对。
⑷ 推荐教辅是系统根据用户对某一教辅书籍的评价数和口碑、价格等因素自动向用户推荐的教辅,凡是达到系统设定的评价数、用户评价口碑好、价格又适中的教辅,可分科目、年级、出版社等排序向用户进行推荐。
⑸ 基础数据管理包括科目信息、年级、评价类型、评价星级等基础数据信息管理。
⑹ 用户信息管理包括对注册用户信息的查询、修改、锁定和注销等功能。
⑺ 教辅信息管理包括对教辅书籍名称、封面、科目、年级、出版社、作者、价格、简介等信息进行添加、修改、上架、下架、统计等功能。
⑻ 点评信息管理包括对用户点评信息的查询、修改、屏蔽、统计等功能。
1.3 数据库设计
依据教辅书籍点评系统的功能需要,至少包括用户表、教辅书籍表、点评表、科目表、年级表等数据表,数据表关系图如图3所示。
[users\&PK\&u_id\&\&u_name
u_pwd
u_type\&][comments\&PK\&c_id\&
Fk1
Fk2\&c_comments
c_time
c_ding
c_cai
b_id
u_id
b_rating\&][books\&PK\&b_id\&
Fk1
Fk2\&b_name
b_author
b_publish
b_price
b_isbn
b_cover
cs_id
g_id
b_intro\&][courses\&PK\&cs_id\&\&cs_name\&][grades\&PK\&g_id\&\&g_name\&]
图3 系统数据表关系结构图
2 移动app客户端实现
本系统包括移动app客户端和Web后台管理系统,其中系统Web后台管理系统采用基于Spring MVC的架构进行设计,运用JSP+AJAX+Spring+JDBC等技术进行开发[5]。移动app客户端是本系统的核心,采用安卓系统实现,自定义UI设计界面效果,利用HttpConnection进行手机端与服务器连接进行数据交互。下面就移动app客户端的实现伪代码和界面进行介绍。
2.1 核心模块实现伪代码
2.1.1 主界面伪代码
protected void onCreate(Bundle savedInstanceState) {
⑴隐藏标题栏,隐藏状态栏;
⑵设置界面文件
setContentView(R.layout.activity_main);
framelayout=(MyFrameLayout) findViewById(R.id.myframe);
⑶设置网络接收器来监控网络状态变化;
⑷设置回调函数来监控服务端断开连接
⑸在任何请求远程服务端之前设置URLConnectionUtil
.setCallBackInterface(this);
⑹从服务端获取初始课程和书籍列表数据
}
2.1.2 访问服务器方法伪代码
public static String connectToServer(String urlAndParam) {
⑴新建URL连接 URL url=new URL(urlAndParam);
⑵读取服务端返回数据并写入到os中,Os.write(data);
⑶把结果字节流转化成字符串String result=os.getResult();
⑷关闭流并返回结果return result;
}
2.1.3 主界面拖动效果伪代码
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX,float distanceY) {
//对滑动偏移判断并进行相关处理
}
//滑动,要求有一定的速度
public boolean onFling(MotionEvent e1, MotionEvent e2,
float velocityX,float velocityY) {
⑴设置velocityX水平滑动速度
Log.d(tag,"fling"+velocityX+"---"+velocityY+"-----"+e1
.getRawX()+"----"+e2.getRawX());
⑵如果menu覆盖,则显示content
⑶如果velocityX速度满足条件或者滑动超过menu视图的一半距离
if((velocityX>SNAP_VELOCITY||velocityX<-SNAP_VELOCITY) ||
(content.getLeft()>=menu_width/2|| (menu_width-content
.getLeft())<=menu_width/2)) {
显示或隐藏菜单栏
}
return false;
}
2.1.4 显示评论的泡泡效果
public boolean initPopWindow() { //初始化弹出泡泡
⑴从服务端获取某一本教辅书籍的评论信息
String cInfo=URLConnectionUtil.connectToServer(getComment.toString());
⑵结果为空表示获取过程出错,直接结束
⑶为泡泡内容添加数据
if(cInfo==null) {
return false;
} else {
mCAdapter .setData();
}
⑷显示或隐藏泡泡弹出框
if(popWin==null) {
popWin=new PopupWindow(relativeLayout,
LayoutParams.FILL_PARENT, LayoutParams
.WRAP_CONTENT);
}
return true;
}
2.2 核心模块实现界面
用户打开移动app客户端进入主界面,可显示按评分降序排列的教辅书籍列表,如图4(a)所示。每一条信息显示书籍封面、书名、评分等信息。右拖拉或者点击左上角主界面向的按钮,书籍列表主界面会向右移动,如图4(b)所示。用户可以选择某一年级确定想要查询书籍的范围,然后可以选择已经分类的科目信息来查询教辅书籍,也可以输入关键字查询教辅书籍信息。
点击教辅书籍列表中的某条时,则会跳转到书籍详细信息界面,如图5(a)显示该条教辅书籍的详细信息,如书名、封面、作者、出版社、价格、ISBN、用户评分初始平均值以及简介等。在书籍详细信息界面中点击“评价”标签,则会弹出泡泡来显示其他用户对该书的评分和评价,点击每条评论的“顶”或“踩”来表示支持还是反对该评论,如图5(b)所示。若用户对该教辅书籍进行点评,可在输入框内输入自己的评语,然后点击图标上传评论即可,如图5(c)所示。
(a) 首页 (b) 拖动过程图
图4 移动app客户端主界面