P-modeling

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

P-modeling — це авторська промислова методика навчання об'єктно-орієнтованому аналізу і проектуванню з використанням UML. P-modeling може застосовуватись під час розробки ПЗ. P-modeling базується на використанні безмовних сесій проектування і зворотного семантичного трасування.

Докладніше[ред. | ред. код]

P-Modeling створено для того, щоб:

  1. підвищити продуктивність аналітиків і проектувальників, які використовують у своїй діяльності UML або іншу мову графічного моделювання;
  2. поліпшити якість моделей, створюваних аналітиками і проектувальниками програмного забезпечення;
  3. прискорити процес навчання моделюванню з використанням UML, забезпечити практичнішу спрямованість цього процесу.

P-Modeling ґрунтується на двох ідеях:

  • Безмовні сесії моделювання (Speechless Modeling Sessions) під час аналізу і проектування підвищують ефективність останніх. Коли команда аналітиків і дизайнерів проводить безмовну сесію проектування, використання традиційних мов (російської, англійської і т.ін.) заборонене — дозволяється користуватись винятково UML. Це обмеження стимулює учасників явно описувати всі свої міркування й припущення, піклуватися про читність створених ними діаграм і залишатися чітко сфокусованими на розв'язуваній задачі впродовж усієї сесії моделювання;
  • Зворотне семантичне трасування (Reverse Semantic Traceability) значно підвищує якість створюваних моделей. Після підготовки першої версії UML-моделі певної предметної області ця модель повинна бути передана команді незалежних тестувальників, які, користуючись моделлю, повинні відтворити текстовий опис предметної області (здійснити «reverse engineering»). Отриманий текст порівнюється з оригінальним описом предметної області, і здійснюється оцінка обсягів втраченої/доданої інформації. Така перевірка підтверджує, що створена модель містить усю необхідну інформацію. Тільки після успішного проходження цього тесту створена модель передається для використання на наступних етапах процесу розробки ПЗ (детальний дизайн, кодування тощо).

Вступ[ред. | ред. код]

Останнім часом усе більш популярною і навіть «модною» дисципліною стає програмна інженерія. Зокрема , пік популярності переживає мова, безпосередньо пов'язана з програмною інженерією й об'єктно-орієнтованим аналізом і дизайном (ООАД) — UML,[1]. UML — стандартизована OMG нотація, оволодіти якою буде вельми корисно для будь-якого фахівця у галузі програмної інженерії.

Історія[ред. | ред. код]

Кілька років тому Володимир Павлов [1] [Архівовано 9 травня 2008 у Wayback Machine.] розробив методику тренінгу під назвою «Вавилонський експеримент», призначеного для навчання ООАД і UML [Архівовано 9 травня 2008 у Wayback Machine.]. У «експерименті» група студентів отримує завдання — за кілька годин розробити високорівневий дизайн програмної системи. Спілкуватися між собою вони можуть тільки за допомогою UML і мови жестів. Заборонене використання «людської» мови і UML notes, крім англійських назв сутностей UML. «Р» у назві методики означає «Пантоміма». Тренінг недарма зветься експериментом — він завжди подається, як експеримент — студенти повинні з'ясувати, чи є UML повноцінною мовою спілкування в команді розробників.

З тих пір Вавилонський експеримент було проведено більш ніж десять разів і щоразу студентам «вдавалося» довести, що UML — не гірше, ніж природна мова, — може використовуватися для спілкування в команді. Більш того, експериментально було доведено, що за умови використання безмовного режиму вдається досягти кращої якості дизайну, ніж у тих випадках, коли учасникам дозволялось спілкуватися вербально. Це наштовхнуло на думку, що, можливо, такі безмовні сесії моделювання можуть застосовуватись і в реальних проектах розробки ПЗ як ефективна альтернатива до традиційного процесу розробки дизайну системи.

Аби перевірити гіпотезу про практичну застосовність методики, було розроблено CMMi-P-SPEM-експеримент[2]. До методики було привнесено елемент «тестування» — зворотне семантичне трасування (ЗСТ). Ідея ЗСТ полягає в тому, що дизайн, створений однією командою, інша команда перекладає з UML назад на природну мову. Після цього тексти вихідного і відновленого технічного завдання порівнюються за "семантичними частинами: «технічною» та «вступною». На етапі ЗСТ розмовляти дозволяється. CMMi-P-SPEM-експеримент було проведено у Москві, під час Першої всеросійської конференції з програмної інженерії SEC(R)-2005[3]. За 10 днів до цього було проведено репетицію експерименту у Дніпропетровську, аби перевірити і, якщо треба, модифікувати методику. Виявилося, що методика вже досить непогана, навіть більше того, настільки непогана, що навіть було вирішено змінити назву на P-modeling, позбувшись, нарешті, слова «експеримент».

Більшість учасників цього заходу відзначили, що «безмовний» підхід дозволив їм швидше створити якісніші моделі, що ЗСТ — досить якісний спосіб перевірки адекватності моделі і висловили бажання застосовувати ці методики на практиці. Крім цього виявилося, що P-modeling зручно використовувати для швидкого формування команд розробників і виявлення потенційних лідерів.

Застосування в навчальному процесі[ред. | ред. код]

Перш ніж говорити про те, де саме і ким було застосовано цю методику, згадаємо ще один проект — проект «Віртуоз» [Архівовано 29 червня 2008 у Wayback Machine.], який здійснювався у серпні-грудні 2004 р. у Нижньогородському державному університеті з ініціативи Intel і за підтримки Microsoft, IBM, Borland, Лабораторії Касперського та ін. Це була програма семестрового індустріально-академічного стажування для викладачів ВНЗів. Вони працювали у Нижньогородській лабораторії Intel [Архівовано 14 березня 2009 у Wayback Machine.] над реальними проектами корпорації, прослухали навчальні курси від Intel, Microsoft, IBM, Borland, Kaspersky Lab і розробили навчальний курс SE201: Вступ до програмніої інженерії" на основі рекомендацій сучасного освітнього стандарту ACM/IEEE Computing Curricula.

Методика P-modeling використовувалась в навчальному процесі двома учасниками проекту «Віртуоз» — Павлом Цитовичем (Південно-уральський державний університет [Архівовано 8 червня 2020 у Wayback Machine.], м. Челябінськ) і Олександром Бабичем (ПДПУ [Архівовано 11 червня 2020 у Wayback Machine.] і ППК НТУ «ХПІ»). У випадку Челябінська це був класичний Вавилонський експеримент. У Полтаві ж було застосовано «повну» методику, яка включала ЗСТ.

У ППК, на спеціальності 5.080405 «Програмування для ЕОМ і АС» вивчаються два курси, які використовують UML — це «Технології розробки ПО», засновані на вищезгаданому курсі SE201 і «Проектування АІС», авторський курс Бабича О. В.

Методику було впроваджено в ППК у вигляді одноденного тренінгу для студентів четвертого курсу. Спочатку була коротка оглядова лекція про UML, певний вступ та мотивація, потім «розминка» і тригодинна сесія моделювання в «безмовному» режимі. Після цього проводилося ЗСТ і порівняння відновлених текстів завдань з вихідними. Наприкінці заходу студенти заповнювали анкети зворотного зв'язку. Аналіз анкет ще раз підтвердив ефективність методики.

P-modeling — це відмінний спосіб дати студентам саме те, чого звичайно не дає традиційна система вищої освіти, а саме практично значимий досвід моделювання. Застосування цієї методики дозволило студентам закріпити свої знання UML, одержати досвід командної роботи, відчути себе учасником реального проекту. Методику можна застосувати і для навчання іншим дисциплінам.

Промислове застосування[ред. | ред. код]

Методика P-Modeling є результатом здійснених у 2001-2005 роках дослідницьких проектів Володимира Л. Павлова, які одержали назву «Вавилонський експеримент» і «Експеримент CMMI-P-SPEM». Див. розділ 'Історія'.

У цей час уже відомі випадки застосування методики в практиці розробки ПЗ у ряді софтверних фірм Росії.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]


  1. уніфікована мова моделювання
  2. CMMi-P-SPEM-експеримент [Архівовано 27 вересня 2007 у Wayback Machine.]
  3. SEC(R)-2005 [Архівовано 14 квітня 2006 у Wayback Machine.]