IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java课程设计|软件工程课程设计【招聘考试成绩处理系统】 -> 正文阅读

[Java知识库]Java课程设计|软件工程课程设计【招聘考试成绩处理系统】

第1章 前言

Sun公司已于2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发互联网应用程序(RIA)。该产品于2007年5月在JavaOne大会上首次对外公布。JavaFX技术主要应用于创建Rich Internet Applications(RIAs)。当前的JavaFX包括JavaFX脚本和JavaFX Mobile(一种运行于移动设备的操作系统),今后JavaFX将包括更多的产品。JavaFX Script编程语言(以下称为JavaFX)是一种declarative, statically typed(声明性的、静态类型)脚本语言[1]。

java的ui库分为三代,第一代是awt,第二代是swing,第三代就是javafx了,互相之间是替代关系。

本文将采用JavaFX制作一个简单的招聘考试成绩管理系统。

第2章 需求分析

2.1 考生需求分析

每年报名参加招聘考试的学生有几千名,分为三个专业:法律、行政、财经。考生报名时登记如下内容:姓名、性别、出生年月、地址、报考专业等。

考生报名后,招聘办要为考生安排考场、编排准考证号、打印准考证。考生分别来自全市各区,考生参加考试的考场一般就近安排。

考场管理:考场有编号、考场地址,假设每个考场可容纳的人数预先确定,一个考场安排考生人数满了,再安排下一个考场。同一个考场安排专业相同的考生。

准考证号采用10位数字编码,编码规则如下:前三位为地区编码,后面为序号 例如:G031000004

1、成绩输入

考生的试卷在每个科目考试结束后按考场分别装订成册,同一个考场的试卷按准考证的先后顺序排序。因而,考试成绩的输入是按考场、分科目进行的,同一考场、同一科目的成绩按准考证号的先后顺序依次进行输入。

2、录用

考生成绩输入后,由计算机计算出每位考生考试科目的成绩总分。然后,三个专业分别将考生按总分从高到低进行排序。

排序后的考生名单供用人单位录用时做参考。被某单位录用的考生,应在供录用的名单中去除,同时添加到已录用名单中。

3、输出需求

需要输出以下几项内容:

  1. 考生的准考证(含准考证号、姓名、性别、出生年月、专业、考场号等)。

  2. 发给每位考生的考试成绩单

  3. 招聘考试办公室留存的按准考证号顺序排列的成绩单。

  4. 三个专业分别按总分从高到低排序的考生成绩单。

  5. 发给每位考生的录用通知书(含准考证号、姓名、性别、出生年月、专业、录用单位等)。

  6. 录用名单(含准考证号、姓名、性别、专业、录用单位等)。

5、数据流图和数据字典

本系统的数据流图如下图所示:

在这里插入图片描述

2.2 系统数据字典

本系统数据字典如下:

  1. 数据项定义:

准考证号编排规则:第一位是专业代号,第二位是所在区号,第三、第四位是考场号,第五、第六位是考场内顺序号。

考生=准考证号+姓名+性别+出生日期+地址+1{课程名+成绩}3+总分+名次+录用否+录用单位。

准考证=准考证号+姓名+专业+考场号+考场地址。

考生文件分为两种:一种按准考证号码的顺序排列,另一种是按考生成绩总分由高到低排列。

录用通知书=准考证+专业+姓名+录用单位+地址。

考生成绩单=准考证号+姓名+专业+1{课程名+成绩}3+总分+地址。

  1. 处理算法

排序:输出三个专业的考生分别按总分由高到底的次序排列的名单,供录用参考。

录用原则:各专业按考生成绩总分从高分到低分的次序录用,总分相同时专业课成绩高的优先录用

6、E-R图

招聘考试成绩管理系统数据库的E-R图如图2.2所示:

在这里插入图片描述

图2.2 招聘考试成绩处理系统E-R图

第3章 概要设计

3.1数据库结构设计

考虑系统数据安全性,进入本系统时要输入用户账号、密码,非法用户不能进入。因而要建立管理员数据表。

在考前处理时,要为考生安排考场,编排准考证号。编写程序让计算机自动生成准考证号。

考试数据表里存放考生的所有信息,根据需求分析阶段得到的数据字典,决定其所含的字段。

考生录用情况可单独建立一个数据表来存放数据。如果考虑到数据量太大,也可用考生数据表来生成的录用查询视图。

本系统建立的数据库文件共含4个数据表,其中对于录用考生可以不建立数据表,儿用考生表来产生查询视图。各数据表所含的字段如下:

管理员:账号、密码、权限。

考场:考场号、地点、最多人数。

考生:准考证号、姓名、性别、地区、出生年月、地址、专业、政治、英语、专业课、总分、名次、录用与否、录用单位。

录用考生:准考证号、姓名、性别、专业、录用单位、总分。

3.2系统结构设计

对于大型软件系统,通常先进行结构设计,然后再进行详细设计。在结构设计阶段确定系统有哪些模块组成,并确定模块之间的相互关系;在详细设计阶段确定每个模块的处理过程。

为进行结构设计,首先把复杂的功能分解为比较简单的功能,此时数据流图也进一步细化。通常一个模块完成一个适当的功能。分析原因把模块组织成层次结构,顶层模块调用它的下一层模块,下一层模块在调用其下层模块,依次向下调用,最下层的模块能完成某个功能。软件的结构可用层次图或结构图来描绘。

招聘考试成绩管理系统的HIPO图如图3.2所示。

图3.2 招聘考试管理系统的HIPO图

3.3设计测试方案

为保证系统的数据安全性,进入本系统要设置账号、密码,但这个问题可放在程序全部调试完成后进行。这样,在整个程序的调试过程中不必每次进入系统都要输入账号、密码,可节省不少时间。一旦系统设置了账号、密码,就要先测试账号、密码的设置是否正确,是否符合用户的要求。

本系统主要功能模块有3个:考前处理、成绩信息、录用,因而测试也分为3个部分进行。

1.考前处理

对考前处理程序,主要测试考生准考证号的生成是否正确。

测试时,将不同专业、不同地区的考生信息进行输入;将同一专业、同一地区,不同专业、同一地区,同一专业、不同地区的考生信息进行输入。如果各种情况的考生信息输入后准考证号都能正确生成才能说明考前处理程序没有问题。

2.成绩信息

成绩信息模块分为考生成绩输入、成绩朝廷或打印成绩单3个模块。主要测试课程成绩输入界面设计是否合理、输入后成绩总分的计算及排序是否正确。

3.录用

录用模块测试其输入界面是否正确、合理;录用结果的输入与输出是否一致。

3.4功能设计

招聘考试成绩处理的界面设计分为进入系统时的初始界面、保证数据安全的账号及密码界面、系统各级菜单、系统输入界面等。

1、初始界面

进入系统后的初始界面可以写系统名称、欢迎进入系统和开发者等,让用户单击“进入”按钮进入系统。

初始界面也可设置为停留一定的时间之后,系统自动进入登录界面(账号、密码界面)。

  1. 账号、密码界面

为保证系统数据的安全性和灵活性,账号、密码要保存在数据库内,数据库也要采用设置访问权限等数据安全措施,避免非法用户进入系统或修改账号、密码。

3、系统菜单

系统菜单根据概要设计确定的系统结构来设计。在程序设计时,可使得不同权限的用户在进入系统后出现不同的菜单,每个用户只能见到允许其使用的菜单。

主菜单分为“文件”“考前处理”“成绩信息”和“录用”等。

“文件”菜单含“初始化”“退出”子菜单。初始化会把系统所有信息清除,因而只有得到允许的人员进入系统时才会出现此菜单,并进入该模块进行操作。

“考前处理”菜单含“输入考生信息”“查询考生信息”和“打印准考证”子菜单。

“成绩信息”菜单含“输入考生成绩”“查询考生成绩”和“输出考生成绩”子菜单。其中“查询考生成绩”菜单又含“按准考证号查询”“按总分查询”子菜单。

“录用”菜单含“录用”“查看录用结果”和“打印录用通知书”子菜单。

4.数据输入界面

数据输入界面的设计要简洁、美观,符合用户的要求,既要把需要输入的各数据项全部列出,又要方便用户的使用。输入的数据项要和已建立的数据库所含的字段一一对应,在用户输入数据并确认数据无误后,将数据存入数据库中。

如果输入数据是几个固定数值中的某一个,数据又是汉字,输入比较麻烦,此时可设计下拉框供用户选择。

本系统中,考生信息的内容为准考证号、姓名、性别、地区、出生年月、地址、专业等。其中,“专业”可设计成下拉列表框,让用户从“法律”“行政”“财经”三个中选择一个。“地区”也是从固定的几个数据中选择一个,也可设计成下拉列表框。对“性别”这样只有“男”“女”两个可能值的属性,设计“男”“女”两个值,其中“男”是默认值,如果性别是“女”时,选择“女”;性别是“男”时,不必操作,可节省输入时间。

当一个考生的所有信息输入完成时,要有一个确以框,提醒用户核对数据后再存故到数据库内。

考生成绩输入是按考场、分科目进行的,因而输入界面设计时,先选择考试科目,再输入考场号,此时应将数据库中该考场所有考生的准考证号及科目用表格形式显示出来,供用户输入成绩。

3.5考前处理

考前处理主要是准考证号的确定。准考证号的编排要考虑考生报考的专业、所在的地区等。招聘考试分为三个专业,为方便用户操作,设计下拉列表框由用户在法律、行政和财经三个专业中选择一个即可,不必每次输入专业。

全市共分若干个区,考生一般在本区报考,因而所属地区也设计下拉列表框让用户选择。每个地区报考同一专业的考生可能较多时,需要安排若干个考场,可将考场编号。因而在输入考生信息时还要输入考场号。

根据准考证号编排规则,第一位专业号、第二位地区号可用上述方式选定,考场序号由用户输入。准考证号的第五、六位是本考场中的序号,让计算机自动生成:设置计数器,每个考场每当输入一个考生,计数器自动加1,作为准考证号的第五、六位数字,即序号。

考虑到准考证的重要性,一般系统用户不能进入打印准考证模块,进入系统后不出现打印准考证模块。只有获得许可权限的用户才能进入打印准考证模块。

输入设计

输入分为考生信息输入和成绩输入两种。

1、考生信息输入

考生信息输入应包含考生报名时所填写的全部内容,然后由计算机自动编排准考证号。

程序编写时考虑以下两个与准考证号编码有关的代号,将这些数据分别设计成下拉列表框,供输入人员选择其中一个数据。

准考证号为“地区”加本考场的报名序号,报名序号设计成每位考生报名时自动加1。因而有:

准考证号=地区+序号

考生信息输入界面应含有选择性别、地区的下拉列表框,输入考场号、考生姓名,选择性别,输入出生年月,输入考生地址等内容。

2、考生成绩输入

招聘考试成绩输入是关系考生能否被录用的重要工作,要设置权限。只有获得使用权限的人员才能进入成绩信息输入模块,其他人员只能查询考试成绩。

由于考卷在每门科目的考试完毕时,是由监考人员按考场内准考证号的次序装订成册的,因而考生成绩输入是分科目、分考场进行的。同一考场、同一科目的成绩按准考证号顺序依次输入。在输入成绩时,应首先选择科目、输入考场号,编写程序在数据库中查找记录、使记录指针按要求定位,显示该考场中考生的准考证号和考试科目,以便依次输入该考场每个考生该科目的成绩。

3.6成绩处理

成绩处理由计算机自动进行,在查询时输出结果。当考生数据量很大时,要考虑计算机的运算速度是否符合要求。

录用过程设计

对“录用”模块应设置权限,没有录用权的系统用户只能查看录用结果;有录用权的用户才可进入录用功能模块。

录用时,首先输入录用单位、专业。录用界面应提供该专业的考生中,总分最高的若干考生的信息供录用时参考。每录用一位考生,应将录用单位名称存放到该考生的“录用单位”字段里,确认录用结果后,从供录用的名单中删除这位考生。

录用结束时,应提供所有被录用的考生名单,打印录用通知书。

输出设计

输出往往是用户使用系统所得到的结果,输出设计的质量直接影响用户对系统的评价。输出数据的正确性是最重要的,输出的数据格式应尽量满足用户的要求。实在因条件有限,不能完全满足用户要求时,也应向用户做必要的解释,得到用户的理解。

本系统的输出功能分为以下几种。

1、考生信息查询

考生信息查询可设计为按准考证号查询、按姓名查询、按地区查询等不同的查询方式。

2、显示准考证

指定条件后显示准考证。

3、按准考证号排序的考生成绩表

每位考生一行,含以下内容:专业、准考证号、姓名、性别、政治、英语、专业课成绩、总分等。

系统一般用户在进入本系统后,可进行招聘考试成绩查询。成绩查询分为按准考证号的顺序查询和按总分查询两种。

4、按总分从高到低排序的考生成绩表

三个专业分别将考生按成绩总分从高到低排序,每位考生一行,含以下内容:名次、准考证号、姓名、性别、政治、英语、专业课、总分等。

5、成绩单

每位考生打印一份,内容为考生地址、准考证号、姓名、性别、政治、英语、专业课、总分等。

6、录用通知书

每位被录用的考生打印一份,其内容为地址、专业、准考证号、姓名、性别、录用单位、报到地点、报到时间等。

7、录用名单

列出所有被录用的考生的专业、准考证号、姓名、性别、录用单位等,每位考生一行。

8、每个用人单位打印一份录用名单

内容为录用单位、专业、准考证号、姓名、性别等。

第4章 系统实现

4.1 类图

程序类图如图4.1所示,该结构可以清晰的看出各类之间的调用关系。以及程序的结构。

在这里插入图片描述

图4.1 招聘考试管理系统的类图

4.2 程序入口演示

程序的入口main方法放在MainWelcome类中,目录结构如图4.2所示。

图4.2 程序的目录结构

其中icon中存放的为程序各界面的图标,img中存放有关的背景文件,用与设置背景。

4.2.1 欢迎界面

欢迎界面如图4.2.1所示,值得一提的是,本程序在此界面还加入了键盘监听用于响应用户操作,当用户按下ESC或ENTER键都会执行具体的操作,实现相应操作如代码段4.2.1所示

在这里插入图片描述
图4.2.1欢迎界面

scene.setOnKeyPressed(new EventHandler<KeyEvent>()
{
    @Override
    public void handle(KeyEvent event) {
        if(event.getCode() == KeyCode.ENTER)
        {
            primaryStage.close();
            Login.login();
        }
        if(event.getCode() == KeyCode.ESCAPE)
        {
            Platform.exit();
        }

    }});
代码段4.2.1实现按键监听功能

4.2.2 登录界面

登录界面如图4.2.21所示,该步骤将请求通过代码段4.2.2数据库查询账号及密码[2]信息是否存在及正确并给出相应的提示如4.2.22所示。


String sql = "SELECT * from 管理员 where 账号=\'" + user + "\';";        try (Connection conn = DriverManager.getConnection(url, this.user, password);

             Statement stmt = conn.createStatement();

             ResultSet rs = stmt.executeQuery(sql);

        ) {

            Class.forName(driver);

            if (rs.next()) {

                String tmpass = rs.getString("密码");

                if (pass.equals(tmpass)) {

//                   System.out.println("密码正确");

                    int privileges = rs.getInt("权限");

//                    System.out.println("权限 = "+privileges);

                    return privileges;

                } else {

                    String errorpass = "密码错误";

代码段4.2.2 请求用户账号查询密码及是否匹配并返回权限

4.2.22b
账号不存在时的提示信息

4.3主界面

登录系统后会根据不同权限进入不同界面,管理员界面如图4.3.1所示,用户界面如图4.3.2所示。

此功能是利用返回的权限信息,通过Switch语句调用对于方法实现。功能实现比较简单所以在此不展示代码。可在文件集中找到有关信息。

管理员可以插入信息,查询全部考生信息,输入成绩以及录用。

用户可以查询与本人有关系的信息。

4.4 输入数据

输入数据功能:选择考前处理->输入考生信息即可进入成绩输入界面如图4.4.1所示。实现此功能是给提交按钮添加事件监听当按钮动作之后插入信息并给出提示框如图4.4.2所示。

4.4.3 插入成功反馈

当插入一条已存在数据或信息输入不全时也将输出相应弹窗,在此不再赘述。

4.5 查询考生信息

查询数据功能:选择考前处理->查询考生信息即可进入成绩查询界面如图4.5.1所示。

图4.5.1 成绩查询界面

输入有关信息后将返回查询到的符合条件的信息,如图4.5.2所示。

图4.5.2 查询到的信息

4.6 显示准考证

显示准考证功能:选择考前处理->显示准考证即可进入准考证界面如图4.6.1所示。

图4.6.1 显示准考证号

输入准考证号后将显示与准考证号匹配的有关数据如图4.6.2。

图4.6.3 准考证

4.7 输入成绩

输入成绩功能:选择考前处理->输入成绩即可进入成绩录入界面如图4.7.1所示。

图4.7.1 成绩录入界面

其余界面未用户查询的界面此处不再赘述

第5章 系统测试

5.1 测试用例

按需求分析阶段测试方案设计的内容,分别设计一些具有典型特点的、具体的考生信息,才能对程序进行详细、全面的测试。比如,不同地区、不同专业的考生;同一地区、不同专业的考生;同一地区、同一专业的考生等。在模拟测试阶段,可以输入一些有一定编排规律的、简单的数字、符号,检查对应的输出结果是否正确。如果输出数据不符合预定要求,需及时修改程序,再进行测试。如果输入的数据复杂,会浪费较多的时间;如果输入的数据简单,可节省不少时间,两者的测试效果是一样的。

下面介绍招聘考试成绩系统的测试用例设计。分别用表中的数据来测试考前处理、成绩信息和录用三个模块。

5.2 考前处理测试

用表5.1中的专业、地区、姓名、性别、出生年月、地址等作为每位考生的输入数据,对应的测试结果是准考证号。

表5.1测试数据

姓名 性别 出生年月 身份证号 地址 地区 专业
王五 男 1999-1-1 111 Abc 甘肃 法律
李四 男 1999-1-1 222 Abcd 北京 汉语言
张三 女 2000-12-12 333 Cbd 江苏 计算机

测试结果:生成准考证号

G031000001,G031000002,J021000003

5.3 成绩处理测试

录入成绩后回到信息查询查看结果。如图5.3所示

图5.3 录入成绩后的结果

5.4 用户登录测试

使用用户账号进行登录,可以正常进入,表明测试成功

至此主要功能已全部实现。

总结与展望

此系统部分功能没有完全实现,希望未来有机会能将这些功能加入,比如通过人脸识别登录此系统,在输入成绩的时候调用OCR提取成绩然后系统自动输入,从而大大降低人力成本。在录取阶段可以直接通过系统对接征信系统调取诚信记录,提高招聘人才的素质。甚至可以加入一些部件调用有关设备,进行无纸化考试和不需要考官在场的考试,从而对考生进行更为全面的综合评价。

参考文献

[1] 陆惠恩.实用软件工程(第四版).清华大学出版社。

[2] 陆惠恩.软件工程基础. 北京邮电大学出版社。

[3] 陈国君.Java程序设计基础(第六版).清华大学出版社

源码及文档

存于百度文档
链接:https://pan.baidu.com/s/1RBnZ4q6rPT3eeAYGNRUDVQ
提取码:rfgf

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:08:21  更:2021-12-15 18:09:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:32:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码