Факультет: | Комп'ютерних наук і технологій (ФКНТ) |
Кафедра: | Комп'ютерних систем моніторингу (КСМ) |
Спеціальність: | «Комп'ютерний еколого-економічний моніторинг» |
Тема кваліфікаційної роботи магістра: | «Система моніторингу для підвищення ефективності управління факультетом» |
Науковий керівник: | к.т.н., доцент кафедри ЕОМ Анопрієнко Олександр Якович |
У пропонованій роботі аналізуються процеси еволюції інформаційних систем. Під еволюцією будемо розуміти модифікацію інформаційної системи відповідно до нових технічних вимог [1]. Як приклад такої еволюції в роботі буде розглянуто розширення інформаційної системи Донецького національного технічного університету, яка передбачає додавання підсистеми моніторингу успішності. Слід зазначити, що процес еволюції будь-якої системи тісно пов'язаний із процесом рефакторінгу. Згідно [2] процес рефакторінгу являє собою зміну внутрішньої структури системи, що не зачіпає зовнішнього поведінки, з метою полегшення розуміння роботи системи, а, крім того, що більш важливо в даному контексті, з метою спрощення її подальшої модифікації. Оскільки інформаційні системи гетерогенни, так як включають реляційну і об'єктно-орієнтовану складову [3], слід аналізувати еволюцію кожного з її компонентів окремо. Зокрема, в літературі розрізняють рефакторинг об'єктно-орієнтованих систем [2, 4] і рефакторинг баз даних [5]. Слід зазначити, що в роботі більшу увагу буде приділятися рефакторінгу баз даних. Причиною для цього служить існуюча архітектура інформаційної системи ДонНТУ. У ній не видeлено рівень серверного програмного забезпечення, яке б ізолювало клієнтське програмне забезпечення від безпосереднього доступу до бази даних. Тому всі клієнтські модулі в міру необхідності взаємодіють з базою даних для отримання та розміщення даних. Такий підхід до побудови архітектури надав негативний вплив на структуру баз даних, що, зокрема, виявилося у відсутності якісної нормалізації даних, а також в їх надлишковості та дублюваннi [6].
Слід зазначити, що використання простої архітектури призвело до виникнення сильної зв'язності між клієнтськими модулями програмного забезпечення та структурою бази даних. Мова йде про те, що при розробці багатьох клієнтських модулів, що входять до складу інформаційної системи, використовувалися засоби швидкої розробки. Це призвело до того, що структура бази даних часто розширювалася і видозмінювалася відповідно до вимог конкретного клієнтського модуля, без урахування будь-якої загальної стратегії. Це, у свою чергу, веде до неможливості використання більшості способів рефакторінгу, запропонованих в [5]. Причина криється в тому, що через велику кількість клієнтських модулів, які безпосередньо різними способами взаємодіють з базами даних неможливо однозначно розділити внутрішню структуру і зовнішнє подання. А в такому разі, як випливає з розглянутого визначення, процес рефакторінгу не може бути виконаний. Тому виконуєтмоє дослідження буде спрямовано на виявлення тих механізмів, які б дозволили інтегрувати новий клієнтський модуль в існуючу систему таким чином, щоб чітко розділити кордон їх взаємодії. Тобто, метою даного дослідження є пошук підходів до розширення інформаційної системи, які б дозволили забезпечити найменшу зв'язність нового компонента з уже існуючими. Досягнення даної мети дозволить уникнути ускладнення ядра інформаційної системи, в даному випадку центральної бази даних, при додаванні до неї нової функціональності. Наприклад, одним з механізмів ізоляції можуть служити SQL- уявленz [7]. По суті, це віртуальні таблиці, які побудовані на основі реальних таблиць і / або на базі інших подань. Вони дозволяють, зокрема, забезпечувати рівень абстракції між даними, які необхідні програми і реальними даними, збереженими в базі [7]. Подання є важливим механізмом абстракції, який надається більшістю СУБД.
Використання уявлень дає декілька переваг, по-перше, в тому випадку, якщо внутрішня структура бази змінитися, інтерфейси, що надаються уявленнями можуть залишатися стабільним. По-друге, механізм уявлень підтримується СУБД, що дозволяє очікувати досить високої продуктивності при їх використанні. По-третє, якщо поступово переводити клієнтські модулі на використання уявлень, то в подальшому можна позбутися від безпосереднього зв'язку клієнтського програмного забезпечення з внутрішньою структурою бази даних. Іншим, значно більш складним варіантом є створення рівня серверного програмного забезпечення [3]. Цей рівень може забезпечити необхідний клієнтський програмний забезпечений інтерфейс доступу до даних. Крім того, цей рівень може забезпечити ряд корисних функцій, як наприклад контроль доступу до даних. Крім того, наявність серверного рівня дозволяє використовувати "тонких" клієнтів [3]. Тобто, використання шару серверного програмного забезпечення дозволяє надати клієнтам Web-інтерфейсу, що є важливим чинником для сучасних систем.
Передбачається надалі детально дослідити взаємодію двох описаних механізмів. Це, по-перше, дасть можливість створити методику, що визначає дії, які необхідно виконувати для інтеграції нових компонент в існуючу систему. По-друге, це дозволить визначити підходи до поступового перетворення системи так, щоб вона відповідала сучасним вимогам, які стосуються як внутрішньої структури, так і способів взаємодії з користувачами. Попередньо можна визначити, що процес інтеграції модуля в існуючу систему буде складатися з наступних кроків. По-перше, потрібно визначити які дані будуть використовуватися модулем, і виділити ці дані в існуючій базі даних. Далі, необхідно визначити які дані будуть додаватися до бази інтегрованим модулем. Для вже існуючих даних створюються подання, які дозволять отримати більш якісну структуру, для нових даних додаються нові таблиці. При цьому, слід документувати розширення бази. Крім того, якщо обсяг нових даних досить великий, то можна використовувати додаткову базу даних, щоб уникнути неконтрольованого зростання вже існуючої . Нові дані повинні залежати тільки від уявлень, але не від вихідних даних. Тобто, рівень уявлень повинен забезпечувати ізоляцію інтегрований підсистеми на рівні даних. Наступним кроком є розробка серверного програмного забезпечення. Для розглянутої системи моніторингу успішності це програмне забезпечення повинно обробляти запити користувачів, які надходять через наданий їм мережевий інтерфейс.
Рисунок 1 – Структура підсистеми, що забезпечує взаємодію за допомогою Web-інтерфейсу
(Анімація: обсяг - 123 КБ; розмір - 569x176, кількість кадрів - 6, затримка між кадрами - 50 мс, затримка між першим і останнім - 3000 мс, кількість циклів повторення - нескынчена.)
Зокрема, для системи моніторингу більшість запитів стосуватиметься аналізу вже наявних даних. Зокрема, це аналіз оцінок студента за певний період або аналіз результатів по деякому предмету. Отже, велику частину часу програмне забезпечення буде здійснювати запити на читання з бази даних, причому ці запити найчастіше будуть мати на увазі деяку попередню обробку даних. Це призводить до необхідності подальшого аналізу ще одного механізму, який отримав якісний розвиток у відомих СУБД, а саме, механізму збережених процедур. Цей механізм дозволяє виконувати на рівні СУБД попередню обробку і підготовку даних. Ключовими перевагами використання цього механізму є можливості, по-перше, уникнути передачі надлишкових даних, по-друге, обробляти дані швидше. У [3] згадується важливість використання збережених процедур, наприклад, розглядається модель інформаційної системи, де рівень збережених процедур виділено окремо, як і рівень серверного програмного забезпечення. Взагалі саме в підході до декомпозиції системи, запропонованому Нильсоном [3], найбільшу увагу було приділено джерелу даних, що в даному контексті, вимагає уважного вивчення цієї моделі. Крім того, Нільсон пропонував свою модель, спираючись на використання СУБД Microsoft SQL Server 2000, яка використовується в ДонНТУ [8, 9]. Отже, у кваліфікаційній роботі магістра передбачається виконати дослідження, яке стосується пошуку методики розширення існуючих інформаційних систем, з метою додати до них нової функціональності. Це дослідження буде включати аналіз механізмів, які надаються сучасними СУБД для вирішення завдань інтеграції, а також аналіз сучасних підходів до побудови серверного програмного забезпечення. Метою є створення методики, яка дозволить розширювати інформаційну систему таким чином, щоб, як мінімум, не погіршувати її поточну внутрішню структуру. Також методика повинна дозволити визначити пріоритетні напрямки розвитку системи. Апробація запропонованої методики буде виконана шляхом інтеграції підсистеми моніторингу успішності.
Апробація запропонованої методики буде виконана шляхом інтеграції підсистеми моніторингу успішності. Інтеграція буде виконуватися таким чином: на першому етапі буде розроблено незалежна база даних, що містить набір тестових даних. Ця база даних буде використовуватися в налагоджувальної версії системи. Однак, вона має і інше важливе призначення - вона дозволить формалізувати ті інтерфейси, які необхідні для підключення нової підсистеми до вже існуючої системи. Тобто, ця тестова база даних дозволить точно визначити вимоги з боку підсистеми до основної бази. Для проектування бази даних буде використовуватися широко відомий стандарт IDEF1X [6]. Другим етапом є створення програмного забезпечення. Як було зазначено раніше, це програмне забезпечення являє собою реалізацію Web-сервісу. Слід зазначити, що ряд проблем, наприклад, об'єктно-реляційне перетворення даних на кордоні бази даних та програмного забезпечення буде виконано за допомогою загальновідомих засобів платформи Java (зокрема, для вирішення даної проблеми буде використовуватися технологія Hibernate). Первісна налагодження проекту буде виконуватися незалежно від бази даних інформаційної системи ДонНТУ. По завершенні налагодження буде виконано заміщення тестової бази даних одним з механізмів доступу до основної бази, наприклад, уявленнями. Після цього буде виконано завершальне тестування інтегрований підсистеми. Описаний процес розробки нових компонент інформаційної системи є частиною виконуваного у кваліфікаційній роботі магістра дослідження.
1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений / Буч. Г, Максимчук Р., Энгл М., Янг Б., Коналлен Д., Хьюстон К. – М.: ООО "И.Д. Вильямс", 2008. – 720 с.
2. Фаулер М. Рефакторинг: улучшение существующего кода / Фаулер М. – СПб.: Символ-Плюс, 2007. – 432 с.
3. Фаулер М. Архитектура корпоративных программных приложений / Фаулер М. – М.: Издательский дом "Вильямс", 2006. – 544 с.
4. Кериевски Д. Рефакторинг с использованием шаблонов / Кериевски Д. – М.: ООО "И.Д. Вильямс", 2006 – 400 с.
5. Эмблер С. Рефакторинг баз данных: эволюционное проектирование / Эмблер С., Садаладж П. – М.: "И.Д. Вильямс", 2007. – 672 с.
6. Кренке Д. Теория и практика построения баз данных 9-е изд. / Кренке Д. – СПб: Питер, 2005 – 859 с.
7. Буч Г. Мова UML. Керівництво користувача 2-е вид. / Буч Г., Рамбо Д., Якобсон І. - М.: ДМК Пресс, 2007. - 496 с.
8. Вьєйра Р. SQL Server 2000. Програмування в 2 ч. Том 1. / Вьєйра Р. - М.: БИНОМ. Лабораторія знань, 2004. - 735 с.
9. Вьєйра Р. SQL Server 2000. Програмування в 2 ч. Том 2. / Вьєйра Р. - М.: БИНОМ. Лабораторія знань, 2004. - 735 с.
10. Василенко А.Ю. Разработка веб-сервиса мониторинга успеваемости студентов /Василенко А.Ю. Автореферат. http://masters.donntu.ru/2009/fvti/vasilenko/diss/index.htm
При написанні даного автореферату кваліфікаційна робота магістра ще не завершена. Дата остаточного завершення роботи: 1 грудня 2010 р. Повний текст роботи та матеріали за темою роботи можуть бути отримані у автора або його наукового керівника після зазначеної дати.