1、 基于 JAVA 的电子词典项目报告 班 级 : 09软件二班 姓 名 : 温志民 指导教师: 崔蕾 时 间: 10年 12月 13日至 11 年 1 月 7 日 实训报告 2 目录 第一章 需求 分析 . - 1 - 1.1 项目描述 . - 1 - 1.2 需求分析 . - 1 - 1.2.1 业务流程 . - 1 - 1.2.2 系统功能需求 . - 1 - 1.2.3 数据分析 . - 1 - 第二章 开发工具与开发环境 . - 2 - 2.1 Java 开发平台 . - 2 - 2.2 JBuilder2006/Eclipse/Jcreator 开发环境 . - 2 - 2.2.1
2、JBuilder 开发环境 . - 2 - 2.2.2 Eclipse 开发环境 . - 3 - 2.2.3 JCreator 开发环境 . - 3 - 2.3 Microsoft SQL server 2005 数据库 . - 3 - 2.3.1 . - 3 - 第三章 系统设计 . - 3 - 3.1 实现数据库表 . - 3 - 3.2 主要类设计 . - 5 - 3.3 操作界面 . - 7 - 第四章 主要功能实现与部分代码 . - 54 - 3.5 SQLJDBC 配置: sqljdbc4.jar 包 . - 54 - 第五章 程序安装运行 与使用 . - 54 - 5.1 程序安
3、装与运行 . - 54 - 5.2 程序测试 . - 56 - 5.2.1 测试目的 . - 56 - 5.2.2 测试环境 . - 56 - 5.2.3 测试方法与测试过程 . - 56 - 第六章 存在问题与体会 . - 58 - 6.1 存在问题 . - 58 - 6.2 心得体会 . - 58 - 第七章 致谢 . - 59 - 参 考 文 献 . - 60 - 实训报告 - 1 - 第一章 需求 分 析 1.1 项目 描述 该项目设计开发 英文 电子词典,实现用户对 英文 电子词典的使用。该词典能够 帮助用户学习英 文单词,用户可以查询不认识单词,也可由汉语找到相关英语单词,来提高表
4、述自己中文的英语表达意思。 用户 可以自行向词典添加单词,以 备日后的查询使用;也可修改单词的意思,添加随着时代发展出现新的含义和词语,删除已熟练掌握的英语单词。 能够统计出在使用中查询次数最多的单词,并以饼图的形式展现出来。用户查询同时 可以得到英文单词的准确发音 。整个项目的实现能够 帮助用户学习英语,提高用户的英语水平。 1.2 需求分析 1.2.1 业务流程 系统的业务流程概括如下图(图 1-1): 菜 菜 菜菜 菜 菜 菜菜 菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜菜 菜图 1-1 1.2.2 系统功能 需求 用户只需要打入自己要查询的英语单词或者汉字,点击查询就可
5、以查出你要查询的意思,同时还可以添加、删除、 更新 英语单词 ,并统计使用频率最高的五个单词 。 还可以通过题库测试自己的英文水平, 单击发音,还可以读出英语单词的发音。 1.2.3 数据分析 1、数据表 设计 (表 1-1) : 表 1-1 dictionary 表 字段名称 数据类型 字段大小 单词 文本 50 解释 文本 200 统计 数字 长整型 表 1-2 yonghu 表 实训报告 - 2 - 字段名称 数据类型 字段大小 yonghuming nchar 50 password nchar 10 propeg Int 10 第二章 开发工具与开发环境 本项目的运行与开发环境如下:
6、 1、操作系统: windows server2003 或 xp 或其它版本 2、 JDK1.5 3、 JVM 4、 JBuilder2006/Eclipse/Jcreator 5、 Microsoft SQL server 2005 数据库 2.1 Java 开发平台 Java 是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。 Java 不仅可以用来开发大型的应用程序,而且特别合于 Internet 的应用开发。 Java 确实具备了“一次写成,处处运行”的特点, Java 已成为网络时代最重要的编程语言之一。 2.2 JBui
7、lder2006/Eclipse/Jcreator 开发环境 2.2.1 JBuilder 开发环境 JBuilder 进入了 Java 集成开发环境的王国,它满足很多方面的应用, 尤其是对于服务器方以及 EJB 开发者们来说。下面简单介绍一下 JBuilder 的特点: (1)JBuilder 支持最新的 Java 技术,包括 Applets、 JSP/Servlets、 JavaBean 以及EJB(Enterprise JavaBeans)的应用。 (2)用户可以自动地生成基于后端数据库表的 EJB Java 类, JBuilder 同时还简化了EJB 的自动部署功能。此外它还支持 CO
8、RBA,相应的向导程序有助于用户全面地管理 IDL(分布应用程序所必需的接口定义语言 Interface Definition Language)和控制远程对象。 (3)JBuilder 支持各种应用服务器。 JBuilder 与 Inprise Application Server 紧密集成,同时支持 WebLogic Server,支持 EJB1.1 和 EJB2.0,可以快速开发 J2EE 的电子商务应用。 JBuilder 能用 Server 和 JSP 开发和调试动态 Web 应用。 (4)利用 JBuilder 可创建纯 Java2 就用。由于 JBuilder 是用纯 Java
9、语言编写的,其代码不含任何专属代码和标记,它支持最新的 Java 标准。 (5)JBuilder 拥有 专业化的图形调试界面,支持远程调试和多线程调试,调试器支持各种 JDK 版本,包括 J2ME/J2SE/J2EE。 JBuilder 环境开发程序方便,它是纯的 Java 开发环境,适合企业的 J2EE 开发;缺点是一开始人们往往很难把握整个程序各部分之间的关系,对机器的硬件要求较高,比较占用内存,运行速度较慢。 实训报告 - 3 - 2.2.2 Eclipse 开发环境 Eclipse 框架的这种灵活性来源于其扩展点。它们是在 XML 中定义的已知接口,并充当插件的耦合点。扩展点的范围包括
10、从用在常规表述过滤器中的简单字符串,到一个Java 类的 描述。任何 Eclipse 插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse 插件也可以遵从其它插件定义的扩展点。除了解由扩展定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。 Eclipse 的最大特点是它双胞胎接受由 Java 开发者自己编写的开放源代码插件,这类似于微软公司的 Visual Studio 和 Sun 公司 NetBeans 平台。 Eclipse 为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。 Eclipse 软件是一款非常受欢迎的 java 开发工具,国内使用它的 j
11、ava 开 发人员越来越多。 2.2.3 JCreator 开发环境 JCreator 是一个 Java 程序开发工具,也是一个 Java 集成开发环境( IDE)。无论是要开发 Java 应用程序或者网页上的 Applet 元件都可以。在功能上与 Sun 公司所公布的JDK 等文字模式开发工具相比之下来得容易,还允许使用者自定义操作窗口界面及无限Undo/Redo 等功能。 JCreator 为用户提供了相当强大的功能,例如项目管理功能,项目模板功能 ,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编译 器,向导功能以及完全可自定义 的用户界面。通过 JCreator,我们不用激
12、活主文档而直接编绎或运行我们的JAVA 程序。 JCreator 能自动找到包含主函数的文件或包含 Applet 的 Html 文件,然后它会运行适当的工具。在 JCreator 中,可以通过一个批处理同时编译多个项目。 JCreator 的设计接近 Windows 界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK 完美结合,是其它任何一款 IDE 所不能比拟的。它是一种初学者很容易上手的 Java开发工具,缺点是只能进行简单的程序开发,不能进行企业 J2EE 的开发应用。 2.3 Microsoft SQL server 2005 数据库 2.3.1 SQL serve
13、r 2005 系统是 Microsoft 公司于 2005 年 12 月 7 日向全球发布的关系型数据库管理系统( RDBMS),是一个全面的、集成的、端到端的数据解决方案,它为用户提供了更安全可靠和更高效的平台。 SQL server 2005 数据平台包括以下服务组件: 1.数据库服务。它包括关系型数据库引擎、存储、处理和保护数据的核心功能,还包括数据库复制、全文检索及管理关系数据和 XML 数据的特性。例如,在本英汉词典中,完成单词的 添加、更新、删除、查询等。 2.通知服务。该服务允许将通知发送到目标区域,这样当特定动作发生时便能“获悉”,能够想不通的连接和移动设备发布个性化和及时的信
14、息更新。 3.报表服务。报表可以用不同的格式发布,并可带多种交互选项和打印选项。 4.分析服务。该服务包括创建和管理在线分析处理。和数据挖掘功能。通过使用该服务,获取数据集并分析数据切块和切片中所包含的信息。 5.集成服务。通过分析跨多个操作系统的数据,组织能以整体视觉去理解他们的业务情况,从而取得竞争优势。 6.工作站组件、联机丛书和开发工具。 包括客户端组件、管 理工具、开发工具、文档和参考事例。 第 三 章 系统设计 3.1 实现数据库表 1.用户 数据库,主要有用户名、 密码 、权限 组成。 实训报告 - 4 - 图 3-1 2.单词的数据库,主要有单词,解释,统计,发音组成。 图 3
15、-2 实训报告 - 5 - 3.2 主要 类 设计 1 Loading 类 Loading 类主要是要实现登录界面和按钮 监视器执行动作的事件,和数据库的链接。 方法 功能 Loading() 安排登录界面布局 LianJie() 连接数据库 Chaxun() 执行 登录 按钮的动作事件。 DengLuPan() 判断文本框是否为空 图 3-3 2. Register 类 Register 类主要是实现注册界面 和按钮 监视器执行动作的事件,和数据库的链接。 方法 功能 Register() 安排注册界面布局 LianJie() 连接数据库 Zhuce() 执行确定按钮的动作事件。 ZhuCe
16、Pan() 判断文本框是否为空 图 3-4 3. GuanLiYuan 类 GuanLiYuan 类为窗口主界面类, 包括菜单栏,工具栏 ,显示栏。添加监视器执行动作的事件 方法 功能 Guanliyuan() 安排界面布局,设置菜单项和工具 按钮 actionPerformed() 执行按钮的动作事件。 valueChanged() 下拉列表的监听事件。 图 3-5 4.KeHu 类 KeHu 类为窗口主界面类,包括菜单栏,工具栏,显示栏。添加监视器执行动作的事件。 方法 功能 Kehu() 安排界面布局,设置菜单项和工具按钮 actionPerformed() 执行按钮的动作事件。 val
17、ueChanged() 下拉列表的监听事件。 图 3-6 5. MyDialog 类 EWindowDialog 类为每日一贴的窗口 类 。 实训报告 - 6 - 方法 功能 MyDialog() 安排界面布局 reading() 实现读取文件。 actionPerformed() 按钮的监听事件,使其循环输出。 itemStateChanged() 复选框监听的实现。 图 3-7 6 ChaXun 类 ChaXun 类 新建两个构造方法,分别是实现英汉、汉英查询功能。 方法 功能 EnglihCha() 英译汉的模糊查询 JingQunEnglishCha() 英译汉的精确查询 Chines
18、eCha() 汉译英的模糊查询 JingQunChineseCha() 汉译英的精确查询 图 3-8 7.Add 类 Add 类实现单词的添加功能。 方法 功能 Add() 设置“添加”窗口界面 AddCha() 实现和数据库的连接 图 3-9 8. Update 类 Update 类,功能通过单击主窗口界面的“ 更新 ”按钮弹出“ 更新 ”小窗口,输入“ 更新 ”的单词,对相应的解释进行“ 更新 ”。 方法 功能 Update() 设置“修改”窗口界面 UpdateCha () 实现和数据库的连接 图 3-10 9.Delect 类 Delect 类,功能通过单击主窗口界面的删除按钮弹出删除
19、小窗口,输入删除的单词,进行删除。 方法 功能 Delect() 设置“删除”窗口界面 DelectCha() 实现和数据库的连接 图 3-11 10. Statistics 类 实训报告 - 7 - Statistics 类,弹出统计窗口,通过对数据库按降序排序,选出统计前 5 个,调用画布在显示圆饼图。 方法 功能 Statistics () 设置“统计”窗口界面 TJ() “统计”界面连接数据库 Tongjij() “统计”添加 图 3-12 11.CeShi 类 CeShi 类, 功能通过单击菜单条下 练习题库 下考题弹出的了窗口界面,它的内容需要与服务器连接。 方法 功能 CeShi
20、() 设置“测试”窗口界面 actionPerformed() 实现和服务器的连接 图 3-13 12. Help 类 Help 类,功能通过单击主窗口界面的“帮助”菜单下的“帮助”选项弹出“帮助”窗口,通过网页显示词典的相关说明,通过单击页面上的超链接来显示别一网页。 方法 功能 Help() 设置“帮助”窗口界面 hyperlinkUpdate() 显示新的 URL 资源。 图 3-14 13.GuanYu 类 GuanYu 类,功能通过单击主窗口界面的“帮助” 菜单下的“关于” 弹出“ 关于 ” 窗口,显示词典的使用说明。 方法 功能 GuanYu() 设置“ 关于 ”窗口界面 图 3-
21、15 14. Sing 类 Sing 类,单击发音按钮,读出对应的单词。 方法 功能 sing() 实现和数据库的连接 图 3-16 3.3 操作界面 1.登录界面 实训报告 - 8 - import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; class Loading extends JFrame implements ActionListener Box baseBox,boxv1,boxv2; JLabel 标题 ; JButton 注册 ,登陆 ; Te
22、xtField t1,t2; Loading () 标题 =new JLabel(“欢迎使用英汉字典 -“); 注册 =new JButton(“新用户注册 “); 注册 .addActionListener(this); 登陆 =new JButton(“登陆 “); 登陆 .addActionListener(this); t1=new TextField(12); t2=new TextField(12); t2.setEchoChar(*); boxv1=Box.createVerticalBox(); boxv1.add(标题 ); boxv1.add(Box.createVerti
23、calStrut(8); boxv1.add(new JLabel(“ 用户名: “); boxv1.add(Box.createVerticalStrut(8); boxv1.add(new JLabel(“ 密码: “); boxv1.add(Box.createVerticalStrut(8); boxv1.add(注册 ); boxv2=Box.createVerticalBox();boxv2.add(new JLabel(“登陆界面 “); boxv2.add(Box.createVerticalStrut(8); boxv2.add(t1); boxv2.add(Box.createVerticalStrut(8); boxv2.add(t2); boxv2.add(登陆 ); baseBox=Box.createHorizontalBox(); baseBox.add(boxv1); baseBox.add(Box.createHorizontalStrut(10); baseBox.add(boxv2); setLayout(new FlowLayout();