Технологический цикл обработки информации на компьютере

Технологический цикл решения задачи на ЭВМ

1.1. ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ РЕШЕНИЯ ЗАДАЧИ НА ЭВМ

В общем виде решение любой задачи с использованием компьютера предполагает реализацию по меньшей мере следующих восьми этапов: 1) постановка задачи; 2) формализация задачи; 3) выбор технологии программирования; 4) разработка алгоритма; 5) составление программы на выбранном языке программирования и ее отладка; 6) тестирование программы; 7) документирование программы, проведение расчетов; 8) использование полученных результатов.

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

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

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

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

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

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

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

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

На последнем этапе разработанная программа уже используется для решения практических задач.

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

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

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

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

Наиболее часто используют классическую (каноническую) водопадную (waterfall) модель, спиральную модель и модель, основанную на использовании средств быстрой разработки приложений.

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

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

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >