Дипломная работа: Автоматизация обучения технологии MSF: разработка виртуального собеседника для сбора информации для развертывания программных продуктов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

20

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

Национальный исследовательский университет «Высшая школа экономики»

Факультет экономики, менеджмента и бизнес-информатики

Выпускная квалификационная работа

Автоматизация обучения технологии MSF: разработка виртуального собеседника для сбора информации для развертывания программных продуктов

студента образовательной программы «Программная инженерия»

по направлению подготовки 09.03.04 Программная инженерия

Репин Дмитрий Юрьевич

Пермь, 2018 год

Аннотация

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

Оглавление

Глава 1. Описание предметной области

1.1 MSF как метод разработки программного обеспечения

1.2 Деловая игра «Развертывание»

1.3 Анализ игры

1.4 Автоматизация игры с помощью виртуального собеседника

1.5 Требования к разрабатываемой системе

Глава 2. Проектирование системы

2.1 Анализ возможных проектных решений алгоритма реализации виртуального собеседника

2.2 LSPL - язык лексико-синтаксических шаблонов

2.3 Проектирование алгоритма работы системы

2.4 Определение бизнес-процессов

2.5 Проектирование системы

Глава 3. Разработка системы

3.1 Инструментальные средства разработки

3.2 Разработка базы данных

3.3 Подготовка файла с входными данными

3.4 Наполнение базы данных

3.5 Использование лексико-синтаксических шаблонов

3.6 Разработка веб-приложения

3.7 Разработка сервиса администрирования

3.8 Публикация системы на Microsoft Azure и опытное тестирование

Заключение

Библиографический список

Введение

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

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

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

Проблема. У деловой игры существует три проблемы. Для преподавателя это трудозатраты, для студентов - затраты по времени и для игры в целом это ее длительность.

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

Объект работы: процесс проведения. деловой игры по развертыванию программного обеспечения по технологии MSF.

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

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

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

Задачи:

1. Анализ накопленного опыта

2. Разработка виртуального собеседования

3. Разработка системы администрирования

4. Опытная эксплуатация системы

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

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

Работа разделена на 3 главы. Первая глава содержит описание предметной области и анализ автоматизируемого процесса. Во второй главе приведен анализ предыдущей версии системы, описано проектирование и подобраны алгоритмы для реализации, а также будет определена методика разработки системы. Третья глава содержит информацию о разработке виртуального собеседника, системы администрирования и апробации виртуального собеседника.

Глава 1. Описание предметной области

В первой главе будет описана деловая игра по технологии MSF «Развертывание», выявлены недостатки в предыдущей ее версии, будут сформированы требования к новой версии системы.

1.1 MSF как метод разработки программного обеспечения

MSF (Microsoft Solution Framework) - методология разработки программного обеспечения, предложенная корпорацией Microsoft. MSF опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами в процессе разработки решения.

По MSF процесс разработки программного обеспечения имеет спиральную форму. Итерация цикла представлена на рис. 1.1:

Рисунок 1.1. Модель MSF [1]

Каждая итерация состоит из следующих этапов:

1. Envision (Выработка концепции). На первом этапе создается основной состав проектной группы и готовится описание проекта, оговариваются рамки проекта.

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

3. Developing (Разработка). На этапе разработки пишется код приложения, подготавливается документация.

4. Stabilizing (Стабилизация). На этом этапе проводится тестирование приложения, устраняются обнаруженные ошибки. Внимание фокусируется на предполагаемых сценариях использования приложения

5. Deploying (Развертывание). На этапе развертывания происходит внедрение готового приложения в рабочий процесс, происходит налаживание сопровождение приложения, закрывается или продлевается контракт с заказчиком.

1.2 Деловая игра «Развертывание»

Для изучения технологии MSF в НИУ ВШЭ-Пермь используется ряд деловых игр: Envision&Planning, «Стабилизация» и «Развертывание». В ходе каждой из игр студенты попадают в сложные ситуации, которые как можно более точно имитируют прецеденты на реальном производстве.

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

1. Сбор информации о подразделениях фирмы «ОбалдеИТ».

2. Формирование расписания развертывания.

3. Подведение итогов.

4. Корректировка расписания после полученной информации в ходе подведения итогов

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

1.3 Анализ игры

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

Описанный выше процесс имеет ряд достоинств и недостатков. Разберем те черты процесса, которые хотелось бы сохранить в разрабатываемом виртуальном собеседнике:

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

2. Общение с преподавателем одновременно доступно сразу нескольким группам студентов.

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

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

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

3. Удобство студентов. Студенты вынуждены ждать своей очереди и находить способ наискорейшей коммуникации с преподавателем.

1.4 Автоматизация игры с помощью виртуального собеседника

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

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

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

1.5 Требования к разрабатываемой системе

Исходя из описания автоматизации системы, были сформированы требования к разрабатываемой системе:

Источник: https://otherreferats.allbest.ru/download/1021994/