Диссертация (1145120), страница 55
Текст из файла (страница 55)
Кроме этого, Comapping фокусируется на предоставлении максимальных удобств при совместной работепользователей с и-картой, что реализуется с помощью следующих возможностей: открыть одну и ту же карту для просмотра или редактирования разнымпользователям; объединять пользователей в группы и изменять права доступа к и-карте сразу всем участникам группы; редактировать и-карты несколь341кими пользователями одновременно (при этом можно видеть, в каком местеи-карты находятся другие участники (рис. 5.26), а также общаться во встроенном чате); прикреплять к элементам и-карты файлы с текстами и рисунками; email-оповещения об изменениях и-карты другими пользователями; хранимая история изменений, которая позволяет отследить, кем и когда былаизменена та или иная часть и-карты.В Comapping спроектированы и реализованы автоматические средства раскладки диаграмм.
Диаграмма имеет прямоугольно-древовидную нотацию,при добавлении новых узлов она увеличивается в размерах влево и вниз. Такой подход позволяет легко масштабировать и перерисовывать диаграмму, очём будет сказано ниже.Рис.5.26. Коллективная работа с и-картами в ComappingИ-карты очень быстро становятся большими — составляется ли план статьи или диплома, создаётся ли конспект лекций и т.д. Как было указано врамках методологии, предложенной в данной диссертационной работе, средства для обработки больших диаграмм являются важной частью предметноориентированных решений. Соответственно, в Comapping были спроектированыиреализованысоответствующиевозможности.Можноскры342вать/раскрывать поддеревья в и-карте. Более того, в случае, если и-карта перестаёт помещаться на диаграмме, часть «верхнего» контекста автоматически сворачивается, как показано на рис. 5.27.
Тем самым непомещающаясячасть диаграммы помещается на экране. Мы старались избегать диаграмм,которые занимают несколько экранов (по крайне мере при выходе за пределыэкрана влево).Рис. 5.27. Пример работы с большими диаграммамиДалее представлен метод управления знаниями при разработке дипломовпо программной инженерии, основанный на и-картах и Comapping.Выпускающим подразделениям университетов целесообразно поддерживать процесс разработки текстов дипломных работ своих выпускников. Этитексты публикуются в Интернете, и часто по ним судят об успешности обучения соответствующих подразделений. Однако студенты испытываютбольшие сложности при создании текстов, и помощи их научных руководителей явно недостаточно.
В российских университетах принято, что выпускающая кафедра получает набор текстов за 1–2 недели до защиты. При этом,например, кафедра системного программирования СПбГУ выпускает ежегодно около 40 студентов, поэтому за этот срок руководство кафедры не может улучшить эти тексты (прочитать, выдать рекомендации с тем, чтобы студенты успели их реализовать). Очевидно, что вопрос улучшения качестватекстов должен решаться иначе.343Предлагается метод, основанный на предметно-ориентированном моделировании, который может быть реализован в виде специального семинара длявыпускников. Семинар должен быть обязательным, длиться семестр, проводиться представителями кафедры. Основными инструментами работы на семинаре являются и-карты и Comapping.
Метод опирается на шаблон дипломных работ, который должен определять структуру дипломной записки. В качестве примера приведём шаблон, разработанный автором для кафедры системного программирования. Этот шаблон определяет, что дипломная записка должна состоять из следующих разделов: введения, постановки задачи,литературного обзора, основной части и заключения. Введение должно подвести читателя к постановке задачи, стартовав отобщеизвестных тенденций, кратко описать все необходимые контексты(примерно по одному абзацу на каждый) и объяснить все понятия итермины, используемые далее в постановке задачи. Постановка задачи должна включать в себя основную, главную цельработы и перечень задач по её реализации. Литературный обзор должен содержать в себе все сторонние («чужие»)результаты, используемые в работе — имеющиеся подобные решения/методы, описание используемых в работе технологий, описаниеобъемлющего проекта, если таковой имеется, описание предметной области работы, если она сложная и специфичная и т.д. Основная часть является набором глав, описывающих выполненнуюработу.
При этом структура этой части должна быть близка к сформулированным задачам — идеально, если каждой задаче сопоставлена отдельная глава. При этом и в постановке задаче, и в заголовках основной части требуется использовать одинаковые термины для облегчениясопоставления задач и тех частей работы, где описываются их решения. Заключение должно повторять задачи из постановки задачи, но дополнительно содержать детали, характеризующие проделанную работу:344информацию об использованных программных средствах и платформах, перечень разработанных компонент, результаты тестирования ит.д.Данный шаблон допускает вариации в зависимости от того, является дипломная работа исследовательской или производственной.Метод состоит из следующих шагов (см. рис.
5.28).Групповая работаЛекции о написаниитекстов (2-3)Лекция обиспользованиии-картПрактическоезанятие поComappingУстановкарабочегопроцессаИндивидуальная работаРазработкатекстадиплома (2-3итерации)Разработка и-карты(2-5 итераций)Знакомствопреподавателя стемой диплома(краткое)Рис.
5.28. Схема метода Лекции о написании текстов. В рамках этого шага студентам рассказывается об общих проблемах и методах написания научных и технических текстов, о месте дипломной записки в дипломном проекте,о рекомендуемые образцах (patterns) дипломных записок. Лекция об использовании и-карт. В рамках этого шага проводится лекция о и-картах и особенностях построения и-карт в данном курсе. Практическое занятие по Comapping.
Это небольшое практическое занятие, в рамках которого освещаются основные функции Comapping,которые будут нужны в рамках курса. В силу простоты продукта и хо-345роших его эргономических свойств здесь хватает небольшой лекции —всё остальное студенты успешно осваивают самостоятельно. Установка рабочего процесса. Здесь происходит объяснение и согласование со студентами основного рабочего цикла семинара. В рамкахэтого шага студентам также выдаются права доступа к Comapping. Знакомство преподавателя с темой диплома.
Метод не подразумевает,что руководитель семинара должен подробно знакомиться с каждойдипломной работой — на это ушло бы слишком много времени. Однако для того чтобы он мог давать адекватные советы, ему нужно понять,о чём работа. Данная задача облегчается тем, что большинство дипломных работ создаются под руководством сотрудников нашего факультета, и руководитель семинара уже заранее знаком с этими тематиками. Немного сложнее с производственными и сторонними дипломами. Разработка и-карты. В рамках этого шага происходит работа студентанад планом своей дипломной записки под руководством преподавателя, ведущего курс.
Этот шаг обычно занимает 2–5 итераций (количество итерация зависит от студента). Идеально, когда сделано две итерации в начале семинара, студент обсудил и-карту со своим научнымруководителем, и далее он доводит этот план до максимально совершенства (ещё 2–3 итерации). Разработка текста диплома. Здесь оптимально выполнить 2–3 итерации, так как после первой попытки почти всегда обнаруживаются некоторые проблемы (иногда, например, оказывается, что план составленплохо и не может служить основой для написания текста — и тогдастуденту предлагается вернуться на предыдущие шаги и улучшитьплан).
Одна-две последующие итерации позволяют исправить обнаруженные ошибки.346Примеры и-карт дипломных работ представлены в приложении 3. Методпредназначен для работы над структурой дипломного текста, что актуальнодля дипломов в области программной инженерии в силу следующих причин.1. Индустрия программного обеспечения в целом испытывает недостатоккачественной документации, на что указывал ещё Брукс [187], и с техпор решительного изменения ситуации не произошло, о чём свидетельствует, например, плохое качество документации открытых (opensource) проектов [149]. Студенты, обучающиеся программной инженерии, очень быстро усваивают это «правило» (в частности, те из них, ктооказывается особенно способными к программированию), поэтому онинеохотно учатся писать документы и, в частности, при разработке дипломного проекта больше времени и сил уделяют исследованиям ипрограммной реализации.2.
В таких работах часто задействуется много различных областей и контекстов, отсюда следует сложность введения и литературного обзора.3. В программной инженерии до сих пор нет устоявшейся системы понятий (пример с базовым понятием — архитектурой ПО — мы приводиливыше). Кроме того, в проектах по созданию ПО разработчики для общения активно используют жаргон, который переходит также и вписьменную речь (электронная почта, социальные сети и пр.), что существенно понижает культуру текстов.
В силу этих причин спецификой применения предложенного метода в области обучения программной инженерии является работа с терминологией.Отметим ряд проблем, с которыми сталкивался описанный в работе метод. Недооценка студентами трудностей написания текстов, слабая мотивация на создание хороших текстов. Малая поисковая активность студентов — они с трудом осваивают новые методы, если последние им сразу не очевидны.347 Сильные стереотипы — например, делать лишь потому, что так сказали; или не делать в силу высокой критичности к поступающей информации; или делать ровно столько, сколько нужно для зачёта. Синдром первого прототипа: многие студенты очень быстро создаютпервый небольшой план — на несколько пунктов, состоящий из оченьобщих положений, и дальше этого продвигаются с большим трудом.Тот факт, что план может и должен быть детально проработанным, часто воспринимается с трудом. Вовлечение научных руководителей.