грамних документів, правила розробки, оформлення програм, розповсюдження документації, супровід програм незалежно від призначення і галузі використання.
Розглянемо небудь простий приклад, наприклад всім знайомий мотоцикл. За допомогою яких інструментів він зроблений? Він зроблений на заводі за допомогою верстатів і пристосувань - вони і є інструментами для створення мотоцикла.
А як зроблені верстати і пристосування? Вони зроблені на іншому заводі - за допомогою інших верстатів і пристосувань. А як зроблені ці верстати і пристосування? У кожного верстата є свій предок - інший верстат, зроблений до нього і, як правило, більш примітивний. Якщо простежити історію появи на світ будь-якого верстата, ми дійдемо до найпростіших інструментів - молота і ковадла в якій-небудь середньовічної кузні. А тепер зауважте, що і нам іноді доводиться звертатися до таких «примітивним» інструментам, як молоток і напилок, щоб обслужити мотоцикл в разі поломки.
Повернемося до програм. Інструментами програміста є теж програми. Саме за допомогою програм створюють нові програми. А як створювали ці інструментальні програми? Відповідь очевидна - за допомогою інших інструментальних програм, хоча і більш примітивних. І так далі. Простежуючи історію створення одних програм за допомогою інших, ми неодмінно дійдемо до «молота і ковадла»- До того моменту, коли ніяких програм у розпорядженні програмістів не було, а мали вони справу безпосередньо з процесором, розуміючим тільки певний числовий код. Цей код називається машинним кодом. Кожен процесор розуміє тільки свій власний машинний код. Сукупність кодів, які розуміє і виконує процесор, називається його системою команд. У системі команд процесорів сімейства х86 (на базі яких зібрані комп'ютери IBM PC) порядку тисячі всіляких команд. З цих команд і складаються комп'ютерні програми.
А інструменти програмування - це насправді спеціальні програми, які читають те, що написав програміст в зручному йому вигляді, і переводять його записи в той самий машинний код, необхідний процесору. Але іноді програмісту таки доводиться звертатися до «молотку і напильнику» і якусь частину програми записувати в тому самому машинному коді, зрозумілому процесору. [1]
Налагодження і тестування
Налагодження - це процес пошуку та усунення помилок. Помилки в програмі поділяють на дві групи: синтаксичні (помилки в тексті) та алгоритмічні. Синтаксичні помилки - найбільш легко усуваються. Алгоритмічні помилки виявити важче. Етап налагодження можна вважати закінченим, якщо програма правильно працює на одному-двох наборах вхідних даних.
Етап тестування особливо важливий, якщо ви припускаєте, що вашою програмою будуть користуватися інші. На цьому етапі слід перевірити, як поводиться програма на якомога більшій кількості вхідних наборів даних, у тому числі і на свідомо невірних.
В цілому розробники розрізняють дефекти програмного забезпечення і збої. У разі збою програма веде себе не так, як очікує користувач. Дефект - це помилка / неточність, яка може бути (а може і не бути) наслідком збою.
Загальноприйнята практика полягає в тому, що після завершення продукту і до передачі його замовнику незалежною групою тестувальників проводиться тестування ПЗ. Ця практика часто виражається у ви...