P-modeling
P-Modeling — это авторская промышленная методика обучения объектно-ориентированному анализу и проектированию (en:Object-oriented analysis and design(англ.)) с использованием UML. P-modeling может использоваться при разработке ПО. P-modeling базируется на использовании безмолвных сессий проектирования и обратной семантической трассировке.
Подробнее
P-Modeling создана, чтобы:
- повысить продуктивность аналитиков и проектировщиков, использующих в своей деятельности UML или иной язык графического моделирования;
- улучшить качества моделей, создаваемых аналитиками и проектировщиками программного обеспечения;
- ускорить процесс обучения моделированию на UML, обеспечить большей практической направленности этого процесса.
P-Modeling основывается на двух идеях:
- Безмолвные сессии моделирования (Speechless Modeling Sessions) при анализе и проектировании повышают эффективность последних. Когда команда аналитиков и дизайнеров проводит безмолвную сессию проектирования, использование традиционных языков (русский, английский и т.п) запрещено — допускается использовать исключительно UML. Это ограничение стимулирует участников явно описывать все допущения и предположения, заботиться о «читаемости» создаваемых ими диаграмм и оставаться четко сфокусированными на решаемой задаче на протяжении всей сессии моделирования;
- Обратная семантическая трассировка (Reverse Semantic Traceability) существенно повышает качество создаваемых моделей. После подготовки первой версии UML-модели некоторой предметной области эта модель должна быть передана команде независимых тестировщиков, которые по модели должны воссоздать текстовое описание предметной области (осуществить «reverse engineering»). Полученный текст сравнивается с оригинальным описанием предметной области, и осуществляется оценка объемов потерянной/добавленной информации. Такая проверка подтверждает, что созданная модель содержит всю необходимую информацию. Только после успешного прохождения этого тестирования созданная модель передается для использования на последующих этапах процесса разработки ПО (детальный дизайн, кодирование и т. п.).
Вступление
В последнее время все более популярной и даже «модной» дисциплиной становится программная инженерия (англ. Software Engineering. В частности, пик популярности переживает язык, непосредственно связанный с программной инженерией и объектно-ориентированным анализом и дизайном (ООАД) — UML, унифицированный язык моделирования.
История
Несколько лет назад Владимир Павлов [1] разработал методику тренинга под названием «Вавилонский эксперимент», предназначенную для обучения ООАД и UML. В «эксперименте» группа студентов получает задание — за несколько часов разработать высокоуровневый дизайн программной системы. Общаться между собой они могут только с помощью UML и языка жестов. Запрещено использование «человеческого» языка и UML notes, кроме английских названий сущностей UML. «Р» в названии методики означает «Пантомима». Тренинг недаром называется экспериментом — он всегда подается, как эксперимент — студенты должны выяснить, является ли UML полноценным языком общения команды разработчиков.
С тех пор Вавилонский эксперимент проводился более десяти раз и каждый раз студентам «удавалось» доказать, что UML — не хуже, чем естественный язык, — может использоваться для общения в команде. Более того, экспериментально было установленно, что при использовании безмолвного режима удается достичь лучшего качества дизайна, чем в тех случаях, когда участникам разрешается пользоваться речью. Это натолкнуло на мысль, что, возможно, такие безмолвные сессии моделирования могут применяться и в реальных проектах разработки ПО в качестве эффективной альтернативы традиционной разработке дизайна системы.
Чтобы проверить гипотезу о практической применимости методики, был разработан CMMi-P-SPEM-эксперимент. К методике добавили элемент «тестирования» — обратную семантическую трассировку (ОСТ). Идея ОСТ состоит в том, что дизайн, созданный одной командой, вторая команда переводит из UML обратно на естественный язык. После этого тексты исходного и восстановленного технического задания сравниваются по «семантическим частям»: «технической» и «вводной». На этапе ОСТ разговаривать разрешается. CMMi-P-SPEM-эксперимент был проведен в Москве, во время Первой всероссийской конференции по программной инженерии SEC®-2005. За 10 дней до этого была проведена репетиция эксперимента в Днепропетровске, чтобы проверить и, если надо, модифицировать методику. Оказалось, что методика достаточно хороша, более того, настолько хороша, что даже было решено сменить название на P-modeling, избавившись, наконец, от слова «эксперимент».
Большинство участников этого мероприятия отметили, что «безмолвный» подход позволил им быстрее создать более качественные модели, что ОСТ — достаточно качественный способ проверки адекватности модели и выразили желание использовать эти методики на практике. Кроме этого оказалось, что P-modeling удобно использовать для быстрого сплочения команд разработчиков и выявления потенциальных лидеров.
Применение в учебном процессе
Прежде чем говорить о том, где именно и кем применялась эта методика, упомянём ещё один проект — проекте «Виртуоз», который проводился в августе-декабре 2004 г. в Нижегородском государственном университете по инициативе Intel и при поддержке Microsoft, IBM, Borland, Лаборатории Касперского и др. Это была программа полугодичной индустриально-академической стажировки для преподавателей ВУЗов. Они работали в Нижегородской лаборатории Intel над реальными проектами корпорации, слушали курсы от Intel, Microsoft, IBM, Borland, Kaspersky Lab и разрабатывали учебный курс SE201: Введение в программную инженерию" на основе рекомендаций современного образовательного стандарта ACM/IEEE Computing Curricula.
Методика P-modeling использовалась в учебном процессе двумя участниками проекта «Виртуоз» - Павлом Цытовичем (Южно-уральский государственный университет, г. Челябинск) и Александром Бабичем (ПГПУ и ППК НТУ «ХПИ»). В случае Челябинска это был классический Вавилонский эксперимент. В ППК же применялась «полная» методика, включающая ОСТ.
В ППК, на специальности 5.080405 «Программирование для ЭВМ и АС» изучаются два курса, использующие UML — это «Технологии разработки ПО», основанные на вышеупомянутом курсе SE201 и «Проектирование АИС», авторский курс Бабича А. В.
Методика была внедрена в ППК в виде однодневного тренинга для студентов четвертого курса. Сначала была краткая обзорная лекция о UML, некоторые установки и мотивация, затем «разминка» и трехчасовая сессия моделирования в «безмолвном» режиме. После этого проводилась ОСТ и сравнение восстановленных текстов заданий с исходными. В конце мероприятия студенты заполняли анкеты обратной связи. Анализ анкет еще раз подтвердил эффективность методики.
P-modeling — это отличный способ дать студентам именно то, чего обычно не дает традиционная система высшего образования, а именно практически значимый опыт моделирования. Применение этой методики позволило студентам закрепить свои знания UML, получить опыт командной работы, почувствовать себя участником реального проекта. Методика может подойти и для обучения другим дисциплинам.
Промышленное применение
Методика P-Modeling является результатом осуществленных в 2001—2005 годах исследовательских проектов Владимира Л. Павлова, получивших название «Вавилонский эксперимент» и «Эксперимент CMMI-P-SPEM». См. История.
На данный момент уже известны случаи применения методики в практике разработки ПО в ряде софтверных фирм России.[источник не указан 5644 дня]
См. также
Обратная семантическая трассировка
Ссылки
- OMG UML Page
- ACM/IEEE Computing Curricula
- Project «Virtuoso»
- SE201: Introduction to Software Engineering
- Vladimir Pavlov, Anton Yatsenko. Using Pantomime in Teaching OOA&OOD with UML // 18th IEEE Conference on Software Engineering Education and Training (CSEE&T) in Ottawa (Canada)
- Vladimir Pavlov, Anton Yatsenko. 'The Babel Experiment': An Advanced Pantomime-based Training in OOA&OOD with UML // 36th 'ACM Technical Symposium on Computer Science Education' (SIG CSE 2005) in St. Louis (Missouri, USA)
- P-Modeling Framework Whitepaper
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....