ревіряється, якщо її якості можуть бути продемонстровані на практиці (перевірка правильності та універсальності). Існують формальні математичні методи перевірки і неформальні (прогони програми із зупинками в контрольних точках, обговорення результатів зацікавленими користувачами). Програма є адаптується, якщо вона допускає швидку модифікацію з метою пристосування до мінливих умов функціонування.
. 2 Алгоритмізація та програмування
. 2.1 Історія розвитку алгоритмічних мов
Перші обчислювальні пристрої з'явилися ще в XVII столітті завдяки роботам Блюс Паскаля.
Перша електронно-обчислювальна машина була розроблена в XIX столітті Чарльзом Баббідіном. Бурхливий розвиток обчислювальної техніки почалося в середині 50-х років, програми для таких машин писали в машинних кодах. Такі програми були важкі для розуміння, розробкою таких програм займалися люди, які дуже добре знали пристрій даної машини. Для полегшення праці програмістів були придумані алгоритмічні мови високого рівня. Програма такою мовою пишеться за допомогою команд. Перший алгоритмічний мову був розроблений в 1949 році short code. Алгоритмічні мови: fortаn (середина 50-х), algol 60 (1962),
. Рli 1 (1964)
. Cobol (1963)
. Algol 68 (1968)
. Раsсаl (1970)
. С ++ (1972)
. Ваs1с (1964).
Сім основних елементів програмування.
Більшість програм створюються для вирішення якої-небудь задачі. Рішення завдання досягається завдяки обробці інформації або даних. Тому, кожен програміст повинен володіти наступними знаннями:
як ввести інформацію в програму (введення);
як зберігати інформацію в програмі (дані);
як вказати правильні команди для обробки даних (операції);
як передати назад дані з програми користувачеві (висновок).
Програміст може впорядкувати команди таким чином, щоб:
деякі з них виконувалися тільки, якщо виконується деяка умова або ряд умов (умовне виконання);
інші виконувалися повторно деяке число раз (цикли);
третього виділялися в окремі частини, які можуть бути виконані в різних місцях програми (підпрограми).
1.2.2 Основні функції технології програмування
Забезпечення якості програмного засобу (далі пс): специфікація якості визначає основні орієнтири (цілі), які на всіх етапах розробки ПС так чи інакше впливають при прийнятті різних рішень на вибір відповідного варіанту. Однак, кожен примітив якості має свої особливості такого впливу, тим самим, забезпечення його наявності в пс може зажадати своїх підходів і методів розробки пс або окремих його частин. Крім того, відзначалася також суперечливість критеріїв якості пс і висловлюють їх примітивів якості: хороше забезпечення одного якого-небудь примітиву якості пс може істотно утруднити чи зробити неможливим забезпечення деяких інших з цих примітивів. Тому істотна частина процесу забезпечення якості пс складається з пошуку прийнятних компромісів. Ці компроміси частково повинні бути визначені вже в специфікації якості пс: модель якості пс повинна конкретизувати необхідний ступінь присутності в пс кожного його примітиву якості і визначати пріоритети досягнення цих ступенів.
Забезпечення якості здійснюється в кожному технологічному процесі: прийняті в ньому рішення в тій чи іншій мірі впливають на якість пс в цілому. Зокрема, й тому, що значна частина примітивів якості пов'язана не стільки з властивостями програм, що входять в пс, скільки з властивостями документації. У силу зазначеної суперечливості примітивів якості вельми важливо дотримуватися обраних пріоритетів в їх забезпеченні. Але в усякому разі корисно дотримуватися двох загальних принципів:
· Спочатку необхідно забезпечити необхідну функціональність і надійність пс, а потім вже доводити інші критерії якості до прийнятного рівня їхньої присутності в пс;
· Немає ніякої необхідності і може бути навіть шкідливо домагатися більш високого рівня присутності в пс якогось примітиву якості, ніж той, що визначений у специфікації якості пс.
Забезпечення захищеності програмних засобів. Розрізняють такі види захисту пс від спотворення інформації:
· Захист від збоїв апаратури;
· Захист від впливу чужий програми;
· Захист від відмов своїй програми;
· Захист від помилок оператора (користувача);
· Захист від несанкціонованого...