java 不能同时修改一条记录_【免费毕设】JAVA+SQL离散数学题库管理系统(源代码+论文+外文翻译)...

 2023-09-18 阅读 28 评论 0

摘要:点击上方“蓝字”关注我们目录系统设计本章主要介绍离散数学题库管理软件中后台数据库的结构设计。数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果
f60f41090095d530a0783d43f23e6e8d.png点击上方“蓝字”关注我们d995cfbe16dce35a831620be92e26596.png340cde46224edf3cbda7e1f827418042.png目录

1ce4af9717b7ffbef9a58bc8f584b7d3.png

340cde46224edf3cbda7e1f827418042.png系统设计

本章主要介绍离散数学题库管理软件中后台数据库的结构设计。数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果产生很大影响。科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要。

3.1  数据库概念模型

java修改文件某一行、根据系统的设计要求,设计了E-R图,实体为教师、课程、题库和试卷,关系为试卷抽题表。

5d54031ec7c8738b89e0b3241eaf30b4.png

教师实体包含了教师编号、密码、教师姓名、住址、电话、手机、EMAIL、学历、职称和备注等属性。

java修改文件内容、cf5330650ea2d2140b30e2f28ba419d6.png

a0266d5746b0c1af199eaf052801ef87.png

数据库逻辑设计

在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。

java怎么记录日志到数据库、首先将离散数学题库管理系统的数据库概念结构转化为SQL Server2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。创建离散数学题库管理系统中的各个数据库表。

eca06df0883350b4cdcc5a895105a561.png

d51c9186e5da5f79ee46f0b3286f5256.png

软件结构设计

java计算字符串中字符出现的次数,本系统共分3个大功能模块。如图:

bcd446dcc62f3a0047c6032cbb9d7174.png

上图即为总体的功能模块图,它清晰的显示了系统的各个模块的分布。教师登陆模块是用来验证用户是否为系统的合法用户,题库的管理与维护模块完成对题目的录入、删除、修改和查询。生成试卷模块完成根据用户输入的生成试卷要求,自动生成试卷,维护已经生成的试卷和生成WORD试卷和参考答案。

340cde46224edf3cbda7e1f827418042.png系统实现

教师登录模块

java 当前时间?(1) 界面设计

此界面为教师登录界面,在用户登录时检查用户名和密码是否有填写,如果未填写则提示并返回,检查通过之后把数据提交给服务器,打开数据库检查用户填写的信息是否正确,登录名称、密码是否相符合,若符合管理员登录信息则登录成功,进入主界面。此模块用于验证用户的信息,保证了系统内部资料的安全性。

555ccd800938df865aa0b37f52bb1479.png

java 字节码、(3) 该模块的JAVA类设计

实现该模块的JAVA类为:ui.LoginFrame和app.DBAccess类

ui.LoginFrame类:

该类用于显示教师登陆窗口,并且负责判断用户输入的用户名密码是否正确。

主要方法介绍:

okButton_actionPerformed(ActionEvent e):该方法在用户点击确定按钮时被调用,取得界面上输入的用户名和密码,如果用户名或者密码不正确,则提示用户重新输入。若用户为系统合法用户,则允许用户登陆系统,打开系统主界面。

app.DBAccess类:

该类为底层数据库操作类。实现基本的数据库操作,如插入,删除,修改。

主要方法介绍:

getConnection():用于返回一个JDBC数据库连接(Connection)对象。

executeUpdate(Connection conn, Stringsql):执行insert、delete和update语句。对数据库表进行插入删除和更新。

executeQuery(Connection dbCon, StringquerySQL ):根据给定的sql语句,进行查询,返回 DefaultTableModel对象。

4.2.2题库的管理与维护模块

(1) 界面设计

此界面是题库的维护界面,是对试题的基本信息进行录入,删除和更改。

若要添加试题,先点击添加按钮,然后在上面的试题信息部分填入试题的内容,填写好后,点击保存按钮即可将试题保存到数据库。若要修改试题,在下面的表格中选择要修改的试题,修改上面的试题内容,然后点击保存按钮即可将修改后的试题保存到数据库。若要删除试题,在下面的表格中选择要删除的试题,然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。

300297d19f5b4709954d0123990ab6ce.png

(3) 该模块的JAVA类设计

实现该模块的JAVA类为:ui.AddTestDialog类和app.TestLibraryHandler类

ui.AddTestDialog类:

该类负责显示题库维护窗口和响应用户的各种操作。

主要方法介绍:

addjButton2_actionPerformed(ActionEvente):该方法用于处理添加试题请求。首先将题库记录集(QueryDataSet)移动到最后一行,然后插入一条新记录。

deletejButton2_actionPerformed(ActionEvente):该方法用于处理删除试题请求。内部实现时首先判断用户是否选中了一条记录,若没有选中则不能删除试题,提示错误消息。然后询问用户是否确认删除,若确认删除则删除选中的试题。

savejButton1_actionPerformed(ActionEvente):该方法用于处理保存数据请求,当用户修改或者插入了一条数据后,需要点击保存按钮,也就是调用该方法,插入或者修改结果才能插入到数据库中。

app.TestLibraryHandler类:

该类主要用于处理添加试题相关的数据库操作,与界面类一起实现题库的维护和查询功能。

主要方法介绍:

String[] getAllCourseNames():该方法用于返回课程表的所有课程名,这个方法在添加试题和查询试题窗口中被使用。

addCourseNameItems( JComboBoxcourseNamejdbComboBox1 ):该方法用于给课程名称控件添加课程名称项。在显示添加试题和查询试题窗口时,需要先调用这个方法,将所有的课程名添加到课程名下拉框中。

getCourseIdByName( String courseName ):该方法用于根据课程名取得课程编号,在添加试题到数据库中时被调用。因为用户操作界面上输入的是课程名,而题库数据库表中保存的是课程编号,所以需要调用该方法进行转换。

4.2.3试题查询模块

(1) 界面设计

此界面是试题的查询界面,该功能允许用户试题的查询条件,进行查询试题操作。该功能可用于手工改动现有试卷模块。

19510d8350171bd5687688edf055afad.png

(3) 该模块的JAVA类设计

实现该模块的JAVA类为:ui.QueryTestDialog类

ui.QueryTestDialog

该类用于实现查询已有题目功能,负责显示查询试卷对话框。

主要方法介绍:

okjButton1_actionPerformed(ActionEvente):该方法在提交查询按钮被点击时被调用。内部实现时,首先取得所有用户输入的查询条件,生成查询用的SQL语句。然后利用JBuilder自带的DbExpress类库中的QueryDataSet类实现用户的查询操作。

4.2.4自动生成试卷模块

(1) 界面设计

此界面是自动生成试卷界面。教师在上面输入试卷的基本信息,在下面抽取试题选项中设置试题要抽取的章节,题型,与往年试卷雷同度的最大值,平均难度系数的最大值。

其中雷同度的计算方法为:两张试卷相同的题目的数量*2 / 两张试卷总的题目数。平均难度系数的计算方法为:所有试题的难度系数的和 / 试题的总数。

ec0d767bfa9b430d8f23519604945e65.png

f89c864395871404e1bac5e203e78021.png

该模块为系统的核心业务模块,考虑了三年内不能出现重复的题目,与往年试卷的雷同度和试卷的平均难度。首先,统计今年,去年,和前年的试卷中包含的题目题号,这些题目号将不能用于这次的试题抽取(三年内不能出现重复的题目)。然后根据上步的结果、选中的课程名、设置的题型和章节选项执行查询,先按照章节排序,再按照题型排序,查询出的试题可以用于此次试卷的生成。

然后按照设定的试卷总分进行循环,当抽取试题的总分不大于设定的总分,并且仍有题目可抽取时,根据查询结果的数量,生成一个随机数,抽取一道题目加到已抽取试题列表中,将该试题的分数累加到抽取试题的总分上,将该试题从待抽取列表中去掉。这样循环下去,当退出循环的时候,已抽取试题列表中已经包含了一些题目,满足了试卷总分设定要求。

然后按照设定的最大雷同度进行循环,首先将已抽取试题列表中的试题题号与往年试卷中的题号相比较,计算出雷同度,找出往年试卷中雷同度最高的试卷。判断雷同度是否超过设定值,若超过设定值,并且仍有试题可抽取,则去掉一道与雷同度最高试卷中的雷同试题,另外抽取一道与去掉的题目题型相同并且在雷同度最高试卷中没有的题目。这样循环下去,当退出循环的时候,已抽取试题列表中的题目即会满足试卷最大雷同度设定要求,或者由于题库中试题有限,待抽取试题列表已经没有试题了。

然后按照设定的最大平均难度系数进行循环,首先计算已生成试卷的平均难度,若难度超过设定值,并且仍有试题可抽取,则去掉一道难度超过平均值的题目,抽取另一道同类型题目。这样循环下去,当退出循环的时候,已抽取试题列表中的题目即会满足试卷最大平均难度系数设定要求,或者由于题库中试题有限,待抽取试题列表已经没有试题了。

153a2d15328f17a6cea635bab782bf8b.png

(3) 该模块的JAVA类设计

实现该模块的JAVA类为:ui.GeneratePaperDialog类,app.MsWordHandler类和app.TestPaperHandler类

ui.GeneratePaperDialog类:

该类用于实现自动生成试卷功能,并且负责显示自动生成试卷对话框。

主要方法介绍:

initUnitTree(Connection connection):该方法用于初始化表示章节的树(查询出题库表的所有章节,按照章节顺序显示),在自动生成试卷对话框初始化的时候会调用该方法,将界面中的章节树初始化(填充章节的信息)。

addUnitButton_actionPerformed(ActionEvente):该方法用于将左侧章节树中选择的章节添加到界面右侧的章节选择列表中。右侧的章节选择列表是指最后生成的试卷涵盖的章节列表。

deleteUnitButton_actionPerformed(ActionEvente):该方法用于将用户在右侧的章节选择列表中选择的项删除。

genPaperButton_actionPerformed(ActionEvente):该方法用于根据界面上输入的生成试卷条件和试卷基本信息,自动生成试卷,并且将试题和参考答案输出到WORD文件中。

app.MsWordHandler类:

该类是操作WORD文件的类,包含WORD文件的基本操作方法。

主要方法介绍:

MsWordHandler():构造函数。初始化 WORD应用程序,新建一个WORD文档。

insertParagraph(...):向WORD中添加一个新的段落。该方法有5个参数,分别为aParagraph,表示段落的内容;fontName表示段落的字体;isBold表示是否设定为黑体;isItalic表示是否设定为斜体;fontSize表示字体的大小。

该类还有其他一些方法,比如添加试卷的标题,添加一道大题,添加一道题目等方法,这些方法都通过调用insertParagraph(...)方法实现。在这里就不仔细讲解了。

app.TestPaperHandler类:

该类将已抽取的试题列表生成WORD文档。

主要方法介绍:

genWordPaper(...):根据抽取的试题,生成WORD文件。该方法共有4个参数,selectedTestItems表示已抽取的试题列表;paperTitle表示试卷标题;courseName表示课程名称;testStyle表示测试类型。该方法的具体实现:首先弹出保存文件框,让用户选择保存位置;然后计算出已抽取的试题的总分,用于WORD文件输出;然后利用循环,将选择的题目输出到WORD文件中。

addSpecifiedTestToWord(...):将指定的题型的题目添加到 WORD 文件中。调用MsWordHandler类具体实现。

addSpecifiedAnswerToWord(...):将指定的题型的题目答案添加到 WORD文件中。调用MsWordHandler类具体实现。

4.2.5手工改动现有试卷模块

(1) 界面设计

此界面是手工改动现有试卷界面,在该界面中可以对试卷的基本信息进行修改,同时也可以打开试题查询界面,将试题手动添加到选中的试卷中

bb80ea061c3e57f632299eb861762eb2.png

45cf52470a550d88e9407dfce0a8d4d7.png

(3) 该模块的JAVA类设计

实现该模块的JAVA类为:ui. MaintainPaperDialog类

ui. MaintainPaperDialog类:

该类实现对已生成试卷进行维护的功能,负责显示维护已生成试卷对话框。

主要方法介绍:

deleteButton_actionPerformed(ActionEvente):该方法用于从试卷中删除一道题,实现对试卷中题目的手工删除。

addButton_actionPerformed(ActionEvente):该方法用于添加一道题到试卷中,实现对试卷中题目的手工添加。内部实现时首先打开查询试题界面,查询到想要的试题后,点击界面上的“添加该试题”按钮,即可将试题添加到试卷中。

saveButton_actionPerformed(ActionEvente):该方法用于保存试卷的基本信息。

genWordPaperButton_actionPerformed(ActionEvente):该方法用于将选中的试卷生成WORD试卷文件。

340cde46224edf3cbda7e1f827418042.png源文件

606fcb9267aa58157dae6ab3a296578f.png

8e903c742edef9c9b795a1db64538a9a.png

a982936418e6526b31b9eca1533c1fe1.png

f4007365566beadc7026553aa553c87a.gif

详情请关注小编继续了解,免费赠送源代码与论文哦!

计算机毕业设计(源程序+论文+开题报告+文献综述+翻译+答辩稿)

联系QQ:2932963541进行咨询

3385749a154a6fbfbbe399784b4c3d08.png308a9b47de73e169b7c1ac9782d642f1.png网站地址:http://www.webtmall.com/扫码关注最新动态更多精彩,点击下方“

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/77096.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息