печити певну поведінку. Обов'язками об'єкта є всі види обслуговування, які він пропонує клієнтам. У світі об'єкт грає певні ролі, виконуючи свої обов'язки.
Наявність у об'єкту внутрішнього стану означає, що порядок виконання ним операцій дуже важливий. Тобто об'єкт може представлятися як незалежний автомат. Можна виділити активні і пасивні об'єкти. Активний об'єкт має власний канал (потік) управління, пасивний - ні. Активний об'єкт автономний, він може проявляти свою поведінку без впливу з боку інших об'єктів. Пасивний об'єкт, навпаки, може змінювати свій стан тільки під впливом інших об'єктів.
У полі зору розробника програмного забезпечення знаходяться не об'єкти-одиначки, а взаємодіючі об'єкти, адже саме взаємодія об'єктів реалізує поведінку системи. Відносини між парою об'єктів грунтуються на взаємній інформації про дозволених операціях і очікуваному поведінці. br/>
4. Оцінка складності програмних систем
При конструюванні об'єктно-орієнтованих програмних засобів значна частина витрат доводиться на створення візуальних моделей. Дуже важливо коректно і всебічно оцінити якість цих моделей, зіставивши якості числову оцінку. Рішення даної завдання вимагає введення спеціального метричного апарату. Такий апарат розвиває ідеї класичного оцінювання складних програмних систем, заснованого на метриках складності, зв'язності і зчеплення. Разом з тим він враховує специфічні особливості об'єктно-орієнтованих рішень. Об'єктно-орієнтовані метрики вводяться з метою:
- покращити розуміння якості продукту;
- оцінити ефективність процесу конструювання;
- поліпшити якість роботи на етапі проектування.
Для будь-якого інженерного продукту метрики повинні орієнтуватися на його унікальні характеристики. З точки зору метрик виділяють п'ять характеристик об'єктно-орієнтованих систем: локалізацію, инкапсуляцию, інформаційну закритість, успадкування та способи абстрагування об'єктів. Ці характеристики надають максимальний вплив на об'єктно-орієнтовані метрики.
Локалізація фіксує спосіб угруповання інформації в програмі. У класичних методах, де використовується функціональна декомпозиція, інформація локалізується навколо функцій. Функції в них реалізуються як процедурні модулі. У методах, керованих даними, інформація групується навколо структур даних. В об'єктно-орієнтованої середовищі інформація групується всередині класів чи об'єктів (інкапсуляція, як даних, так і процесів). Оскільки в класичних методах основний механізм локалізації - функція, програмні метрики орієнтовані на внутрішню структуру або складність функцій (довжина модуля, зв'язність, цикломатическая складність) або на спосіб, яким функції зв'язуються один з одним (зчеплення ...