Технологический цикл обработки информации на компьютере. Лекция 2

Содержание

Слайд 2

Работа по решению прикладной задачи на компьютере проходит  через следующие этапы:
постановка

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

Слайд 3

Постановка задачи

На этапе постановки задачи должно быть четко определено, что дано, и

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

Слайд 4

Анализ и исследование задачи, модели

Этот этап включает:
анализ существующих аналогов;
анализ технических и программных

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

Слайд 5

Разработка алгоритма

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

Разработка алгоритма Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор
записи алгоритма;
выбор тестов и метода тестирования;
проектирование самого алгоритма.

Слайд 6

Программирование

Программирование включает в себя следующие виды работ:
выбор языка программирования;
уточнение способов организации

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

Слайд 7

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

Отладка программы — это процесс поиска и устранения ошибок в

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

Слайд 8

Методы отладки

Методы отладки можно разделить на методы "грубой силы" и методы, основанные

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

Слайд 9

Метод индукции. Индукция - это анализ от частного к целому. Просматривая ошибки,

Метод индукции. Индукция - это анализ от частного к целому. Просматривая ошибки,
установленные тестами и взаимосвязи между ними, можно обнаружить причину ошибки.
Метод дедукции. Данный метод позволяет на основе некоторых предпосылок, используя операторы исключения или уточнения, обнаружить место ошибки. Необходимо просмотреть результаты всех тестов об ошибках. Выдвинутые гипотезы поочередно исключаются из рассмотрения.
Прослеживание логики в обратном порядке. Отладка начинается в точке программы, где был обнаружен некоторый неверный результат. Мысленно выполняя из данной точки программы возврат в обратном порядке и рассуждая так: "Если бы в этой точке состояние программы было таким, то в другой точке должно быть следующее состояние", можно быстро и точно локализовать ошибку.

Слайд 10

Типы ошибок

Различают следующие типы ошибок:
синтаксические ошибки (ошибки компиляции);
ошибки выполнения;
ошибки в алгоритме программы

Типы ошибок Различают следующие типы ошибок: синтаксические ошибки (ошибки компиляции); ошибки выполнения;
или его реализации (семантические).
Синтаксические ошибки возникают при нарушении правил языка. Их обнаруживает компилятор, который и выдает сообщение об ошибке, обычно устанавливая курсор в позицию, где обнаружена ошибка.

Слайд 11

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

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

Слайд 12

Ошибки выполнения (run-time errors) не нарушают синтаксис языка. Однако они приводят к

Ошибки выполнения (run-time errors) не нарушают синтаксис языка. Однако они приводят к
ошибочным операциям в процессе выполнения программы, таким например, как попытка деления на ноль или извлечение квадратного корня из отрицательного числа. При возникновении такой ошибки процессор вынужден выполнить аварийную остановку программы, на экран при этом выводится сообщение Run-time error и сообщается код ошибки, по которому можно установить ее причину.
Семантические ошибки программы при верных исходных данных и внешне безошибочной работе программы приводят к неверным результатам. Этот тип ошибок наиболее коварен и труден для исправления, т. к. пользователь, получая ошибочный результат, может посчитать его верным, поскольку никаких сообщений об ошибках не было.

Слайд 13

Таким образом, тестирование и отладка включают в себя
синтаксическую отладку;
отладку семантики и

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

Слайд 14

Методы тестирования

Метод "черного ящика". Основан на принципе "вход-выход". Программе подаются некоторые данные

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

Слайд 15

Этапы процесса тестирования

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

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

Слайд 16

Характерные ошибки программирования

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

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

Слайд 17

Ошибки в данных. Неудачное определение возможного диапазона изменения данных.
Опечатки. Перепутаны близкие по

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

Слайд 18

Проведение расчетов и анализ полученных результатов

Последний этап - это использование уже разработанной

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

Слайд 19

Сопровождение программы

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

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

Слайд 20

Единая система программной документации

Единая система программной документации (ЕСПД) — комплекс государственных стандартов,

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