КАДЕС

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

CADES ( Система автоматизированного проектирования и оценки ) — система разработки программного обеспечения, созданная для поддержки проектирования и разработки операционной системы VME/B для компьютеров ICL New Range (впоследствии 2900).

С самых первых дней VME/B разрабатывался с помощью CADES, который был создан для этой цели с использованием базовой базы данных IDMS (позднее обновленной до IDMS(X) ). CADES была не просто системой контроля версий для модулей кода: она была предназначена для управления всеми аспектами жизненного цикла программного обеспечения от сбора требований до обслуживания на месте.

Именно разработка CADES проложила путь проекту Alvey в IPSE (Integrated Project Support Environments) и Process Control Engines. Поскольку CADES использовался более 20 лет в ходе разработки крупного проекта по программной инженерии, собранные данные были использованы в качестве входных данных для ряда исследований эволюции программного обеспечения.

Ранняя история

CADES был задуман в 1970 году Дэвидом Пирсоном и Брайаном Уорбойсом во время работы в технологическом центре ICL New Range Operating System Technology Centre, OSTECH, в Кидсгрове. [1] [2] Пирсон, по образованию физик-теоретик, стал специалистом по компьютерному моделированию и присоединился к ICL в 1968 году после работы в области конечно-элементного моделирования в Кембридже и исследований в области моделирования в Имперском колледже. Уорбойс был главным архитектором многопользовательской операционной системы ICL System 4, Multijob.

Приверженность ICL разработке крупномасштабного программного обеспечения для компьютеров серии 2900 легла в основу ранней работы Пирсона и Уорбоя над новой средой разработки программного обеспечения, которая должна была решать проблемы производительности труда дизайнеров/программистов, целостности дизайна, оценки и тестирования, контроля версий и регрессии систем. [3] [4]

При проектировании первоначальной архитектуры среды CADES Пирсон, в частности, искал параллели с ведущими системами автоматизированного проектирования оборудования того времени, даже пытаясь использовать графику в процессе проектирования. Подход к проектированию CADES, называемый структурным моделированием, был жестко управляемым данными и иерархическим и выражался на формальном языке проектирования SDL. Технические требования к проектированию, написанные на SDL, обрабатывались анализатором проектирования, прежде чем вводились в базу данных продуктов CADES, базу данных по проектированию и внедрению, поддерживающую собственный язык запросов и формирующую ядро ​​системы информации о продуктах. [5] [6] [7]

Целью было то, чтобы эти проекты можно было оценить/смоделировать с помощью Animator, а код реализации S3 автоматически генерировался из них с помощью Environment Processor. Генерация сборки и контроль версий также основывались на базе данных продукта, что привело к высокодисциплинированному подходу к новым сборкам системы. Таким образом, регрессия системы контролировалась с самого раннего этапа жизненного цикла программного обеспечения. [8] [9]

Основы

Для контроля разработки VME/B каждая разработка была подразделена для более легкого управления. Структура была иерархической, и каждый значимый компонент VME (ядро, файловое хранилище и т. д.) был разделен на подсистемы. Деятельность по разработке каждой подсистемы создавала последовательность версий.

Эти подразделения и подотделы VME/B были отражены в иерархической структуре базы данных CADES. Это позволило повторно использовать код в VME/B (одна из целей разработки программного обеспечения). Это, в сочетании с набором инструментов и использованием SDL (язык проектирования программного обеспечения) в качестве языка разработки, истории версий и концепции доверенного исходного кода (то есть кода, который прошел QA и впоследствии находится в файловом хранилище CADES), сократило время разработки, обеспечивая при этом удовлетворительные контрольные журналы и процессы QA.

CADES принял термин «холон» для обозначения модулей кода (таких как процедуры и макросы). Слово произошло от греческого holo, означающего целый, и было взято из книги Артура Кестлера «Призрак в машине» . Пирсон всегда утверждал, что сформулировал архитектуру CADES, изучая книгу Кестлера на пляже в Тунисе. Расположенные в иерархии, холоны предоставляют «генеалогическое древо» (для каждой подсистемы), используя родительско-дочерние отношения. Холоны также поддерживали атрибуты взаимодействия, позволяя одному холону взаимодействовать с другими холонами, тем самым обеспечивая более модульную разработку и облегчая повторное использование. Подобным образом CADES также сохранял информацию относительно постоянных значений (также известных как литералы), определяемых пользователем типов и определяемых пользователем структур.

Разработка с использованием CADES

Разработка в CADES была достигнута с помощью набора инструментов, известных как MODPRO ( Module Processing ) , который выступал в качестве интерфейса (или брокера) между разработчиком и CADES. Эти инструменты позволяли разработчику больше сосредоточиться на разработке, чем на административных, QA или SCM задачах. Не было необходимости знать, как манипулировать данными в CADES, приложение генерировало требуемый DNL (Data Navigation Language) для достижения требуемых результатов.

Разработка с использованием MODPRO не требовала специальных знаний ни S3 , ни SCL (целевой язык для последующей компиляции), но SDL, Software Design Language: абстракция над первыми двумя. Который в сочетании с редактором улучшений EDSDL ( Ed it SDL ) взаимодействовал с CADES для управления разработкой или доработкой. Затем, снова с информацией из CADES, при использовании с инструментом MODPRO EPETC (он же Environment Processor или EP и т. д.) позволял правильно нацеливать полученный файл на компиляцию S3 или SCL . Последующие инструменты в наборе облегчали различные этапы разработки, такие как:

  • Подробная информация о Холоне с использованием CHED (CADES Holon Environment Details),
  • Взаимодействие с CADES с использованием DIL (язык интерфейса баз данных, используемый для создания DNL),
  • Составление отчетов с использованием CRP (CADES Report Producer),
  • Переносите действительные файлы/код в защищенный репозиторий CADES или извлекайте их из него с помощью XFER.

Ниже проиллюстрирован типичный путь разработки MODPRO.

Поток процесса с использованием инструментов CADES MODPRO
Разработка VME/B с использованием инструментов MODPRO

Ссылки

  1. ^ BCWarboys «Проект IPSE 2.5: Моделирование процессов как основа для среды поддержки» Международная конференция по средам разработки систем и фабрикам, май 1989 г., Берлин
  2. ^ Мартин Кэмпбелл-Келли «ICL: история бизнеса и техники» Clarendon Press, Оксфорд, 1989
  3. ^ DJPearson "CADES - Система автоматизированной разработки и оценки" Computer Weekly , 1973
  4. ^ DJPearson и BCWarboys "Структурное моделирование - философия" OSTC/IN/40 июль 1970 г.
  5. ^ GDPratten и RASnowden "CADES, поддержка разработки сложного программного обеспечения" EUROCOMP, 1976
  6. ^ MAFirth и другие "Улучшение среды разработки программного обеспечения с использованием объектно-ориентированной технологии" TOOLS (8), 1992
  7. ^ BWChatters, MMLehman и другие «Моделирование процесса эволюции программного обеспечения» Процесс разработки программного обеспечения: совершенствование и практика, сентябрь 2000 г.
  8. ^ DJPearson "Использование и злоупотребление системой разработки программного обеспечения" Национальная компьютерная конференция, Нью-Йорк, 1979 г.
  9. ^ Дон Ливитт «Обзор метода разработки признан полезным» Computerworld, июнь 1979 г.

Дальнейшее чтение

  • BC Warboys (25 января 1988 г.). «Экстраполяция уроков CADES на сегодняшний день». Коллоквиум IEE по промышленному влиянию программной инженерии : 3.
  • RW McGuffin; AE Elliston; BR Tranter; PN Westmacott (сентябрь 1979 г.). «CADES — программная инженерия на практике». Труды IEEE 4-й Международной конференции по программной инженерии, Мюнхен, Германия : 136–144 .
  • Б. Китченхэм (май 1982 г.). «Системная динамика эволюции VME/B». ICL Technical Journal : 42–57 .
  • BW Chatters; MM Lehman; JF Ramil; P. Wernick (2000). "Моделирование процесса эволюции программного обеспечения: долгосрочное исследование случая". Software Process: Improvement and Practice . 5 ( 2– 3): 91– 102. doi :10.1002/1099-1670(200006/09)5:2/3<91::AID-SPIP123>3.0.CO;2-L. Архивировано из оригинала 5 января 2013 г.
  • RA Snowden (май 1990 г.). «Введение в проект IPSE 2.5». ICL Technical Journal . 6 (3).
  • BC Warboys , P.Veasey (май 1990). «Двадцать лет с поддержкой сред». ICL Technical Journal . 6 (3).
Взято с "https://en.wikipedia.org/w/index.php?title=CADES&oldid=1233649020"