Налагодження програм і програмних комплексів » Українські реферати
Теми рефератів
Авіація та космонавтика Банківська справа Безпека життєдіяльності Біографії Біологія Біологія і хімія Біржова справа Ботаніка та сільське гос-во Бухгалтерський облік і аудит Військова кафедра Географія
Геодезія Геологія Держава та право Журналістика Видавнича справа та поліграфія Іноземна мова Інформатика Інформатика, програмування Історія Історія техніки Комунікації і зв'язок Краєзнавство та етнографія Короткий зміст творів Кулінарія Культура та мистецтво Культурологія Зарубіжна література Російська мова Маркетинг Математика Медицина, здоров'я Медичні науки Міжнародні відносини Менеджмент Москвоведение Музика Податки, оподаткування Наука і техніка Решта реферати Педагогіка Політологія Право Право, юриспруденція Промисловість, виробництво Психологія Педагогіка Радіоелектроніка Реклама Релігія і міфологія Сексологія Соціологія Будівництво Митна система Технологія Транспорт Фізика Фізкультура і спорт Філософія Фінансові науки Хімія Екологія Економіка Економіко-математичне моделювання Етика Юриспруденція Мовознавство Мовознавство, філологія Контакти
Українські реферати та твори » Информатика, программирование » Налагодження програм і програмних комплексів

Реферат Налагодження програм і програмних комплексів

Налагодження програм і програмних комплексів

Характерною особливістю сучасних АСУ є значне ускладнення використовуваного в них програмного забезпечення, яке являє собою великі комплекси взаємодіючих програм об'ємом до десятків і сотень тисяч команд. З ростом надійності обчислювальної техніки програмне забезпечення стає основним джерелом неправильного функціонування систем управління. У процесі його розробки допускається велика кількість помилок, вартість виявлення та усунення яких становить 40-50% загальних витрат на розробку і впровадження АСУ.

Технологія розробки та впровадження програмного забезпечення АСУ передбачає проведення наступних етапів: постановка завдань і вибір алгоритмів їх вирішення, розробка, системних і програмних специфікацій завдань, розробка комплексу програм, його налагодження, досвідчена і промислова експлуатація.

Помилки програмного забезпечення можуть бути класифіковані наступним чином: системні помилки, обумовлені неправильним розумінням змісту задачі і умов її реалізації в АСУ; алгоритмічні помилки, пов'язані з некоректною формулюванням і реалізацією алгоритмів програмним шляхом; програмні помилки (описки, помилки в логіці, кодуванні і т.д.); технологічні помилки в процесі підготовки документації на програму і переведення її на машинні носії.

Основним етапом формування розроблюваних комплексів програм, на якому виявляються, локалізуються і усуваються помилки проектування, є налагодження. Процес налагодження за рівнем складності та зв'язку з реальними даними ділиться на програмну і системну налагодження.

Програмна налагодження включає перевірку загальної логіки програми і правильності її запису (камеральна перевірка), підготовку до введення в ЕОМ г, трансляцію, індивідуальну (автономну) налагодження окремих частин програми. У процесі програмної налагодження виявляються та усуваються різні алгоритмічні, програмні та технологічні помилки.

Системна налагодження призначена для перевірки відповідності логічної схеми комплексу програм її функціональному призначенню з використанням спеціально підготовлених масивів і в умовах, що моделюють процес функціонування АСУ. У процесі системної налагодження усувається більшість складних алгоритмічних і системних помилок. Загальне число виявлених у процесі системної налагодження помилок визначається обмеженнями на тимчасові і вартісні ресурси та вихідною кількістю помилок в комплексі програм, що надходить на етап системної налагодження. При досягненні обраного рівня показників якості системної налагодження комплекс програм передається в дослідну експлуатацію для перевірки його функціонування з використанням реальних повнорозмірних масивів і в реальному масштабі часу.

Виявлення помилок в програмах на етапі експлуатації системи може призвести до суттєвих втрат часу і коштів на їх усунення, а в окремих випадках до втрати працездатності системи. Тому з метою підвищення якості комплексів програм, що надходять в експлуатацію, необхідно поліпшити планування і організацію налагодження, що дозволить в кінцевому рахунку підвищити ефективність функціонування АСУ за рахунок зниження витрат, пов'язаних з наявністю невиявлених помилок і отриманням недостовірних результатів; зменшення часу і витрат на усунення і виявлення помилок; зменшення ймовірності наявності помилок в програмах.

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

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

Розглянемо існуючі методи виявлення і локалізації помилок в комплексах програм. Найбільш розробленими методами виявлення помилок на етапі налагодження є: формальний доказ правильності програм; методи диверсійно програмування; методи тестування програм.

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

У загальному випадку доказ коректності складання програмних модулів - дуже складна процедура. Для доказу коректності програмного модуля об'ємом близько 100 інструкцій потрібно один людино-місяць роботи.

Основними обмеженнями широкого використання методів формального докази правильності є складність формалізації умов в програмах, відсутність розвинених мов тверджень для програм з різноманітними типами даних, наявність помилок у даних, велике число обмежень на семантику мов і роботу компілятора і тл. Крім того, доказ правильності може підтвердити правильність тільки дійсно вірних програм. Разом з тим після проведення формального доказу правильності не можна стверджувати, що програма завжди буде виконуватися вірно. Застосування методів формального доказу правильності програм в даний час обмежується невеликими і нескладними програмами.

Методи N-версионного програмування, що отримали розвиток в останнє час, є в певному сенсі аналогами методів резервування, застосовуваних у технічних системах. При використанні цих методів ресурси на проведення налагодження мінімальні. Створюється декілька версій програми кожна з яких допускає наявність деякого числа помилок. Правильність функціонування набору версій досягається за рахунок їх спільного використання. При цьому використовується одна з двох стратегій: резервна програма включається в роботу при виявленні помилки; вибирається вірне рішення паралельно працюючих програм. Узгодженим функціонуванням програм управляє програма-супервізор, а версії програм розробляються різними програмістами. Програмні специфікації при використанні даного методу повинні складатися таким чином, щоб в різних версіях програми використовувалися різні структури і прийоми програмування.

Однак в даний час не існує методики формування відповідних специфікацій та оцінки ефективності методу N-версионного програмування. Слід зазначити, що N-версійність програмування не застосовне в системах реального часу з жорстким обмеженням ресурсів, в задачах з великими обсягами вихідних даних, а також в тих завданнях, де важко визначити допустиму різницю результатів, одержуваних різними версіями програми.

Метод тестування програм є основним методом налагодження. Тестування забезпечує перевірку того, що постановка задачі правильно зрозуміла системника і програмістами, забезпечує конкретний доказ можливості отримання рішення, принаймні, частини завдання, концентрує увагу на невеликому числі найбільш складних процедур обробки даних і причини появи помилок. Тестування є процес оцінки ступеня готовності модулів програмного забезпечення до передачі в режим експлуатації, заснований на зборі та аналізі даних про характеристику поведінки програмного забезпечення за результатами його реалізації в певних умовах для заданих входів (тестів).

При налагоджен...


Страница 1 из 3Следующая страница

Друкувати реферат
Замовити реферат
Товары
Наверх Зворотнiй зв'язок