Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Пример инструмента CASE.

Компьютерная инженерия программного обеспечения ( CASE ) - это область программных инструментов, используемых для разработки и реализации приложений. Инструменты CASE похожи на инструменты автоматизированного проектирования (САПР), которые используются для проектирования аппаратных средств, и частично основаны на них . Инструменты CASE используются для разработки качественного, бездефектного и обслуживаемого программного обеспечения. [1] Программное обеспечение CASE часто ассоциируется с методами разработки информационных систем вместе с автоматизированными инструментами, которые можно использовать в процессе разработки программного обеспечения . [2]

История [ править ]

Проект системы проектирования и оптимизации информационных систем (ISDOS), начатый в 1968 году в Мичиганском университете , вызвал большой интерес ко всей концепции использования компьютерных систем для помощи аналитикам в очень сложном процессе анализа требований и разработки систем. Несколько статей Дэниела Тейхрёва увлекли целое поколение энтузиастов потенциалом разработки автоматизированных систем. Его инструмент языка постановки проблемы / анализатора постановки проблемы (PSL / PSA) был инструментом CASE, хотя и предшествовал этому термину. [3]

Еще одна важная нить возникла как логическое продолжение в словаре данных в виде базы данных . Расширяя диапазон хранимых метаданных , атрибуты приложения могут храниться в словаре и использоваться во время выполнения. Этот «активный словарь» стал предшественником более современных инженерных возможностей, основанных на моделях . Однако активный словарь не обеспечивал графического представления каких-либо метаданных. Это было объединение концепции словаря, содержащего метаданные аналитиков, полученного в результате использования интегрированного набора методов, вместе с графическим представлением таких данных, которое привело к появлению более ранних версий CASE. [4]

Следующим игроком на рынке был Excelerator из Index Technology в Кембридже, штат Массачусетс. В то время как DesignAid использовала Convergent Technologies, а затем и сетевые микрокомпьютеры Burroughs Ngen, Index запустила Excelerator на платформе IBM PC / AT . Хотя на момент запуска и в течение нескольких лет платформа IBM не поддерживала сети или централизованную базу данных, как это делали машины Convergent Technologies или Burroughs, привлекательность IBM была сильной, и Excelerator приобрел известность. По пятам за Excelerator последовала целая серия предложений от таких компаний, как Knowledgeware (Джеймс Мартин, Фрэн Таркентон и Дон Аддингтон), CA Gen от Texas Instrument и набор инструментов FOUNDATION от Andersen Consulting (DESIGN / 1, INSTALL / 1, FCP).[5]

Инструменты CASE достигли своего пика в начале 1990-х годов. [6] Согласно журналу PC Magazine за январь 1990 года, более 100 компаний предлагали около 200 различных инструментов CASE. [5] В то время IBM предлагала AD / Cycle, который представлял собой альянс поставщиков программного обеспечения, основанный на репозитории программного обеспечения IBM с использованием IBM DB2 в мэйнфреймах и OS / 2 :

Инструменты разработки приложений могут быть из нескольких источников: от IBM, от поставщиков и от самих заказчиков. IBM вступила в отношения с Bachman Information Systems, Index Technology Corporation и Knowledgeware, в рамках которых отдельные продукты этих поставщиков будут продаваться через дополнительную маркетинговую программу IBM для предоставления предложений, которые помогут достичь полного покрытия жизненного цикла . [7]

С упадком мэйнфреймов инструменты AD / Cycle и Big CASE вымерли, открыв рынок для основных инструментов CASE сегодня. Многие лидеры рынка CASE начала 1990-х были куплены Computer Associates., включая IEW, IEF, ADW, Cayenne и Learmonth & Burchett Management Systems (LBMS). Другой тенденцией, которая привела к развитию инструментов CASE, было появление объектно-ориентированных методов и инструментов. Большинство различных поставщиков инструментов добавили некоторую поддержку объектно-ориентированных методов и инструментов. Вдобавок появились новые продукты, которые были разработаны снизу вверх для поддержки объектно-ориентированного подхода. Андерсен разработал свой проект Eagle как альтернативу Foundation. Несколько лидеров мысли в объектно-ориентированной разработке каждый разработали свою собственную методологию и набор инструментов CASE: Якобсен, Рамбо, Буч и т. Д. В конце концов, эти разнообразные наборы инструментов и методов были объединены посредством стандартов, возглавляемых Object Management Group (OMG). Единый язык моделирования OMG (UML) в настоящее время широко признан отраслевым стандартом объектно-ориентированного моделирования.

Программное обеспечение CASE [ править ]

А. Фуггетта разделил программное обеспечение CASE на 3 категории: [8]

  1. Инструменты поддерживают определенные задачи в жизненном цикле программного обеспечения .
  2. Рабочие среды объединяют два или более инструмента, ориентированных на определенную часть жизненного цикла программного обеспечения.
  3. Среды объединяют два или более инструментов или инструментальных средств и поддерживают полный жизненный цикл программного обеспечения.

Инструменты [ править ]

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

  1. Бизнес-моделирование и аналитическое моделирование. Инструменты графического моделирования. Например, E / R-моделирование, объектное моделирование и т. Д.
  2. Разработка. Этапы жизненного цикла проектирования и строительства. Среды отладки. Например, НИСЭ ЛКО .
  3. Проверка и валидация . Проанализировать код и спецификации на правильность , производительность и т. Д.
  4. Управление конфигурацией. Контролируйте регистрацию и возврат объектов и файлов репозитория. Например, SCCS , IISE.
  5. Метрики и измерения. Проанализируйте код на предмет сложности, модульности (например, «не надо переходить»), производительности и т. Д.
  6. Управление проектом. Управляйте планами проектов, назначениями задач, расписанием.

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

Верстаки [ править ]

Рабочие среды объединяют два или более CASE-инструментария и поддерживают определенные программные процессы. Таким образом они достигают:

  • однородный и последовательный интерфейс (интеграция презентаций).
  • Полная интеграция инструментов и наборов инструментов (управление и интеграция данных).

Примером рабочей среды является среда программирования Microsoft Visual Basic . Он включает в себя несколько инструментов разработки: построитель графического интерфейса, интеллектуальный редактор кода, отладчик и т. Д. Большинство коммерческих продуктов CASE, как правило, представляют собой такие рабочие места, которые легко интегрируют два или более инструментов. Верстаки также можно классифицировать так же, как инструменты; как сосредоточение внимания на анализе, разработке, проверке и т.д., а также сосредоточение на верхнем и нижнем регистре или процессах, таких как управление конфигурацией, которые охватывают полный жизненный цикл.

Среды [ править ]

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

  1. Наборы инструментов. Слабо связанные наборы инструментов. Обычно они строятся на рабочих средах операционной системы, таких как Unix Programmer's Workbench или VMS VAX set. Обычно они выполняют интеграцию через конвейер или какой-либо другой базовый механизм для обмена данными и передачи управления. Сила простой интеграции также является одним из недостатков. Простая передача параметров с помощью таких технологий, как сценарии оболочки, не может обеспечить такой сложной интеграции, которую может обеспечить общая база данных репозитория.
  2. Четвертое поколение. Эти среды также известны как 4GL, что означает языковые среды четвертого поколения из-за того, что ранние среды были разработаны на основе определенных языков, таких как Visual Basic. Они были первыми средами, обеспечивающими глубокую интеграцию множества инструментов. Обычно эти среды были ориентированы на определенные типы приложений. Например, приложения с пользовательским интерфейсом, которые выполняли стандартные атомарные транзакции с реляционной базой данных. Примеры: Informix 4GL и Focus.
  3. Ориентирован на язык. Среды, основанные на одном, часто объектно-ориентированном языке, такие как среда Symbolics Lisp Genera или VisualWorks Smalltalk от Parcplace. В этих средах все ресурсы операционной системы были объектами объектно-ориентированного языка. Это обеспечивает мощные возможности отладки и графические возможности, но разрабатываемый код в основном ограничен конкретным языком. По этой причине эти среды были в основном нишей в CASE. Их использовали в основном для прототипов и проектов НИОКР. Общей основной идеей для этих сред была модель-представление-контроллер.пользовательский интерфейс, позволяющий поддерживать несколько презентаций одного и того же дизайна в соответствии с базовой моделью. Архитектура MVC была принята в других типах сред CASE, а также во многих приложениях, которые были созданы с их помощью.
  4. Интегрированный. Эти среды являются примером того, о чем большинство ИТ-специалистов обычно думают в первую очередь, когда думают о CASE. Такие среды, как IBM AD / Cycle, Andersen Consulting's FOUNDATION, ICL CADESсистема и DEC Cohesion. Эти среды пытаются охватить полный жизненный цикл от анализа до обслуживания и предоставить интегрированный репозиторий базы данных для хранения всех артефактов программного процесса. Интегрированный репозиторий программного обеспечения был определяющей особенностью для такого рода инструментов. Они предоставили несколько различных моделей дизайна, а также поддержку кода на гетерогенных языках. Одной из основных целей для этих типов сред было «проектирование туда и обратно»: возможность вносить изменения на уровне проектирования и автоматически отражать их в коде и наоборот. Эти среды также обычно были связаны с определенной методологией разработки программного обеспечения. Например, пакет FOUNDATION CASE от Andersen был тесно связан с методологией Andersen Method / 1.
  5. Ориентирован на процесс. Это самый амбициозный вид интеграции. Эти среды пытаются не только формально определить объекты анализа и проектирования программного процесса, но и сам процесс, а также использовать этот формальный процесс для управления и руководства проектами программного обеспечения. Примеры: East, Enterprise II, Process Wise, Process Weaver и Arcadia. Эти среды по определению были привязаны к определенной методологии, поскольку сам программный процесс является частью среды и может управлять многими аспектами вызова инструментов.

На практике различие между рабочими столами и средой было гибким. Например, Visual Basic был средой программирования, но многие также считали его средой 4GL. Функциональные возможности, которые отличали рабочие места от сред, заключались в глубокой интеграции через общий репозиторий или общий язык и какой-то методологии (интегрированные и ориентированные на процессы среды) или специфичности домена (4GL). [8]

Основные факторы риска CASE [ править ]

Некоторые из наиболее значительных факторов риска для организаций, применяющих технологию CASE, включают:

  • Неадекватная стандартизация. Организации обычно должны адаптировать и адаптировать методологии и инструменты к своим конкретным требованиям. Это может потребовать значительных усилий для интеграции как расходящихся технологий, так и различных методов. Например, до принятия стандарта UML соглашения о диаграммах и методы проектирования объектно-ориентированных моделей сильно различались у последователей Якобсена, Буча и Рамбо.
  • Нереалистичные ожидания. Сторонники технологии CASE - особенно продавцы, продающие дорогостоящие наборы инструментов - часто возлагают надежды на то, что новый подход станет серебряной пулей, которая решит все проблемы. На самом деле никакая такая технология не может этого сделать, и если организации подходят к CASE с нереалистичными ожиданиями, они неизбежно будут разочарованы.
  • Неадекватное обучение. Как и в случае с любой новой технологией, CASE требует времени, чтобы обучить людей тому, как использовать инструменты, и быстро освоить их. Проекты CASE могут потерпеть неудачу, если практикующим специалистам не будет предоставлено достаточно времени для обучения или если первый проект с новой технологией сам по себе является критически важным и сопряжен с риском.
  • Неадекватный контроль процесса. CASE предоставляет значительные новые возможности для инновационного использования новых типов инструментов. Без надлежащего руководства процессом и контроля эти новые возможности также могут вызвать новые серьезные проблемы. [10]

См. Также [ править ]

  • Моделирование данных
  • Доменно-ориентированное моделирование
  • Методология
  • Модельно-управляемая архитектура
  • Язык моделирования
  • Быстрая разработка приложений
  • Автоматическое программирование

Ссылки [ править ]

  1. Перейти ↑ Kuhn, DL (1989). «Выбор и эффективное использование средств компьютерной разработки программного обеспечения». Ежегодный компьютерный симпозиум Westinghouse; 6–7 ноября 1989 г .; Питтсбург, Пенсильвания (США); Проект DOE.
  2. ^ П. Лукопулос и В. Каракостас (1995). Системные требования Инженерное программное обеспечение, которое будет эффективно работать.
  3. ^ Тейхроев, Даниэль; Херши, Эрнест Аллен (1976). «PSL / PSA - автоматизированная техника для структурированного документирования и анализа систем обработки информации» . Proceeding ICSE '76 Труды 2-й Международной конференции по разработке программного обеспечения . Издательство IEEE Computer Society Press.
  4. ^ Коронель, Карлос; Моррис, Стивен (4 февраля 2014 г.). Системы баз данных: проектирование, внедрение и управление . Cengage Learning. С. 695–700. ISBN 978-1285196145. Проверено 25 ноября 2014 года .
  5. ^ a b Inc, Зифф Дэвис (30 января 1990). PC Mag . Ziff Davis, Inc.
  6. ^ Йордон, Ed (23 июля 2001). "Могут ли проекты XP расти?" . Компьютерный мир . Проверено 25 ноября 2014 года .
  7. ^ «Стратегия и архитектура AD / Cycle», IBM Systems Journal, Том 29, № 2, 1990; п. 172.
  8. ^ a b c Альфонсо Фуггетта (декабрь 1993 г.). «Классификация CASE-технологий» . Компьютер . 26 (12): 25–38. DOI : 10.1109 / 2.247645 . S2CID 954775 . Проверено 14 марта 2009 . 
  9. ^ Разработка программного обеспечения: инструменты, принципы и методы Сангиты Сабхарвал, публикации Umesh
  10. ^ Компьютерная инженерия программного обеспечения. Архивировано 20 января 2012 г. на Wayback Machine . В: Информационная база FFIEC IT Examination Handbook . Дата обращения 3 марта 2012.