电子词典课程设计说明书.docx
《电子词典课程设计说明书.docx》由会员分享,可在线阅读,更多相关《电子词典课程设计说明书.docx(11页珍藏版)》请在冰点文库上搜索。
电子词典课程设计说明书
目 录
1引言
1.1课程设计选题
《单词记忆APP》
1.2项目的目的和意义
随着软件建设不断的快速发展,学生通过软件自学已经成为现实。
软件教育是以学生为中心,它不受时间、地点、次数及进度的限制,学生能自由利用网上的资源等优点进行学习,因此软件教育成为教育方式的发展新趋势,而教育也随之进入软件新时代。
因此发展软件自学教育是充分而必要的。
大学高校作为高等教育的最主要阵地,发展网络教育责无旁贷,同时英语的普及程度日益抗大,而建设在线背单词软件成为高校的发展与进步的新需要。
高校应该充分利用人才资源与技术优势,为软件网络教育建设服务。
随着互联网的发展,大多说学习通过网络查询资料,为了方便用户学习英语,提供一款软件方便用户记忆英语单词,同时可以查看例句和欣赏一些优美的名言名句和推荐一些有关英语的音乐或电影等。
1.3技术可行性研究
本人设计这个软件使用ionic框架,开发语言主要有java、Mysql、Angularjs等,使用java的servlet技术作为服务器端开发语言。
MySql数据库技术可以实现服务器端与数据库的双向交互。
使用Angularjs的$http请求与服务端进行交互。
通过sqlite数据库存储词库在本地,通过安装js访问sqlite的插件读取本地数据。
需求分析
2.1功能需求
查询单词:
根据用户输入查询的单词从词库查询出单词的信息。
背单词:
背单词又分,顺序记忆、乱序记忆和单词计划制定。
单词朗读,听力训练
背单词会通过超链接读取单词的读音。
查看进度:
可以查看背单词的进度(天数、每天的量、总量)
每日例句:
每天会从推荐一句有关英文的名言例句。
每日推荐:
每天从推荐一首有关英文的歌或电影等。
2.2系统的开发运行环境
本系统开发平台:
Java+MySql+HTML5
本系统集成开发环境:
Eclipse+SDK+Tomact7.0
本系统运行环境:
windows7+android
总体设计
3.1系统功能模块设计
1、用户管理
登录:
根据用户输入的用户名和密码传送到网络数据库进行验证,验证成功进入主页。
注册:
用户点击注册进入注册页面输入用户名、密码、邮箱、学历点击注册首先在前台验证两次密码是否相同和邮箱的格式是否正确,都正确后传入服务器端验证输入的用户名是否被使用,没有被使用写入数据库返回提示注册成功,回到登录页面,否则显示用户名已被使用或注册失败。
信息查询:
点击我的信息查看我的信息,首先验证是否登录,若登录显示我的信息,否则提示先登录。
注销账户:
点击查看我的信息,点击注销账户注销。
信息修改:
点击查看我的信息,点击修改信息进入修改信息页,信息修改后点击确定提交修改。
2、单词管理
背单词:
点击开始学习,读取计划表中制定的背单词计划,计划未制定需要先制定计划,将每日计划读取的单词存储到一个临时表中,然后再读取单词,背诵一个单词后修改其状态,以记录该单词已背。
制定背诵计划:
点击制定计划,在计划页面输入相关数据,点击确定提交到服务器,服务器端首先判断该用户是否已制定计划,已经制定的话修改原计划,未制定在计划表中插入一条新的记录。
查询单词:
在查询框内输入要查询的单词,点击查询,将查询的结果显示,首先显示单词的意思读音等,通过用户点击查看更多显示相关例句。
进度统计:
点击背单词,将今天要背的数量已背的数量和未完成的数量显示处理。
每日例句和推荐:
进入主界面,首先向服务器请求今日的数据,服务器端将数据库中最新的名言名句和最新推荐返回到客户端显示。
3.2数据库设计
单词App数据库通过建立两个数据库,一个主要存储数据词库,另一个主要存储用户信息。
用户的计划数据则是每个数据库都有存储,目的在于通过服务器端和客户端的双存储既起到备份作用,又可用于一份用户计划可跨设备及平台使用。
1.本地数据库
词库表(乱序):
单词Id,单词英语拼写,音标,汉语意思,例句及读音超链接,单词状态。
用户计划表:
ID,用户名,每日数量,背诵的方法,选择的词库。
单词存储临时表:
属性与词库表相同,只存储每条计划中需要背诵的单词。
2.网络数据库
用户计划表:
ID,用户名,每日数量,昨天背诵最后的ID,背诵的方法,选择的词库。
用户表:
ID,用户名,用户学历,用户邮箱,用户登录密码。
案例表:
用例存储最新的名言名句和一些相关推荐。
词库表:
ID,词库数据库名,词库名,服务器端存储位置。
详细设计与实现
4.1登录模块
据用户输入的用户名和密码传送到网络数据库进行验证,验证成功进入主页
4.2注册模块
用户点击注册进入注册页面输入用户名、密码、邮箱、学历点击注册首先在前台验证两次密码是否相同和邮箱的格式是否正确,都正确后传入服务器端验证输入的用户名是否被使用,没有被使用写入数据库返回提示注册成功,回到登录页面,否则显示用户名已被使用或注册失败。
4.3自我信息展示模块
点击我的信息查看我的信息,首先验证是否登录,若登录显示我的信息,否则提示先登录点击查看我的信息,点击注销可以账户注销。
点击查看我的信息,点击修改信息进入修改信息页,信息修改后点击确定提交修改。
4.4背单词模块
点击开始学习,读取计划表中制定的背单词计划,计划未制定需要先制定计划,将每日计划读取的单词存储到一个临时表中,然后再读取单词,背诵一个单词后修改其状态,以记录该单词已背。
在查询框内输入要查询的单词,点击查询,将查询的结果显示,首先显示单词的意思读音等,通过用户点击查看更多显示相关例句。
进度统计:
点击背单词,将今天要背的数量已背的数量和未完成的数量显示处理。
4.5计划制定模块
1.功能设计
点击制定计划,在计划页面输入相关数据,点击确定提交到服务器,服务器端首先判断该用户是否已制定计划,已经制定的话修改原计划,未制定在计划表中插入一条新的记录。
2.界面设计
首先设计标题栏,设计位置居中,大小,背景填充,然后设计样式及内容区,引入PlanList的AngularJS 的指令,在其中放入一个list,内容为第一个文本框输入每日数量,第二个是选择词库的文本框,后方为下拉列表,选择项包括四级,六级,第三个是选择背诵方法的文本框,形式同上,选择项包括顺序,乱序,输入的数据和选择的数据都将传至服务器,下面的div属性设为padding,包括保存和取消两个按钮。
底部为主页,背,我的三个跳转选项。
另外还设计了单词记录的界面
3设计实现方法(或重要代码段)
计划方法的实现,使用Angularjs的$http请求与服务端进行交互,在界面设计的Angularjs的controller标签通过js中的方法通过http请求与服务端交互,该范围的sites,liberary为设置选择项,cancel设为返回首页的方法,即点击取消按钮返回主页,点击保存按钮的方法为:
首先从sessionStorage取到该用户的uname,再将用户的uname,在页面输入的num,选择的lib,way这些参数传至服务器,判断服务器是否有接受这些值,返回为true时提示保存成功,转至记单词的界面,否则显示修改失败,并没有成功接受这些值则显示请求失败,无法正确访问服务器。
.controller("PlanList",function($scope,$http){
$http.defaults.headers.post['Content-Type']='application/x-www-form-urlencoded;charset=utf-8';
$scope.sites={
顺序:
"0",
乱序:
"1"
};
$scope.liberary={
四级:
"四级",
六级:
"六级"
};
$scope.cancel=function()
{
self.location='index.html';
}
$scope.submit=function(){
varuname=sessionStorage.getItem("user");
varpostData="?
uname="+uname+"&"+"num="+$scope.num+"&"+"lib="+$scope.lib+"&"+"way="+$scope.way;
varurl="http:
//15rq136357.iask.in/RemberWords/InsertPlanServlet.do"+postData;
$http.post(url).success(function(data){
varb=data;
if(b=="true"){
alert("保存成功");
self.location='remberWords.html';
}else{
alert("修改失败");
}
}).error(function(){
alert("请求失败");
});
}
})
4调试与测试
测试成功。
4.6数据库模块
单词App数据库通过建立两个数据库,一个主要存储数据词库,另一个主要存储用户信息。
用户的计划数据则是每个数据库都有存储,目的在于通过服务器端和客户端的双存储既起到备份作用,又可用于一份用户计划可跨设备及平台使用。
4.7主页模块
进入主界面,首先向服务器请求今日的数据,服务器端将数据库中最新的名言名句和最新推荐返回到客户端显示。
4.8网络服务模块
关于angularjs提交请求到JavaServlet服务器程序的后台逻辑的相应处理
小结和展望
第一次接触PhoneGap/Cordova/Ionic,他们都是用来开发移动应用的SDK,与传统技术不同的是,他们提供了跨平台的解决方案,使用web开发技术(HTML,JS,CSS)开发手机应用,一套代码通过他们编译即可获得不同手机平台的app安装文件,这个特点十分诱人。
在本次实验中,主要参与在此平台上进行界面设计和JS的编写,对于ionic的css和js的编写有了新的体会并且掌握了如何高效地设计界面和JS方法的编写,对于链接服务器的方法也有了一定的了解,经过这次锻炼对Ionic技术创建跨平台的移动app构造一个完整的程序有了一个整体的认识,锻炼了我写css/js的基本能力,和整体的思维。
并且对如何建立一个ionic项目有了一个完整清晰的流程解决图。
相信我在以后的学习中能够受益匪浅,更进一步。
参考文献
[1]孙家广,杨长青.计算机图形学[M].北京:
清华大学出版社,1995.
[2]李旭东,宗光华,毕树生等.基于J2EE的排课系统关键问题研究[J].华北科技学院报,2002,28(3):
249-252.(宋体,小四号,1.5行距)