Завдяки властивостям цілісності і подрібненості програма може розглядатися як єдине ціле, але таке, що складається з частин, що взаємодіють.
Властивість - наявність зв'язків (couple); виражається в наявності стійких зв'язків між елементами програми, що перевершують по силі зв'язки цих елементів з елементами, що не входять в дану програму. Зв'язки можуть бути такими, що сполучають і передають інформацію. Наявність сильних зв'язків дає змогу говорити про межу програми (там, де вони стають слабкими), а наявність межі веде до поняття зовнішнього середовища програми, яка є сукупністю елементів, що не належать програмі, але пов'язаних з нею і, що виливають на неї. Зазвичай цей вплив інтерпретується як надходження в програму вхідних значень і отримання з програми значень (результату).
Частіша межі, через яку здійснюється передавання вхідних значень і отримання результату, називається Інтерфейсом програми. Звичайна взаємодія програми і середовища має двонапрямлений характер (рис. 3.2).
Рис. 3.2. Програма і середовище
Властивість - наявність організації; виражається у взаємозалежній поведінці частин програми завдяки їх упорядкованості в часі і просторі. У результаті складається внутрішня структура програми, а завдяки процесам, що відбуваються в програмі, функції частин програми трансформуються у функції (функцію) цілої програми. Функції можуть бути корисні, даремні і шкідливі.
Корисність програми є однією з її властивостей і визначається відповідністю функції І конструкції програми вимогам, що висуваються до неї.
Властивість - наявність інтегральної якості; виражається в тому, що має місце якість, що властива програмі в цілому, але не властива жодній з її частин окремо. Тому програма не зводиться до простої сукупності її частин. Розчленувавши програму на частини і вивчивши їх окремо, не можна зрозуміти інтегральну якість програми.
Програмною системою називається продукт інженерії програмного забезпечення, що має системні властивості та створений для застосування в певній наочній галузі.
Як правило, програмні системи є частиною складного апаратно-програмного комплексу, що включає крім комп'ютера різноманітні пристрої, робота яких заснована на різних принципах дії.
Застосування обчислювальної техніки, що постійно розширюється, призвело до появи великої різноманітності в програмних системах. Відомо багато класифікацій програмних систем. На рис. 3.3 показано одну з класифікацій, що не «претендує» на повноту. Як видно, всі програми системи поділяються на дві групи - автоматичні і автоматизовані.
Рис. 3.3. Типи програмних систем
У першій групі розрізняють автоматичні вбудовані системи (АВСТС) і автоматизовані системи управління технологічними процесами (АСУТП). До другої групи належать:
- автоматизовані інформаційні системи (АІС), що поділяються на документальні (повнотекстові) - АІДС і фактографічні - АІФС;
- автоматизовані моделюючі системи (АМС);
- автоматизовані системи управління (АС), що поділяються на системи організаційного управління - АСОУ і управління експериментами - АСУЕ;
- системи автоматизованого проектування (САПР), що поділяються на системи проектування об'єктів різною призначення -САD і системи проектування програмного забезпечення - CASE, системи зворотної інженерії (CARE).
Розділ 4. ЖИТТЄВИЙ ЦИКЛ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ. СКЛАДОВІ
Життєвий цикл програмного забезпечення - це фундаментальне поняття інженерії програмного забезпечення.
Уведення цього поняття дало змогу деталізувати розроблення програмного забезпечення і зробити його керованим.
У цьому розділі розглядаються складові життєвого циклу програмного забезпечення - процеси, продукти і ресурси.
4.1. Життєвий цикл програмного забезпечення
Життєвий цикл програмного забезпечення, як і будь-якого іншого виробу, відображає його відповідність у часі і просторі, процеси, які пов'язані з виробом і засоби здійснення процесів,