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

11

определенная функциональная полнота, продукт можно предоставлять пользователю, что позволяет:

сократить время до появления первых версий программного продукта;

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

ускорить формирование и уточнение спецификаций за счет появления практики использования продукта;

уменьшить вероятность морального устаревания системы за время разработки.

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

Изменение ЖЦ ПО при использовании CASE-технологий.

CASE-технологии представляют собой совокупность методологий анализа, проектирования,

разработки и сопровождения сложных программных систем, основанных на структурном и на объектном подходах, которые поддерживаются комплексом взаимосвязанных средств автоматизации. В

основе любой CASE-технологии лежит парадигма методология/метод/нотация/средство.

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

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

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

• CASE-средства анализа требований, проектирования спецификаций и структуры,

редактирования интерфейсов (первое поколение CASE-I);

• CASE-средства генерации исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла разработки программного обеспечения (2ое поколение CASE-II).

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

верификацию и анализ сгенерированных программ.

Автоматизируя трудоемкие операции, CASE-средства существенно повышают производительность труда программистов и улучшают качество создаваемого ПО. Они:

12

обеспечивают автоматизированный контроль совместимости спецификаций проекта;

уменьшают время создания прототипа системы;

ускоряют процесс проектирования и разработки;

автоматизируют формирование проектной документации для всех этапов ЖЦ;

частично генерируют коды программ для различных платформ разработки;

поддерживают технологии повторного использования компонентов системы;

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

Появление CASE-технологий изменило все этапы ЖЦ ПО, наибольшие изменения касаются анализа и проектирования, которые предполагают строгое и наглядное описание разрабатываемого ПО.

В табл. 1 показано, какие качественные изменения процесса разработки ПО происходят при переходе к использованию CASE-средств.

 

Таблица 1.

 

 

 

Традиционная разработка

Разработка с использованием CASE-средств

 

 

 

 

Основные усилия на кодирование и

Основные усилия на анализ и проектирование

 

тестирование

 

 

 

 

 

«Бумажные» спецификации

Быстрое итерационное прототипирование

 

 

 

 

Ручное кодирование

Автоматическая генерация кодов

 

 

 

 

Ручное документирование

Автоматическая генерация документации

 

 

 

 

Тестирование кодов

Автоматический контроль проекта

 

 

 

 

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

Сопровождение спецификаций проектирования

 

 

 

 

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

Ускорение разработки программного обеспечения. Технология RAD

Разработка спиральной модели ЖЦ ПО и CASE-технологий позволили сформулировать условия, выполнение которых сокращает сроки создания ПО.

Технологии проектирования, разработки и сопровождения ПО, должна отвечать требованиям:

поддержка полного ЖЦ ПО;

гарантированное достижение целей разработки с заданным качеством и в установленное время;

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

минимальное время получения работоспособной системы;

13

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

независимость выполняемых проектных решений от средств реализации (СУБД, операционных систем, языков и систем программирования);

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

Этим требованиям отвечает технология RAD (Rapid Application Development – Быстрая разработка приложений). Эта технология ориентирована на максимально быстрое получение первых версий разрабатываемого ПО. Она предусматривает выполнение следующих условий:

ведение разработки небольшими группами разработчиков (3-7 человек), каждая из которых проектирует и реализует отдельные подсистемы проекта – позволяет улучшить управляемость проекта;

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

наличие четко проработанного графика цикла, рассчитанного не более чем на три месяца,

существенно увеличивает эффективность работы.

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

На этапе анализа и планирования требований формулируют наиболее приоритетные требования,

что ограничивает масштаб проекта.

На этапе проектирования, используя CASE-средства, детально описывают процессы системы,

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

Функциональная точка в RAD – это любой из функциональных элементов разрабатываемой системы:

входной элемент приложения (входной документ или экранная форма);

выходной элемент приложения (отчет, документ или экранная форма);

запрос (пара «вопрос/ответ»);

логический файл (совокупность записей данных, используемых внутри приложения);

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

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

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

Далее разработка ведется группами разработчиков, которые продолжают прорабатывать свои

14

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

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

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

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

Технология RAD хорошо зарекомендовала себя для относительно небольших проектов,

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