Автоматизированная система анализа психологического состояния личности по результатам тестирования
Выбор и обоснование среды разработки и языка программирования. Расчет целесообразного объема продаж и оценка безубыточности. Обеспечение безопасности автоматизированной системы анализа психологического состояния личности по результатам тестирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.10.2017 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3. Педантичный тип.
Характеризуется ригидностью, инертностью психических процессов, тяжестью на подъем, долгим переживанием травмирующих событий. В конфликты вступает редко, выступая скорее пассивной, чем активной стороной. В то же время очень сильно реагирует на любое проявление нарушения порядка. На службе ведет себя как бюрократ, предъявляя окружающим много формальных требований. Пунктуален, аккуратен, особое внимание уделяет чистоте и порядку, скрупулезен, добросовестен, склонен жестко следовать плану, в выполнении действий нетороплив, усидчив, ориентирован на высокое качество работы и особую аккуратность, склонен к частым самопроверкам, сомнениям в правильности выполненной работы, брюзжанию, формализму. С охотой уступает лидерство другим людям.
4. Возбудимый тип.
Недостаточная управляемость, ослабление контроля над влечениями и побуждениями сочетаются у людей такого типа с властью физиологических влечений. Ему характерна повышенная импульсивность, инстинктивность, грубость, занудство, угрюмость, гневливость, склонность к хамству и брани, к трениям и конфликтам, в которых сам и является активной, провоцирующей стороной. Раздражителен, вспыльчив, часто меняет место работы, неуживчив в коллективе. Отмечается низкая контактность в общении, замедленность вербальных и невербальных реакций, тяжеловесность поступков. Для него никакой труд не становится привлекательным, работает лишь по мере необходимости, проявляет такое же нежелание учиться. Равнодушен к будущему, целиком живет настоящим, желая извлечь из него массу развлечений. Повышенная импульсивность или возникающая реакция возбуждения гасятся с трудом и могут быть опасны для окружающих. Он может быть властным, выбирая для общения наиболее слабых.
5. Гипертимический тип.
Людей этого типа отличает большая подвижность, общительность, болтливость, выраженность жестов, мимики, пантомимики, чрезмерная самостоятельность, склонность к озорству, недостаток чувства дистанции в отношениях с другими. Часто спонтанно отклоняются от первоначальной темы в разговоре. Везде вносят много шума, любят компании сверстников, стремятся ими командовать. Они почти всегда имеют очень хорошее настроение, хорошее самочувствие, высокий жизненный тонус, нередко цветущий вид, хороший аппетит, здоровый сон, склонность к чревоугодию и иным радостям жизни. Это люди с повышенной самооценкой, веселые, легкомысленные, поверхностные и, вместе с тем, деловитые, изобретательные, блестящие собеседники; люди, умеющие развлекать других, энергичные, деятельные, инициативные. Большое стремление к самостоятельности может служить источником конфликтов. Им характерны вспышки гнева, раздражения, особенно когда они встречают сильное противодействие, терпят неудачу. Склонны к аморальным поступкам, повышенной раздражительности, прожектерству. Испытывают недостаточно серьезное отношение к своим обязанностям. Они трудно переносят условия жесткой дисциплины, монотонную деятельность, вынужденное одиночество.
6. Дистимический тип.
Люди этого типа отличаются серьезностью, даже подавленностью настроения, медлительностью, слабостью волевых усилий. Для них характерны пессимистическое отношение к будущему, заниженная самооценка, а также низкая контактность, немногословность в беседе, даже молчаливость. Такие люди являются домоседами, индивидуалистами; общества, шумной компании обычно избегают, ведут замкнутый образ жизни. Часто угрюмы, заторможены, склонны фиксироваться на теневых сторонах жизни. Они добросовестны, ценят тех, кто с ними дружит и готовы им подчиниться, располагают обостренным чувством справедливости, а также замедленностью мышления.
7. Тревожный тип.
Людям данного типа свойственны низкая контактность, минорное настроение, робость, пугливость, неуверенность в себе. Дети тревожного типа часто боятся темноты, животных, страшатся оставаться одни. Они сторонятся шумных и бойких сверстников, не любят чрезмерно шумных игр, испытывают чувство робости и застенчивости, тяжело переживают контрольные, экзамены, проверки. Часто стесняются отвечать перед классом. Охотно подчиняются опеке старших, нотации взрослых могут вызвать у них угрызения совести, чувство вины, слезы, отчаяние. У них рано формируется чувство долга, ответственности, высокие моральные и этические требования. Чувство собственной неполноценности стараются замаскировать в самоутверждении через те виды деятельности, где они могут в большей мере раскрыть свои способности. Свойственные им с детства обидчивость, чувствительность, застенчивость мешают сблизиться с теми, с кем хочется, особо слабым звеном является реакция на отношение к ним окружающих. Непереносимость насмешек, подозрения сопровождаются неумением постоять за себя, отстоять правду при несправедливых обвинениях. Редко вступают в конфликты с окружающими, играя в них в основном пассивную роль, в конфликтных ситуациях они ищут поддержки и опоры. Они обладают дружелюбием, самокритичностью, исполнительностью. Вследствие своей беззащитности нередко служат "козлами отпущения", мишенями для шуток.
8. Экзальтированный тип.
Яркая черта этого типа -- способность восторгаться, восхищаться, а также -- улыбчивость, ощущение счастья, радости, наслаждения. Эти чувства у них могут часто возникать по причине, которая у других не вызывает большого подъема, они легко приходят в восторг от радостных событий и в полное отчаяние-- от печальных. Им свойственна высокая контактность, словоохотливость, влюбчивость. Такие люди часто спорят, но не доводят дела до открытых конфликтов. В конфликтных ситуациях они бывают как активной, так и пассивной стороной. Они привязаны к друзьям и близким, альтруистичны, имеют чувство сострадания, хороший вкус, проявляют яркость и искренность чувств. Могут быть паникерами, подвержены сиюминутным настроениям, порывисты, легко переходят от состояния восторга к состоянию печали, обладают лабильностью психики.
9. Эмотивный тип.
Этот тип родственен экзальтированному, но проявления его не столь бурны. Для них характерны эмоциональность, чувствительность, тревожность, болтливость, боязливость, глубокие реакции в области тонких чувств. Наиболее сильно выраженная черта-- гуманность, сопереживание другим людям или животным, отзывчивость, мягкосердечность, выражение радости чужим успехам. Они впечатлительны, слезливы, любые жизненные события воспринимают серьезнее, чем другие люди. Подростки остро реагируют на сцены из фильмов, где кому-либо угрожает опасность, сцена насилия может вызвать у них сильное потрясение, которое долго не забудется и может нарушить сон. Редко вступают в конфликты, обиды носят в себе, не "выплескиваются" наружу. Им свойственно обостренное чувство долга, исполнительность. Бережно относятся к природе, любят выращивать растения, ухаживать за животными.
10. Циклотимный тип.
Характеризуется сменой гипертимных и дистимных состояний. Им свойственны частые периодические смены настроения, а также зависимость от внешних событий. Радостные события вызывают у них картины гипертимии: жажда деятельности, повышенная говорливость, скачка идей; печальные -- подавленность, замедленность реакций и мышления, так же часто меняется их манера общения с окружающими людьми. В подростковом возрасте можно обнаружить два варианта циклотимической акцентуации: типичные и лабильные циклоиды. Типичные циклоиды в детстве обычно производят впечатление гипертимных, но затем проявляется вялость, упадок сил, то, что раньше давалось легко, теперь требует непомерных усилий. Прежде шумные и бойкие, они становятся вялыми домоседами, наблюдается падение аппетита, бессонница, или, наоборот, сонливость. На замечания реагируют раздражением, даже грубостью и гневом, в глубине души, однако, впадая при этом в уныние, глубокую депрессию, не исключены суицидальные попытки. Учатся неровно, случившиеся упущения наверстывают с трудом, порождают в себе отвращение к занятиям. У лабильных циклоидов фазы смены настроения обычно короче, чем у типичных циклоидов. "Плохие" дни отмечаются более насыщенными дурным настроением, чем вялостью. В период подъема выражены желания иметь друзей, быть в компании. Настроение влияет на самооценку.
А.3 Шкалы теста «Доминирующие состояния»
Шкала Ак: активное--пассивное отношение к жизненной ситуации.
Высокие оценки (более 60 Т-баллов). Выражено активное, оптимистическое отношение к жизненной ситуации, есть готовность к преодолению препятствий, вера в свои возможности. Ощущение сил для преодоления препятствий и достижения своих целей. Жизнерадостность выше, чем у большинства людей.
Низкие оценки (менее 40 Т-баллов). Пассивное отношение к жизненным ситуациям, в оценке многих из них преобладают пессимизм, неверие в успешное преодоление препятствий.
Шкала Бо: бодрость--уныние.
Высокие оценки. Повышенное, бодрое настроение, преобладает положительный эмоциональный фон. Расширение интересов, ожидание радостных событий в будущем. Выражено желание действовать.
Низкие оценки. Пониженное, печальное настроение, уныние, преобладает отрицательный эмоциональный фон. Свойственны разочарованность ходом событий, сужение интересов, в картине будущего отмечаются мрачные тона, смысл его неясен. При очень высоких оценках -- подавленность, чувство грозящего несчастья, гипотимность.
Шкала То: тонус высокий--низкий.
Высокие оценки. Повышенная вероятность активности и расходования энергии, стенического реагирования на возникающие трудности. Субъективные ощущения внутренней собранности, запаса сил, энергии. Повышена готовность к работе, в том числе продолжительной.
Низкие оценки. Характерны усталость, несобранность, вялость, инертность, низкая работоспособность. Снижена вероятность проявления активности, расходования энергии, уменьшен ресурс сил, повышена утомляемость. Склонность проявлять астенические реакции на возникающие трудности.
Шкала Ра: раскованность--напряженность.
Высокие оценки. В настоящей ситуации человек не усматривает вызова, проблемы в значительной степени разрешены или успешно решаются. Желаемые цели воспринимаются как вполне достижимые. Возможно, что ситуация оценивается как неразрешимая, но нет ее активного отвержения, эмоциональная острота непринятия стерта. Нет сильного стремления осуществлять какие-либо изменения в себе, своем поведении или в ситуации, интенсивно выполнять необходимые преобразования, в большей мере овладевать ситуацией. Характерна раскованность. При очень высоких оценках -- безразличие, успокоенность.
Низкие оценки. Преобладает интенсивное стремление осуществить необходимое, в более полной мере действовать, вести себя желаемым образом. Переживание большой значимости происходящих в жизни субъекта событий, возникшей ситуации; переживание повышенной значимости осуществляемого поведения, деятельности. Свойственно более масштабное вовлечение ресурсов или активизация защитных механизмов. Под напряженностью здесь имеется в виду преимущественно эмоциональная напряженность.
Шкала Сп: спокойствие--тревога.
Высокие оценки. Большая уверенность в своих силах и возможностях, чем у большинства людей. В психическом состоянии переживание тревоги имеет определяющее значение для ряда других явлений. Именно тревога усиливает звучание эмоциогенных раздражителей различной силы, в том числе и незначительных, увеличивая интенсивность отрицательных эмоций, усугубляя их негативное влияние на сознание, поведение и деятельность. Шкала предназначена для измерения уровня генерализованной тревоги. В литературе она обозначается также терминами «свободно плавающая», «немотивированная» и др.
Низкие оценки. Повышена склонность испытывать беспокойство в самых разных жизненных ситуациях, видеть угрозу престижу, благополучию независимо от того, насколько реальны причины. Ожидание событий с неблагоприятным исходом, предчувствие будущей угрозы (наказания, потери уважения или самоуважения) без ясного осознания ее источников.
Шкала Ус: устойчивость--неустойчивость эмоционального тона.
Высокие оценки. Преобладают ровный положительный эмоциональный тон, спокойное протекание эмоциональных процессов. Высокая эмоциональная устойчивость, в состоянии эмоционального возбуждения сохраняются адекватность и эффективность психической саморегуляции, поведения и деятельности. Очень низкие оценки можно интерпретировать как эмоциональную ригидность.
Низкие оценки. Снижена эмоциональная устойчивость, легко возникает эмоциональное возбуждение, настроение изменчиво, повышена раздражительность, преобладает негативный эмоциональный тон.
Шкала Уд: удовлетворенность--неудовлетворенность жизнью в целом (ее ходом, процессом самореализации).
Высокие оценки. Удовлетворенность жизнью в целом, ее ходом, самореализацией. Человек ощущает способность брать на себя ответственность и возможность делать выбор, в котором слышен голос собственного Я. Субъект чувствует готовность преодолеть трудности в реализации своих способностей (если высшие потребности активизированы). Достаточно высокая оценка личностной успешности.
Низкие оценки. Неудовлетворенность жизнью в целом, ее ходом, процессом самореализации и тем, как в настоящее время разворачиваются основные жизненные события. Низкая оценка личностной успешности. В настоящее время человек не нашел себя полностью, не раскрыл свои способности, не ощутил в себе надежных внутренних опор, не чувствует способности требовать от самого себя правдивых ответов. Часто характерен уход в сомнения, который позволяет уклониться от необходимости сделать жизненный выбор, прислушиваясь прежде всего к самому себе, принимая на себя ответственность за то, что с ним происходит.
Контрольная шкала
Шкала По: «положительный--отрицательный образ самого себя».
Эта шкала вспомогательная, она позволяет определить критичность самооценивания (низкую или высокую) и его адекватность.
Приложение Б
Руководство пользователя
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Самарский государственный аэрокосмический университет имени академика С.П. Королева (национальный исследовательский университет)» (СГАУ)
Факультет информатики
Кафедра информационных систем и технологий
УТВЕРЖДАЮ
Автоматизированная система анализа психологического состояния личности по результатам тестирования
Руководство разработчика
ЛИСТ УТВЕРЖДЕНИЯ
А.В.00001-01 33 01-1-ЛУ
Листов 16
Разработчик: Курицкая Ю.С.
2012
Руководство пользователя
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Самарский государственный аэрокосмический университет имени академика С.П. Королева (национальный исследовательский университет)» (СГАУ)
Факультет информатики
Кафедра информационных систем и технологий
УТВЕРЖДЕНО
А.В.00001-01 33 01-1-ЛУ
Автоматизированная система анализа психологического состояния личности по результатам тестирования
Руководство разработчика
А.В.00001-01 33 01-1-ЛУ
Листов 16
Разработчик: Курицкая Ю.С.
2012
А.1 Введение
Данное Руководство позволит Вам использовать автоматизированную систему анализа психологического состояния личности по результатам тестирования для проведения тестирования, получения значений психологического состояния личности, генерации профессиограммы и просмотра результатов ее прохождения. Перед прочтением настоящего Руководства изучите разделы 1.1.1, 2.2.1 дипломного проекта, Вам понадобятся базовые знания о системе, приведенные в них.
Человек, использующий автоматизированную систему анализа психологического состояния личности, должен обладать образованием в области психологии и навыками проведений тестирований и анализа их результатов.
Также подразумевается, что пользователь автоматизированной системы должен иметь навыки использования персонального компьютера и любой операционной системы, поддерживающей java.
А.2 Необходимые условия применения
Минимальные аппаратные требования для автоматизированной системы прогноза динамики эмоционального состояния личности:
тип ЭВМ - IBM PC совместимый;
процессор с тактовой частотой 1000 МГц и выше;
объем оперативной памяти - 512 Мб и выше;
объем внешней памяти - 1,9 Гб и выше;
монитор с разрешающей способностью не ниже 1280 Ч 720.
Программные требования для автоматизированной системы прогноза динамики эмоционального состояния личности:
операционная система Microsoft Windows XP;
виртуальная машина java (пакет jre 1.6.1 или выше).
А.3 Установка и запуск системы
Этап установки системы включает в себя установку программного обеспечения, необходимого для работы системы, а именно установка виртуальной машины Java, пакета jre 1.6.1. Рекомендуется установка последней версии jre, выпущенной на момент установки.
Особая установка самой автоматизированной системы прогноза динамики эмоционального состояния личности не требуется. Система поставляется в виде архива. Для установки необходимо только распаковать архив в необходимую директорию на целевом компьютере.
Запускающим файлом системы является Professiogram.jar. Для запуска системы необходим двойной щелчок по нему. Данные тестирований хранятся в директории src/XMLs/users.xml. Для переноса только данных необходимо переносить только этот файл, а не весь комплект системы.
А.4 Авторизация пользователей
После запуска системы открывается окно, в котором есть кнопка «Выбрать режим работы». После ее нажатия появляется окно авторизации, рисунок А.1.
Рисунок А.1. Окно авторизации, вкладка «Тестируемый»
Для регистрации тестируемого необходимо ввести фамилию, имя, отчество, дату рождения и пол, после чего нажать на кнопку «Зарегистрироваться». Если тестируемый уже регистрировался в системе, при вводе фамилии, имени, отчества и даты рождения кнопка «Зарегистрироваться» сменит название на «Войти».
Для авторизации психологу необходимо перейти на вкладку «Психолог» (рисунок А.2) и ввести собственный пароль.
Рисунок А.2. Окно авторизации, вкладка «Психолог»
Для авторизации работодателю необходимо перейти на вкладку «Работодатель» (рисунок А.2) и ввести собственный пароль.
Рисунок А.2. Окно авторизации, вкладка «Психолог»
А.5 Тестируемый
После успешной авторизации тестируемым появляется главное окно тестируемого (рисунок А.3).
Рисунок А.3. Главная форма тестируемого
Здесь тестируемый может выбрать вариант прохождения тестирования: тесты (рисунок А.4) или батареи тестов (рисунок А.5).
Рисунок А.4. Выбор теста
Рисунок А.5. Выбор батареи тестов
После выбора теста или батареи тестов, тестируемый выполняет последовательное прохождение теста или тестов, в зависимости от выбранного (рисунок А.6).
Рисунок А.6. Прохождение тестирования
После завершения прохождения тестирования демонстрируется сообщение о завершении тестирования (рисунок А.7).
Рисунок А.7. Сообщение об окончании тестирования
После того, как работодатель сформирует профессиограмму (подробнее об этом в пункте А.8), на главной форме тестируемого становится активной вкладка «Профессиограмма» (рисунок А.8).
Рисунок А.8. Активация вкладки «Профессиограмма»
При выборе вкладки «Профессиограмма» тестируемый проходит тестирование на определение профпригодности (рисунок А.9).
Рисунок А.9. Прохождение тестов на профпригодность
После аналогичных действий работодателя, но уже с формированием мотивированного статуса, становится активной вкладка «Мотивированный статус» (рисунок А.10).
Рисунок А.10. Активация вкладки «Мотивированный статус»
Выбирая вкладку «Мотивированный статус», тестируемый начинает прохождение батареи тестов на мотивацию (рисунок А.11).
Рисунок А.11. Прохождение тестов на определение мотивации
А.6 Психолог
После успешной авторизации психолога открывается основное окно психолога (рисунок А.12).
Рисунок А.12. Главная форма психолога
Для просмотра результатов необходимо выбрать в главном меню «Просмотр результатов». В нем имеется возможность выбрать определенного тестируемого, тест и определенную дату прохождения тестирования с помощью выпадающих списков (рисунок А.13), а также, по умолчанию, открыта вкладка «Ответы».
Рисунок А.13. Вкладка «Просмотр результатов»
Психолог также может выбрать на форме «Просмотр результатов» вкладку «Результаты» (рисунок А.14).
Рисунок А.14. Выбор вкладки «Результаты»
На выбранной форме имеется кнопка «Результаты», при нажатии которой откроется форма с результатами тестирования по определенному тесту выбранного тестируемого (рисунок А.15). Система позволяет копировать эту информацию на другой источник и распечатать. Можно сменить размер шрифта.
Рисунок А.15. Результаты тестирования по выбранному тесту
Рядом с кнопкой «Распечатать» располагается кнопка «Профиль», которая позволяет психологу просмотреть график результатов выбранного тестируемого по данному тесту (рисунок А.16). График также можно распечатать.
Рисунок А.16. График результатов
Психолог может просмотреть полный отчет о выбранном тестируемом по всем пройденным им тестам (рисунок А.17). Здесь система также позволяет копировать, распечатывать информацию и менять размер шрифта.
Рисунок А.17. Полный отчет о тестируемом
При выборе на главной форме психолога вкладки «Батареи», откроется окно, на котором расположены батареи тестов (рисунок А.18). Каждая из батарей содержит тесты, количество которых психолог имеет возможность изменять с помощью простановки галочек.
Рисунок А.18. Формирование батарей тестов
На главной форме имеется вкладка «Справочник тестов». При выборе этой вкладке открывается окно (рисунок А.19), в котором содержится информация по всем психологическим тестам, содержащимся в данной системе.
Рисунок А.19. Справочная информация по тестам
А.7 Работодатель
После успешной авторизации работодателя открывается главное окно работодателя. В этом окне, по умолчанию, активна вкладка «Формирование батареи». Работодатель выбирает из ниже предложенных сферу деятельности (рисунок А.20).
Рисунок А.20. Выбор сферы деятельности
После выбора сферы деятельности открывается окно, в котором демонстрируется выбранная сфера и работодателю предлагается выбор профессии (рисунок А.21).
Рисунок А.21. Выбор профессии
Следующее окно показывает выбранную сферу деятельности, профессию и список проверяемых качеств. Предлагается выбрать уровень полномочий с помощью выпадающего списка (рисунок А.22).
Рисунок А.22. Выбор уровня полномочий
Затем работодатель нажимает кнопку «Сформировать батарею» и на экран выводится сообщение об успешном формировании (рисунок А.23).
Рисунок А.23. Сообщение об успешном формировании батареи
При выборе на главной форме работодателя вкладки «Просмотр результатов» открывается окно, в котором можно просмотреть результаты прохождения профессиограммы (рисунок А.24). Выбирается нужный соискатель и система предоставляет о нем информацию. Здесь отображается профессия, уровень полномочий, список оптимальных и недостаточных качеств, степень соответствия требованиям профессии и корректируемость качеств.
Рисунок А.24. Результаты прохождения профессиограммы
Если необходимо определить у соискателя доминирующий мотив, то нажимаем кнопку «Мотивация» и выбираем, какую именно мотивацию необходимо проверить. Затем нажимаем кнопку «Создать батарею» (рисунок А.25).
Рисунок А.25. Формирование батареи мотивации
Чтобы просмотреть отчет по результатам прохождения профессиограммы соискателем, работодателю необходимо нажать кнопку «Отчет». Откроется окно, в котором будет предоставлена вся информация о профпригодности соискателя (рисунок А.26). Данную информацию можно копировать и распечатать. Для удобства просмотра реализована функция «Размер шрифта», где из выпадающего списка можно выбрать наиболее оптимальный шрифт.
Рисунок А.26. Отчет о прохождении профессиограммы
Приложение В
Листинг основных модулей
В.1 Класс BatteryController
public class BatteryController
{
private List<Integer> testIds = new LinkedList<Integer>();
private int currentTestId = -1;
private TesteeMain testeeMain;
private Timer timer = null;
private int numberRepetsOZP = -1;
private boolean testShulte = false;
private boolean batteryEnd = false;
private Answers answersOZP = null;
public Answers getAnswersOZP() {
return answersOZP;
}
public void setAnswersOZP(Answers answersOZP) {
this.answersOZP = answersOZP;
}
public BatteryController(Battery battery,TesteeMain testeeMain)
{
this.testeeMain = testeeMain;
testIds.clear();
numberRepetsOZP = -1;
testShulte = false;
batteryEnd = false;
for (BatteryElement element : battery.getBatteryElements())
{
if (element.isTestEnabled())
{
if (element.getTestId()==11)
{
numberRepetsOZP = 0;
}else
{
if (element.getTestId()==12)
{
testShulte = true;
}else
{
testIds.add(element.getTestId());
}
}
}
}
currentTestId = 0;
}
public void startBattery()
{
batteryEnd = false;
if (!testIds.isEmpty())
{
if (testShulte)
{
testeeMain.beginTest(12);
}
if (numberRepetsOZP==0)
{
numberRepetsOZP++;
testeeMain.beginTest(11);
}
testeeMain.beginTest(testIds.get(currentTestId));
}
}
public boolean testEnds()
{
currentTestId++;
if (currentTestId < testIds.size())
{
testeeMain.beginTest(testIds.get(currentTestId));
return false;
}else
{
endBattery();
return true;
}
}
private void endBattery()
{
if (timer!=null) timer.stop();
batteryEnd = true;
if (testShulte)
{
testeeMain.beginTest(12);
}
if (numberRepetsOZP >= 0)
{
numberRepetsOZP++;
testeeMain.beginTest(11);
}
}
private void startTimer(int millis)
{
if(millis > 0)
{
System.out.println("бат timer sarts");
timer = new Timer(millis, new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
actionTimer();
}});
timer.setRepeats(false);
timer.start();
System.out.println("Timer start: seconds: "+(millis/1000)+new Date());
}
}
private void actionTimer()
{
numberRepetsOZP++;
testeeMain.beginTest(11);
}
public void OZPTestEnds()
{
if (numberRepetsOZP<4 && !batteryEnd)
{
switch(numberRepetsOZP)
{
case 1: {startTimer(5*60000); break;}
case 2: {startTimer(10*60000);break;}
case 3: {startTimer(53*60000);break;}
}
}else
{
if (batteryEnd)
{
double avg = 0;
for (Result result : answersOZP.getResults())
{
avg += Integer.parseInt(result.getValue());
}
avg = avg / answersOZP.getResults().size();
answersOZP.getAnswers().add(new Answer(1, ""+Math.round(avg*100D)/100D));
}
}
}
public boolean shouldShowWordsForOZP()
{
return (numberRepetsOZP<=1);
}
public int getNumberRepeatsOZP()
{
return numberRepetsOZP;
}
}
В.2 Класс CalculatorResultsForAizenk
public class CalculatorResultsForAizenk
{
private Map<Integer,Map<Integer,List<Integer>>> key = new HashMap<Integer, Map<Integer, List<Integer>>>();
private void initKey(){
//?
Map<Integer,List<Integer>> critKey = new HashMap<Integer, List<Integer>>();
critKey.put(1, Arrays.asList(1, 3, 8, 10, 13, 17, 22, 25, 27, 39, 44, 46, 49, 53, 56));
critKey.put(2, Arrays.asList(5, 15, 20, 29, 32, 34, 37, 41, 51));
key.put(1, critKey);
//L
critKey = new HashMap<Integer, List<Integer>>();
critKey.put(1, Arrays.asList(2, 4, 7, 9, 11, 14, 16, 19, 21, 24, 26, 28, 31, 33, 35, 38, 40, 43,45, 47, 50, 52, 55, 57));
critKey.put(2, new LinkedList<Integer>());
key.put(2, critKey);
//F
critKey = new HashMap<Integer, List<Integer>>();
critKey.put(1, Arrays.asList(6, 23, 36));
critKey.put(2, Arrays.asList(12, 18, 30, 42, 48, 54));
key.put(3, critKey);
}
public void calculate(Test currentTest,Answers currentAnswers)
{
initKey();
int k = -1;
for (Type type : currentTest.getTypes())
{
int resultValue = 0;
for (Answer answer : currentAnswers.getAnswers())
{
List<Integer> questionIds = key.get(type.getTypeId()).get(answer.getVariant_id());
if (questionIds.contains(answer.getQuestion_id()))
{
resultValue++;
}
}
currentAnswers.getResults().add(new Result(type.getTypeId(), ""+resultValue));
В.3 Класс GraphForAizenk
public class GraphForAizenk extends javax.swing.JFrame implements Printable
{
private static String[] scaleNames = {"1","2","3","4","5"};
Answers answers =null;
/** Creates new form GraphForDS */
public GraphForAizenk(Answers answers) {
this.answers = answers;
initComponents();
Toolkit kit = Toolkit.getDefaultToolkit();
setLocation((kit.getScreenSize().width /2) - (getWidth() / 2), (kit.getScreenSize().height / 2) - (getHeight()/2));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
setTitle("График результатов теста Айзенка"); // NOI18N
setIconImage(ProfessiogramApp.getIcon());
setMinimumSize(new java.awt.Dimension(200, 200));
setName("Form"); // NOI18N
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
jPanel1.setName("jPanel1"); // NOI18N
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 551, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 414, Short.MAX_VALUE)
);
jButton1.setFont(new java.awt.Font("Tahoma", 0, 14));
jButton1.setText("Распечатать"); // NOI18N
jButton1.setName("jButton1"); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton1))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)
.addContainerGap())
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
/* The job did not successfully complete */
}
}
}
@Override
public void paint(Graphics r)
{
super.paint(r);
Graphics g = jPanel1.getGraphics();
performPaintGraph(g,jPanel1.getWidth(),jPanel1.getHeight());
}
private Map<Integer,Integer> getMapResults(List<Result> results)
{
Map<Integer,Integer> res = new HashMap<Integer, Integer>();
for (Result result : results)
{
Integer resInte = Integer.valueOf(result.getValue());
res.put(result.getType_id(), resInte);
}
return res;
}
public int print(Graphics g, PageFormat pf, int page) throws PrinterException
{
if (page > 0) { /* We have only one page, and 'page' is zero-based */
return NO_SUCH_PAGE;
}
/* User (0,0) is typically outside the imageable area, so we must
* translate by the X and Y values in the PageFormat to avoid clipping
*/
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
double aspektRatio = ((double)jPanel1.getWidth())/((double)jPanel1.getHeight());
if (pf.getImageableHeight()*aspektRatio > pf.getImageableWidth())
{
performPaintGraph(g2d,pf.getImageableWidth(),pf.getImageableWidth()/aspektRatio);
}else
{
performPaintGraph(g2d,pf.getImageableHeight()*aspektRatio,pf.getImageableHeight());
}
/* Now we perform our rendering */
/* tell the caller that this page is part of the printed document */
return PAGE_EXISTS;
}
private void performPaintGraph(Graphics g, double widthArea,double heightArea)
{
Graphics2D g2 = (Graphics2D)g;
Map<RenderingHints.Key, Object> rem = new HashMap<RenderingHints.Key, Object>();
rem.put(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
rem.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
RenderingHints rh = new RenderingHints(rem);
g2.setRenderingHints(rh);
int footer = 40;
int left = 55;
int maxY = (int) Math.round(heightArea-footer);
int maxX = (int) Math.round(widthArea-left);
int maximum = 25;
Double stepX = (double) maxX / maximum;
Double stepY = (double)(maxY)/ maximum;
g2.setFont(new Font("Bookman Old Style", Font.PLAIN, 14));
g2.setStroke(new BasicStroke(2,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND));
g2.drawLine(left, 0, left, maxY);
g2.drawLine(left, maxY, (int) Math.round(widthArea), maxY);
//Отрисовка подписей и сетки
for (int i = 1; i < maximum; i++)
{
g2.setColor(Color.lightGray);
if (i%2==0)
{
g2.drawLine(left, maxY - (int) Math.round(i*stepY), (int) Math.round(widthArea), maxY - (int) Math.round(i*stepY));
g2.drawLine(left+(int) Math.round(i*stepX), 0, left+(int) Math.round(i*stepX), maxY);
g2.setColor(Color.black);
g2.drawString(""+i, 30, (int) (maxY-(i-0.5)*stepY));
g2.drawString(""+i, (int) Math.round(left+((i-0.2)*stepX)), (int) Math.round(heightArea)-footer/2-5);
}
}
g2.drawLine(left-3, maxY - (int) Math.round(12*stepY), (int) Math.round(widthArea), maxY - (int) Math.round(12*stepY));
g2.drawLine(left+(int) Math.round(12*stepX), 0, left+(int) Math.round(12*stepX), maxY+3);
//Отрисовка названий
AffineTransform saveXform = g2.getTransform();
AffineTransform at = new AffineTransform();
at.translate(20, (maxY/2D)+70);
at.rotate(Math.toRadians(270));
g2.transform(at);
g2.drawString("Шкала нейротизма", 0, 0);
g2.setTransform(saveXform);
g2.drawString("Шкала экстраверсии", (int) Math.round(left+(maxX/2D)-70), (int) Math.round(heightArea)-footer/2+10);
g2.setColor(Color.white);
g2.fillRect(left+10, 10, 90, 10);
g2.fillRect(left+maxX-90, 10, 60, 10);
g2.fillRect(left+10, maxY-20, 80, 10);
g2.fillRect(left+maxX-90, maxY-20, 80, 10);
g2.setColor(Color.black);
g2.drawString("Меланхолик", left+10, 20);
g2.drawString("Холерик", left+maxX-90, 20);
g2.drawString("Флегматик", left+10, maxY-10);
g2.drawString("Сангвиник", left+maxX-90, maxY-10);
Map<Integer,Integer> res = getMapResults(answers.getResults());
//Отрисовка результата
g2.setColor(Color.red);
g2.setStroke(new BasicStroke(5,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND));
g2.drawLine((int) Math.round(left+((res.get(1)-0.75)*stepX)),
(int) Math.round(maxY-(res.get(2))*stepY),
(int) Math.round(left+((res.get(1)+0.75)*stepX)),
(int) Math.round(maxY-(res.get(2))*stepY));
g2.drawLine((int) Math.round(left+((res.get(1))*stepX)),
(int) Math.round(maxY-(res.get(2)-0.75)*stepY),
(int) Math.round(left+((res.get(1))*stepX)),
(int) Math.round(maxY-(res.get(2)+0.75)*stepY));
В.4 Класс CalculatorResultsForDS
public class CalculatorResultsForDS
{
public static Set<Integer> inverted = new HashSet<Integer>(Arrays.asList(3,17,38,50));
public static Set<Integer> duplicated = new HashSet<Integer>(Arrays.asList(17,50,8,35));
public static List<Double> avgMale = new LinkedList<Double>(Arrays.asList(36.82,21.78,20.34,21.06,22.04,23.04,31.38,20.02));
public static List<Double> sigmMale = new LinkedList<Double>(Arrays.asList(7.52,5.97,7.81,7.15,8.71,8.7,8.88,5.89));
public static List<Double> avgFemale = new LinkedList<Double>(Arrays.asList(33.37,24.5,25.14,24.27,26.14,27.22,34.97,21.3));
public static List<Double> sigmFemale = new LinkedList<Double>(Arrays.asList(8.38,7.18,9.28,8.4,10.10,9.42,9.62,6.16));
public void calculate(Test currentTest,Answers currentAnswers, String sex)
{
for (Type type : currentTest.getTypes())
{
int resultValue = 0;
LinkedList<Integer> questionIds = currentTest.getQuestionsIdsByTypeId(type.getTypeId());
for (Answer answer : currentAnswers.getAnswers())
{
if (questionIds.contains(answer.getQuestion_id()))
{
if (type.getTypeId() == 2 && inverted.contains(answer.getQuestion_id()))
{
resultValue+=8-answer.getVariant_id();
}else
{
resultValue+=answer.getVariant_id();
}
}
}
if (type.getTypeId() == 2)
{
resultValue += currentAnswers.getAnswerByQuestionId(8).getVariant_id();
resultValue += 8 - currentAnswers.getAnswerByQuestionId(17).getVariant_id();
resultValue += 8 - currentAnswers.getAnswerByQuestionId(50).getVariant_id();
}
if (type.getTypeId() == 5)
{
resultValue += currentAnswers.getAnswerByQuestionId(35).getVariant_id();
}
Double avg;
Double sigm;
if ("M".equals(sex))
{
avg = avgMale.get(type.getTypeId()-1);
sigm = sigmMale.get(type.getTypeId()-1);
}else
{
avg = avgFemale.get(type.getTypeId()-1);
sigm = sigmFemale.get(type.getTypeId()-1);
}
if (type.getTypeId() == 1)
{
resultValue = (int) Math.round(50 + ((10*(resultValue-avg))/sigm));
}else
{
resultValue = (int) Math.round(50 - ((10*(resultValue-avg))/sigm));
}
currentAnswers.getResults().add(new Result(type.getTypeId(), ""+resultValue));
}
}
}
В.5 Класс GraphForDS
public class GraphForDS extends javax.swing.JFrame implements Printable
{
private static String[] scaleNames = {"Ак","Бо","То","Ра","Сп","Ус","Уд","По"};
Answers answers =null;
/** Creates new form GraphForDS */
public GraphForDS(Answers answers) {
this.answers = answers;
initComponents();
Toolkit kit = Toolkit.getDefaultToolkit();
setLocation((kit.getScreenSize().width /2) - (getWidth() / 2), (kit.getScreenSize().height / 2) - (getHeight()/2));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
setTitle("График результатов теста ДС"); // NOI18N
setIconImage(ProfessiogramApp.getIcon());
setMinimumSize(new java.awt.Dimension(200, 200));
setName("Form"); // NOI18N
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
jPanel1.setName("jPanel1"); // NOI18N
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 459, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 329, Short.MAX_VALUE)
);
jButton1.setFont(new java.awt.Font("Tahoma", 0, 14));
jButton1.setText("Распечатать"); // NOI18N
jButton1.setName("jButton1"); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton1))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)
.addContainerGap())
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
/* The job did not successfully complete */
}
}
}
@Override
public void paint(Graphics r)
{
super.paint(r);
Graphics g = jPanel1.getGraphics();
performPaintGraph(g,jPanel1.getWidth(),jPanel1.getHeight());
}
private Map<Integer,Integer> getMapResults(List<Result> results)
{
Map<Integer,Integer> res = new HashMap<Integer, Integer>();
for (Result result : results)
{
res.put(result.getType_id(), Integer.parseInt(result.getValue()));
}
return res;
}
public int print(Graphics g, PageFormat pf, int page) throws PrinterException
{
if (page > 0) { /* We have only one page, and 'page' is zero-based */
return NO_SUCH_PAGE;
}
/* User (0,0) is typically outside the imageable area, so we must
* translate by the X and Y values in the PageFormat to avoid clipping
*/
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
double aspektRatio = ((double)jPanel1.getWidth())/((double)jPanel1.getHeight());
if (pf.getImageableHeight()*aspektRatio > pf.getImageableWidth())
{
performPaintGraph(g2d,pf.getImageableWidth(),pf.getImageableWidth()/aspektRatio);
}else
{
performPaintGraph(g2d,pf.getImageableHeight()*aspektRatio,pf.getImageableHeight());
}
/* Now we perform our rendering */
/* tell the caller that this page is part of the printed document */
return PAGE_EXISTS;
}
private void performPaintGraph(Graphics g, double widthArea,double heightArea)
{
Graphics2D g2 = (Graphics2D)g;
Map<RenderingHints.Key, Object> rem = new HashMap<RenderingHints.Key, Object>();
rem.put(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
rem.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
RenderingHints rh = new RenderingHints(rem);
g2.setRenderingHints(rh);
g2.setStroke(new BasicStroke(2,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND));
int footer = 25;
int left = 25;
int maxY = (int) Math.round(heightArea-footer);
int maxX = (int) Math.round(widthArea-left);
Double stepX = (double) maxX / 8D;
Double stepY = (double)(maxY)/70D;
g2.drawLine(left, 0, left, maxY);
g2.drawLine(left, maxY, (int) Math.round(widthArea), maxY);
g2.setColor(Color.gray);
for (int i = 1; i < 70; i++)
{
g2.drawLine(left, (int) Math.round(i*stepY*10), (int) Math.round(widthArea), (int) Math.round(i*stepY*10));
}
g2.setColor(Color.black);
g2.setFont(new Font("Tahoma", Font.PLAIN, 12));
for (int i = 0; i < 70; i++) {
g2.drawString(""+i*10, 10, (int) (maxY-i*stepY*10));
}
for (int i = 0; i < scaleNames.length; i++)
{
g2.drawString(scaleNames[i], (int) Math.round(left+((i+0.5)*stepX)), (int) Math.round(heightArea)-footer/2);
g2.drawLine((int) Math.round(left+((i+1)*stepX)), maxY-3, (int) Math.round(left+((i+1)*stepX)), maxY+3);
}
Map<Integer,Integer> res = getMapResults(answers.getResults());
int prev = -1;
for (int i = 1; i <= scaleNames.length; i++)
{
g2.fillOval((int) Math.round(left+((i-0.5)*stepX))-3,
(int) Math.round(maxY-res.get(i)*stepY)-3, 6, 6);
g2.drawString(""+res.get(i), (int) Math.round(left+((i-0.5)*stepX))-4,
(int) Math.round(maxY-res.get(i)*stepY)-10);
if (prev!=-1)
{
g2.drawLine((int) Math.round(left+((i-1.5)*stepX)),
(int) Math.round(maxY-prev*stepY),
(int) Math.round(left+((i-0.5)*stepX)),
(int) Math.round(maxY-res.get(i)*stepY));
}
prev = res.get(i);
}
}
Размещено на Allbest.ru
...Подобные документы
Обеспечение универсальности функций тестирования при разработке программы для тестирования студентов. Бесплатное программное обеспечение. Анализ выбора среды программирования. Особенности среды Delphi и СУБД MySQL. Описание алгоритма и блок-схемы.
курсовая работа [1,6 M], добавлен 01.02.2013Основные функции, требования и характеристики системы тестирования. Создание современной модели WEB-сервиса тестирования знаний студентов с помощью средств WEB-разработки. Описание пользовательского интерфейса сайта, этапы прохождения тестовых заданий.
курсовая работа [6,4 M], добавлен 14.07.2012Выбор инструментальной среды разработки программного обеспечения системы. Алгоритм создания теста и ввода его исходных данных. Анализ экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию".
дипломная работа [3,2 M], добавлен 11.09.2014Программная реализация современной модели системы тестирования знаний студентов с помощью кроссплатформенных средств разработки. Элементы пользовательского интерфейса тестовой системы, поэтапный процесс ее функционирования. Алгоритм оценивания ответов.
курсовая работа [648,7 K], добавлен 14.07.2012Методы разработки автоматизированных систем. Характеристика языка программирования Delphi и операционной системы Windows. Разработка автоматизированной системы контроля знаний на примере дисциплины "История мира". Этапы разработки программного продукта.
курсовая работа [3,8 M], добавлен 18.05.2014Анализ состояния и оценка положения дел на предприятии. Сравнение методик проектирования и автоматизированная система управления складским хозяйством. Определение потребности в собственной разработке. Выбор языка программирования, расчет себестоимости.
дипломная работа [4,4 M], добавлен 07.11.2011Cоздание и описание логической модели автоматизированной системы обработки информации. Проектирование структуры системы в виде диаграмм UML. Анализ программных средств разработки программного обеспечения и интерфейса. Осуществление тестирования программы.
дипломная работа [2,5 M], добавлен 25.01.2015Обоснование необходимости систем компьютерного тестирования. Выбор среды программирования. Специфика сферы логистики. Организация программной среды аудита знаний. Используемые элементы среды программирования. Разработка алгоритма работы программы аудита.
дипломная работа [809,9 K], добавлен 07.01.2017Анализ современного состояния проблем тестирования высоконагруженных информационных систем. Построение математической модели определения высоконагруженных операций. Разработка программного обеспечения системы генерации сценариев нагрузочного тестирования.
дипломная работа [4,4 M], добавлен 24.08.2017Выбор среды разработки программного обеспечения. Компьютерная система тестирования знаний в дистанционном обучении OpenTEST. Написание встроенного текстового редактора для расширенного форматирования текста. Руководство пользователя, структура программы.
дипломная работа [7,1 M], добавлен 20.05.2013Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования.
отчет по практике [700,5 K], добавлен 24.11.2014Анализ предметной области и разработка информационного обеспечения автоматизированной информационной системы "Система тестирования". Проектирование базы данных методом "Сущность-Связь". Технология создания базы в MS Access. Real-time работа системы.
курсовая работа [4,5 M], добавлен 23.12.2014Обследование объекта, обоснование необходимости систем компьютерного тестирования. Анализ существующих разработок и обоснование выбора технологии проектирования. Создание системы компьютерного тестирования на основе случайного выбора в среде Visual Basic.
дипломная работа [2,4 M], добавлен 18.08.2013Организация проверки результатов обучения и оценки знаний, использование систем тестирования, основные требования к ним. Создание современной модели WEB-сервиса тестирования знаний; программная реализация; защита от копирования информации и списывания.
курсовая работа [24,1 K], добавлен 11.05.2012Создание Windows-приложения для проведения обучения и тестирования студентов по информационной безопасности. Алгоритм решения задачи, блок-схема работы программы, выбор языка программирования Delphi. Охрана труда программиста, обязанности пользователя.
дипломная работа [4,8 M], добавлен 04.06.2013Разработка автоматизации процесса тестирования в учебном заведении. Характеристика и анализ существующей организации обработки информации. Обоснование выбора языка программирования, классификация и кодирование информации. Программная реализация задачи.
курсовая работа [1,9 M], добавлен 06.06.2012Проектирование структуры программы, принцип ее работы, сферы практического использования и оценка возможностей. Выбор и обоснование среды программирования. Разработка пользовательского интерфейса и модулей приложения. Проведение тестирования программы.
курсовая работа [637,7 K], добавлен 14.01.2015Способы оценки знаний. WEB-система тестирования студентов. Блок регистрации и авторизации. Категорирование страниц сайта по различным терминам. Создание вопроса с выбором количества правильных вариантов ответа. Система настройки тестов и вопросов в них.
дипломная работа [3,7 M], добавлен 15.04.2012Использование информационных технологий в учебном процессе. Тестирование как средство контроля знаний. Разработка компьютерной системы тестирования знаний. Описание языка программирования. Вредные факторы воздействия компьютера на здоровье человека.
дипломная работа [562,2 K], добавлен 06.06.2014Знакомство с этапами разработки трёх приложений для системы семейства Linux с использованием языка программирования С++. Анализ особенностей операционной системы Ubuntu 12.10. Характеристика способов тестирования команд с помощью стандартных средств.
контрольная работа [732,1 K], добавлен 06.08.2013