基于 JAVA+SQL Server 标准化考试系统
2021/12/28 19:10:09
本文主要是介绍基于 JAVA+SQL Server 标准化考试系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JAVA+SQL Server实训报告
题 目: 标准化考试系统
摘 要
标准化考试系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用应用程序开发环境为:eclipse ,后台数据库开发工具为:SQL Server 2017,利用其提供的各种面向对象的开发工具。尤其是数据窗口这一能方便而简洁操纵数据库的对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。系统有完整的用户添加、删除和密码修改功能,系统采用SQL Server 2017来设计数据库,因为它有着灵活的数据库结构,对数据库应用有着良好的支持。
本系统按用户分为两个模块,一、管理员模块,包括题库模块(包含题库查询和题库的增、删和改等功能)和学生管理(包括添加学生、删除学生、修改学生信息和修改学生成绩的功能);二、学生模块,包括考试模块(包含单选题、多选题和简答题)和个人信息模块(包含查看个人信息和修改密码的功能)。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。
系统的核心是考试模块,题型的设计是影响到考试模块的复杂程度和数据库的设计、题库的数量影响数据库的设计和结构,不同的题型界面所展示的信息不同,数据库的结构不同。查询功能也是系统的核心之一,在本系统使用了分页的方法进行查询,其目的是为了使界面简洁以及不浪费内存资源,以求更有效率查找到各种信息。
系统设计的结构为MVC体系结构(模式)。
设计了管理员(Admin)、学生(Student)、单选题题目(SingleChoiceQuestion)、单选题答案(SingleChoiceAnwer)多选题题目(MultiChoiceQuestion)、多选题答案(MultiChoiceAnswer)、简答题题目(SimpleQuestion)、简单题答案(SimpleAnswer)八个Model,各题型的题目和答案Model与数据库中的表对应,不同的是学生把数据库中三个表统一做一个Model以简化Model设计以及系统的复杂度。
设计了登录(LoginView)、管理员(AdminView)、用户(学生)(UserView)三个主要视图(界面)以及管理员功能中--添加选择题(单选题和多选题)(AddChoiceQuestion)、添加简答题(AddSimpleQuestion)、添加学生(AddStudentView)、修改选择题(单选题和多选题)(ModifyChoice)、修改简答题(ModifySimple)、修改学生信息(ModifyStudent)、修改学生成绩(ModifyScore)功能相关视图,另外还有用户(学生)中—密码验证(NotarizePasswordView)和重置密码(StudentResetPasswordView)两个功能相关视图。
设计了管理员登录(AdminLogin)、管理员控制器(AdminController)、学生登录(StudentLogin)、学生管理(StudentManage)、学生控制器(StudentController)和题库(Item_bank)六个主要控制器,其中管理员控制器中对单选题控制器(SingleChoiceController)、多选题控制器(MultiChoiceController)和简答题控制器(SimpleController) 进行了整合和简化。
关键字: 标准化考试管理系统;SQL Server 2017;eclipse;MVC模式:Model,View,Controller
目 录
- 系统概述……………………………………………………………1
1.1设计题目…………………………………………………………………1
1.2需求分析…………………………………………………………………1
- 开发环境……………………………………………………………5
- 功能分析……………………………………………………………5
- 数据库分析…………………………………………………………6
4.1数据库设计…………………………………………………………………6
4.2数据库数据…………………………………………………………………8
- 程序实现……………………………………………………………9
5.1登录…………………………………………………………………………9
5.1管理员界面…………………………………………………………………9
5.1学生(用户)界面………………………………………………………13
- 实训总结……………………………………………………………16
- 参考文献……………………………………………………………16
- 系统概述
1.1设计题目
标准化考试系统
1.2需求分析
1.2.1可行性分析
可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容:
(1)经济可行性:主要是对项目的经济效益进行评价,本系统作为一个实训课题的作业,无需开发经费,对此我在经济上是可以承受的,并且本系统实施后可以显著提高考试效率,用以小见大的观点可看出本系统可运用网络化管理。所以本系统在经济上是可行的。
(2)技术上的可行性:技术.上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了eclipse连接SQL Server软件进行开发,结合了Internet技术。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
(3)时机可行性:目前,大学的校园网络覆盖了教学区和考生区的主要建筑物,从而满足校内各学院,各职能部门,各直属单位.。学校良好的网络设施为开发使用在线考试系统提供了坚实的基础。
(4)管理上的可行性:主要是教务管理人员大力支持,系领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。
(6)操作可行性:访问系统的主要有三种:考生、管理员(教师)、试题管理。目前资源的利用情况和可操作性,只需少量的直接操作就可以实现系统的完整、稳定的运行,不会造成系统的巨大压力。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快,本系统的开发是完全可行的。
1.2.2功能需求
本系统各个功能模块和其子模块以及他们各自的功能需求见下表所示
1.2.3系统各层次需求分析
系统的概念设计中最重要的就是系统的模块化,模块化是指解决一个复杂问题时自上项下逐层把系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为两个模块是为了降低系统和复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并目与其他模块的联系最少接口简单,即尽量提高模块的独立,为设计高质量的系统结构奠定基础。根据需求分析,画出考试系统的模块组织结构图(由于空间有限,子功能只举例画出少功能)如下:
1.2.4 E-R图
目前,广泛使用的数据模块可分为两种类型,一种是独立十计算机系统的“概念数据模块”,如“实体联系模型";另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用的是“实体联系模型" (E-R模型)来描述数据库的结构,以对现实世界进行第一次抽象。 E-R模型直接从现实世界抽象出实体类型及实体间联系,然后用E-R图来表示数据模型。它有两个明显的优点:接近人的思维,容易理解;与计算机无关,用户容易接受。
以下为考生信息的E-R图
以下为试卷管理的E-R图
以下为管理员模块的E-R图
管理员用例图如下:
- 开发环境
本系统是在下列开发环境下完成的:
(1) 应用程序开发环境:eclipse
(2) 后台数据库开发工具:Microsoft SQL Server 2017
(3) 文档开发环境:Microsoft Office Word 2016
- 功能分析
本系统有两大模块
3.1管理员模块
3.1.1题库模块
(1)单选题、多选题和简答题题库的查看
(2)单选题、多选题和简答题的添加
(3)根据题目的ID进行单选题、多选题和简答题的修改
(4)根据题目的ID进行单选题、多选题和简答题的删除
3.1.2学生管理模块
(1)添加学生
(2)修改学生信息
(3)修改学生成绩
(4)删除学生
3.2学生(用户)模块
3.2.1考试模块
(1)单选题
(2)多选题
(3)简答题
(4)计算成绩
(5)查看成绩
3.2.2个人信息模块
(1)查看个人基本信息
(2)修改密码
密码验证—>重置密码
- 数据库分析
4.1数据库设计
4.1.1表类型
通过对系统的功能分析,数据库应该有两大类的表:用户表和题库表
(1)用户表
表中文名 |
表名 |
管理员表 |
administrators |
学生信息表 |
student_info |
学生账号表 |
student_account |
学生成绩表 |
student_score |
考虑到安全性和数据库结构,故学生相关表有三张
(2)题库表
表中文名 |
表名 |
单选题题目表 |
single_choice_question |
单选题答案表 |
single_choice_answer |
多选题题目表 |
multi_choice_question |
多选题答案表 |
multi_choice_answer |
简答题题目表 |
simple_question |
简答题答案表 |
simple_answer |
考虑数据库结构故每种题型分为两张表,一张题目表,一张答案表
4.1.2设计表字段
对表进行类型分类并设计后需要对表字段进行设计,表字段设计如下:
administrator
student_info
student_account
student_score
single_choice_question
single_choice_answer
multi_choice_question
multi_choice_answer
simple_question
simple_answer
4.2数据库数据
数据库数据可以由数据库软件中编写sql语句进行数据库操作,也可以通过java程序连接数据库进行数据的操作,在本程序中有编写一个批量插入数据作用的InsertData.java可与编写好的数据库连接类运行批量插入数据。另外通过程序所写的功能可以对大部分数据进行基本的增删改查操作。其中管理员只能通过数据库进行操作,题库的题目和答案、学生的信息和成绩,都能由程序进行基本操作。
- 程序实现
5.1登录
输入账号密码判断是管理员账号还是学生账号,账号密码正确则进入用戶界面,错误则提示用户重新登录。
5.2管理员界面
管理员界面基本结构
可查看单选题、多选题和简答题
可添加题目
根据查出的想要修改的题,根据题目ID进行修改、删除
添加学生
分页查看系统中学生的基本信息
根据学号修改、删除学生信息
5.3学生(用户)界面
基本信息
修改密码
查看成绩
考试系统
- 实训总结
这次的Java+SQL课程实训我做的是“标准化考试系统”,通过这次实训,不仅让我巩固了这学期在所学的《软件工程导论》《UML统一建模语言》等课本理论知识,更让我对以前所学的Java语言的课程知识以及数据库的知识更有了进一步的理解、实践。不管做什么样的项目,都要贴近实际生活,模拟实际生活来写,不能马马虎虎,简简单单,没有实际用处效果。
一开始简单的想出了三个基本大模块:考生模块——题库模块——管理员模块,其次再想出每个模块对应该有的增删改查的功能。凭借自身的学习能力以及查阅图书馆书籍和百度搜索,突破重重困难完成了这个任务。本次实训,让我感悟颇多,也让我知道了自身的不足与缺点,只是在课堂的理论知识,没有实践经历,就不能真正掌握。发现自身的不足,更应该对本专业的知识更加努力积极去靠近、获取,利用课本上或者图书馆的书,给自己增加知识量。如果一个项目里所涉及到的知识还没有掌握,就随时查阅书籍来增强自己的专业知识。做一个项目,首先需要知道它的需求,这样有了一个框架后,才有方向去实践,如果自己技术不到位,就看看书本上的实践案例,看看每行代码是什么意思,它的功能是什么,了解到具体再具体。然后自己再试着做出一个小的项目,只有用自己的头脑亲手成功弄出来的项目,才能证明自己会做一个小项目。
- 参考文献
[1] 耿祥义. JAVA 2实用教程(第5版)
[2] 王珊 张俊.数据库系统概论
[3] 苏年乐 张学志 李金才.Java+SQL Server项目开发实践【M】中国铁道出版社
[4] 孙印杰.Java编程案例精解【M】电子工业出版社
这篇关于基于 JAVA+SQL Server 标准化考试系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南