Методика P-Modeling: анализ результатов эксперимента CMMI-P-SPEM эксперимент CMMI-P-SPEM проводился 26 октября 2005 года во время Первой всероссийской конференции по программной инженерии SEC(R) 2005 Владимир Л Павлов Никита Бойко
2 Методика P-modeling Основана на использовании: 1.Безмолвных сессий моделирования команде нельзя разговаривать во время сессий 2.Обратной семантической трассировки одна из команд создает дизайн (переводит с естественного языка в UML), другая команда проверяет его (переводит обратно из UML в естественный язык, после чего исходный и восстановленный тексты сравниваются)
3 План доклада Исторический обзор 15 октября и 26 октября Результаты эксперимента
4 Тренинг Вавилонский эксперимент Группе студентов дается задание – разработать высокоуровневый дизайн программной системы Для взаимодействия они могут использовать только UML и жесты. Использование любого другого языка (английского, немецкого, русского, украинского и т.д.) запрещается Студентам дается 4-6 часов на выполнение задания Студенты должны выяснить, является ли UML полноценным языком, который может служить средством общения в команде, или нет
5 Вавилонский эксперимент: обучение OOA/OOD 2001 – Владимир Л Павлов разработалВавилонский эксперимент С 2001 года Владимир успешно провел его более десяти раз, как в компаниях- разработчиках ПО, так и в университетах Каждый раз эксперимент был удачным: студентам всегда удавалось «доказать», что UML – «полноценный» язык
6 Обсуждение Вавилонского эксперимента Первая открытая конференция 'Преподавание ИТ в Российской Федерации, Суздаль, май 2003 г й 'Симпозиум ACM по преподаванию информатики' (SIG CSE 2005), Ст. Луис (Миссури, США), февраль 2005 г я 'Конференция IEEE по преподаванию программной инженерии' (CSEE&T), Оттава (Канада), апрель 2005 г. Соответствующие статьи и презентации опубликованы на сайте
7 Однажды в 2004 году… Две команды независимо работали над одной и той же задачей Одна из команд могла использовать для общения только UML и жесты Членам другой команды в дополнение к использованию UML разрешалось разговаривать Первая команда, которая не могла разговаривать, справилась с заданием лучше второй команды Их диаграммы были более полными, продуманными и элегантными
8 Не только обучение? Мы решили выяснить, возможно ли использовать безмолвные сессии моделирования в реальных проектах по разработке программного обеспечения Возможно ли их использования не только для обучения, но и для получения реального дизайна? Является ли бессловесный подход более эффективным, чем «традиционный»? Для ответа на эти вопросы был разработан эксперимент CMMI-P-SPEM
9 План доклада Исторический обзор 15 октября и 26 октября Результаты эксперимента
10 Репетиция и эксперимент Для проверки правильности и, если необходимо, модификации методики эксперимента, была организована его репетиция Репетиция проводилась за 10 дней до эксперимента Некоторые участники репетиции также участвовали в самом эксперименте 26 октября После репетиции в методике не было сделано ни одного изменения Поменялось название эксперимента CMMI-P-SPEM был переименован в P-Modeling
11 15 октября, 2005 года Репетиция Проведена в г. Днепропетровск, Украина Одним из спонсоров выступила компания StarSoft Labs 2 команды, 10 участников
12 26 октября, 2005 года Эксперимент Проведен в г. Москва, Россия Во время Первой всероссийской конференцией по программному обеспечению SEC(R) команды, 10 участников
13 Методика P-modeling Основана на использовании: 1.Безмолвных сессий моделирования команде нельзя разговаривать во время сессий 2.Обратной семантической трассировки одна из команд создает дизайн (переводит с естественного языка в UML), другая команда проверяет его (переводит обратно из UML в естественный язык, после чего исходный и восстановленный тексты сравниваются)
14 Методика эксперимента 2 команды независимо работают над разными заданиями Им дается текстовое описание некой предметной области и им необходимо создать ее UML-модель Не разрешается разговаривать Дается три часа на выполнение задания Затем команды обмениваются результатами (наборами UML-диаграмм) Основываясь на моделях UML, командам необходимо восстановить изначальные тексты заданий На этом этапе разговаривать разрешается На выполнение дается 1 час После этого команды проводят совместное обсуждение, во время которого сравниваются результаты и обсуждаются возможные способы использования методики P-modeling в реальной работе
15 Сводная информация по репетиции и эксперименту 15 участников 12 профессионалов 2 студента 1 преподаватель университета Опыт объектно-ориентированного программирования от 1 до 10 лет В среднем 4,5 года Опыт объектно-ориентированного моделирования от 1 до 5 лет В среднем 2,5 года
16 Сводная информация по репетиции и эксперименту Сформировано 4 команды Использовано 4 текстовых описания предметных областей Использовался русский язык Размер описания от 150 до 300 слов (от половины страницы до страницы) Во время эксперимента эти тексты былипереведены в UML, а затем восстановлены в текстовые описания
17 Диаграммы Для каждой модели было создано 3-11 диаграмм Были использованы почти все типы UML- диаграмм ни одна из четырех команд не создала диаграммы переходов состояний (диаграммы конечных автоматов)
18 План доклада Исторический обзор 15 октября и 26 октября Результаты эксперимента
19 Результаты Во всех четырех случаях восстановленные тексты были очень близки к исходным Не было значительных потерь и/или искажений информации Было добавлена новая информация (детали реализации) Большинство участников эксперимента утверждают, чтобезмолвный подход позволил им создать свои модели быстрее, чем это было бы при традиционных подходах Все участники эксперимента отметили, что метод обратной семантической трассировки является наилучшим способом проверки правильности дизайна 90% участников эксперимента намерены использоватьмолчаливые сессии моделирования в настоящих проектах по разработке программного обеспечения Все участники эксперимента собираются использовать обратную семантическую трассировку в настоящих проектах по разработке программного обеспечения
20 Отзывы участников эксперимента Методику P-Modeling можно использовать в индустрии разработки ПО для: Концептуального дизайна Повышения эффективности существующих процессов разработки ПО Проверки правильности дизайна Детального проектирования Быстрого погружения в новую предметную область Построения эффективных команд
21 Пример задания В 2030 году будет отправлена исследовательская экспедиция в Глубокий Космос. По физическим ограничениям экспедиция, несмотря на свою длительность, не может взять на борт в достаточном количестве всеразличное оборудование и материалы, в том числе и медицинское. Поэтому было принято решение в качестве единственного диагностического и медикаментозного средства использовать самообучающиеся нанокомпьютеры, которые при соответствующей адаптации могут быть использованы для лечения практически любой болезни. В зависимости от состояния больного и вида болезни эти нанокомпьютеры могут внедряться в тело человека различными способами: путем принятия таблетки, введения инъекции, нанесения на кожу и т.п. После попадания в тело пациента нанокомпьютеры находят орган, для лечения которого они предназначены, некоторым образом организуют свои действия как группы и выполняют его лечение. Для лечения эти нанокомпьютеры могут применять как химическое (нанокомпьютеры умеют синтезировать в небольших количествах различные вещества), так и физическое (механическое, тепловое и т.п.) воздействие, и во время лечения они собирают информацию об эффективности различных методов лечения, особенностях заболевания и т.п. Радиус действия передатчиков нанокомпьютеров очень невелик, поэтому для сбора такой информации используется носимое пациентом портативное устройство. Периодически (в зависимости от болезни, например, раз в сутки, раз в 4 часа и т.п.) эта информация передается с носимого устройства на сервер, находящийся в медпункте корабля, который занимается сбором и обобщением такой информации, посредством беспроводного соединения. Так же этот сервер ответственен за обучение нанокомьютеров для лечения различных болезней. Процесс подготовки нанокомпьютеров для лечения определенной болезни состоит из нескольких этапов. Механико- химическим способом изготавливается некоторое количество «чистых» нанокомпьютеров, которые не приспособлены для лечения какой-то болезни и содержат только алгоритмы самообучения. Далее эти нанокомпьютеры помещаются в среду, контролируемую сервером, в которой у них с течением времени (как правило, это несколько часов) вырабатываются способности к лечению заданной болезни. После этого, по возможности, проверяется эффективность полученных экземпляров в тестовых условиях. Из «чистых» нанокомпьютеров можно получить экземпляры для лечения любой из болезней
22 Восстановленный текст К 2030г на космических кораблях, предназначенных для исследования глубокого космоса, будет внедрена новая система наблюдения за здоровьем экипажа и их лечения. С этой целью в состав экипажа были введены инженеры-создатели нанокомпьютеров, применяемых для лечения. На каждом корабле также установлены сервера, которые собирают и систематизируют информацию с переносных устройств, имеющихся у пациентов и улучшают процесс лечения. Переносное устройство связано также с чистыми нанокомпьютерами, помещенными в человеческий организм и может получать от них информацию о больных органах, типе болезни и периоде ее анализа и управляет самообучающимися нанокомпьютерами. Выходные данные – информация о болезни и способ ее лечения. Инженер создает «чистый», неспециализированный нанокомпьютер. Создание нанокомпьютера – это механический или химический процесс. Сервер производит обучение чистых нанокомпьютеров, путем помещения в организованную специфическую для данной болезни среду, самообучение и тестирование. В результате обучения получаем специфические нанокомпьютеры, которые предназначены для лечения определенной болезни. Для лечения пациента нанокомпьютеры проникают в тело пациента, могут организовываться в группы, находят больные органы и воздействуют на пациента температурно, механически и химически. Химическое воздействие включает в себя синтез необходимых для этого химических веществ. Также они получают подробную информацию о болезни. Использование нанокомпьютеров не отменяет таких традиционных способов лечения, как таблетки, инъекции и пластырь
23
24
25
26
27
28
29
30
31
32
33
34 Подробные результаты Оригинальные тексты, описывающие предметную область UML-модели Восстановленные описания предметных областей Фотографии
35 Отзывы участников эксперимента Атмосфера игры, какой-то радостной непоседливости. Понравилось, что пришлось в жестком режиме работать и много думать длительное время. Прям как когда-то на олимпиадах. Разминка для мозгов такая неслабая. Понравилось, что узнал кое-что новое и попробовал это на практике. Понравилось общаться с народом Это отличное средство сплотить команду, выявить лидерские способности и построить более выразительную модель. Более того, "бессловесный" режим позволяет сконцентрироваться на идеях, а не на словах, которые эти идеи выражают. Отсутствие вербального общения позволяет быстрее договариваться, избегая многократного повторения одних и тех же слов и ухода на более глубокие уровни абстракции, так проще привлечь к себе (и к своей идее) внимание Гениально!
36 Отзывы участников эксперимента Мы знаем, какие основные факторы влияют на успешность нашего проекта (время, ресурсы, качество). Подход P-modeling можно свободно использовать на практике. Т.к. при изучении поставленной задачи может много времени уйти на споры, дискуссии и т.д., а при данном случае у нас такого не возникает. Вполне экономичен ибо он не требует больших затрат материальных ресурсов. А также позволяет более точно и лаконично описать поставленную задачу. Данный подход позволяет рассмотреть поставленную задачу с разных сторон. Человек более вникает в работу. Пытается понять и объяснить другим всю специфику задания. В ходе объяснения можно увидеть свои ошибки и ошибки других. Позволяет больше сплотить команду Субъективные ощущения: ограничение возможности коммуникации увеличило эффективность каждого участника команды, дало возможность больше сосредоточиться на создании модели.
37 Отзывы участников эксперимента Бессловесный метод весьма эффективен так как обеспечивает следующие факторы: повышение концентрации, повышение интенсивности умственной деятельности, заставляет участников четко осознать свою идею прежде чем выдать ее, снижение побочных эффектов человеческого фактора (исключение бесполезных споров) При дизайне системы вполне возможно допустить ошибки, что после может сильно повлиять на дальнейшую разработку ПО. Я считаю, что метод обратной семантической трассировки (P-modeling) позволяет посмотреть на поставленную задачу другими глазами. Увидеть и учесть ошибки и недоработки дизайнеров при анализе предметной области Методика обратной семантической трассировки (P-modeling) очень полезна для проверки качества диаграмм, и качества понимания дизайнерами предметной области. Позволяет также формализовать текстовый вариант задания, устранить неясности и нечеткости, сделать более ясным даже для заказчика, чего он хочет
38 Перспективы развития метода P-modeling Обратная семантическая трассировка: Количественный подход к измерению различий между оригинальным и восстановленным текстами Итеративность Сквозная трассировка
39 Заключение На сегодняшний день инструментарий методики P-modeling включает в себя: Сессии безмолвного моделирования Механизм обратной семантической трассировки Методика P-modeling была успешно использована в преподавании ООА / ООД и UML Эксперимент показал, что методику P-modeling можно успешно использовать в индустриальных проектах по разработке ПО, и в ряде случаев она может быть значительно эффективнее, чем «традиционные» подходы к моделированию
40 Спасибо RUSSEE StarSoft Labs
41 Спасибо Илья Антипов Александр Бабич Дмитрий Бедняк Дмитрий Дахновский Дмитрий Маленко Павел Цитович Игорь Кафтанников Любовь Орлова Константин Филоненко Иван Пойда
42 Доклад был сделан 8 декабря 2005 года в Москве на заседании российской группы SPIN Данная презентация опубликована на сайтах и