Проектирование программ

22.12.2022 0 Автор : Марина Николаевна
Проектирование программ

Проектирование программ осуществляется в несколько этапов.

Перечислим этапы проектирования программ:

  • постановка задачи;
  • построение модели;
  • разработка алгоритма и способов представления данных;
  • кодирование;
  • отладка;
  • тестирование;
  • документирование;
  • внедрение и сопровождение.

Постановка задачи и построение модели

Первый этап проектирования программ  — постановка задач. Специалисты определяют требования к программе и раскрывают их в техническом задании.

Вторым этапом является этап построения модели. В результате получается модель, отражающая взаимосвязи внутри модели и четко определяется желаемый результат. Чаще всего — это математическая модель в виде формулы.

Программа служит для обработки данных. Важно представить данные в памяти компьютера. Способ хранения данных определяет алгоритм работы с ними: если выбрана неподходящая структура данных, очень сложно написать хороший алгоритм обработки.

Кодирование

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

Отладка программы

Для того, чтобы определить наличие ошибок в программе осуществляют отладку программы.

Отладку осуществляют в течении всего процесса написания кода, поэтому количество данных операций сложно определить. 

Все ошибки, которые могут быть допущены в коде программы могут быть разделены на две группы:

  • синтаксические ошибки;
  • логические ошибки.

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

Логические ошибки — это ошибки в составлении алгоритма. Из-за логических ошибок программа программа работает не так, как была поставлена задача. Такую ошибку можно исправить только приложив усилия:

  • внимательно изучить написанную программу;
  • выполнить необходимые вычисления (при необходимости вычисления выполняются вручную);
  • сравнить результаты каждого шага выполнения программы с теми результатами, которые выдает программа.

К аварийной ситуации могут привести именно логические ошибки, например, деление на ноль.

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

Иногда, добившись правильной работы программы, делают рефакторинг — улучшают структуры программы так, чтобы она стала понятнее человека. Рефакторинг не должен приводить к новым ошибкам. Поэтому изменения вносят поэтапно, маленькими «порциями», проверяя правильность работы программы после каждого шага.

Тестирование

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

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

Документирование

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

Внедрение и сопровождение

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