Автор работы: Пользователь скрыл имя, 26 Сентября 2013 в 18:15, реферат
CASE-системами или CASE-технологиями называют реализованные в виде программных продуктов технологические системы, ориентированные на создание сложных программных систем и поддержку их полного жизненного цикла или его основных этапов. В настоящее время CASE-технологии прочно вошли в практику программной индустрии. При этом они используются не только для производства ПП, но и как мощный инструмент решения исследовательских и проектных задач
CASE- технологии
CASE-системами или CASE-технологиями называют реализованные в виде программных продуктов технологические системы, ориентированные на создание сложных программных систем и поддержку их полного жизненного цикла или его основных этапов. В настоящее время CASE-технологии прочно вошли в практику программной индустрии. При этом они используются не только для производства ПП, но и как мощный инструмент решения исследовательских и проектных задач. Такие задачи включают структурный анализ предметной области, моделирование деловых предложений с целью решения задач оперативного и стратегического планирования и управления ресурсами - тех видов деятельности, на который в России в ближайшее время ожидается большой спрос.
CASE-технологии являются естественным продолжением эволюции всей отрасли разработки ПО. Традиционно выделяют 6 периодов, качественно отличающихся применяемой техникой и методами разработки ПО.
В качестве инструментальных
средств в эти периоды
n ассемблеры, дампы памяти, анализаторы;
n компиляторы, интерпретаторы, трассировщики;
n символические отладчики, пакеты программ;
n систем анализа и управления исходными текстами;
n CASE-средства анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов( 1-ая генерация CASE-1;
n CASE-средства генерации исходных текстов и реализации интегрированного окружения поддержки полного ЖЦ разработки ПО (2-ая генерация CASE-II).
Таким образом, CASE-средства являются результатом естественного эволюционного развития отрасли инструментальных (или технологических) средств. CASE-технологии начали развиваться с целью преодоления ограничений методологии структурного программирования. Эта методология, несмотря на формализацию в составлении программ, характеризуется все же сложностью понимания, большой трудоемкостью и стоимостью использования, трудностью внесения изменений в проектные спецификации. Однако заложенные в ней принципы позволили развивать эту методологию и повысить ее эффективность за счет автоматизации наиболее рутинных этапов. Напомню, что автоматизация рутинных работ возможна только в случае их формализации. Формализация в структурном программировании оказалась наиболее приемлемой для автоматизации.
CASE обладают следующими основными достоинствами:
- улучшают качество создаваемого ПО за счет средств автоматического контроля, прежде всего , контроля проекта;
- позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат;
- ускоряют процесс проектирования и разработки;
- позволяют разработчику больше времени уделять творческой работе по созданию ПО, освобождая его от рутинной работы;
- поддерживают развитие и сопровождение разработки (заметим, что этот аспект не затрагивался ни одной из рассмотренных нами технологий проектирования);
- поддерживают технологии повторного использования компонент разработки).
При использовании CASE-технологий изменяются фазы жизненного цикла ПП как показано ниже:
При традиционной технологии: При CASE-технологии:
Анализ Прототипирование
Проектирование Проектирование спецификаций
Контроль проекта
Кодирование Кодогенерация
Тестирование Системное тестирование
Сопровождение Сопровождение
Необходимо отметить,
что наиболее просто автоматизируемыми
фазами в CASE-технологии оказались
контроль проекта и кодогенерация, хотя
все другие фазы ЖЦ также поддерживаются CASE-
Технология |
Этапы разработки | |||
Анализ |
Проектирование |
Кодирование |
Тестирование | |
традиционная |
20% |
15% |
20% |
45% |
CASE-1 |
30% |
30% |
15% |
25% |
CASE-11 |
40% |
40% |
5% |
15% |
В следующей таблице сравниваются цели и содержание этапов при традиционной разработке и с применением CASE-средств.
№ п/п |
Традиционная разработка |
CASE-технология |
1 |
Основные усилия - на кодирование и тестирование |
Основные усилия - на анализ и проектирование |
2 |
‘Бумажные’ спецификации |
Быстрое итеративное прототипирование |
3 |
Ручное кодирование |
Автоматическая кодогенерация |
4 |
Ручное документирование |
Автоматическая генерация документации |
5 |
Тестирование кодов |
Автоматический Контроль проекта |
6 |
Сопровождение кодов |
Сопровождение специфи- каций проектирования |
Модель ЖЦ ПО определяет порядок выполнения этапов, а также критерии перехода от этапа к этапу.
Традиционная модель ЖЦ ПО строится по каскадному принципу ( переход на следующий этап происходит после окончания работ по предыдущему этапу) или по поэтапному принципу с промежуточным контролем (с циклами обратной связи между этапами, что предполагает корректировки в процессе проектирования, но растягивает все этапы на весь период разработки).
CASE-технология базируется
на спиральной модели ЖЦ ПП,
суть которой в следующем.
Специалистами отмечаются следующие преимущества спиральной модели:
n накопление и повторное использование программных средств, моделей и прототипов;
n ориентация на развитие и модификацию ПО в процессе проектирования;
n анализ риска и издержек в процессе проектирования.
Чем же принципиально CASE-технология отличается от традиционной?
Для ответа на этот вопрос несколько отвлечемся и вспомним, что нас интересует прежде всего, если мы встречаем предмет, который раньше никогда не видели? Смею утверждать, что это будут вопросы ‘Что оно делает?’ и ‘ Из чего оно состоит?’. Ответы на эти вопросы представляют собой функциональный и структурный аспект описания объекта. Исторически так сложилось, что при проектировании новых объектов структурный аспект отражается в виде схем (принципиальные электрические схемы, механические схемы, комбинированные схемы и т.п.). Так вот CASE-технологии иначе еще называют структурным системным анализом, что отражает тот факт, что и функционирование объекта (в рассматриваемом случае разрабатываемого ПО) отражается в различных схемах, таблицах, диаграммах, матрицах, картах и т.п. Можно смело утверждать, что девизом разработчиков CASE-технологий является фраза ‘одна картинка стоит тысячи слов’.
Некоторые из элементов CASE-технологий Вы будете изучать в последующих курсах.
Большинство CASE-технологий основано на парадигме методология/метод/нотация/ средство. Понятия методологии и метода мы с Вами уже давали.
Под нотацией понимаются правила формализованного описания структуры системы, элементов данных и других ее компонентов с помощью схем, диаграмм, формальных и естественных языков. Например, в качестве миниспецификаций некоторые CASE-технологии используют таблицы решений. Правила построения такой таблицы и представляют собой нотацию.
Средства - это инструментарий поддержки методов. Реализуются средства в ПО, которое создает среду разработчика ПО. Эти инструменты поддерживают работу пользователей-разработчиков при создании и редактировании проекта в интерактивном режиме, они выполняют проверки соответствия компонентов и кодируют на некотором языке программирования модули ПО (кодогенерация).
Следует отметить, что используемые в методологии структурного анализа средства весьма разнообразны, Наиболее часто и эффективно используются следующие:
n DFD ( Data Flow Diagrams) - диаграммы потоков данных, совместно со словарями данных и спецификациями процессов или миниспецификациями;
n ERD ( Entity-Relationship Diagrams) - диаграммы ‘сущность -связь’;
n STD (State Transition
Современные структурные
методологии анализа и
n по отношению к школам - Software Engineering (SE) и Information Engineering (IE);
n по порядку построения моделей - процедурно-ориентированные, ориентированные на данные и информационно-ориентированные;
n по типу целевых систем - для систем реального времени и для информационных систем.
Основная особенность систем реального времени заключается в том, что они контролируют и контролируются внешними событиями: своевременное реагирование на эти события (отклик должен следовать не позднее регламентированного временного интервала) - основная и первоочередная функция таких систем. Другие отличия информационных систем от систем реального времени сведены в таблицу.
Информационные системы |
Системы реального времени |
Управляются данными |
Управляются событиями |
Сложные структуры данных |
Простые структуры данных |
Большой объем входных данных |
Малое количество входных данных |
Интенсивный ввод-вывод |