Инструмент MetaCASE - Википедия - MetaCASE tool

А инструмент metaCASE это тип прикладного программного обеспечения, которое предоставляет возможность создавать один или несколько методов моделирования, языков или обозначений для использования в процесс разработки программного обеспечения. Часто результатом является инструмент моделирования для этого языка. Таким образом, инструменты MetaCASE являются своего рода языковыми инструментами, обычно ориентированными на языки графического моделирования.

Другое определение: Инструменты MetaCASE программные инструменты, поддерживающие разработку и создание CASE инструменты Как правило, инструменты metaCASE должны предоставлять общий инструмент CASE. компоненты которые могут быть настроены и реализованы в конкретных инструментах CASE. Цель инструментов metaCASE состоит в том, чтобы зафиксировать спецификацию требуемого инструмента CASE, а затем создать инструмент из спецификации.[1]

Обзор

Краткий обзор инструментов CASE

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

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

Инструменты CASE можно разделить на внешние или внутренние. [2] в зависимости от фазы разработки программного обеспечения, для поддержки которой они предназначены: например, «интерфейсные» инструменты анализа и проектирования по сравнению с «внутренними» инструментами реализации. Для программисты работа над конкретным приложением проект, выбор инструмента CASE обычно определяется такими факторами, как размер проекта, методология используемые, доступность инструментов, бюджет проекта и количество вовлеченных людей. Для некоторых приложений подходящий инструмент может быть недоступен или проект может быть слишком мал, чтобы использовать его.

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

Краткий обзор инструментов metaCASE

Продукты MetaCASE обычно представляют собой узкоспециализированные среды разработки приложений, которые создают пользовательский инструмент (набор) на основе высокоуровневого описания требуемых инструментов.[3][4]

Другими словами, технология metaCASE подходит к автоматизации методологии с динамической точки зрения.

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

Различия между инструментами metaCASE и CASE

Большинство инструментов CASE для объектно-ориентированное моделирование в значительной степени основаны на UML метод. Метод также диктует другие Инструмент CASE функций, например, как модели могут быть созданы, проверены и проанализированы, и как код могут быть созданы. Например, инструмент может генерировать CORBA Определения IDL, только если язык моделирования может адекватно определять и анализировать соответствие CORBA интерфейсы. Если инструмент (и метод) не генерирует их, он предлагает очень небольшую поддержку для работы с интерфейсом. дизайн и реализация.

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

Что тогда необходимо, так это возможность легко фиксировать спецификации любого метода, а затем автоматически генерировать инструменты CASE на основе этих спецификаций. Позже, когда ситуация в домене приложения разовьется и среда разработки изменится, вы можете постепенно обновлять поддержку методов в вашем инструменте CASE. Именно это и предлагает технология metaCASE.[5]

Как работает metaCASE

Традиционные инструменты CASE основаны на двухуровневой архитектуре: проекты систем хранятся в хранилище, чья схема является запрограммированный и составлен в Инструмент CASE. Этот жестко запрограммированный Часть определяет, какие модели можно создавать и как их анализировать. Наиболее важно то, что только поставщик инструмента может изменять метод, поскольку он фиксируется в коде. Технология MetaCASE снимает это ограничение, предоставляя гибкие методы.

Это достигается за счет добавления одного уровня выше уровня метода.

Инструменты MetaCASE основаны на трехуровневой архитектуре:

  1. Самый низкий, модельный уровень аналогичен инструментам CASE. Он включает системные проекты в качестве моделей.
  2. Средний уровень содержит модель метода, то есть метамодель. Метамодель включает в себя концепции, правила и обозначения схем данного метода. Например, метамодель может определять такие понятия, как класс и наследство, как они связаны и как представлены. Однако вместо того, чтобы быть встроенным в код в инструменте, как в фиксированном инструменте CASE, метод хранится как данные в репозитории. Использование метамоделей в последнее время стало более популярным. Многие книги по методам теперь включают метамодели их методов и несколько важных нововведений, таких как XMI, основаны на метамоделях. В отличие от инструмента CASE, инструмент metaCASE позволяет пользователю изменять метамодель. Следовательно, metaCASE основан на гибкости спецификаций метода.
  3. Это достигается за счет наличия третьего, более высокого уровня, который включает язык метамоделирования для определения методов. Этот уровень является жестко запрограммированный часть программного обеспечения metaCASE.

Все три уровня тесно связаны: модель основана на метамодели, которая, в свою очередь, основана на языке метамоделирования. Ясно, что моделирование невозможно без какой-то метамодели. Эта структура зависимостей аналогична структуре между объекты, классы и метаклассы в некоторых объектно-ориентированные языки программирования.[5]

инструменты metaCASE

Это список доступных на данный момент инструментов metaCASE; многие другие инструменты моделирования могут также предложить некоторую меру функциональности метамоделирования.

Реальные преимущества использования инструментов metaCASE

Джексон [6] распознает существенное различие между областью приложения и его кодом: два разных мира, каждый со своим языком, экспертами, способами мышления и т. д. Готовое приложение образует пересечение между этими мирами. Сложная работа программиста - построить мост между этими мирами, одновременно решая проблемы в обоих мирах.

Эмпирические исследования [7][8] последовательно показали, что только около половины всех проектов разработки используют методы. Среди тех, кто использует методы, более 50% либо модифицируют методы, чтобы они лучше соответствовали их потребностям, либо даже разрабатывают свои собственные методы. [9][10]

В стандартном CASE-инструменте метод, поддерживаемый инструментом, является фиксированным: его нельзя изменить. В инструменте metaCASE есть полная свобода изменить метод или даже разработать совершенно новый метод. И модели, и метамодели (описания методов) хранятся как первоклассные элементы в репозитории. Это позволяет организации разработать метод, соответствующий их ситуации и потребностям, а также хранить и распространять эти знания среди всех разработчиков. Затем инструмент и метод направляют разработчиков, предоставляют им общую основу для работы и объединяют работу всей команды.[11]

Исследовательские прототипы и даже коммерческие инструменты metaCASE существуют уже много лет, но только недавно появились инструменты, которые являются зрелыми, удобными и стабильными как для разработчика метода, так и для пользователя метода. Один из наиболее широко известных и используемых инструментов metaCASE [12][13] является MetaEdit +.

В следующем списке представлены несколько способов использования этих инструментов при разработке программного обеспечения:[14]

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

Эти инструменты также должны обладать следующими характеристиками:[14]

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

Смотрите также

использованная литература

  1. ^ Модель быстрой разработки для разработки инструментов metaCASE, Концептуальное моделирование - ER '97, Маокай Гун, Луиза Скотт, Инпин Сяо и Рэй Оффен, ISBN  978-3-540-63699-1
  2. ^ Определение в: Д. Шефстром, «Среда разработки системы:Современные концепции »в Schefstrom, D и van den Broek, G (eds) Tool Integration John Wiley and Sons (1993).
  3. ^ Руководство по созданию инструментов IPSYS, версия 2.1 Lincoln Software Ltd (1996 г.)
  4. ^ Г. Штумер, Oracle 7: Руководство пользователя и разработчика International Thomson Publishing (1995)
  5. ^ а б [1] ABC TO METACASE TECHNOLOGY, БЕЛАЯ БУМАГА, MetaCase, 5605 North MacArthur Blvd. 11-й этаж, Ирвинг, Техас 75038
  6. ^ Джексон, M.A., Требования к программному обеспечению и спецификации Лексикон практики, принципов и предрассудков Аддисон Уэсли, ACM Press, 1995
  7. ^ Некко, С.Р., Гордон, К.Л., Цай, Н.В. Системный анализ и дизайн: текущая практика, MIS Quarterly, декабрь 1987 г.
  8. ^ Фитцджеральд Б. Использование методов разработки системы: обзор. Статья № 9/95, Univ. Колледж Корк, 1995.
  9. ^ Руссо, Н., Винекоп, Дж., Вальц, Д., Использование и адаптация методологий разработки систем. Материалы Международной конференции IRMA, Атланта, 21-14 мая 1995 г.
  10. ^ Харди, К., Томпсон, Дж., Эдвардс, Х., Использование, ограничения и настройка методов разработки структурированных систем в Великобритании. Информационные и программные технологии, 37 (9), 1995.
  11. ^ Визуальное моделирование предметно-ориентированной области: преимущества и опыт использования инструментов metaCASE, Стивен Келли, MetaCASE
  12. ^ Исазаде, Х., Лэмб, Д.А., CASE Environments и MetaCASE Tools, Технический отчет 1997-403, Королевский университет, Канада, февраль 1997 г.
  13. ^ Алдерсон, А., Картмелл, Дж., Эллиотт, А., ToolBuilder: от компонентов инструмента CASE к разработке методов, технический документ Peer Logic, 1999 г.
  14. ^ а б Принципы работы систем MetaCASE, Вивеканандан Суреш Кумар