英语学习助手设计报告.docx
- 文档编号:10355136
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:18
- 大小:419.29KB
英语学习助手设计报告.docx
《英语学习助手设计报告.docx》由会员分享,可在线阅读,更多相关《英语学习助手设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
英语学习助手设计报告
数据库课程设计报告
设计题目:
英语学习助手系统
指导教师:
卢照
专业:
网络工程
班级:
1404
学生:
泽(2014100409)
王慧(2014100406)
段慧强(2014100457)
儒(2014100405)
徐世豪(201410032)
需求分析
随着社会的高速发展,社会对我们日常的要求也是越来越高,比如说掌握一门外语,外语的学习中,其中英语是不可或缺的,对英语的学习及其重要,因此,我们针对这一社会现状,特别开发了一个小巧的英语在线学习助手,由于我们是一个web程序,所以用户只需要有浏览器,可以接上网络,那么就可以很方便的使用我们的的学习助手。
DFD数据流图
顶层DFD
一层DFD
功能设计:
功能分析:
1)实现英语单词的录入、修改、删除等基本操作。
2)实现常用英语单词例句的录入、修改、删除等基本操作。
3)实现英语单词检索、翻译等。
4)常用英语单词例句检索。
5)能够检索出短文极其翻译对照表。
6)具有数据备份和数据恢复功能。
SC结构图
数据库设计:
ER图
数据字典
User表用于用户的登陆
数据项
id唯一标识
登陆名
登陆密码
昵称
角色id
Role表角色分类
数据项
id唯一标识
角色名称
Menu表系统的功能
数据项
id唯一标识
功能名称
功能路径
功能pid
menu_role表角色对应的功能
数据项
id唯一标识
角色id
功能id
Word表词汇的存储
数据项
id唯一标识
英文
中文
词汇级别
example_sentence表短语的存储
数据项
id唯一标识
关键字
例句
翻译
Essay表短文的存储
数据项
id唯一标识
英文
中文
数据库逻辑设计
User
中文说明
字段
类型
说明
id唯一标识
UserID
int(8)NOTNULL
登陆名
loginName
varchar(32)NULL
登陆密码
LoginPassword
varchar(32)NULL
昵称
RealName
varchar(32)NULL
角色id
fkRoleId
int(8)NULL
Role
中文说明
字段
类型
说明
id唯一标识
RoleID
int(8)NOTNULL
角色名称
RoleName
varchar(32)NULL
Menu
中文说明
字段
类型
说明
id唯一标识
MenuID
int(8)NOTNULL
功能名称
MenuName
varchar(32)NULL
功能路径
MenuURL
varchar(128)NULL
功能pid
MenuPid
int(8)NULL
menu_role
中文说明
字段
类型
说明
id唯一标识
MenuRoleID
int(8)NOTNULL
角色id
RoleID
int(8)NULL
功能id
MenuID
int(8)NULL
Word
中文说明
字段
类型
说明
id唯一标识
wordID
int(8)NOTNULL
英文
englishWord
varchar(16)NULL
中文
chineseWord
varchar(16)NULL
词汇级别
lever
varchar(16)NULL
example_sentence
中文说明
字段
类型
说明
id唯一标识
esID
int(8)NOTNULL
关键字
keyWord
varchar(32)NULL
例句
example
varchar(255)NULL
翻译
example_chinese
varchar(255)NULL
Essay
中文说明
字段
类型
说明
id唯一标识
essayID
int(8)NOTNULL
英文
essay
varchar(600)NULL
中文
essay_chinese
varchar(600)NULL
数据库物理实现
Essay表用于学习助手的短文数据存储
example_sentence表用于学习助手的短语数据存储
Word表用于学习助手的词汇数据存储
Users表用于记录学习助手的用户信息
Role表存储学习助手的角色
menu_role表用来储存角色对应的关系
Menu表标明学习助手的拥有的功能
系统实现
软件环境:
Web服务器:
tomcat8.0
数据库:
mysql5.6
开发工具:
eclipse
设计语言:
java
硬件环境
操作系统:
window8.1
Cpu:
interi5
存:
8g
硬盘:
500g
关键代码
词汇处理部分
WebServlet("/WordSer.do")
publicclassWordSerextendsHttpServlet{
privateWordDaoImpldaoImpl=null;
privateLoggerlogger=Logger.getLogger(WordSer.class.getName());
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringtype=RequestUtils.getRequestField(request,"type","");
System.out.println(type);
if(type.equals("")){
showWords(request,response);
System.out.println("请求了用户列表");
return;
}
if(type.equals("addWord")){
addWords(request,response);
System.out.println("插入用户");
return;
}
if(type.equals("findByKey")){
findWordsByKey(request,response);
System.out.println("根据key查询词汇");
return;
}
if(type.equals("updateWord")){
System.out.println("修改词汇");
updateWords(request,response);
return;
}
if(type.equals("delWord")){
System.out.println("删除词汇");
delWords(request,response);
return;
}
}
privatevoiddelWords(HttpServletRequestrequest,
HttpServletResponseresponse){
//TODOAuto-generatedmethodstub
String[]wordIDs=request.getParameterValues("wordID");
System.out.println("wordIDs的长度----------"+wordIDs.length);
Map
if(wordIDs.length!
=0){
daoImpl.delWords(wordIDs);
}else{
map.put("stat","FAIL!
");
map.put("msg","删除用户失败!
");
JsonUtils.response,JsonUtils.getJson(map));
return;
}
map.put("stat","OK!
");
map.put("msg","删除用户成功!
");
JsonUtils.response,JsonUtils.getJson(map));
}
privatevoidupdateWords(HttpServletRequestrequest,
HttpServletResponseresponse){
//TODOAuto-generatedmethodstub
Wordword=newWord();
Map
try{
BeanUtils.copyProperties(word,request.getParameterMap());
System.out.println(word.getEnglishWord()+"++"+word.getChineseWord()+"++"+word.getLever());
daoImpl.updateWord(word);
map.put("stat","OK!
");
map.put("msg","修改用户成功!
");
}catch(IllegalAccessExceptione){
//TODOAuto-generatedcatchblock
map.put("stat","FAIL!
");
map.put("msg","修改用户失败!
");
e.printStackTrace();
}catch(InvocationTargetExceptione){
//TODOAuto-generatedcatchblock
map.put("stat","FAIL!
");
map.put("msg","修改用户失败!
");
e.printStackTrace();
}
JsonUtils.response,JsonUtils.getJson(map));
}
privatevoidfindWordsByKey(HttpServletRequestrequest,
HttpServletResponseresponse){
//TODOAuto-generatedmethodstub
StringtraType="eng";
Stringtra=request.getParameter("tra");
Wordword=null;
if(tra.equals("chi")){
StringenglishWord=request.getParameter("key");
System.out.println("英文--------"+englishWord);
daoImpl=newWordDaoImpl();
word=daoImpl.getWordBykey(englishWord,traType);
}
if(tra.equals("eng")){
StringchineseWord=request.getParameter("key");
System.out.println("汉文--------"+chineseWord);
traType="chi";
daoImpl=newWordDaoImpl();
word=daoImpl.getWordBykey(chineseWord,traType);
}
if(word!
=null){
JsonUtils.response,JsonUtils.getJson(word));
System.out.println("中英互译完成");
}
}
privatevoidshowWords(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
List
daoImpl=newWordDaoImpl();
Pagepage=newPage();
page.setPagesize(Integer.parseInt(request.getParameter("rows")));
page.setPage(Integer.parseInt(request.getParameter("page")));
//page.setRows(daoImpl.getTotal());
log("page页码:
-----------"+page.getPage());
list=daoImpl.showWord(page);
inttotal=daoImpl.getTotal();
Stringjson="{\"total\":
\""+total+"\",\"rows\":
"+JsonUtils.getJson(list)+"}";
System.out.println(json);
JsonUtils.response,json);
}
privatevoidaddWords(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
daoImpl=newWordDaoImpl();
Wordword=newWord();
Map
try{
BeanUtils.copyProperties(word,request.getParameterMap());
System.out.println(word.getEnglishWord()+"++"+word.getChineseWord()+"++"+word.getLever());
daoImpl.addWord(word);
map.put("stat","OK!
");
map.put("msg","插入用户成功!
");
}catch(IllegalAccessExceptione){
//TODOAuto-generatedcatchblock
map.put("stat","FAIL!
");
map.put("msg","插入用户失败!
");
e.printStackTrace();
}catch(InvocationTargetExceptione){
//TODOAuto-generatedcatchblock
map.put("stat","FAIL!
");
map.put("msg","插入用户失败!
");
e.printStackTrace();
}
JsonUtils.response,JsonUtils.getJson(map));
}
}
界面实现
首页登陆图
用户功能界面及功能
管理员的用户管理
管理员的权限管理
词汇管理的添加
词汇管理的修改
课程设计分工:
四号字体编辑
结束语:
四号字体编辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 英语 学习 助手 设计 报告