Для чего строится программа

Задачи, решаемые на ЭВМ, являются математическими моделями про­цессов или явлений реальной жизни. В математической модели находят отражение наиболее существенные связи между реальными объектами. Модели реальных объектов вместе с присущими им связями образуют структуры данных, процесс обработки которых и описывается с помощью алгоритмов.

Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой (Нидерланды), разработана и дополнена Н. Виртом (Швейцария).

В соответствии с данной методологией

1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

o последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

o ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

Уроки по С++.1 урок.Как создать программу?

o цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

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

3. Разработка программы ведётся пошагово, методом «сверху вниз».

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

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

Существует несколько методов проектирования:

q нисходящее (сверху-вниз)

q восходящее (снизу-вверх)

q смешанное, использующее два предыдущих метода.

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

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

Модульное проектирование

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

Для чего нужна программа VulkanRT и стоит ли её удалять

Модуль – это отдельная функционально-законченная программная единица, которая структурно оформляется стандартным образом и имеет небольшой размер. Как правило, каждый модуль содержит паспорт, в котором указаны все основные его характеристики: язык программирования, объем, входные и выходные переменные, их формат, ограничения на них, точки входа, параметры настройки и т.д.

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

Читайте также:
Программа деканат что это

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

Контрольные вопросы:

1. Дайте определение понятию «алгоритм».

2. Что изначально означало это слово?

3. С именем, какого математика связано появление слова «алгоритм»?

4. Перечислите свойства алгоритма и поясните их смысл.

5. Перечислите средства записи алгоритмов.

6. Из каких базовых элементов строится структурная схема?

7. Что такое линейная структура, поясните ее смысл.

8. Что такое условная структура, поясните ее смысл.

9. Что такое циклическая структура, поясните ее смысл.

10. Поясните смысл цикла с предусловием и постусловием

11. Дайте определение языкам программирования высокого уровня.

12. Какие ЯП относятся к ЯП низкого уровня?

13. Перечислите ЯП высокого уровня (алгоритмические).

14. Какие понятия характерны для объектно-ориентированных языков?

15. Какие ЯП используются в компьютерных сетях для создания статических и динамических Web-страниц?

16. Какие средства являются общими для всех ЯП?

17. Что понимается под средой программирования?

18. Что такое компилятор и что является результатом его работы?

19. Перечислите известные технологии программирования.

20. В чем смысл структурного проектирования программ?

21. Перечислите методы структурного проектирования.

22. В чем различие между проектированием «сверху-вниз» и «снизу-вверх»?

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Основные подходы к разработке программ

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

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

  • Создание стратегии. Разработка плана последовательных действий, определение требований к работе и функционалу будущей программы, определение бюджета на проведение работ, оценка реализации плана в установленные сроки с ограничениями, продумывание условий для заказчика и работника. В результате определения стратегии действий устанавливаются и выявляются требования к программе, ограничения во времени и бюджете.
  • Анализ. Исследование и систематизация полученных требований и данных с добавлением ограничением и планированием возможной последовательности выполнения работы в заданных условиях. Анализ может быть проведен 5-6 раз в процессе выполнения работы для получения результата надлежащего качества за установленную цену. Аналитические работы производятся после определения стратегии действий и получения необходимой информации по приложению и функционалу.
  • Проектирование. Этап сбора модели данных, на основании которой будет осуществляться дальнейшая работа по разработке программы.
  • Реализация. Создание запрошенного приложения по требованиям, в соответствии с установленными правилами и стандартами, на основании составленного ранее плана и стратегии выполнения работы. В результате создается полноценная программа, обладающая заданным функционалом, выполняющая предписанные действия. Продолжительный этап в разработке программного продукта.
  • Тестирование. Проверка работоспособности программы, исправление выявленных ошибок и проблем. Возможно проведение тестирования каждого отдельного блока для получения качественного результата.
  • Внедрение. Представляет собой этап предоставления продукта заказчику в проверенном готовом виде с возможностью использования сразу после получения без дополнительного проведения работ. Перед предоставлением результата заказчику проводится дополнительное испытание программы на полной мощности.
  • Использование и проведение технических работ. После получения программы она используется заказчиком, вследствие чего появляется необходимость регулярного проведения технического обслуживания и поддержки работоспособности приложения.
Читайте также:
Программа Google speech services для Андроид что это такое

Виды разработки ПО

Выделяют следующие разновидности (модели) разработки ПО:

  • Каскадная модель. Классический вариант, который использовался часто для создания программного обеспечения. Суть заключается в последовательном выполнении этапов – каждый последующий начинается после полного окончания работы над предыдущим. Преимущество – получение качественного результата вследствие проведения проверки качественной составляющей после каждого завершенного этапа. Но на деле редко встречаются проекты, которые можно выполнять последовательно. По этой причине использование каскадной системы устарело. Модель используется при создании небольших моделей ПО.
  • Гибкая модель. Этапы создания программного обеспечения выполняются одновременно, вследствие чего есть возможность внесения изменений в каждый блок работы в нужный момент до завершения создания ПО. На выполнение работы требуется до 1 месяца, при этом каждый вид работы выполняется в отведенное для него время, происходит создание плана выполнения работ, в соответствии с которым действия выполняются в определенном объеме. Преимущество вида разработки ПО – скорость проведения работ. Недостаток – появление ошибок и проблем с работой программы после окончания создания вследствие отсутствия постоянных проверок качества работы после выполнения этапов.
  • Итерационная модель. В команде имеется веб-мастер, который помимо выполнения работы задает настрой для работников и обеспечивает быстрое создание программы за счет беспрерывности работы. Также имеется руководитель, который распределяет задачи между программистами и разработчиками, отслеживает качество выполненной работы, проводит диагностику работы системы на каждом этапе и так далее. По итогу нет необходимости тратить время на проверку работоспособности созданного программного обеспечения, на работу уходит меньше времени за счет выполнения предоставленного объема обязательств.

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

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

Источник: cetera.ru

Урок 21
§23. Как разрабатываются программы?

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

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

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

Читайте также:
WebsTorm что это за программа

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

Способ хранения данных определяет и алгоритмы работы с ними: если выбрана неудачная структура данных, очень сложно написать хороший алгоритм обработки. Известная книга швейцарского специалиста Никлауса Вирта, автора языка Паскаль, так и называется «Алгоритмы 4- структуры данных = программы».

4. Кодирование. Только теперь, когда выбран способ хранения данных и готовы алгоритмы для работы с ними, программисты приступают к написанию программы. Эта работа называется кодированием, потому что программист кодирует алгоритм — записывает его на языке программирования. Результат его работы — текст программы — часто называют программным кодом.

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

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

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

Логические ошибки могут привести к отказу — аварийной ситуации, например к делению на ноль. Часто при отказе операционная система завершает работу программы, и данные могут быть потеряны. Отказы часто называют ошибками времени выполнения (англ. runtime error).

6. Тестирование. Когда программист исправил все обнаруженные им ошибки, он передаёт программу на тестирование — тщательную проверку в различных режимах. Обычно эту работу выполняют специально обученные люди — тестировщики.

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

7. Документирование — это разработка документации на программу. Этим занимаются технические писатели. Техническая документация описывает, как работает программа, а руководство пользователя содержит инструкцию по использованию программы.

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

Следующая страница Методы проектирования программ

Cкачать материалы урока

Источник: xn—-7sbbfb7a7aej.xn--p1ai

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru