Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лк10_укр_презентац2013.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
189.95 Кб
Скачать

Лекція 10

Сучасні технології об’єктно-орієнтованого аналізу та проектування систем захисту інформації

ПЛАН

10.1. Методологія об'єктно-орієнтованого програмування

10.2. Методологія об'єктно-орієнтованого аналізу і проектування

10.3. Основні етапи розвитку мови uml

Модель (model) – абстракція фізичної системи, що розглядається з певної точки зору і представлена на деякій мові або в графічній формі.

З точки зору загальних принципів системного аналізу одна і та ж фізична система може бути представлена декількома моделями. При цьому призначення окремої моделі системи визначається характером вирішуваної проблеми. Основна вимога до моделі програмної системи – вона має бути зрозуміла замовникові і всім фахівцям проектної групи, включаючи бізнес-аналітиків і програмістів. Саме для розробки такої нотації було потрібно зусилля групи фахівців провідних фірм виробників програмного і апаратного забезпечення, які привели до появи мови UML.

Розробка і використання моделей мови UML здійснюється в рамках загальної концепції об'єктно-орієнтованого аналізу і проектування, яка, у свою чергу, є узагальненням методології об'єктно-орієнтованого програмування.

10.1. Методологія об'єктно-орієнтованого програмування

Методологія об'єктно-орієнтованого програмування прийшла на зміну процедурної або алгоритмічної організації структури програмного коду, коли стало очевидним, що традиційні методи процедурного програмування не здатні впоратися ні із зростаючою складністю програм і їх розробки, ні з підвищенням їх надійності.

У другій половині 80-х років виникла наполеглива потреба в новій методології програмування, яка б дозволила вирішити весь цей комплекс проблем. Такою методологією стало об'єктно-орієнтоване програмування (ООП).

Об'єктно-орієнтоване програмування (ООП, Object-Oriented Programming) – сукупність принципів, технологій, а також інструментальних засобів для створення програмних систем на основі архітектури взаємодії об'єктів.

ОСНОВНІ ПРИНЦИПИ ООП: АБСТРАКЦІЯ, СПАДКОЄМСТВО, ІНКАПСУЛЯЦІЯ І ПОЛІМОРФІЗМ.

Абстракція (abstraction) – характеристика сутності, яке відрізняє її від інших сутностей. Абстракція визначає кордон представлення відповідного елементу моделі і застосовується для визначення фундаментальних понять ООП, таких як клас і об'єкт.

Клас є абстракцією сукупності реальних об'єктів, які мають загальний набір властивостей і володіють однаковою поведінкою.

Об'єкт в контексті ООП розглядається як екземпляр відповідного класу.

Об'єкти, які не мають ідентичних властивостей або не володіють однаковою поведінкою, за визначенням, не можуть бути віднесені до одного класу.

Класи можна організувати у вигляді ієрархічної структури, яка на вигляд нагадує схему класифікації в поняттях логіки.

Принцип, відповідно до якого знання про найбільш загальну категорію дозволяється застосовувати для більш приватної категорії, називається спадкоємством.

Спадкоємство тісно пов'язане з ієрархією класів, що визначає, які класи слід вважати найбільш абстрактними і загальними по відношенню до інших класів.

При цьому якщо загальний або батьківський клас (предок) володіє фіксованим набором властивостей і поведінкою, то похідний від нього клас (нащадок) повинен містити цей же набір властивостей і подібну поведінку, а також додаткові, які характеризуватимуть унікальність отриманого класу. В цьому випадку говорять, що похідний клас успадковує властивості і поведінку батьківського класу.

Для ілюстрації принципу спадкоємства можна навести наступний

Рис. 1.1.  Ієрархія вкладеності класів для прикладу загального класу "Комп'ютер"

Наступний принцип ООП – інкапсуляція. Інкапсуляція характеризує приховування окремих деталей внутрішнього устрою класів від зовнішніх по відношенню до його об'єктів або користувачів.

Інкапсуляція веде своє походження від ділення модулів в деяких мовах програмування на дві частини або секції: інтерфейс і реалізацію.

При цьому в інтерфейсній секції модуля описуються всі оголошення функцій і процедур, а можливо і типів даних, доступних за межами модуля. Вказані процедури і функції є способами надання послуг зовнішнім клієнтам. У іншій секції модуля, званою реалізацією, міститься програмний код, який визначає конкретні чини реалізації оголошених в інтерфейсній частині процедур і функцій.

Поліморфізм також один з основних принципів ООП. Під поліморфізмом (греч. Poly - багато, morfos - форма) розуміється властивість об'єктів приймати різні зовнішні форми залежно від обставин. Стосовно ООП поліморфізм означає, що дії, що виконуються однойменними методами, можуть розрізнятися залежно від того, до якого з класів відноситься той або інший метод.

Поліморфізм об'єктно-орієнтованих мов пов'язаний з перевантаженням функцій, але не ідентичні їй. Поважно мати на увазі, що імена методів і властивостей тісно пов'язані з класами, в яких вони описані. Ця обставина забезпечує певну надійність роботи програми, оскільки виключає випадкове вживання методу для вирішення невластивого йому завдання.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]