КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
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-средств.
Модель ЖЦ ПО определяет порядок выполнения этапов, а также критерии перехода от этапа к этапу. Традиционная модель ЖЦ ПО строится по каскадному принципу ( переход на следующий этап происходит после окончания работ по предыдущему этапу) или по поэтапному принципу с промежуточным контролем (с циклами обратной связи между этапами, что предполагает корректировки в процессе проектирования, но растягивает все этапы на весь период разработки). CASE-технология базируется на спиральной модели ЖЦ ПП, суть которой в следующем. Делается упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Все эти этапы выполняются на каждом витке спирали ЖЦ. Каждый виток спирали соответствует некоторому уровню детализации проекта Каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Каждый виток заканчивается тем, что уточняются цели и характеристики проекта и планируются работы следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования. Специалистами отмечаются следующие преимущества спиральной модели: n накопление и повторное использование программных средств, моделей и прототипов; n ориентация на развитие и модификацию ПО в процессе проектирования; n анализ риска и издержек в процессе проектирования. Чем же принципиально CASE-технология отличается от традиционной? Для ответа на этот вопрос несколько отвлечемся и вспомним, что нас интересует прежде всего, если мы встречаем предмет, который раньше никогда не видели? Смею утверждать, что это будут вопросы ‘Что оно делает?’ и ‘ Из чего оно состоит?’. Ответы на эти вопросы представляют собой функциональный и структурный аспект описания объекта. Исторически так сложилось, что при проектировании новых объектов структурный аспект отражается в виде схем (принципиальные электрические схемы, механические схемы, комбинированные схемы и т.п.). Так вот CASE-технологии иначе еще называют структурным системным анализом, что отражает тот факт, что и функционирование объекта (в рассматриваемом случае разрабатываемого ПО) отражается в различных схемах, таблицах, диаграммах, матрицах, картах и т.п. Можно смело утверждать, что девизом разработчиков CASE-технологий является фраза ‘одна картинка стоит тысячи слов’. Некоторые из элементов CASE-технологий Вы будете изучать в последующих курсах. Большинство CASE-технологий основано на парадигме методология/метод/нотация/ средство.
Методология на основе некоторого подхода определяет шаги работы, их последовательность, а также правила распределения и назначения методов. Методопределяет способ достижения той или иной цели. Нотациейназывают систему обозначений, используемых для описания структуры системы, элементов данных, этапов обработки и других компонентов. Нотации могут быть графические (представление моделей в виде таблиц, графов, диаграмм, схем и т. п.) и текстовые (описания моделей на формальных и естественных языках). Средства — инструментарий для поддержки методов. Эти инструменты обеспечивают работу пользователей-разработчиков при создании и редактировании проекта в интерактивном режиме, выполняют проверки соответствия компонентов и кодируют на некотором языке программирования модули ПО.
Следует отметить, что используемые в методологии структурного анализа средства весьма разнообразны, Наиболее часто и эффективно используются следующие: n DFD ( Data Flow Diagrams) - диаграммы потоков данных, совместно со словарями данных и спецификациями процессов или миниспецификациями; n ERD ( Entity-Relationship Diagrams) - диаграммы ‘сущность -связь’; n STD (State Transition Diagrams) - диаграммы переходов состояний. Современные структурные методологии анализа и проектирования классифицируются по следующим признакам: n по отношению к школам - Software Engineering (SE) и Information Engineering (IE); n по порядку построения моделей - процедурно-ориентированные, ориентированные на данные и информационно-ориентированные; n по типу целевых систем - для систем реального времени и для информационных систем. Основная особенность систем реального времени заключается в том, что они контролируют и контролируются внешними событиями: своевременное реагирование на эти события (отклик должен следовать не позднее регламентированного временного интервала) - основная и первоочередная функция таких систем. Другие отличия информационных систем от систем реального времени сведены в таблицу.
Средствами поддержки перечисленных в таблице особенностей и различаются соответствующие структурные методологии. SE является нисходящим подходом к проектированию функций разрабатываемого ПО. Применяется при разработке как информационных систем, так и систем реального времени. По сравнению с IE появилась раньше и более апробирована. IE - более новая дисциплина. С одной стороны, она имеет более широкую область применения, поскольку является дисциплиной построения систем вообще, а не только систем ПО. Она включает этапы более высокого уровня (например, стратегическое планирование). С другой стороны, IE используется для проектирования информационных систем, а SE дополнительно еще и систем реального времени. Во всех структурных методологиях используется одна и та же концепция : данные входят в систему, обрабатываются и выходят из системы (вход -обработка-выход). Отличаются технологии порядком построения модели ПО (как бы по разному решается вопрос: что раньше яйцо или курица?). Традиционный процедурно-ориентированный подход регламентирует первичность проектирования функциональных компонентов по отношению к проектированию структур данных: требования к данным раскрываются через функциональные требования. При подходе, ориентированном на данные, вход и выход являются наиболее важными - структуры данных определяются первыми, а процедурные компоненты являются производными от данных. Информационно-ориентированный подход, как часть IE-дисциплины, отличается от предыдущего подхода тем, что позволяет работать с неиерархическими структурами данных. 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). Средства позволяют осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов, контролировать покрытие тестами для оценки полноты тестируемости, управлять функционированием системы. Особый интерес представляют средства обеспечения мобильности (в CASE они получили название: средства миграции), обеспечивающие перенос существующей системы в новое операционное или аппаратурное окружение.
|