Компьютерная разработка программного обеспечения

редактировать
Пример инструмента CASE.

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

Содержание

  • 1 История
  • 2 Программное обеспечение CASE
    • 2.1 Инструменты
    • 2.2 Рабочие среды
    • 2.3 Среды
  • 3 Основные факторы риска CASE
  • 4 См. Также
  • 5 Ссылки

История

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

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

Следующим игроком на рынке был 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 и Andersen Consulting Набор инструментов FOUNDATION (DESIGN / 1, INSTALL / 1, FCP).

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

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

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

Программное обеспечение CASE

A. Компания Fuggetta классифицировала ПО CASE по трем категориям:

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

Инструменты

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

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

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

Workbenches

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

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

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

Среды

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

  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).

Основные факторы риска CASE

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

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

См. Также

Ссылки

Последняя правка сделана 2021-05-15 08:30:58
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте