stringtranslate.com

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

Пример инструмента 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 и Learmont & Burchett Management Systems (LBMS). Другой тенденцией, которая привела к развитию CASE-инструментов, стал рост объектно-ориентированных методов и инструментов. Большинство поставщиков различных инструментов добавили некоторую поддержку объектно-ориентированных методов и инструментов. Кроме того, появились новые продукты, разработанные снизу вверх для поддержки объектно-ориентированного подхода. Андерсен разработал свой проект Eagle как альтернативу Foundation. Некоторые из лидеров объектно-ориентированной разработки разработали свою собственную методологию и набор инструментов CASE: Джейкобсон, Рамбо, Буч и т. д. В конечном итоге эти разнообразные наборы инструментов и методы были объединены с помощью стандартов, возглавляемых Object Management Group (OMG). Унифицированный язык моделирования (UML) OMG в настоящее время широко принят в качестве отраслевого стандарта объектно-ориентированного моделирования. [ нужна цитата ]

КЕЙС-программное обеспечение

Инструменты

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

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

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

Верстаки

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

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

Окружающая среда

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

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

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

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

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

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

Рекомендации

  1. ^ Кун, DL (1989). «Выбор и эффективное использование инструмента компьютерной разработки программного обеспечения». Ежегодный компьютерный симпозиум Westinghouse; 6–7 ноября 1989 г.; Питтсбург, Пенсильвания (США); Проект МО.
  2. ^ П. Лукопулос и В. Каракостас (1995). Системные требования Инженерное программное обеспечение, которое будет работать эффективно.
  3. ^ Тейхроу, Дэниел; Херши, Эрнест Аллен (1976). «PSL/PSA - автоматизированный метод структурированной документации и анализа систем обработки информации». Труды ICSE '76 Материалы 2-й Международной конференции по программной инженерии . Издательство Компьютерного общества IEEE.
  4. ^ Коронель, Карлос; Моррис, Стивен (4 февраля 2014 г.). Системы баз данных: проектирование, внедрение и управление. Cengage Обучение. стр. 695–700. ISBN 978-1285196145. Проверено 25 ноября 2014 г.
  5. ^ ab Inc, Зифф Дэвис (30 января 1990 г.). ПК Маг. Зифф Дэвис, Инк. {{cite book}}: |last=имеет общее имя ( справка )
  6. Юрдон, Эд (23 июля 2001 г.). «Могут ли проекты XP расти?». Компьютерный мир . Проверено 25 ноября 2014 г.
  7. ^ «Стратегия и архитектура AD/Cycle», IBM Systems Journal, Том 29, № 2, 1990; п. 172.
  8. ^ Программная инженерия: инструменты, принципы и методы, Сангита Сабхарвал, Umesh Publications
  9. ^ аб Альфонсо Фуггетта (декабрь 1993 г.). «Классификация CASE-технологий». Компьютер . 26 (12): 25–38. дои : 10.1109/2.247645. S2CID  954775 . Проверено 14 марта 2009 г.
  10. ^ Компьютерная разработка программного обеспечения. Архивировано 20 января 2012 г. в Wayback Machine . В: Справочник по ИТ-экзаменам FFIEC, информационная база . Проверено 3 марта 2012 г.