14.7. Об'єктно-орієнтоване проектування іс
Відмінною рисою сучасних ІС є їхня складність, що зростає. Це умовлено розвитком технічних засобів, які дозволяють реалізувати все більшу кількість інформаційних функцій у складі однієї ІС. Організація ІС на мережах ЕОМ, розподілені бази даних, інтерактивний графічний інтерфейс користувача, безпаперовий документообіг - ці і багато інших аспектів реалізації ІС значно ускладнять процес її проектування. Друга вада пов'язана з тим, що проект, зведений до стадії впровадження, уже починає старіти й вимагає модифікації. Це неминучий наслідок зміни інструментарію ІС і змін у самому об'єкті управління або оточуючому його середовищі. Отже, вн-икає задача адаптації програмного забезпечення і технологічних процесів обробки інформації в ІС. Модифікація складних програмних комплексів, реалізованих на основі процедурних мов програмування, являє собою важко розв'язувану проблему задачі адаптації ІС.
Відповіддю на проблему зростаючої складності в ІС стало виникнення об'єктно-орієнтованого підходу. У мережах об'єктного підходу виділяють:
об'єктно-орієнтоване програмування (ООР),
об'єктно-орієнтоване проектування (00П),
об'єктно-орієнтований аналіз (ООА).
Теоретичною основою цих методів і їх концептуальним базисом є теорія систем і системний аналіз. Об'єктна технологія принципово вирізняється від усіх існуючих раніше технологій проектування. Розглянемо основні поняття і положення об'єктно-орієнтованої технології проектування.
З деякою часткою спрощення можна вважати, що кінцевою метою проектування ІС є створення комплексу програм, які реалізують задані функції системи. Основною метою розробки програми є переклад задачі з мови проблемної сфери на мову комп'ютера.
Традиційний підхід до проектування полягає у послідовній побудові ряду моделей (інформаційна модель, описання структур файлів довідник документів, економіко-математична модель, схема алгоритму), останньою з яких є модель мовою реалізації (програма).
Особливістю цього підходу є те, що предметна сфера відображається у наперед визначені управляючі структури і структури даних.
Мова проблемної сфери - це набір понять, з допомогою яких може бути описана вихідна задача. У той самий час будь-яка мова комп'ютера подає вихідну задачу у вигляді сукупності даних і процедур їх перетворення.
Таким чином, ідеальна гіпотетична мова програмування повинна представляти алгоритм розв'язання задачі на основі понятійного апарату заданої проблемної сфери. Вихід бачиться у використанні універсальної метамови для всіх предметних областей - мови теорії систем і системного аналізу. Основні поняття цієї мови: об'єкт, клас об'єктів, атрибут (властивість), процес, функція, метод, структура тощо. На цьому й базується ключова ідея ООР - створення мовних засобів, які на основі абстрактних типів даних дозволяють специфікувати нові класи програмних об'єктів, адекватних об'єктам конкретної проблемної сфери.
Об'єктні програми складаються з готових компонентів-об'єктів. ЦІ об'єкти можуть відповідати:
- об'єктам або процесам реального світу (деталь, документ, клієнт);
- абстрактним поняттям (екран, таблиця, графічний елемент тощо).
У традиційних програмах дані відділені від процедур і методів, в об'єктних — дані та процедури об'єднуються в об'єкті.
Приклад 1. Об'єкт — «клієнт». Усе, що відомо користувачеві про клієнта, включається у цей об'єкт. Дії з клієнтом реалізуються як методи (функції) для даного об'єкта, що також входять в опис об'єкта.
Таким чином, основа ООП — формування з простих об'єктів, які складаються з даних і набору функцій, більш складних, здатних моделювати об'єкти проблемної сфери.
Проведений огляд дозволяє зробити цікавий висновок: об'єктно-орієнтована технологія стирає межу між «чистим» проектувальником (системним аналітиком) і «чистим» програмістом. З'являється новий тип розробника — проектувальник-програміст, здатний самостійно поставити, спроектувати задачу і реалізувати її у вигляді об'сктно-орієнтованої програми.
Приклад 2. Розглянемо описання об'єктів мовою Турбо Паскаль (YG>0). Об'єкт-структура даних, що містить поля даних різних типів (у тому числі й абстрактні) і заголовки методів.
Ім'я Об'єкта=оbyect(Ім'я Класу)
поле; ...; поле;
метод;...; метод;
еnd;
Метод — це процедура або функція, оголошена всередині оголошення елемента типу об'єкт
ргосеduге Ім'я Об'єкта . Метод
(параметр, ..., параметр n) '
bеgіn
еnd;
Оголошення методу всередині оголошення об'єкта:
ргосеduге Метод(параметр, .„, параметрn).
Історично склалося так, що першочергово були розроблені мови ООР у відсутність теорії об'єктно-орієнтованого проектування. І тільки після усвідомлення спеціалістами в області інформатики, що ООП є основою для чергового перевороту в інформаційних технологіях, почалась активна розробка теорії об'єктно-орієнтованого аналізу та проектування.
Вперше поняття класів і об'єктів введені у мові Simula67. У системіSmalltalk-80 ідеїSіmulа доведені до логічного завершення-усі дії виконуються на основі класів. У 70-х роках створені мови, що реалізують дії абстрактних даних:Alpharad, СLV, Еuclid, Моdulа. Занесення об'єктно-орієнтованого підходу у С привело до створення мов С ++ іObjectiioeС. На основі мови РаscalвиниклиObject Pascal, ЕiffeliАdа. З'явились такі діалекти LIPS, якLООРSі СLOS, з можливостями мовSimulaіSmalltalk.
Принципова відмінність методів програмування і методів проектування полягає в тому, що методи програмування орієнтовані на ефективне використання механізмів мови програмування а методи проектування спрямовані на ефективне і правильне структурування складних систем.
Об'єктно-орієнтоване проектування — це методологія проектування, яка поєднує в собі процес об'єктної декомпозиції та прийоми подання як логічної і фізичної, так і динамічної моделей системи, що проектується.
Моделі, на яких базується об'єктно-орієнтоване проектування, формуються в результаті об'єктно-орієнтованого аналізу.
Об'єктно-орієнтований аналіз — це методологія, спрямована на створення моделей з використанням об'єктно-орієнтованого підходу на основі понять класів і об'єктів, що складають словник проблемної сфери.
Першим і головним прийомом розв'язання складних задач в ООПє абстрагування. Абстрагування концентрує увагу на зовнішніх особливостях об'єкта і дозволяє відокремити істотні особливості поведінки від деталей їх здійснення.
Визначення. Абстракція — це такі істотні характеристики деякого об'єкта, які відрізняють його від усіх інших видів об'єктів і таким чином, чітко відокремлюють особливості даного об'єкта з позиції подальшого розгляду й аналізу. Наприклад:
Абстракція сутності Об'єкт являє собою модель
об'єкта істотних сторін проблемної сфери
Абстракція поведінки Об'єкт складається з узагальненої
множини операцій, кожна з яких
виконує певну функцію
Абстракції сутності об'єктів відповідають словнику проблемної сфери. Описання поведінки об'єкта пов'язане з поняттями операції і протоколу. Об'єкт може здійснювати дії над іншим об'єктом. Протокол відображує усі дії, якими об'єкт може підлягати сам і якими може чинити вплив на інші об'єкти.
Структура локальної пам'яті об'єкта і реалізація методів може бути (має бути) прихована від зовнішнього спостерігача, тобто будь-якого іншого об'єкта. Ця властивість класів об'єктів має назви “приховані дані”, «обмеження доступу», «інкапсуляція властивостей».
Приклад. Плановий відділ розробляє план випуску виробів для цеху. Такни план є частиною словника проблемної сфери, тому він може бути реалізований у вигляді абстракції. З точки зору інтерфейси об'єкта плана необхідно забезпечити можливість завдання окремих показників плану і його виконання. Тому можна ввести об'єкт, який забезпечує інтерфейс «людина - комп'ютер» і ручну зміну плана. Крім того, може бути введений об'єкт - виконавець плана, який має змогу читати дані про план. Введені об'єкти взаємодіють для забезпечення загальної мети. Виходячи з цього визначаються і межа кожного об'єкта абстракції, і протоколи їх зв'язку.
Модель проблемної сфери, як правило, настільки важлива, що вимагає такої класифікації об'єктів, яка б відображувала спільність і відмінність їх властивостей. Виявлені родоводові зв'язки між класами об'єктів фіксуються з допомогою оголошення відношення типу клас - підклас. Такі проектні процедури породжують ієрархічні структури з абстракції.
Основними видами ієрархічних структур є:
- структура класів (ієрархія за номенклатурою);
- структура об'єктів (ієрархія за складом).
Підклас звичайно називають породженням, або похідним класом.
Клас, що стоїть вище за ієрархію, називають базовим класом об'єктів.
Породжений клас наслідує всі властивості базового класу - структуру приватної пам'яті і методи. Таке відношення між породженим і базовим класами називають простим наслідуванням.
Крім наслідування, похідний клас може одержувати свої додаткові властивості.
Приклад. Є абстракція «План - випуску - продукції». Для кожного цеху він мас бути спеціалізованим залежно від типу продукції (наприклад, одиниці виміру).
Процес об'єктно-орієнтованого проектування є зворотним процесом. При «зворотному проектуванні» основна увага приділяється процесу поступального й ітеративного розвитку різних моделей системи. В ООП використовується чотири види моделей (логічна, фізична, статична, динамічна) системи, що проектується. Кожна з моделей подається однією або кількома діаграмами.
Логічне подання системи відображується в: діаграмі класу, діаграмі об'єктів.
Компоненти системи: діаграма модулів, діаграма процесів.
Згадані діаграми реалізують статичне описання систем. Для описання динамічних компонентів системи використовується два види діаграм: діаграми перехідних станів і тимчасові діаграми.
Процес об'єктно-орієнтованого проектування можна подати у вигляді такої послідовності проектних процедур.
1. Ідентифікація класів і об'єктів даного рівня абстракції.
2. Ідентифікація семантики класів і об'єктів,
3. Ідентифікація зв'язків між класами та об'єктами.
4. Використання класів і об'єктів.
Процедура 1. Проводиться аналіз проблемної сфери (вводяться класи і об'єкти), розробляються основні механізми, що забезпечують необхідну поведінку об'єктів. Для виконання проектних дій проектувальник має засвоїти термінологію й основні теоретичні положення проблемної сфери.
Процедура 2. Проводиться опис шаблонів, відповідних класів і об'єктів. Будуються діаграми класів або об'єктів. (рис. 14. 1).
Шаблон об'єкта:
Об'єкт Зміст
Ім'я - ідентифікатор
Документація - текст
Клас - ім'я класу
Сталість - сталий (статичний) динамічний
Ім'я - ідентифікатор
Документація - текст
Видимість - експорт./ відокр./ імпорт.
Множинність - 0 / 1 / n
Ієрархія:
Суперклас - список імен класів
Метаклас - ім'я класу
Узагальнені параметри - список параметрів
Інтерфейс/Реалізація - загальнодоступна/захищена
Використання: - список імен класів
Поля: - список імен полів
Операції: - список операцій класів
Кінцевий автомат - діаграма переходу станів
Паралельність - послідовність виконання (відстрочене) активне
Обсяг пам`яті - текст
Сталість - статична (динамічна)
- Основи створення інформаційних систем
- Передмова
- Розділ 1. Основні поняття
- 1.1. Значення та напрямки розвитку інформаційних систем
- 1.2. Основні поняття дисципліни
- 1.3. Класифікація інформаційних систем
- Контрольні запитання
- Розділ 2. Системотехнічні аспекти теорії створення інформаційних систем
- 2.1. Організаційно-економічна модель економічного об’єкта
- 2.2. Мета, задачі та принципи створення інформаційних систем
- Гарантія
- Рис 2.3 Створення іс
- 2.3. Системний підхід до створення інформаційної системи
- 2.4. Декомпозиція інформаційних систем
- 2.5. Надійність та ефективність інформаційних систем
- Розділ 3. Процес створення інформаційної системи
- 3.1. Життєвий цикл інформаційної системи
- 3.2. Трудомісткість стадій створення інформаційної системи
- 3.3. Структура проектної документації
- 3.4. Учасники процесу створення інформаційної системи
- 3.5. Методи та засоби створення інформаційної системи
- 3.6. Технологія створення інформаційної системи
- Контрольні запитання
- Розділ 4. Технологія підготовки загальних рішень щодо створення інформаційної системи
- 4.1. Склад і зміст робіт на стадії «Формування вимог до інформаційної системи»
- 4.2. Склад і зміст робіт на стадії «Розробка концепції інформаційної системи»
- 4.3. Склад і зміст робіт на стадії «Технічне завдання»
- 4.4. Передпроектна документація
- 4.5. Методи і засоби організації збирання та обробки матеріалів обстеження об’єкта
- 4.6. Методи і засоби аналізу матеріалів обстеження
- 4.7. Розробка пропозицій щодо вдосконалення інформаційної системи
- Методика проведення обстеження інформаційної системи
- Контрольні запитання
- Розділ 5. Технологія техноробочого проектування інформаційних систем
- 5.1. Склад і зміст робіт на стадії «Технічний проект»
- 5.2. Склад і зміст робіт на стадії «Робоча документація»
- 5.3. Склад проектної документації на стадіях «Технічний проект» і «Робоча документація»
- Загальносистемні рішення
- 5.5. Розподіл функцій обробки інформації між людиною і еом
- 5.6. Розробка постановки задач
- 5.7. Основні поняття автоматизованого робочого місця
- Контрольні запитання
- Розділ 6. Основні принципи проектування інформаційного забезпечення
- 6.1. Поняття інформаційного забезпечення інформаційних систем
- 6.2. Організація інформаційної бази
- 6.3. Види інформаційних масивів
- 6.4. Методика проектування інформаційного забезпечення
- Контрольні запитання
- Розділ 7. Розробка класифікаторів техніко-економічної інформації
- 7.1. Основні поняття класифікації інформації
- 7.2. Кодування інформації
- 7.3. Класифікатори техніко-економічної інформації
- 7.4. Методика створення класифікаторів
- Контрольні запитання
- Розділ 8. Проектування вихідних і вхідних інформаційних повідомлень
- 8.1. Поняття системи документації
- 8.2. Класифікація форм і методів виведення інформації
- 8.3. Методика проектування форм вихідної інформації
- 8.4. Загальні вимоги до проектування форм первинних документів
- 8.5. Форми побудови зон первинних документів
- 8.6. Сполучення первинних і машинних документів
- 8.7. Методика проектування вхідних інформаційних повідомлень
- Контрольні запитання
- Розділ 9. Проектування зв’язку користувач – пеом
- 9.1. Складові зв’язку користувач – пеом
- Приклад двох діалогів
- 9.2. Процеси введення – виведення
- 9. 3. Діалог
- 9.4. Розміщення даних на екрані дисплея
- 9.5. Підтримка користувача
- Контрольні запитання
- Розділ 10. Впровадження, супроводження та модернiзацiя iс
- 10.1. Організація і планування робіт з уведення в дiю системи
- 10.2. Дослідна експлуатація і введення в дію інформаційних систем
- 10.3. Супроводження і модернізація інформаційних систем
- Контрольні запитання
- Розділ 11. Управління процесами проектування інформаційної системи
- 11.1. Рівні управління проектування інформаційної системи
- 11.2. Контур управління
- 11.3. Структура арм – організатора проектування іс
- 11.4. Розробка текстових і табличних документів
- Відображення логічної моделі документа на його геометричну модель називається алгоритмом формування текстових документів.
- Контрольні запитання
- Розділ 12. Типове проектування інформаційних систем
- 12.1. Загальна характеристика елементного підходу до створення інформаційної системи
- 12.2. Методи елементного проектування інформаційних систем
- 12.3. Суть компонентної технології створення інформаційних систем
- 12.4. Способи прив’язки пакета прикладних програм
- 12.5. Особливості методу об’єктного проектування
- 12.6. Характеристика асу «Сігма»
- Контрольні запитання
- Розділ 13. Автоматизація проектування інформаційних систем
- 13.1. Задачі й принципи автоматизації проектування інформаційних систем
- Особливості сапр іс
- 13.2. Характеристика сапр «марс»
- 13.3. Характеристика сапр «плюс»
- Контрольні запитання
- 14.1. Технологія проектування іс на основі баз даних
- 14.2. Технологія проектування іс на основі використання електронних таблиць
- 14.3. Технологія проектування ssаом
- 14.6 Технологія проектування іс на мережах еом
- 14.7. Об'єктно-орієнтоване проектування іс
- Документи План Оперативний облік Звіти
- Аналіз за рік Оперативний аналіз
- 14.7. Системи управління документацією в іс
- Контрольні запитання
- Навчальне видання
- Основи створення інформаційних систем
- 252057, М.Київ, проспект Перемоги, 54/1.