Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
240
Добавлен:
22.08.2013
Размер:
318.97 Кб
Скачать

2.5. Процессы жц по

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

Основным нормативным документом, регламентирующим состав процессов ЖЦ ПО, является (слайд 7) международный стандарт ISO/IEC 12207: 1995 “Information Technology – Software Life Cycle Process”. Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО. Российский аналог этого стандарта – ГОСТ Р ИСО/МЭК 12207-99, введен в действие в июле 2000 г.

В соответствии с базовым международным стандартом ISO/IEC 12207 все процессы ЖЦ ПО делятся на три группы (слайд 8):

Основные процессы определяют основные действия и задачи, выполняемые в ходе ЖЦ ИС.

Вспомогательные процессы предназначены для поддержки выполнения основных процессов, обеспечения качества проекта, органи­зации верификации, проверки и тестирования ПО.

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

Позднее был разработан и в 2002 г. опубликован стандарт на процессы жизненного цикла систем (ISO/IEC 15288 System life cycle processes). Был учтен практический опыт создания систем в правительственных, коммерческих, военных и академических организациях. Стандарт применим для широкого класса систем, но его основное предназначение - поддержка создания компьютеризированных систем.

Согласно стандарту ISO/IEC серии 15288 в структуру ЖЦ следует включать указанные на слайде 9 группы процессов:

Стадии создания системы, предусмотренные в стандарте ISO/IEC 15288, несколько отличаются от рассмотренных выше (слайд 10).

2.6. Rapid Application Development (rad)

Rapid Application Development (RAD) – это жизненный цикл процесса проектирования, созданный для достижения более высоких скорости разработки и качества ПО, чем это возможно при традиционном подходе к проектированию.

Подход RAD предусматривает наличие трех составляющих:

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

  • короткого, но тщательно проработанного производственно­го графика (до трех месяцев);

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

Жизненный цикл ПО в соответствии с подходом RAD состо­ит из четырех стадий (слайд 11):

  • анализ и планирование требований;

  • проектирование;

  • реализация;

  • внедрение.

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

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

После детального определения состава процессов оценивается количество функциональных элементов разрабатываемой системы и принимается решение о разделении ИС на подсистемы, поддающиеся реализации одной командой разработчиков за приемлемое для RAD-проектов время (60 - 90 дней). С использованием CASE-средств проект распределяется между различными командами (делится функциональная модель). Результатом данной фазы должны быть: общая информационная модель системы; функциональные модели системы в целом и подсистем, реализуемых отдельными командами разработчиков; точно определенные с помощью CASE-средств интерфейсы между автономно разрабатываемыми подсистемами; построенные прототипы экранов, отчетов, диалогов.

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

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

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

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

  • определяется необходимость распределения данных;

  • осуществляется анализ использования данных;

  • производится физическое проектирование базы данных;

  • определяются требования к аппаратным ресурсам;

  • определяются способы увеличения производительности;

  • завершается разработка документации проекта.

Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.

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

Основные принципы подхода RAD:

  • Работа ведется группами. Типичный состав группы - руководитель, аналитик, два программиста, технический писатель. Если проект сложный, то для него может быть выделено несколько RAD-групп.

  • разработка приложений итерациями; Разработка системы и предъявление ее заказчику осуществляется в виде последовательности развиваемых прототипов. Число прототипов определяется на основе учета разных параметров – размера проекта, анализа рисков, пожеланий заказчика и т. д.

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

  • Разработка проекта выполняется в условиях тесного взаимодействия между разработчиками и Заказчиком

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

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

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

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

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

  • RAD группа всегда работает только над одним прототипом. Это обеспечивает единство целей, лучшую наблюдаемость и управляемость процессом разработки, что в итоге повышает качество конечного продукта.

  • Если проект сложный, то для него может быть выделено несколько RAD групп. Большие системы разбиваются на подсистемы. Каждая подсистема разрабатывается независимой группой.

Применение технологии RAD целесообразно, когда:

  • требуется выполнение проекта в сжатые сроки (90 дней).

  • нечетко определены требования к ПО.

  • проект выполняется в условиях ограниченности бюджета.

  • интерфейс пользователя (GUI) есть главный фактор.

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

  • ПО не обладает большой вычислительной сложностью.

Соседние файлы в папке Lekcii