<<
>>

Разработка и развитие программного обеспечения (ПО)

Основные этапы решения задач на ЭВМ Работа по решению прикладной задачи на компьютере проходит через следующие этапы: • постановка задачи; • математическая форматизация; • построение алгоритма; • составление программы на языке программирования; • отладка и тестирование программы; • анализ полученных результатов.
Технологическая цепочка решения задачи на ЭВМ предусматривает возможность возвратов на предыдущие этапы после анализа полученных результатов (рис. 1.6). Часто в эту цепочку
Рис. 1.6. Технологическая цепочка решения задачи на ЭВМ

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

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

Разработка структур данных сводится к выбору структуры для размещения вводимых пользователем коэффициентов системы и свободных членов. Построение алгоритма. Этап построения алгоритма предполагает формирование строгой и четкой системы правил, определяющей последовательность действий, которая за конечное число шагов должна привести к результату. В этот этап входят: • выбор формы записи алгоритма (естественный язык, блок- схема, псевдокод); • проектирование алгоритма. Выбрав блок-схему как форму записи алгоритма, получаем алгоритм решения поставленной задачи, представленный на рис. 1.7. Составление программы на языке программирования. Этап составления программы включает следующие шаги: • выбор языка программирования; • уточнение способов организации данных; • запись алгоритма на выбранном языке программирования. 3-6518 Попов

Рис. 1.7. Блок-схема алгоритма решения системы линейных уравнений 2-го порядка

Предположим, что для записи алгоритма выбран популярный язык Basic (см. гл. 2). Тогда программа поиска решения системы может быть, например, такой: Dim А(2,2), В(2) ’Описание исходной матрицы А и вектора Ь For 1% = 1 to 2 For J% = 1 to 2 'Ввод элементов матрицы Input("Введите коэффициент A["+Str(1%)+"," + Str (J%) + "] A [ I %, J% ] ) Next J% Next 1% For 1% = 1 to 2 'Ввод свободных членов Input("Введите свободный член В["+Str(1%)В[I% 1); Next 1% DELTA = А[1,1]*А[2,2]-А[1,2]*А [ 2,1] ’Расчет определителя If DELTA = 0 Then Print ("Нет единственного решения") 'Вывод сообщения Else XI = (В[1)*А(2,2)-Ь[2]*А [ 1, 2))/DELTA Х2 = (В[2]*А(1,1]—Ь[1]*А [2,1])/DELTA Print ("XI = ", XI) 'Вывод значения XI Print ("Х2 = ", Х2) 'Вывод значения Х2 End If End Отладка и тестирование.

Отладка программы предполагает следующие действия: • синтаксическую отладку; • отладку семантики и логической структуры; • тестовые прогоны и анализ результатов тестирования. Под отладкой программы понимается процесс испытания работы программы и исправления обнаруженных при этом ошибок. Обнаружить ошибки, связанные с нарушением правил записи программы на ЯП (синтаксические и семантические ошибки), помогает используемая система программирования. Пользователь получает сообщение об ошибке, исправляет ее и снова повторяет попытку выполнить программу. Проверка на компьютере правильности алгоритма производится с помощью тестов. Тестом, например, можно назвать конкретный вариант значений исходных данных, для которого известен ожидаемый результат. Например, для программы решения системы линейных уравнений необходимо построить тесты, позволяющие проверить работоспособность как для варианта, когда определитель матрицы А равен нулю, так и для варианта, когда решение системы существует и единственно. Анализ получаемых результатов. Последний этап — применение разработанной программы для получения искомых результатов. На этом этапе могут быть сделаны выводы о некорректности постановки задачи или разработанной математической модели. В этом случае происходит возврат на этап постановки задачи или на этап математической формализации, что приводит иногда к повторной разработке программы (см. рис. 1.6). Программы, имеющие большое практическое или научное значение, используются длительное время. Иногда в процессе эксплуатации программы исправляются, дорабатываются, поэтому важным этапом жизни программ является их сопровождение, включающее при необходимости доработку программы для решения новых задач, а также составление документации не только по использованию программы, но и по математической модели, алгоритму, набору тестов и т. п.
<< | >>
Источник: О. Л. Голицына, Т. Л. Партыка, И. И. Попов. ЯЗЫКИ ПРОГРАММИРОВАНИЯ. 2008

Еще по теме Разработка и развитие программного обеспечения (ПО):

  1. Том ДеМарко. Вальсируя с Медведями Управление рисками в проектах по разработке программного обеспечения, 2005
  2. Программное обеспечение
  3. Богомазова Г.Н.. Установка и обслуживание программного обеспечения персональных компьютеров, серверов, периферийных устройств и оборудования, 2015
  4. Эд САЛЛИВАН. ВРЕМЯ — ДЕНЬГИ Создание команды разработчиков, программного обеспечения, 2001
  5. Алистэр Коуберн. Люди как нелинейные и наиболее важные компоненты в создании программного обеспечения, 1999
  6. 9.2. Порядок разработки и внедрения информационных систем, технологий и средств обеспечения
  7. Психолого-педагогические пути обеспечения развития и эффективности образовательного процесса в юридических образовательных учреждениях.
  8. КОНЦЕПЦИЯ ПРОГРАММНО - РОЛЕВАЯ
  9. 2.4.1. Программный анализатор
  10. Перевод программных вопросов в анкетные
  11. 2.4.1. Программный анализатор
  12. Глава 39 О ПРОГРАММНЫХ СВОЙСТВАХ ХУДОЖЕСТВЕННОЙ ЛИТЕРАТУРЫ
  13. 2.7. Разработка анкеты
  14. Разработка Плана
  15. Дж. Клейнберг, Е. Тардос. Алгоритмы: разработка и применение. Классика Computers Science, 2016
  16. 6. Разработка перспектив
  17. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007