Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи програмування. Лекія 1.doc
Скачиваний:
6
Добавлен:
10.11.2019
Размер:
29.39 Mб
Скачать
    1. Програми як системи

В контексті інженерії програмного забезпечення комп’ютерну програму доцільно розглядати конструктивно. Це можна робити зокрема за допомогою системного аналізу [56].

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

Властивість цілісність і членованість полягає в тому, що, з одного боку, програма – це цілісна конструкція, а з другого, в її складі можна розрізняти окремі компоненти. Компоненти – це такі частини програми, які в даній програмі на певному рівні її розгляду не підлягають подальшому поділу. Поза програмою компоненти набувають властивостей, що мають загальносистемне значення, і тоді властивості називаються системозначущими. Потрапляючи у програму, компонент набуває властивостей, які мають значення тільки в даній програмі, і такі властивості називаються системовизначними. Наприклад, компонент, що обчислює tg(x) (системозначуща властивість), увійшовши до складу програми керування польотом деякого об’єкта, може обчислювати значення деформації (зсуву) шарів плоского тіла (системовизначна властивість).

Завдяки властивості цілісності та членованості компонент або програму можна розглядати як єдине ціле, але таке, що складається з компонентів, що взаємодіють.

Властивість наявність зв’язків полягає в існування двох типів зв’язків: стійких зв’язків між компонентами програми (перший тип), які за своєю силою переважають зв’язки цих компонентів з компонентами, що не входять до даної програми (другий тип). Зв’язки першого типу називають зв’язувальними (cohesion). Такими зв’язками поєднуються компоненти, що містяться всередині іншого компоненту або програми. Зв’язки другого типу називають сполученими (coupling). Зв’язками останнього типу поєднуються компоненти даної програми з іншими компонентами та програмами. Мета, якої потрібно досягати під час створення програми, полягає в тому, щоб мінімізувати кількість сполучених зв’язків і зробити якомога „сильнішими” зв’язувальні зв’язки. Наявність зв’язувальних зв’язків дає підстави говорити про межу компоненту або програми (там де вони послаблюються), а отже, і про зовнішнє середовище компоненту або програми – сукупність компонентів, які не належать компоненту або програмі, але пов’язані з ними і чинять на них певний вплив. Цей вплив інтерпретується як надходження у компонент або програму вхідних значень (впливів) і отримання з компоненту або програми вихідних значень (результату) (рис. 1.2). Частину межі, скрізь яку здійснюється передача впливу і отримання результату називають інтерфейсом компоненту або програми.

Рис.1.2 Програма (компонент) і зв’язки

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

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

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

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