Курсовая работа: Предметная область "тестирование"

Курсовая работа: Предметная область "тестирование"




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Результаты анализа предметной области
Описание выполнения этапов проектирования
Предметная область «Тестирование». Возможные виды деятельности: ведение базы вопросов, распределенных по предметам, темам и уровням, и ответов (возможных и правильных) с указанием авторов вопросов; учет выполненного тестирования для каждого обучаемого с информацией о полученных им вопросах, данных ответах и общих результатах; формирование тестов из имеющихся вопросов.
Результаты анализа предметной области с описанием требований, правил предметной области, объектов, их атрибутов и взаимосвязей между ними.
Согласно заданию программный продукт должен выполнять следующие функции :
-деятельности: ведение базы вопросов, распределенных по предметам, темам и уровням, и ответов (возможных и правильных) с указанием авторов вопросов
-учет выполненного тестирования для каждого обучаемого с информацией о полученных им вопросах, данных ответах и общих результатах
-формирование тестов из имеющихся вопросов.
При этом были сформированы следующие объекты:
Описание выполненных этапов проектирования БД.

После анализа предметной области указанные ранее объекты были преобразованы в таблицы базы данных.
Выбор этих ключей обеспечивает уникальность записей в каждой из таблиц.
Так же для создания связей N:M были сформированы таблицы Тест-Вопрос и Вопрос-Ответ.
Поля таблиц были выбраны с учётом нормализации отношений, таблицы не содержат избыточных данных и не могут привести к различным аномалиям.
Описание способов реализации запросов и отчётов
Подсчет кол-ва тестов за заданный промежуток времени
Вывод фамилии с поиском по ид теста
Вывод оценок ответов в данном тесте
SELECT Answer.grade, Test_Question.ID_test, Test_Question.ID_question, Answer.ID_answer
FROM Answer INNER JOIN (Test_Question INNER JOIN Answer_Question ON Test_Question.ID_question = Answer_Question.ID_question) ON Answer.ID_answer = Answer_Question.ID_answer
WHERE (((Test_Question.ID_test)=[x]) AND ((Test_Question.ID_question)=[Answer_Question].[ID_question]) AND ((Answer.ID_answer)=[Answer_Question].[ID_answer]) AND ((Answer.correct)='yes'));
Поиск участников теста по месту проведения теста
Поиск вопроса по участку текста вопроса
Вывод всех тестов за промежуток времени
Подсчет кол-ва тестов за прошедшую неделю
SELECT Count(ID_test) AS [kol-vo testov]
WHERE test_date BETWEEN NOW()-7 AND NOW();
Вывод даты проведения теста по ид участника
FROM Test AS T INNER JOIN Member AS M ON T.ID_test=M.ID_test
Описание групп пользователей ИС, средств управления разделением доступа и функциональных возможностей каждой группы
При реализации продукта было выделено три группы пользователей
-возможность просматривать таблицы пользователей и изменять их
-возможность просматривать и изменять все таблицы
-возможность просматривать лог действий
-возможность просматривать и изменять таблицы , связанные с предметной областью
-возможность просматривать таблицы Вопрос,Тема,Предмет,Автор без изменения их
-возможность выполнения всех запросов
Программа была разработана с использованием одного окна, изменяющего свои размеры в зависимости от этапа работы программы.
1.Окно авторизации при запуске программы:
2.Окно программы при входе под записью главного администратора:
Пример окна после выбора пункта меню-база данных-таблицы-вопросы
Таблица редактируется(изменение уже созданной записи и создание новой здесь же)
Жмем «сохранить» и сохраняем наши изменения в БД
3,При нажатии на пункт меню «запросы» становиться доступным выбор возможных запросов
Пример запроса с вводом двух данных
4.Просмотр лога действий(базы данных-лог)
В качестве контрольного примера рассмотрим выполнение запроса на подсчет кол-ва тестов за определенный промежуток времени
Сообщения программы, причины, их вызывающие, и реакция пользователя на сообщения
1.Сообщение о неверном вводе логина или пароля
2.Попытка создания записи главного администратора
В системе запрещено создание дублирующих записей. Запись главного администратора является единственной и не может быть удалена из системы.
Текст программы, с необходимыми комментариями
Реализация входа пользователя в систему
private: System::Void Вход_Click(System::Object^ sender, System::EventArgs^ e) {
if((textBox1->Text!="") && (textBox2->Text!=""))
String^ connect="provider=Microsoft.Jet.OLEDB.4.0;"+path_a;
OleDbConnection^ myOleDbConnection = gcnew OleDbConnection(connect);
OleDbCommand^ myOleDbCommand = myOleDbConnection->CreateCommand();
"WHERE [login]='"+textBox1->Text+"' AND ([pass]='"+textBox2->Text+"');";
OleDbDataReader^ myOleDbDataReader = myOleDbCommand->ExecuteReader();
id=Convert::ToInt32(myOleDbDataReader[0]);
lvl=Convert::ToInt32(myOleDbDataReader[1]);
String^ connectionString2 = "provider=Microsoft.Jet.OLEDB.4.0;"+path_a;
OleDbConnection^ myOleDbConnection2 = gcnew OleDbConnection(connectionString2);
OleDbCommand^ myOleDbCommand2 = myOleDbConnection2->CreateCommand();
"VALUES ("+id+", Now(), 'Входвсистему');";
OleDbDataReader^ myOleDbDataReader2 = myOleDbCommand2->ExecuteReader();
this->ClientSize = System::Drawing::Size(500, 220);
this->dataGridView1->Location = System::Drawing::Point(12,30);
this->listBox1->Location=System::Drawing::Point(300,30);
String^ connectionString2 = "provider=Microsoft.Jet.OLEDB.4.0;"+path_a;
OleDbConnection^ myOleDbConnection2 = gcnew OleDbConnection(connectionString2);
OleDbCommand^ myOleDbCommand2 = myOleDbConnection2->CreateCommand();
"VALUES ("+id+", Now(), 'Входвсистему');";
OleDbDataReader^ myOleDbDataReader2 = myOleDbCommand2->ExecuteReader();
this->ClientSize = System::Drawing::Size(500, 220);
this->пользователяToolStripMenuItem->Visible=false;
this->участникиToolStripMenuItem->Visible=false;
this->логToolStripMenuItem->Visible=false;
this->dataGridView1->Location = System::Drawing::Point(12,30);
this->dataGridView1->ReadOnly=false;
this->listBox1->Location=System::Drawing::Point(300,30);
String^ connectionString2 = "provider=Microsoft.Jet.OLEDB.4.0;"+path_a;
OleDbConnection^ myOleDbConnection2 = gcnew OleDbConnection(connectionString2);
OleDbCommand^ myOleDbCommand2 = myOleDbConnection2->CreateCommand();
"VALUES ("+id+", Now(), 'Входвсистему');";
OleDbDataReader^ myOleDbDataReader2 = myOleDbCommand2->ExecuteReader();
this->ClientSize = System::Drawing::Size(500, 220);
this->пользователяToolStripMenuItem->Visible=false;
this->тестВопросToolStripMenuItem->Visible=false;
this->вопросОтветToolStripMenuItem->Visible=false;
this->ответыToolStripMenuItem->Visible=false;
this->участникиToolStripMenuItem->Visible=false;
this->тестыToolStripMenuItem->Visible=false;
this->логToolStripMenuItem->Visible=false;
this->уровеньToolStripMenuItem->Visible=false;
this->dataGridView1->Location = System::Drawing::Point(12,30);
this->dataGridView1->ReadOnly=true;
this->listBox1->Location=System::Drawing::Point(300,30);
Участок кода , реализующий один из запросов
String^ connect="provider=Microsoft.Jet.OLEDB.4.0;"+path_d;
OleDbConnection^ myOleDbConnection = gcnew OleDbConnection(connect);
DataSet = gcnew System::Data::DataSet();
OleDbCommand^ myOleDbCommand = myOleDbConnection->CreateCommand();
myOleDbCommand->CommandText ="SELECT Answer.grade, Test_Question.ID_test, Test_Question.ID_question, Answer.ID_answer FROM Answer INNER JOIN (Test_Question INNER JOIN Answer_Question ON Test_Question.ID_question = Answer_Question.ID_question) ON Answer.ID_answer = Answer_Question.ID_answer WHERE (((Test_Question.ID_test)='"+this->textBox3->Text+"') AND ((Test_Question.ID_question)=[Answer_Question].[ID_question]) AND ((Answer.ID_answer)=[Answer_Question].[ID_answer]) AND ((Answer.correct)='yes'));";
myOleDbDataAdapter = gcnew OleDbDataAdapter();
myOleDbDataAdapter->SelectCommand = myOleDbCommand;
myOleDbDataAdapter->Fill(DataSet,"Test");
dataGridView1->DataSource = DataSet ;
dataGridView1->DataMember = "Test";
this->dataGridView1->DataSource = DataSet->Tables["Test"]->DefaultView;
String^ connectionString2 = "provider=Microsoft.Jet.OLEDB.4.0;"+path_a;
OleDbConnection^ myOleDbConnection2 = gcnew OleDbConnection(connectionString2);
OleDbCommand^ myOleDbCommand2 = myOleDbConnection2->CreateCommand();
"VALUES ("+id+", Now(), 'Выводоценоктестасуказанием id теста');";
OleDbDataReader^ myOleDbDataReader2 = myOleDbCommand2->ExecuteReader();
Так как изменение данных и создание новой записи происходят средствами компонента datagridview то далее будет показан код, отвечающий за сохранение этих данных (кнопка «сохранить»)
private: System::Void Сохранить_Click(System::Object^ sender, System::EventArgs^ e) {
OleDbCommandBuilder^ myOleDbCommandBuilder=gcnew OleDbCommandBuilder(myOleDbDataAdapter);
myOleDbDataAdapter->Update(DataSet,table);
String^ connectionString2 = "provider=Microsoft.Jet.OLEDB.4.0;"+path_a;
OleDbConnection^ myOleDbConnection2 = gcnew OleDbConnection(connectionString2);
OleDbCommand^ myOleDbCommand2 = myOleDbConnection2->CreateCommand();
"VALUES ("+id+", Now(), 'Сохранениеизменений');";
OleDbDataReader^ myOleDbDataReader2 = myOleDbCommand2->ExecuteReader();

Название: Предметная область "тестирование"
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа
Добавлен 10:26:37 11 декабря 2010 Похожие работы
Просмотров: 102
Комментариев: 14
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Данные о книге, из которой был взят вопрос
Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Предметная область "тестирование"
Доклад по теме Техника безопасности при возгорании ЛВЖ
Реферат по теме Фороракос
Контрольная работа по теме Механизированные инструменты
Дипломная работа: Управління файлами за допомогою файлового менеджера Windows Commander
Дипломная работа: Влияние уровня самооценки на успешность в современной Эстонии.
Менің Әжем Туралы Эссе
Темы Для Эссе 2022
Реферат: Международные морские проливы и каналы. Скачать бесплатно и без регистрации
Курсовая работа по теме Перспективы использования лекарственных растений в качестве биологически активных добавок
Развитие Систем Социальной Защиты Населения Курсовая
Курсовая работа: Педагогические функции урока (лекции)
Курсовая Работа Расчет Насоса Жидкости
Идеальные и реальные кристаллы
Сочинение На Тему Мозг 9.3
Сочинение Полтавская Битва 7 Класс
Титульный Лист Эссе Рудн
Курсовая Работа На Тему Формирование Заработной Платы
Практическая Работа С Детьми С Овз
Темы Декабрьских Сочинений 2022 2022 Год
Курсовая работа по теме Философия как часть культуры, форма мировоззрения и область знания
Статья: Утверждение жизни
Реферат: Иерсиниозы животных
Доклад: Рубки и экспорт древесины в Китай - региональный фокус. Иркутская область

Report Page