Создание системы компьютерного тестирования для контроля знаний
Использование компьютерных технологий тестирования, их описание, значение и достоинства. Разработка технического задания для создания информационной системы. Выбор технического и программного обеспечения, проектирование приложения системы тестов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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