Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Об'єктно-орієнтоване проектування ІССодержание книги
Поиск на нашем сайте
Відмінною рисою сучасних ІС є їхня складність, що зростає. Це умовлено розвитком технічних засобів, які дозволяють реалізувати все більшу кількість інформаційних функцій у складі однієї ІС. Організація ІС на мережах ЕОМ, розподілені бази даних, інтерактивний графічний інтерфейс користувача, безпаперовий документообіг - ці і багато інших аспектів реалізації ІС значно ускладнять процес її проектування. Друга вада пов'язана з тим, що проект, зведений до стадії впровадження, уже починає старіти й вимагає модифікації. Це неминучий наслідок зміни інструментарію ІС і змін у самому об'єкті управління або оточуючому його середовищі. Отже, вн-икає задача адаптації програмного забезпечення і технологічних процесів обробки інформації в ІС. Модифікація складних програмних комплексів, реалізованих на основі процедурних мов програмування, являє собою важко розв'язувану проблему задачі адаптації ІС. Відповіддю на проблему зростаючої складності в ІС стало виникнення об'єктно-орієнтованого підходу. У мережах об'єктного підходу виділяють: об'єктно-орієнтоване програмування (ООР), об'єктно-орієнтоване проектування (00П), об'єктно-орієнтований аналіз (ООА). Теоретичною основою цих методів і їх концептуальним базисом є теорія систем і системний аналіз. Об'єктна технологія принципово вирізняється від усіх існуючих раніше технологій проектування. Розглянемо основні поняття і положення об'єктно-орієнтованої технології проектування. З деякою часткою спрощення можна вважати, що кінцевою метою проектування ІС є створення комплексу програм, які реалізують задані функції системи. Основною метою розробки програми є переклад задачі з мови проблемної сфери на мову комп'ютера. Традиційний підхід до проектування полягає у послідовній побудові ряду моделей (інформаційна модель, описання структур файлів довідник документів, економіко-математична модель, схема алгоритму), останньою з яких є модель мовою реалізації (програма). Особливістю цього підходу є те, що предметна сфера відображається у наперед визначені управляючі структури і структури даних. Мова проблемної сфери - це набір понять, з допомогою яких може бути описана вихідна задача. У той самий час будь-яка мова комп'ютера подає вихідну задачу у вигляді сукупності даних і процедур їх перетворення. Таким чином, ідеальна гіпотетична мова програмування повинна представляти алгоритм розв'язання задачі на основі понятійного апарату заданої проблемної сфери. Вихід бачиться у використанні універсальної метамови для всіх предметних областей - мови теорії систем і системного аналізу. Основні поняття цієї мови: об'єкт, клас об'єктів, атрибут (властивість), процес, функція, метод, структура тощо. На цьому й базується ключова ідея ООР - створення мовних засобів, які на основі абстрактних типів даних дозволяють специфікувати нові класи програмних об'єктів, адекватних об'єктам конкретної проблемної сфери. Об'єктні програми складаються з готових компонентів-об'єктів. ЦІ об'єкти можуть відповідати: - об'єктам або процесам реального світу (деталь, документ, клієнт); - абстрактним поняттям (екран, таблиця, графічний елемент тощо). У традиційних програмах дані відділені від процедур і методів, в об'єктних — дані та процедури об'єднуються в об'єкті. Приклад 1. Об'єкт — «клієнт». Усе, що відомо користувачеві про клієнта, включається у цей об'єкт. Дії з клієнтом реалізуються як методи (функції) для даного об'єкта, що також входять в опис об'єкта. Таким чином, основа ООП — формування з простих об'єктів, які складаються з даних і набору функцій, більш складних, здатних моделювати об'єкти проблемної сфери. Проведений огляд дозволяє зробити цікавий висновок: об'єктно-орієнтована технологія стирає межу між «чистим» проектувальником (системним аналітиком) і «чистим» програмістом. З'являється новий тип розробника — проектувальник-програміст, здатний самостійно поставити, спроектувати задачу і реалізувати її у вигляді об'сктно-орієнтованої програми. Приклад 2. Розглянемо описання об'єктів мовою Турбо Паскаль (YG>0). Об'єкт-структура даних, що містить поля даних різних типів (у тому числі й абстрактні) і заголовки методів. Ім'я Об'єкта=оbyect (Ім'я Класу) поле;...; поле; метод;...; метод; еnd; Метод — це процедура або функція, оголошена всередині оголошення елемента типу об'єкт ргосеduге Ім'я Об'єкта. Метод (параметр,..., параметр n) ' bеgіn еnd; Оголошення методу всередині оголошення об'єкта: ргосеduге Метод (параметр,.„, параметр n). Історично склалося так, що першочергово були розроблені мови ООР у відсутність теорії об'єктно-орієнтованого проектування. І тільки після усвідомлення спеціалістами в області інформатики, що ООП є основою для чергового перевороту в інформаційних технологіях, почалась активна розробка теорії об'єктно-орієнтованого аналізу та проектування. Вперше поняття класів і об'єктів введені у мові Simula 67. У системі Smalltalk-80 ідеї Sіmulа доведені до логічного завершення - усі дії виконуються на основі класів. У 70-х роках створені мови, що реалізують дії абстрактних даних: Alpharad, СLV, Еuclid, Моdulа. Занесення об'єктно-орієнтованого підходу у С привело до створення мов С ++ і Objectiioe С. На основі мови Раscal виникли Object Pascal, Еiffel i Аdа. З'явились такі діалекти LIPS, як LООРS і СLOS, з можливостями мов Simula і Smalltalk. Принципова відмінність методів програмування і методів проектування полягає в тому, що методи програмування орієнтовані на ефективне використання механізмів мови програмування а методи проектування спрямовані на ефективне і правильне структурування складних систем. Об'єктно-орієнтоване проектування — це методологія проектування, яка поєднує в собі процес об'єктної декомпозиції та прийоми подання як логічної і фізичної, так і динамічної моделей системи, що проектується. Моделі, на яких базується об'єктно-орієнтоване проектування, формуються в результаті об'єктно-орієнтованого аналізу. Об'єктно-орієнтований аналіз — це методологія, спрямована на створення моделей з використанням об'єктно-орієнтованого підходу на основі понять класів і об'єктів, що складають словник проблемної сфери. Першим і головним прийомом розв'язання складних задач в ООП є абстрагування. Абстрагування концентрує увагу на зовнішніх особливостях об'єкта і дозволяє відокремити істотні особливості поведінки від деталей їх здійснення. Визначення. Абстракція — це такі істотні характеристики деякого об'єкта, які відрізняють його від усіх інших видів об'єктів і таким чином, чітко відокремлюють особливості даного об'єкта з позиції подальшого розгляду й аналізу. Наприклад: Абстракція сутності Об'єкт являє собою модель об'єкта істотних сторін проблемної сфери Абстракція поведінки Об'єкт складається з узагальненої множини операцій, кожна з яких виконує певну функцію Абстракції сутності об'єктів відповідають словнику проблемної сфери. Описання поведінки об'єкта пов'язане з поняттями операції і протоколу. Об'єкт може здійснювати дії над іншим об'єктом. Протокол відображує усі дії, якими об'єкт може підлягати сам і якими може чинити вплив на інші об'єкти. Структура локальної пам'яті об'єкта і реалізація методів може бути (має бути) прихована від зовнішнього спостерігача, тобто будь-якого іншого об'єкта. Ця властивість класів об'єктів має назви “приховані дані”, «обмеження доступу», «інкапсуляція властивостей». Приклад. Плановий відділ розробляє план випуску виробів для цеху. Такни план є частиною словника проблемної сфери, тому він може бути реалізований у вигляді абстракції. З точки зору інтерфейси об'єкта плана необхідно забезпечити можливість завдання окремих показників плану і його виконання. Тому можна ввести об'єкт, який забезпечує інтерфейс «людина - комп'ютер» і ручну зміну плана. Крім того, може бути введений об'єкт - виконавець плана, який має змогу читати дані про план. Введені об'єкти взаємодіють для забезпечення загальної мети. Виходячи з цього визначаються і межа кожного об'єкта абстракції, і протоколи їх зв'язку. Модель проблемної сфери, як правило, настільки важлива, що вимагає такої класифікації об'єктів, яка б відображувала спільність і відмінність їх властивостей. Виявлені родоводові зв'язки між класами об'єктів фіксуються з допомогою оголошення відношення типу клас - підклас. Такі проектні процедури породжують ієрархічні структури з абстракції. Основними видами ієрархічних структур є: - структура класів (ієрархія за номенклатурою); - структура об'єктів (ієрархія за складом). Підклас звичайно називають породженням, або похідним класом. Клас, що стоїть вище за ієрархію, називають базовим класом об'єктів. Породжений клас наслідує всі властивості базового класу - структуру приватної пам'яті і методи. Таке відношення між породженим і базовим класами називають простим наслідуванням. Крім наслідування, похідний клас може одержувати свої додаткові властивості. Приклад. Є абстракція «План - випуску - продукції». Для кожного цеху він мас бути спеціалізованим залежно від типу продукції (наприклад, одиниці виміру). Процес об'єктно-орієнтованого проектування є зворотним процесом. При «зворотному проектуванні» основна увага приділяється процесу поступального й ітеративного розвитку різних моделей системи. В ООП використовується чотири види моделей (логічна, фізична, статична, динамічна) системи, що проектується. Кожна з моделей подається однією або кількома діаграмами. Логічне подання системи відображується в: діаграмі класу, діаграмі об'єктів. Компоненти системи: діаграма модулів, діаграма процесів. Згадані діаграми реалізують статичне описання систем. Для описання динамічних компонентів системи використовується два види діаграм: діаграми перехідних станів і тимчасові діаграми. Процес об'єктно-орієнтованого проектування можна подати у вигляді такої послідовності проектних процедур. 1. Ідентифікація класів і об'єктів даного рівня абстракції. 2. Ідентифікація семантики класів і об'єктів, 3. Ідентифікація зв'язків між класами та об'єктами. 4. Використання класів і об'єктів. Процедура 1. Проводиться аналіз проблемної сфери (вводяться класи і об'єкти), розробляються основні механізми, що забезпечують необхідну поведінку об'єктів. Для виконання проектних дій проектувальник має засвоїти термінологію й основні теоретичні положення проблемної сфери. Процедура 2. Проводиться опис шаблонів, відповідних класів і об'єктів. Будуються діаграми класів або об'єктів. (рис. 14. 1). Шаблон об'єкта: Об'єкт Зміст Ім'я - ідентифікатор Документація - текст Клас - ім'я класу Сталість - сталий (статичний) динамічний Ім'я - ідентифікатор Документація - текст Видимість - експорт./ відокр./ імпорт. Множинність - 0 / 1 / n Ієрархія: Суперклас - список імен класів Метаклас - ім'я класу Узагальнені параметри - список параметрів Інтерфейс/Реалізація - загальнодоступна/захищена Використання: - список імен класів Поля: - список імен полів Операції: - список операцій класів Кінцевий автомат - діаграма переходу станів Паралельність - послідовність виконання (відстрочене) активне Обсяг пам`яті - текст Сталість - статична (динамічна)
Документи
План Оперативний облік Звіти
План року Оперативний план
|
||||
Последнее изменение этой страницы: 2016-06-26; просмотров: 464; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.174.32 (0.007 с.) |