close

Вход

Забыли?

вход по аккаунту

Пилявский Дмитрий Павлович.Разработка информационно-аналитической системы диспетчирования работы конференции

код для вставки
МИНИСТЕРСТВО ОБРАЗОВАНИrI И НАУКИ РОССИИСКОИ ФЕДЕРАЦИИ
ФЕДЕРДЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДХtЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕ}КДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИJI
(ОРЛОВ СКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
имени И.С, ТУРГЕНЕВА))
ВЫIIУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
по нагrравлению подготовки: 09.04,03 Прикладная информатика
нагIравленность (профиль): Прикладная информатика в аналитической экономике
Магистранта: Пилявского
Факультет
:
fмитрия Павловича, шифр
150780
физико-математический
Тема выпускной квалификационной работы
СИСТЕМЫ
РДЗРАБОТКА ИНФОРМАЦИОННО_АНАЛИТИЧЕСКОЙ
ДИСПЕТЧИРОВАНИЯ РАБОТЫ КОНФЕРЕНЦИИ
Магистрант: Пилявский Щмитрий Павлович
Руководитель: Строев Сергей Павлович
к,э.н, доцент
Зав. кафелрой /
РОП: Селютин Владимир
Щмит1
дl-р,.п.н)пр"о..'JТ"'
r il,
,, j,:
.
Орёл 2017
di.
(пслdпuсь)
,
2
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .............................................................................................................. 3
ГЛАВА 1. ПРЕДПРОЕКТНЫЙ АНАЛИЗ ВОПРОСОВ СОЗДАНИЯ
ИНФОРМАЦИОННО-АНАЛИТИЧЕСКОЙ СИСТЕМЫ ДИСПЕТЧИРОВАНИЯ РАБОТЫ КОНФЕРЕНЦИИ ................................................................. 6
1.1 Актуальность тематики исследования ......................................................... 6
1.2 Анализ существующих ИС поддержки проведения конкурсов .............. 10
1.3 Моделирование предметной области......................................................... 18
1.3.1 Моделирование бизнес-процессов ....................................................... 18
1.3.2 Распределение конкурсных работ между рецензентами ................... 27
ГЛАВА
2.
ПРАКТИЧЕСКАЯ
ИНФОРМАЦИОННОЙ
СИСТЕМЫ
РЕАЛИЗАЦИЯ
АНАЛИТИЧЕСКО-
ДИСПЕТЧИРОВАНИЯ
РАБОТЫ
КОНФЕРЕНЦИИ ................................................................................................... 32
2.1 Проектирование концептуальной модели ИС .......................................... 32
2.2 Проектирование и разработка базы данных .............................................. 43
2.3 Реализация web-приложения ...................................................................... 49
2.4 Руководство пользователя web-сайта ........................................................ 57
2.5 Пользовательские запросы .......................................................................... 74
ЗАКЛЮЧЕНИЕ ..................................................................................................... 80
СПИСОК ЛИТЕРАТУРЫ..................................................................................... 81
ПРИЛОЖЕНИЕ 1 .................................................................................................. 84
ПРИЛОЖЕНИЕ 2 .................................................................................................. 85
ПРИЛОЖЕНИЕ 3 .................................................................................................. 86
ПРИЛОЖЕНИЕ 4 .................................................................................................. 87
ПРИЛОЖЕНИЕ 5 .................................................................................................. 88
АННОТАЦИЯ........................................................................................................ 98
3
ВВЕДЕНИЕ
Очевидной тенденцией последних нескольких лет является бурный переход от бумажных носителей к электронным. Это не могло обойти стороной
и научно-исследовательскую жизнь общества. Привлечение молодежи в науку входит в число актуальных и наиболее приоритетных задач государственного уровня. Статистические сведения указывают на постоянную тенденцию
старения научных кадров. Одним из факторов активизации научноисследовательской работы молодежи является их участие в конкурсах и конференциях различного уровня.
Студенческие научные мероприятия пользуются большой популярностью, и даже сравнительно небольшие конференции собирают несколько сотен очных и заочных участников. В большинстве своем, все заявки участникам необходимо отправлять на электронную почту, а организационному комитету вручную приходится обрабатывать все сотни писем. Как итог, процесс обработки писем, внесения данных об участниках в необходимые документы, взаимодействие с участником в случае отклонения его заявки и другие процессы отнимают большое количество времени.
В настоящее время популярно использование сети Интернет для организации конкурсов, поскольку это позволяет проводить мероприятие дистанционно. Для этого необходима соответствующая информационная система,
которая могла бы автоматизировать работу конференции.
Цель
данной
работы
состоит
в
разработке
информационно-
аналитической системе поддержки проведения научно-исследовательских
конкурсов.
Объектом выпускной работы является процесс проектирования и реализации
полнофункциональной
автоматизированной
информационно-
аналитической системы, отвечающей требованиям заданным предметной областью.
Предметом являются содержательные аспекты проектирования БД, мо-
4
делирования бизнес-процессов, а также реализации web-приложения для эффективного управления данными.
Задачи выпускной работы:
1.
Ознакомление с предметной областью проведения конкурса научно-
исследовательских работ.
2.
Анализ существующих информационных систем, поддерживающих
проведения конкурсов научной направленности.
3.
Выявление пользователей и требований к проектируемой системе.
4.
Моделирование основных бизнес-процессов, выполняемых в разра-
батываемой информационно-аналитических системы.
5.
Проектирование информационной системы и разработка базы дан-
ных.
6.
Реализация web-приложения.
При проведении исследования были изучены работы российских и за-
рубежных авторов по проведению анализа современного состояния научных
и практических исследований, проведенных Новиковым Д.А., Сухановым
А.Л. и др. в области построения моделей процесса отбора работ, управления
научными проектами в ВУЗах, по вопросам разработки программного обеспечения с использованием нотации UML, BPMN, языка PHP и СУБД MySQL.
При написании работы используются методы системного анализа, методика моделирования предметной области, модели обработки текстовой
информации.
Практическая значимость работы отражается в части разработанных
требований к программному продукту, автоматизирующему процедуру проведения научных конкурсов, и возможности использования web-приложения
в проведении научно-исследовательской конференции на базе ВУЗа.
Работа построена в соответствии с целью и задачами исследования и состоит из введения, двух глав, заключения, списка литературы и приложения.
Введение обосновывает актуальность выбранной темы работы, определяет предмет и объект исследования. Формируется цель и задачи, решение
5
которых необходимо для ее достижения.
В первой главе выполнен анализ предметной области, рассмотрены
теоретические основы проектирования информационных систем, рынок информационных систем аналогов поддержки проведения конкурсов, поставлена задача на разработку автоматизированной информационной системы, выдвинуты предположения о процессах протекающий в разрабатываемой системе.
Вторая глава содержит описание процесса проектирования информационной системы. Построены основные диаграммы, разработана инфологическая, логическая модель объекта автоматизации, выбрано средство разработки,
обоснован выбор среды разработки информационной системы, разработана
физическая структура базы данных, реализовано web-приложение.
В заключении формулируются основные выводы работы, выделяются
возможные варианты расширения имеющихся функций и добавления новых.
6
ГЛАВА 1. ПРЕДПРОЕКТНЫЙ АНАЛИЗ ВОПРОСОВ СОЗДАНИЯ
ИНФОРМАЦИОННО-АНАЛИТИЧЕСКОЙ СИСТЕМЫ ДИСПЕТЧИРОВАНИЯ РАБОТЫ КОНФЕРЕНЦИИ
1.1 Актуальность тематики исследования
Конкурс — это процесс определения лучшего кандидата на победу, в
соответствии с регламентом, определённым перед началом проведения мероприятия [29]. Конкурсные мероприятия на сегодняшний день являются повсеместно распространенной формой выявления лучшего в конкретной области жизни человека среди студентов, аспирантов, преподавателей, а также
работников различных сфер деятельности.
В выпускной квалификационной работе внимание будет уделено конкурсам в научно-исследовательской деятельности.
Изучив некоторые системы поддержки проведения конкурсов научных
проектов можно заметить, что они имеют приблизительно общую схему проведения мероприятия (рис. 1.1).
Регистрация
конкурсного
мероприятия
Сбор и
предварительный
анализ заявок
участников
Экспертное
оценивание заявок
Подведение итогов
и оьъявление
результатов
Рисунок 1.1 — Общая схема проведения научных конкурсов
На этапе регистрации конкурсного мероприятия координатор проекта
заполняет всю необходимую документацию, набирает группу экспертов,
публикует информацию о конкурсе на каком-либо интернет ресурсе.
На втором этапе собираются заявки на участие в конкурсе, и происходит предварительный анализ информации на полноту предоставления запрашиваемых данных.
После того, как период приема заявок завершен, наступает этап экспертного оценивания. Заранее отобранные эксперты оценивают работы, вы-
7
ставляя по каждому критерию оценивания баллы.
После завершения этапа экспертного оценивания, наступает время подведения итогов. Координатор проекта получает экспертные анкеты с оценками работ, анализирует их и подводит итоги конкурса. Когда известны результаты конкурса, эта информация публикуется в каком-либо источнике, и по
возможности создается сборник работ участников.
Существует ряд недостатков проведения конкурсов.
а) Проблема информирования: неэффективная передача информации,
приводящая к ошибочным интерпретациям, искажению смысла, а также слабая обратная связь. Другими словами, информация о каком-либо проекте зачастую остается доступной только непосредственно организаторам и узкому
кругу лиц. Если информация о каком-либо проекте, конкурсе не дошла до
адресата, то продуктивность данного события в целом и значимость работы
организаторов, в частности, значительно снижается [6].
б) Сложность конкурсной документации: для участия в некоторых
конкурсах к заявке необходимо приложить заверенные печатью и подписью
руководителя организации — заявителя такие документы, которые усложняют процедуру участия в конкурсе.
в) Некоторые конкурсы затянуты по времени: участники регистрируются, после чего длительное время ждут начала конкурса, из-за долгой обработки заявок, и объявления победителя.
г) В организационной системе наиболее трудоемкими являются процессы, связанные с обработкой информации — сбор, накопление, преобразование, отображение, хранение, передача и вывод.
В рамках разрабатываемой автоматизированной информационной системы перечисленные недостатки должны быть учтены и исправлены.
В настоящее время актуально использование сети Интернет для организации конкурсов, поскольку это позволяет проводить мероприятие дистанционно.
Дистанционная организация мероприятий имеет ряд преимуществ:
8

позволяет облегчить процесс создания и проведения дистанцион-
ных конкурсных мероприятий, снизить затраты на организацию;

позволяет объединить в одном конкурсном мероприятии участни-
ков с различных точек земного шара, т.е. облегчает их взаимодействие;

упрощает сбор, статистический анализ и представление полученных
результатов.
Основное внимание в системе будет уделяться именно поддержке дистанционных мероприятий. Это решит достаточно актуальную проблему на
текущий момент, как доступность проведения конкурса. На данный момент
почти в каждом доме есть компьютер и доступ в интернет, с их помощью
люди смогут в любой момент просмотреть информацию об актуальных научных мероприятиях, подать заявку по предоставленной форме и отслеживать
её статус. Одними из главных преимуществ разрабатываемой системы в виде
web-приложения являются:
 распространенность, то есть, для работы с Интернет достаточно наличия простой телефонной линии или других устройств связи;
 независимость от используемой пользователем операционной системы.
Важной задачей является взаимодействие с участниками, экспертами в
ходе проведения конкурса, донесение до них всей необходимой информации.
Так же основными преимуществами интернета является оперативность доставки и обработки информации.
Поэтому разрабатываемая система подразумевает реализацию в виде
web-приложения.
Так же актуальность разработки данной научной информационноаналитической системы подтверждает тот факт, что она сможет автоматизировать большинство рутинных операций, которые раньше приходилось выполнять человеку вручную, например, сбор и обработку заявок, передача
конкурсных работ экспертам для оценивания и последующий сбор результатов оценки [13].
9
Таким образом, основными целями создания и использования информационно-аналитической системы поддержки проведения конкурса научной
направленности являются:
 предоставление целевой аудитории сайта (системы) оперативной и
значимой информации о проводимых конкурсах;
 предоставление доступа координаторам, экспертам и участникам к
организационно-справочным ресурсам, необходимым для обеспечения их
деятельности.
Упомянутая выше целевая аудитория разрабатываемой системы достаточно разнообразна, и включает в себя школьников, студентов, преподавателей и аспирантов, профессоров. Определение целевой аудитории чрезвычайно важно на этапе проектирования, т.к. функционал сайта, его сервисные
возможности зависят от того, например, с какого, в основном, компьютера
будут заходить пользователи: с домашнего с платным трафиком и невысокой
скоростью доступа или с рабочего, какой опыт использования сети Интернета есть у пользователей, каков уровень образования или интеллектуальных
запросов посетителей и т.п..
Учитывая целевую аудиторию, продукт должен соответствовать следующим требованиям:
 иметь простой и интуитивно понятный интерфейс;
 позволять пользователю управлять всеми данными без специальных
знаний;
 позволять сохранять данные на бумажных носителях;
 иметь возможность для внесения новых функций по мере необходимости;
 легко адаптироваться к любой операционной системе для настольных персональных компьютеров.
 обеспечивать высокую скорость загрузки страниц, а в случае, когда
пользователя все-таки ожидает «тяжелая» страница, или «тяжелый» файл —
он должен быть заранее предупрежден об этом.
10
Программная реализация системы планируется в виде web-сайта, для
чего необходимо разработать базу данных «Конкурс», в которой будут содержаться все начальные данные нашей системы. Для получения необходимой информации в системе должна быть предусмотрена система поиска, позволяющая вводить данные и получать необходимые для пользователя результат.
В качестве средств проектирования и разработки планируется использовать язык моделирования UML, BPMN, СУБД MySQL, PHP, частичная характеристика которых дается в следующих параграфах.
Основываясь на общей схеме проведения научных конкурсов и выше
упомянутых проблемах, проанализируем наиболее известные на территории
Российской Федерации системы поддержки проведения конкурсов научной
направленности.
1.2 Анализ существующих ИС поддержки проведения конкурсов
Рассмотрим возможности некоторых систем поддержки проведения
конкурсов научной направленности: «Ломоносов», АИС «Процедура проведения экспертизы конкурсных материалов» и двух наиболее масштабный
систем РФФИ и РГНФ.
Научная сеть «Ломоносов» — это научная социальная сеть и платформа для создания и управления мероприятиями.
Имеется возможность организации своего мероприятия. Организатору
предоставляется возможность указать или добавить различные характеристики конкурса, например название, тип (конференция, олимпиада и др.), даты
начала и конца регистрации, начала и конца самого мероприятия, контактную информацию и другие (рис. 1.2).
Страница мероприятия практически полностью дублирует информацию, вводимую организатором при создании проекта в системе, представляя
её в виде, удобном для пользователей.
11
Есть возможность подачи заявки на участие в выбранном проекте через
специальную форму, после чего страница участника отображается в списке
«Поданные заявки» на странице мероприятия.
Рисунок 1.2 — Научная сеть «Ломоносов»
Недостатком данной системы является отсутствие возможности просмотра работ участников, нет возможности провести оценивание работ экспертами, а также отсутствуют результаты проводимого конкурса [26].
АИС «Процедура проведения экспертизы конкурсных материалов»
— предназначена для проведения конкурсных процедур в дистанционном
режиме.
Зарегистрированный пользователь может принять участие в конкурсе,
подав заявку. Для этого необходимо заполнить довольно много полей анкеты, некоторые их которых являются неизменными, и могли бы быть заполнены в автоматическом режиме (например, ФИО, дата рождения и др.).
Мало информация о конкурсе выводится для ознакомления, из-за чего
не совсем понятно, что это за конкурс и в чем он заключается (рис. 1.3).
12
Рисунок 1.3 — АИС «Процедура проведения экспертизы
конкурсных материалов»
Главным недостатком данной системы является то, что организаторами
конкурса может выступать только сектор конкурсных мероприятий ГАУ
ДПО «Институт развития образования Иркутской области».
РФФИ и РГНФ — старейшие научные фонды России, гранты которых
поддерживают исследования более 10000 научных групп и десятков тысяч
научных сотрудников, аспирантов и студентов.
Российский Фонд Фундаментальных исследований (РФФИ) занимается проведением конкурсного отбора лучших научных проектов из числа
тех, что представлены Фонду учеными в инициативном порядке, и последующее организационно-финансовое обеспечение поддержанных проектов [28].
РФФИ уделяет значительное внимание созданию развитой системы
взаимосвязей участников инновационной деятельности, улучшению их взаимодействия для совместной реализации научно-исследовательских проектов,
выработке общих стратегических целей. Для решения этой задачи подписаны
13
соглашения о взаимодействии с федеральными органами исполнительной
власти, государственными корпорациями, организациями — координаторами
технологических платформ, другими институтами развития и бизнесструктурами. Основной целью соглашений является проведение скоординированной политики в области практического использования достижений
фундаментальной науки, прежде всего в сфере высоких технологий и решения актуальных межотраслевых задач, которые возникают в процессе построения экономики, основанной на знаниях.
Один из основополагающих принципов работы Фонда — принятие решений о финансировании на основании экспертной оценки, проводимой независимыми экспертами и экспертными советами, состоящими из признанных, активно работающих ученых — авторитетных специалистов в своих областях фундаментальных знаний, не занимающих руководящих должностей в
научных организациях. Таким образом, научному сообществу принадлежит
главенствующая роль в принятии решений в такой профессионально сложной и не поддающейся нормативным, количественным оценкам сфере, какой
является научная деятельность. Именно ученые являются авторами заявок и в
инициативном порядке формируют тематику будущих фундаментальных исследований; именно ученые выступают в качестве экспертов, осуществляющих конкурсный отбор лучших проектов. Не менее важно и то, что конкурсная система побуждает исследователей к постоянно высокой творческой активности, поскольку вопрос о продолжении финансирования проекта ежегодно решается в ходе обязательного экспертного рассмотрения научных и
финансовых отчетов.
Важный элемент обобщения результатов научной деятельности — регулярная публикация в «Вестнике РФФИ» аналитических материалов с целью дальнейшего их использования в науке, в первую очередь фундаментальной.
14
Важный принцип работы РФФИ — полная открытость. Нормативные
документы Фонда, результаты конкурсов, инструкции для соискателей грантов публикуются на сайте и доступны в личных кабинетах системы КИАС.
РФФИ активно развивает направления конкурсной поддержки ученых
России. Совет Фонда определяет перечень научных направлений, виды конкурсов, сроки и порядок их проведения, а также общие принципы финансирования
Цели конкурсной деятельности РФФИ:

Достижение высокого уровня развития фундаментальных наук в
соответствии с мировыми тенденциями посредством адресной поддержки на
конкурсной и вневедомственной основе научных проектов, получивших
высшие экспертные оценки.

Создание фундаментальной научной базы для ускоренной техноло-
гической модернизации экономики Российской Федерации и решение актуальных социально-экономических задач инновационного развития субъектов
Российской Федерации.

Укрепление и обеспечение воспроизводства кадрового потенциала
российской науки.
Виды конкурсов, перечень научных направлений, по которому объявляется конкурс, сроки и порядок его проведения, и общие принципы финансирования проектов, определяет Совет Фонда.
В соответствии с решениями совета Фонда и бюро совета Фонда было
организовано проведение и финансирование следующих конкурсов:
1. Фундаментальные научные исследования по восьми областям знаний;
2. Организация российских и международных научных мероприятий;
3. Экспедиции и полевые исследования;
4. Ориентированные фундаментальные исследования по семи актуальным темам;
5. Поддержка исследований, проводимых молодыми учеными;
15
6. Региональные конкурсы, включая междисциплинарные ориентированные фундаментальные исследования;
7. Международные конкурсы, в том числе многосторонние конкурсы
фундаментальных исследований;
8. Издание научных трудов;
9. Подготовка информационных материалов по результатам поддержанных Фондом научных проектов.
Экспертиза является важнейшим элементом деятельности РФФИ. Экспертиза имеет своей целью оценить научное качество заявки. Все решения о
поддержке проектов принимаются в Фонде исключительно по результатам
экспертизы.
Рассмотрение научных проектов, оценка возможностей их выполнения
и выработка рекомендаций о целесообразности и объеме их финансирования
проводятся членами экспертных советов по направлениям наук и экспертами
Фонда. Каждая заявка проходит в РФФИ независимую многоэтапную экспертизу. После регистрации заявку рецензируют два-три эксперта, работающих независимо и анонимно. Затем сами заявки и результаты первичной экспертизы независимых экспертов представляются на секцию Экспертного совета (5–15 чел) за которой закреплено 4–7 узких направлений в данной области знания. Окончательные рекомендации для Совета Фонда вырабатывает
Экспертный совет.
Принцип подбора экспертов РФФИ не предусматривает обязательного
представительства тех или иных научных учреждений или ведомств, т.к. основными критериями являются высокая научная квалификация и безупречный профессиональный авторитет ученого.
РОССИЙСКИЙ ГУМАНИТАРНЫЙ НАУЧНЫЙ ФОНД (РГНФ)
— самоуправляемая государственная организация, средства которой формируются за счет государственных ассигнований и привлеченных средств [27].
16
Фонд поддерживает научные исследования во всех областях гуманитарного знания (в философии, политологии, социологии, науковедении, праве, экономике, истории, археологии, этнологии, искусствоведении, филологии, психологии, педагогике, комплексных проблемах изучения человека).
Поддержка научных проектов осуществляется на основании тщательной, многоэтапной независимой научной экспертизы. Экспертная система
РГНФ состоит из шести экспертных советов:
● философии, социологии, политологии, права, науковедения;
● проблем комплексного изучения человека;
● истории, археологии и этнологии;
● экономики;
● филологии и искусствоведения;
● информационных систем и телекоммуникаций.
РГНФ ежегодно организует несколько видов конкурсов:
● исследовательских проектов.
● издательских проектов;
● проектов развития научных телекоммуникаций и материально- технической базы гуманитарных научных исследований;
● проектов организации российских и международных научных мероприятий на территории РФ;
● проектов участия российских ученых в научных мероприятиях за рубежом;
● проектов организации экспедиций, полевых, экспериментальнолабораторных исследований и научно-реставрационных работ;
● проектов создания информационных систем.
Информационная система РГНФ представляет собой специальное программное обеспечение, разработанное для потребностей Фонда.
Информационная система предназначена для:
- удаленного оформления заявок на конкурсы, подготовки к печати экземпляров зарегистрированных заявок;
17
- удаленного оформления отчетов по поддержанным проектам, подготовки к печати экземпляров зарегистрированных отчетов;
- проведения удаленной экспертизы заявок и отчетов, поступивших в
Фонд;
- сбора, автоматизированной обработки и хранения информации о поступающих в Фонд заявках и отчетах [15].
Взаимодействие с пользователями в ИС осуществляется посредством
web-интерфейсов.
В информационной системе реализовано разделение прав доступа к
информации, в зависимости от роли пользователя. Каждая группа пользователей имеет доступ к определенному объему информации и программным
инструментам, достаточным и необходимым для выполнения их задач.
В системе реализованы современные механизмы защиты данных от
несанкционированного доступа и непредвиденной потери данных. Резервное
копирование информации в информационной системе осуществляется с периодичностью в 24 часа.
Личный кабинет пользователя ИС РГНФ представлен на рисунке 1.4.
Рисунок 1.4 — Личный кабинет в ИС РГНФ
У пользователя есть возможность просмотреть зарегистрированные заявки, заполнить анкету с личной информацией, для того, чтобы в конкурсной
работе можно было бы ссылаться на свои публикацию, в системе предусмотрена возможность их регистрации.
18
В дальнейшем постараемся максимально приблизиться к функционалу
систем РФФИ и РГНФ, и реализуем некий прототип данных систем со своим
видением некоторых разделов разрабатываемой системы
1.3 Моделирование предметной области
1.3.1 Моделирование бизнес-процессов
После формального описания предметной области и анализа существующих систем поддержки проведения конкурсов научной направленности
необходимо смоделировать предполагаемые процессы, выполняемые в разрабатываемой автоматизированной информационной системе
В данной работе рассматривается частный случай конкурса — «Конкурс научных работ».
Проведение конкурса научных работ, как и любое другое мероприятие,
включает в себя следующие этапы реализации: подготовительный, организационный, деятельностный, итоговый.
На подготовительном этапе идет оформление конкурсной документации, поиск экспертов для оценки работ и регистрация конкурса в системе.
На организационном этапе, после того как информация о конкурсе появилась на сайте и разослана подписчикам, происходит сбор, первичный анализ и регистрация заявок в системе.
После того как приём заявок завершен, наступает деятельностный этап,
или этап экспертного анализа конкурсных работ.
В конце, как и полагается на итоговом этапе, подводятся итоги проведенного конкурса, информируются участники и собирается статистика по
всему мероприятию.
Данная система включает три возможных роли пользователя в системе:
координатор, участник конкурсного отбора (далее заявитель), эксперт.
У заявителя есть возможность участвовать в конкурсе, из любого отдаленного места доставить в срок свои материалы, минимизировать материальные затраты, затраты времени на подготовку и доставку конкурсных мате-
19
риалов.
Для эксперта есть возможность заниматься экспертизой конкурсных
материалов без отрыва от производства в любое удобное для него время.
Координатор проекта помимо того, что регистрирует сам конкурс,
осуществляет информационно-аналитическую деятельность в рамках данного проекта.
Для моделирования процессов, протекающих на каждом этапе, воспользуемся нотацией BPMN 2.0.
Нотация BPMN — это новый стандарт для моделирования бизнеспроцессов и сетевых услуг, который впервые был выпущен в мае 2004 года.
Одной из причин создания BPMN явилась необходимость построения простого механизма для проектирования и чтения как простых, так и сложных
моделей бизнес-процессов [21].
Конечный результат BPMN составляет диаграмма бизнес-процесса,
отображающая поток работ, основанный на стандартах графической нотации.
В данной работе для моделирования процессов, протекающих на каждом этапе, будут применены основные диаграммы:

диаграмма взаимодействия;

диаграмма оркестровки.
Диаграмма взаимодействия — используется для отображения состава и
последовательности выполнения двух и более процессов в виде пулов с указанием взаимодействий между ними через потоки сообщений [10].
Диаграмма оркестровки — это диаграмма, показывающая последовательность и логику выполнения заданий в рамках одного процесса. Так же на
диаграмме показываются взаимодействия между частным, рассматриваемым
процессом и другими процессами или участниками, отображенными в виде
свернутых пулов.
Для проектируемой системы диаграмма взаимодействия процессов
представлена на рисунке 1.5.
На рисунке 1.5 представлены пять процессов изображенных в виде
20
пустых пулов, и связывающие их потоки сообщений с наименованием обмениваемой информацией.
Рисунок 1.5 — Диаграмма межпроцессного взаимодействия
Далее рассмотрим каждый процесс детально, построив диаграммы оркестровки используя нотацию BPMN 2.0.
Первоначальный процесс и наиболее важный, без которого не было бы
других — это процесс «Регистрация конкурса». Диаграмма оркестровки для
данного процесса представлена на рисунке 1.6.
Ответственным за процесс регистрации конкурса является организация,
которая его проводит. Диаграмма включает подпроцесс регистрации конкурсного проекта в системе, оркестровка которого изображена на рисунке 1.7.
Рисунок 1.6 — Диаграмма оркестровки процесса «Регистрация конкурса»
21
Рисунок 1.7 — Подпроцесс «Регистрация конкурсного проекта»
На рисунке 1.7 пунктирными линиями обозначены группы (в нотации
BPMN группировка может использоваться в целях документирования или
анализа), обозначающие участников подпроцесса. Подпроцесс начинается с
того, что координатор конкурса (представитель организации) формирует
конкурсную документацию. Далее располагается шлюз с условием, если система поддерживает данный вид конкурсного проекта, то данные заносятся в
систему, в противном случае наступает событие типа эскалация. Событийный подпроцесс, в состав которого входит эскалация, используется для принятия мер по ускорению выполнения действия в случае, если действие не
выполняется в соответствии с указанными ограничениями [30]. Как видно из
рисунка 1.6, событие эскалации приводит к завершающему событию («terminate») «Конкурс не зарегистрирован» — немедленной остановки всех процессов. Если система поддерживает конкурс выбранного типа и информация
занесена в базу данных информационной системы, то начинается поиск экспертов в базе для дальнейшей работы с ними. Координатор при помощи системы рассылает запрос с предложением о возможном участии в проекте (на
диаграмме оркестровки это показано с помощью артефактов и графический
элементов ассоциаций). Далее действия происходят на стороне эксперта. После ознакомления с конкурсной документацией эксперт принимает решение
и посылает письмо о своей заинтересованности в проекте. Координатор вы-
22
бирает экспертов из тех кандидатов, кто откликнулся на предложение, и сообщает всем, кто заинтересован в проекте, о принятом решении. Далее следует условие, если нужное количество экспертов не набрано, то наступает
событие эскалация, о котором говорилось ранее. Если необходимое количество экспертов выбрано, то информация об экспертной комиссии заносится в
базу данных системы, потом вносится прочая необходимая информация о
конкурсе в систему. На этом моменте подпроцесс считается завершенным —
конкурс зарегистрирован в системе. Выход из подпроцесса ведет к шлюзу с
параллельным выполнением задач:

размещение информации на сайте, являющимся внешней оболочкой
разрабатываемой автоматизированной информационной системы;

рассылке информации о конкурсе всем пользователям, зарегистриро-
ванным в системе и подписавшимся на определенную тематику проектов.
После выполнения этих задач, наступает завершающее событие «Конкурс объявлен».
После того, как конкурс зарегистрирован и объявлен, начинается процесс «Регистрация заявок», представленный диаграммой оркестровки на рисунке 1.8.
Процессы по приёму и регистрации заявок происходят автоматически в
информационной системе. Начальное событие в данном процессе — типа
таймер, которое показывает, что приём заявок начинается строго с момента
времени, указанного в регламенте конкурса. В процессе имеется два завершающих события:
«Конкурс отменен» — эскалация, если не будет набрано нужное количество заявок на участие, то конкурс отменяется, и все процессы останавливаются;
«Регистрация заявок завершена», если все прошло успешно.
После того, как регистрация заявок прошла успешно, наступает очередь выполнения процесс «Анализ конкурсных работ» (рис. 1.9).
23
Рисунок 1.8 — Диаграмма оркестровки процесса «Регистрация заявок»
24
Рисунок 1.9 — Диаграмма оркестровки процесса «Анализ конкурсных работ»
25
Участниками этого процесса выступают координатор конкурсного проекта и экспертная комиссия, что показано на рисунке 5 при помощи дорожек.
Процесс начинается по аналогии с предыдущим с события таймер. Координатор при помощи системы распределяет конкурсные работы между экспертами. После экспертной оценки все данные собираются, и результаты оценивания переходят в процесс «Подведение итогов».
На рисунке 1.10 представлена диаграмма оркестровки для процесса
«Подведение итогов».
Рисунок 1.10 — Диаграмма оркестровки процесса «Подведение итогов»
Ответственный на данном этапе — координатор конкурса. Процесс начинает выполняться с того момента, когда все заявленные работы будут оценены. После чего подводятся итоги, и выполняются следующие задачи:

информирование участников конкурса,

объявление результатов на сайте,

формирование отчетов по конкурсу (статистические сведения,
отзывы участников и прочее).
С точки зрения заявителя, процесс участия в конкурсе выглядит следующим образом (рис. 1.11).
26
Рисунок 1.11 — Диаграмма оркестровки процесса «Участие в конкурсе»
27
После того, как все процессы рассмотрены подробно, диаграмму взаимодействия можно детализировать (рис. 1.12).
Процесс в диаграмме «Участие в конкурсе» начинается с момента получения информации о конкурсе. После чего заявитель может отказаться от
участия, либо участвовать, и тогда оформлять и отправлять заявку на сайте
конкурса. Завершение процесса наступает после получения результатов, и
написания отзывов, предложений и замечаний по конкурсу.
1.3.2 Распределение конкурсных работ между рецензентами
Изучив функционал систем РФФИ и РГНФ, было принято решение,
что в разрабатываемой системе, после того как участник отправил конкурсную работу, она должна получить рецензию от 3 экспертов системы, до её
оценивания жюри конкурса. Распределение работ между рецензентами
должно проходить в автоматическом режиме.
Предполагаемый алгоритм распределения работ между экспертами
представлен на рисунке 1.13.
1) Для того, чтобы на следующих этапах была возможность анализировать данные, необходимо их структурировать. Например, для работы участника конкурса при её регистрации в системе, необходимо заполнить ряд обязательных полей, таких как: название работы, предметная область, аннотация, ключевые слова. Для рецензента таким набором структурированных
данных являются: словарь ключевых слов, наиболее полно характеризующих
область научных знаний пользователя, предметные области в которых специализируется пользователь [19].
2) Следующим этапом предполагается индексирование полученных
данных.
Основная цель процесса индексирования — поставить в соответствие
каждому набору данных некоторое множество ключевых слов, отражающих
содержание полученной информации. Ключевые слова называются также
идентификаторами, индексационными терминами, понятиями.
28
Рисунок 1.12 — Детализированная диаграмма взаимодействия
29
Рисунок 1.13 — Схема алгоритма распределения работ
между рецензентами
Процесс индексирования состоит из следующих операций:

отбор индексационных терминов, используемых для описания содержания документа;

приписывание этим терминам некоторого веса, который отражает
предполагаемую важность терминов.
Матрица терминов-документов может получиться очень большая. Для
сокращения размерности полученной матрицы можно удалить лишние слова:

слишком короткие;

список стоп-слов: местоимения, союзы, …;

слишком частотные/редкие.
Расчеты весовых коэффициентов обычно основаны на частоте появле-
ния данного термина в документе.
30
Для дальнейшего анализа необходимо построить векторную модель
документа. Векторная модель — в информационном поиске представление
коллекции документов векторами из одного общего для всей коллекции векторного пространства. Векторная модель является основой для решения многих задач информационного поиска, как то: поиск документа по запросу,
классификация документов, кластеризация документов [12].
В векторной модели каждому документу приписывается список терминов, наиболее адекватно отражающих его смысл. Иными словами, каждому
документу соответствует вектор, размерность которого равна числу терминов, которыми можно воспользоваться при кластеризации.
Словарь — это упорядоченное множество терминов. Мощность словаря обозначается как D.
Поисковый образ документа — это вектор размерности D. Самый простой поисковый образ документа — двоичный вектор. Если термин входит в
документ, то в соответствующем разряде этого двоичного вектора проставляется 1, в противном же случае — 0. Более сложные поисковые образы документов связаны с понятием относительного веса терминов или частоты
встречаемости терминов.
Формально вектор документа
можно представить следующим обра-
зом:
где
— векторное представление j-го документа,
— вес i-го терма
в j-м документе, n — общее количество различных термов во всех документах коллекции.
3) После получения векторной модели данных конкурсной работы и
области научных знаний рецензентов, необходимо сравнить эти вектора.
Располагая таким представлением для всех данных о конкурсных работах и рецензентах, можно, найти расстояние между точками пространства и
31
тем самым решать задачу подобия документов — чем ближе расположены
точки, тем наиболее близки область знаний рецензента и содержание работы.
Одним из способов определения близости векторов является мера косинусного сходства векторов.
Косинусное сходство — это мера сходства между двумя векторами
предгильбертового пространства, которая используется для измерения косинуса угла между ними. Если даны два вектора, A и B, то косинусное сходство,
, может быть представлено с использованием скалярного произве-
дения и нормы:
Косинусное сходство двух документов изменяется в диапазоне от 0 до
1, поскольку частота терма не может быть отрицательной. Угол между двумя
векторами частоты терма не может быть больше, чем 90°. Одна из причин
популярности косинусного сходства состоит в том, что оно эффективно в качестве оценочной меры, особенно для разреженных векторов, так как необходимо учитывать только ненулевые измерения.
Таким образом получиться определить какую работу можно отправить
конкретному рецензенту, наиболее разбирающемуся в данной области знаний.
Построенные диаграммы взаимодействия и оркестровки в дальнейшем
помогут в проектирование и разработке автоматизированной информационной системы поддержки проведения конкурсов.
32
ГЛАВА 2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ АНАЛИТИЧЕСКОИНФОРМАЦИОННОЙ СИСТЕМЫ ДИСПЕТЧИРОВАНИЯ РАБОТЫ
КОНФЕРЕНЦИИ
2.1 Проектирование концептуальной модели ИС
Целью создания информационной системы является автоматизация рутинных операций деятельности координатора по работе с заявками участников, экспертов при оценивании конкурсных работ, участников при подаче заявлений, а так же более эффективно заниматься поиском и привлечением новых участников и экспертов.
Разрабатываемая информационная система должна выполнять следующие функции:

ввод, хранение и обработку информации об участниках и экспертах, о
проводимых конкурсах, о поданных работах участников, экспертной
оценки и результатах конкурсов;

удобное создание мероприятия, оценивание работ;

автоматическое формирование отчетов координатором по предложенным формам;

разграничение прав доступа (координатор может редактировать только
те конкурсы, которые он создал; конкурсную работу могут оценивать
только те эксперты, которые одобрены координатором конкурса).
В рамках данной работы планируется автоматизировать деятельность
действующих лиц, принимающих участие в проведению конкурса. Для этого
необходимо решить следующие задачи:
1. Определить функции разрабатываемой ИС. Результаты решения задачи будут служить исходными данными для всех остальных поставленных
задач. Информацию для решения поставленной задачи получим из анализа
деятельности координатора проекта, участника и эксперта.
2. Выбрать архитектуру разрабатываемой ИС. Архитектура разрабатываемой ИС должна быть выбрана исходя из функций разрабатываемой ИС.
33
3. Выбрать средства разработки ИС. Должны быть выбраны наиболее
подходящие для решения поставленных задач средства разработки.
4. Построить логическую и физическую модели базы данных. Информацию для решения поставленной задачи получим из анализа деятельности
координатора проекта, участника и эксперта, и планируемых функций разрабатываемой ИС.
5. Разработать пользовательский интерфейс. Информацию для решения
поставленной задачи получим из анализа деятельности координатора проекта, участника и эксперта, и планируемых функций разрабатываемой ИС, опираясь на то, каким уровнем пользования интернетом могут владеть перечисленные люди.
Проектирование ИС — это процесс преобразования входной информации об объекте проектирования, а также о методах проектирования и опыте
проектирования объектов аналогичного назначения в проект ИС в соответствии с имеющимися нормативными требованиями и стандартами [1].
В основе технологии проектирования лежит технологический процесс,
который определяет действия, их последовательность, состав исполнителей,
средства и ресурсы, требуемые для выполнения этих действий. Таким образом, технология проектирования задается регламентированной последовательностью технологических операций, выполняемых в процессе создания
проекта на основе того или иного метода, то есть дает ответы не только на
вопросы «что» и «как» должно быть сделано для создания проекта, но и на
вопрос «в какой последовательности» и «кем» [2].
Концептуальная модель предметной области ориентирована на восприятие пользователя и разработчика, а не на обработку данных в ЭВМ. Именно
с помощью этой модели разработчики ИС достигают высокого уровня понимания существа информационных потребностей пользователей.
В методологиях проектирования, основанных на непосредственном
создании концептуальной модели предметной области, основной задачей является получение формального описания предметной области, которая долж-
34
на моделироваться в БД. При этом проектирования и методология проектирования должны поддерживать как получение от пользователей знаний о
свойствах предметной области, так и на отображение этих упорядоченных
составляющих собственно концептуальную модель предметной области [18].
Для проектирования концептуальной модели информационной системы в данной работе применен язык UML.
Язык UML находится в процессе стандартизации, проводимом OMG
(Object Management Group) — организацией по стандартизации в области
объектно-ориентированных методов и технологий, в настоящее время принят
в качестве стандартного языка моделирования и получил широкую поддержку в индустрии программного обеспечения. Язык UML принят на вооружение практически всеми крупнейшими компаниями [4].
UML содержит стандартный набор диаграмм и нотаций самых разнообразных видов. Сегодня это получивший широкое распространение открытый
стандарт, использующий графические обозначения для создания объектной
модели системы. UML привнес в бизнес-моделирование новую парадигму:
структурный подход IDEF сменился объектно-ориентированным.
Среди различных типов диаграмм, которые включает в себя UML, в
данной работе воспользуемся диаграммой прецедентов (вариантов использования), диаграммой классов и диаграммой пакетов.
а) Диаграмма прецедентов
Диаграммы прецедентов применяются для моделирования вида системы с точки зрения внешнего наблюдателя.
Данная диаграмма состоит из актеров, вариантов использования и отношений между ними.
Суть данной диаграммы состоит в следующем: проектируемая система
представляется в виде множества актеров, взаимодействующих с системой с
помощью, так называемых, вариантов использования.
При этом актером (действующим лицом, актором) называется любой
объект, субъект или система, взаимодействующая с моделируемой системой
35
извне или множество логически связанных ролей, исполняемых при взаимодействии с прецедентами [5].
В свою очередь вариант использования — это спецификация сервисов
(функций), которые система предоставляет актеру. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемых системой при взаимодействии с актером.
Между актерами и вариантами — основными компонентами диаграммы прецедентов — могут существовать различные отношения, которые описывают взаимодействие экземпляров одних субъектов и прецедентов с экземплярами других субъектов и прецедентов.
В данной работе у каждого пользователя есть своя задача в приложении. Для выполнения их он должен быть наделён соответствующими правами. Но прав должно быть не больше, чем необходимо, иначе появляется возможность нанесения ущерба данным или их краже.
В данной работе выделяются следующие группы пользователей, зарегистрированных в системе: «Координатор», «Заявитель/участник», «Эксперт» и «Администратор системы».
Требования к проекту сформулируем с помощью диаграмм прецедентов. В Приложении 1 показана UML диаграмма прецедентов неавторизованного пользователя системы.
Как видно из диаграммы, пользователь, неавторизованный в системе,
может только просматривать информацию о конкурсе, зарегистрироваться и
авторизоваться в системе, с возможностью восстановления пароля при необходимости.
Прецеденты авторизованных пользователей БД показаны в Приложении 2.
«Администратор системы» — служебная роль, основными задачами
которой являются:

добавление новой организации;
36

изменение статуса конкурса, для чего необходимо изначально ознакомиться с конкурсной документацией;

редактирование параметров: добавление, удаление, добавление справочных значений, если тип параметра справочник.
«Координатор» — это организатор конкурса, который регистрирует
мероприятие в системе, следит за текущим положением дел и координирует
работу экспертов. К его задачам относится:

добавление общей информации о конкурсе;

добавление критериев оценки;

отправка конкурса на допуск к публикации;

создание экспертной группы;

формирование отчетов по конкурсу.
«Заявитель » — зарегистрированный пользователь, он же участник
конкурса. Для участия в конкурсе ему необходимо отправить заявку на участие. Участник может выполнять следующие действия:

заполнить анкету участника конкурса;

заполнить информацию о конкурсной работе;

просмотреть информацию о конкурсе;

редактировать личную информацию;

редактировать сведения об образовании;

добавить публикацию.
«Эксперт» — зарегистрированный пользователь, который так же как и
пользователь с ролью «заявитель» может:

просмотреть информацию о конкурсе;

редактировать личную информацию;

редактировать сведения об образовании;

добавить публикацию.
Так же пользователь с ролью «эксперт» может:

принять участие в экспертной комиссии;
37

оценить конкурсную работу участников, с возможностью отправить
работу на доработку или, при необходимости, отказать в участии, перед этим ознакомившись с ней.
б) Диаграмма классов
Диаграмма классов UML позволяет обозначать отношения между клас-
сами и их экземплярами. Это основное средство моделирования структуры
UML. Диаграммы классов наиболее информационно насыщены по сравнению с другими типами канонических диаграмм UML, инструменты генерируют код в основном по описанию классов, структура классов точнее всего
соответствует окончательной структуре кода приложения [8].
В качестве сущностей на диаграмме применяются, прежде всего, классы, как в своей наиболее общей форме, так и в форме многочисленных стереотипов и частных случаев: интерфейсы, типы данных, процессы и др.
Диаграмма классов служит для представления статической структуры
модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов является дальнейшим развитием концептуальной модели проектированной системы.
При создании диаграммы классов информационной системы важным
моментом является распределение обязанностей по созданию и управлению
классами [11].
GRASP — General Responsibility Assignment Software Patterns (основные шаблоны распределения обязанностей в программном обеспечении) это
методический подход к объектному проектированию. Эти шаблоны называют также шаблонами распределения обязанностей. Под «шаблоном» понимается именованная пара «проблема/решение», содержащая рекомендации для
применения в различных конкретных ситуациях. Шаблоны GRASP относятся
к этапу проектирования и отвечают за взаимосвязь объектов в системе.
GRASP состоит из 5 основных и 4 дополнительных шаблонов.
Основные шаблоны:

Information Expert
38

Creator

Controller

Low Coupling

High Cohesion
Дополнительные шаблоны:

Pure Fabrication

Indirection

Polymorphism

Protected Variations
Изучив вышеперечисленные шаблоны, было принято решение применить
в
проектируемой
системе
шаблоны
Информационный
эксперт
(Information Expert) и Низкая связанность (Low Coupling).
Информационный эксперт определяет базовый принцип распределения
ответственностей. Согласно данному принципу, ответственность должна
быть назначена тому, кто владеет максимумом необходимой информации для
исполнения — информационному эксперту. Этот шаблон — самый очевидный и важный из девяти [9].
Локализация ответственностей, проводимая согласно шаблону:
 повышает:
– Инкапсуляцию;
– Простоту восприятия;
– Готовность компонентов к повторному использованию;
 снижает: степень связности.
Шаблон Low Coupling (низкая связанность) решает проблему связности. Связность можно определить, как количество точек соприкосновения
классов между собой. Известно, что чем ниже связность классов, тем меньше
их взаимовлияние, тем выше возможность повторного использования. А рекомендация здесь простая: распределять обязанности между классами надо
таким образом, чтобы уменьшить связность [14].
39
Ведь чем меньше объект знает о других объектах, тем больше будет
изолированных классов и тем меньше правок необходимо будет делать, если
в системе что-то поменяется.
Можно выделить следующие преимущества применения шаблона Low
Coupling:

изменения компонентов мало сказываются на других объектах;

принципы работы и функции компонентов можно понять, не изучая
другие объекты;

удобство повторного использования.
На основании бизнес-процессов, диаграммы прецедентов и задач автоматизации, описанных ранее, и опираясь на шаблоны проектирования
Information Expert и Low Coupling, в разрабатываемой информационноаналитической системе можно выделить следующие классы (Приложение 3):

Организация — класс содержит сведения об организации, такие
как название, почтовый адрес, телефон. Координатор, регистрируясь в системе, обязательно указывает, от лица какой организации он выступает. Участник и эксперт так же могут указать, какую организацию они представляют,
но это не обязательно.

Координатор, эксперт, заявитель — содержат информацию о поль-
зователях, объединяются одним общим классом Зарегистрированный пользователь.

Конкурс — данный класс представляет информацию о зарегистри-
рованном мероприятии, такую как название, год конкурса, вид, сроки приема
заявок участников и экспертного оценивания.

Отчёты — в данном классе содержится информация о пользова-
тельских отчетов, которые координатор может сформировать по своему конкурсу.

Критерии оценки — класс хранит информацию о критериях и шка-
лах оценки, по которым эксперты будут оценивать конкурсные работы.
40

Экспертная анкета — представляет собой класс, где хранятся оцен-
ки эксперта по конкретной конкурсной работе, оцененной по предложенным
критериям.

Конкурсная работа — работа участника конкурса подавшего заявку.
Класс представлен следующими атрибутами: название работы, аннотация,
ключевые слова, электронная версия работы.

Сборник научных работ — представляет собой сборник работ уча-
стников конкурса.

Экспертная комиссия — группа экспертов, набранная координато-
ром для экспертного оценивания работ участников.

Заявка — класс, представленный следующими атрибутами: код
конкурса, код работы, статус заявки, форма участия, дата создания заявки и
дополнительная информация.

Карточка пользователя — описывает зарегистрированного пользо-
вателя в системе и включает три других класса: Персональные данные, Сведения об образовании и Публикации

Персональные данные — класс, имеющий следующие атрибуты:
ФИО, пол, паспортные данные, город, телефон, email и др.

Сведения об образовании — класс, содержащий информацию о
ученых степенях и званиях присужденных конкретному пользователю.

Публикации — научные работы пользователей системы, опублико-
ванные ранее.
Отношения между классами на диаграмме показаны с помощью связей.
Так же на диаграмме классов изображены интерфейсы, которые отражают внешние проявления объекта, показывая, каким образом осуществляется взаимодействие с ним. Главная идея проектирования интерфейсов лежит в
том, чтобы отделить реализацию приложения (функциональность) от описания системы (представления). Примером служат интерфейсы по регистрации
конкурса, созданию экспертной комиссии, критериев, заполнению эксперт-
41
ной анкеты, отправки заявки на участие, заполнению раздела с личными данными пользователя.
Для уменьшения степени связанности между классами, как видно из
Приложения 3, были добавлены дополнительные классы-сервисы, такие как
Класс X, Y, Z,W. Они служат для ограничения связи между классами. Благодаря низкой степени связности их можно использовать повторно, и изменения в одном классе не окажут сильного влияния на другой.
После представления системы как набора классов необходимо представить архитектуру проектируемой системы. В объектно-ориентированном
подходе пакет содержит множество взаимосвязанных классов объектов и соответствует понятию «подсистема функционально-ориентированного подхода». Один прецедент использования может требовать классы объектов из
разных пакетов. Класс объектов обычно назначается одному пакету, но с позиции достижения разных подцелей может входить в состав разных пакетов [20].
Пакетная технология группирования классов объектов позволяет упростить:
• разработку и эксплуатацию ИС;
• гибкую адаптацию типовых компонентов с позиции их повторного
использования;
• оптимизацию клиент-серверной архитектуры ИС.
В работе используется схема разделения данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента: модель, представление и контроллер — таким образом, что модификация
каждого компонента может осуществляться независимо. Данная схема называется Model-View-Controller (MVC, «Модель-Представление-Контроллер»).
Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя свое состояние.
Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.
42
Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
Основная цель применения данной концепции отделить бизнес-логики
(модели) от её визуализации (представления) [17]. За счёт такого разделения
повышается возможность повторного использования кода. В частности, выполняются следующие задачи:
1. К одной модели можно присоединить несколько видов, не затрагивая
реализацию модели.
2. Не затрагивая реализацию видов, можно изменить реакции на действия пользователя (переход по той или иной ссылке, ввод данных) — для этого достаточно использовать другой контроллер;
3. Ряд программистов специализируется только в одной из областей:
либо разрабатывают графический интерфейс, либо разрабатывают бизнеслогику. Поэтому возможно добиться того, что разработчики, занимающиеся
бизнес-логикой, вообще не будут осведомлены о том, какое представление
будет использоваться.
На рисунке 2.1 изображены пакеты, соответствующие выделенным ранее классам и интерфейсам, составляющие архитектурную модель проектируемой информационной системы, согласно схеме MVC.
Как видно из рисунка, в качестве модели выступает информация, хранящаяся в базе данных. Представление представлено в виде сервисов отображения информации на сайте, а так же форм, которые в процессе обработки информации будут заполняться данными из базы. Контроллером выступают классы-сервисы, которые обрабатывают информацию, после чего заносят её в базу данных.
Таким образом, были спроектированы диаграммы классов и пакетов
для того, чтобы представить систему по объектам, описав тем самым атрибуты, функции и связи, и выделить архитектурные слои системы и соответствующие интерфейсы.
43
Рисунок 2.1 — Диаграмма пакетов
2.2 Проектирование и разработка базы данных
После того, как определены возможные роли в проекте, выделены
классы и отношения между ними, можно приступать к проектированию базы
данных.
Первоочередной задачей на данном этапе является создать точное и
полное отображение реального мира, используемое в дальнейшем в качестве
источника информации для построения БД.
Описание модели удобнее всего представить в виде таблиц. База данных проекта будет содержать таблицы, названия которых соответствуют
именам сущностей диаграммы классов концептуальной модели.
Логическая структура базы данных определяет:
• таблицы и их имена, также называемые сущностями;
• имена полей, также называемые атрибутами каждой таблицы;
44
• характеристики полей, например уникальность их значения и допустимость значений NULL, а также тип данных, хранимых в поле;
• первичный ключ каждой таблицы — поле (несколько полей) со значениями, уникально идентифицирующими каждую запись в таблице. В таблице также могут существовать другие уникальные поля, но только одно из
них рассматривается как уникальный ключ доступа для поиска записей —
первичный ключ. В таблице не обязательно должен существовать первичный
ключ, однако рекомендуется определять его для каждой таблицы;
• связи между таблицами. Записи в таблице могут зависеть от одной
или нескольких записей другой таблицы. Такие отношения между таблицами
называются связями. Связь определяется следующим образом: поле или несколько полей одной таблицы, называемое внешним ключом, ссылается на
первичный ключ другой таблицы [7].
Структура таблиц базы данных описана в приложении 5.
Следующим шагом после создания логической структуры базы данных
идет ее нормализация.
Цель нормализации — окончательное устранение избыточности в хранении данных и обеспечение их согласованности и целостности. Процесс
нормализации основан на концепции нормальных форм. Отношение находится в некоторой нормальной форме, если оно удовлетворяет всем её ограничениям. Существует множество нормальных форм, но для наших целей
достаточно рассмотреть три из них: первую, вторую и третью [22].
Отношение входит в первую нормальную форму, если его атрибуты
содержат только скалярные значения (если оно представимо в виде плоской
двумерной таблицы). Любое отношение входит в первую нормальную форму
по умолчанию, поскольку реляционная модель данных требует, чтобы значения всех атрибутов были только скалярными.
Отношение входит во вторую нормальную форму, если оно находится
в первой нормальной форме, и нет неключевых атрибутов, функционально
зависящих от части сложного первичного ключа. Если первичный ключ про-
45
стой, то отношение автоматически входит во вторую нормальную форму. В
случае выявления каких-либо аномалий, все атрибуты, зависящие от части
ключа, выносятся в отдельное отношение.
В построенной инфологической модели все отношения либо имеют
простой ключ, либо не имеют функционально зависимых от части ключа атрибутов. Следовательно, наша база данных удовлетворяет требованиям второй нормальной формы.
И, наконец, отношение входит в третью нормальную форму, если оно
находится во второй нормальной форме, и все его неключевые атрибуты взаимно независимы, то есть, не связаны функциональной зависимостью. Если
такая зависимость между неключевыми атрибутами есть, то снова производится декомпозиция: все зависимые атрибуты выносятся в отдельное отношение. В отношениях рассматриваемой нами БД нет функциональных зависимостей между неключевыми атрибутами, следовательно, она попадает в
третью нормальную форму.
Исходя из анализа полученного набора, можно сделать вывод, что
спроектированная база данных не имеет критических аномалий, а введение
некоторой избыточности обусловлено требованиями предметной области.
Система управления базой данных (СУБД) является неотъемлемой
частью любой информационной системы. Тип используемой СУБД обычно
определяется
масштабом
информационные
системы
информационной
могут
использовать
системы
локальные
—
малые
СУБД,
в
корпоративных же информационных системах потребуется мощная клиентсерверная СУБД, поддерживающая многопользовательскую работу.
В качестве СУБД выбрана реляционная СУБД MySQL. MySQL — оптимальный вариант для создания интернет-сайтов различной сложности.
MySQL — быстрый многопоточный, многопользовательский надежный SQL
— сервер баз данных. Данная система позволяет хранить все данные информационной системы в базе данных на сервере. Таким образом, все клиенты
46
системы будут обращаться к одной базе данных посредством ИС. Преимуществами данной СУБД являются:
 быстродействие;
 высокий уровень безопасности;
 надежность;
 переносимость.
Сервер MySQL предназначен для разнообразных систем — от маленьких сайтов до крупных интернет-проектов. Сейчас это самый распространенный сервер баз данных в сети Интернет. MySQL — это система управления
реляционными базами данных. В реляционной базе данных данные хранятся
в отдельных таблицах, благодаря чему достигается выигрыш в скорости и
гибкости. Таблицы связываются между собой, есть возможность объединять
при выполнении запроса данные из нескольких таблиц.
Благодаря хорошим характеристикам и обширному набору стандартных интерфейсных функций, очень простых в использовании, MySQL стала
самым популярным средством для работы с базами данных в PHP.
База данных представляет собой совокупность систематизированных
данных таким образом, что эти данные могут быть найдены и обработаны с
помощью информационной системы.
Данная база данных состоит из 18 связанных таблиц с помощью заданных ключевых полей в каждой таблице. Другими словами, создаваемая база
данных «Конкурс» обладает целостностью данных, которые способствуют
создавать запросы из разных таблиц. Чтобы добиться данного результата, необходимо вначале создать схему данных (Приложение 4).
Для создания баз данных в SQL используется команда CREATE DATABASE. Для создания таблиц используется команда CREATE TABLE.
Ниже приведён пример кода, с помощью которого создаётся таблица БД:
CREATE TABLE IF NOT EXISTS `account` (
`id_account` int(11) NOT NULL,
`fam` varchar(50) NOT NULL,
47
`im` varchar(50) NOT NULL,
`otch` varchar(50) DEFAULT NULL,
`pol` enum('м','ж') NOT NULL DEFAULT 'м',
`date_rozd` date NOT NULL DEFAULT '1990–01–01',
`id_org` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id_account`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Как видно из кода, для таблицы объявляются все поля с типами и дополнительными атрибутами, устанавливаются первичный ключ с помощью
конструкции PRIMARY KEY().
После создания всех таблиц необходимо установить между ними связи.
Одной из важнейших операций, которые выполняются при работе с
данными, является выборка хранящейся в базе данных информации. Для этого пользователь должен выполнить запрос (query).
Рассмотрим основные типы запросов к базе данных, которые сосредоточены на манипуляции данными в пределах нашей базы.
Есть четыре основных типа запросов данных в SQL, которые относятся
к так называемому языку манипулирования данными:

SELECT — выбрать строки из таблиц;

INSERT — добавить строки в таблицу;

UPDATE — изменить строки в таблице;

DELETE — удалить строки в таблице;
Каждый из этих запросов имеет различные операторы и функции, которые используются для того, чтобы произвести какие — то действия с данными. Запрос SELECT имеет самое большое количество опций.
Чтобы получить информацию, хранящуюся в базе данных, используется запрос SELECT. Базовое действие этого запроса ограничено одной таблицей, хотя существуют конструкции, обеспечивающие выборку с нескольких
таблиц одновременно. Для того, чтобы получить все строки данных для специфических столбцов, используется запрос такого вида:
48
SELECT опции и поля FROM список_таблиц
[WHERE] условие для «отсеивания» не нужных записей
[GROUP BY] группировка полученных результатов по какому — нибудь столбцу
[HAVING] используется также для фильтрации результата GROUP BY
по заданным условиям, но только на другой стадии формирования ответа.
[ORDER BY] сортировка результатов ответа.
[LIMIT] количество требуемых записей в ответе.
Пример запроса SELECT:
SELECT * FROM `account`.
Запрос INSERT используется для создания новой строки данных. Для
обновления уже существующих данных или пустых полей строки нужно использовать запрос UPDATE.
Пример запроса INSERT:
INSERT INTO `account` (`id_account`, `fam`, `im`, `otch`, `pol`,
`date_rozd`, `id_org`) VALUES
(1, 'Семенов', 'Юрий', 'Вадимович', 'м', '1980–02–01', 1),
(2, 'Петрова', 'Оксана', 'Викторовная', 'ж', '1980–10–01', 1),
(3, 'Сидорова', 'Татьяна', 'Михайловна', 'ж', '1980–10–01', 1),
(4, 'Иванова', 'Лариса', 'Николаевна', 'ж', '1980–10–01', 1),
(5, 'Илларионова', 'Галина', 'Дмитриевна', 'ж', '1990–01–01', 2),
(6, 'Турапова', 'Илона', 'Евгеньевна', 'ж', '1992–05–03', 1)
Изменяется уже существующая информация в базе данных похожим
образом.
UPDATE используется для того, чтобы изменить существующие значения или освободить поле в строке, поэтому новые значения должны соответствовать существующему типу данных и обеспечивать приемлемые значения.
UPDATE `account` SET `fam` = 'Петрова'
WHERE `id_account`= 1;
49
Запрос DELETE полностью удаляет строку из базы данных.
DELETE FROM `account` WHERE `id_account`= 1;
Как только строка была удалена из базы данных, она не подлежит восстановлению.
В дополнение можно отметить, что информация на сервере хранится в
кодировке utf8, что упрощает работу с русскоязычным текстом.
2.3 Реализация web-приложения
Web-приложения представляют собой особый тип программ, построенных по архитектуре «клиент-сервер». Особенность их заключается в том, что
само web-приложение находится и выполняется на сервере, клиент при этом
получает только результаты работы. Без наличия сервера не запустятся
скрипты и простейшие директивы SSI программирования.
SSI (Server Side Includes) — технология позволяющая удобно «собирать» веб-страницы из частей, вставлять в них результаты выполнения CGIскриптов и придавать страницам прочие элементы динамики.
Для имитации сервера на локально машине используется Денвер. Денвер — это комплект программ для создания сайтов и их отладки непосредственно на локальном компьютере, который для этой цели не требуется подключать к сети Интернет. Основная идея Денвера — собрать и объединить
все необходимые инструменты для создания сайтов в одном месте.
В данной работе в качестве основного инструмента реализации скриптов для обеспечении работы с БД выбран язык PHP. PHP является языком
программирования с открытым исходным кодом, разработанным для написания сценариев, которые исполняются на стороне Web -сервера.
PHP означает «Препроцессор Гипертекста» (Hypertext Preprocessor).
Синтаксис языка основан на Perl, Java и С. PHP представляет собой достаточно простой язык, он легок в изучении. Достоинством PHP является то, что
он предоставляет Web-мастерам возможность создания динамических (сгенерированных) HTML-страниц [23].
50
Одним из наиболее важных факторов, повлиявших на выбор именно
этого языка, явился тот факт, что PHP предоставляет простой и удобный интерфейс для работы с БД MySQL. В PHP имеется довольно большой набор
функций для написания клиентских приложений БД.
Также огромным плюсом РНР в отличие, например, от JavaScript, является то, что РНР-скрипты выполняются на стороне сервера. РНР не зависит
от скорости компьютера пользователя или его браузера, он полностью работает на сервере.
В РНР существует огромное количество функций, которые позволяют
выполнить, практически любые действия над обработкой данных, ниже
представлены некоторые функции используемые в проекте:

include() — подключает другие файлы, их содержимое становится доступно в файле, к которому их подключают.

isset() — определяет существует ли переменная, это особенно помогает при работе с GET и POST переменными.

exit() — использование данной функции прекращает выполнение программного кода на месте её вывода. В круглых скобках можно написать сообщение, которое будет выводится на экран.

empty() — проверка переменной на пустоту.

date() — функция возвращает текущий год, месяц, число.

header() — позволяет перенаправлять пользователя на другую страницу.

strlen() — вывод количества символов в переменной.

mysql_query() — функция, в теле которой пишется запрос к базе данных.

mysql_fetch_array() — функция заносит результат выполнения SQL запроса функции mysql_query(), в ассоциативный массив.

mysql_fetch_row() — функция позволяющая определить количество
элементов в БД соответствующих условию в SQL запросе функции
mysql_query().
51

mysql_connect() — функция осуществляющая соединение с БД.

mysql_select_db() — позволяет выбрать базу данных, если одновременно их открыто больше одной.

mysql_close() — функция закрывающая соединение с БД [24].
В качестве сервера управления баз данных в работе была выбрана
СУБД MySQL.
MySQL — это система управления реляционными базами данных. В
реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы
связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать
как язык структурированных запросов плюс наиболее распространенный
стандартный язык, используемый для доступа к базам данных.
MySQL является очень быстрым, надежным и легким в использовании.
Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL — запросы
через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информацию он хочет получить от сервера баз данных. Затем сервер баз
данных посылает ответ (результат) клиенту (скрипту).
Все файлы приложения размещаются в корневом каталоге сайта
(рис. 2.2). Проект содержит несколько подкаталогов:
arhiv — хранит файлы с информацией о каждом конкурса;
blocks — содержит php скрипты,реализующие меню сайта, а так же
верхнюю и нижнюю часть сайта;
img — хранит все файлы изображений, используемые в webприложении;
publication — хранит ранее опубликованные работы пользователей в
электронном виде;
52
result — каталог с итогами каждого конкурса и грамотами победителей;
style — css стили для сайта;
Zayavka — каталог хранит работы участников по каждому конкурсу.
Рисунок 2.2 — Файловая структура сайта
В корневом каталоге хранятся файлы, описанные в таблице 2.1.
Таблица 2.1 — Файлы сайта
Название файла
Назначение
allkonkurs.php
Вывод информации обо всех конкурсах
allzayavka.php
Вывод информации обо всех заявках на участие пользователя
bd.php
Набор функций для подключения к базе данных
enter.php
Форма входа в систему
exit.php
Закрытие сессий / Выход из закрытой части сайта
expert_anketa_action.php
Форма действий эксперта с конкретной работой
Expert_group.php
Форма вывода информации об экспертных группах (Эксперт)
expert_group_action.php
Набор функций для обработки действий эксперта
function.php
Набор пользовательских функций
index.php
Главная страница сайта
info_k.php
Вывод информации о конкурсе / Редактирование информации
53
Продолжение таблицы 2.1
Название файла
Назначение
itog_konkursa.php
Выводит результаты конкурса
login.php
Набор функций авторизации в системе
moykonkurs.php
Выводит информацию о конкурсах (Координатор)
Obrazovanie.php
PersonalInfo.php
PersonalInfo_dop.php
Форма добавления информации об образовании
(Эксперт, Участник)
Форма редактирования личной информации о пользователе
Форма редактирования расширенной личной информации о пользователе (Эксперт, Участник)
prosmotr.php
Вывод всех публикаций
prosmotr_account.php
Просмотр информации о пользователе
prosmotr_publ.php
Просмотр информации о публикации
Publication.php
Выводит список всех публикаций пользователя
Publication_dop.php
Форма создания публикации
reg.php
Форма регистрации пользователя
regform.php
Форма регистрации конкурса
regform2.php
Создание/редактирование критериев конкурса
regform3.php
Создание/редактирование экспертной группы
register.php
Регистрация конкурса (обработчик)
save_user.php
Регистрация пользователя в системе
Spisok_rabot.php
Форма для эксперта для выбора действия
с оцениваемыми работами
upload.php
Набор функций загрузки файлов на сервер
Zayavka.php
Форма редактирования заявки (Участник)
Zayavka_new.php
Форма регистрации заявки на участие в конкурсе (Участник)
Рассмотрим создание страниц приложения на примере страницы модуля сайта «Список конкурсов». Страница состоит из заголовочной части, таблицы из двух столбцов, в левой части которой располагается меню, кнопка
входа в закрытые разделы сайта, в правой отображается основное содержимое страницы, и нижней части (рис. 2.3).
54
Все скрипты PHP заключаются в скобки <? и? >. Язык позволяет формировать страницы из нескольких отдельных составляющих. Для этого используются функции include и require [31]. Например, скрипт
<?php include «blocks/left.php» ?>
делает доступными для страницы все функции, подключенные в этом
файле, а именно подключает раздел с меню.
Рисунок 2.3 — Страница сайта «Список конкурса»
Алгоритм действия всех скриптов:
1) каждый скрипт выполняет подключение к БД, точнее происходит
подключение к файлу обработчика подключения к БД
include(«bd.php»),
в котором прописан код обработки:
[Файл bd.php]
<?php
//Подключаемся к mysql серверу
//имя — localhost
//юзер — root
55
//пароль — нету
$mysql_connect=mysql_connect(«localhost»,«root»);
//Выбираем базу данных konkurs
$db=mysql_select_db(«konkurs»);
mysql_query(«SET NAMES 'utf8';»);
mysql_query(«SET CHARACTER SET 'utf8';»);
mysql_query(«SET SESSION collation_connection = 'utf8_general_ci';»);
?>
2) скрипт обрабатывает данные, введенные пользователем, в форму,
получая их из глобальных массивов $_GET и $_POST, и формирует запрос на
языке SQL;
3) запрос отправляется на сервер с помощью функции mysql_query ():
$res=mysql_query(«select * from ` konkurs `»).
После этого просходит разбор ответа сервера путем применения функции mysql_fetch_array():
$row=mysql_fetch_array($res).
Переменные результата очищаются функцией mysql_free_result($res).
4) по окончании работы скрипт закрывает соединение с БД:
mysql_close($db).
В работе скриптов используются сессии. Сессии предназначены для
хранения сведений о пользователях при переходах между несколькими страницами. При использовании сессий данные сохраняются во временных файлах на сервере.
При работе с сессиями различают следующие этапы:

открытие сессии

регистрация переменных сессии и их использование

закрытие сессии
Открытие сессии
Самый простой способ открытия сессии заключается в использовании
функции session_start, которая вызывается в начале PHP-сценария:
56
session_start();
Эта функция проверяет, существует ли идентификатор сессии, и, если
нет, то создает его. Если идентификатор текущей сессии уже существует, то
загружаются зарегистрированные переменные сессии.
Регистрация переменных сессии
После инициализации сессии появляется возможность сохранять информацию в суперглобальном массиве $_SESSION. Пусть имеется файл
login.php в котором в массив $_SESSION сохраняется переменная.
<?php
// Инициируем сессию
session_start();
// Помещаем значение в сессию
$_SESSION ['login']='admin';
// Выводим ссылку на другую страницу
//Переадресовываем на главную
header(«location: index.php»);
?>
На страницах, где происходит вызов функции session_start(), значения
данных
переменных
можно
извлечь
из
суперглобального
массива
$_SESSION. В следующем листинге приводится содержимое страницы
secretar.php, где извлекаются данные, ранее помещенные на странице
login.php.
<?php
session_start();
if(!isset($_SESSION ['login']))
{$flag=0;}?>
Закрытие сессии
После завершения работы с сессией сначала нужно разрегистрировать
все переменные сессии, а затем вызвать функцию unset():
unset($_SESSION ['login']).
57
2.4 Руководство пользователя web-сайта
1) Не авторизованный пользователь
После запуска браузера необходимо ввести адрес сайта в Internet. На
существующий момент это адрес http://www.konkurs.ru/. В окне браузера загрузится титульная страница сайта, в центре которой содержится новостная
лента и баннер с дружественным проектом Абитуриент.рф, разработанный
ранее. В левой части находится кнопка перехода на главную страницу и
кнопки «Список конкурсов», «О проекте», «Обратная связь» и «Вход». Вид
титульной страницы представлен на рисунке 2.4.
После выбора раздела «Список конкурсов», загружается страница сайта, в которой предлагается выбрать тип интересующего конкурса. Выбрав
необходимый тип, на экране появятся все конкурсы либо завершенные на
данный момент, либо со статусом «Опубликован». Вид данной страницы
представлен на рисунке 2.5.
На данной странице выводится название конкурса, представляющее из
себя кнопку, нажав на которую загрузится страница конкурса, со всей информацией по нему (рис. 2.6).
Рисунок 2.4 — Титульная страница сайта
58
Рисунок 2.5 — Раздел сайта — «Список конкурсов»
Рисунок 2.6 — Страница — «Информация о конкурсе»
Кроме названия, выводится год, когда проводится конкурс, и статус.
Если статус конкурса «завершен» (рис. 2.7), то в колонке «Статус» появится
кнопка, нажав на которую можно узнать результаты конкурса (рис. 2.8). Так
же статус опубликованного конкурса может быть «приём заявок» и «экспертное оценивание».
59
Рисунок 2.7 — «Список конкурсов»
Рисунок 2.8 — «Результаты конкурса»
Следующий раздел меню, доступный для не зарегистрированного
пользователя, — «Просмотр публикаций» (рис. 2.9).
Рисунок 2.9 — «Просмотр публикаций»
60
На странице сайта выводится список публикаций с названием работы,
годом, когда она была опубликована, и автором. Название работы и автор
представлены в виде гиперссылок, нажав на которые загрузятся соответствующие страницы.
Страницы сайта с выбранной работой представлена на рисунке 2.10. На
ней отображаются основные параметры работы и ссылка на электронную
версию, доступную к скачиванию.
Раздел сайта с информацией об авторе работы представлен на рисунке
2.11. На странице указывается общая информация об авторе, уровень образования, и информация о публикациях, зарегистрированных в системе.
Для доступа к закрытым разделам сайта необходимо зарегистрироваться в системе, нажав на «Вход» в левом меню сайта, и «Зарегистрироваться» в
появившемся окне (рис. 2.12).
Рисунок 2.10 — Раздел сайта — «Информация о публикации»
Зарегистрировавшись в системе, для каждой роли доступны новые разделы меню, которые будут описаны дальше в работе.
61
Рисунок 2.11 — Раздел сайта — «Информация об авторе»
Рисунок 2.12 — Раздел сайта — «Регистрация»
2) Координатор конкурса
Для того чтобы зайти в закрытые разделы сайта, необходимо пройти
авторизацию нажав на пункт меню «Вход».
Авторизовавшись, как координатор конкурсного проекта, становятся
доступны 3 новых пункта меню:
 «Личная информация»;
 «Регистрация конкурса»;
 «Мои конкурсы» (рис. 2.13).
Раздел «Личная информация» позволяет редактировать сведения о координаторе (рис. 2.14). Пользователь может сменить пароль, указать свои
62
фамилию, имя и отчество, пол, дату рождения, контактный email и организацию, которую он представляет. Поля организация представляет собой выпадающий список со списком различных учреждений. Если нужная организация не найдена, то необходимо зайти в раздел обратной связи, и написать администратору системы, с просьбой добавить новую компанию.
Рисунок 2.13 — Раздел сайта — «Главная страница: Координатор»
Раздел сайта «Регистрация конкурса» предназначен для создания нового конкурса (рис. 2.15). Для регистрации координатор должен указать название и тип конкурса, год проведения, сроки приема и оценивания заявок,
форму участия, и указать дополнительную информацию.
Рисунок 2.14 — «Личная информация»
63
Рисунок 2.15 — «Регистрация конкурса»
Нажав кнопку «зарегистрировать», информация о конкурсе попадает в
базу данных, и открывается страница с добавлением критериев оценивания
(рис. 2.16). Здесь можно указать название критерия, шкалу, по которой эксперты должны будут оценивать работы, и комментарии к шкале.
После добавления критериев, следующим этапом создания конкурса
идет выбор экспертной группы (рис. 2.17). Эксперта можно выбрать из выпадающего списка, из числа тех, кто зарегистрирован в системе.
Как только конкурс зарегистрирован, ему присваивается статус «на утверждении» и он появляется в списке конкурсов координатора, увидеть который можно зайдя в раздел «Мои конкурсы» (рис. 2.18). На странице показаны все конкурсы, которые созданы данным пользователем, их название, нажав на которое можно перейти на страницу с подробной информацией по
конкурсу, статусом конкурса («на утверждении», «опубликован», «завершен»). Имеется возможность редактировать критерии, состав экспертной комиссии, загрузить файлы конкурса (логотип, устав). Так же координатор
имеет возможность сформировать различного вида отчеты по конкретному
конкурсу.
64
Рисунок 2.16 — «Регистрация конкурса: Критерии оценивания»
Рисунок 2.17 — «Регистрация конкурса: Экспертная группа»
Рисунок 2.18 — Раздел сайта — «Мои конкурсы»
65
Нажав на название конкурса, пользователь попадает на страницу с подробным описанием и возможностью редактирования конкурса (рис. 2.19).
Рисунок 2.19 — Раздел сайта — «Мои конкурсы»
По завершению конкурса координатор может прикрепить файлы с итогами, после чего они будут доступны всем пользователям.
66
3) Эксперт
Авторизовавшись в системе как эксперт, пользователь видит главную
страницу с расширенным меню, представленную на рисунке 2.20.
Рисунок 2.20 — «Главная страница: Эксперт»
Как видно из рисунка, эксперт имеет доступ к таким разделам меню:
 Личная информация;
 Личная информация (доп.);
 Сведения об образовании;
 Мои публикации;
 Экспертные группы.
Раздел «Личная информация» был описан ранее в параграфе 2.5.1, эксперт, так же как и координатор, может редактировать основную информацию
о себе. Более подробную информацию о себе пользователь может указать в
разделе «Личная информация (доп.)» (рис. 2.21). На данной странице выводятся все параметры, имеющиеся в базе данных. Если администратор добавит новый параметр в базу, то он автоматически выведется здесь, и не нужно
будет специально прописывать новые параметры в коде сайта.
В разделе «Мои публикации» эксперт может занести информацию о
своих работах, или же редактировать имеющиеся (рис. 2.22 и 2.23).
67
Рисунок 2.21 — «Личная информация (доп.)»
Рисунок 2.22 — Раздел сайта — «Мои публикации»
Страница добавления публикации представлена на рисунке 2.24 и позволяет указать название работы, год, информацию об издании, написать
краткую аннотацию, ключевые слова, тип работы и прикрепить сам документ
в электронном виде.
68
Рисунок 2.23 — Страница — «Информация о публикации»
Рисунок 2.24 — «Создание публикации»
Выбрав пункт в меню «Экспертные группы», пользователь перейдет на
страницу с конкурсами, в которых эксперт принимает участие в оценивании
работ, или которые ожидают подтверждения на участие (рис. 2.25). Как видно из рисунка, пользователь может ознакомиться с информацией по конкурсу, после чего принять приглашение или отклонить. Когда наступает период
экспертного оценивания, то становится доступна кнопка «Оценить работы».
69
Рисунок 2.25 — Раздел сайта — «Экспертные группы»
Перейдя к оцениванию работ, откроется новая страница, на которой
будут размещены все заявки доступные для оценивания по данному конкурсу
без указания авторов заявок (рис. 2.26).
Рисунок 2.26 — Фрагмент раздела сайта — «Оценивание работ»
По каждой работе эксперт может просмотреть информацию, нажав на
название (рис. 2.27), оценить по заявленным критериям (рис. 2.28), отправить
на доработку, если есть не значительные ошибки (рис. 2.29), и отказать в
участии (рис. 2.30). При этом, отправляю работу на доработку, отказывая в
участии, эксперт обязательно указывает причину.
Рисунок 2.27 — Фрагмент раздела сайта — «Просмотр работы»
70
Рисунок 2.28 — Фрагмент раздела сайта — «Оценивание работы»
Рисунок 2.29 — Фрагмент раздела сайта — «Отправка работы на доработку»
Рисунок 2.30 — Фрагмент раздела сайта — «Отказ работы в участии»
71
4) Заявитель/участник
Авторизовавшись в системе как участник, пользователь видит главную
страницу с расширенным меню, представленную на рисунке 2.31.
Рисунок 2.31 — «Главная страница: Заявитель»
Как видно из рисунка, участник имеет доступ к следующим разделам
меню:
 Личная информация;
 Личная информация (доп.);
 Сведения об образовании;
 Мои публикации;
 Мои заявки.
Все разделы, кроме «Мои заявки», имеют такую же структуру, что и
для роли эксперта, и описаны в параграфе 2.5.2.
Страница «Мои заявки» показывает все заявления на участие в конкурсе (рис. 2.32).
Рисунок 2.32 — Раздел сайта — «Мои заявки»
72
Если работа участника отправлена на доработку, то отображается
кнопка «Редактировать», нажав на которую пользователь увидит причину того, почему работа отправлена на доработку, и сможет поправить её
(рис. 2.33).
Так же пользователь может подать заявку на участие в каком-либо конкурсе. Для этого ему нужно зайти на страницу конкретного конкурса и в
нижней части нажать на кнопку «Подать заявку на участие» (рис. 2.33).
Рисунок 2.33 — Раздел сайта — «Редактирование заявки на участие»
Рисунок 2.34 — Раздел сайта — «Информация о конкурсе»
73
Форма подачи заявки представлена на рисунке 2.35. Для внесения информации форма содержит следующие поля:
 Форма участия;
 Комментарии;
 Нужно ли место жительства;
 Название работы;
 Аннотация;
 Ключевые слова;
 Файл.
Рисунок 2.35 — Раздел сайта — «Создание заявки»
Поле «Форма участия» представлена в виде выпадающего списка, содержащего доступные варианты, указанные координатором при регистрации
конкурса.
74
В поле «Файл» необходимо выбрать файл, который будет загружен с
локального компьютера, посредством кнопки «Обзор».
Остальные поля содержат краткую информацию о работе и служат для
облегчения поиска в системе.
Выход из системы осуществляется нажатием кнопки «Выход» в основном меню сайта. После чего дальнейшая работа с системой происходит в режиме не зарегистрированного пользователя.
2.5 Пользовательские запросы
Для автоматизации работы координаторы в системе предусмотрен ряд
пользовательских запросов, из которых будут формироваться отчеты. Для
этого координатору необходимо перейти в раздел «Мои конкурсы» и нажать
на кнопку «Отчет» напротив нужного конкурса. Ниже приведен ряд таких
запросов.
1) Список всех участников, которые нуждаются в месте пребывания на
время участия в конкурсе.
SQL — запрос:
SELECT ac.fam [Фамилия], ac.im [Имя], ac.otch [Отчество]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
WHERE a.id_konkursa=1 and ISNULL(c.mesto,'')='да'
2) Список всех участников конкурса с присужденными экспертами
баллами, рассчитанными по разной методике.
SQL — запрос:
SELECT a.name [Название], b.napravl [Направление], ac.fam [Фамилия],
ac.im [Имя], ac.otch [Отчество], SUM(ISNULL(o.value,0)) [Суммарный балл]
FROM konkurs as a
75
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
INNER JOIN anketa_experts as ae on ae.id_rabota=c.id_rabota
INNER JOIN ocenka as o on ae.id_anketa=o.id_anketa
WHERE a.id_konkursa=1 and b.id_kn=1
GROUP BY a.name, b.napravl ,ac.fam, ac.im, ac.otch
ORDER BY [Суммарный балл по всем экспертам]
SQL — запрос:
SELECT a.name [Название], b.napravl [Направление], ac.fam [Фамилия],
ac.im [Имя], ac.otch [Отчество], AVG(ISNULL(o.value,0)) [Средний балл]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
INNER JOIN anketa_experts as ae on ae.id_rabota=c.id_rabota
INNER JOIN ocenka as o on ae.id_anketa=o.id_anketa
WHERE a.id_konkursa=1 and b.id_kn=1
GROUP BY a.name, b.napravl ,ac.fam, ac.im, ac.otch
ORDER BY [Суммарный балл по всем экспертам]
3) Список 5 экспертов в системе с наибольшим участием в конкурсах.
SQL — запрос:
SELECT TOP(5) a.fam [Фамилия], a.im [Имя], a.otch [Отчество],
COUNT(ac.id_kn) [Количество конкурсов]
FROM account as a
INNER JOIN expert_group as ac on ac.id_expert=a.id_account
WHERE ac.status='утвержден'
GROUP BY a.fam, a.im, a.otch
ORDER BY [Количество конкурсов]
76
4) Список 6 пользователей с наибольшим количеством публикаций (3
эксперта и 3 участника).
SQL — запрос:
SELECT TOP(3) ac.role [Роль пользователя], a.fam [Фамилия], a.im
[Имя], a.otch [Отчество], COUNT(ap.id_publication) [Количество публикаций]
FROM account as a
INNER JOIN account_enter as ac on ac.id_account=c.id_account
INNER JOIN account_publication as ap on ac.id_account=ap.id_account
WHERE ac.role='эксперт'
GROUP BY ac.role, a.fam, a.im, a.otch
UNION
SELECT TOP(3) ac.role [Роль пользователя], a.fam [Фамилия], a.im
[Имя], a.otch [Отчество], COUNT(ap.id_publication) [Количество публикаций]
FROM account as a
INNER JOIN account_enter as ac on ac.id_account=c.id_account
INNER JOIN account_publication as ap on ac.id_account=ap.id_account
WHERE ac.role='заявитель'
GROUP BY ac.role, a.fam, a.im, a.otch
ORDER BY [Количество публикаций]
5) Статистика участников конкурса в разбивке по возрастным группам.
SQL — запрос:
SELECT [Название], [Направление] ,
SUM(case when [Возраст]<=15 then 1 else 0 end [до 15 лет] ,
SUM(case when [Возраст]>15 and [Возраст]<=20 then 1 else 0 end) [от 16
до 20 лет] ,
SUM(case when [Возраст]>20 and [Возраст]<=25 then 1 else 0 end) [от 21
до 25 лет] ,
SUM(case when [Возраст]>25 then 1 else 0 end) [старше 26 лет]
77
FROM (
SELECT a.name [Название], b.napravl [Направление],
TIMESTAMPDIFF(YEAR, ac.date_rozd, curdate()) [Возраст]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
WHERE a.id_konkursa=1 and b.id_kn=1
)A
GROUP BY [Название], [Направление]
6) Количество пользователей, принявших участие в конкурсе.
SQL — запрос:
SELECT COUNT(ac.id_account) [Количество участников]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
WHERE a.id_konkursa=1
7) Организации, чьи представители приняли участие в конкурсе.
SQL — запрос:
SELECT distinct or.name [Организация]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
INNER JOIN organization as or on ac.id_org=or.id_org
WHERE a.id_konkursa=1
78
8) Пользователи, каких городов/стран приняли участие в конкурсе.
SQL — запрос:
SELECT distinct pa.value [Город]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
INNER JOIN account_parameter as p on p.id_account=ac.id_account
INNER JOIN parameter_dictionary as pa on p.parameter=pa.parameter and
pa.number=p.float_value
WHERE a.id_konkursa=1 and p.parameter='gorod'
SQL — запрос:
SELECT distinct pa.value [Страна]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
INNER JOIN account_parameter as p on p.id_account=ac.id_account
INNER JOIN parameter_dictionary as pa on p.parameter=pa.parameter and
pa.number=p.float_value
WHERE a.id_konkursa=1 and p.parameter='strana'
9) Вывести список экспертов имеющих определенное ученое звание.
SQL — запрос:
SELECT distinct a.fam [Фамилия], a.im [Имя], a.otch [Отчество]
FROM account as ac
INNER JOIN account_enter as c on ac.id_account=c.id_account
INNER JOIN account_parameter as p on p.id_account=ac.id_account
79
INNER JOIN parameter_dictionary as pa on p.parameter=pa.parameter and
pa.number=p.float_value
WHERE c.role='эксперт' and p.parameter='stepen' and pa.number=1
10) Вывести список работ участников в заданном формате.
SQL — запрос:
SELECT p.name [Название работы], a.fam +' '+ a.im +' '+ a.otch [Автор]
FROM konkurs as a
INNER JOIN konkurs_napravlenie as b on a.id_konkursa=b.id_konkurs
INNER JOIN zayavka as c on c.id_kn=b.id_kn
INNER JOIN account as ac on ac.id_account=c.id_account
INNER JOIN rabota as p on p.id_r=c.id_rabota
WHERE a.id_konkursa=1
ORDER BY 2
Приведенный список запросов не окончательный, и может пополняться
администратором системы.
80
ЗАКЛЮЧЕНИЕ
В результате выполнения выпускной квалификационной работы была
достигнута цель, которая заключалась в разработке полнофункциональной,
расширяемой автоматизированной информационной системы «Конкурс».
В ходе выполнения работы была изучена предметная область проводимых конференций; проделан анализ существующих автоматизированных информационно-аналитических систем поддержки проведения научных конкурсов; выявлены потенциальные пользователи и требования к проектируемой системе.
Обоснованна целесообразность создания данной системы. Разработана
структура базы данных и выбран наиболее рациональный способ ее построения. Для реализации базы данных была выбрана СУБД MySQL и язык сценариев PHP. Выполнено начальное информационное наполнение. Приведен порядок работы с системой.
Предлагаемый программный продукт отвечает всем выявленным в работе требованиям: имеет простой и интуитивно понятный интерфейс; позволяет пользователю управлять всеми данными без специальных знаний; имеет
возможность для внесения новых функций по мере необходимости; легко
адаптируется к любой операционной системе для настольных ПК.
Результаты работы нашли отражение в научной статье, опубликованной в Международном научном журнале «Синергия наук» (выпуск 10).
Разработанная система конечно должна развиваться и меняться в соответствии с изменяющимися запросами аудитории, с появлением новых технологий, с добавлением новых типов конкурсов, как эффективный инструмент обеспечения научной деятельности.
81
СПИСОК ЛИТЕРАТУРЫ
1. ГОСТ 34.003–90. Автоматизированные системы термины и определения. — Введ. с, 1992. — 23 с.
2. ГОСТ 34.602–89. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы. — Введ. 01.01.1990. — М.: Изд-во стандартов,
1990. — 12 с.
3. ГОСТ Р ИСО/МЭК ТО 12207–99. Информационная технология.
Процессы жизненного цикла программных средств. — Введ. 01.07.2000. —
М.: Изд-во стандартов, 2000. — 42 с.
4. Арлоу, Д. UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование / Арлоу Д., И. Нейштадт.
— 2-е изд. — СПб.: Символ-Плюс, 2007. — 624 с.
5. Буч, Г. Язык UML: Руководство пользователя/ Г. Буч, Д. Рамбо, А.
Джекобсон. — 2-е изд. — М.: ДМК, 2006. — 496 с.
6. Воронцова, И. В. Анализ системы проведения конкурсов молодежных профессиональных инициатив // Актуальные вопросы современной педагогики: материалы VIII международной научной конференции — Самара:
Асгард, 2016. — С. 28–32.
7. Гвоздева, В.А. Основы построения автоматизированных информационных систем / В.А. Гвоздева, И.Ю. Лаврентьева. — М.: Форум, Инфра-М,
2016. — 320 c.
8. Гома, Х. UML. Проектирование систем реального времени, параллельных и распределенных приложений / Х. Гома. / пер. с англ. — М.: ДМК
Пресс, 2016. — 700 с
9. Грекул,
В.И.
Проектирование
информационных
систем/
В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина — Бином. Лаборатория знаний Интуит, 2008. — 300 с.
82
10.
Елиферов, В.Г. Бизнес-процессы: Регламентация и управление
/ В.Г. Елиферов. — М.: НИЦ ИНФРА-М, 2013. — 319 c.
11.
Леоненков, А.В. Самоучитель UML/ А.В. Леоненков — СПб.:
БХВ- Петербург, 2001. — 304 с.
12.
Маннинг, Кристофер Д. Введение в информационный поиск:
Пер. с англ./ Кристофер Д. Маннинг, Прабхакар Рагхаван, Шютце Хайнрих
— М.: ООО «И.Д.Вильямс», 2011. — 528 с.
13.
Новиков Д.А., Суханов А.Л. Модели и механизмы управления
научными проектами в ВУЗах. М.: Институт управления образованием РАО,
2005. — 80 с.
14.
Новиков, А.Ф. Анализ и проектирование на языке UML/
А.Ф. Новиков — СПб.: ИТМО, 2007. — 286 с.
15.
Петров,
В.Н.
Информационные
системы
/
В.Н. Петров,
Ю.С. Избачков — СПб.: Питер, 2006. — 656 с.
16.
Рамбо, Д. UML 2.0. Объектно-ориентированное моделирование
и разработка/ Д. Рамбо, М. Блаха. — 2-е изд. — СПб.: Питер, 2007. — 544 с.
17.
Репин, В.В. Процессный подход к управлению. Моделирование
бизнес-процессов / В.В. Репин, В.Г. Елиферов. — М.: Манн, Иванов и Фербер, 2012. — 544 с.
18.
Реутов, А.П. Автоматизированные информационные системы:
методы построения и исследования / А.П. Реутов, М.В. Черняков, С.Н. Замуруев. — М.: Радиотехника, 2010. — 328 c.
19.
Рюмшина, О.А. Информационные системы: теория и практика/
О. А. Рюмшина — Орел: ФГБОУ ВПО «Орловский государственный университет», 2011. — 262 с.
20.
Трофимов, В.В Информационные системы и технологии в эко-
номике и управлении / В.В. Трофимов. — М.: Высш. образование, 2006. —
480 с.
21.
Федоров И.Г. Моделирование бизнес-процессов в нотации
BPMN 2.0: Монография / И.Г. Федоров. — М: МЭСИ, 2013. — 255 с.
83
22.
Хомоненко, А. Д. Базы данных: Учебник для высших учебных
заведений/ А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев. — СПб.: КОРОНА принт, 2000. — 416с.
23.
PHP, SQL и другие web-технологии [Электронный ресурс]:
уроки. — Режим доступа: http://www.phpsql.ru/
24.
Бесплатная коллекция уроков для создания вашего сайта
[Электронный ресурс]: уроки. — Режим доступа: http://ajaxs.ru/
25.
Интернет-журнал «Эйдос» [Электронный ресурс]: сайт. —
Режим доступа: http://www.eidos.ru/
26.
Подмарькова Е.М., Зайцева Н.А. Разработка системы поддерж-
ки проведения конкурсных мероприятий [Электронный ресурс]: сайт. Режим
доступа: http://web.snauka.ru/issues/2015/06/55526/
27.
Портал РГНФ [Электронный ресурс]: сайт. — Режим доступа:
http://www.rfh.ru/
28.
Портал РФФИ [Электронный ресурс]: сайт. — Режим доступа:
http://www.rfbr.ru/rffi/ru/
29.
Свободная энциклопедия [Электронный ресурс]: сайт. — Ре-
жим доступа: https://ru.wikipedia.org/
30.
Система управления бизнес-процессами и эффективностью
[Электронный ресурс]: сайт. — Режим доступа: http://www.elmabpm.ru/
31.
Справочник языка [Электронный ресурс]: руководство по PHP.
— Режим доступа: http://php.ru/
84
ПРИЛОЖЕНИЕ 1
Диаграмма прецедентов — «Неавторизованный пользователь»
85
ПРИЛОЖЕНИЕ 2
Диаграмма прецедентов — «Зарегистрированный пользователь»
86
ПРИЛОЖЕНИЕ 3
Диаграмма классов
87
ПРИЛОЖЕНИЕ 4
Схема базы данных
88
ПРИЛОЖЕНИЕ 5
Структура таблиц базы данных
Таблица account — информация о пользователях
Поле
Тип
Null
По умолчанию
Связи
Комментарии
id_account
int(11)
Нет
account_enter —> id_account
первичный ключ
fam
varchar(50)
Нет
фамилия
im
varchar(50)
Нет
имя
otch
varchar(50)
Да
''
отчество
pol
enum('м', 'ж')
Нет
м
пол
date_rozd
date
Нет
1990–01–01
дата рождения
id_org
int(11)
Нет
0
organization —> id_org
внешний ключ
Таблица konkurs_napravlenie — направление конкурса
Поле
Тип
Null
id_kn
int(11)
Нет
id_konkurs
int(11)
Нет
napravl
varchar(20)
Нет
По умолчанию
Связи
Комментарии
первичный ключ
konkurs —> id_konkursa
код конкурса
название направления
89
Таблица account_parameter — информация о параметрах пользователей
Поле
Тип
Null
id_account
int(11)
parameter
По умолчанию
Связи
Комментарии
Нет
account —> id_account
первичный ключ
varchar(8)
Нет
parameter —> code
первичный ключ — код параметра
float_value
int(11)
Да
NULL
численное значение параметра
string_value
varchar(50)
Да
NULL
строковое значение параметра
last_updated_date
date
Нет
Year_obr
int(4)
Нет
дата последней редакции
год (для параметров образования)
2000
Таблица expert_group — информация об участии эксперта в оценивании работ конкурса
Поле
Тип
Null
id_kn
int(11)
id_expert
int(11)
status
enum('ожидает', 'утвержден',
'отказ')
Связи
Комментарии
Нет
konkurs_napravlenie —> id_kn
код конкурсного направления
Нет
account —> id_account
код эксперта
Нет
По умолчанию
статус
90
Таблица account_publication — информация об авторах публикаций
Поле
Тип
Null
id_account
int(8)
id_publication
int(8)
status
enum('подтвержден',
'отклонен', 'ожидает')
Связи
Комментарии
Нет
account —> id_account
первичный ключ
Нет
publication —> id_publication
первичный ключ
Нет
По умолчанию
ожидает
статус
last_updated_by
int(11)
Нет
кто последний редактировал
last_updated_date
date
Нет
когда
Таблица kriteriy — критерии оценивания
Поле
Тип
Null
По умолчанию
id_konk
int(11)
Нет
id_krit
int(11)
Нет
первичный ключ
name
varchar(50)
Нет
название критерия
shkala
varchar(50)
Нет
comment
text
Нет
1,2,3,4,5
Связи
Комментарии
konkurs —> id_konkursa
первичный ключ
шкала
комментарии
91
Таблица ocenka — экспертная оценка экспертом работы
Поле
Тип
Null
id_anketa
int(11)
id_krit
По умолчанию
Связи
Комментарии
Нет
anketa_experta —> id_anketa
первичный ключ
int(11)
Нет
kriteriy —> id_krit
первичный ключ
value
float
Нет
0
оценка
comment
text
Да
NULL
комментарии
Таблица anketa_experta — информация о статусе оценки работы экспертом
Поле
Тип
Null
id_anketa
int(11)
Нет
id_rabota
int(11)
Нет
rabota —> id_r
первичный ключ
id_expert
int(11)
Нет
expert_group —> id_expert
первичный ключ
status
enum('отказ', 'доработка',
'оценена', 'ожидает')
По умолчанию
Связи
Комментарии
первичный ключ
Нет
ожидает
статус анкеты
dorabotka
text
Да
NULL
причина отправки на доработку
otkaz
text
Да
NULL
причина отказа в участии
laste_date
date
Нет
дата последней редакции
92
Таблица account_enter — используется для хранения паролей и имен пользователей
Поле
Тип
Null
По умолчанию
Комментарии
id_account
int(11)
Нет
role
enum('эксперт', 'координатор', 'заявитель')
Нет
login
varchar(20)
Нет
логин
password
varchar(20)
Нет
пароль
email
varchar(20)
Нет
creation_date
date
Нет
первичный ключ
заявитель
роль пользователя
дата создания
Таблица parameter — информация о параметрах
Поле
Тип
Null
code
varchar(10)
Нет
первичный ключ
display_name
varchar(100)
Нет
название параметра
tip
enum('slovar', 'string', 'float', '')
Нет
тип значений параметра
for
enum('account', 'obrazovanie', 'publication', 'konkurs', 'anketa',
'zayavka')
Нет
По умолчанию
account
Комментарии
принадлежность параметра
93
Таблица organization — информация об организациях
Поле
Тип
Null
По умолчанию
Комментарии
id_org
int(11)
Нет
первичный ключ
name
varchar(200)
Нет
название организации
gorod
varchar(20)
Нет
город
adress
varchar(100)
Нет
адрес
telefon
varchar(20)
Нет
телефон
email
varchar(20)
Нет
email
Таблица parameter_dictionary — словарь значений параметра
Поле
Тип
Null
По умолчанию
Связи
Комментарии
Code
varchar(10)
Нет
parameter —> code
код параметра
number
int(11)
Нет
численное значение параметра
value
varchar(50)
Нет
значение
94
Таблица konkurs — информация о конкурсе
Поле
Тип
Null
id_konkursa
int(11)
Нет
первичный ключ
name
varchar(100)
Нет
названия
tipK
int(11)
Нет
god
int(4)
Нет
год
begin_zay
date
Нет
дата начала приема заявок
end_zay
date
Нет
дата окончания приема заявок
begin_exp
date
Нет
дата начала экспертного оценивания
end_exp
date
Нет
дата окончания экспертного оценивания
forma
enum('очная', 'заочная',
'очно — заочная')
Нет
text
text
Нет
created_by
int(11)
Нет
status
enum('на утверждении',
'опубликован', 'завершен')
Нет
По умолчанию
Связи
tipkonkursa —> id_tip
заочная
Комментарии
тип конкурса
форма участия
дополнительная информация
account_enter —>
id_account
на утверждении
кем создан
статус конкурса
95
Таблица publication — основная информация о публикациях
Поле
Тип
Null
По умолчанию
Комментарии
id_publication
int(11)
Нет
первичный ключ
nazvanie
varchar(200)
Нет
название работы
god
int(4)
Нет
год опубликования
Таблица publication_parameter — параметры публикации
Поле
Тип
Null
id_publication
int(11)
parameter
По умолчанию
Связи
Комментарии
Нет
publication —> id_publication
первичный ключ
varchar(10)
Нет
parameter —> code
первичный ключ
float_value
int(11)
Да
NULL
численное значение параметра
string_value
varchar(1000)
Да
NULL
строковое значение параметра
last_updated_by
int(11)
Нет
last_updated_date
date
Нет
account —> id_account
кем редактировалось
когда редактировалось
96
Таблица rabota — информация о конкурсной работе
Поле
Тип
Null
По умолчанию
Комментарии
id_r
int(11)
Нет
первичный ключ
name
varchar(100)
Нет
название работы
annot
text
Нет
аннотация
kl_sl
text
Нет
ключевые слова
Таблица tipkonkursa — тип конкурса
Поле
Тип
Null
По умолчанию
Комментарии
id_tip
int(11)
Нет
первичный ключ
tip
varchar(100)
Нет
тип конкурса
97
Таблица zayavka — информация о конкурсной заявке участника
Поле
Тип
Null
id_account
int(11)
id_kn
Связи
Комментарии
Нет
account —> id_account
код участника
int(11)
Нет
konkurs_napravlenie —> id_kn
id_rabota
int(11)
Нет
rabota —> id_r
creation_date
date
Нет
status
enum('создана',
'на доработке', 'отклонена')
По умолчанию
код направления
конкурса
код работы
дата создания
Нет
создана
статус заявки
forma
enum('очная', 'заочная')
Нет
заочная
форма участия
info
text
Да
NULL
примечание
nomer_z
int(11)
Нет
mesto
enum('да', 'нет')
Нет
номер заявки
нет
нужно ли место
жительства
98
АННОТАЦИЯ
Привлечение молодежи в науку входит в число актуальных и наиболее
приоритетных задач государственного уровня. Статистические сведения указывают на постоянную тенденцию старения научных кадров. Одним из факторов активизации научно-исследовательской работы молодежи является их
участие в конкурсах и конференциях различного уровня. Студенческие научные мероприятия пользуются большой популярностью, и даже сравнительно небольшие конференции собирают несколько сотен очных и заочных
участников.
Целью работы выступает разработка информационной системы для автоматизации проведения научной конференции.
В магистерской работе на основании описания предметной области
были выделены основные бизнес-процессы и их участники. Смоделированы
диаграммы для каждого выделенного процесса. Каждая из диаграмм имеет
подробное описание протекающих в ней потоков операций. Разработано webприложение на языке PHP, которое реализует на практике спроектированную
информационную систему. При построении архитектуры приложения использовался шаблон MVC.
При проведении исследования были изучены работы российских и зарубежных авторов по проведению анализа современного состояния научных
и практических исследований, проведенных Новиковым Д.А., Сухановым
А.Л. и др. в области построения моделей процесса отбора работ, управления
научными проектами в ВУЗах, по вопросам разработки программного обеспечения с использованием нотации UML, BPMN, языка PHP и СУБД MySQL.
При выполнении работы использовались методы системного анализа,
методика моделирования предметной области, модели обработки текстовой
информации.
Полученные результаты имеют практическую значимость. Разработанные требования к программному продукту, автоматизирующему процедуру
99
проведения научных конкурсов, и само web-приложения позволяют на практике организовать научно-исследовательскую конференцию на базе ВУЗа, с
использованием разработанной системы. В дальнейшем функционал системы
можно расширить.
Выпускная квалификационная работа занимает 97 страниц, на которых
располагаются 48 рисунков, изображающие диаграммы, структуру webприложения, 1 таблица, которая описывает структуру файловой системы сайта, и 5 приложений. В результате проведенной работы были использованы
материалы 31 источника, в которые входят как научные литературные публикации, так и авторский самоанализ производимых программных средств,
доступный на интернет страницах разработчиков.
Ключевые слова: автоматизированная информационно-аналитическая
система, бизнес-процессы, моделирование, BPMN, UML, оркестровка, диаграмма межпроцессного взаимодействия, диаграмма прецедентов, диаграмма
классов, диаграмма пакетов, проектирование, база данных, MySql, PHP, webприложение, векторная модель, кластеризация текстов, конкурс, научноисследовательская деятельность.
;l{t,tTý,t
ЖJý&ГМ&Y
Орловский ГУ
спрАвкА
о результатах проверки текстового документа
на наличие заимствований
Проверка выполнена в системе
Антиплагиат.ВУЗ
Автор работы
Пилявский !,митрий Павлович
Факу:-tьтет, кафе.лра.
номер груtlпы
Физико-математический
экономдке
Тип работы
fiилломнм работа
Название рабо,гы
Разработка информаuионно-ан&литической сиgгемы лиспстчфования
факультет. кафслра а,тгебры и математиqсских мЕгодов в
работы конференчии
Название файла
ПимяскиЙДмl'tтрitЯ,Паэяёв sх
Прочент заимсl,вования
ЪS34а/а
Прошент цитирования
0%
Проuегtт оригина-lьнос],и
74,66О/о
.,Ц,ата
проверки
10145:08
13 июня 2017г.
модчли поиска
''Университетская библиотска онлайн"; Коллекшля лиссертачия РГБ; Колдекцшл
п9Iтс{а
еLIBRARY,RU;,Ь4олуль,пбиока
ЭБС "Лань";, Молуль поиака 1'ФГБOУ В€lОГУ- :йшffД .ТФfёНфаУi:КýфДs вров
"Аfi.бфо1;,ý4олчль,Еояqка,
,,
Работу проверил
Дата подписи
Чтобы убелиться
в подjlинносl,tt справки,
испOпьзуйте QR-Ko;r, который
содержи1 ссы.,lк\ lta о,гrtет
Седтоти н,Владимир
ФИО
flмшриЬ*ич
проверяющего
:
я},аь,zаlу
.,
:
OiBeT на'вопрос. является ли обнаружснное заимOтвование
коррекl ныi!t. cllcTefola оставляет на усNlотрение проверяющего.
[1рё:tостав.rенная информаuия r{e подлежит использованию в
коIlмерчески\
це.lях,
1/--страниц
Пожаловаться на содержимое документа