Компьютерный инструментарий технологии программирования

44 Инструментарий технологии программирования. Процесс разработки программ

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

Но прежде чем обсуждать сами инструментальные средства разработки программ, рассмотрим принципы разработки программного обеспечения.

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

1. Этап постановки и формулировки задачи. Постановка задачи(problem definition) —это точная формулировка решения задачи на компьютере с описанием входной и выходной информации:

изучение предметной области и сбор материала в проблемно-ориентированном контексте;

определение назначения программы, выработка требований к ней и представление требований, если возможно, в формализованном виде;

формулирование требований к представлению исходных данных и выходных результатов;

определение структур входных и выходных данных;

формирование ограничений и допущений на исходные и выходные данные.

2. Этап проектирования:

формирование модели задачи;

выбор метода реализации задачи;

разработка алгоритма реализации задачи;

разработка структуры программы

3. Этап кодирования:

уточнение структуры входных и выходных данных и определение формата их представления;

комментирование текста программы и составление предварительного описания программы.

4. Этап отладки и тестирования:

составление тестов для проверки правильности работы программы;

обнаружение, локализация и устранение ошибок в программе, выявленных в тестах;

корректировка кода программы и ее описания.

5. Этап эксплуатации и сопровождения:

настройка программы на конкретные условия использования;

обучение пользователей работе с программой;

организация сбора сведений о сбоях в работе программы, ошибках в выходных данных, пожеланиях по улучшению интерфейса и удобства работы с программой;

модификация программы с целью устранения выявленных ошибок и, при необходимости, изменения ее функциональных возможностей.

После написания программы на языке программирования нужно ввести программу в компьютер, перевести в машинное представление и выполнить. Как это сделать? Дальнейшее обсуждение будет посвящено именно этому вопросу.

Программа, подготовленная на языке высокого уровня, проходит несколько этапов:

1. этап. В текстовом редакторе пишетсяисходный код программы на алгоритмическом языке (source code) и сохраняется в файле с расширением *.pas.

2 этап. Трансляция, происходит преобразованиеисходного кода программы (source code) вобъектный код (object code), т.е. происходит проверка синтаксиса написания операторов, и если ошибок в написании нет, осуществляется перевод на язык машинных кодов. Файл объектного кода имеет расширение *.obj;

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

Трансляторыделятся на два класса:компиляторы (compiler) иинтерпретаторы (interpreter). Компиляторы транслируют всюпрограмму, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняютпооператорный перевод на машинный язык и выполнение всей программы.

3. этап.Компоновка, когда происходит обработка объектного кодаредактором связей, специальной программой осуществляющей построениезагрузочного модуля (load module), пригодного к выполнению (рис 16.).

Компоновщик, или редактор связей — системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.

Получив исполняемый модуль, не спешите радоваться. К сожалению, устранение синтаксических ошибок еще не гарантирует того, что программа будет хотя бы запускаться, не говоря уже о правильности работы. Поэтому обязательным этапом процесса разработки является отладка. На этапеотладки, используя описание алгоритма, выполняется контроль правильности функционирования, как отдельных участков кода, так и всей программы в целом.

Отладчикпозволяет управлять процессом исполнения программы, является инструментом для поиска и исправления ошибок в программе. Базовый набор функций отладчика включает:

пошаговое выполнение программы (режим трассировки) с отображением результатов,

остановка в заранее определенных точках,

возможность остановки в некотором месте программы при выполнении некоторого условия;

изображение и изменение значений переменных.

Но даже успешное окончание отладки еще не является гарантией того, что программа будет работать правильно со всеми возможными исходными данными. Поэтому нужно обязательно провести тестирование программы, то есть проверить ее работу на «пограничных» и заведомо некорректных исходных данных. Для этого составляются тесты. Вполне возможно, что результаты тестирования вас не удовлетворят. В этом случае придется вносить поправки в код программы, то есть возвращаться к первому шагу процесса разработки (см. рисунок 16).

Инструментарий технологии программирования— совокупность программ и программных комплексов, обеспечивающих технологию разработ­ки, отладки и внедрения создаваемых программных продуктов.

Сформировались следующие группы программных продуктов (рис.17):

Средства для создания приложений, включающие:

  • локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
  • интегрированные средыразработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;

Источник

Состав и назначение инструментария технологии программирования

.

Рис. 17 Классификация инструментария технологии программиррования.

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

В рамках этих направлений сформировались следующие группы программных продуктов (рис.17):

Средства для создания приложений, включающие:

  • локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
  • интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
  • машинные языки (computer language) — языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
  • машинно-ориентированные языки (computer-oriented language) — языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
  • алгоритмические языки (algorithmic language) — не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);
  • процедурно-ориентированные языки (procedure-oriented language) — языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);
  • проблемно-ориентированные языки (universal programming language) — языки про­граммирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);
  • компилятор;
  • интегрированную среду разработчика программ;
  • отладчик;
  • средства оптимизации кода программ;
  • набор библиотек (возможно с исходными текстами программ);
  • редактор связей;
  • сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;
  • справочные системы;
  • документатор исходного кода программы;
  • библиотека функций, процедур, объектов и методов обработки;
  • макрокоманды;
  • языковые макросы;
  • программные модули-вставки;
  • генераторы приложений;
  • языки запросов высокого уровня и т.п.
  • объектно-ориентированный язык программирования;
  • высокопроизводительный компилятор;
  • средства наглядного (визуального) создания программ (для создания системы меню, экранных форм, отчетных форм и т.п.);
  • специальная технология работы с базами данных;
  • принцип “открытой” системы: возможность добавления новых средств и перенос на другие платформы.
  • встроенные в систему реализации — все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);
  • независимые от системы реализации — все решения по проектированию ориентирова­ны на унификацию начальных этапов жизненного цикла и средств их документирова­ния, обеспечивают большую гибкость в выборе средств реализации.
  • диаграмму потоков данных (DFD — data flow diagrams) совместно со словарями данных и спецификациями процессов;
  • диаграмму «сущность-связь» (ERD — entity relationship diagrams), являющуюся инфологической моделью предметной области.

Источник

Читайте также:  Кружок программирования нижний новгород
Оцените статью