Технологии разработки программ

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

Метод структурного программирования - это метод разработки и записи программ, ориентированные на максимальное удобство для ясного понимания программ человеком. При этом фрагменты программ должны следовать друг за другом, должна четко прослеживаться логика программы, должны быть исключены "скачки" на дальние фрагменты программы. Это программирование без оператора "go to".

Этот метод существенно помогает в формализации создания программ. Он предполагает: 1) Использование небольшого числа алгоритмических конструкций, реализуемых соответствующими операторами языка. 2) Нисходящее проектирование программы, когда первоначально программа рассматривается как совокупность действий, каждое из которых затем детализируется и представляется как последовательность более простых и конкретных действий и т.д. вплоть до отдельных операторов языка. 3) Использование принципа сосредоточения функций, когда та или иная подпрограмма реализует какую-то одну функцию. 4) Соответствующее представление данных с использованием большого числа разнообразных типов и т.д.

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

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

· Не создавать большие программные модули.

· Логически завершенные последовательности операторов оформлять в виде подпрограмм (отлаживая их отдельно, легче локализовать и исправить ошибки).

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

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

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

· Идентификаторам программы давать имена, отражающие их суть.

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

· Использовать комментарии. Особенно для связанных групп операторов или даже для отдельных операторов, если нужно подчеркнуть их особенности и т.д.

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

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

Методология быстрой разработки приложений RAD (Rapid Application Development) в последнее время стала одним из возможных подходов к разработке ПО в рамках спиральной модели жизненного цикла ПО и получила широкое распространение.

Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента: 1) небольшую команду программистов (2-10 человек); 2) короткий, но тщательно проработанный производственный график (от 2 до 6 мес.); 3) повторяющийся цикл, при котором разработчики, по мере того, как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, полученные через взаимодействие с заказчиком.

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

Основные принципы методологии RAD - это:

· разработка приложений итерациями;

· необязательность полного завершения работ на каждом из этапов жизненного цикла ПО;

· обязательное вовлечение пользователей в процесс разработки ИВС;

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

· использование прототипов, позволяющее полнее выяснить и удовлетворить потребности конечного пользователя;

· тестирование и развитие проекта, осуществляемые одновременно с разработкой;

· ведение разработки немногочисленной хорошо управляемой командой профессионалов;

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

"Быстрая разработка ПО" появилась в США в 2001г. и базируется на следующих идеях: 1) Работающее ПО ценится выше всеобъемлющей документации. 2) Сотрудничество с заказчиками ценится выше формальных договоров. 3) Реагирование на изменения ценится выше строгого следования плану.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: