Вавилонский эксперимент Методика проведения интенсивного тренинга-практикума по ООП с использованием UML
О докладчике Владимир Леонидович Павлов автор методики тренинга автор методики тренинга технический директор, eLine Software, Inc., Днепропетровск / Питтсбург технический директор, eLine Software, Inc., Днепропетровск / Питтсбург член ACM, IEEE и PMI член ACM, IEEE и PMI Microsoft Certified Trainer Microsoft Certified Trainer Microsoft Certified Solution Developer for.Net Microsoft Certified Solution Developer for.Net Microsoft Endorsed MSF Practitioner Microsoft Endorsed MSF Practitioner CompTIA Certified IT Project+ CompTIA Certified IT Project+
О докладе 1 Обзор UML 1 Обзор UML 2 Рассказ о Вавилонском эксперименте 2 Рассказ о Вавилонском эксперименте
Тенденция последнего десятилетия Постепенно унифицируются подходы к разработке ПО RUP: RUP: MSF: MSF: Есть русский перевод: Есть русский перевод: Agile(?): Agile(?): Различные языки моделирования слились в один
UML Unified Modeling Language Де-факто и де-юре стандартный язык моделирования в современной ИТ-индустрии Пока еще преподается не во всех технических вузах СНГ, но ситуация улучшается
История UML гг. – Три Амиго – Grady Booch, Ivar Jacobson и James Rumbaugh – работают над предварительными версиями UML гг. – представители индустрии организуют сообщество для работы над проектом стандарта UML 1997 г. – OMG принимает стандарт UML г. – принята текущая версия – ? г. – ожидается выпуск версии 2.0
Структура стандарта UML Графическая нотация МетамодельOCL Примеры расширения языка
Типы диаграмм UML use case diagram сlass/object diagram behavior diagrams: statechart diagram statechart diagram activity diagram activity diagram interaction diagrams: interaction diagrams: sequence diagram collaboration diagram implementation diagrams: component diagram component diagram deployment diagram deployment diagram model management diagrams
Пример use case diagram
Пример sequence diagram
Пример package diagram
Пример activity diagram
Пример class diagram
Пример class diagram из метамодели UML
Пример collaboration diagram
Пример deployment diagram
Как обучать UML? Не только язык моделирования, но и методологии моделирования Шаблоны проектирования (design patterns) Не только синтаксис языка, но и метамодель Нельзя забывать об OCL Для понимания целей использования UML обязательна практика В проектах размером от 100 человеко-лет без UML обойтись нельзя но внедрение таких больших проектов в учебный процесс – нереально!
Вавилонский эксперимент Семинар-тренинг, интенсифицирующий процесс получения практического опыта в ООП+UML Предпосылки Игра Крокодил Игра Крокодил Легенда о Вавилонском столпотворении Легенда о Вавилонском столпотворенииТренинг-исследование
Игра Крокодил Участвуют 2 команды по 3-10 человек. Члены первой команды загадывают сложное слово, выбирают одного из членов второй команды и сообщают ему это слово. Выбранный игрок должен жестами показать загаданное слово членам своей команды. При этом он не может воспользоваться устной или письменной речью. После того, как слово угадано (либо команда сдалась), новое слово выбирается той командой, которая только что отгадывала. Примеры слов: мелиорация, плацебо, имаго, экспансия, инкапсуляция, пантеизм, атрибут.
Легенда о Вавилонском столпотворении В Библии предание о том, как Бог, разгневанный дерзостью людей, вознамеривавшихся соорудить башню до небес (Вавилонская башня) «смешал их языки» (они перестали понимать друг друга) и рассеял человечество по всей земле.
кн. БЫТИЕ, гл На всей земле был один язык и одно наречие. 2.Двинувшись с востока, они нашли в земле Сеннаар равнину и поселились там. 3.И сказали друг другу: наделаем кирпичей и обожжем огнем. И стали у них кирпичи вместо камней, а земляная смола вместо извести. 4.И сказали они: построим себе город и башню, высотою до небес, и сделаем себе имя, прежде нежели рассеемся по лицу всей земли. 5.И сошел Господь посмотреть город и башню, которые строили сыны человеческие. 6.И сказал Господь: вот, один народ, и один у всех язык; и вот что начали они делать, и не отстанут они от того, что задумали делать; 7.сойдем же и смешаем там язык их, так чтобы один не понимал речи другого. 8.И рассеял их Господь оттуда по всей земле; и они перестали строить город [и башню]. 9.Посему дано ему имя: Вавилон, ибо там смешал Господь язык всей земли, и оттуда рассеял их Господь по всей земле.
Вавилонский эксперимент Группе студентов, предварительно изучивших ООП и UML, предлагается в течении одного полного дня коллективно разработать проект некоторой программной системы. При этом использование устной и письменной речи запрещено, единственный язык, который допустимо применять – это UML. Смогут ли они в таких условиях что-то спроектировать?
Вавилонский эксперимент Проверяем, является ли UML полноценным языком Важно заинтересовать и создать энтузиазм Важен факт исследования Взялся за гуж – полезай в кузов Для этого нужно много зрителей на презентации
Примерный план (2-3 недели) ДниДеятельность 1 Анонс мероприятия студентам 1-16 (Само)подготовка студентов к конкурсному отбору Интенсивная Крокодилья тренировка 8-16 Приглашение зрителей на презентацию 17 Конкурсный отбор участников 18 ВАВИЛОНСКИЙ ЭКСПЕРИМЕНТ
Группа участников Отличное знание ООП и UML Не более 8-10 человек Можно две НЕ конкурирующие команды Можно две НЕ конкурирующие команды Группа должна быть разнополая Близкий возраст участников
Отбор участников Необходимо создать конкуренцию Устный экзамен Экзамен IBM 486 Object-Oriented Analysis and Design with UML $75 для жителей СНГ $75 для жителей СНГ Демо-версия: Демо-версия: Комбинация устного и электронного экзаменов
Вопросы для устного экзамена Синтаксис UML Метамодель UML OCL Процесс и принципы моделирования Design patterns Критерии верификации модели Практические задания по моделированию
Роли Участники Проектируют систему, не используя при этом речь В конце делают презентацию результатов своей работы, используя речь Тренер Предварительно готовит задачу для проектирования В процессе проектирования не участвует Следит за соблюдением правил Основное время находится с участниками На этапе проектирования в присутствии участников молчит Наблюдает за процессом проектирования и, позднее, предоставляет участникам обратную связь Ассистент тренера Обеспечивает логистику, обед и связь с внешним миром Встречает и рассаживает зрителей На этапе проектирования в присутствии участников молчит Зрители Приходят на презентацию
Сжигаем 4 спички 1.Начало мероприятия Инструктаж участников 2.Переход в безголосый режим Вскрытие конверта с заданием Работа команды над заданием Легкий обед Перемещение в актовый зал 3.Начало презентации, разрешение использования голоса Презентация Обсуждение результатов 4.Завершение мероприятия
Примерный график 10:00 – начало мероприятия 10:30 – сжигание второй спички 14:00 – легкий обед 15:00 – начало презентации 15:30 – завершение презентации, начало обсуждения со зрителями 17:00 – завершение мероприятия для зрителей Обсуждение внутри группы (иногда не проводится) 18:00 – завершение мероприятия для участников Следует проводить в выходной день Желательно - воскресенье Желательно - воскресенье
Материальное обеспечение Whiteboard, маркеры Столы, стулья Свободное место Бумага, ручки, цветные фломастеры Электрочайник, чай, кофе и т.п Компьютеры не требуются Для презентации нужен актовый зал, желательна видеокамера
Пример задания (часть 1) Фирма eLine Electronics в ближайшее время планирует выпустить на рынок домашние TV системы нового поколения. Отличительной чертой этих изделий будет то, что пульты (дистанционного) управления новых систем будут представлять собою нечто гораздо большее, чем пульты ДУ традиционных телевизоров. Прежде всего, у пультов ДУ будут отсутствовать клавиши – их заменит сенситивный экран на всю поверхность пульта. На экране пульта можно отображать произвольные изображения, и экран пульта умеет распознавать, в какую область - поверх какого изображения - пользователь производит нажатие (в какой области и в каком направлении – поверх каких изображений - осуществляет движение). Нажатия и движения можно осуществлять как пальцами, так и узкими предметами. Во-вторых, пульт, ДУ будет одновременно и мобильным телефоном стандарта GSM. Как следствие, умный пульт ДУ получит возможность соединяться через Internet с серверами, на которых хранятся программы телепередач. Более того, фирма eLine Electronics уже заключила предварительную договоренность с компанией eLine GSM, согласно которой все WAP-соединения абонентов eLine GSM с сервером eLine Electronics (на котором обязательно будут размещены телепрограммы) будут бесплатными в течении 5 лет с момента выхода на рынок новых домашних TV систем. В-третьих, и сами TV системы, и пульты ДУ будут оснащены микроконтроллерами на базе процессоров eLinetium, что позволит писать для них программное обеспечение на современных объектно-ориентированных языках программирования, таких как С++, Java и т.п.
Пример задания (часть 2) Необходимо, используя UML, осуществить дизайн верхнего уровня для программного обеспечения, которое будет использоваться в описанных выше системах. При этом на диаграммах допускается использование английского языка, но только для именования элементов диаграмм – юз-кэйсов, пэкэджэй, стереотипов, классов, сообщений, атрибутов и т.п. Использование на диаграммах русского либо украинского языков запрещено. Использование ноутсов запрещено. В процессе обсуждения дизайна допускается использование только языка жестов либо диаграмм на UML с учетом изложенных выше ограничений. Вышеизложенные запреты распространяются на период с момента начала этапа проектирования (сжигание второй спички в 10:30) вплоть до момента начала презентации результатов (сжигание третьей спички, ориентировочно в 15:00). Это, в частности, означает, что выбор лица, которое будет презентовать результаты эксперимента гостям, также будет осуществляться участниками эксперимента с помощью языка жестов. За каждое нарушение данных правил участник эксперимента получает предупреждение. Участник эксперимента, получивший три предупреждения, теряет право дальнейшего участия в эксперименте.
Обсуждение Каков результат эксперимента? Психологические наблюдения Организация процесса Разработанная модель Где были потери информации? Нехватка взаимопонимания? Причины? На что не хватило времени? Причины? Извлеченные уроки
Как пригласить автора провести семинар для Ваших студентов? Ранее Вавилонские эксперименты проводились только в Днепропетровске Два дня В субботу – отбор участников и предварительный инструктаж В воскресенье – сам эксперимент Для студентов гос. вузов я провожуВавилонские эксперименты бесплатно Оплата проезда и проживания Не чаще, чем раз в 2-3 месяца
Как провести семинар самостоятельно? Презентация будет доступна на сайте конференции Тренер должен досконально знать OOP и UML Экзамен IBM 486 Тренер должен иметь опыт проведения деловых игр или психологических тренингов Вопросы и методическая помощь:
скоро выборы - голосуй ПРОТИВ
Благодарности: Н.И.Бойко (Днепропетровский Национальный Университет, Украина) Ю.С.Бущенко (University of Westminster, UK) С.П.Бусыгин (eLine Software, Inc., Украина/US) Файл опубликован на: Вопросы?