Case системы. Примеры CASE-средств и их характеристики

Введение………………………………………………………………………………….

1. CASE средство: определения и общая характеристика…………………………….

2. Применения CASE технологий: преимущества и недостатки……………………..

3. Внедрение CASE-технологий………………………………………………………...

4. Примеры CASE-средств и их характеристики……………………………………...

4.1 Silverrun………………………………………………………………………..

4.2 JAM…………………………………………………………………………….

4.3 Vantage Team Builder……………………………………………………….....

4.4 Локальные средства (ERwin, BPwin, S-Designor)…………………………...

4.5 Объектно-ориентированные CASE-средства (Rational Rose)……………...

4.6 Средства конфигурационного управления………………………………….

4.7 Средства документирования…………………………………………………

4.8 Средства тестирования………………………………………………………..

Заключение……………………………………………………………………………….

Литература………………………………………………………………………………..

Введение

Цель моего реферата – рассмотреть технологии разработки программных систем на основе CASE средств. В 70-х и 80-х годах при разработке ИС достаточно широко применялась структурная методология, предоставляющая в распоряжение разработчиков строгие формализованные методы описания ИС и принимаемых технических решений. На протяжении всей истории программирования программные проекты все более и более усложнялись, объем работ стремительно увеличивался, возникла потребность в универсальных средствах, которые могли бы помочь как-то структурировать создание ПО. Традиционные языки программирования в силу малой наглядности, избыточности и многословия утрачивали свою эффективность и в 70-х и 80-х годах при разработке программных систем достаточно широко применялась структурная методология. Наглядность и строгость средств структурного анализа позволяла разработчикам и будущим пользователям системы обсуждать и закреплять понимание основных технических решений. Все шло к появлению программно-технологических средств специального класса.

1. CASE средство: определения и общая характеристика.

Аббревиатура CASE расшифровывается как Computer Aided Software Engineering. Этот термин широко используется в настоящее время. На этапе появления подобных средств, термин CASE употреблялся лишь в отношении автоматизации разработки программного обеспечения. Сегодня CASE средства подразкмевают процесс разработки сложных ИС в целом: создание и сопровождение ИС, анализ, формулировка требований, проектирование прикладного ПО и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. Таким образом, CASE-технологии образуют целую среду разработки ИС.

Итак, CASE-технология представляет собой методологию проектирования программных систем, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Большинство существующих CASE-средств основано на методологиях структурного или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств. Главные составляющие CASE-продукта таковы:

  • методология (Method Diagrams) , которая задает единый графический язык и правила работы с ним.
  • графические редакторы (Graphic Editors) , которые помогают рисовать диаграммы; возникли с распространением PC и GUI, так называемых «upper case технологий
  • генератор : по графическому представлению модели можно сгенерировать исходный код для различных платформ (так называемая low case часть CASE-технологии).
  • репозиторий , своеобразная база данных для хранения результатов работы программистов.

2. Применения CASE технологий: преимущества и недостатки.

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

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

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

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

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

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

3. Внедрение CASE-технологий.

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

  • определение потребностей в CASE-средствах;
  • оценка и выбор CASE-средств;
  • выполнение пилотного проекта;
  • практическое внедрение CASE-средств.

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

4. Примеры CASE-средств и их характеристики.

4.1 Silverrun

CASE-средство Silverrun американской фирмы Computer Systems Advisers, Inc. используется для анализа и проектирования ИС бизнес-класса. Оно применимо для поддержки любой методологии, основанной на раздельном построении функциональной и информационной моделей. Silverrun имеет модульную структуру и состоит из четырех модулей, каждый из которых является самостоятельным продуктом и может приобретаться и использоваться без связи с остальными модулями: модуль построения моделей бизнес-процессов, модуль концептуального моделирования данных, модуль реляционного моделирования и менеджер репозитория рабочей группы. Платой за высокую гибкость и разнообразие изобразительных средств построения моделей является такой недостаток Silverrun, как отсутствие жесткого взаимного контроля между компонентами различных моделей

Средство разработки приложений JAM - продукт американской фирмы JYACC. Основной чертой JAM является его соответствие методологии RAD, поскольку он позволяет достаточно быстро реализовать цикл разработки приложения, заключающийся в формировании очередной версии прототипа приложения с учетом требований, выявленных на предыдущем шаге, и предъявить его пользователю. JAM имеет модульную структуру и состоит из следующих компонентов:

  • Ядро системы;
  • JAM/DBi - специализированные модули интерфейса к СУБД (JAM/DBi-Oracle, JAM/DBi-Informix, JAM/DBi-ODBC и т.д.);
  • JAM/RW - модуль генератора отчетов;
  • JAM/CASEi - специализированные модули интерфейса к CASE-средствам (JAM/CASE-TeamWork, JAM/CASE-Innovator и т.д.);
  • JAM/TPi - специализированные модули интерфейса к менеджерам транзакций (например, JAM/TPi-Server TUXEDO и т.д.);
  • Jterm - специализированный эмулятор X-терминала.

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

4.3 Vantage Team Builder

Vantage Team Builder представляет собой интегрированный программный продукт, ориентированный на реализацию каскадной модели ЖЦ ПО и поддержку полного ЖЦ ПО. Наличие универсальной системы генерации кода, основанной на специфицированных средствах доступа к репозиторию проекта, позволяет поддерживать высокий уровень исполнения проектной дисциплины разработчиками: жесткий порядок формирования моделей; жесткая структура и содержимое документации; автоматическая генерация исходных кодов программ и т.д. - все это обеспечивает повышение качества и надежности разрабатываемых ИС.

4.4 Локальные средства (ERwin, BPwin, S-Designor)

ERwin - средство концептуального моделирования БД, использующее методологию IDEF1X. ERwin реализует проектирование схемы БД, генерацию ее описания на языке целевой СУБД и реинжиниринг существующей БД. ERwin выпускается в нескольких различных конфигурациях, ориентированных на наиболее распространенные средства разработки приложений 4GL. Для ряда средств разработки приложений (PowerBuilder, SQLWindows, Delphi, Visual Basic) выполняется генерация форм и прототипов приложений. BPwin - средство функционального моделирования, реализующее методологию IDEF0. S-Designor представляет собой CASE-средство для проектирования реляционных баз данных. По своим функциональным возможностям и стоимости он близок к CASE-средству ERwin, отличаясь внешне используемой на диаграммах нотацией. S-Designor реализует стандартную методологию моделирования данных и генерирует описание БД для таких СУБД, как ORACLE, Informix, Ingres, Sybase, DB/2, Microsoft SQL Server и др.

4.5 Объектно-ориентированные CASE-средства (Rational Rose)

Rational Rose - CASE-средство фирмы Rational Software Corporation - предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для моделирования объектов (UML - Unified Modeling Language) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования. Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (C++, Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro). Основной вариант - Rational Rose/C++ - позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды на С++. Кроме того, Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.

4.6 Средства конфигурационного управления

Цель конфигурационного управления - обеспечить управляемость и контролируемость процессов разработки и сопровождения ПО. Для этого необходима точная и достоверная информация о состоянии ПО и его компонент в каждый момент времени, а также о всех предполагаемых и выполненных изменениях. Для решения задач КУ применяются методы и средства обеспечивающие идентификацию состояния компонент, учет номенклатуры всех компонент и модификаций системы в целом, контроль за вносимыми изменениями в компоненты, структуру системы и ее функции, а также координированное управление развитием функций и улучшением характеристик системы. Наиболее распространенным средством КУ является PVCS фирмы Intersolv (США), включающее ряд самостоятельных продуктов: PVCS Version Manager, PVCS Tracker, PVCS Configuration Builder и PVCS Notify.

4.7 Средства документирования

Для создания документации в процессе разработки ИС используются разнообразные средства формирования отчетов, а также компоненты издательских систем. Обычно средства документирования встроены в конкретные CASE-средства. Исключением являются некоторые пакеты, предоставляющие дополнительный сервис при документировании. Из них наиболее активно используется SoDA (Software Document Аutomation).

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

4.8 Средства тестирования

Под тестированием понимается процесс исполнения программы с целью обнаружения ошибок. Регрессионное тестирование - это тестирование, проводимое после усовершенствования функций программы или внесения в нее изменений. Одно из наиболее развитых средств тестирования Quality Works представляет собой интегрированную многоплатформенную среду для разработки автоматизированных тестов любого уровня, включая тесты регрессии для приложений с графическим интерфейсом пользователя. Quality Works позволяет начинать тестирование на любой фазе ЖЦ, планировать и управлять процессом тестирования, отображать изменения в приложении и повторно использовать тесты для более чем 25 различных платформ.

Заключение

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

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

Литература.

1. А.М. Вендров: CASE-технологии. Современные методы и средства проектирования информационных систем
М.: Финансы и статистика, 2005. – 176 с.: илл

2. Калянов Г.Н. CASE. Структурный системный анализ (автоматизация и применение). М., "Лори", 2006.

3. Новоженов Ю.В. Объектно-ориентированные технологии разработки сложных программных систем. М., 2007

4. Панащук С.А. Разработка информационных систем с использованием CASE-системы Silverrun. "СУБД", 2007.

5. Горчинская О.Ю. Designer/2000 - новое поколение CASE-продуктов фирмы ORACLE. "СУБД", 2006.

6. Горин С.В., Тандоев А.Ю. Применение CASE-средства Erwin 2.0 для информационного моделирования в системах обработки данных. "СУБД", 2002.

В рамках программной инженерии CASE-средства представляют собой основную технологию, используемую для создания и эксплу­атации систем ПО. Под CASE - средством (в соответствии с между­народным стандартом ISO/1ЕС 14102:1995(Е)) понимается програм­мное средство, поддерживающее процессы жизненного цикла ПО (определенные в стандарте ISO/1ЕС 12207:1995), включая анализ требований к системе, проектирование прикладного ПО и баз дан­ных, генерацию кода, тестирование, документирование, обеспечение качества, управление конфигурацией ПО и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют среду разработки ПО (Software Engineering Environment).

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

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



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

CASE-средствам присущи следующие основные особенности:

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

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

Использование специальным образом организованного хранили­ща проектных метаданных (репозитория).

Интегрированное CASE-средство - (комплекс средств, поддержи­вающих полный ЖЦ ПО) содержит следующие компоненты:

1. репозиторий, являющийся основой Case-средства. Он должен обеспечивать хранение версий проекта и его отдельных компо­нентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных на полноту и непротиворечивость;

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

3. средства разработки приложений, включая языки 4GL (язык 4-го поколения) и генераторы кодов;

4. средства управления требованиями

5. средства управления конфигурацией ПО;

6. средства документирования;

7. средства тестирования

8. средства управления проектом;

9. средства реверсного инжиниринга ПО и баз данных.

Репозиторий

Основные функции средств организации и поддержки репозитория

Хранение, доступ, обновление, анализ и визуализация всей информации по проекту ПО. Содержимое репозитория включает не только информационные объекты различных типов, но и отноше­ния между их компонентами, а также правила использования или обработки этих компонентов. Репозиторий может хранить свыше 100 типов объектов, примерами которых являются диаграммы, опреде­ления экранов и меню, проекты отчетов, описания данных, исход­ные коды и т.п.

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

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

Графические средства (диаграммеры ) обеспечивают:

Создание иерархически связанных диаграмм, в которых сочета­ются графические и текстовые объекты;

Создание и редактирование объектов в любом месте диаграммы;

Создание, перемещение и выравнивание групп объектов, изменение их размеров, масштабирование;

Сохранение связей между объектами при их перемещении и из­менении размеров;

Автоматический контроль ошибок и др.

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

1. контроль синтаксиса диаграмм и типов их элементов. Обычно
такой контроль осуществляется при вводе и редактировании элементов диаграмм;

2. контроль полноты и состоятельности диаграмм: все элементы диаграмм должны быть идентифицированы и отражены в репозитории. Например, для ВРВ контролируются неименованные или несвязанные потоки данных, процессы и хранилища данных;

3. сквозной контроль диаграмм одного или различных типов на предмет их состоятельности по уровням - вертикальное и горизонтальное балансирование диаграмм. При вертикальном балансировании диаграмм одного типа выявляются несбалансированные потоки данных между детализируемой и детализирующей диаграммами. Гори­зонтальное балансирование определяет несоответствия между структурами данных и спецификациями процессов.

Классификация CASE-средств

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

Классификация по типам отражает функциональную ориентацию СА8Е-средств на те или иные процессы ЖЦ и включает следующие типы:

1. средства анализа и проектирования , предназначенные для пост­роения и анализа как моделей деятельности организации (пред­метной области), так и моделей проектируемой системы. К таким средствам относятся BPwin (PLATINUM technology), Silverrun(Silverrun technologies), Oracle Designer (Огас1е), Ration Rose(Ration Software), Paradigm Plus (PLATINUM technology), Power Designer (Sybase), System Architect (Popkin Software). Их целью является определение системных требований и свойств, которы­ми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответству­ющими свойствами. Выходом таких средств являются специфи­кации компонентов системы и их интерфейсов, алгоритмов и структур данных;

2. средства проектирования баз данных , обеспечивающие моделиро­вание данных и генерацию схем баз данных (как правило, на язы­ке SQL – Structured Query Language - структурированном языке запросов) для наиболее распространенных СУБД. Средства проектирования баз данных имеются в составе таких CASE-средств, как Silverrun , Огас1е Designer, Paradigm Plus, Power Designer. Наи­более известным средством, ориентированным только на проектирование БД, является ERwin (PLATINUM technology);

3. средства управления требованиями , обеспечивающие комплексную
поддержку разнородных требований к создаваемой системе. Примерами таких средств являются RequisitePro (Rational Software) и DOORS - Dinamic Object-Oriented Requirements System-динамическая объектно-ориентированная система уп­равления требованиями (Quality Systems and Software Inc.);

4. средства управления конфигурацией ПО - PVCS (Merant),С1еагCase (Rational Software) и др.;

5. средства документирования . Наиболее известным из них является SoDA – Software Document Automation - автоматизированное документирование ПО (Rational Software);

6. средства тестирования . Наиболее развитым на сегодняшний день средством является Rational Suite TestStudio (Rational Software) -набор продуктов, предназначенных для автоматического тести­рования приложений;

7. средства управления проектом - Ореп Р1ап Professional (Welcom Software), MicroSoft Project 98 и др.;

8. средства реверсного инжиниринга , предназначенные для переноса существующей системы ПО в новую среду. Они обеспечивают анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем и формирования БД входят в состав таких CASE-средств, как Silverrun, Огас1е Designer, Power Designer, ERwin. Анализаторы программных кодов имеются в составе Rational Rose и Paradigm Plus.

Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи (tools), набор частично интегрированных средств, охватывающих большин­ство процессов ЖЦ ПО (toolkit), и полностью интегрированные сред­ства, поддерживающие весь ЖЦ ПО и связанные общим репозиторием. Помимо этого, CASE-средства можно также классифициро­вать по применяемым структурным или объектно-ориентированным методам анализа и проектирования ПО.

На сегодняшний день российский рынок программного обеспе­чения располагает практически всеми перечисленными выше сред­ствами.

Все CASE-средства делятся на типы, категории и уровни.

1. Классификация по типам отражает функциональную ориентацию CASE-средств в технологическом процессе. Она в основном совпадает с компонентным составом CASE-средств и включает следующие основные типы:

Анализ и проектирование. Средства данной группы используются для создания спецификаций системы и ее проектирования. К таким CASE-средствам можно отнести BPWin или Analist/Designer. Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. Выходом таких средств являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных.

Проектирование баз данных и файлов. Средства данной группы обеспечивают логическое моделирование данных, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода: ERWin, Oracle Designer.

Программирование. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу: APS (Sage Software). Помимо диаграмм различного назначения и средств поддержки работы с репозиторием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов, генераторы наборов тестов.

Сопровождение и Реинжинеринг. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга: Adpac CASE Tools (Adpac). Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы.

Окружение. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам: Sylva Foundry (С adware).

Управление проектом. Средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).

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

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

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

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

Средние (Middle) CASE считаются средствами поддержки этапов анализа требований и проектирования спецификаций и структуры ПО. Их использование существенно сокращает цикл разработки проекта; при этом важную роль играет возможность накопления и хранения знаний. Основная выгода от использования среднего CASE состоит в значительном облегчении проектирования систем. Кроме того, средние CASE обеспечивают возможности быстрого документирования требований и быстрого прототипирования.

CASE (Computer-Aided Software/System Engineering) - направление в программной инженерии . Содержание этого понятия обычно определяется перечнем задач, решаемых с помощью CASE, а также совокупностью применяемых методов и средств. Очень грубо, CASE - технология представляет собой совокупность методологий анализа, проектирования , разработки и сопровождения сложных систем программного обеспечения , поддержанную комплексом взаимоувязанных средств автоматизации.

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

Основные концепции

Большинство CASE-средств основано на парадигме методология/метод/нотация/средство :

  • Методология определяет руководящие указания для оценки и выбора проекта разрабатываемого ПО, шаги работы и их последовательность, а также правила распределения и назначения методов.
  • Метод - это систематическая процедура или техника генерации описаний компонент ПО (например, проектирование потоков и структур данных).
  • Нотации предназначены для описания структуры системы, элементов данных, этапов обработки и включают графы, диаграммы, таблицы, блок-схемы, формальные и естественные языки.
  • Средства - инструментарий для поддержки и усиления методов. Эти инструменты поддерживают работу пользователей при создании и редактировании графического проекта в интерактивном режиме, они способствуют организации проекта в виде иерархии уровней абстракции, выполняют проверки соответствия компонентов.

Отличия CASE от традиционной разработки

Традиционная разработка CASE
1 Основные усилия – на кодирование и тестирование Основные усилия - на анализ и проектирование
2 “Бумажные” спецификации Быстрое итеративное прототипирование
3 Ручное кодирование Автоматическая кодогенерация
4 Ручное документирование Автоматическая генерация документации
5 Тестирование кодов Автоматический контроль проекта
6 Сопровождение кодов Сопровождение спецификаций проектирования

Модель жизненного цикла ПО

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

Простейшая модель ЖЦ:

Прототипирование -> Проектирование спецификаций -> Контроль проекта -> Кодогенерация -> Системное тестирование -> Сопровождение

Классификация CASE-средств

Все CASE-средства делятся на типы, категории и уровни.

Классификация по типам

Классификация по типам отражает функциональную ориентацию CASE-средств в технологическом процессе:

  1. АНАЛИЗ И ПРОЕКТИРОВАНИЕ . Средства данной группы используются для создания спецификаций системы и ее проектирования; они поддерживают широко известные методологии проектирования. К таким средствам относятся:
    • CASE.Аналитик (Эйтэкс),
    • The Developer (ASYST Technologies),
    • POSE (Computer Systems Advisers),
    • ProKit*Workbench (McDonnell Douglas),
    • Excelerator (Index Technology),
    • Design-Aid (Nastec),
    • Design Machine (Optima),
    • MicroStep (Meta Systems),
    • vsDesigner (Visual Software),
    • Analist/Designer (Yourdon),
    • Design/IDEF (Meta Software),
    • BPWin (Logic Works),
    • SELECT (Select Software Tools),
    • System Architect (Popkin Software & Systems),
    • Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies),
    • CASE/4/0 (microTOOL GmbH).
    Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. На выходе продуцируются спецификации компонент системы и интерфейсов, связывающих эти компоненты, а также “калька” архитектуры системы и детальная “калька” проекта, включающая алгоритмы и определения структур данных.
  2. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ И ФАЙЛОВ . Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в Третью Нормальную Форму, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода:
    • ERWin (Logic Works),
    • Chen Toolkit (Chen & Asssociates),
    • S-Designor (SDP),
    • Designer2000 (Oracle),
    • Silverrun (Computer Systems Advisers).
  3. ПРОГРАММИРОВАНИЕ . Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу:
    • COBOL 2/Workbench (Mikro Focus),
    • DECASE (DEC),
    • NETRON/CAP (Netron),
    • APS (Sage Software).
    Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов (как в статике, так и в динамике), генераторы наборов тестов, анализаторы покрытия тестами, отладчики.
  4. СОПРОВОЖДЕНИЕ И РЕИНЖИНИРИНГ . К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга:
    • Adpac CASE Tools (Adpac),
    • Scan/COBOL и SuperStructure (Computer Data Systems),
    • Inspector/Recoder (Language Technology).
    Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы. Средства позволяют
    • осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов;
    • контролировать покрытие тестами для оценки полноты тестируемости;
    • управлять функционированием системы и т.п.
    Особый интерес представляют средства обеспечения мобильности (в CASE они получили название средств миграции) и реинжиниринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в новое операционное или аппаратурное окружение. Средства реинжиниринга включают:
    • статические анализаторы для продуцирования схем системы ПО из ее кодов, оценки влияния модификаций (например,”эффекта ряби” - внесение изменений с целью исправления ошибок порождает новые ошибки);
    • динамические анализаторы (обычно, компиляторы и интерпретаторы с встроенными отладочными возможностями);
    • документаторы, позволяющие автоматически получать обновленную документацию при изменении кода;
    • редакторы кодов, автоматически изменяющие при редактировании и все предшествующие коду структуры (например, спецификации);
    • средства доступа к спецификациям, их модификации и генерации нового (модифицированного) кода;
    • средства реверсного инжиниринга, транслирующие коды в спецификации.
  5. ОКРУЖЕНИЕ . Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам:
    • Multi/Cam (AGS Management Systems),
    • Design/OA (Meta Software).
  6. УПРАВЛЕНИЕ ПРОЕКТОМ . Средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов:
    • Project Workbench (Applied Business Technology).

Классификация по категориям

  • вспомогательные программы (tools) - вспомогательные пакеты, решающие небольшую автономную задачу, принадлежащую проблеме более широкого масштаба.
  • пакеты разработчика (toolkit) - совокупность интегрированных программных средств, обеспечивающих помощь для одного из классов программных задач; использует репозитарий для всей технической и управляющей информации о проекте, концентрируясь при этом на поддержке, как правило, одной фазы или одного этапа разработки ПО.
  • инструментальные средства (workbench) - интеграция программных средств, которые
    • поддерживают системный анализ, проектирование и разработку ПО;
    • используют репозитарий, содержащий всю техническую и управляющую информацию о проекте;
    • обеспечивают автоматическую передачу системной информации между разработчиками и этапами разработки;
    • организуют поддержку практически полного ЖЦ (от анализа требований и проектирования ПО до получения документированной выполняемой программы).
    Workbench, по сравнению с toolkit, обладает более высокой степенью интеграции выполняемых функций, большей самостоятельностью и автономностью использования, а также наличием тесной связи с системными и техническими средствами аппаратно-вычислительной среды, на которой workbench функционирует. По существу, workbench может рассматриваться как автоматизированная рабочая станция, используемая как инструментарий для автоматизации всех или отдельных совокупностей работ по созданию ПО.

Классификация по уровням

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

  • Верхние (Upper) CASE часто называют средствами компьютерного планирования. Они призваны повышать эффективность деятельности руководителей фирмы и проекта путем сокращения затрат на определение политики фирмы и на создание общего плана проекта. Этот план включает цели и стратегии их достижения, основные действия в свете целей и задач фирмы, установление стандартов на различные виды взаимосвязей и т.д. Использование верхних CASE позволяет построить модель предметной области, отражающую всю существующую специфику. Она направлена на понимание общего и частного механизмов функционирования, имеющихся возможностей, ресурсов, целей проекта в соответствии с назначением фирмы. Эти средства позволяют проводить анализ различных сценариев (в том числе наилучших и наихудших), накапливая информацию для принятия оптимальных решений.
  • Средние (Middle) CASE считаются средствами поддержки этапов анализа требований и проектирования спецификаций и структуры ПО. Их использование существенно сокращает цикл разработки проекта; при этом важную роль играет возможность накопления и хранения знаний, обычно имеющихся только в голове разработчика-аналитика, что позволит использовать накопленные решения при создании других проектов. Основная выгода от использования среднего CASE состоит в значительном облегчении проектирования систем, проектирование превращается в итеративный процесс, включающий следующие действия:
    • пользователь обсуждает с аналитиком требования к проектируемой системе;
    • аналитик документирует эти требования, используя диаграммы и словари входных данных;
    • пользователь проверяет эти диаграммы и словари, при необходимости модифицируя их;
    • аналитик отвечает на эти модификации, изменяя соответствующие спецификации.
    Кроме того, средние CASE обеспечивают возможности быстрого документирования требований и быстрого прототипирования.
  • Нижние (Lower) CASE являются средствами разработки ПО (при этом может использоваться до 30% спецификаций, созданных средствами среднего CASE). Они содержат системные словари и графические средства, исключающие необходимость разработки физических спецификаций. Имеются системные спецификации, которые непосредственно переводятся в программные коды разрабатываемой системы (при этом автоматически генерируется до 80-90% кодов). На эти средства возложены также функции тестирования, управления конфигурацией, формирования документации. Главными преимуществами нижних CASE являются: значительное уменьшение времени на разработку, облегчение модификаций, поддержка возможностей прототипирования (совместно со средними CASE).

Достоинства CASE-методологий

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


Отчетность