Уніфікована мова моделювання (UML). Реферат. Информационное обеспечение, программирование.

Уніфікована мова моделювання (UML). Реферат. Информационное обеспечение, программирование.




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Уніфікована мова моделювання (UML)

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

2. Передумови й історія
виникнення UML


4. Керована моделями
інженерія. Огляд


При
створенні складних інженерних систем прийнято використовувати прийоми
моделювання. Складність більшості створюваних сьогодні програмних систем не
поступається складності багатьом інженерним спорудженням, тому моделювання
програмних систем є досить актуальним завданням. Більш того, у таких
концепціях, як MDA (Model Driven Architecture - архітектура на основі моделей)
і MDD (Model Driven Development - розробка на базі моделей), моделям
приділяється центральна роль у процесі створення програмного продукту. Основною
ідеєю цих концепцій є представлення процесу створення програмного продукту у
вигляді ланцюжка трансформацій його вихідної моделі в готову програмну систему.


Майже
у всіх інструментальних засобах, що втілює ідеї MDD, як мова моделювання
використовується мова UML (Unified Modeling Language - уніфікована мова
моделювання), цілком або які-небудь його частини.


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







2. Передумови й історія виникнення UML




Методики об’єктно-орієнтованого моделювання


Розвиток
об’єктно-орієнтованих мов моделювання в 1980-х 1990-х роках призвів до появи
великого числа об’єктно-орієнтованих підходів до моделювання. Зокрема, у період
з1989 по 1994 роки загальна кількість відомих мов моделювання зросло з 10 до
більш ніж 50.[3]. Кожна з мов мала свої достоїнства й недоліки також як і свою
нотацію. Той самий символ у різних нотаціях найчастіше міг мати абсолютно різне
значення.


Це
ситуація суворої конкуренції між методиками моделювання дістала назву «війни
методів».


«Війна
методів» обумовила необхідність створення єдиної мови, що поєднувала би сильні сторін
відомих методів. І в жовтні 1994 року почалося створення мови UML, основу якої
склали кілька об'єктно-орієнтованих методів, що зарекомендували себе щонайкраще
на практиці, але кожний з яких був націлений не рішення окремого завдання
аналізу й проектування.


-
метод Граді Буча, умовна назва BOOCH ( Booch'91, BooCH Lite, Booch'93) вважався
найбільш ефективним на етапах проектування й розробки програмних систем [ 1].


-
метод Джеймса Рамбо, Object Modeling Technique (ОМТ, ОМТ-2) – оптимально
походив для аналізу процесів обробки даних в інформаційних системах [5]; (Rumbaugh,
et al., 1991);


-
метод Айвара Джекобсона (Ivar Jacobson), Object-Oriented Software Engineering
(OOSE) – містив засоби представлення варіантів використання, що мають істотне
значення на етапі аналізу вимог у процесі проектування бізнес-додатків [6].
[Jacobson, et al., 1993].


Спочатку
Г. Буч і Д. Рамбо з компанії Rational Software Corporation почали роботу з
уніфікації своїх методів. Незважаючи на те, що самі по собі ці методи були
досить популярні, спільна робота їх була спрямована на вивчення всіх відомих об’єктно-орієнтованих
методів з метою виявлення їхніх достоїнств. Восени того ж року до них
приєднався Айвар Якобсон, головний технолог компанії Objectory AB,, до того,
щоб інтегрувати свій метод OOSE із двома вищезгаданими. Протягом усього року
творці займалися збором відкликань від основних компаній, що працюють в області
створення ПО. За цей час стало ясно, що більшість таких компаній, що працюють в
області створення , порахувала UML мовою, що має стратегічне значення для
їхнього бізнесу.


У
результаті був створений консорціум UML, у який увійшли організації, що виявили
бажання надати ресурси для роботи, спрямованої на створення повної специфікації
UML. Версія 1.0 мови з'явилася в результаті спільних зусиль компаній Digital
Equipment Corporation, Hewlett Packard, I-Logix, Intellicprp, IBM, ICON
Computing, MCI Systemhouse, Microsoft, Oracle, Rational, Texas Instruments _
Unisys. UML 1.0 виявився добре визначеною, виразною, потужною мовою, що може
бути застосованою для рішення великої кількості різноманітних завдань.


На
протязі декількох років спеціальна робоча група OMG (OMG Revision Task Force)
підтримувала просування проекту UML. Були створені версії 1.3, 1.4, і 1.5. За
2000-2003 була розроблена версія UML 2.0.у листопаді 2007 випущена поточна
версія UML2.1.2.


Мова
UML призначена для рішення наступних завдань:


1.надати
в розпорядження користувачів готову до використання виразну потужну мову візуального
моделювання, що дозволяє розробляти осмислені моделі й обмінюватися ними;


2.
передбачити внутрішні механізми розширюваності й спеціалізації базових
концепцій мови;


3.
забезпечити максимальну незалежність проекту створення програмного забезпечення
від конкретних мов програмування й процесів розробки;


4.
забезпечити формальну основу для однозначної інтерпретації мови;


5.стимулювати
розширення ринку об’єктно-орієнтованих інструментальних засобів створення
програмного забезпечення;


6.
інтегрувати кращий практичний досвід використання мови й реалізації програмних
засобів його підтримки.


У
значній мірі мова UML не залежить від процесу розробки програмного
забезпечення. Уніфікований процес розробки ПЗ (Rational Unified Process, RUP)
[Kruchten, 2004] - це один з підходів до організації життєвого циклу ПЗ, який
особливо добре сполучається з UML. Цей комерційний продукт задає строгий регламент
розподілу завдань і відповідальності між виконавцями в процесі розробки ПЗ.




Підсумую, UML ( Unified
Modeling Language — уніфікована мова моделювання) — мова графічного
опису для об'єктного моделювання в області розробки програмного забезпечення.
UML є мовою широкого профілю, це відкритий стандарт, що використовує графічні
позначення для створення абстрактної моделі системи, називаною UML моделлю. UML
був створений для визначення, візуалізації, проектування й документування
здебільшого програмних систем.


Використання UML не
обмежується моделюванням програмного забезпечення. Його також використовують
для моделювання бізнес-процесів, системного проектування й відображення
організаційних структур.


UML дозволяє
розроблювачам ПЗ досягти угоди в графічних позначеннях для представлення
загальних понять (таких як клас, компонент, узагальнення (generalization),
об'єднання (aggregation) і поведінка) і більше сконцентруватися на проектуванні
й архітектурі.


Семантика мови UML визначається для двох видів об'єктних
моделей: структурних і поведінкових. Структурні (статичні) моделі описують
структуру сутностей або компонентів системи, включаючи їхні класи, інтерфейси,
атрибути й зв'язки. Моделі поводження (динамічні) описують поведінку або
функціонування об'єктів системи, включаючи їхні методи, взаємодію
(співробітництво) між ними, а також процес зміни станів окремих компонентів і
системи в цілому [4]. (Буч,1994)


Формальний опис мови UML ґрунтується на наступній загальній
ієрархічній структурі модельних подань, що складається із чотирьох рівнів
абстракції:


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


Основою представлення UML на метамодельнім рівні є опис трьох
його логічних блоків (пакетів):


Концептуальна модель мови включає основні будівельні блоки,
правила їхні сполучення й загальні механізми [13, 17, 18].


Словник мови UML містить сутності (абстракції, що є основними
елементами моделі) і відносини (основні сполучні будівельні блоки), Сутності й
відносини за певними правилами з'єднуються в конструкції - діаграми.


В UML визначено чотири типи сутностей [13]:


клас (Class), інтерфейс (Interface)


нитка (Thread, вид активних класів))


− сутності поводження (Behavioral things)


− сутності, що групують, - пакет (Packages);


− анотаційні сутності – примітка (Note).


Основними типами відносин в UML є відносини:


асоціації(Association) (різновидом асоціації є


відношення агрегації (Aggregation)),


Існують також їхньої варіації, наприклад, уточнення, трасування,
включення й розширення (для відносин залежності).


Для побудови коректно оформленої моделі в UML визначені
правила, що дозволяють коректно й однозначно визначати:


(1) імена сутностей, відносин і діаграм,


(2) область дії імен (контекст, у якому ім'я має деяке
значення),


(3) видимість імен (для використання іншими елементами),


(4) цілісність (правильність і погодженість співвідношення
елементів),


Ефективність і спрощення застосування мови забезпечується
використанням певних угод, так званих, загальних механізмів:


- прийнятих розподілів (Common divisions


- механізмів розширення (Extensibility mechanisms) [7, 17,
18].


Кожний елемент нотації UML має унікальне графічне позначення
й специфікацію - текстове подання синтаксису й змістовної семантики
відповідного будівельного блоку.


Практично всі будівельні блоки характеризуються дихотомією
“клас/ об'єкт” і“інтерфейс / реалізація”. Це основні підходи розподілу
реальності при об’єктно-орієнтованом моделюванні систем.


UML допускає контрольовані розширення для адаптації мови до
конкретних потреб. Наявність внутрішніх механізмів розширення принципово
відрізняє UML від таких засобів моделювання як IDEF0, IDEF1X, IDEF3, DFD і ERM
[37], що є замкнутими й не допускають расширення засобами самої мови.


До механізмів розширення UML ставляться:


- стереотип (Stereotype), що розширює словник мови
(дозволяє створювати з існуючих блоків нові, специфічні для конкретного
розв'язуваного завдання);


- тег- значення (Tagged value), що розширює властивості
будівельного блоку (дає можливість включати нову інформацію в специфікацію
елемента);


У нотації UML всі представлення про моделі складної системи
фіксуються у вигляді спеціальних графічних конструкцій, що одержали назву
діаграм [16]. Діаграма в UML - це графічне подання набору елементів, зображуване,
як правило, у вигляді зв'язного графа з вершинами (сутностями) і ребрами
(відносинами). Теоретично діаграми можуть містити будь-які комбінації сутностей
і відносин. Однак на практиці застосовується невелика кількість типових
комбінацій.


В UML використовуються
наступні види діаграм (для виключення неоднозначності приведу також позначення
англійською мовою):





Communication
diagram (UML2.0) / Collaboration (UML1.x)


Interaction
overview diagram (UML2.0)

·
Композитної/складеної
структури


Комунікації
(UML2.0) / Кооперації (UML1.x)

Підвидом діаграм
композитної структури є діаграми кооперації
(Collaboration diagram, уведені в UML 2.0), які показують ролі й взаємодія
класів у рамках кооперації. Кооперації зручні при моделюванні шаблонов проект ування.


Діаграми композитної
структури можуть використовуватися разом з діаграмами класів.


Діаграма комунікації
(Communication diagram) (в UML 1.x — діаграма кооперації, collaboration
diagram) — діаграма, на якій зображуються взаємодії між частинами композитної
структури або ролями кооперації. На відміну від діаграми послідовності, на
діаграмі комунікації явно вказуються відносини між елементами (об'єктами), а
час як окремий вимір не використовується (застосовуються порядкові номери
викликів).
4. Керована моделями інженерія. Огляд




Останні
п'ятдесят років дослідники й розроблювачі програмного забезпечення створюють
абстракції, що допомагають їм програмувати в термінах цілей свого проекту, а не
використовуваного комп'ютерного середовища, і захищаючі їх від складностей
цього середовища. Із самого початку ці абстракції включали технології мов
програмування й операційних систем. Наприклад, ранні мови програмування (мови
асемблера й Fortran) захищали розроблювачів від складностей програмування в
машинних кодах. [10.1]


Аналогічно,
ранні операційні системи захищали їх від складностей програмування прямо на
рівні апаратури. Хоча ці ранні мови й платформи підвищували рівень абстракції,
вони явно були "орієнтованими на обчислення". Зокрема, вони
забезпечували абстракції простору рішень (тобто області самих комп'ютерних
технологій), а не абстракції, що дозволяють звістки розробку в термінах
прикладної області. Згодом уживали численні спроби подальшого підвищення рівня
абстракції. [14]


Одним
з найбільш відомих напрямків, що утворилися в 1980-е рр., є інженерія
програмного забезпечення з комп'ютерною підтримкою (Computer-Aided Software
Engineering, CASE), що забезпечує методи й засоби розробки програмного
забезпечення, що дозволяють розроблювачам виражати свої конструкції з
використання графічних програмних засобів загального призначення, різного виду
діаграм. Однієї із цілей CASE-Засобів було забезпечення більше ретельного
аналізу графічних програм за рахунок їхньої меншої складності, чим у програм,
представлених на традиційних мовах програмування (наприклад, у графічних
програмах неможливі помилки, що приводять до ушкодження пам'яті).


Іншою
проблемою підходу CASE була його нездатність масштабуватися до складних,
виробничих систем у широкому діапазоні прикладних областей. Загалом кажучи,
CASE-Засобу не підтримували паралельну розробку; на їхній основі можна було
розробляти програми поодинці або групою, члени якої по черзі зверталися до
файлів, використовуваним цими засобами. [10/1]


У
результаті в 1990-е рр. підхід CASE робив порівняно невеликий вплив на розробку
комерційного програмного забезпечення, фокусуючись на декількох прикладних
областях, наприклад, на обробці викликів у телекомунікаційних системах, де
добре підходили подання у вигляді кінцевих автоматів. Навіть там, де
CASE-Засоби застосовувалися на практиці, звичайно використовувалася тільки їхня
частина, що дозволяє розроблювачам малювати діаграми програмних архитектур і
документувати свої рішення, на основі чого програмісти потім вручну робили й
розвивали реалізації. Однак, оскільки був відсутній прямий зв'язок між
діаграмами й реалізаціями, розроблювачі не прагнули до великої точності
діаграм, оскільки вони рідко синхронізувалися із кодом на подальших стадіях
проектів.


В
останні двадцять років досягнення в області мов програмування й платформ
привели до підвищення рівня абстракцій, доступних для розроблювачів, зм'якшивши
один з недоліків підходу CASE. Наприклад, сьогодні розроблювачі звичайно
використовують більше виразні об’єктно-орієнтовані мови (зокрема, C++, Java і
C#), а не Fortran або C. Повторно використовувані бібліотеки класів і платформи
підтримки додатків мінімізують потребу у винаході загальних і прикладних
сервісів - транзакцій, відмовостійкості, оповіщення про події, безпеку,
розподіленого керування ресурсами й т.д. Все це дозволяє розроблювачам краще
захиститися від складності, пов'язаної зі створенням додатків на основі
традиційних технологій.[14]


Незважаючи
на ці досягнення, залишається кілька неприємних проблем. У центрі цих проблем
лежить складність платформ, що росте швидше здатності мов загального
призначення маскувати її. Наприклад, популярні платформи проміжного програмного
забезпечення J2EE, .NET і CORBA містять тисячі класів і методів з багатьма складними
залежностями й тонкими побічними ефектами, що вимагає значних зусиль при
програмуванні й ретельному настроюванні.


Родинна
проблема полягає в тому, що код більшості додатків і платформ як і раніше
пишеться на мовах третього покоління, для чого потрібно багато часу й зусиль,
особливо для виконання інтеграційних дій - розгортання, конфігурування й
підтримка якості системи. Наприклад, на Java або C# важко написати код,
коректно й оптимально розгортає великомасштабної розподіленої системи із
сотнями тисяч взаємозалежних компонентів.


Ситуацію
не рятує навіть використання описів розгортання мовою XML, використовуваних у
компонентних і сервіс-орієнтованих платформах проміжного програмного
забезпечення, оскільки в цьому випадку є семантичний розрив між метою розробки
й вираженням цієї мети в тисячах рядків вручну зробленого XML, синтаксис якого
не має відносини ні до семантики прикладної області, ні до мети розробки. Через
наявність цих проблем індустрія програмного забезпечення наближається до
гранично припустимої складності.


У
той же час платформні технології нового покоління, наприклад, Web-Сервіси й
архітектури продуктових ліній (product-line architecture) стають настільки
складними, що роками опановують платформними API і паттернами використання й
при цьому часто виявляються знайомими тільки із частиною можливостей регулярно
використовуваної ними платформи. Більше того, при використанні мов третього
покоління розроблювачі змушені приділяти настільки велику увагу тактичним
деталям імперативного програмування, що вони часто не можуть концентруватися на
стратегічних архітектурних проблемах, таких як коректність системи в цілому і
її продуктивність. Такі фрагментовані представлення проекту в цілому затрудняють
розроблювачам розуміння того, які частини їхніх додатків є чутливими до
побічних ефектів, що виникають при зміні вимог замовників і/або середовища
розробки. Часто це змушує розроблювачів робити неоптимальні рішення, у яких
дублюються частини коду, порушуються ключові архітектурні принципи,
ускладнюється розвиток системи й забезпечення необхідної якості.


Багатообіцяючим
підходом, спрямованим на рішення цих проблем, є розробка технологій інженерії,
керованої моделями, (Model-Driven Engineering, MDE). При використанні MDE
розробка ведеться на предметно-предметно-орієнтованих мовах моделювання
(Domain-Specific Modeling Language, DSML), у системах типів яких формалізується
структура, поводження й вимоги додатка усередині відповідної предметної
області. DSML описуються з використанням метамоделей, у яких визначаються
зв'язки між поняттями предметної області й точно специфується основна семантика
й обмеження, асоційовані із цими поняттями. [10.1]




5. Огляд англомовної літератури UML




Для того щоб добре
орієнтуватися в UML, тобто успішно використовувати його на практиці, треба мати
досить глибокі представлення про методи об’єктно-орієнтованого аналізу,
проектування й програмування. Приведу список англомовної літератури по UML з
коротким описом змісту кожної роботи. Цей список не претендує на повноту, але,
по -моєму, дає деяке подання про літературу, що описує UML.


[4], Booch G.
Object-oriented analysis and design with applications. Second edition. The
Benjamin/Cummings Publishing Company, Inc. 1994. 589 p.//


[5] Rumbaugh J., Blacha
M. Premerlani W., Eddy F. Lorensen W. Object-Oriented Modeling and Design.
Prentice-Hall, Inc., 1991


[6] Jacobson I.
Object-Oriented Software Engineering. A Use Case Driven Approach.
Addison-Wesley Publishing Company, 1993.


містить опис об’єктно-орієнтованих
методологій, які були покладені в основу UML.


[5] є описом
методології OMT. Вона вийшла в 1991 році й на справжній момент існує багато
CASE-Засобів, у тім або іншому ступені підтримуючих її. До UML ця методологія
була однієї з найпоширеніших.


[4] є, очевидно, кращою
книгою в цій області. Вийшло два її видання - перше в 1991 році, друге - в
1994. Обоє видання перекладені на російську мову.


[6] містить опис OOSE -
об’єктно-орієнтованого підходу до створення програмних систем, заснованого на
моделі випадків використання (use case driven approach) і є систематизацією
більш ніж 20-літнього досвіду її автора, Айвара Джекобсона, в області створення
більших систем. Ця книга вийшла у світло в 1992 році. Модель випадків
використання й багато чого, з нею зв'язане, увійшли в UML.


Друга група літератури
є канонічним описом стандарту UML


[2] Booch G.,Rumbaugh
J. UML 1.1. Semantics. 1997.


і [7] Booch G.,
Rumbaugh J. UML 2.0. Notation Guide є основними документами по UML. Там
описується метамодель UML і дуже мало уваги приділяється семантиці конструкцій.
В [8] (A Rational Approach to Software Development Using Rational Rose 4.0
)описується приклад розробки програмної системи (реєстрація студентів на
відвідування навчальних курсів) з використанням CASE-Засобу Rational Rose, що
реалізує підмножину UML (аналіз і проектування). Всі ці документи вільно
доступні і їх можна взяти на web-вузлі OMG.


Оскільки офіційна
документація по UML скрутна для розуміння, виходить багато книг, що описують
його з різними акцентами. Я відзначу книги, написані головними авторами UML -
Г. Бучем, И Джекобсоном, Д. Рэмбо - [1], [11], [12]:


·
[1] - G.
Booch, Jim Rumbaugh, Ivar Jacobson The Unified Modeling Language User Guide:
детальна інформація про використання UML. Покриває близько 80% мови.
Застосування UML описується на великій кількості прикладів;


·
[11] Ivar
Jacobson, G. Booch, Jim Rumbaugh The Unified Software Development Process -
опис процесу об’єктно-орієнтованої розробки ПО;


·
[12] -
J.Rumbaugh, I.Jacobson, G. Booch Unified Modeling Language Reference Manual: -
довідник по UML, що охоплює вся мову.


Крім того, відзначу ще
книгу [13] (B.P. Douglass Real-Time UML. Developing Efficient Objects for
Embedded Systems), написану співробітником фірми i-Logix Брюсом Дугласом, у якій
утримується гарний опис UML у контексті розробки систем реального часу.


Ще одним джерелом
інформації з UML є матеріали, що випускаються компанією Rational Software Corp.
Це насамперед величезна база даних RUP, що містить більше 1000 статей навколо
UML. Крім того, із грудня 1998 року виходить у світло журнал "Rose
Architect", що містить багато цікавих статей фахівців фірми Rational
Software Corp. про UML, RUP, Rational Rose, про застосування Rational Rose у
різних областях розробки ПО.


Нагадаю, початковою метою розвитку UML було забезпечення
більш точного опису мови моделювання - підтримка формальної основи для
розуміння мови моделювання. Однак дотепер формальна семантика не є частиною
стандарту. Огляд декількох підходів, що стосується визначення такої семантики,
наведений в [26] (Husman H. Loose Semantics for UML), де розглянуті
теоретико-множинний, трансляційний, метамодельний підходи й запропонований так
звана “вільна семантика”.


Слід зазначити, що в самій специфікації UML існує багато
огріхів і протиріч: так, у роботі [27] (Genova G., Llorens J., Quintana V.
Digging into Use Case) розглядаються відносини включення й розширення для
варіантів використання, в [29] (Gogolla M., Henderson-Sellera B. Analysis of
UML Stereotypes within the UML Metamodel) аналізуються стандартні стереотипи
метамоделі UML. У роботі [30] (Naumenko A., Wegmann A. A Metamodel for the
Unified Modeling) пропонується використовувати RMODP ((Reference Model Open
Distributed Processing) [31] (RM-ODP Open Distributed Processing - Reference)
для рішення проблем мови. Відзначу, що відповідно до специфікації UML модель
RM-ODP виступає структурою, що безпосередньо впливає на архітектуру метамодели
мови (розділ “Preface: Relationships to Other Models”). Крім того RM-ODP
використовується в MOF (Meta-Object Facility) для керування типами. В [30] (Naumenko
A., Wegmann A. A Metamodel for the Unified Modeling) ідентифікуються три
проблеми метамоделі UML і пропонується їхнє рішення на базі RM-ODP:


- структурний хаос семантики мови - “висока техніка, лаконічність
і складність для розуміння новачками”; рішення: використання структури RM-ODP і
теорії типів Б. Расела;


- відсутність декларативної семантики, суперечливість
семантики мови при описі відносин між моделями, побудованими з використанням
мови, і безпосередньо суб'єктів моделювання; рішення: реалізація базової
концепції моделювання (Basic Modeling Concept);


- недостатнє теоретичне обґрунтування використовуваної
метамоделі мови UML; рішення: пропонована в статті концепція моделювання на
основі RM-ODP, теорії типів Б. Расела до інтерпретації формальних вирахувань
уважається повністю обґрунтованою.


У багатьох роботах, присвячених формалізації моделі й
метамодели мови UML, розглядається не сама мова, а деяка його підмова,
формальна й строго структурований. Так, в [32] / (Paige R., Ostroff J.
Metamodelling and Conformance Checking with PVS) розглядаються BON (Business
Object Notation, об’єктно-орієнтована мова моделювання, по суті співпадаюча з
підмовою діаграм класів UML [33] (Walden K., Nerson J.-M. Seamless
Object-Oriented Software Development) і PVS (Prototype Verification System,
мова специфікацій, розроблена для автоматичного аналізу метамоделей мов
моделювання [34]( Owre S., Shankar N., Rushby J., Stringer-Calvert D. The PVS
Language Reverence Version 2).


Результатом цієї роботи є повна формальна специфікація
метамодели об’єктно-орієнтованого мови моделювання у формі, придатної для
автоматичного аналізу. Однак BON у порівнянні з UML більше формалізований і
“підігнаний” під умови розв'язуваного завдання.


Аналогічний підхід використаний в [35] (Overgaard G. Formal
Specification of OO Modeling), де як платформа для формалізації обраний формалізм
Boom, що складається з метамоделі й мови формальних специфікацій Odal -
простого строго типізованої мови, семантика якого задана в термінах так званого
π -вирахування. В [36]( Clark T., Evans A., Kent S. The Metamodelling
Language Calculus: Foundation Semantics for UML) на основі [37] (Cardeli L,
Abadi M. A theory of Objects) розглядається формалізація мови MML (Metamodelling
Language), що є підмножиною UML; ця формалізація запропонована авторами як база
для всього UML 2.0.


Нарешті, у роботі [38] (Lellahi K. Conceptual Data Modeling:
An Algebraic Viewpoint) демонструється застосовність алгебраїчного підходу для
формального опису ER-Діаграм (Entity-Relationship diagrams), що є аналогами
діаграм класів UML.


Зупинюся докладніше на огляді лютневого, 2005 р. номера
журналу Computer (IEEE Computer Society, V. 38, No 2, February 2005).


Темою
лютневого номера журналу є "Керована моделями розробка програмного
забезпечення" ("Model-Driven Software Development").
Представлено повноцінну тематичну добірку статей із запрошеним редактором,
Дугласом Шмідтом (Douglas C. Schmidt, Vanderbilt University). [10]


Об'ємна
вступна замітка редактора називається "Керована моделями
інженерія" ("Model-Driven Engineering"). У статті дається
докладний аналіз залежності ручної праці розроблювача програмного забезпечення
від рівня абстракції мови програмирвания. Обговорюються фактори виникнення
програмного забезпечення з комп'ютерною підтримкою (Computer-Aided Software
Engineering, CASE),його переваги й недоліки. Піднімається питання складності
популярних платформ проміжного програмного забезпечення J2EE, .NET і CORBA.
Ситуацію не рятує навіть використання описів розгортання мовою XML.
Багатообіцяючим підходом, спрямованим на рішення цих проблем, є розробка
технологій інженерії, керованої моделями, (Model-Driven Engineering, MDE).[10.1]


Перша
основна стаття тематичної добірки називається "Розробка додатків з
використанням керованих моделями середовищ розробки" ("Developing
Applications Using Model-Driven Design Environments"). Автори статті -
Krishnakumar Balasubramanian, Aniruddha Gokhale, Gabor Karsai, Janos
Sztipanovits, Sandeep Neema, Vanderbilt University. [10.2]


Історично
методології розробки програмного забезпечення фокусуються більшою мірою на
вдосконалюванні засобів розробки систем, а не на створенні інструментів, що допомагають
конструювати й інтегрувати системи. Компонентне програмне забезпечення
проміжного шару (Enterprise Java-Beans (EJB), Microsoft .NET і CORBA Component
Model (CCM)) сприяють підвищенню рівня повторного використання програмного
забезпечення на основі абстракції компонента.


Однак
при прийнятті розроблювачами на озброєння цих комерційних, готових до
використання технологій виникає розривши між такими доступними й зробленими
засобами розробки, як компілятори й отладчиками, і засобами, використовуваними розроблювачами
для компонування, аналізу й тестування закінченої системи або системи систем. У
результаті розроблювачі продовжують виконувати системну інтеграцію з
використанням підручних методів без підтримки засобів автоматизації.


Розробка,
керована моделями (Model-Driven Development, MDD) - це парадигма, що
розвивається, вирішальні численні проблеми композиції й інтеграції
великомасштабних систем і опирається при цьому на наявні досягнення в області
технологій розробки програмного забезпечення (зокрема, на компонентне проміжне
програмне забезпечення). MDD дозволяє перевести розробку програмного
забезпечення на більше високий рівень абстракції в порівнянні з тим, що
можливий при використанні мов третього покоління. Для подання елементів системи
і їхніх зв'язків у підході MDD використовую
  Реферат. Информационное обеспечение, программирование.
Контрольная Работа На Тему Жесты И Мимика Бизнесмена. Принятие Решений В Бизнесе
Доклад: 10 лет свободной торговли: больше вопросов, чем ответов
Написать Сочинение На Тему Мой Любимый
Реферат: История административного деления Белоруссии
Контрольная работа: Принципы советской системы представительства. Скачать бесплатно и без регистрации
Сочинение Рассуждение На Тему Мцыри Образ Узника
Курсовая Работа На Тему Промышленное Здание В Городе Соликамск
Оптические процессоры
Курсовая Работа 9-Этажный Жилой Дом
Реферат: Экологические проблемы и международные отношения. Скачать бесплатно и без регистрации
Пособие по теме Історичні чергування звуків
Сочинение Описание Дары Осени
Организация Взаимодействия В Правоохранительных Органах Курсовая Работа
Реферат по теме Государственная Дума в России начала ХХ века
Реферат: Разработка кадровой стратегии в семи шагах. Скачать бесплатно и без регистрации
Отчет по практике по теме Характеристика газового предприятия Западно-Сибирского региона
Курсовая Работа На Тему Военно-Уголовный Кодекс Петра I
Реферат по теме История демократических преобразований в Турецкой Республике
Реферат: Последние дни Романовых
Реферат по теме Химические и биологические средства борьбы с вредителями и болезнями плодовых, ягодных и овощных культур
Курсовая работа: Спрос на торговом предприятии и методы анализа спроса
Реферат: Отчёт по преддипломной практике в ОС Наука-Сервис
Похожие работы на - Российско-португальские отношения

Report Page