Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПорядокВыполнения-КР.doc
Скачиваний:
9
Добавлен:
09.02.2015
Размер:
182.27 Кб
Скачать

лист 17 листов 17

Курсовая работа

Порядок выполнения курсовой работы

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

Первым этапом является постановка задачи. На этом этапе основным является вопрос «ЧТО». Что является существом задачи? Что задано? Что нужно получить? Что должна делать программа, решающая задачу? Что нужно предъявить программе для решения задачи? Что делать, если предъявленные данные некорректны? Можно задать много вопросов такого типа. Для того чтобы систематизировать эти вопросы и ответы на них, полезно различать специальные формы постановки задачи, например такие, как: содержательная постановка задачи, формальная постановка задачи, разработка спецификации программы. В результате выполнения первого этапа появляется точное, полное и понятное описание задачи (и программы – с точки зрения того, что она должна делать), учитывающее как существо и особенности собственно решаемой задачи, так и все особенности, связанные с её решением на ЭВМ (компьютере). Такая окончательная постановка задачи обычно называется спецификацией (описанием) задачи (программы).

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

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

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

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

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

Перечень разделов курсовой работы

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