Интернет-система аттестационного тестирования по информатике

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

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

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

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

3. ММИС [Электронный ресурс]. - Электрон. Дан. - [М.].: ММИС. Режим доступа: http://www.mmis.ru/Default.aspx?tabid=54

4. СИНТеЗ[Электронный ресурс]. / URL: http://www.sintest.ru/

5. ФЕПО [Электронный ресурс]. / URL: http://i-fgos.ru/

6. IELTS [Электронный ресурс]. / URL: http://prtl.uhcl.edu/portal/page/portal/HR/HANDBOOKS/Automated_Information_Systems

7. BAMS [Электронный ресурс]. / URL: http://www.ncbi.nlm.nih.gov/pubmed/9155098

8. CMS DRUPAL [Электронный ресурс]. / URL: http://drupal.org/project/webform

9. UML [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/UML

10. NetBeans[Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Netbeans

11. Класс [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Класс_(программирование)

12. Объект [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Объект_(программирование)

13. Представление баз данных [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Представление_(базы_данных)

14. Модель данных [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Модель_данных

15. Linux [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Linux

16. Apache [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Apache

17. PHP [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/PHP

18. MySQL [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/MySQL

19. Проектирование баз данных [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Проектирование_баз_данных

20. HTTPS [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/Https

21. SSL [Электронный ресурс]. / URL: http://ru.wikipedia.org/wiki/SSL

22. ActualWeb [Электронный ресурс]. / URL: http://actualweb.ru/2010/04/12/Где-пользователи-ожидают-увидеть-наи

23. РД 50-34.698-90 [Электронный ресурс]. / URL: http://www.computer.edu.ru/data/files/as-50.htm

24. ГОСТ 22261-94 [Электронный ресурс]. / URL: http://vsegost.com/Catalog/76/767.shtml

25. ГОСТ 12.2.007.0-75 [Электронный ресурс]. / URL: http://www.gostedu.ru/8203.html

26. ГОСТ 12.2.007.3-75 [Электронный ресурс]. / URL: http://www.gosthelp.ru/gost/gost41086.html

27. Педагогический анализ по дисциплине «Информатика». Государственный университет по землеустройству. [Электронный ресурс]. / URL: www.guz.ru/media/file/prepanaliz11_0610.doc

28. Диагностика знаний студентов первого курса. Информатика. [Электронный ресурс]. / URL: http://www.umd.udsu.ru/Diagnost_test/Rez_DT_2011/Informatika.doc

29. Педагогический анализ по дисциплине «Информатика». Российский государственный гуманитарный университет. [Электронный ресурс]. / URL: http://www.georggu.ru/files/res/d_inf.pdf

30. Результаты тестирования студентов ООП. 080111.65 «Маркетинг» [Электронный ресурс]. / URL: http://finec.ru/files/doc/students/internet_test/analiz/analiz_market.pdf

ПРИЛОЖЕНИЕ А

Листинг программы

КЛАСС ДЛЯ РАБОТЫ С ТЕСТОМ

<?php

namespace SimpleQuiz\Utils;

use SimpleQuiz\Utils\Base\User;

use Slim\Helper\Set;

class Quiz implements Base\IQuiz {

protected $_id;

protected $_name;

protected $_description;

protected $_category;

protected $_active;

protected $_qlimit;

protected $_answers = array();

protected $_question_map = array();

protected $_questions;

protected $_question;

protected $_users;

protected $_leaderboard;

/**

* @param Set $container

*/

public function __construct(Set $container)

{

$this->_leaderboard = $container->leaderboard;

$this->_questions = new QuestionStorage();

}

/**

* @param $id

* @return bool

*/

public function setId($id)

{

$quizobj = \ORM::for_table('quizzes')->join('categories', array('quizzes.category', '=', 'categories.id'))->select_many('quizzes.name', 'quizzes.description', array('category' => 'categories.name'), 'quizzes.active', 'quizzes.qlimit')->find_one($id);

if ($quizobj) {

$this->_id = $id;

$this->_name = $quizobj->name;

$this->_description = $quizobj->description;

$this->_category = $quizobj->category;

$this->_active = $quizobj->active;

$this->_qlimit = $quizobj->qlimit;

//print_r($quizobj);

return true;

}

return false;

}

/**

* @return int

*/

public function getId()

{

return (int) $this->_id;

}

public function getLimit()

{

return (int) $this->_qlimit;

}

/**

* @return string

*/

public function getName()

{

return ucwords($this->_name);

}

/**

* @return mixed

*/

public function getDescription()

{

return $this->_description;

}

/**

* @return bool

*/

public function isActive()

{

return $this->_active == 1 ? true: false;

}

/**

* @param $questionid

* @return bool

*/

public function getAnswers($questionid)

{

if ($questionid)

{

return $this->getQuestion($questionid)->getAnswers();

}

else {

throw new \InvalidArgumentException("Передан не верный ID вопроса!");

}

return false;

}

public function getSection($questionid)

{

if ($questionid)

{

return $this->getQuestion($questionid)->getSectionId();

}

else {

throw new \InvalidArgumentException("Передан не верный ID вопроса!");

}

return false;

}

/**

* @return array

*/

public function getAllAnswersGroupedByQuestion()

{

$obj = \ORM::for_table('answers')->raw_query("SELECT group_concat(a.text ORDER BY a.correct DESC SEPARATOR '~') as grouped FROM answers a where a.quiz_id =:quizid GROUP BY a.question_num", array('quizid' => $this->_id))->find_array();

foreach ($obj as $answers)

{

$answerarray = explode('~', $answers['grouped']);

array_push($this->_answers,$answerarray);

}

return $this->_answers;

}

/**

* @param array $answers

* @param $questionid

* @return bool

*/

public function updateAnswers(Array $answers, $questionid)

{

$this->getQuestion($questionid)->updateAnswers($answers);

return true;

}

/**

* @param $questionid

* @return bool

*/

public function deleteAnswers($questionid)

{

$this->getQuestion($questionid)->deleteAnswers();

return true;

}

/**

* @param $questionid

* @param array $answers

* @return bool

*/

public function addAnswers($questionid, Array $answers)

{

$this->getQuestion($questionid)->addAnswers($answers);

}

/**

* @param $text

* @param $type

* @param array $answers

* @return bool

*/

public function addQuestion($text, $type, Array $answers, $section)

{

$max = \ORM::for_table('questions')->where('quiz_id', $this->_id)->max('num');

$num = $max + 1;

//добавить новый вопрос

$newquestion = \ORM::for_table('questions')->create(

array(

'num' => $num,

'quiz_id' => $this->_id,

'section_id' => $section,

'text' => $text

)

);

//сохранить в базу и хранилище

if ($newquestion->save())

{

$questionType = __NAMESPACE__. '\\'. ucfirst($type). 'Question';

$this->_question = new $questionType($newquestion->id(),$num, $this->_id, $text, $sectionid);

$this->_question->addAnswers($answers);

$this->_questions->attach($this->_question);

return true;

}

return false;

}

/**

* @param $questionid

* @param $text

* @return bool

*/

public function updateQuestion($questionid, $text, $sectionid)

{

$this->getQuestion($questionid)->update($text, $sectionid);

return true;

}

/**

* @param $questionid

* @return bool

*/

public function deleteQuestion($questionid)

{

$q = \ORM::for_table('questions')->where('quiz_id', $this->_id)->where('num', $questionid)->find_one();

$q->delete();

//reorder the num column in questions table

//foreign_key constraints take care of updating related answers

$toupdate = \ORM::for_table('questions')->where('quiz_id', $this->_id)->where_gt('num', $questionid)->find_many();

foreach ($toupdate as $question) {

$question->num = $question->num - 1;

}

return $toupdate->save();

}

/**

* @param $questionid

* @return bool|mixed|object

*/

public function getQuestion($questionid)

{

return $this->_questions->getById($questionid);

}

public function getQuestions()

{

return $this->_questions;

}

/**

* @return int

*/

public function countQuestions()

{

return count($this->_questions);

}

/**

* @return mixed

*/

public function getCategory()

{

return $this->_category;

}

/**

* @return $this

*/

public function populateQuestions($limit=false)

{

$quizquestions = \ORM::for_table('questions')->where('quiz_id', $this->_id)->order_by_asc('num')->find_array();

foreach ($quizquestions as $question)

{

$questionObject = new RadioQuestion($question['id'], $question['num'], $this->_id, $question['text'], $question['section_id']);

$this->_questions->attach($questionObject);

$this->_question_map[$question['section_id']][]=$question['num'];

}

//print_r($this);

return $this;

}

public function getQuestionMap()

{

$return = array ();

$qmap = array ();

if (is_array($this->_question_map)) {

$section_count = count($this->_question_map);

$limit_by_section = floor($this->_qlimit / $section_count);

//если стоит ограничение по кол-ву вопросов

if ($this->_qlimit>0 && $this->_qlimit < $this->countQuestions()) {

foreach ($this->_question_map as $k=>$secs) {

//перемешиваем вопросы в разделах

$this->_question_map[$k] = $this->genRandom($secs);

}

do {

foreach ($this->_question_map as $k=>$secs) {

if (count($this->_question_map, COUNT_RECURSIVE)-count($this->_question_map)==$this->_qlimit) {

break;

}

$first_key = key($this->_question_map[$k]);

if (count($this->_question_map[$k]) > $limit_by_section)

unset($this->_question_map[$k][$first_key]);

}

} while(count($this->_question_map, COUNT_RECURSIVE)-count($this->_question_map)>$this->_qlimit);

}//foreach

foreach ($this->_question_map as $k=>$secs) {

foreach ($secs as $q)

{

$qmap[]=$q;

}

}//foreach

}

//print_r($this->genRandom($qmap));die();

return $this->genRandom($qmap);

}

protected function genRandom($qmap) {

$return = array ();

$keys = array_keys($qmap);

shuffle($keys);

$c=0;

foreach ($qmap as $k=>$a) {

$c++;

//$a

$return[$c] = $qmap[$keys[$k]];

}

return $return;

}

public function populateUsers()

{

$this->_users = $this->_leaderboard->getMembers($this->_id);

}

/**

* @return mixed

*/

public function getUsers()

{

return $this->_users;

}

/**

* @param $num

* @return mixed

*/

public function getLeaders($num)

{

return $this->_leaderboard->getMembers($this->_id, $num);

}

/**

* @param User $user

* @param $score

* @param $start

* @param $end

* @param $timetaken

* @return bool

*/

public function addQuizTaker(User $user,$score,$num_quiz,$start,$end,$timetaken,$section,$correct)

{

return $this->_leaderboard->addMember($this->_id, $user,$score,$num_quiz,$start,$end,$timetaken,$section,$correct);

}

}

КЛАСС ДЛЯ РАБОТЫ С ВОПРОСАМИ

<?php

namespace SimpleQuiz\Utils;

use SimpleQuiz\Utils\Base\IQuestion;

class RadioQuestion implements IQuestion {

protected $_id;

protected $_num;

protected $_quizid;

protected $_sectionid;

protected $_text;

protected $_answers = array();

function __construct($_id, $_num, $_quizid, $_text, $__sectionid=0)

{

$this->_id = $_id;

$this->_num = $_num;

$this->_quizid = $_quizid;

$this->_sectionid = $__sectionid;

$this->_text = $_text;

}

public function getId()

{

return $this->_id;

}

public function getSectionId()

{

return $this->_sectionid;

}

public function getNum()

{

return $this->_num;

}

public function getText()

{

return $this->_text;

}

public function update($text, $sectionid=0)

{

$q = \ORM::for_table('questions')->where('quiz_id', $this->_quizid)->where('num', $this->_num)->find_one();

$q->set('text',$text);

$q->set('section_id',$sectionid);

$q->save();

return true;

}

/**

* @return array

*/

public function getAnswers()

{

//первый ответ правильный

$obj = \ORM::for_table('answers')->where('question_num', $this->_num)->where('quiz_id', $this->_quizid)->order_by_desc('correct')->find_many();

foreach ($obj as $answer) {

array_push($this->_answers,$answer->text);

}

return $this->_answers;

}

/**

* @param array $answers

* @return bool

*/

public function addAnswers(Array $answers)

{

foreach ($answers as $answer) {

$newanswer = \ORM::for_table('answers')->create();

$newanswer->question_num = $this->_num;

$newanswer->text = $answer[0];

$newanswer->correct = $answer[1];

$newanswer->quiz_id = $this->_quizid;

$newanswer->save();

}

return true;

}

/**

* @param array $answers

* @return bool

*/

public function updateAnswers(Array $answers)

{

$this->deleteAnswers();

$this->addAnswers($answers);

return true;

}

/**

* @return bool

*/

public function deleteAnswers()

{

\ORM::for_table('answers')->where('quiz_id', $this->_quizid)->where('question_num',

$this->_num)->delete_many();

return true;

}

}

КЛАСС ДЛЯ РАБОТЫ С ОТЧЕТАМИ

<?php

namespace SimpleQuiz\Utils;

use SimpleQuiz\Utils\Base\User;

use SimpleQuiz\Utils\Exceptions\RegisterException;

use Slim\Slim;

class Simple implements Base\ISimple {

/*СПИСОК ВОПРОСОВ ДЛЯ АДМИНА*/

public function getQuestionList($id){

$quizquestions = \ORM::for_table('questions')

->table_alias('q')

->select('q.*')

->select('s.name', 'section_name')

->select('s.id', 'section_id')

->left_outer_join('sections', array('s.id', '=', 'q.section_id'), 's')

->where('quiz_id', $id)

->order_by_asc('section_name')

->order_by_asc('num')->find_many();

return $quizquestions;

}

/*список тестов по категории*/

public function getQuizzesList($id=0,$active=0) {

$groups = \ORM::for_table('quizzes')->where(array('category' => $id, 'active' => 1))->find_many();

//var_dump($gs);

if ($active>0) {

foreach ($groups as $g) {

if ($g->id == $active) {

$g->selected = true;

} else {

$g->selected = false;

}

}

}

//print_r($groups);die();

return $groups;

}

public function deleteReport($id)

{

$quiz = \ORM::for_table('quiz_users')->find_one($id);

$quiz->delete();

return true;

}

/********** ОТЧЁТЫ ***********/

/*Список по студентам */

public function getReportByGroup($group_id=0,$quiz_id=0) {

$result = \ORM::for_table('users')->table_alias('u')

->select('u.name')

->select('qs.*')

->left_outer_join('quiz_users', 'qs.user_id=u.id AND qs.quiz_id='.$quiz_id, 'qs')

->where('u.group_id', $group_id)

->order_by_asc('u.name')

->find_many();

return $result;

}

/*отчет по тесту сгруппированного по курсам*/

public function getReportByTest($quiz_id=0) {

if (!$quiz_id) return false;

$result = \ORM::for_table('quiz_users')->table_alias('qu')

->select('g.name', 'group_name')

//->select('g.id', 'group_id')

->select_many('u.group_id','qu.score', 'qu.num_quiz', 'qu.section_score')

->join('users', 'qu.user_id=u.id', 'u')

->join('groups', 'u.group_id=g.id', 'g')

->where('qu.quiz_id', $quiz_id)

//->order_by_asc('g.name')

->find_many();

$_groups = array();

//print_r($result);

if ($result) {

$sections = $this->getSections($quiz_id);

if(!is_object($sections) || empty($sections)) {

$sections = false;

}

$_data = array();

foreach ($result as $r) {

$percentage = round($r->score / $r->num_quiz * 100);

$section_score = json_decode($r->section_score, true);

if (!isset($_data[$r->group_name]['percentage'])) $_data[$r->group_name]['percentage'] = 0;

if (!isset($_data[$r->group_name]['count'])) $_data[$r->group_name]['count'] = 0;

$_data[$r->group_name]['count']++;

$_data[$r->group_name]['id'] = $r->group_id;

$_data[$r->group_name]['percentage'] += $percentage;

if ($sections!=false) {

foreach ($sections as $s) {

$score = scoreBySection($s->id, $section_score);

if (!isset($_data[$r->group_name]['section_'. $s->id])) $_data[$r->group_name]['section_'. $s->id] = 0;

if (isset($score['percentage'])) {

$_data[$r->group_name]['section_'. $s->id] += $score['percentage'];

} else {

$_data[$r->group_name]['section_'. $s->id] += 0;

}

}

}

//$_groups[$r->group_id] = $_data;

}

if (count($_data)) {

foreach ($_data as $key=>$results) {

$count = $results['count'];

//unset($results['count']);

if ($count) {

foreach ($results as $rskey => $r) {

if($rskey == 'id') {

$_data[$key][$rskey] = $r;

} else {

$_data[$key][$rskey] = round($r/$count);

}

}

}

}

}//if (count($_data))

}

//echo \ORM::get_last_query();die();

//print_r($result);

return $_data;

}

/*ОТЧЁТ ПО ВОПРОСАМ*/

public function getReportByQuestion($group_id=0,$quiz_id=0) {

//список вопросов

$questions = $this->getQuestionList($quiz_id);

$users = $this->getReportByGroup($group_id,$quiz_id);

$_data = array();

foreach ($users as $u) {

$_data_tiem = array();

$_data_tiem['name'] = $u->name;

if ($u->score && $u->num_quiz) {

$_data_tiem['total'] = round($u->score / $u->num_quiz * 100);

}else {

$_data_tiem['total'] = 0;

}

//список правильных ответов

$result = \ORM::for_table('quiz_users')

->select('correct')

->where('user_id', $u->user_id)

->where('quiz_id', $quiz_id)

->find_one();

$qcorrect = array();

if ($result && isset($result->correct) &&!empty($result->correct)) {

$qcorrect = json_decode($result->correct, true);

if (!empty($qcorrect)) {

//print_r($qcorrect);

}

}

$x=0;

foreach ($questions as $question) {

if (!empty($qcorrect)){

if (array_key_exists($question->num,$qcorrect)) {

$_data_tiem['q'][$question->num]['result'] = $qcorrect[$question->num];

if ($question->section_id) {

$_data_tiem['q'][$question->num]['section'] = $question->section_id;

}

} else {

//$_data_tiem['q'][$question->num] = -1;

}

} else {

//$_data_tiem['q'][$question->num] = -1;

}

}//foreach

$_data['items'][] = $_data_tiem;

}//foreach users

$_data['questions'] = $questions;

//print_r($_data);

return $_data;

}

/*./ ОТЧЁТ ПО ВОПРОСАМ*/

public function getCategoryQuizzes($id) {

$quizzes = \ORM::for_table('quizzes')->join('categories', array('quizzes.category', '=', 'categories.id'))->select_many('quizzes.id', 'quizzes.name', 'quizzes.description', array('category' => 'categories.name'), 'quizzes.active')->where('quizzes.category', $id)->find_many();

return $quizzes;

}

public function quizUserExists($quizid, $userid){

return \ORM::for_table('quiz_users')->table_alias('u')->join('quizzes', array('u.quiz_id', '=', 'q.id'), 'q')->where(array('u.quiz_id' => $quizid, 'u.user_id' => $userid, 'q.category' => 2))->find_one();

}

public function isUserExists($login){

return \ORM::for_table('users')->where('login', $login)->find_one();

}

}

ПРИЛОЖЕНИЕ Б

Руководство пользователя

ИНФОРМАЦИОННАЯ СИСТЕМА УЧЕТА И ОПОВЕЩЕНИЯ СОТРУДНИКОВ ДЛЯ ПРОХОЖДЕНИЯ МЕДОСМОТРА

Б.1 Введение

Система открывается путем открытия браузера, ввода в строке адреса «http://citywifi.ddns.net:8085/sites/test/public/login/ и нажатия Enter. Появляется форма авторизации, представленная на рисунке Б.1.

Рисунок Б.1 - Форма авторизации

Б.2 Необходимые условия применения

Минимальные требования к техническому и программному обеспечению:

IBM PC - совместимый компьютер с тактовой частотой процессора не ниже 500 МГц;

объем оперативной памяти не менее 512 Мб;

объем свободного дискового пространства не менее 280 Мб;

монитор с разрешением 12801024;

манипулятор типа «мышь»;

тип операционной системы - Windows xp, Windows 7, WindowsServer 2008.

Б.3 Описание основных функций системы

Б.3.1 Ведение справочников

Ведением справочников занимается администратор БД. Для перехода к выбору справочника необходимо войти в систему на правах администратора. Далее щелкаем по вкладке «Отчеты», после чего система открывает нам форму выбора отчетов (рисунок Б.2).

Рисунок Б.2 - Форма выбора справочника

Б.3.1.1 Ведение справочника вопросов

Для перехода к справочнику вопросов необходимо выбрать вкладку «Администрирование». Система выводит список с действиями, Администратор выбирает вкладку «Все тесты» (рисунок Б.3). Для ввода новых данных следует выбрать нужный тест и, после чего система откроет форму, «Информация о тесте» (рисунок Б.4).

Рисунок Б.3 - Форма справочника вопросов

Рисунок Б.4 - Форма добавления нового вопроса

Чтобы добавить новый вопрос, необходимо ввести текстовую часть вопроса, раздел, вести ответы на вопрос и выбрать правильный вопрос «Сохранить вопрос».

Для редактирования вопроса щелкнуть по кнопке «Изменить вопрос», затем в открывшемся окне изменить нужное поле и нажать на кнопку «Сохранить» (рисунок Б.5). Система закроет окно редактирования, обновив данные в базе.

Рисунок Б.5 - Редактирование вопроса

Для редактирования ответа щелкнуть по кнопке «Изменить ответ», затем в открывшемся окне изменить нужное поле и нажать на кнопку «Сохранить» (рисунок Б.6). Система закроет окно редактирования, обновив данные в базе.

Рисунок Б.6 - Редактирование вопроса

Для удаления вопроса нужно щелкнуть по кнопке «Удалить», и на последующий вывод подтверждения удаления нажать «Удалить» (рисунок Б.7).

Рисунок Б.7 - Форма удаления вопроса

Б.3.2 Просмотр отчета

Для перехода к отчетам необходимо войти в систему в качестве администратора или преподавателя и выбрать вкладку «Отчеты». Система откроет окно выбора отчетов (рисунок Б.8).

Рисунок Б.8 - Форма выбора отчетов

Б.3.2. Просмотр журнала тестирования

Для просмотра сведений о результатах тестирований студентов нужно в полях «Курс» выбрать нужный курс, «тест» выбрать нужный тест и выбрать интересующий отчет. После чего система выводить информацию по заданным данным (рисунок Б.9).

Рисунок Б.9 - Отчет о результатах тестирования по студентам

Б.3.3 Прохождение тестирования

Для прохождения тестирования необходимо войти в систему в качестве студенте и выбрать тип тестирования «Аттестационное тестирование», «Тренировочное тестирование». Затем выбрать тест. Откроется информационное окно них (рисунок Б.10), которое описывает тест, затем нажать на ссылку «Начать тест», состоящее из вопросов и вариантов ответа на них (рисунок Б.11).

Рисунок Б.10 - Информационное окно теста.

Рисунок Б.11 - Форма прохождения тестирования

После ответа на все вопросы выводиться информационное окно результата тестирования (рисунок Б.12). Далее студент может подробнее просмотреть свои ошибки, нажимая ссылку нажать на кнопку «Посмотреть правильные ответы», система обработает ответы и выведет результаты (рисунок Б.13).

Рисунок Б.12 - Информационное окно результата тестирования

Рисунок Б.13 - Подробный результат тестирования.

Приложение В

Портфолио

Раздел 1. Уровень профессиональных знаний

Наименование мероприятия

Наименование работы

Место

проведения

Дата/форма участия

1

30-я межвузовская студенческая научно-техническая конференция СГАСУ. Студенческая наука.

Разработка информационной системы рецензирования для формирования редакционной политики научного журнала

ФБГОУ ВПО СГСУ, г.Самара

24.03.2011

Доклад,

очное

участие

2

30-я межвузовская студенческая научно-техническая конференция СГАСУ. Студенческая наука.

Экспорт данных о статье из Microsoft Word. Анализ адекватности разработанной методики

ФБГОУ ВПО

СГАСУ, г.Самара

24.03.2011

Доклад,

очное

участие

3

31-я межвузовская студенческая научно-техническая конференция СГАСУ. Студенческая наука.

Модуль ИС выбора необходимого методического обеспечения из вузовской электронной библиотеки

ФБГОУ ВПО

СГАСУ, г.Самара

28.03.2012,

Доклад, очное

участие

4

31-я межвузовская студенческая научно-техническая конференция СГАСУ. Студенческая наука. (Секция «Второй курс»)

Исследование изменения приоритетов мотивирующих факторов в зависимости от курса обучния.

ФБГОУ ВПО СГСУ, г.Самара

28.03.2012,

Доклад, очное

участие

5

Конкурс студентов СГАСУ по естественным, техническим и гуманитарным наукам

Разработка информационной системы рецензирования для формирования редакционной политики научного журнала

ФБГОУ ВПО СГСУ, г.Самара

21.02.2013, очное

участие

6

32-я межвузовская студенческая научно-техническая конференция СГАСУ. Студенческая наука.

Экспорт данных о статье из Microsoft Word. Анализ адекватности разработанной методики

ФБГОУ ВПО СГСУ, г.Самара

27.03.2013, доклад, очное

участие

7

33-я межвузовская студенческая научно-техническая конференция СГАСУ. Студенческая наука.

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

ФБГОУ ВПО СГСУ, г.Самара

26.03.2014, доклад, очное

участие

8

33-я межвузовская студенческая научно-техническая конференция СГАСУ. «Студенческая наука»

Интеллектуальная система «Умная камера»

ФБГОУ ВПО СГСУ, г.Самара

26.03.2014, доклад, очное

участие

9

Международная конференция «Творческий потенциал-2014»

Интеллектуальная система «Умная камера»

ФБГОУ ВПО СГСУ, г.Самара

19.11.2014, доклад, очное участие

10

Поволжский региональный конкурс научно-исследовательских работ «Творческий потенциал»

Информационная система управления развивающими курсами «Креативный информатик»

ФБГОУ ВПО СГСУ, г.Самара

11.12.2014, доклад, очное

участие

Раздел 2. Участие в научно-исследовательской работе

Тема курсовой (дипломной) работы

Дата

Оценка

1

Исследование изменения приоритетов мотивирующих факторов в зависимости от курса обучения.

26.05.12

4

2

Модуль ИС выбора необходимого методического обеспечения из вузовской электронной библиотеки

26.12.12

5

3

Экспорт данных о статье из Microsoft Word. Анализ адекватности разработанной методики

26.05.13

4

4

Разработка информационной системы рецензирования для формирования редакционной политики научного журнала

26.05.13

4

5

2 Установка камеры в 520 ауд и управоение ею из системы мониторинга безопасности

26.05.14

5

6

Информационная система управления развивающими курсами «Креативный информатик»

26.12.14

4

Раздел 3. Самообразование

Название индивидуальной программы самообразования (курсы, посещение профессиональных форумов и т.д.)

Дата

1

1. Серебряный сертификат № 287472 базового дистанционного тестирования на знание возможностей использования системы «Гарант аэро», выдан;

27.11. 14

2

Участие в Форуме «StartUp Samara»

20.12. 13

3

Участие в Форуме «Траектория Успеха!» года на образовательных площадках г.о. Самара.

27.11.14

4

Участие в приеме ветеранов Великой Отечественное Войны в СГАСУ

9.05.13

ПУБЛИКАЦИИ

1. Научный потенциал, 2014 (Список ВАК) - «Информационная система управления развивающими курсами «Креативный информатик» (статья направлена в печать)».

Раздел 4. Уровень профессиональных навыков.

Название практики

Сроки прохождения

Результат

1

Интегра-С

2012-2013

Практическая работа продлена на «отлично»

Раздел 5. Участие во внеучебной деятельности колледжа.

Вид внеучебной деятельности (название мероприятия)

Год

1

СТЭМ

2010-1014

2

ЧГК

2010

3

Спортивные соревнования СГАСУ

2013

ПРИЛОЖЕНИЕ Г

1 ОБЩИЕ СВЕДЕНИЯ

Настоящее Техническое задание на создание программного комплекса оценки потребности в ресурсах разработано в соответствии с ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы».

В настоящем Техническом задании описаны общие требования к программному комплексу в целом. Требования к отдельным компонентам программного комплекса должны быть разработаны в рамках Частных технических заданий

1.1 ПОЛНОЕ НАИМЕНОВАНИЕ И УСЛОВНОЕОБОЗНАЧЕНИЕ ПРОГРАММНОГО КОМПЛЕКСА

1.1.1. Полное наименование программного комплекса

Полное наименование программного комплекса: «1.1.2. Краткое наименование программного комплекса

Краткое наименование программного комплекса: «ИСТИ».

1.2 НАИМЕНОВАНИЕ ЗАКАЗЧИКАИ ИСПОЛНИТЕЛЯ, ИХ РЕКВИЗИТЫ

1.2.1. Наименование Заказчика

ЗАКАЗЧИК: Самарский государственный архитектурно-строительный университет (СГАСУ), кафедра ПМ и ВТ и деканат ФИСТ.

Адрес: 443001, Самарская область, г.Самара, ул.Молодогвардейская,194

Телефон: (846) 242-32-48, 339-14-79

Электронная почта: sgasu@samgasu.ru

1.2.2. Исполнитель

Студент самарского государственного архитектурно-строительного университета (СГАСУ), факультета информационных систем и технологий (ФИСТ) 5 курса группы ГИП - 110, Поляков Роман Сергеевич

1.3. Основания для разработки

Основанием для проведения работ по созданию «ИСТИ» послужил приказ по кафедре об утверждении темы дипломного проекта.

1.3 ОСНОВАНИЯ ДЛЯ РАЗРАБОТКИ

«Разработка концепции. Разработка технического задания на создание «ИСТИ». Разработка технического проекта на создание «ИСТИ».

1.4 ПЛАНОВЫЕ СРОКИ НАЧАЛА И ОКОНЧАНИЯ РАБОТ

Сроки выполнения работ по созданию технического задания на создание программного комплекса «ИСТИ» определяются периодом летней сессии 2014-2015 года, 17 учебных недель.

1.5 ПОРЯДОК ОФОРМЛЕНИЯ И ПРЕДЪЯВЛЕНИЯ РЕЗУЛЬТАТОВ РАБОТ

1.5.1. Выполнение работ по разработке «ИСТИ»

Порядок выполнения, оформления и предъявления результатов работ регламентирован комплексом стандартов и руководящих документов:

- ГОСТ 34.601-90 Автоматизированные системы. Стадии создания.

- РД 50-34.698-90 Автоматизированные системы. Требования к содержанию документов.

Работы по созданию «ИСТИ» сдаются Исполнителем поэтапно в соответствии с календарным планом Проекта. По окончании каждого из этапов работ Исполнитель сдает Заказчику соответствующие отчетные документы этапа, состав которых определены методическими указаниями по курсовому проекту по дисциплине «Проектирование информационных систем».

2. НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ СИСТЕМЫ

2.1Функциональное назначение

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

Основное назначение «ИСТИ» состоит в интенсивном использовании информационных технологий в образовании, что может значительно улучшить эффективность обучения и сократить затраты на него.

Данная система позволяет оценивать полученные знания студентов по курсу «Информатика» посредством тренировочного тестирования, проводить аттестационное тестирование, вести справочную информацию и формировать отчеты по результатам тестирования; вести учет статистики прохождения студентом теста.

2.2. Цели создания программного комплекса

Целью создания тестовой системы по курсу «Информатика» является:

сравнение контроля усвоения теоретических и практических знаний через стандартное обучение и через специальную систему тестирования;

создание аппарата сравнительного анализа изученного материала по дисциплине или определенной темы по различным параметрам;

проведение корреляционно-регрессионного анализа конечных знаний студента после внедрения данной системы;

изучение значимости системы тестирования в процессе обучения.

Рассматривается возможность дать будущим специалистам в области информационных систем и технологий дать более полный комплекс знаний, умений и навыков, необходимых для повышения эффективности их профессиональной и научно-практической деятельности.

Для наглядного представления общих и частных целей создания программного комплекса составим дерево целей, которое представляет собой структурированный иерархический перечень целей, в котором цели низкого уровня подчинены и служат для достижения целей более высокого уровня (Рисунок 2.1), а также измеряемые параметры достижения цели (Таблица 2.1), дерево задач (Рисунок 2.2) и функций (Рисунок 2.3)

Рисунок 2.1 - Дерево целей

Таблица 2.1 - Измеряемые параметры для дерева целей ПК «ИСТИ»

ЦЕЛЬ

ПАРАМЕТРЫ

Увеличение объема знаний студента и постоянная проверка на его остаточные знания

1. Количество правильных ответов после прохождения тренировочного тестирования, выраженных в процентах

2. Темп прироста полученных дополнительных знаний в процессе обучения через систему начального и конечного тестирования

Разработка тестовых заданий по отдельным тематикам и дисциплинам

1. Методика разработки теста, их актуальность, новаторство

2. Эффективность применения интернет системы аттестационного тестирования

3. Возможность пропуска вопроса и возврата к нему на определенном этапе

Эргономичность и удобство работы с «ИСТИ»

1. Распределение тестов по определенной тематике дисциплины;

2. Возможность составления аттестационного тестирования дисциплины через выборку из совокупности всех вопросов различных тематик (из каждой темы 1-2 вопроса)

3. Вывод итогового отчета после прохождения теста (количество правильных/неправильных ответов; пояснения к вопросам, на которые были даны неправильные ответы; процентное соотношение)

4. Анализ сложности (простоты) вопроса по результатам тестирования

Рисунок 2.2 - Дерево задач ПК «ИСТИ»

Рисунок 2.3 - Дерево функций ПК «ИСТИ»

3. ХАРАКТЕРИСТИКА ОБЪЕКТА АВТОМАТИЗАЦИИ

3.1. Сведения об объекте автоматизации

Объектом автоматизации является процесс формирования рейтинга учебного процесса.

3.2. Сведения об условиях эксплуатации объекта автоматизации

3.2.1. Общая характеристика используемых программных и технических средств

В состав используемого общесистемного программного обеспечения входит:

Операционная система: Microsoft Windows: XP/Vista/Seven/8;

Разрядность операционных систем - x32, x64, x86;

Объем занимаемой оперативной памяти - 100 Мбайт;

Требуемый объем оперативной памяти - 1Гб;

Требуемое дисковое пространство - 1 Гб;

Тип организации взаимодействия - однопользовательское GUI - приложение;

Срок хранения информации ограничивается сроком работоспособности аппаратного обеспечения;

Срок службы ПК - 5 лет.

Время отклика не более 60 секунд;

4 ТРЕБОВАНИЯ К ПРОГРАММНОМУ КОМПЛЕКСУ

4.1 ТРЕБОВАНИЕ К СИСТЕМЕ В ЦЕЛОМ

4.1.1 Требования к функциональным возможностям

Детальное описание требований к ПК «ИСТИ» должно быть представлено в документах технического проекта.

ПК «ИСТИ» должен обеспечивать выполнение следующих функций:

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

Ввод и редактирование исходных данных для работы ПК

Оформление теста, вопросов и отчета и внесение новых данных в систему

Ввод и редактирование вопросов и тестов

Оценивание результата прохождения теста

Оценивание результата прохождения теста

Формирование списка студентов, проходивших тестирование

Хранение отчетов по первично пройденным тестам и их результата

Динамика прироста знаний у студентов

Просмотр статистики прохождения тестов

Просмотр краткой информации по результатам

4.2 Требование к информационному обеспечению

4.2.1 Информационное и программное обеспечение системы должно разрабатываться на основе следующих документов и информационных массивов:

- список вопросов.

-список ответов.

- список разделов.

Состав справочников уточняется в процессе проектирования.

4.2.2 ВПК должны вестись следующие справочники:

Справочник о курсах

Справочник о пользователях

Справочник о разделах

Справочник о вопросах

Справочник о ответах

Справочник о тестах

Предусмотреть резервное копирование на магнитные носители программы и информационного обеспечения системы с целью восстановления системы в течении не более 0,5 часа после возникновения аварийной ситуации.

4.3 Требования к программному обеспечению

Минимальные требования к техническому и программному обеспечению:

IBM PC - совместимый компьютер с тактовой частотой процессора не ниже 500 МГц;

объем оперативной памяти не менее 512 Мб;

объем свободного дискового пространства не менее 280 Мб;

монитор с разрешением 12801024;

манипулятор типа «мышь»;

тип операционной системы - Windows xp, Windows 7, Windows Server 2008.

4.4 Технические требования к системе

Режим работы - диалоговый.

Время реакции системы при формировании отчетов не более 30 секунд без печати и не более 5 мин с печатью результатов.

Информационное обеспечение должно восстанавливаться в течение 0,5 часа после отказа НМД.

Условия работы:

Температура окружающего воздуха: -15 **- 25° С;

Относительная влажность: - 45 -г 75 %;

Содержание вредных веществ, пыли и подвижного воздуха в рабочей зоне соответствует нормам ГОСТ 12.1.005, 12.1.007; система должна удовлетворять санитарным правилам и нормам СанПин 2.2.2/2.4.1340-03.

5 ПОРЯДОК ВНЕСЕНИЯ ИЗМЕНЕНИЙ

Настоящее техническое задание может дополняться и изменяться в процессе разработки программного комплекса в соответствии с требованиями ГОСТ 34.602-89«Информационная технология. Комплекс стандартов на программный комплекс. Техническое задание на создание программного комплекса».

Не допускается вносить изменения в техническое задание после представления АРМ на предзащиту дипломного проекта.

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


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

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