Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
29. Применение CASE-средств
4.1.6. CASE-технологии
CASE-технологии (Computer-Aided Software/System Engineering разработка программного обеспечения/систем с использованием компьютерной поддержки) это реализованные в виде программных продуктов технологические системы, ориентированные на создание сложных программных систем и поддержку их полного жизненного цикла или его основных этапов.
В настоящее время CASE-технологии используются не только для производства ПП, но и как мощный инструмент решения исследовательских и проектных задач (структурный анализ предметной области, моделирование деловых предложений с целью решения задач оперативного и стратегического планирования и управления ресурсами) [53].
CASE-технологии начали развиваться в связи с развитием методологии структурного программирования. Их развитие стадо возможным благодаря тому, что формализация в структурном программировании оказалась наиболее приемлемой для автоматизации. Таким образом, CASE-средства являются результатом эволюционного развития отрасли инструментальных (или технологических) средств.
CASE-средства обладают следующими основными достоинствами:
• повышают качество создаваемого ПО с помощью средств автоматического контроля;
• ускоряют процесс проектирования и разработки;
• позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат;
• освобождают разработчика от рутинной работы, частично генерируя коды программ;
• поддерживают технологии повторного использования компонентов ПО;
• поддерживают развитие и сопровождение разработки.
При использовании CASE-технологий изменяются фазы жизненного цикла программного продукта, как показано в табл. 4.2.
Таблица 4.2. Сравнительная характеристика этапов жизненного цикла ПО
Наиболее просто автоматизируемыми оказались стадии «контроль проекта» и «кодогенерация», хотя все остальные этапы жизненного цикла ПО также поддерживаются CASE-технологиями. Кроме изменения содержания фаз, существенно изменилось распределение трудозатрат по фазам, как показано в табл. 4.3.
Таблица 4.4 содержит сравнительную характеристику целей и содержания этапов жизненного цикла ПО при традиционной разработке и с помощью CASE-средств.
Таблица 4.4. Цели и содержание этапов жизненного цикла ПО
CASE-технология базируется на спиральной модели жизненного цикла ПО. На начальных этапах жизненного цикла (анализ требований, проектирование спецификаций, предварительное и детальное проектирование) проверяется и обосновывается реализуемость технических решений путем создания прототипов.
Эта работа повторяется на каждом витке спирали, причем каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Окончанием витка является уточнение целей и характеристик проекта и планирование работ следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования.
Чем же принципиально CASE-технология отличается от традиционной технологии разработки ПО?
Девизом разработчиков CASE-технологий является фраза «одна картинка стоит тысячи слов». Поэтому при использовании CASE-средств функционирование объекта (разрабатываемого ПО) отражается в различных схемах, таблицах, диаграммах, картах и т. п.
Большинство CASE-технологий основано на парадигме методология/метод/нотация/средство.
Методология на основе некоторого подхода определяет шаги работы, их последовательность, а также правила распределения и назначения методов.
Метод определяет способ достижения той или иной цели.
Нотацией называют систему обозначений, используемых для описания структуры системы, элементов данных, этапов обработки и других компонентов. Нотации могут быть графические (представление моделей в виде таблиц, графов, диаграмм, схем и т. п.) и текстовые (описания моделей на формальных и естественных языках).
Средства инструментарий для поддержки методов. Эти инструменты обеспечивают работу пользователей-разработчиков при создании и редактировании проекта в интерактивном режиме, выполняют проверки соответствия компонентов и кодируют на некотором языке программирования модули ПО.
Наиболее часто и эффективно в методологии структурного анализа используются следующие средства:
• DFD (Data Flow Diagrams) диаграммы потоков данных совместно со словарями данных и спецификациями процессов;
• ERD (Entity-Relationship Diagrams) диаграммы «сущностьсвязь»;
• STD (State Transition Diagrams) диаграммы переходов состояний.
Современные структурные методологии анализа и проектирования классифицируются по следующим признакам:
• по типу целевых систем для систем реального времени и для информационных систем;
• по отношению к школам Software Engineering (SE) и Information Engineering (IE);
• по порядку построения моделей процедурно-ориентированные, ориентированные на данные и информационно-ориентированные.
В табл. 4.5 приведены отличия информационных систем от систем реального времени.
SE применяется при разработке как информационных систем, так и систем реального времени и реализует нисходящий подход к проектированию ПО. Эта дисциплина более апробирована, так как появилась раньше IE.
IE используется для проектирования информационных систем. Она новее, чем SE, и имеет более широкую область применения, поскольку является дисциплиной построения систем вообще, а не только систем ПО.
Различие в порядке построения моделей трактуется следующим образом. Традиционный процедурно-ориентированный подход регламентирует первичность проектирования функциональных компонентов по отношению к проектированию структур данных. При подходе, ориентированном на данные, вход и выход являются наиболее важными структуры данных определяются первыми, а процедурные компоненты являются производными от данных. Информационно-ориентированный подход позволяет работать с неиерархическими структурами данных.
Ниже приводится деление CASE-средств по функциональным характеристикам.
Анализ и проектирование
Данные средства применяются для проектирования и создания спецификаций программной системы, поддерживают SE и IE:
• CASE-аналитик (Эйтекс);
• POSE (Computer Systems Advisers);
• Design/IDEF (Meta Software);
• BPWin (Logic Works);
• SELECT (Select Software Tools);
• CASE/4/0 (micro TOOl GmbH);
• и ряд других средств.
Проектирование баз данных и файлов
Технологии данной группы служат для логического моделирования данных, автоматического преобразования моделей в третью нормальную форму, автоматическую генерацию схем баз данных и описаний форматов файлов на уровне программного кода:
. ERWin (Logic Works);
• S-Designor (SPD);
• Designtr/2000 (Oracle);
• Sillverrun (Computer Systems Advisers).
Программирование
Данные средства позволяют получать из спецификаций полностью документированную выполняемую программу, поддерживают кодогенерацию и тестирование:
• COBOL 2/Workbench (Mikro Focus);
• DECASE (DEC);
• NETRON/CAP (Netron);
• APS (Sage Softwfre).
Сопровождение и реинжиниринг
К этим средствам относятся документаторы, анализаторы программ, средства реструктурирования:
• Adpac CASE Tools (Adpac);
• Scan/COBOL и Superstructure (Computer Data Systems);
• Inshtctor/Recoder (language Tecnologe).