基于JAVA的数字逻辑虚拟实验平台的设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431

 要:为了解决高等院校扩招后产生的硬件设施不足、教学时空受限等弊端,本课题搭建了一个逼真的、操作方便的、具有交互功能的数字逻辑虚拟实验操作平台。系统利用可视化技术和虚拟技术对实验平台上的各种元器件进行了模拟, 实现实验过程以及实验现象的仿真, 产生符合客观规律的效果,实现用户和虚拟平台之间的良好交互。选择面向对象的JAVA编程语言, 选用Access2007数据库, 同时利用基于TCP/IP通信协议,较好的完成了数字逻辑虚拟实验平台的设计与实现。

关键词: 数字逻辑虚拟实验JAVATCP/IP

Design and Implementation of Digital Logic Virtual Experiment Platform Based on JAVA

 

×× , Department of Electronic Engineering

 

Abstract: In order to solve the malpractices, such as the shortage of hardware facilities, teaching time and space limited, produced after the enrollment of colleges and university, the topic has built a digital logic virtual experiment operation platform, which is realistic, easy operation and having interactive features. In this system, visualization technology and virtual technology are used to simulate various components of the experimental platform. The simulation of experiments process and experimental phenomena are realized, producing results in line with objective laws and achieving good interaction between the user and the virtual platform. JAVA as the object-oriented programming language and Access2007 database are selected to complete the design and implementation of digital logic virtual experiment platform based on TCP/IP communication protocol.

KeywordsDigital Logic Virtual Experiment; JAVA; TCP/IP

 

1引言1

1.1系统前景 1

1.2开发环境简介 1

1.3系统的主要功能 1

2 相关理论和可行性分析2

2.1 对数字逻辑虚拟实验平台的认识 2

2.2 对数字逻辑虚拟实验平台开发的理解 2

2.3 数字逻辑虚拟实验平台开发的方法及流程概述 2

2.4 系统的可行性分析 2

3 需求分析4

3.1 系统目标 4

3.2 功能需求 4

3.3 非功能需求 4

3.3.1 对性能的规定 4

3.3.2故障处理要求 4

3.3.3其他专门要求 4

4系统设计5

4.1总体设计 5

4.2 逻辑模型的描述 5

4.3 数据库设计 10

4.4 输入、输出设计 11

4.5 界面设计 11

4.6 软件设计 12

5系统的实现和测试14

5.1系统的测试 14

5.2 系统的稳健性和安全性管理 22

6结论23

参考文献24

 

1 引言

1.1系统前景

目前,很多高校的计算机硬件类课程的实验教学都是在实验室中特定的硬件平台上完成。但是,由于受到经费的限制,实验室能够提供的实验设备种类、数量都有限;同时,实验设备每年的维护费用也很高。特别是对数字逻辑实验教学来说, 无论是芯片、导线等常见元器件损坏率直线上升,还是实验平台等高端设备维修频率提高,都说明有限的经费和设备已经无法适应新的人才培养模式以及办学理念。虚拟实验室概念的提出至今仅为二十年的时间,但因其广阔的应用前景,国内外有很多组织都已经开展了虚拟实验系统的研究和建设工作,特别是在国外一些著名的大学,已有较多建好并投入使用的虚拟实验系统。与西方发达国家相比,国内虚拟实验的开展起步较晚,但目前虚拟实验室的建设也得到了应有的重视,已有部分高校初步建立了虚拟实验室。因此,用软件模拟以实现硬件类课程的教学实验是意义重大的,可以简化实验的操作过程,解决实验资源的不足,打破传统实验室在空间和时间上的约束,培养学生的创新精神。同时,它也可以用于计算机辅助教学,使课堂教学更形象生动。虚拟实验室将是未来计算机类或电子类实验教学的良好选择,具有广阔的发展前景和较高的研究价值。

1.2开发环境简介

Java语言自1995年诞生以来在短短的几年时间内以迅猛的速度席卷全球,已形成一种专门的技术。它是一种简单的、面向对象的、分布式的、强壮的、安全的、体系结构中立的、可移植的,高性能的、多线程的和动态的语言。而Eclipse是开发Java应用程序的首选开发环境,功能强大,易于使用。选用微软的Access2007数据库作为后台数据库,采用JDBC访问后台数据库,同时利用基于TCP/IP通信协议的网络编程技术实现交互功能。能很好的满足毕业设计的功能需求的实现。

1.3系统的主要功能

1)管理员可以对老师和学生进行增删改查的操作。

2)学生可以根据实验指导完成实验以及写实验报告

3)老师可以进行实验操作的同时对学生的实验报告进行批阅并给予反馈

4)学生与老师可以在线咨询,交流实验过程中的问题

5)不同的用户可以修改自己的登录密码,增强系统的安全性

 

2 相关理论和可行性分析

2.1 对数字逻辑虚拟实验平台的认识

虚拟实验室(Virtual laboratory)的概念,是由美国弗吉尼亚大学的William Wolf教授于1989年首先提出的,用来描述一个计算机网络化的虚拟实验室环境,其初衷是为了方便不同实验室中的科研人员共享彼此的数据、仪器,并能交流思想和进行远程科研合作。目前对虚拟实验室的定义有两种,这两种定义侧重不同方向,但都指出了虚拟实验室本质是一个无墙的实验室,通过计算机网络系统,研究人员或学生不受时空的限制,能够随时随地进行虚拟实验操作,共享仪器设备,共享数据和计算机资源,同时进行研讨或得到教师的远程指导。与现实的实验室相比,虚拟实验室有它的许多优势和特点。如成本低、效率高、功能全、效果好、协作性,具有教育功能、辅助设计功能、协同实验和研究功能。

2.2 对数字逻辑虚拟实验平台开发的理解

虚拟实验是随着现代计算机技术的进步而产生和发展的一种实验模式。虚拟实验是以计算机为控制中心,利用软件技术构建系统的逻辑结构模型,基于模块化和层次化的设计思想,采用软硬结合的方式,协调相关硬件和效应设备形成虚拟实验系统,并利用网络技术实现虚拟实验系统的网络化,形成运行在个人计算机上实现自行设计与开发,以及远程控制与协作的实验方式。在虚拟实验中,学生可利用鼠标的点击、拖动,将计算机上各种虚拟仪器按实验要求和过程组装成一个完整的实验系统,同时在这个系统上完成整个实验,包括原材料的添加、实验条件的改变、数据的采集以及实验结果的模拟分析等。因此需要掌握一定的开发技术和扎实的算法逻辑知识,进行现实情况的调研,了解广大师生的实验现状,避免现实中的弊端,才能开发出具有应用价值的虚拟实验平台系统。

2.3 数字逻辑虚拟实验平台开发的方法及流程概述

本系统利用所学的相关硬件知识和软件编程技术,在Eclipse开发环境下模拟数字逻辑实验室。以Access2007数据库作为后台数据库,设置不同的登录用户权限,增加系统的安全性,同时对不同的用户进行相应的管理,易于系统的维护;以Java编程语言的布局规则和事件监听实现友好的用户界面,同时依据TCP/IP通信协议实现交流功能。本系统先是经过材料的收集,之后根据数字逻辑实验的原理进行开发思路的规划,先是完成了系统界面的设计,之后分别对不同的角色功能进行丰富,最后进行各大模块的整合和调试,形成了一个比较完整的数字逻辑虚拟实验平台的仿真实验。

2.4 系统的可行性分析

从技术可行性上来说,开发者掌握了基本的计算机硬件知识,如数字电子电路基础、计算机组成原理等,同时也较熟练地掌握了Java开发语言,Access2007数据库操作,使用JDBC连接数据库的方法,计算机网络等相关知识,具有良好的理论基础和技术实践经验,能较好的完成本系统的开发与研究。

从经济可行性来说,本系统的开发基本不需要经济支出,有现成的实验设备进行参考,开放的网络参考文献,免费的开发工具和技术指导。

从资源可行性上来说,一台PC机、Eclipse开发环境、Access2007数据库,技术书籍(数字电路、组成原理、java编程原理等)和相关电子文档等。这些资源在现实中是存在的,可以很方便的获取,不需要再创造新的资源。综上所述,本系统的技术成熟,评测手段可靠,具有良好的市场拓展潜力,因此本系统可以开始执行。

 

3 需求分析

3.1 系统目标

    本数字逻辑虚拟实验平台设计的目标是,在以一定的计算机硬件知识为基础(主要是数字逻辑技术基础)的前提下,结合Java开发技术、数据库原理、通信原理等,开发出一款具有实用价值的虚拟实验平台系统。此系统不仅要有良好的用户界面,安全的访问控制设置,同时要有逼真的实验模拟效果、完善的通讯机制,让实验者如同在现实实验室中一样。能经过今后的功能完善,走入市场,真正缓解现实实验室的弊端,最大的实现资源的可持续发展和技术的开拓创新。

3.2 功能需求

本系统为了达到毕业设计的要求和今后走入市场,达到虚拟实验室的基本特性,可供学生、老师以及爱好者使用,必须实现以下功能:

1)管理员可以对老师和学生进行增删改查的操作。

   2)学生可以根据实验指导完成实验以及写实验报告

   3)老师可以进行实验操作的同时对学生的实验报告进行批阅并给予反馈

   4)学生与老师可以在线咨询,交流实验过程中的问题

   5)不同的用户可以修改自己的登录密码,增强系统的安全性

3.3 非功能需求

3.3.1 对性能的规定

本系统在运行过程中要保证响应时间要短。在运行环境、与其他软件的接口以及开发计划等发生变化时,应具有灵活的适应能力。

3.3.2故障处理要求

当实验过程中发生系统故障或者外来干扰产生的实验操作崩溃,系统应及时响应并给出相应的提示信息,方便维护人员进行检错并恢复系统。

3.3.3其他专门要求

为了保护开发者的版权,本系统设置了一定的安全措施,防止开发团队的利益损失。同时此系统具有方便的操作界面,利于广大用户的使用。在可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等方面做好相应工作,这将有利于系统功能的扩充和市场价值的长久性。

 

4 系统设计

4.1总体设计

本系统基于软件和硬件的特殊性质,根据教学实验的管理流程和数字电路的实验原理,模拟了数字电路虚拟实验平台。此系统中管理员、老师、学生拥有不同的权限,主角是学生进行数字实验的相关操作,老师予以检查和批阅,以及师生间相互交流实验疑难问题,总体的设计思路如顶层图4.1所示。

4.1   数字逻辑虚拟实验顶层图

4.2 逻辑模型的描述

整个虚拟实验室通过JAVA技术和数字电路原理开发而成,构建了一个集教学、操作、指导、结果提交管理为一体的实验平台,管理员可对老师、学生做增删改查的操作,学生根据实验提示操作实验并写实验报告,老师对其批阅和指导。由于篇幅有限,注重介绍代表性的模块,其逻辑结构如下模块流程图4.2至图4.6所示。

 

 

4.2  登陆界面模块流程图

 

 

4.3  修改密码模块的流程图

 

4.4  修改学生信息模块流程图

 

 

4.5  加法器操作模块流程图

 

4.6  实验报告处理模块流程图

4.3 数据库设计

本系统采用Access2007数据库,其数据库结构设计如下表4.1至表4.5所示。

4.1 学生信息表

列名

数据类型

约束

学号

char(10)

主键

姓名

nchar(5)

非空

性别

nchar(1)

非空

年级

nvarchar(20)

非空

所在系部

nvarchar(20)

非空

 

 

 

 

 

4.2 老师信息表

列名

数据类型

约束

职工号

char(7)

主键

姓名

nchar(7)

非空

性别

nchar(1)

非空

教授课程

nvarchar(20)

非空

所在系部

nvarchar(20)

非空

4.3 管理员密码表

列名

数据类型

约束

用户名

char(10)

主键

密码

char(10)

非空

 

 

 

4.4 学生密码表

列名

数据类型

约束

用户名

char(10)

主键

密码

char(20)

非空

4.5 老师密码表

列名

数据类型

约束

用户名

char(10)

主键

密码

char(20)

非空

4.4 输入、输出设计

半加器有两个输入和两个输出,在本系统中用GND代表低电位输入(相当于0)、+5V代表高电位输入(相当于1)。有两个输出一个是和S,一个是进位C,在本系统中,用黑色圆图代替低电位(相当于0),用红色圆图代表高电位(相当于1)。半加器是由异或门和与门组成,其真值表如下表4.6所示:

4.6 半加器真值表

输入

输出

A

B

C

S

0

0

0

0

0

1

0

1

1

0

1

0

1

1

1

0

4.5 界面设计

本系统利用Java中的GUI布局管理技术来进行界面设计的,主要设计了登陆界面、师生增删改查界面、密码修改界面、加法器操作界面、实验指导界面、实验报告处理界面、通讯界面等,具体界面设计情况可见第5部分系统测试实现情况,所涉及到的组件内容如下图4.7所示。

4.7  Java中的组件框架图

4.6 软件设计

在程序开发阶段,首先确定基于JAVA的数字逻辑虚拟实验平台的设计与实现的工程名为virtual laboratory,根据程序模块设计的内容,建立Virtual Laboratory工程。命名空间内放置的源代码的名称和用途,见表4.7所示。

4.7 virtual laboratory 示例的文件用途说明

包名

子包名

文件名

说明

Virtuallaboratory

laboratory

Addlab.java

加法器的操作实现

Guide.java

加法器实验指导实现

login

UserLogin.java

不同用户登录的实现

manager

AddStudent.java

添加学生的实现

Addteacher.java

添加老师的实现

Del_student.java

删除学生的实现

Del_teacher.java

删除老师的实现

StudModefy.java

修改学生信息的实现

TeacModefy.java

修改老师信息的实现

StudQuery.java

按学号查询信息

TeacQuery.java

按职工号查询信息

ScanS.java

查询全部学生的信息

ScanT.java

查询全部老师的信息

ManagerWelcome.java

管理员登陆成功界面

modpwd

ChangePwd

修改密码界面

student

StudentWelcome.java

学生登陆成功界面

Writereport.java

写实验报告界面

teacher

Rerportback.java

批阅实验报告界面

TeacherWelcome.java

老师登陆成功界面

说明:师生通讯的界面是ChatClient.javaChatServer.java文件组成

Java资源文件保存在/res的子目录中,具体每个资源文件的用途如表4.8所示

4.8 资源文件名称和用途

资源目录

文件

说明

res

GreenLeaves.jpg

欢迎界面背景图片

add.png

与门图片

or.png

异或门图片

black.png

黑色圆图(代表0

red.png

红色圆图(代表1

information.accdb

数据库文件

aim.dat

实验目的文件

principle.dat

实验原理文件

equipment.dat

实验器材文件

content.dat

实验内容文件

report.dat

实验报告文件

 

5系统的实现和测试

5.1系统的测试

运行数字逻辑虚拟实验室的整个程序,均符合预期效果,测试成功,以下是具有代表性的测试结果:图5.1–5.2显示了用户在登录界面中输入信息、登陆成功的过程,此时以对话框的形式与用户交互。(以学生登录为例

 

5.1  学生输入信息界面

 

 

5.2  学生登录成功界面


学生登录成功后,进入数字逻辑虚拟实验室平台,进行加法器的实验操作,如图5.3所示。

   

5.3  学生登陆主界面

进入加法器(以半加器为例)仿真界面,如图5.4所示。

 

5.4  加法器实验界面

实验前,学生可以点击实验指导按钮,参考实验的目的、原理、内容等,更好的完成加法器的实验操作,效果如图5.5所示。

 

5.5  加法器的实验指导界面

说明:实验目的、实验器材等都是利用文件流相关知识实现的,此处不再赘述。之后学生可以根据半加器的实验原理,进行实验测试,当输入端都接低电位GND时(即输入二进制00),输出端输出二进制00(用黑色的圆图表示),实验效果如图5.6所示。

 

5.6  输入端为二进制00时的界面

当输入端一个接低电位GND,一个接高电位+5v (即输入二进制0110),输出端输出二进制10(用黑色图标表示0,红色图标表示1),实验效果如图5.7至图5.8所示。

 

5.7  输入端为二进制01时的界面

 

5.8  输入端为二进制01时的界面

当输入端都接高电位+5V时(即输入二进制11),输出端输出二进制01(用黑色图标表示0,红色图标表示1),实验效果如图5.9所示。  

 

5.9  输入端为二进制11时的界面

当输入端不满足上述输入要求时,仿真时提示错误信息,提高系统的安全性,如图5.10所示。

 

5.10  输入端不符合加法器逻辑时的界面

当学生做完实验后可以写实验报告,依据文件流的知识将其存储到项目子目录中,可供于老师登陆后的查阅和反馈。学生写实验报告入口,如图5.11所示。

5.11 学生写实验报告登录主界面

学生输入自己的学号,用于存储时的文件名,便于老师检索,写完后,点击实验报告完成按钮即可保存实验报告到项目子目录下。如图5.12所示。

 

5.12  学生写实验报告界面

 

5.13  老师反馈实验报告内容入口界面

老师登陆主界面如图5.13所示。当输入实验者学号,点击查看实验报告按钮,即可将项目子目录中保存的实验告导入预览框,给学生评价完成后,点击实验报告批阅完成按钮即可将评价保存到该生实验报告中,如图5.14-5.15所示。

5.14  查看学生实验报告界面

 

5.15  老师评价实验完成界面

学生也可以咨询老师实验操作中遇到的问题,如图5.16所示。

5.16 师生交流对话框界面

登录用户都可以修改自身密码,如图5.17所示(以学生为例)。

 

5.17  学生修改密码成功界面

管理员可以对师生进行增删改查的操作,因篇幅有限,以增加学生信息为例说明下,如图5.18所示。

 

5.18 管理员添加学生信息界面

5.2 系统的稳健性和安全性管理

本系统的优点之一就是稳定,对于各种存在的隐患,我们都设置了提醒框,当出现异常时,我们可以通过提醒对话框有效解决。例如用户登录时,管理员增删改查学生或老师时,修改密码时,只要用户信息填写不完全、或者有误、数据重复等都会提醒用户重新操作,防止错误操作导致的恶性后果。在加法器实验操作过程中,按照数字电子电路的逻辑规范了用户的连线操作,防止器件的损坏,使虚拟实验能正常运行。从安全性上来说,本系统使用了Access2007数据库,用户的登陆信息都存储在后台中,每次访问都要进行数据库的连接,能有效的保护用户的个人信息。同时学生写实验报告、老师批阅实验报告,都是以文件的方式存放在系统子目录中,查阅时必须登陆成功后方可查看。通过TCP/IP通信协议使师生间获得可靠地交流。

 

6 结论

通过对基于JAVA的数字逻辑虚拟实验平台的设计与实现,加深了我对数字电路基础组合逻辑电路的理解,同时巩固了JAVA编程技能,以及对整个大学课程体系的理性思考。在此次毕业设计中,本人开发的是一个小型的加法器虚拟实验平台,以Access2007为后台数据库,利用JDBC技术实现数据库的连接,通过文件流的方式存储实验报告,利用GUI实现良好的用户界面,利用TCP/IP通信协议实现师生的交流。经过耐心的策划和调试,本系统实现了以下功能:1)管理员可以对老师和学生进行增删改查的操作。(2)学生可以根据实验指导完成实验以及写实验报告(3)老师可以进行实验操作的同时对学生的实验报告进行批阅并给予反馈(4)学生与老师可以在线咨询,交流实验过程中的问题(5)不同的用户可以修改自己的登录密码,增强系统的安全性。具有一定的实用性。

由于所学知识的限制以及时间的关系,该系统还有很多不完善的地方。例如本系统只是实现了加法器的虚拟实验,其他译码器、锁存器等逻辑电路还没实现,实现项目比较单一;还有通讯功能未能很好的整合到实验中,存在一点通信故障。此外,开发此系统的技术不是很先进,未能利用当今最流行的JAVA ebhtmlJavaScript实现。

为了更好满足用户的需求,在以后系统的开发中,我会注意并尽量改正以上问题,用我所学知识来解决以上问题。这是我大学最后一次系统设计,对我的意义和影响都很重大。我会总结开发中的问题,整合大学的知识,等到掌握当今最流行的开发技术,会在将次系统进行更改和完善,使此系统具有广泛的应用价值和市场竞争力。最后,谢谢×老师的细心指导,我会铭记在心!


参考文献

[1] 刘常澍.数字逻辑电路(第1版)[M].北京:高等教育出版社,2005.

[2] 阎石.数字电子技术(第五版)[M].北京:高等教育出版社,2006.

[3] 朱福喜.面向对象与Java程序设计[M].北京:清华大学出版社,2009.

[4] 郑莉,王言行.Java程序设计[M].北京:清华大学出版社,2006.

[5] 曹汉房.数字电路与逻辑设计(第四版)[M] .武汉:华中科技大学出版社, 2004.

[6] 柳西玲,许斌.java语言应用开发基础 [M ].北京:清华大学出版社,2006.

[7蒋耘晨.虚拟实验室技术[M].北京:北京理工大学出版社,2011.

[8] Daponte P, Nigro L, Tisato F. Virtual laboratory an object-oriented framework[J]. Instrumentation and Measurement Technology Conference, 1994.

[9] 桑世庆,卢晓慧.虚拟实验教学平台的构建与实现[J]. 信息技术教学与研究.2009 (35):8-12.

猜你喜欢

转载自www.cnblogs.com/rdutdhtfj/p/12657469.html