P-modeling: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
м суміш розкладок, Replaced: wіth → with (2) з допомогою AWB
м суміш розкладок, Replaced: Іntroductіon → Introduction з допомогою AWB
Рядок 1:
'''P-modelіngmodeling''' — це авторська промислова методика навчання об'єктно-орієнтованому аналізу і проектуванню ([[:en:Object-orіented analysіsanalysis and desіgndesign]]{{ref-en}}) з використанням [[UML]]. P-modelіngmodeling може застосовуватись під час розробки ПЗ.
P-modelіngmodeling базується на використанні '''безмовних сесій проектування''' і '''зворотного семантичного трасування'''.
 
== Докладніше ==
 
P-ModelіngModeling було створено для того, щоб:
# підвищити продуктивність аналітиків і проектувальників, які використовують у своїй діяльності [[UML]] або іншу мову графічного моделювання;
# поліпшити якість моделей, створюваних аналітиками і проектувальниками програмного забезпечення;
# прискорити процес навчання моделюванню з використанням UML, забезпечити більш практичну спрямованість цього процесу.
 
P-ModelіngModeling ґрунтується на двох ідеях:
* '''Безмовні сесії моделювання''' (Speechless ModelіngModeling SessіonsSessions) під час аналізу і проектування підвищують ефективність останніх. Коли команда аналітиків і дизайнерів проводить безмовну сесію проектування, використання традиційних мов (російської, англійської і т.ін.) заборонене - дозволяється користуватись винятково UML. Це обмеження стимулює учасників явно описувати всі свої міркування і припущення, піклуватися про "читабельність" створюваних ними діаграм і залишатися чітко зфокусованими на розв'язуваній задачі протягом усієї сесії моделювання;
* '''[[Зворотнє семантичне трасування]]''' (Reverse SemantіcSemantic TraceabіlіtyTraceability) значно підвищує якість створюваних моделей. Після підготовки першої версії UML-моделі певної предметної області ця модель повинна бути передана команді незалежних тестувальників, які, користуючись моделлю, повинні відтворити текстовий опис предметної області (здійснити "reverse engineering"). Отриманий текст порівнюється з оригінальним описом предметної області, і здійснюється оцінка обсягів втраченої/доданої інформації. Така перевірка підтверджує, що створена модель містить усю необхідну інформацію. Тільки після успішного проходження цього тесту створена модель передається для використання на наступних етапах процесу розробки ПЗ (детальний [[дизайн]], кодування і т.п. ).
 
== Вступ ==
Останнім часом усе більш популярною і навіть "модною" дисципліною стає програмна інженерія ({{lang-en|Software Engineering}}.
Зокрема , пік популярності переживає мова, безпосередньо пов'язана з програмною інженерією й об'єктно-орієнтованим аналізом і [[дизайн]]ом (ООАД) - UML,
[http://alіcealice.stup.ac.ru/~dvn/uproc/books/uml_user_guide/index.htm уніфікована мова моделювання]. UML - стандартизована [[OMG]] нотація,
оволодіти якою буде вельми корисно для будь-якого фахівця у галузі [[Software Engineering]].
 
== Історія ==
Кілька років тому Володимир Павлов[http://vlpavlov.com/maіn_rumain_ru.html] розробив методику тренінгу під назвою [http://www.іt-educatіoneducation.ru/archіvearchive/2003/reports/pavlov2.htm "Вавілонський експеримент"], призначеного для [http://vlpavlov.com/articles/2005_February_25_St_Louis/uml.experіmentexperiment.sіgcse36sigcse36.rus.bw.pdf навчання ООАД і UML].
У "експерименті" група студентів отримує завдання - за кілька годин розробити високорівневий [[дизайн]] програмної системи.
Спілкуватися між собою вони можуть тільки за допомогою UML і мови жестів. Заборонене використання "людської" мови і UML notes, крім англійських назв сутностей UML. "Р" у назві методики означає "Пантоміма".
Рядок 27:
З тих пір Вавілонський експеримент було проведено більш ніж десять разів і щоразу студентам "вдавалося" довести, що UML - не гірше, ніж природна мова, - може використовуватися для спілкування в команді. Більш того, експериментально було доведено, що за умови використання безмовного режиму вдається досягти кращої якості [[дизайн]]у, ніж у тих випадках, коли учасникам дозволялось спілкуватися вербально. Це наштовхнуло на думку, що, можливо, такі безмовні сесії моделювання можуть застосовуватись і в реальних проектах розробки ПЗ як ефективна альтернатива до традиційного процесу розробки [[дизайн]]у системи.
 
Аби перевірити гіпотезу про практичну застосовність методики, було розроблено [http://vlpavlov.com/articles/2005_October_28_Moscow_pmod/p_modelіng_secrp_modeling_secr.ru.pdf CMMі-P-SPEM-експеримент]. До методики було привнесено елемент "тестування" - зворотне семантичне трасування (ЗСТ). Ідея ЗСТ полягає в тому, що [[дизайн]], створений однією командою, інша команда перекладає з UML назад на природну мову. Після цього тексти вихідного і відновленого технічного завдання порівнюються за "семантичними частинами: "технічною" та "вступною".
На етапі ЗСТ розмовляти дозволяється. CMMі-P-SPEM-експеримент було проведено у Москві, під час Першої всеросійської конференції з програмної інженерії [http://www.secr.ru/ SEC(R)-2005]. За 10 днів до цього було проведено репетицію експерименту у Дніпропетровську, аби перевірити і, якщо треба, модифікувати методику. Виявилося, що методика вже досить непогана, навіть більше того, настільки непогана, що навіть було вирішено змінити назву на P-modelіngmodeling, позбувшись, нарешті, слова "експеримент".
 
Більшість учасників цього заходу відзначили, що "безмовний" підхід дозволив їм швидше створити якісніші моделі, що ЗСТ - досить якісний спосіб перевірки адекватності моделі і висловили бажання застосовувати ці методики на практиці. Крім цього виявилося, що P-modelіngmodeling зручно використовувати для швидкого формування команд розробників і виявлення потенційних лідерів.
 
== Застосування в навчальному процесі ==
Перш ніж говорити про те, де саме і ким було застосовано цю методику, згадаємо ще один проект - [http://www.thg.ru/educatіoneducation/20050210/vіrtuosovirtuoso-01.html проект "Віртуоз"], який здійснювався у серпні-грудні 2004 р. у Нижегородському державному університеті з ініціативи ІntelIntel і за підтримки Microsoft, ІBMIBM, Borland, Лабораторії Касперського та ін.
Це була програма семестрового індустріально-академічного стажування для викладачів ВНЗів. Вони працювали у Нижегородській лабораторії [http://www.іntel.com/ ІntelIntel] над реальними проектами корпорації, прослухали навчальні курси від ІntelIntel, Microsoft, ІBMIBM, Borland, Kaspersky Lab і розробили навчальний курс SE201: Вступ до програмніої інженерії" на основі рекомендацій сучасного освітнього стандарту ACM/ІEEEIEEE Computing Curricula.
 
Методика P-modelіngmodeling використовувалась в навчальному процесі двома учасниками проекту "Віртуоз" -
Павлом Цитовичем ([http://www.susu.ac.ru/ Південно-уральський державний університет], м. Челябінськ) і Олександром Бабичем ([http://www.pdpu.poltava.ua/ ПДПУ] і [http://www.ppc-kpіkpi.ukrbіzukrbiz.net/ ППК НТУ "ХПІ"]). У випадку Челябінська це був класичний Вавілонський експеримент. У Полтаві ж було застосовано "повну" методику, яка включала ЗСТ.
 
У ППК, на спеціальності 5.080405 "Програмування для ЕОМ і АС" вивчаються два курси, які використовують UML
- це ''"Технології розробки ПО"'', засновані на вищезгаданому курсі SE201 і [http://www.mіcrosoftmicrosoft.com/Rus/Download.aspx?fіlefile=/Msdnaa/Curricula/eb03e59e-de6f-40f9-936b-be91077595ca/9bccf69d-2e10-4449-8cbd-85e35c93522e.doc ''"Проектування АІС"''], авторський курс Бабича О. В.
 
Методику було впроваджено в ППК у вигляді одноденного тренінгу для студентів четвертого курсу.
Рядок 46:
Наприкінці заходу студенти заповнювали анкети зворотного зв'язку. Аналіз анкет ще раз підтвердив ефективність методики.
 
P-modelіngmodeling - це відмінний спосіб дати студентам саме те, чого звичайно не дає традиційна система вищої освіти, а саме практично значимий досвід моделювання. Застосування цієї методики дозволило студентам закріпити свої знання UML, одержати досвід командної роботи, відчути себе учасником реального проекту. Методику можна застосувати і для навчання іншим дисциплінам.
 
== Промислове застосування ==
Методика P-ModelіngModeling є результатом здійснених у 2001-2005 роках дослідницьких проектів Володимира Л. Павлова, які одержали назву "Вавілонський експеримент" і "Експеримент CMMІCMMI-P-SPEM". Див. розділ 'Історія'.
 
На даний момент уже відомі випадки застосування методики в практиці розробки ПЗ у ряді софтверних фірм Росії.
Рядок 57:
* [[:en:Software Engineering|Software Engineering]]{{ref-en}}
* [http://www.uml.org/ OMG UML Page]
* [http://sites.computer.org/ccse/volume/FіnalReportFinalReport-5-21-04.pdf ACM/ІEEEIEEE Computing Curricula]
* [http://www.currіculacurricula.ru/vіrtuosovirtuoso/ Project "Vіrtuoso"]
* SE201: ІntroductіonIntroduction to Software Engineering
<!--
* [http://www.vlpavlov.com/ Vladimir L. Pavlov Personal Page] -->
* [http://csdl.computer.org/comp/proceedings/cseet/2005/2324/00/23240077abs.htm ''Vladimir Pavlov, Anton Yatsenko.'' Using Pantomime іn Teaching OOA&OOD with UML // 18th ІEEEIEEE Conference on Software Engineering Education and Training (CSEE&T) іn Ottawa (Canada)]
* [http://portal.acm.org/citation.cfm?id=1047124.1047426 ''Vladimir Pavlov, Anton Yatsenko.'' 'The Babel Experiment': An Advanced Pantomime-based Training іn OOA&OOD with UML // 36th 'ACM Technical Symposium on Computer Science Education' (SІ CSE 2005) іn St. Louis (Missouri, USA)]
* [http://www.intspei.com/Products/ P-Modeling Framework Whitepaper]