конспект лекцій (ТСПП). Конспект лекцій з дисципліни 07 технологія створення програмних продуктів напряму 050101 Компютерні науки
Скачать 14.87 Mb.
|
8.2. Призначення мови UML.Створення мови UML передбачало рішення наступних завдань. Надати в розпорядження користувачів легко восприни маемый і виразна мова візуального моделювання, специ ально призначений для розробки і документування моді лей складних систем самого різного цільового призначення. Важ ным чинником подальшого розвитку і повсюдного использо вания методології ООАП являється інтуїтивна ясність і по нятность основних конструкцій відповідної мови моді лирования. ЯзыкUML включає не лише абстрактні конструкції для представлення метамоделей систем, але і цілий ряд конкретних понять, що мають цілком визначену семан тику. Це дозволяє мові UML одночасно досягти не лише універсальності представлення моделей для самих різних застосувань, але і можливості опису досить тонких де талів реалізації цих моделей стосовно конкретних систем. Практика системного моделювання показала, що абстракт ного опису мови на деякому метарівні недостатньо для розробників, які ставлять своєю метою реалізацію проекту системи в конкретні терміни. Нині має місце не який концептуальний розрив між загальною методологією мо делирования складних систем і конкретні инструментальны мі засобами швидкої розробки додатків. Саме цей раз рыв і покликаний заповнити мову UML. Звідси витікає, що для адекватного розуміння базових кін струкций мови UML важливо не лише володіти деякими навы ками об'єктно-орієнтованого програмування, але і хоро шо уявляти собі загальну проблематику процесу розробки моделей систем. Саме інтеграція цих представлень утворює нову парадигму ООАП, практичним слідством і централь ным стержнем якої є мова UML. Забезпечити початкові поняття мови UML можливістю рас ширення і спеціалізації для точнішого представлення моді лей систем в конкретній предметній області. Хоча мова UML яв ляется формальною мовою - мовою специфікацій, формаль ность його опису відрізняється як від традиційних формально логічних мов, так і від відомих мов програмування. Розробники з OMG (Object Management Group - консорци розум, створений в 1989 р. для розробки індустріального стандар та мови UML) припускають, що мова UML як ніякий дру ой може бути пристосований для конкретних предметних облас тей. Це стає можливим з тієї причини, що в самому опи сании мови UML закладений механізм розширення базових поня тий, який є самостійним елементом мови і име ет власний опис у формі правил розширення. В той же час розробники з OMG вважають украй нежела тільним перевизначення базових понять мови з якої б то не було причини. Це може привести до неоднозначної інтер претации їх семантики і можливій плутанині. Базові поняття мови UML не слід змінювати більше, ніж це необхідно для їх розширення. Усі користувачі мають бути здатні будувати моделі систем для більшості звичайних застосувань з примі нением тільки базових конструкцій мови UML, без использо вания механізму розширення. При цьому нові поняття і нота ции доцільно застосовувати тільки в тих ситуаціях, коли име ющихся базових понять явно недостатньо для побудови мо делей системи. Мова UML допускає також спеціалізацію базових понять. Йдеться про те, що в конкретних застосуваннях користувачі повинні уміти доповнювати наявні базові поняття новими характеристиками або властивостями, які не суперечать це мантике цих понять в мові UML. Забезпечити, щоб опис мови UML підтримував та кую специфікацію моделей, яка не залежить від конкретних мов програмування і інструментальних засобів проектиро вания програмних систем. Жодна з конструкцій мови UML не повинна залежати від особливостей її реалізації у відомих мовах програмування. Хоча окремі поняття мови UML і пов'язані з останніми дуже тісно, їх жорстка інтерпретація у формі яких би то не було конструкцій програмування не може бути визнана коректною. Іншими словами, разработчи ки з OMG вважають необхідною властивістю мови UML його контекстно-програмну незалежність. З іншого боку, мова UML повинна мати потенційну можливість реалізації своїх конструкцій на тій або іншій мові програмування. Звичайно, в першу чергу, маються на увазі мови, що підтримують концепцію объектно-ориентиро- ванного проектування, такі як C++, Java, Object Pascal. Саме це властивість мови UML робить його сучасним засобом ре шения завдань моделювання складних систем. В той же час перед вважається, що для програмної підтримки конструкцій мови UML можуть бути розроблені спеціальні інструментальні CASE -средства. Наявність останніх має принципове значення для широкого поширення і використання мови UML. Забезпечити, щоб опис мови UML включав семантичний базис для розуміння загальних особливостей ООАП. Говорячи про цю особливість, мають на увазі самодостатність мови UML для розуміння не лише його базових конструкцій, але, що не менш важливо, і загальних принципів ООАП. Оскільки мова UML не є мовою програмування, а служить середовищ ством для вирішення завдань об'єктно-орієнтованого моделиро вания систем, його опис повинен по можливості включати усі необхідні поняття для ООАП. Без цієї властивості мова UML може виявитися даремною і незатребуваною біль шинством користувачів, які не знайомі з проблематикою ООАП складних систем. З іншого боку, які б то не було посилання на доповни тільні джерела, що містять важливу для розуміння мови UML інформацію, на думку розробників з OMG, мають бути виключені. Це дозволить уникнути неоднозначного тямуща ния принципових особливостей процесу ООАП і реализа ции цих особливостей у формі базових конструкцій мови UML. Заохочувати розвиток ринку об'єктних інструментальних засобів. Більше 800 провідних виробників програмних і аппа ратних засобів, зусилля яких зосереджені у рамках OMG, бачать перспективи розвитку сучасних інформаційних тих нологий і основу свого комерційного успіху в широкому про русі на ринок інструментальних засобів, що підтримують об'єктні технології. Говорячи про об'єктні технології, разра ботчики з OMG мають на увазі, передусім, сукупність тих нологических рішень системи проектування CORBA і мови UML. З цієї точки зору мові UML відводиться роль базового засобу для опису і документування різних об'єктних компонентів CORBA. Сприяти поширенню об'єктних технологій і відповідних понять ООАП. Це завдання тісно пов'язане з попередньою і має з нею багато спільного. Якщо виключити з рас смотрения рекламні заяви розробників про исключитель ний гнучкості і потужності мови UML і спробувати скласти об'єктивну картину можливостей цієї мови, то можна дійти наступного висновку. Зусилля досить великої групи розробників були спрямовані на інтеграцію у рамках мови UML багатьох відомих технологій візуального моделювання, які успішно зарекомендували себе на практиці. Хоча це привело до ускладнення мови UML в порівнянні з відомими нотаціями структурного системного аналізу, платою за складність є дійсно висока гнучкість і образотворчі віз можности вже перших версій мови UML. У свою чергу, ис користування мови UML для вирішення всіляких практиче ских завдань тільки сприятиме його подальшому совер шенствованию, а значить, і подальшому розвитку об'єктних тих нологий і практики ООАП. Інтегрувати новітні і найкращі практичні дости жения ООАП. Мова UML безперервно удосконалюється разра ботчиками, і основою цієї роботи є його подальша ин теграция з сучасними модельними технологіями. При цьому різні методи системного моделювання отримують своє при кладное осмислення у рамках ООАП. У наступному ці методи можуть бути включені до складу мови UML у формі дополнитель ных базових понять, найадекватніше і що повно відбивають найкращі практичні досягнення ООАП. Щоб вирішити перераховані завдання, мова UML зазнала за свою недовгу історію певну еволюцію. В результаті опис самої мови UML став нетривіальним, оскільки семантика базових понять включає цілий ряд перехрещення ных зв'язків з іншими поняттями і конструкціями мови. У зв'язку з цим так зване лінійне, або послідовне, рассмот рение основних конструкцій мови UML стало практично не можливим, оскільки одні і ті ж поняття можуть использо ваться при побудові різних діаграм або представлень. В той же час кожне з представлень моделі володіє собствен ными семантичними особливостями, які накладають від печаток на семантику базових понять мови в цілому. Говорячи про складність опису мови UML, слід зазначити властиву усім формальним мовам складність їх строгого заду ния, яка витікає з необхідності в тій або іншій мірі використовувати природну мову для специфікації базових при митивов. В цьому випадку природна мова виступає в ролі мета мови, тобто мови для опису формальної мови. Оскільки ес тественный мова не є формальною, то і його застосування для опису формальних мов в тій або іншій мірі жнива ет неточністю Хоча в завдання мови UML не входить аналіз соотвстствующих логико-лингвистических деталей, ці особливості відбилися на структурі опису мови UML, зокрема, сде лали стиль опису усіх його основних понять напівформальним. |