Создание системы компьютерного тестирования для контроля знаний

Использование компьютерных технологий тестирования, их описание, значение и достоинства. Разработка технического задания для создания информационной системы. Выбор технического и программного обеспечения, проектирование приложения системы тестов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 03.03.2015
Размер файла 571,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

textArea = new JTextArea();

textArea.setFont(new Font("Times New Roman", Font.PLAIN, 15));

textArea.setForeground(new Color(0, 0, 99));

textArea.setText("Вас приветствует приложение тестирования.\nЧто бы начать тестирование нажмите \nкнопку 'Тестирование'\nЧто бы создать тест нажмите \nкнопку 'Cоздать тест'.");

textArea.setLineWrap(true);

textArea.setEditable(false);

textArea.setBounds(5, 5, 290, 100);

startButton1.setBounds(155, 120, 140, 30);

startButton2.setBounds(5, 120, 140,30);

setLayout(null);

add(textArea);

add(startButton1);

add(startButton2);

startButton1.addActionListener(handler);

startButton2.addActionListener(handler);

}

class eHandler implements ActionListener {

public void actionPerformed(ActionEvent EVENT){

if(EVENT.getSource()==startButton1){

modeCreatingOff();

end=true;

dispose();

}

if(EVENT.getSource()==startButton2){

modeCreatingOn();

end=true;

dispose();

}

}

}

}

Программный код класса Question:

package by.gsu.alukyanov;

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.ArrayList;

import java.util.List;

/**

* Created by Антон on 27.11.2014.

*/

public class Question extends JFrame{

private static int countTrueAnswer=0;

private static int countQuestions=0;

private boolean oneAnswer=false;

public int countAnswers=0;

private List<Integer> trueAnswers=new ArrayList<Integer>();

private List<Integer> answer= new ArrayList<Integer>();

private JTextArea textArea;

private JButton button;

private List<JCheckBox> checkBoxList=new ArrayList<JCheckBox>();

private List<JRadioButton> radioButtons=new ArrayList<JRadioButton>();

private boolean end=false;

eHandler handler=new eHandler();

public boolean isOneAnswer(){

return this.oneAnswer;

}

public List<Integer> getTrueAnswers(){return this.trueAnswers;}

public List<Integer> getAnswer(){ return this.answer;}

public boolean isEnd() { return this.end; }

public void setEnd() { this.end=true; }

public static int getCountQuestions(){

return countQuestions;

}

public static int getCountTrueAnswer(){

return countTrueAnswer;

}

public static void countTrueAnswersAdd(){

countTrueAnswer++;

}

public boolean checkString(String string) {

try {

Integer.parseInt(string);

} catch (Exception e) {

return false;

}

return true;

}

public boolean isAnswerToQuestion(String line){

char[] ln=line.toCharArray();

String s=String.valueOf("Правильно: ");

char[] answ=s.toCharArray(); // Правильно:

if(ln.length>=answ.length) {

for (int i = 0; i < answ.length; i++) {

if (answ[i] != ln[i]) return false;

}

return true;

}

return false;

}

public Question(List<String> question){

super(question.get(0));

if(question.get(2).equals("Один")) this.oneAnswer=true;

else this.oneAnswer=false;

char[] trueAns=question.get(question.size()-2).toCharArray();

for(int i=0;i<trueAns.length;i++){

if(checkString(Character.toString(trueAns[i])))

trueAnswers.add(Integer.parseInt(Character.toString(trueAns[i])));

}

//--------------------------------------------------------------------------------

button=new JButton("Ответить");

textArea=new JTextArea();

textArea.setFont(new Font("Times New Roman", Font.PLAIN, 15));

textArea.setForeground(new Color(0, 0, 99));

textArea.setText(question.get(1));

textArea.setLineWrap(true);

textArea.setEditable(false);

textArea.setBounds(5, 5, 400, 50);

textArea.setAlignmentY(400);

int y=60;

ButtonGroup bg = new ButtonGroup();

if(isOneAnswer()) {

for (int i = 3; !isAnswerToQuestion(question.get(i)); i++) {

radioButtons.add(new JRadioButton(question.get(i)));

radioButtons.get(radioButtons.size() - 1).setBounds(5, y, 400, 15);

bg.add(radioButtons.get(radioButtons.size() - 1));

add(radioButtons.get(radioButtons.size() - 1));

y += 30;

if(y>179) setSize(425, 250+i*30);

radioButtons.get(radioButtons.size() - 1).setVisible(true);

countAnswers++;

}

}else {

for (int i = 3; !isAnswerToQuestion(question.get(i)); i++) {

checkBoxList.add(new JCheckBox(question.get(i)));

checkBoxList.get(checkBoxList.size() - 1).setBounds(5, y, 400, 15);

add(checkBoxList.get(checkBoxList.size() - 1));

y += 30;

if(y>179) setSize(425, 250 + i * 30);

checkBoxList.get(checkBoxList.size() - 1).setVisible(true);

countAnswers++;

}

}

int i=0;

setLayout(null);

add(textArea);

if(isOneAnswer()){

for(i=3;question.get(i).equals("");i++) {

add(radioButtons.get(i));

}

}

else {

for (i = 2; question.get(i).equals(""); i++) {

add(checkBoxList.get(i));

}

}

button.setBounds(5,190+(countAnswers-4)*15,100,30);

add(button);

button.addActionListener(handler);

}

class eHandler implements ActionListener {

public void actionPerformed(ActionEvent EVENT){

if(EVENT.getSource()==button){

if(isNullAnswer()){JOptionPane.showMessageDialog(null,"Выберите ответ.");}

else {

if(!isOneAnswer()) {

for (int i = 0; i < countAnswers; i++) {

if (checkBoxList.get(i).isSelected()) {

answer.add(i + 1);

}

}

}else {

for (int i = 0; i < countAnswers; i++) {

if (radioButtons.get(i).isSelected()) {

answer.add(i + 1);

}

}

}

countQuestions++;

setEnd();

dispose();

}

}

}

}

public boolean isNullAnswer(){

try {

for (int i = 0; i < countAnswers; i++)

if (radioButtons.get(i).isSelected()) return false;

return true;

}catch(Exception e){

for (int i = 0; i < countAnswers; i++)

if (checkBoxList.get(i).isSelected()) return false;

return true;

}

}

}

Программный код класса FirstForm:

package by.gsu.alukyanov;

import javax.swing.*;

import java.awt.*;

import java.awt.List;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.util.*;

/**

* Created by Антон on 27.11.2014.

*/

public class FirstForm extends JFrame {

private JTextArea textArea;

private JButton startButton;

private JComboBox comboBox;

private java.util.List<String> listTests=readFile(new File("").getAbsolutePath()+"\\src\\by\\gsu\\alukyanov\\"+"listOfTest");

private java.util.List<String> listTestsName=readFile(new File("").getAbsolutePath()+"\\src\\by\\gsu\\alukyanov\\"+"listOfTest");

private String testName=String.valueOf("");

eHandler handler=new eHandler();

public java.util.List<String> readFile(String file) {

try {

BufferedReader reader = new BufferedReader(new FileReader(file));

String line;

java.util.List<String> lines = new ArrayList<String>();

while ((line = reader.readLine()) != null) {

lines.add(line);

}

if (lines.get(0) == null) return null;

return lines;

}catch (Exception e){ JOptionPane.showMessageDialog(null,"Не удалось найти файл с названиями тестов\n"+e);}

return null;

}

public String getTestName(){

return this.testName;

}

public void setTestName(String testName){

this.testName=String.valueOf(testName);

}

public FirstForm(String titleForm){

super(titleForm);

startButton=new JButton("Начать тест");

comboBox=new JComboBox();

String[] list1=new String[listTests.size()];

for(int i=0;i<listTests.size();i++)

list1[i]=String.valueOf(listTests.get(i));

DefaultComboBoxModel modelComboBox=new DefaultComboBoxModel(list1);

comboBox.setModel(modelComboBox);

comboBox.setSelectedIndex(0);

textArea=new JTextArea();

textArea.setFont(new Font("Times New Roman", Font.PLAIN, 15));

textArea.setForeground(new Color(0, 0, 99));

textArea.setText("Вас приветствует приложение тестирования.\nЧто бы начать тестирование, выбирите\nтест и нажмите кнопку 'Начать тест'.");

textArea.setLineWrap(true);

textArea.setEditable(false);

GroupLayout layout=new GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setAutoCreateGaps(true);

layout.setAutoCreateContainerGaps(true);

layout.setHorizontalGroup(

layout.createSequentialGroup()

.addComponent(textArea)

.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)

.addComponent(comboBox)

.addComponent(startButton))

);

layout.setVerticalGroup(

layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)

.addComponent(textArea)

.addComponent(comboBox))

.addComponent(startButton)

);

startButton.addActionListener(handler);

}

class eHandler implements ActionListener {

public void actionPerformed(ActionEvent EVENT){

if(EVENT.getSource()==startButton){

setTestName(String.valueOf(listTestsName.get(comboBox.getSelectedIndex())));

dispose();

}

}

}

}

2.4 Описание программного средства

Программа написана на языке программирования Java 7, позволяющая проводить тестирование.

Рисунок 2.4- логическая структура системы

Тестирующая программа предназначена для проверки знаний учащихся, позволяющая преподавателю в короткое время опросить несколько десятков учеников.

Выводы по второй главе

При разработке данного программного продукта использовались программные средства:

Intellij IDEA 14 -- коммерческая интегрированная среда разработки программного обеспечения на многих языках программирования. В Intellij IDEA 14 разрабатывался дружественный интерфейс, для работы с системой тестирования. Также создание рабочей области типа панели управления «кнопок». В приложение использовались кнопки, метки, текстовые поля, переключатели, текстовые области, чекбоксы и формы.

Вопросы тестов и правильные ответы хранятся в файлах типа File, созданных с помощью этого же приложения.

ЗАКЛЮЧЕНИЕ

Для системы образования исключительное значение имеют средства и методы контроля знаний. Удобным инструментом диагностики знаний, в особенности в процессе обучения, являются компьютерные тесты. В большинстве источников, когда речь заходит о тестовых технологиях в учебном процессе, тест рассматривается как элемент контроля.

Тест - это совокупность заданий, ориентированных на определение уровня усвоения определенных аспектов содержания обучения.

Компьютерное тестирование - это средство, которое позволяет с минимальными затратами времени преподавателя объективно проверить знание большого количества студентов.

Хорошо спланированный график тестирований является хорошим стимулом, который побуждает студентов к систематической работе в течение семестра. Компьютерные тесты положительно воспринимаются студентами. Преимуществом компьютерного тестирования является автоматическая проверка результатов и исключение влияния человеческого фактора.

Системы компьютерного тестирования предоставляют широкий спектр возможностей для построения тестов различного рода: настраиваемое количество попыток прохождения теста; настраиваемые временные задержки между попытками; выбор метода оценивания; обучающий режим: студент сможет ответить на вопрос несколько раз в рамках одной попытки. Возможно начисление штрафных баллов за каждый неправильный ответ; настраиваемый режим просмотра результатов; настраиваемые комментарии ко всему тесту в зависимости от полученной оценки; настраиваемые комментарии для каждого варианта ответа; настраиваемый комментарий для каждого вопроса; конструирование теста на основе случайного выбора вопросов из категорий.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1)http://ru.wikipedia.org/wiki/Java

2) http://www.javaportal.ru/java/articles/GUISwing.html

Автор: Matt Tucker

Computer Science University of Iowa.

Article original location: www.acm.org/crossroads/xrds6-4/ovp64.html

Перевод: Евгений Шейко.

3) http://www.cyberforum.ru/java/

4) Кен Арнольд, Джеймс Гослинг. Язык программирования Java.

5) Брюс Эккель. Философия Java

ПРИЛОЖЕНИЕ

Ввод имени пользователя

Ввод пароля

Рисунок А1- Стартовое окно от администратора

Форма создания теста

Форма заполнения вопроса.

Вывод сообщения о завершении создания теста.

Стартовая форма обычного пользователя / форма появляющаяся после нажатия кнопки `Тестирование'

Пример теста.

После завершения тестирования появляется сообщение о результатах тестирования.

Размещено на Allbest.ru

...

Подобные документы

  • Создание системы компьютерного тестирования для контроля знаний. Проблемы, возникающие при создании тестовой оболочки в среде Ren`Py. Разработка проектных решений по системе и её частям. Структура тестирования, вопросы и ответы тестирующей системы.

    дипломная работа [501,6 K], добавлен 12.09.2016

  • Использование информационных технологий в учебном процессе. Тестирование как средство контроля знаний. Разработка компьютерной системы тестирования знаний. Описание языка программирования. Вредные факторы воздействия компьютера на здоровье человека.

    дипломная работа [562,2 K], добавлен 06.06.2014

  • Создание сетевой системы тестирования с целью автоматизации процесса контроля знаний, оценивания результатов и создания тестовых заданий. Файлы проекта и их назначение. Описание алгоритмов и модулей программы. Работа с сетью, руководство пользователя.

    контрольная работа [928,3 K], добавлен 23.12.2012

  • Выбор инструментальной среды разработки программного обеспечения системы. Алгоритм создания теста и ввода его исходных данных. Анализ экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию".

    дипломная работа [3,2 M], добавлен 11.09.2014

  • Проектирование базы данных, информационной подсистемы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и общие требования к техническому обеспечению. Запуск программы и описание тестовых прогонов.

    дипломная работа [3,2 M], добавлен 30.06.2011

  • Рассмотрение теоретических и методологических основ создания компьютерных тестов. Описание практической разработки программного обеспечения для контроля знаний студентов. Сравнение экономических и технических параметров аналогичных тестовых программ.

    дипломная работа [1,3 M], добавлен 14.07.2010

  • Проверка и коррекция знаний учащихся в системе личностно ориентированной технологии образования с использованием тестирования. Подготовка материалов для компьютерного контроля знаний. Разработка проекта "тестирующая программа". Понятие и виды тестов.

    дипломная работа [696,2 K], добавлен 16.06.2015

  • Назначение и архитектура экспертных систем, их применение в сфере образования. Экспертные системы тестирования, принципы их функционирования. Инструментальные средства создания приложения и разработка программы тестирования. Описание программы, листинг.

    дипломная работа [706,4 K], добавлен 07.05.2012

  • Обследование объекта, обоснование необходимости систем компьютерного тестирования. Анализ существующих разработок и обоснование выбора технологии проектирования. Создание системы компьютерного тестирования на основе случайного выбора в среде Visual Basic.

    дипломная работа [2,4 M], добавлен 18.08.2013

  • Организация проверки результатов обучения и оценки знаний, использование систем тестирования, основные требования к ним. Создание современной модели WEB-сервиса тестирования знаний; программная реализация; защита от копирования информации и списывания.

    курсовая работа [24,1 K], добавлен 11.05.2012

  • Исходные данные к проекту информационной системы "Протокол технического эксперимента", ее назначение. Описание программы, ее структурная схема. Описание алгоритма работы программы. Программные средства разработки. Методика испытания (тестирования).

    курсовая работа [806,6 K], добавлен 17.02.2016

  • Обзор технологий проектирования компьютерных тестов и анализ существующих систем тестирования. Создание системы автоматизированного тестирования студентов с динамической генерацией тестовых заданий при участии преподавателя, с функцией оценивания.

    дипломная работа [3,6 M], добавлен 18.07.2012

  • Создание технического задания на разработку информационной системы для заказа билета на самолет. Требования к документированию. Порядок контроля и приемки системы. Разработка концепции, архитектуры построения и платформы реализации информационной системы.

    курсовая работа [1,8 M], добавлен 13.05.2015

  • История развития и виды тестирования программного обеспечения. Инсталляционное, регрессионное, конфигурационное, интеграционное, локализационное, модульное тестирование. Методы сокращения трудоемкости модульного тестирования разрабатываемого приложения.

    курсовая работа [309,5 K], добавлен 16.12.2015

  • Анализ предметной области и разработка информационного обеспечения автоматизированной информационной системы "Система тестирования". Проектирование базы данных методом "Сущность-Связь". Технология создания базы в MS Access. Real-time работа системы.

    курсовая работа [4,5 M], добавлен 23.12.2014

  • История возникновения тестирования программного обеспечения, основные цели и особенности его проведения. Виды и типы тестирования, уровни его автоматизации. Использование и исследование необходимых технологий. Полный цикл прогона всей системы мониторинга.

    дипломная работа [1,7 M], добавлен 03.05.2018

  • Обоснование необходимости разработки компьютерной системы тестирования студентов. Анализ используемого программного и технического обеспечения на предприятии. Требования к функционированию модуля. Сведения о программе: структура, настройка и проверка.

    курсовая работа [1,7 M], добавлен 13.06.2017

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

  • Методика и основные этапы разработки системы тестирования для оценки уровня знаний студентов с применением технологии "Клиент-сервер". Проектирование клиентской, серверной части данной системы тестирования, порядок составления финальных отчетов.

    дипломная работа [587,6 K], добавлен 08.11.2010

  • Изучение языков программирования PHP, SQL, C++, HTML. Рассмотрение правил запуска и использования локального сервера Denwer. Составление технического задания по разработке программного продукта. Описание создаваемого мобильного и веб-приложения.

    курсовая работа [212,4 K], добавлен 07.04.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.