Вавилонский эксперимент

advertisement
Вавилонский
эксперимент
Методика проведения интенсивного
тренинга-практикума по ООП с
использованием 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
Вопросы?
Download