Основные этапы разработки программного обеспечения. Стили и правила программирования

Содержание

Слайд 2

Программирование - это процесс создания (разработки) программы на том или ином языке

Программирование - это процесс создания (разработки) программы на том или ином языке
программирования. Жизненным циклом программного обеспечения (ПО) называют период разработки и эксплуатации программного обеспечения: от момента появления идеи создания некоторого программного обеспечения до момента завершения его поддержки разработчиком.

Жизненный цикл программного обеспечения

Каскадная модель разработки ПО

Реальный процесс разработки ПО: каскадно-возвратная модель

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

Слайд 3

Традиционные методы проектирования программных средств предполагают наличие следующих основных этапов разработки программы:
1.

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

Этапы разработки программного обеспечения

2. Разработка алгоритма решения задачи
Алгоритм - это описание точного, пошагового выполнения действий решающих поставленную задачу должным образом.
Свойства алгоритма:
однозначность (единственность толкования правил и порядка выполнения действий)
массовость (возможность применения алгоритма для решения класса задач, правильная работа при меняющихся в заданных пределах значениях исходных данных)
результативность (выполнение алгоритма должно приводить к получению определенного результата)

Если задача может быть решена несколькими способами (возможны различные варианты алгоритма решения), то на основе некоторых критериев выбирается наиболее подходящее решение. Для сложных задач целесообразно применять «метод декомпозиции» (разбиение на совокупность более простых взаимосвязанных задач). Результатом данного этапа является подробное текстовое описание алгоритма или его блок-схема.

Слайд 4

3. Реализация алгоритма (кодирование на языке программирования)
Данный этап предполагает запись разработанного алгоритма

3. Реализация алгоритма (кодирование на языке программирования) Данный этап предполагает запись разработанного
в виде программы на выбранном языке программирования. Результатом этапа является исходный код программы.
Интегрированные среды разработки включают в себя текстовый редактор, компилятор (интерпретатор), средства автоматизации сборки, отладчик. Примеры (визуальные среды): Eclipse, Microsoft Visual Studio, NetBeans, Qt Creator.
4. Отладка программы
Отладка программы - это процесс поиска, локализации и устранения ошибок в программе. Ошибки в программе традиционно разделяют на три группы: синтаксические (ошибки в тексте), времени выполнения (выявляются на этапе выполнения) и алгоритмические. Этап отладки можно считать законченным, если программа правильно работает на нескольких наборах входных данных.
Программы-отладчики: Microsoft Visual Studio, GNU Debugger, DBX, WinDbg, TotalView.

Этапы разработки программного обеспечения

Слайд 5

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

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

Слайд 6

Стиль программирования - набор приемов или методов программирования, которые используют разработчики с

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

Стили и правила программирования

Слайд 7

При создании программного обеспечения следует помнить, что программа предназначена для:
пользователя (надежность,

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

Стили и правила программирования

Слайд 8

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

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

Стили и правила программирования

Слайд 9

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

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

Стили и правила программирования

Слайд 10

!********************************************************************** ! pi3f90.f - compute pi by integrating f(x) = 4/(1 + x**2) !**************************************************************************** program

!********************************************************************** ! pi3f90.f - compute pi by integrating f(x) = 4/(1 +
main
double precision PI25DT parameter (PI25DT = 3.141592653589793238462643d0) double precision pi, h, sum, x, f, a integer n, i ! function to integrate f(a) = 4.d0 / (1.d0 + a*a) ! read the number of intervals write(*,*) 'Enter the number of intervals: (0 quits)' read(*,*) n ! calculate the interval size h = 1.0d0/n sum = 0.0d0
! calculate the integral do i = 1, n x = h * (dble(i) - 0.5d0) sum = sum + f(x) enddo
pi = h * sum
! output the results
write(*, *) 'pi is approximately: ', pi, ' Error is: ', abs(pi - PI25DT) stop
end

Слайд 11

Некоторые замечания о тестировании и отладке программ:
весьма полезно и эффективно на

Некоторые замечания о тестировании и отладке программ: весьма полезно и эффективно на
этапе отладки и тестирования использовать специальные программы-отладчики (debuggers);
для компиляции программ целесообразно использовать специальные утилиты и скрипты (make);
ощутимый выигрыш в скорости работы программы может дать правильная установка опций компилятора (оптимизация), а также использование эффективных компиляторов;
полезно выполнять проверку входных данных программы для минимизации потенциальных ошибок времени исполнения.

Стили и правила программирования

Имя файла: Основные-этапы-разработки-программного-обеспечения.-Стили-и-правила-программирования-.pptx
Количество просмотров: 331
Количество скачиваний: 2