Оглавление Как зарождаются и умирают программы ?


А для чего вообще существуют программы? - Очевидно, чтобы задать целенаправленную работу компьютеру. Поэтому программа состоит из команд (инструкций), понятных компьютеру, то есть написанных на машинном языке. Но такой язык неудобен для человека, так что программа обычно вначале создается на удобном для человека языке, а затем преобразуется.

Очевидно, что изначально разработчик должен понимать, какие действия нужно выполнить, то есть, например, он может это объяснить ( на русском языке, при необходимости используя язык математики и другие специальные языки ). Запись этих действий, наверное, можно назвать алгоритмом.
Более четко это изложено в книге "Самоучитель по программированию на Free Pascal и Lazarus" авторов Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. , который можно скачать здесь:

1.1 Процесс разработки программы.

Разработку программы можно разбить на следующие этапы:

1. Составление алгоритма решения задачи. Алгоритм — это опи-
сание последовательности действий, которые необходимо выполнить
для решения поставленной задачи.

2. Написание текста программы. Текст программы пишут на ка-
ком-либо языке программирования (например на Free Pascal) и вводят
его в компьютер с помощью текстового редактора.

3. Отладка программы. Отладка программы — это процесс
устранения ошибок из текста программы. Все ошибки делятся на син-
таксические и логические. При наличии синтаксических ошибок
(ошибок в написании операторов) программа не запускается. Подоб-
ные ошибки исправляются проще всего. Логические ошибки — это
ошибки, при которых программа работает, но неправильно, выдавая
не те результаты, которые ожидает разработчик или пользователь. Ло-
гические ошибки исправить сложнее, чем синтаксические, иногда для
этого приходится переписывать отдельные участки программы, а ино-
гда перерабатывать весь алгоритм.

4. Тестирование программы. Тестирование программы — про-
цесс выявления ошибок в ее работе.
Процессы отладки и тестирования сопровождаются неоднократ-
ным запуском программы на выполнение. Процесс запуска может
быть осуществлен только после того, как введенная в компьютер про-
грамма на алгоритмическом языке Pascal1 будет переведена в двоич-
ный машинный код и создан исполняемый файл.

Процесс перевода текста программы в машинный код называют
трансляцией. Все трансляторы делятся на два класса:
• интерпретаторы — трансляторы, которые переводят каждый
оператор программы в машинный код и по мере перевода операторы
выполняются процессором;
• компиляторы переводят всю программу целиком, и если этот
перевод прошел без ошибок, то полученный двоичный код можно
запускать на выполнение.

Если в качестве транслятора выступает компилятор, то процесс
перевода текста программы в машинный код называют компиляцией.
При переводе программы с языка Pascal в машинный код используют-
ся именно компиляторы.

Рассмотрим основные этапы обработки компилятором програм-
мы на языке Pascal.

1. Компилятор анализирует, какие внешние библиотеки3 нужно
подключить, разбирает текст программы на составляющие элементы,
проверяет синтаксические ошибки и в случае их отсутствия формиру-
ет объектный код (в Windows — файл с расширением .obj, в Linux —
файл с расширением .o). Получаемый на этом этапе двоичный файл
(объектный код) не включает в себя объектные коды подключаемых
библиотек.

2. На втором этапе компоновщик подключает к объектному коду
программы объектные коды библиотек и генерирует исполняемый код
программы. Этот этап называется компоновкой, или сборкой, про-
граммы. Полученный на этом этапе исполняемый код можно запус-
кать на выполнение.

На сегодняшний день существует множество компиляторов языка
Pascal, среди которых можно выделить компиляторы языка Pascal раз-
работки фирмы Borland (Borland Pascal), а также свободно распро-
страняемые кроссплатформенные компиляторы языка Free Pascal и
среду визуального программирования Lazarus.

После того как начальный вариант программы написан, начинается отлаживание - процесс устранения (практически неизбежных) ошибок. Простейшие ошибки легко обнаруживаются транслятором и довольно быстро устраняются. Но доказать что в программе действительно нет ошибок - довольно сложно. Безошибочность программы доказывают логически или решением серии задач со специально подобранными исходными данными: данные должны перекрывать допустимый условиями задачи диапазон, проверять всевозможные ветвления.

Иногда возникает необходимость сопровождения программ и обучения персонала пользователя работе с программой.

Время эксплуатации программ ограничено, так как требования к ее функциям непрерывно возрастают, и программа морально устаревает.

Rambler's Top100
Hosted by uCoz