Технологический процесс создания программных продуктов

Автор работы: Пользователь скрыл имя, 22 Мая 2013 в 23:03, курсовая работа

Описание работы

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

Содержание работы

Введение 3
Глава 1. Технология разработки программных продуктов 4
1.1 Основные этапы технологического процесса разработки
Программ 4
1.2 Критерии качества программного изделия 5
1.3 Правила хорошего стиля 6
1.4 Выбор алгоритма 8
1.5 Трудоемкость, эффективность и сложность алгоритма 8
1.6 Итерация и рекурсия 10
1.7 Способы описания алгоритмов 12
Глава 2. Языки программирования 14
2.1 Способы и методы оптимизации 15
2.2 Структурное программирование 15
2.3 Вычисление констант 17
Глава 3. Отладка 19
3.1 Виды ошибок 19
3.2 Обнаружение ошибок 22
3.3 Тестирование 24
Заключение 26
Список использованной литературы 27

Файлы: 1 файл

технология программирования - копия.docx

— 51.45 Кб (Скачать файл)

•программа выдает неверные результаты

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

Синтаксические  ошибки

 

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

В качестве примеров синтаксических ошибок можно  назвать:

•пропуск необходимого знака пунктуации

•несогласованность скобок

•пропуск нужных скобок

•неправильное формирование оператора

•неверное образование имени переменной

•неправильное использование арифметических операторов

•неверное написание зарезервированных слов

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

1.Противоречивые команды.

2.Отсутствие условий окончания цикла.

3.Дублирование или отсутствие меток.

4.Отсутствие описания массива.

5.Запрещенный переход.

Советы  по устранению ошибок:

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

2.Обратиться к руководству по программированию на данном языке (справка).

3.Выбрать хороший отладочный компилятор.

Неопределенные  переменные.

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

Определение начальных значений:

1.Присваивание.

2.Ввод.

3.Чтение из файла.

Разные прогоны  программы с одними и теми же данными  могут привести к различным результатам.

 

3.2 Обнаружение ошибок

 

Ситуации, по которым мы определяем, что в  программе есть ошибка:

1.Отсутствует уверенность в том, что программа начала выполняться.

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

3.Программа начала выполняться, но зациклилась.

4.Программа выдала неправильную информацию.

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

•точки обнаружения

•точки происхождения

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

Действительная  ошибка исходит не из точки обнаружения, а из точки происхождения.

 

Виды  отладки. Защитное программирование

 

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

Если  результаты не верны, возможны следующие  ситуации:

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

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

3.  Программа скомпилирована, работает, но происходит преждевременный останов. Ошибки, приводящие к преждевременному прекращению работы и сопровождаемые затем сообщением о системной ошибке, называют "взрывами " или "воронками".

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

5.  Программа зациклилась. На этом этапе отладки необходимо произвести разбор циклов.

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

Защитное  программирование - это встраивание  отладочных средств в программу. Примером защитного программирования может служить метод заглушек при кодировании сверху вниз.

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

 

Причины необходимости тестирования:

1.Сложность программ

2.Возможны отклонения от правильного понимания спецификации программы

3.Пользователь может вносить изменения в постановку задачи.

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

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

2.  Метод "белого ящика". В этом методе тестовые данные получают путем анализа логики программы.

Категории тестовых данных.

Существует  методология относящаяся к методу ящика, которая называется эквивалентным  разбиением.

Согласно  ей:

1. Выделяют классы эквивалентности.

2. Строят  тесты

Различают 2 типа классов эквивалентности:

•правильные (представляющие правильные входные данные)

•неправильные (ошибочные входные данные)

 

Необходимо  сосредоточить внимание на неправильных и неожиданных условиях.

• если входное условие описывает область значений, то определяется один правильный класс и 2 неправильных.

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

• если входное условие описывает ситуацию "должна быть", то определяется 1 правильный и 1 неправильный классы.

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

Построение  тестов включает в себя:

1. Назначение каждому классу эквивалентности уникального №

2.  Проектирование новых тестов, каждый из которых покрывает как можно большее количество неоткрытых правильных классов.

3.  Запись тестов, каждый из которых покрывает 1 и только 1 из непокрытых неправильных классов.

Данные  для тестирования.

1. В качестве некоторых тестовых данных используют экстремальные значения. Например, если целая величина должна находиться в диапазоне от a до b, то следует проверить: a-1, a, a+1, b-1, b, b+1.

2.  Используют специальные значения. К ним относятся: константы, 0, 1, пустая строка, пустой файл, строка из одного символа и т.д.

3.  Для циклов, организованных с помощью оператора Do, выбрать значения, при которых цикл выполняется 0, 1 и максимальное число раз.

 

 

 

 

 

 

 

 

Заключение

 

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

Также были охарактеризованы основные виды программного продукта, такие как часто используемые программы, программы написанные не программистами, производственные программы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы

 

  1. Голицына О.Л., Партыка Т.Л., Попов И.И., Языки программирования, 2008
  2. Лавров С.С. Программирование - Математические основы, средства, теория
  3. Уоррен Г. Алгоритмические трюки для программистов
  4. Т. Пратт, М. Зелковиц. Языки программирования - Разработка и реализация

Информация о работе Технологический процесс создания программных продуктов