Вавилонский эксперимент Методика проведения интенсивного тренинга-практикума по ООП с использованием UML О докладчике Владимир Леонидович Павлов автор методики тренинга технический директор, eLine Software, Inc., Днепропетровск / Питтсбург член ACM, IEEE и PMI Microsoft Certified Trainer Microsoft Certified Solution Developer for .Net Microsoft Endorsed MSF Practitioner CompTIA Certified IT Project+ vlpavlov@ieee.org О докладе 1 Обзор UML 2 Рассказ о Вавилонском эксперименте Тенденция последнего десятилетия Постепенно унифицируются подходы к разработке ПО RUP: http://www.rational.com/rup MSF: http://www.microsoft.com/msf Есть русский перевод: http://www.microsoft.com/rus/msf Agile(?): http://www.agilemanifesto.org Различные языки моделирования слились в один UML Unified Modeling Language Де-факто и де-юре стандартный язык моделирования в современной ИТ-индустрии Пока еще преподается не во всех технических вузах СНГ, но ситуация улучшается http://www.omg.org/uml http://www.rational.com/uml http://www.uml.org История UML 1995-96 гг. – “Три Амиго” – Grady Booch, Ivar Jacobson и James Rumbaugh – работают над предварительными версиями UML 1996-97 гг. – представители индустрии организуют сообщество для работы над проектом стандарта UML 1997 г. – OMG принимает стандарт UML 1.1 2003 г. – принята текущая версия – 1.5 200? г. – ожидается выпуск версии 2.0 Структура стандарта UML Графическая нотация Метамодель OCL Примеры расширения языка Типы диаграмм UML use case diagram сlass/object diagram behavior diagrams: statechart diagram activity diagram interaction diagrams: sequence diagram collaboration diagram implementation diagrams: component 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 человек. Члены первой команды загадывают сложное слово, выбирают одного из членов второй команды и сообщают ему это слово. Выбранный игрок должен жестами показать загаданное слово членам своей команды. При этом он не может воспользоваться устной или письменной речью. После того, как слово угадано (либо команда сдалась), новое слово выбирается той командой, которая только что отгадывала. Примеры слов: мелиорация, плацебо, имаго, экспансия, инкапсуляция, пантеизм, атрибут. Легенда о Вавилонском столпотворении В Библии предание о том, как Бог, разгневанный дерзостью людей, вознамеривавшихся соорудить башню до небес (Вавилонская башня) «смешал их языки» (они перестали понимать друг друга) и рассеял человечество по всей земле. кн. БЫТИЕ, гл. 11 1. На всей земле был один язык и одно наречие. 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 для жителей СНГ Демо-версия: http://www.ibm.com/certify/tests/sam486.shtml Комбинация устного и электронного экзаменов Вопросы для устного экзамена Синтаксис 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). Это, в частности, означает, что выбор лица, которое будет презентовать результаты эксперимента гостям, также будет осуществляться участниками эксперимента с помощью языка жестов. За каждое нарушение данных правил участник эксперимента получает предупреждение. Участник эксперимента, получивший три предупреждения, теряет право дальнейшего участия в эксперименте. Обсуждение Каков результат эксперимента? Психологические наблюдения Организация процесса Разработанная модель Где были потери информации? Нехватка взаимопонимания? Причины? На что не хватило времени? Причины? Извлеченные уроки Как пригласить автора провести семинар для Ваших студентов? Ранее “Вавилонские эксперименты” проводились только в Днепропетровске vlpavlov@ieee.org Два дня В субботу – отбор участников и предварительный инструктаж В воскресенье – сам эксперимент Для студентов гос. вузов я провожу “Вавилонские эксперименты” бесплатно Оплата проезда и проживания Не чаще, чем раз в 2-3 месяца Как провести семинар самостоятельно? Презентация будет доступна на сайте конференции Тренер должен досконально знать OOP и UML Экзамен IBM 486 Тренер должен иметь опыт проведения деловых игр или психологических тренингов Вопросы и методическая помощь: vlpavlov@ieee.org скоро выборы голосуй ПРОТИВ БЛОК-СХЕМЫ Благодарности: Н.И.Бойко (Днепропетровский Национальный Университет, Украина) Ю.С.Бущенко (University of Westminster, UK) С.П.Бусыгин (eLine Software, Inc., Украина/US) Файл опубликован на: http://www.it-education.ru http://www.vlpavlov.com Вопросы?