RUS UKR ENG ДонНТУ / Магiстри / 2010 / ФКНТ
Фрунт Андрій Олександрович
Факультет комп'ютенрних наук і технологійКафедра комп'ютерної інженерії
Спеціальність:
Комп'ютерні системи і мережі
Тема випускної роботи:
Дослідження методів створення об'єктно-реляційної моделі в рамках керованої моделями архітектури
Науковий керівник:
Дорожко Леонід Іванович
Реферат на тему випускної роботи
Вступ
На сьогодні розробка програмного забезпечення (ПЗ) є однією з найбільш важливих і прибуткових галузей бізнесу. З переходом усе більшої кількості аспектів людської діяльності під керування обчислювальної техніки, зростаюсть і ускладнюються як апаратні, так і програмні комплекси промислового і побутового значення. У той же самий час, на технологію розробки ПЗ завжди покладають великі надії. Вважається, що вона повинна вирішувати задачі високої складності, давати велику віддачу та якість, забезпечувати ефективність супроводу та розвитку. Нажаль, у сучасному вигляді, технологія розробки ПЗ не виправдовує сподівань, що на неї покладено. Вона відстає біль ніж на століття від машинобудування. Це схоже на побудову котеджів за поодинокими замовленнями.
Свобода рішень призводить до появи великої кількості абсурдних реалізацій задач, що вже були виконані найкращим чино, але іншими людьми. Частково, позбавитися від цієї проблеми дозволить перехід до автоматичного створення ПЗ, що вимагає декількох важливих кроків:
- необхідно перейти від розробки одиночних систем до розробки сімейств систем - це дозволить підготувати "правильні" компоненти реалізації задача, що виникають найбільш часто;
- необхідно автоматизувати збірку компонентів реалізації за допомогою генераторів вихідних кодів[1].
Таким чином, є можливість зосередитися на повторно-використовуваних компонентах та їх якісному рівні, адже це визнацає поріг якості кінцевого продукту. Додатковию перевагою подібного підходу є те, що абстрактний, не залежний від апаратної та мовної платформи, метод рішення може бути відображеним на будь-якій платформі термінами кінцевої предметної області.
Процес створення сучасного ПЗ можна умовно возділити на дві чачтини: опис характеристик і реалізацію повелінки[3].
Мета і задачі
Метою цієї магістерської роботи є дослідження і розробка підходу до моделювання характеристик сутностей реляційних зв'язків, що являють собою сутності у рамках БД, з метою наступного автоматичного відображення цих характеристик на різноманітні програмно-апаратні платформи зі збереженням вихідного сенсу характеристик кожної сутності.
Основою та основною предметною областю роботи є предметна область реляційних БД. Реалізація методу автоматизації моделювання характеристик об'єктів реляційних зв'язків та їх наступної апроксімації засобами конкретної платформи складається з наступних задач:
- складання теоретичного набору правил для визначення окремих характеристик об'єктів та умов їхньої взаємодії, сполучення, взаємного виключення, унікальності;
- посереднє відображення характристик об'єктів, їх множин і взаємодій у вигляді специфічної мови предметної області (Domain specific language, DSL);
- трансформація абстрактного уявлення в реалізації для конкретних програмно-апаратних платформ.
Окрім вирішення поставлених задач, необхідно дослідити способи оптимізації реалізацій кожної з поставлених задач з точки зору машинного часу, необхідного для виконання.
Актуальність і мотивація теми роботи
Реалізація моделі предметної області означає поповнення програми цілим шаром об'єктів, що описують різноманітні сторони конкретної прежметної області бізнесу. Одні об'єкти покликані імітувати елементи даних, котрими оперують у цій області, а інші повинні формалізувати бізнес-правила.
У сфері корпоративного ПЗ можна виділити два різновиди моделей предметної області. "Проста" нагадує схему бази даних (БД) і включає, як правило, по одному об'єкту домена у розрахунку на кожну таблицю. "Складна" модель може відрізнятися від структури БД, може включати ієрархії наслідування та інші типові рішення. Складна модель більш адекватно відображає заплутану бізнес-логіку, але важче піддається відображення в реляційну БД.
На практиці у великих проектах віддається перевага простій моделі, оскільки її використання дозволяє розділити логічні шари програми. В той же, її використання призводить до великої кількості рутинної праці по описанню сутностей і навіть невелика поправка у бядь-якій із них може призвести до необхідності цілої низки поправок у загальній архітектурі шару предметної області.[2].
Моделювання характеристик сутностей на абстрактному рівні, не прив'язуючись до конкретної БД та мови програмування, дозволяє автоматично створювати вихідні коди та інші ресурси шару предметної області на основі абстрактної моделі даних. На основі абстрактної предметної області може бути побудовано асбтрактний шар сервісів, що відповідає за маніпулювання даними, котрий також в автоматичному режимі може бути перетворено у вихідні коди реального ПЗ.
Очікувана наукова новизна
Формалізація підходу до створення абстрактної об'єктно-реляційної моделі предметної області і моделювання характеристик її сутностей дозволить по-новому подивитися на підходи до розробки корпоративного та іншого ПЗ, на створення інструментів розробки і методики розробки в цілому. Даний підхід (на основі методу моделюванняхарактеристик FODA і керованої моделлю архітектури MDA) і його програмна реалізація дозволить створювати абстрактну модель предметної області і перетворювати її в необхідну реальну.
Заплановані практичні результати
Кінцевою метою магістерської роботи є створення абстрактної об'єктно-реляційної моделі предметної області та перетворення її у вихдіні коди для існуючої мови програмування та ORM-бібліотеки з можливістю додаткового створення генераторів для довільної кількості інших платформ.
Метод моделювання характеристик FODA і характеристичні моделі
Характеристична модель вказує на спільні та відмінні характеристики екземплярів сутностей, а також позначає залежності між змінними характеристиками. Характеристичні моделі створюються у ході процесу моделювання характеристик.
Характеристична модель виражає сенс (intention) поняття; множина екземплярів, опис котрих у ній знаходиться, називається розповсюдженням (extension) поняття.
До складу характеристичної моделі входить діаграма характеристик, а також деякі додаткові відомості такі, як короткі семантичні описи і логічні обгрунтування кожної з характеристик, місця зв'язування, режими зв'язування, відкриті/закриті характеристики, пріоритети.
На основі діаграми характеристик поняття можна вивести характеристичні описи (featural description) окремих його екземплярів. Характеристичним описом екзепляру є набір характеристик (set of features). Якщо всі описи екземплярів, що можна вивести з першої діаграми, ідентичні всім описам екземплярів, що виводяться з іншої діаграми, то такі дві діаграми характеристик еквівалентні (equivalent) [4].
Керована моделлю архітектура MDA
Програмна чи фізична система являє собою набір сполучених разом елементів специфічної мети. Модель системи - це набір описів системи та її оточення, покликаних для втілення специфічних намірів, що можуть бути представлені текстово чи графічно. Модельно-орієнтований підхід фокусується на моделях для роботи з системами, включаючи розуміння бізнес-логіки, проектування, реалізацію, розгортання, а також супроводження та зміни [5].
Модель складається з трьох складових: обчислювально-незалежної (CIM, Computing Independent Model), платформо-незалежної (PIM, Platform Independent Model) и платформо-специфічної (PSM, Platform Specific Model) моделей. Така структура точно повторює модель людського мислення. Іншими словами, ми володіємо тією чи іншою предметною областю на рівні розуміння набору її понять. Сполучення цих понять являє собою, в певній мірі, цілісну систему взаємодїї сутностей. Врешті, мисленна система втілюється людиною в життя за допомогою того, чи іншого інструменту.
Ідея MDA в тому, щоб людині не доводилося описувати більше того, що вона знає про систему, щоб робота складалася з мисленного моделювання систем, з взаємодії і тільки передачі інформації про них комп'ютеру, котрий, в свою чергу, сприймає знання про ту чи іншу предметну область і реалізує наявними засобами ідеї людини.
Висновки
Технології розробки програмного забезпечення стоять на порозі нової революції, оскільки старі методи вирішення задач не виправдовують покладених надій, а нові ще не настільки зрілі, щоб замінити усталені догми. Технології програмної інженерії такі, як MDA і FODA можуть посприяти в переході розробки корпоративного програмного забезпечення на новий рівень з науковою, а не інженерною основою.
Використана література
- Чарнецки К., Айзенекер У. Порождающее программирование. Методы, инструменты, применение. Для профессионалов - СПб.: Питер, 2005. - 731 с.: ил. [описание] [ISBN 0201309777 - оригинал]
- Фаулер. М.Архитектура корпоративных программных приложений. : Пер. с англ. - М. : Издательский дом "Вильямс", 2008. - 544 с. : ил. - Парал. тит. англ. [в библиотеке Google] [ISBN 0321127420 - оригинал]
- Мейер Б. Объектно-ориентированное конструирование программных систем. Пер. с англ. - М. : Издательско-торговый дом "Русская редакция", 2005. - 1232 стр. : ил. [описание] [ISBN 0136291554 - оригинал]
- Kang K. C., Cohen S. G., Hess J. A., Novak W. E., Peterson A. S. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Software Engineering Institute Carnegie Mellon University, 1990. - 161 p.[source]
- Alhir S. S. Understanding the Model Driven Architecture (MDA). Methods & Tools, 2003 [source]
- Тарасов С. Разработка на основе моделей Издательство "Открытые системы", 2007[электронный источник]
- Lang M. A., Noggle B. J. Model Driven Information Architecture. THE DATA ADMINISTRATION NEWSLETTER, 2010 [source]