Министерство образования Республики Беларусь

Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ


Факультет Компьютерных технологий


Кафедра проектирования информационных компьютерных систем

Дисциплина "Современные технологии проектирования информационных систем"


К защите допустить:

Руководитель курсовой работы
старший преподаватель кафедры

_______________ А.В.Михалькевич

23.11.2024

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе
на тему

Система психологического тестирования

БГУИР КР 1-40 05 01-10 № 178 ПЗ







Студент
(подпись студента)


Курсовая работа
представлена на проверку
23.11.2024
___________________
(подпись студента)







Минск 2024




Реферат

БГУИР КР 1-40 05 01-10 № 178 ПЗ, гр. 784371

, Система психологического тестирования, Минск: БГУИР - 2024.

Пояснительная записка 2557930 с., 21 рис., 1 табл.

Ключевые слова: ООП, java

Предмет Современные технологии проектирования информационных систем, А.В.Михалькевич

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

The purpose of the course is to develop psychological testing systems, which will contain various tests for cognition itself.

Содержание

Введение

В последнее время в социальных сетях и на просторах интернета, стало популярно проходить различные тесты. «Тест на уровень депрессии», «Тест на определение профориентации», «Тест IQ» и даже «Кто ты из злодеек Disney?», смешные и интересные тесты заполняют наш интернет. Так, почему же большинство людей тратят большое количество свободного времени на прохождение, выкладывание результатов в социальные сети и предлагают своим знакомым также пройти тестирование? Часто увлечение онлайн-тестами связано с желанием лучше понять себя, увидеть свой потенциал и сильные черты, а тесты позволяют за короткий срок получить определённую информацию, прийти к каким-либо выводам и сохранить иллюзию объективности полученных данных. Первоначально сайты с онлайн-тестами представляли собой обычную страницу, с выбором заинтересовавшего теста, перехода на другу страницу с вопросами и ответами. На сегодняшний день все изменилось, сайты стали обладать расширенным функционалом. Так, например, современный сайт может включать в себя следующие компоненты: − новостной раздел, где размещается новостная информация о жизни знаменитостей, о новинках в кино, о спасение животных и т.д.; − раздел - мода, где размещается информация о последних новинках в косметике, последние тренды, какой макияж лучше и т.д.; − раздел – развлечение, в разделе могут быть различные подборки фильмов, сериалов и т.д.; − светская хроника, в разделе все о наших звездах. Прохождение различных тестов помогут познать себя и получить удовольствие, которое можно разделить в кругу друзей. Целью данной курсовой работы является разработка системы многокритериального психологического тестирования, которая будет содержать различные тесты для познавания себя и возможностью поделиться с друзьями. Для достижения поставленной цели необходимо выполнение следующих задач: - проведение анализа предметной области; - проанализировать существующие программные продукты и средства их разработки; - разработка информационной модели системы, которая будет хранить все необходимые для модели данные, а также предоставлять удобный доступ к ним; - разработка модели представления системы для более наглядного представления функционирования её некоторых частей; - определить роли, разграничивающие права доступа к тем или иным объектам программного средства; - разработать интерфейс программного средства. В первом разделе проведен обзор области применения, существующих аналогов программных средств, обоснование выбора языка программирования и среды разработки. Во втором разделе проведено моделирование предметной области, разработана функциональная модель и схемы алгоритма работы ПС. В третьем разделе осуществлено проектирование программного средства. В четвертом разделе произведено тестирование программного средства. В пятом разделе представлена методика работы с ПС.

1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

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

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

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

Как правило, это опросники. Они состоят из множества вопросов – в среднем около 60–80; есть большие тесты, которые содержат более 500 вопросов. Такие опросники, многосторонне описывающие личность, используются в серьезных целях – например, для диагностики в медицинских учреждениях или при трудоустройстве.

Для самопознания каждый человек может воспользоваться некоторыми тестами. Их цель – ознакомить человека и дать возможность изучить себя глубоко и разносторонне. Ответив на комплекс вопросов, вы узнаете, например, каков ваш темперамент, интеллект, состояние здоровья и сможете определить некоторые черты своего характера и многие другие параметры своей личности. Так же сможете произвести самооценку: каковы ваши воображение, внимание, грамотность, объем памяти, ориентации в пространстве и т. п. Результаты могут удивить вас, показаться неправдоподобными. Все так, потому что, себя мы видим «изнутри» (субъективно).

Тесты делятся на два типа: научные (для профессионалов) и популярные (для развлечения).

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

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

Различают также тесты:

•      интеллекта;

•      способностей;

•      достижений;

•      личностные.

 Области применения как профессиональных, так и популярных психологических тестов можно обозначить так:

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

•      Тесты оценки взаимоотношений с близкими — позволяют оценить потребность в принадлежности и любви, чувствовать себя защищенным.

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

1. Тесты интеллекта

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

Уровень интеллекта не является постоянной величиной и изменяется под воздействием окружающей среды, он отражает как предшествующие, так и последующие достижения в обучении. Интеллект не есть единая и однообразная способность, он складывается из нескольких функций. Этим термином обычно обозначается комплекс способностей, необходимых для выживания и достижения в определенной культуре.

2. Тесты способностей

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

3. Тесты достижений

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

К познавательным процессам человека относятся: ощущение, восприятие, внимание, память, воображение, мышление, речь. Зная особенности внимания человека, можно сделать вывод о том, способен ли он длительно и сосредоточенно работать.

Исследование общих индивидуальных способностей позволяет определить где, в чем и каким образом они больше всего проявляются. У одних людей они проявляются в решении практических задач с помощью реальных действий с материальными предметами, такое мышление называется практическим, или наглядно-действенным; у других — при внутренних манипуляциях с образами, что характеризует образное мышление; у третьих — в решении абстрактно-логических, теоретических проблем при помощи понятий и по законам логики. Это словесно-логическое мышление.

4. Личностные тесты

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

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

К наиболее известным текстам психических состояний и свойств личности относятся: опросник Айзенка, MMPI, Характерологический опросник Леонгарда, тест Кэттела, Метод исследования уровня субъективного контроля (УСК), ТАТ (Тематический апперцепционный тест), тест Роршаха, тест Люшера и другие. Остановимся подробнее на некоторых из них. Интересны методики, позволяющие определить тип темперамента человека, черты его характера, так как именно они определяют его поведение, реакции, поступки в различных жизненных ситуациях.

5. Тест «Диагностика межличностных отношений» Лири

Объективно составить психологический портрет другого человека подчас проще, чем получить представление о себе как члене коллектива, сложнее выявить преобладающий тип отношений к людям в самооценке и взаимооценке. Один из наиболее известных и интересных — тест Томаса Лири, выявляющий преобладающий тип отношений к людям с помощью методики диагностики межличностных отношений.

Этот опросник включает 128 характерологических утверждений. Он дает описание характера человека и предназначен для измерения степени выраженности свойств, проявляющихся в межличностном общении: доминантность, уверенность в себе, независимость, зависимость, отзывчивость, общительность. Эта методика позволяет решать три задачи:

1.    установить степень выраженности свойств характера;

2.    описать зоны потенциального внутреннего конфликта;

3.    изучить психологическую совместимость людей, проанализировать причины конфликта, предпочтений, ожиданий.

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

6. Тесты управленческих качеств

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

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

В курсовом проекте будут представлены три теста: шкала депрессии Бека, тест насколько вы жизнелюбивы и ваше место в коллективе.

Шкала депрессии Бека

Шкала депрессии Бека – известная в профессиональных кругах методика, обладающая достаточно высокой точностью определения уровня депрессии. Она представляет собой классический опросник, состоящий из 21 вопроса, на которые нужно выбрать один вариант ответа из четырех. Выбирать нужно то высказывание, которое лучше всего описывает Ваше самочувствие в течение последних двух недель, включая сегодняшний день.

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

В 1998 году методика была использована в более чем двух тысячах научных исследований. Она была переведена на несколько европейских языков, а также арабские, китайский, японский и др.

Время проведения тестирования – 15 минут.

Тест насколько вы жизнелюбивы

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

Ваше место в коллективе

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

2 ПОСТАНОВКА ЗАДАЧИ И ОБЗОР МЕТОДОВ ЕЕ РЕШЕНИЯ

2.1 Постановка задачи

 

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

Курсовой проект должен быть реализован в виде web-приложения на языке Java c использованием технологий JSP, Servlet, XML/XSLT. Архитектура приложения должна быть выполнена в архитектуре паттерна MVC. Интерфейс приложения должен быть оформлен с использованием каскадных таблиц стилей (CSS).

При разработке пользовательского интерфейса необходимо предусмотреть элемент «меню», пункты которого должны храниться в виде XML документа, который будет трансформироваться в html представление с помощью технологии XSLT.

Приложение должно быть выполнено в системе IntelliJ IDEA 9.2.

База данных должна содержать следующие таблицы:

- таблица «Доступы»;

- таблица «Пользователи»;

- таблица «Вопросы»;

- таблица «Результат»;

- таблица «Тесты»;

- таблица «Опции»;

В таблице «Доступы» необходимо создать следующие поля: id-доступы, логин и пароль.

В таблице «Пользователи» необходимо создать следующие поля: id-пользователь, id-доступы и роль пользователя.

В таблице «Вопросы» необходимо создать следующие поля: id-вопроса, название вопроса и баллы.

В таблице «Результат» необходимо создать следующие поля – описание результата.

В таблице «Тесты» необходимо создать следующие поля: название теста и описание.

В таблице «Опции» необходимо создать следующие поля: id-вопроса, id-тесты и id-результатов.

Разрабатываемое приложение должно обеспечивать администратору добавление, редактирование и удаление тестов в базе данных.

Программа должна быть устойчивой к самым различным ошибкам, которые могут возникнуть в процессе работы.

 

2.2 Разработка функциональной модели

 

Описание системы с помощью IDEF0 называется функциональной моделью. Функциональная модель предназначена для описания существу­ющих бизнес-процессов, в котором используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником графического языка является сама методология IDEF0. Рассмотрим функциональную модель процесса системы – пройти тест.

Методология IDEF0 предписывает построение иерархической системы диаграмм - единичных описаний фрагментов системы. Сначала проводит­ся описание системы в целом и ее взаимодействия с окружающим миром (контекстная диаграмма), после чего проводится функциональная деком­позиция - система разбивается на подсистемы, и каждая подсистема опи­сывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности.

Каждая IDEF0-диаграмм, содержит блоки и дуги. Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отобра­жают взаимодействия и взаимосвязи между ними.

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

IDEF0 требует, чтобы в диаграмме было не менее трех и не более шести блоков. Эти ограничения поддерживают сложность диаграмм и модели на уровне, доступном для чтения, понимания и использования.

Каждая сторона блока имеет особое, вполне определенное назначение. Левая сторона блока предназначена для входов, верхняя - для управления, правая - для выходов, нижняя - для механизмов. Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, что и как выполняет функция.

Блоки в IDEF0 размещаются по степени важности, как ее понимает автор диаграммы. Этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы. Например, самым доминирующим блоком диаграммы может быть либо первый из требуемой последовательности функций, либо планирующая или контролирующая функция, влияющая на все другие.

В IDEF0 различают пять типов стрелок.

Вход - объекты, используемые и преобразуемые работой для получения результата (выхода). Допускается, что работа может не иметь ни одной стрелки входа. Стрелка входа рисуется как входящая в левую грань работы.

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

Выход - объекты, в которые преобразуются входы. Каждая работа должна иметь хотя бы одну стрелку выхода, которая рисуется как исходящая из правой грани работы.

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

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

На контекстной диаграмме верхнего уровня «Пройти тест» (рисунок 2.1.1) определены потоки входных и выходных данных, механизмы и управления данными.

Рисунок 2.1.1 – Диаграмма IDEF0. Верхний уровень

 

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

Рисунок 2.1.2 – Диаграмма IDEF0. Уровень 1

Пройти тест можно разбить на: авторизация, выбор теста и прохождение теста.

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

Далее можно декомпозировать еще один блок, например, «Авторизация». (рисунок 2.1.3).

Рисунок 2.1.3 – Диаграмма IDEF0. Уровень 2

Процесс авторизации разбиваем на «Ввод логина», «Ввод пароля» и «Вывод страницы со списком тестов». 

3 МОДЕЛИ ПРЕДСТАВЛЕНИЯ СИСТЕМЫ И ИХ ОПИСАНИЕ

3.1 Диаграмма вариантов использования

Диаграмма вариантов использования (сценариев поведения, прецедентов) является исходным концептуальным представлением системы в процессе ее проектирования и разработки. Данная диаграмма состоит из актеров, вариантов использования и отношений между ними. При построении диаграммы могут использоваться также общие элементы нотации: примечания и механизмы расширения.

Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества актеров, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актером (действующим лицом, актантом, актёром) называется любой объект, субъект или система, взаимодействующая с моделируемой системой извне. В свою очередь вариант использования – это спецификация сервисов (функций), которые система предоставляет актеру. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемых системой при взаимодействии с актером. При этом в модели никак не отражается то, каким образом будет реализован этот набор действий.

Рассмотрим диаграмму данной системы (рисунок 3.1).

Рисунок 3.1 – Диаграмма вариантов использования

         Здесь в роли актёров выступают администратор и пользователь.

У администратора больше прав чем у пользователя, а именно:

Другим актёром системы является пользователь. К ним относятся:

3.2 Диаграмма последовательности процесса авторизации

Диаграмма последовательности действий (sequence diagram) — это вид диаграммы взаимодействия, в котором внимание акцентируется на временной упорядоченности сообщений во времени. С помощью диаграмм последовательности действий удобно моделировать простые потоки управления, не содержащие сложных ветвлений и циклов.

В случае разработки сложной системы необходимо точно представлять взаимодействие объектов между собой, перечень клиентов и серверов и порядок обмена сообщений между ними. Обмен сообщениями происходит в определенной последовательности, и диаграммы последовательности действий позволяют получить отражение этого обмена во времени.

Диаграмма последовательности действий имеет табличную структуру. Вверху слева направо показываются взаимодействующие объекты, сообщения показываются как стрелки, соединяющие между собой так называемые линии жизни объектов. Чем ниже стрелка сообщения, тем позднее оно посылается. Линия жизни обозначается вертикальной пунктирной прямой и указывает, что в заданный момент взаимодействия объект существует. Активность объекта в некоторый момент времени показывается на линии жизни с помощью фокуса управления — узкого вертикального прямоугольника.

         Рассмотрим диаграмму последовательности процесса авторизации пользователя в системе (рисунок 3.3).

Рисунок 3.3 – Диаграмма последовательности процесса авторизации

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

3.4 Диаграмма компонентов

Диаграмма компонентов позволяет определить состав программных компонентов, в роли которых может выступать исходный, бинарный и исполняемый код, а также установить зависимости между ними.

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

Данная диаграмма обеспечивает согласованный переход от логического к физическому представлению системы в виде программных компонентов. Одни компоненты могут существовать только на этапе компиляции программного кода, другие – на этапе его исполнения. Основными элементами диаграммы являются компоненты, интерфейсы и зависимости между ними [26]. Кроме этого, на ней могут отображаться ключевые классы, входящие в компоненты.

Компонент (англ. component) – это физическая часть системы. Компоненты, представляющие собой файлы с исходным кодом классов, библиотеки, исполняемые модули и т.п., которые должны обладать согласованным набором интерфейсов. Для их графического представления используются следующие графические символы.

         Рассмотрим диаграмму компонентов (рисунок 3.4).

Рисунок 3.4 – Диаграмма компонентов

         Диаграмма компонентов отображает файловую структуру всей информационной базы.

 

3.5 Диаграмма развёртывания

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

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

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

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

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

Таким образом, диаграмма развертывания предназначена для визуализации элементов и компонентов системы, существующих лишь на этапе ее исполнения (runtime), к которым относятся исполнимые файлы, динамические библиотеки, таблицы БД и т. д. Те компоненты, которые не используются на этапе исполнения (например, исходные тексты программ), на диаграмме не показываются.

Рассмотрим диаграмму развертывания на рисунке 3.5.

Рисунок 3.5 – Диаграмма развёртывания

На представленной диаграмме отражены исполняемые компоненты программы. В качестве отношений выступают на данном этапе физические соединения.

 

3.6 Диаграмма классов

 

Диаграмма классов определяет типы классов системы и различного рода статические связи, которые существуют между ними. На диаграммах классов изображаются также атрибуты классов, операции классов и ограничения, которые накладываются на связи между классами. Вид и интерпретация диаграммы классов существенно зависит от точки зрения (уровня абстракции): классы могут представлять сущности предметной области (в процессе анализа) или элементы программной системы (в процессах проектирования и реализации).

Основными элементами являются классы и связи между ними. Классы характеризуются при помощи атрибутов и операций.

Атрибуты описывают свойства объектов класса. Большинство объектов в классе получают свою индивидуальность из-за различий в их атрибутах и взаимосвязи с другими объектами. Однако, возможны объекты с идентичными значениями атрибутов и взаимосвязей. Т.е. индивидуальность объектов определяется самим фактом их существования, а не различиями в их свойствах. Имя атрибута должно быть уникально в пределах класса. За именем атрибута может следовать его тип и значение по умолчанию.

Операция есть функция или преобразование. Операция может иметь параметры и возвращать значения.

Виды связей:

Ассоциация (association) – представляет собой отношения между экземплярами классов.

Каждый конец ассоциации обладает кратностью (синоним – мощностью, ориг. — multiplicity), которая показывает, сколько объектов, расположенных с соответствующего конца ассоциации, может участвовать в данном отношении. В примере на рисунке каждый Товар имеет сколь угодно Записей в накладной, но каждая Запись в накладной обязательно один Товар. В общем случае кратность может быть задана любым множеством.

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

Агрегация (aggregation) – это ассоциация типа «целое-часть». Агрегация в UML представляется виде прямой с ромбом на конце.

Ромб на связи указывает, какой класс является агрегирующим (т.е. «состоящим из»), — класс с противоположного конца — агрегированным (т.е. те самые «части»).

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

Важно понимать разницу между агрегацией и композицией: при агрегации объекты-части могут существовать сами по себе, а при композиции — нет. Пример агрегации: автомобиль—колесо, пример композиции: дом—комната.

Наследование (inheritance) – это отношение типа «общее-частное». Позволяет определить такое отношение между классами, когда один класс обладает поведением и структурой ряда других классов. При создании производного класса на основе базового (одного или нескольких) возникает иерархия наследования. Реализация принципов наследования является ключевой предпосылкой возможности повторного использования кода, поскольку это основной инструмент достижения полиморфизма.

Диаграмма класса представлена на рисунке 3.6.

Рисунок 3.6 – Диаграмма классов

4 ИНФОРМАЦИОННАЯ МОДЕЛЬ СИСТЕМЫ И ЕЁ ОПИСАНИЕ

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

Процесс построения информационной модели можно разбить на следующие этапы:

− определение сущностей и их представления в реляционной модели (определение объектов в системе и их проектирование в таблицы в базе данных);

− определение зависимостей между сущностями (один ко многим, многие ко многим);

− выделение и задание первичных и альтернативных ключей (уникальная идентификация записей в таблице);

− выделение и задание атрибутов сущностей (столбцов таблицы);

− приведение модели к необходимому уровню нормальной формы (необходимо пересмотреть модель и, если требуется, поменять её структуру, чтобы она соответствовала заданным требованиям);

− генерация базы данных.

Рисунок 4.1 - Логическая модель

Целью построения логической модели является получение графического представления логической структуры исследуемой предметной области.

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

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

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

Рисунок 4.2 – Физическая модель

Физическая модель уже описывает реализацию объектов логической модели на уровне объектов конкретной базы данных. В отличии от логической модели здесь уже появляются типы данных, которыми будут представлены атрибуты записей в таблице, также здесь определяются необходимости наличия данных о по тем или иным критериям (то есть может ли, например, данный атрибут быть NULL, или же он обязателен), ещё одной особенностью является то, что на данном этапе уже конкретно определяется как данные будут представлены и как будут храниться в файловой системе, то есть происходит окончательное формирование таблиц и связей между ними.

В таблице «Access» существуют поля: id, login и password. Поле id является первичным ключом. Поле login хранит логин пользователя, который пользователь использует для авторизации или регистрации. Поле password хранит пароли для дальнейшего использования в авторизации.

В таблице «User» существуют поля: id_user, оно является первичным ключом, поле id_access, является внешним ключом, также есть поле user_role, которое определяет является ли это обычный пользователь или администратор.

В таблице «Result» содержит в себе поля: id_ result является первичным ключом, также в таблице есть поле result_description, в этом поле храниться описание результата прохождения теста.

В таблице «Test» содержит поля id_test, которое является первичным ключом, также есть поле test_name, и поле description, которое содержит описание к тесту.

В таблице «Question» есть поля id_ question, которое является первичным ключом, поле question _ name и point.

В таблице «Options» есть поля: id_ options, является первичным ключом, поле id_tests является внешним ключом, поле id_question является внешним ключом и поле id_ results является внешним ключом.

5 ОПИСАНИЕ АЛГОРИТМОВ, РЕАЛИЗУЮЩИХ БИЗНЕС-ЛОГИКУ СЕРВЕРНОЙ ЧАСТИ

 

Рисунок 4.1 – Схема алгоритма работы программы

 

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

Рисунок 4.2 – Схема алгоритма прохождения теста

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

6 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Курсовой проект представляет собой веб-сайт, где пользователи могут пройти тесты.

Для того, чтобы пользователь мог начать работу с сайтом, необходимо наличие работающего сервера на удалённой машине. Для запуска сервера необходимо скомпилировать код в war-архив, который потом нужно разместить в папке webapps внутри Tomcat. Выполнив эти действия, можно запускать контейнер сервлетов и начинать пользоваться сайтом.

После запуска сервера необходимо перейти по ссылке http://localhost:8080/ если сервер работает, должно появиться вот эта страница (рисунок 6.1).

Рисунок 6.1 – Страница Tomcat

Далее необходимо нажать на кнопку «Manager App». Логин и пароль можно найти в файле tomcat-users.xml. Далее появится новая страница продемонстрированно на рисунке 6.2.

Рисунок 6.2 – Новая страница

Далее необходимо найти на этой странице раздел «War файл для развертывания». Далее нажимаем на кнопку «Выберите файл». Находим наш созданный файл war, добавляем и нажимаем на кнопку «Развернуть». Продемонстрировано на рисунке 6.3.

Рисунок 6.3 – Добавление файла war

Далее в таблице выше должна появиться ссылка на тест. При нажатие на ссылку вы переходите на сайт (рисунок 6.4).

Рисунок 6.4 – Добавление сайта

Для начало работы пользователь или администратор должны авторизоваться или зарегистрироваться. Поле авторизации продемонстрированно на рисунке 6.5.

Рисунок 6.5 – Окно авторизации

Далее пользователю доступны тесты, которые он может пройти и узнать о себе что-то новое. Окно со списком тестов продемонстрированно на рисунке 6.6.

Рисунок 6.6 – Окно выбора теста

При нажатие на любой тест пользователь попадает на новую страницу со списком вопросов и ответов. Далее ему нужно ответить на все вопросы, выбирая правильный ответ и нажать на кнопку получить результат. Страница с вопросами продемонстрирована на рисунке 6.7.

Рисунок 6.7 – Страница с вопросами

При нажатие кнопки получить ответ, пользователь получает результаты теста. Например, если на рисунке 6.6 мы выбрали тест «Насколько вы жизнелюбивы», мы получаем список вопросов, которые показаны на рисунке 6.3. Отмечаем и получаем ответ, который продемонстрирован на рисунке 6.8.

Рисунок 6.8 – Результаты теста

У администратора больше прав. Он может добавлять, удалять и редактировать тесты. Окно добавления нового теста продемонстрированно на рисунке 6.9.

Рисунок 6.9 – Окно добавления тестов

Работу программу можно посмотреть по данной сслыке, это видео ролик. https://drive.google.com/file/d/1lXCebJhqVCqrBAEBfQWgA_O6gsXUMLWY/view?usp=sharing

Ссылка на архив с проектам https://drive.google.com/file/d/1vPWdlOTUGWCYehpi3eZS3kPM_xFNcfNP/view?usp=sharing

7 РЕЗУЛЬТАТ ТЕСТИРОВАНИЯ РАЗРАБОТАННОЙ СИСТЕМЫ

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

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

В зависимости от цели, функциональное тестирование может проводиться:

Описанные выше аспекты реализуются с помощью следующих видов и уровней тестирования:

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

В таблице 7.1 приведен набор тест-кейсов, на основе которых производилось тестирование.

Таблица 7.1 – Набор тест кейсов

Модуль

Условия

Действие

Ожидаемый результат

Итог

1

Ввод логина и пароля

Заполнение полей: логина и пароля

Нажатие кнопки «Войти»

Вывод новой страницы в браузере

Пройден

2

Ввод некоренных данных в поле пароль

Заполнение поля пароль не верно.

Вводим верный логин, пароль указываем не верный. Нажимаем кнопку «Войти»

Вывод уведомление о не верном пароле или логине

Пройден

3

Незаполненные поля в тесте

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

На один из вопросов не отвечаем, нажимаем кнопку «получить результат»

Вывод уведомления о не заполненном поле

Пройден

4

Проверка редактирования записей

Администратор выбирает один пункт теста, нажимает редактирование.

В окне с таблицами нажать кнопку «Редактировать

Изменённые данные отображаются в окне

Пройден

5

Проверка удаления записей

Администратор выбирает один пункт теста, нажимает удаление

В окне с таблицами нажать кнопку «Удалить»

В окне не отображается удаленный пункт теста

Пройден

При проведении тестирования были обнаружены небольшие ошибки и недоработки в работе программного средства, которые были в дальнейшем устранены.

Заключение

Данная курсовая работа выполнена на объектно-ориентированном языке Java с использованием базы данных MySQL. Приложение имеет архитектуру клиент-серверного приложения. В курсовом проекте была разработана функциональная модель, структурная схема, модель вариантов использования, диаграмма развертывания, которая предназначена для визуализации элементов и компонентов программы, существующих только на этапе ее исполнения, разработаны блок-схемы работы программного средства и работы алгоритмов, на которых визуально понятно, как работает рассматриваемый алгоритм и программное средство. В результате, можно отметить, что в курсовой работе были учтены требования и задачи, которые были поставлены перед курсовым проектом. У пользователя есть возможность проходить тесты, редактировать профиль, авторизоваться, а также зарегистрироваться. Администратор в свою очередь может добавлять, редактировать и удалять тесты. Основываясь на этом, можно сказать, что все поставленные в начале цели были выполнены. Программное средство было протестировано, при проведении которого были обнаружены небольшие ошибки и недоработки в работе, которые были устранены. Разработанная система может рассматриваться на использование для любых людей желающие узнать о себе немного больше. Задача была выполнена в полной мере, и программа может быть использована на практике. Данный программный продукт выполнен в соответствии с ГОСТами и требованиями, предъявляемыми к технической документации.

Список использованных источников

1. [url] Особенности языка Java https://geekbrains.ru/posts/java_features
2. [печатное издание] Создание сайтов 1. Бабаев, А. Создание сайтов / А. Бабаев, Н. Евдокимов, М. Боде. – Санкт-Петербург: Питер, 2014. – 410 с.
3. [url] Википедия – свободная энциклопедия https://ru.wikipedia.org/wiki/Сайт
4. [печатное издание] HTML5. Рецепты программирования 6. Шмитт, К. HTML5. Рецепты программирования / К. Шмитт, К.Симпсон. – Санкт-Петербург: Питер, 2012. – 288 с.
5. [печатное издание] Java методы программирования 9. Блинов, И. Java методы программирования / И. Блинов, В. Романчик. – Минск : издательство «Четыре четверти», 2013. – 896с.

Приложения

1. [электронный документ] 5ed28f5b91159_Листинг кода.docx
2. [электронный документ] 5ed3e6e9d7eec_Shablon_Turova_Ekaterina_784371.doc