МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Институт математики и компьютерных наук
Кафедра математики и информатики
Курсовая работа
По дисциплине: «Основы программирования»
На тему:
Этапы разработки программ. Тестирование и отладка. Документирование программ
Оглавление
Введение
Глава 1. Этапы разработки программ
1.1 Постановка задачи
1.1.1 Формулировка и анализ физической задачи
1.1.2. Составление математической модели
1.1.3 Составление алгоритма задачи
1.2 Создание программы
1.2.1 Составление текста программы
1.2.2 Синтаксическая отладка программы
1.2.3 Тестирование и семантическая отладка
1.3 Документирование программы
1.3.1 Пользовательская документация программы
1.3.2 Документация по сопровождению программы
1.4 Запуск готовой программы и анализ полученных результатов
Внедрение электронно-вычислительных машин, современных средств переработки и передачи информации послужило началом нового процесса, называемым информатизацией общества. Широкое распространение получил научно-технический прогресс. В настоящее время одним из направлений научно-технического прогресса является компьютеризация практически всех сфер человеческой деятельности.
Сейчас компьютер является неотъемлемой частью работы людей. Компьютеры используются в школах и университетах. Они помогают систематизации полученные данных, как в рабочих целях, так и в учебных. Но, ни один компьютер не обходится без программ и программных обеспечений.
Целью данной курсовой работы является рассмотрение не маловажной, для начинающих программистов, темы - «Этапы создания программы». Практическое применение теоретических навыков было опробовано в процессе написания программного приложения - игра «Виселица». Что также стало целью данной курсовой.
Глава 1. Этапы разработки программ
Разработка программы – это не только написание программы. Написание программы является одним из этапов. Для начала перечислим все этапы разработки программ, а затем подробно расскажем о них.
Этапы разработки программ:
1. Постановка задачи
1. Формулировка и анализ физической задачи
2. Составление математической модели
3. Составление алгоритма задачи
2. Создание программы
1. Составление текста программы
2. Ввод текста программы в компьютер
3. Синтаксическая отладка программы
4. Тестирование и семантическая отладка
5. Документирование программы
3. Запуск готовой программы и анализ полученных результатов
Рассмотрим подробно каждый этап.
Первый этап - это этап разбора задачи по кусочкам, для упрощения написания программы. Его ещё называют математическим этапом.
Формулировка задачи – это само её объявление, её постановка.
Но просто формулировка ничем не поможет программистам. Для этого и существует второй подэтап – это анализ задачи.
Анализ задачи – это подробный просмотр задачи с определением и выявлением входной и выходной информации. (Входная информация по задаче — это данные, поступающие на вход задачи и используемые для её решения. Выходная информация – это результат.)
После проведения анализа поставленной задачи программисту более или менее понятно, с какими проблемами ему придется столкнуться.
Начнем опять же с определения. Для более четкого понимания рассмотрим определения математической модели, объявленные в разных (математических, физических, экономических и т.д.) источниках и попробуем создать собственное определение, подходящее для программирования.
«Математическая модель - система уравнений и концепций, используемых для описания и прогнозирования данного феномена или поведения объекта. Математические модели находят как практическое, так и теоретическое применение (иногда одновременно). Практические задачи, в которых используются математические модели, включают создание новых материалов, предсказание погоды, проверку прочности мостов, самолетов и тому подобного» - это определение используется в физике, химии и математической биологии.
«Математическая модель — это упрощенное описание реальности с помощью математических понятий. Существует два основных класса задач, связанных с математическими моделями: прямые и обратные. В первом случае все параметры модели считаются известными, и нам остается только исследовать её поведение. А во втором какие-то параметры модели неизвестны, и требуется их найти, сопоставляя поведение реальной системы с её моделью.» - данное определение используется в основном в экономике.
«Математическая модель — это математическое представление реальности» - это определение созданное математиками.
Делаем выводы: математическая модель в программировании – это система математических соотношений, приближенно отражающий сформулированную задачу. И она позволяет осуществить предварительный выбор оптимальных вариантов решений по определенным критериям.
Создание математической модели не займет у нас много времени, т.к. мы должны были подробно разобрать задачу по предыдущему пункту.
Изначально появление алгоритма связывают с возникновением математики. Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
У алгоритма есть 2 обязательных условия:
· Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
· Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.
Так же у алгоритмов есть свойства:
1. Дискретность, т. е. алгоритм должен состоять из конкретных действий, следующих в определенном порядке.
2. Детерминированность, т. е. любое действие должно быть строго и недвусмысленно определено в каждом случае.
3. Конечность, т. е. каждое действие и алгоритм в целом должны иметь возможность завершения.
4. Массовость, т. е. один и тот же алгоритм можно использовать с разными исходными данными.
5. Результативность, т. е. отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях.
В мире существует несколько видов алгоритмов:
· Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
· Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено условие);
· Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий);
Процесс создание программы, а точнее разработка программного обеспечения – это второй этап создания программы.
Это, наверное, самый сложный из этапов, требующий наибольшего внимания. По сути, составление текста программы – это запись алгоритма задачи при помощи одного из языков программирования. Чтобы этот текст был понятен пользователю и составителю, используются комментарии.
Отладка программы — это специальный этап в разработке программы, состоящий в выявлении и устранении программных ошибок, факт существования которых уже установлен.
Синтаксическая отладка – поиск синтаксических ошибок в тексте программы. Обнаружив ошибку, транслятор выводит сообщение, указывая на место ошибки в программе и ее характер. Получив такое сообщение, программист должен исправить ошибку и снова повторить трансляцию. Так продолжается до тех пор, пока не будут исправлены все синтаксические ошибки.
Если вы сталкиваетесь с синтаксической ошибкой, то чаще всего вы можете решить проблему с помощью справочной системы, из которой можно получить дополнительную информацию об ошибке, и исправить эту ошибку, уделив дополнительное внимание точному синтаксису используемых вами функций, объектов, методов и свойств.
Тестирование – это динамический контроль программы, т.е. проверка правильности программы при ее выполнении на компьютере.
Каждому программисту известно, сколько времени и сил уходит на отладку и тестирование программ. На этот этап приходится около 50% общей стоимости разработки программного обеспечения. Но не каждый из разработчиков программных средств может верно, определить цель тестирования. Нередко можно услышать, что тестирование - это процесс выполнения программы с целью обнаружения в ней ошибок. Но эта цель недостижима: ни какое самое тщательное тестирование не дает гарантии, что программа не содержит ошибок. Другое определение: это процесс выполнения программы с целью обнаружения в ней ошибок. Отсюда ясно, что “удачным” тестом является такой, на котором выполнение программы завершилось с ошибкой. Напротив, “неудачным” можно назвать тест, не позволивший выявить ошибку в программе. Определение также указывает на объективную трудность тестирования: это деструктивный ( т.е. обратный созидательному ) процесс. Поскольку программирование - процесс конструктивный, ясно, что большинству разработчиков программных средств сложно “переключиться” при тестировании созданной ими продукции. Основные принципы организации тестирования: