logo search
lection_1

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

Алгоритм – это точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи.

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

Свойства алгоритма (должны быть обеспечены при его разработке):

 Однозначность, под которой понимается единственность толкования исполнителем правил выполнения действий и порядка их выполнения.

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

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

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

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

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

- это составление программы обеспечивает возможность выполнения алгоритма и поставленной задачи исполнителем  ПК. Для этого используем алгоритмические языки программирования (например, Pascal, Basic), имеющие собственный язык, операторы, синтаксис и т.д.

3.5. Ввод программы и исходных данных

- осуществляется с клавиатуры или из файлов на жестком диске.

3.6. Компиляция (трансляция)

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

3.7. Автономная отладка программы

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

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

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

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

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

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

3.8. Комплексная отладка

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

3.9. Документирование

Выполняется, например, по ЕСПД (Единая система программной документации). Это стандарт, определяющий состав и содержание программной документации (руководство системному администратору, руководство пользователю и т.д.).

3.10. Эксплуатация

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

4. Жизненный цикл программного обеспечения

Одним из базовых понятий методологии проектирования ИВС является понятие жизненного цикла ее программного обеспечения (ПО).

4.1. Жизненный цикл ПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации.

Основным нормативным документом, регламентирующим жизненный цикл ПО, является международный стандарт ISO/IEC 12207 (ISO - International Organization of Standardization Международная организация по стандартизации, IEC - International Electrotechnical Commission Международная комиссия по электротехнике). Он определяет следующую структуру жизненного цикла ПО, основанную на трех группах процессов:

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

Модель жизненного цикла ПО зависит от специфики ИВС и специфики условий, в которых последняя создается и функционирует. Регламенты жизненного цикла ПО являются общими для любых моделей жизненного цикла, методологий и технологий разработки. Стандарт ISO/IEC 12207 описывает структуру процессов жизненного цикла ПО, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы. К настоящему времени наибольшее распространение получили следующие две основные модели жизненного цикла ПО.

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

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