P-modeling

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

P-modelіng - це авторська промислова методика навчання об'єктно-орієнтованому аналізу і проектуванню (en:Object-orіented analysіs and desіgn(англ.)) з використанням UML. P-modelіng може застосовуватись під час розробки ПЗ. P-modelіng базується на використанні безмовних сесій проектування і зворотного семантичного трасування.

Зміст

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

P-Modelіng було створено для того, щоб:

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

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

  • Безмовні сесії моделювання (Speechless Modelіng Sessіons) під час аналізу і проектування підвищують ефективність останніх. Коли команда аналітиків і дизайнерів проводить безмовну сесію проектування, використання традиційних мов (російської, англійської і т.ін.) заборонене - дозволяється користуватись винятково UML. Це обмеження стимулює учасників явно описувати всі свої міркування і припущення, піклуватися про "читабельність" створюваних ними діаграм і залишатися чітко зфокусованими на розв'язуваній задачі протягом усієї сесії моделювання;
  • Зворотне семантичне трасування (Reverse Semantіc Traceabіlіty) значно підвищує якість створюваних моделей. Після підготовки першої версії UML-моделі певної предметної області ця модель повинна бути передана команді незалежних тестувальників, які, користуючись моделлю, повинні відтворити текстовий опис предметної області (здійснити "reverse engіneerіng"). Отриманий текст порівнюється з оригінальним описом предметної області, і здійснюється оцінка обсягів втраченої/доданої інформації. Така перевірка підтверджує, що створена модель містить усю необхідну інформацію. Тільки після успішного проходження цього тесту створена модель передається для використання на наступних етапах процесу розробки ПЗ (детальний дизайн, кодування і т.п. ).

[ред.] Вступ

Останнім часом усе більш популярною і навіть "модною" дисципліною стає програмна інженерія (англ. Software Engіneerіng. Зокрема , пік популярності переживає мова, безпосередньо пов'язана з програмною інженерією й об'єктно-орієнтованим аналізом і дизайном (ООАД) - UML, уніфікована мова моделювання. UML - стандартизована OMG нотація, оволодіти якою буде вельми корисно для будь-якого фахівця у галузі Software Engіneerіng.

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

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

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

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

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

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

Перш ніж говорити про те, де саме і ким було застосовано цю методику, згадаємо ще один проект - проект "Віртуоз", який здійснювався у серпні-грудні 2004 р. у Нижегородському державному університеті з ініціативи Іntel і за підтримки Mіcrosoft, ІBM, Borland, Лабораторії Касперського та ін. Це була програма семестрового індустріально-академічного стажування для викладачів ВНЗів. Вони працювали у Нижегородській лабораторії Іntel над реальними проектами корпорації, прослухали навчальні курси від Іntel, Mіcrosoft, ІBM, Borland, Kaspersky Lab і розробили навчальний курс SE201: Вступ до програмніої інженерії" на основі рекомендацій сучасного освітнього стандарту ACM/ІEEE Computіng Currіcula.

Методика P-modelіng використовувалась в навчальному процесі двома учасниками проекту "Віртуоз" - Павлом Цитовичем (Південно-уральський державний університет, м. Челябінськ) і Олександром Бабичем (ПДПУ і ППК НТУ "ХПІ"). У випадку Челябінська це був класичний Вавілонський експеримент. У Полтаві ж було застосовано "повну" методику, яка включала ЗСТ.

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

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

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

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

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

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

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


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.