java课程设计英汉词典.doc

上传人:大张伟 文档编号:6059231 上传时间:2020-09-02 格式:DOC 页数:22 大小:235.50KB
返回 下载 相关 举报
java课程设计英汉词典.doc_第1页
第1页 / 共22页
java课程设计英汉词典.doc_第2页
第2页 / 共22页
java课程设计英汉词典.doc_第3页
第3页 / 共22页
java课程设计英汉词典.doc_第4页
第4页 / 共22页
java课程设计英汉词典.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《java课程设计英汉词典.doc》由会员分享,可在线阅读,更多相关《java课程设计英汉词典.doc(22页珍藏版)》请在三一文库上搜索。

1、第一章 课程设计的目的与要求1.1、 课程设计目的通过面向对象程序设计课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出来,并掌握继承与派生,基类、虚函数和多态性的概念。通过这次课程设计掌握面向对象的编程思想,为后续课程打下基础。培养学生实际操作能力和团结协作能力,为以后的工作打下坚实的基础。1.2、 课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题

2、;对此能够较好地理解和掌握,能够进行简单的分析和判断,能编写具有良好风格的程序,掌握java程序设计的基本技能和面向对象的概念和方法。第二章 课程设计内容2.1 背景介绍电子引词典是一种将传统的印刷词典转成数码方式、进行快速查询的数字学习工具。电脑辞典以轻便易携、查询快捷、功能丰富等特点,成为21世纪学生学习生活、社会人士移动办公的掌上利器。电脑辞典主要有五大板块功能,分别为:辞典查询学习功能、电子记事功能、计算功能、参考资料功能以及数据传输功能。目前市场上的电子辞典内置的辞典有学习词典如英汉、雅思等,也有专业词典如电子、医药等。不同的消费者应根据自己的实际情况选择最适合自己的电子辞典,标准的

3、电子辞典内置英汉、汉英、英英、雅思、托福等学习型词典,是为大学、高初中以及小学生量身定制的学习辞典。2.2技术背景运用Java语言描述各种类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。第三章 需求分析3.1 现状的分析 当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要性也逐渐体现了出来,主要体现在以下几个方面:数字化是数字计算机的基础,数字化是软件技术的基础,是智能技术的基础,数字化是信息社会的

4、技术基础,数字化是信息社会的经济基础。词典作为一种为大众服务的工具书,已经渐渐退居二线了,进而出现了另一种查找方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具,那就是电子词典,应该说这是一个新旧交替的过程,电子词典取代传统词典只是时间的问题。 所以说电子词典的发展前景是明朗的,电子词典生产厂家也如同雨后春笋般崛起了。3.2 功能需求分析 本系统在单词查阅方面主要完成了英译汉、汉译英、单词发音功能;在系统性能方面主要完成了单词库的插入、修改、删除功能以及帮助系统。3.3 模块功能介绍 该模块的主要功能为:由于将组员所做的各模块组合在一起。使用户可以在一个界面下调用组内成员的功能模

5、块。即放便用户使用又方便用户的学习。而且不但可以通过菜单栏调用各功能模块,还可以通过按钮调用。 主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。 3.3.2英译汉功能 该模块的主要功能为:当用记遇到陌生的单词或记不清解释的单词时,用户可以通过本功能查找,还通过本模块完成单词的再一次记忆。 3.3.3汉译英功能 该模块的主要功能为:当用户进行汉译英翻译时难难免遇到不会的词或记不请的记。这时用记就可以通过本功能实现词汇的查找。它不但可以查到想要查的词还可以找到和该词相关的单词3.4 数据库需求分析 目前电子词典的

6、应用很广泛,其体积小、价格低、实用性强,作为学习工具,有着很广泛的市场。在以前,同学们学习英语时都要用人工的方法去查阅生词,不仅浪费了大量的学习时间,学习效率无法提高。可以说,查阅英语生词成为了很多学习英语同学在学习方面的瓶径。电子词典的出现,就是针对这一问题。这里的设计就是实现英汉互译、为了体现它的可扩展性,使用者也可以自己添加、删除或修改其单词库。 下面是数据库表设计: 3.5 系统的数据流程分析 数据流程是数据的采集、输入、处理、加工和输出的全过程。信息原始数据经采集后,输入计算机系统,进行模式或统计运算,或按用户的特殊要求编制某种专门程序来加工处理数据,然后输出结果数据。输出结果一般都

7、应说明或反映某一领域内客观事物自然属性的特性和规律性。 系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析。它侧重于从业务全过程的角度进行分析。分析的主要内容是:业务和数据的流程是否通畅,是否合理;数据、业务过程和实现管理功能之间的关系;老系统管理模式改革和新系统管理方法的实现是否具有可行性等等。系统分析的目的是将用户的需求及其解决方法确定下来,这些需要确定的结果包括:开发者关于现有组织管理状况的了解;用户对信息系统功能的需求;数据和业务流程;管理功能和管理数据指标体系;新系统拟改动和新增的管理模型等等。系统分析所确定的内容是今后系统

8、设计、系统实现的基础。 分析电子词典的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,本系统的主要数据的工作流包括以下几个方面: (1) 英汉词典; (2) 汉英词典; (3)添加词汇;(4)修改词汇 (5)删除词汇。 汉译英流程图英译汉流程图 3.6 数据项 数据项又称数据元素,数据项是构成数据的最小单位,是数据记录中最基本的、不可分的有名数据单位。数据项可以是字母、数字或两者的组合。通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。 本系统的数据项的定义如下:数据结构的定义 数

9、据结构描述了某些数据项之间的关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成;还可以由若干个数据项和数据结构组成。数据结构名称:英文单词含义说明:用户需要输入的英文单词数据结构组成:由英文字母组成数据结构名称:汉语词汇含义说明:用户需要输入的汉语词汇数据结构组成:由中文组成数据结构名称:添加单词 含义说明:添加单词库中没有的单词数据结构组成:由英文字母组成 数据结构名称:修改注释含义说明:更新单词注释数据结构组成:由中文以及英文字母组成第四章 系统设计4.1 系统的总体设计 4.1.1系统的功能模块设计 系统模块设计分为3大项,分别是:文件模块,编辑模块和帮助模块。 1.文

10、件模块: 文件模块分为4小项:汉译英模块,汉译英模块,备份词库模块,退出系统模块。 2.编辑模块: 编辑模块分为3小项:添加词汇模块,添加词汇模块,删除词汇模块。 3.编辑模块: 编辑模块分为2小项,分别是:帮助模块,关于模块。 下面是系统的功能模块图4.2 系统的详细设计 4.2.1概念设计 对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。 概念设计即是利用设计概

11、念并以其为主线贯穿全部设计过程的设计方法。概念设计是完整而全面的设计过程,它通过设计概念将设计者繁复的感性和瞬间思维上升到统一的理性思维从而完成整个设计。如果说概念设计是一篇文章,那么设计概念则是这篇文章的主题思想。概念设计围绕设计概念而展开,设计概念则联系着概念设计的方方面面。下面是各模块的E-R图: 4.3 系统的物理设计 数据库物理设计阶段的任务是根据具体计算机系统(硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。 为了设计数据库的物理结构,设计人员必须充

12、分了解所用硬件的内部特征;充分了解数据系统的实际应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。数据库的物理结构设计大致包括:确定数据的存取方法、确定数据的存储结构。 物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。 对于数据库查询事务,需要得到如下信息:1.要查询的关系。 2.查询条件(即选择条件)所涉及的属性。 3.连接条件所涉及的属性。4.查询的投影属性。 对于数据更新事务,需要得到如下信息: 1.要更新的关系。 2.

13、每个关系上的更新操作的类型。 3.删除和修改操作所涉及的属性。 4.修改操作要更改的属性值。 5.确定数据库的存储结构。 6.确定系统存储参数的配置。第五章 系统设计5.1 算法方面的问题 起初连接数据库的语句全部都是在调用页一句一句的书写,这样一来不仅做了很多重复的工作,而且使页面看起来很繁琐,经过翻阅书籍发现可以将连接数据库的语句统一放到一个页面里,然后在需要调用连接数据库语句的页面调用就可以了,这样既节省时间,又避免出现书写错误。 5.2 字符串方面的问题 在测试数据查询模块时,发现对字符串的比较存在大小写之分,所以要先将要比较的两个字符串转化成相同的格式或者强行限制输入的字符串大小写相

14、同,然后再进行比较;如果查询的结果为空,那么应该给出提示信息,这样才能真正做到人机界面友好。 5.3 系统的实现 5.3.1主界面功能实现 在此模块内,用户如果想使用组内其他成员的功能时,有两种实现方法。一种是在编辑菜单下选择添加词汇;另一种是通过主界面下面的按钮调用其他成员的功能模块。主界面主要由主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果下面是部分程序源代码:主要方法包括:(1)页面的设置import java.awt.*;import .*;import java.sql.*;import java.

15、awt.event.*;import javax.swing.JOptionPane;import java.io.*;import sun.audio.*;class cidian extends Frame implements ActionListenerMenuBar menubar=new MenuBar();/菜单Menu fileMenu,editMenu,helpMenu;MenuItem fileenglish,filechinese,exit,editAdd,editmod,editDel;TextField inputtext;TextArea txt;Label lab

16、el1,label2;Button btn1;Panel p,p1,p2,p3;cidian()super(电子词典);setBounds(200,300,350,400);setMenuBar(menubar);fileMenu=new Menu(词典类型);editMenu=new Menu(编辑词典);fileenglish=new MenuItem(英汉词典);filechinese=new MenuItem(汉英词典);exit=new MenuItem(退出);editAdd=new MenuItem(添加词汇);editmod=new MenuItem(修改词汇);editDel

17、=new MenuItem(删除词汇);menubar.add(fileMenu);menubar.add(editMenu);fileMenu.add(fileenglish);fileMenu.add(filechinese);fileMenu.addSeparator();fileMenu.add(exit);editMenu.add(editAdd);editMenu.add(editmod);editMenu.add(editDel);inputtext=new TextField(,10);txt=new TextArea(10,10);label1=new Label(输入要查询

18、的英语单词:);label2=new Label(查询结果:);btn1=new Button(查询);p=new Panel(new BorderLayout();p2=new Panel(new FlowLayout(FlowLayout.LEFT,5,0);p2.add(label1);p2.add(inputtext);p2.add(btn1);add(p2,North);p.add(label2,North);p.add(txt,Center);add(p,Center);setVisible(true);setResizable(false);validate();fileengl

19、ish.addActionListener(this);filechinese.addActionListener(this);exit.addActionListener(this);editAdd.addActionListener(this);editmod.addActionListener(this);editDel.addActionListener(this);btn1.addActionListener(this);运行结果:(2)查询功能实现public void Listwords() throws SQLException/查询实现过程String cname,ename

20、;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)Connection Ex1Con=DriverManager.getConnection(jdbc:odbc:words,);Statement Ex1Stmt=Ex1Con.createStatement();ResultSet rs=Ex1Stmt.executeQuery(SELECT * FROM words);boolean boo=false;while(boo=rs.next()=true)ename=rs.getStri

21、ng(英语);cname=rs.getString(汉语);if(ename.equals(inputtext.getText()&label1.getText().equals(输入要查询的英语单词:)txt.append(cname);break;else if(cname.equals(inputtext.getText()&label1.getText().equals(输入要查询的汉语词语:)txt.append(ename);break;Ex1Con.close();if(boo=false)JOptionPane.showMessageDialog(this,查无此单词!,警告,

22、JOptionPane.WARNING_MESSAGE);运行结果:(3)添加功能实现:public void addwords() throws SQLException/向数据库添加新词汇System.out.println(inputtext.getText();System.out.println(txt.getText();String cname,ename;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)Connection Ex1Con=DriverManager.get

23、Connection(jdbc:odbc:keshe,);Statement Ex1Stmt=Ex1Con.createStatement();ResultSet rs=Ex1Stmt.executeQuery(SELECT * FROM keshe);boolean boo=false;while(boo=rs.next()=true)ename=rs.getString(word);cname=rs.getString(chinese);System.out.println(ename + ename);if(ename.equals(inputtext.getText()&cname.e

24、quals(txt.getText()System.out.println(2 + boo);JOptionPane.showMessageDialog(this,此词汇已存在!,警告,JOptionPane.WARNING_MESSAGE);break;System.out.println(3 + boo);System.out.println(aa1);if(boo=false)Ex1Stmt.executeUpdate(INSERT INTO keshe (word,chinese) VALUES (+inputtext.getText().trim()+,+txt.getText().

25、trim()+);JOptionPane.showMessageDialog(this,添加成功!,恭喜,JOptionPane.WARNING_MESSAGE);Ex1Con.close();运行结果:(4)更新功能实现:public void modwords() throws SQLException/修改词库中记录String ename;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)Connection Ex1Con=DriverManager.getConnection(j

26、dbc:odbc:keshe,);Statement Ex1Stmt=Ex1Con.createStatement();ResultSet rs=Ex1Stmt.executeQuery(SELECT * FROM keshe);boolean boo=false;while(boo=rs.next()=true)ename=rs.getString(word);if(ename.equals(inputtext.getText()Ex1Stmt.executeUpdate(UPDATE keshe SET chinese=+txt.getText().trim()+ WHERE word=+

27、inputtext.getText().trim()+);JOptionPane.showMessageDialog(this,记录修改成功!,恭喜,JOptionPane.WARNING_MESSAGE);break;Ex1Con.close();if(boo=false)JOptionPane.showMessageDialog(this,不存在此单词!,警告,JOptionPane.WARNING_MESSAGE);运行结果:(5)删除功能实现:public void delwords() throws SQLException/删除词库中记录SuppressWarnings(unuse

28、d)String cname,ename;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)Connection Ex1Con=DriverManager.getConnection(jdbc:odbc:keshe,);Statement Ex1Stmt=Ex1Con.createStatement();ResultSet rs=Ex1Stmt.executeQuery(SELECT * FROM keshe);boolean boo=false;while(boo=rs.next()=t

29、rue)ename=rs.getString(word);cname=rs.getString(chinese);if(ename.equals(inputtext.getText()Ex1Stmt.executeUpdate(DELETE FROM keshe WHERE word=+inputtext.getText().trim()+);JOptionPane.showMessageDialog(this,成功删除记录!,恭喜,JOptionPane.WARNING_MESSAGE);break;Ex1Con.close();if(boo=false)JOptionPane.showMe

30、ssageDialog(this,不存在此单词!,警告,JOptionPane.WARNING_MESSAGE);运行结果:第六章 课程设计总结经过了一个星期的时间,利用Java开发的电子词典程序终于完成了。本程序是针对其相关企业现状的分析之后,确定了程序涉及的领域,包括了界面设计、功能设计、数据库设计等,是一个具有实际应用意义的程序。经过这次的课题的设计与实现,尽管遇到了很多很多难题,但是让我让我更加受益的是在这次课程设计中得到的经验、心得和锻炼。这让我发现编译程序的过程其实就是不断解决问题的过程,从中也感受到了编写软件的乐趣,一个人永远有学不完的知识,就算开发软件的各项知识都学会了,但在实

31、际开发过程中仍然会遇到不少问题,这是就要做到以下这两点:一个是“查”,另一个则是“问”。通过仔细的查阅资料和询问老师以及同学,最终解决了不少的问题。这也是使我认识到解决问题一方面依靠外界的帮助,更重要的是依靠自己的能力。这次课程设计给我以前学过的知识做了一个总结,为我深入学习编程做了铺垫。由于时间以及其它方面的原因,我设计的程序只完成了几个重要的功能的实现,依然存在着不少问题和缺陷,比如说:用户界面设计不够美观,异常出错处理功能比较差等多方面问题,这还需要在以后的学习中加以改进,希望以后能够做的更成功。第七章 参考文献1 刘宝林 Java程序设计与案例 北京:高等教育出版社2 耿祥义 java大学实用教程 北京:电子工业出版社3 马俊,范玫 Java语言面向对象程序设计 北京: 机械工业出版社

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1