SoftwareEngeneering_19_12.ppt
- Количество слайдов: 25
Об’єктно - орієнтована парадигма програмування Model first
Про програмну інженерію
ОСНОВНІ ПРИНЦИПИ СТРУКТУРНОЇ МЕТОДОЛОГІЇ • • • абстракція формальність "розділяй і пануй" ієрархічне впорядкування модульне програмування
СТАНДАРТИ СТРУКТУРНОГО ПРОГРАМУВАННЯ • 1. Програма повинна розділятися на незалежні частини - модулі. • 2. Модуль - це незалежний блок, код якого фізично й логічно відділений від коду інших модулів. • 3. Розмір модуля не повинен перевищувати 100 операторів. • 4. Модуль має один вхід й один вихід. • 5. Взаємозв'язки між модулями встановлюються за ієрархічною структурою.
1 GL 3 GL 2 GL OOP
Модулі => процеси обробки даних
Модулі => процеси обробки даних
Алгоритмічна декомпозиція ОО декомпозиція
Об’єктно орієнтована концепція • Все у світі є об’єктами • Кожна система складається з об’єктів (сама вона також об’єкт) • Діяльність і зміни системи у часі є наслідком взаємодій об’єктів самої системи між собою і з об’єктами назовні системи
Об’єкти мають: • ідентифікуватися (мати ім’я) • створюватися і руйнуватися • взаємодіяти з іншими можуть: • об’єднуватися з іншими (створюються складні об’єкти) • встановлювати зв’язки для взаємодії з іншими об’єктами • бути активними й автономними
Ідеалізація визначення об’єкту • • Object : : = <N, s, M, X >, де N – ім’я об’єкту; s – стан об’єкту, що характеризується значенням атрибутів; M – набір методів ( операцій, функцій сервісів) ікі об’єкт може виконувати (надавати); X – інтерфейс, що є підмножиною специфікацій методів о’єкту.
Класифікація об’єктів
Ідеалізація визначення класу • • C : : = <N, D, M, X>, де N – ім. ’я (ідентифікатор) класу; D – визначення структури атрибутів; M – множина визначень методів; X – уніфікований інтерфейс всіх об’єктів класу. .
Утворення екземплярів класу (об'єктів) O: : = < N, C, S >, де • N – ім’я об’єкту; • C – визначення класу об’єкту ім’ям класу; • S – дійсні значення атрибутів (властивостей), що визначають стан.
Метаклас
Чотири головних елементи об’єктно-орієнтованого стилю (об'єктної моделі): • • абстрагування; інкапсуляція; модульність; ієрархія.
Абстракція виділяє істотні характеристики деякого об'єкта, що відрізняють його від всіх інших видів об'єктів й, таким чином, чітко визначає його концептуальні границі з погляду спостерігача.
Абстракція фокусується на істотних з погляду спостерігача характеристиках об'єкта.
Інкапсуляція - це процес відділення друг від друга елементів об'єкта, що визначають його устрій і поведінку; інкапсуляція слугує для того, щоб ізолювати контрактні зобов'язання абстракції від їхньої реалізації. • "Ніяка частина складної системи не повинна залежати від внутрішнього устрою якоїнебудь іншої частини". • Абстракція "допомагає людям думати про те, що вони роблять", інкапсуляція "дозволяє легко перебудовувати програми"
Інкапсуляція приховує деталі реалізації об'єкта.
Модульність - це властивість системи, що була розкладена на внутрішньо цільні, але слабко зв'язані між собою модулі.
Ієрархія - впорядкування абстракцій, розташування їх по рівнях. Основними видами ієрархічних структур стосовно до складних систем є: ь структура класів (ієрархія "is-a"); ь структура об'єктів (ієрархія "part of").
Абстракції утворюють ієрархії
Основний вид ієрархії "is-a" – спадкування – відношення між класами (відношення батько/нащадок), коли один клас запозичає структурну або функціональну частину одного (одиночне спадкування) або декількох інших класів (множинне спадкування). Спадкування створює таку ієрархію абстракцій, у якій підкласи успадковують будову від одного або декількох суперкласів. Підклас може добудовувати або переписувати компоненти вищестоящого класу.
Об’єктно - орієнтована методологія програмування заснована на поданні програми у вигляді сукупності об'єктів, кожний з яких є екземпляром певного класу, а класи утворять ієрархію спадкування.
SoftwareEngeneering_19_12.ppt