омпозиції. Це визначає модифікацію їх змісту та механізмів взаємодії один з одним.
Апарат абстракції - зручний інструмент для боротьби зі складністю реальних систем. Створюючи поняття в інтересах якої завдання, ми відволікаємося (абстрагуємося) від несуттєвих характеристик конкретних об'єктів, визначаючи лише суттєві характеристики. Абстрагування зводиться до формування абстракцій. Кожна абстракція фіксує основні характеристики об'єкта, які відрізняють його від інших видів об'єктів і забезпечують ясні понятійні кордону. Абстракція концентрує увагу на зовнішньому поданні об'єкта, дозволяє відокремити основне в поведінці об'єкта від його реалізації. Абстракцію зручно будувати шляхом виділення обов'язків об'єкта. p> Інкапсуляція і абстракція - взаємодоповнюючі поняття: абстракція виділяє зовнішнє поведінка об'єкта, а інкапсуляція містить і приховує реалізацію, яка забезпечує це поведінку. Інкапсуляція досягається за допомогою інформаційної закритості. Зазвичай ховаються структура об'єктів і реалізація їх методів. Інкапсуляція є процесом поділу елементів абстракції на секції з різною видимістю. Інкапсуляція служить для відділення інтерфейсу абстракції від її реалізації. p> У мовах С + +, Object Pascal, Ada 95 абстракція класів і об'єктів формують логічну структуру системи. При виробництві фізичної структури ці абстракції поміщаються в модулі. У великих системах, де класів сотні, модулі допомагають керувати складністю. Модулі служать фізичними контейнерами, в яких оголошуються класи та об'єкти логічної розробки.
Модульність визначає здатність системи піддаватися декомпозиції на ряд сильно пов'язаних і слабо зчеплених модулів. Загальна мета декомпозиції на модулі: зменшення термінів розробки і вартості програмного засобу за рахунок виділення модулів, що проектуються і змінюються незалежно. Кожна модульна структура повинна бути достатньо простий, щоб бути повністю зрозумілою. Зміна реалізації модулів повинно проводитися без знання реалізації інших модулів і без впливу на їх поведінку. p> Визначення класів і об'єктів виконується в ході логічної розробки, а визначення модулів - в ході фізичної розробки системи. Ці дії сильно взаємопов'язані, здійснюються итеративно. Припустимо, в Ada 95 потужним засобом забезпечення модульності є пакет.
Прекрасним доповненням до попередніх принципам є ієрархічна організація - формування з абстракцій ієрархічної структури. Ухвалою ієрархії в проекті спрощуються розуміння проблем замовника та їх реалізація - складна система стає осяжній людиною. Ієрархічна організація задає розміщення абстракція на різних рівнях опису системи. p> Двома важливими інструментами ієрархічної організації в об'єктно-оріентрованних системах є:
1. структура з класів (В«is aВ»-ієрархія);
2. структура з об'єктів (В«part ofВ»-ієрархія).
Найчастіше В«is aВ»-ієрархічна структура будується за допомогою спадкування. С...