Смекни!
smekni.com

Этапы разработки программы на языке программирования (стр. 1 из 3)

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

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

Введение

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

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

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

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

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

Как видно из этих рассмотрений, формализация тесно связана с. феноменом языка. Напомним, что формализованнымназывается язык, в котором за каждым словом закреплены ровно одно значение и ровно один смысл. Язык называется формальным,если жестко фиксирован алфавит и грамматика языка.

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

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

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

Структуры данных

Данные, хранящиеся в памяти компьютера представляют собой совокупность нулей и единиц (битов). Биты объединяются в последовательности: байты, слова и т.д. Каждому участку оперативной памяти, который может вместить один байт или слово, присваивается порядковый номер (адрес).

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

Любые данные могут быть отнесены к одному из двух типов: основному (простому), форма представления которого определяется архитектурой ЭВМ, или сложному, конструируемому пользователем для решения конкретных задач.

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

Некоторые структуры:

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

Запись (декартово произведение) – совокупность элементов данных разного типа. В простейшем случае запись содержит постоянное количество элементов, которые называют полями. Совокупность записей одинаковой структуры называется файлом. (Файлом называют также набор данных во внешней памяти, например, на магнитном диске). Для того, чтобы иметь возможность извлекать из файла отдельные записи, каждой записи присваивают уникальное имя или номер, которое служит ее идентификатором и располагается в отдельном поле. Этот идентификатор называют ключом.

Такие структуры данных как массив или запись занимают в памяти ЭВМ постоянный объем, поэтому их называют статическими структурами. К статическим структурам относится также множество.

Имеется ряд структур, которые могут изменять свою длину – так называемые динамические структуры. К ним относятся дерево, список, ссылка.

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

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

Постановка

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

Алгоритмизация.

Для обработки информации требуется подобрать уже известные или разработать новые алгоритмы. Фактически это первый этап формализации. Поскольку это очень важный процесс, от которого зависит не только скорость обработки информации, но и соответствие постановке, он выделяется в отдельную часть. Существует весьма сложная и объемная математическая дисциплина – «Теория алгоритмов», предметом изучения которой, в частности, как раз и является этот этап.

Кодирование.

Перевод алгоритмически описанной модели на язык программирования. Именно на этом этапе применяется нисходящее проектирование.

Комплексное тестирование и отладка.

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

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

Сопровождение.

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

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

Алгоритм и программа

Управлять компьютером нужно по определенному алгоритму. Алгоритм – это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. Такое описание еще называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования, Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы – полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется.

Написание программы на языке программирования

программа язык моделирование

Язык программирования

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

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