падать
CADES ( Система автоматизированного проектирования и оценки ) представляла собой систему разработки программного обеспечения, созданную для поддержки проектирования и разработки операционной системы VME/B для компьютеров новой серии ICL , впоследствии 2900.
С самого начала VME/B разрабатывался с помощью CADES, который был создан для этой цели с использованием базовой базы данных IDMS (недавно обновленной до IDMS(X) ). CAES была не просто системой контроля версий для модулей кода: она предназначалась для управления всеми аспектами жизненного цикла программного обеспечения, от сбора требований до обслуживания на местах.
Именно разработка CAES проложила путь для проекта Alvey в области IPSE (интегрированных сред поддержки проектов) и механизмов управления процессами. Поскольку CADES использовалась более 20 лет при разработке крупного проекта по разработке программного обеспечения, собранные данные использовались в качестве входных данных для ряда исследований эволюции программного обеспечения.
Ранняя история
[ редактировать ]CADES была задумана в 1970 году Дэвидом Пирсоном и Брайаном Уорбойсом, когда они работали в Технологическом центре новых операционных систем ICL, OSTECH, в Кидсгроув. [1] [2] Пирсон, физик-теоретик по образованию, стал специалистом по компьютерному моделированию и присоединился к ICL в 1968 году после работы в области моделирования методом конечных элементов в Кембридже и исследований в области моделирования в Имперском колледже. Warboys был главным разработчиком операционной системы множественного доступа ICL System 4 Multijob.
Приверженность ICL крупномасштабной разработке программного обеспечения для компьютеров серии 2900 послужила основой для ранней работы Pearson и Warboys над новой средой разработки программного обеспечения, которая будет решать вопросы производительности дизайнеров/программистов, целостности конструкции, оценки и тестирования, контроля версий и системная регрессия. [3] [4]
При разработке первоначальной архитектуры среды CADE Пирсон, в частности, проводил параллели с ведущими аппаратными системами автоматизированного проектирования того времени и даже пытался использовать графику в процессе проектирования. Подход к проектированию CAES, называемый структурным моделированием, был жестко ориентирован на данные и иерархичен и выражался на формальном языке проектирования SDL . Спецификации проекта, написанные на SDL, обрабатывались анализатором дизайна перед вводом в базу данных продуктов CAES, базу данных проектирования и реализации, поддерживающую собственный язык запросов и формирующую ядро информационной системы продуктов. [5] [6] [7]
Намерение заключалось в том, чтобы эти проекты можно было оценить/моделировать с помощью Animator, а код реализации S3 автоматически генерировать из них с помощью процессора среды. Генерация сборок и контроль версий также основывались на базе данных продуктов, что привело к очень дисциплинированному подходу к сборкам новых систем. Таким образом, системная регрессия контролировалась с самого раннего этапа жизненного цикла программного обеспечения. [8] [9]
Основы
[ редактировать ]Чтобы контролировать разработку VME/B , каждая разработка была разделена на подразделения для облегчения управления. Структура была иерархической, при этом каждый значимый компонент VME (ядро, хранилище файлов и т. д.) был разделен на подсистемы. Деятельность по разработке каждой подсистемы создала последовательность версий.
Эти подразделения и подразделения VME/B были отражены в иерархической структуре базы данных CADES. Это позволило повторно использовать код в VME/B (одна из целей разработки программного обеспечения). Это, в сочетании с набором инструментов и использованием SDL ( языка проектирования программного обеспечения ) в качестве языка разработки, истории версий и концепции доверенного исходного кода (то есть кода, который прошел контроль качества и впоследствии находится в хранилище файлов CAES), улучшило разработку. время, обеспечивая при этом удовлетворительные результаты аудита и процессы обеспечения качества.
CADES принял термин «холон» для обозначения модулей кода (таких как процедуры и макросы). Слово произошло от греческого слова «голо», означающего «целый», и было взято из книги Артура Кестлера «Призрак в машине» . Пирсон всегда утверждал, что сформулировал архитектуру CADE, изучая книгу Кестлера на пляже в Тунисе. Выстроенные в иерархию, холоны образуют «генеалогическое древо» (для каждой подсистемы), используя отношения «родитель/потомок». Холоны также сохраняли атрибуты взаимодействия, позволяя одному холону взаимодействовать с другими холонами, тем самым обеспечивая более модульную разработку и облегчая повторное использование. Подобным образом CADE также хранит информацию о постоянных значениях (также известных как литералы), определяемых пользователем типах и определяемых пользователем структурах.
Разработка с использованием CADES
[ редактировать ]Разработка в рамках CADES осуществлялась с использованием набора инструментов, известного как MODPRO ( модульная обработка ) , который действовал как интерфейс (или посредник) между разработчиком и CADES. Эти инструменты позволили разработчику больше сосредоточиться на разработке, а не на задачах администрирования, контроля качества или SCM . Не нужно было знать, как манипулировать данными в рамках CAES, приложение генерировало необходимый DNL (язык навигации по данным) для достижения требуемых результатов.
Разработка с использованием MODPRO не требовала специальных знаний ни S3 , ни SCL (целевого языка для последующей компиляции), а SDL, языка проектирования программного обеспечения : абстракция над первыми двумя. Который в сочетании с редактором расширений EDSDL ( Ed it SDL ) взаимодействовал с CAES для управления разработкой или повторной работой. Затем, опять же, с помощью информации из CADES, при использовании с инструментом MODPRO EPETC (он же процессор экологический или EP и т. д.) полученный файл можно было правильно настроить для компиляции S3 или SCL . Последующие инструменты в составе пакета облегчили различные этапы разработки, такие как:
- Подробная информация о Холоне с использованием CHED (CADES Holon Environment Details),
- Взаимодействие с CAES с использованием DIL (язык интерфейса базы данных, используемый для создания DNL),
- Создание отчетов с использованием CRP (CADES Report Producer),
- Перенесите действительные файлы/код в безопасный репозиторий (CADES) или извлеките его из него с помощью XFER.
Ниже показан типичный путь разработки MODPRO.
Ссылки
[ редактировать ]- ^ BCWarboys «Проект IPSE 2.5: моделирование процессов как основа среды поддержки» Международная конференция по средам и фабрикам разработки систем, май 1989 г., Берлин
- ^ Мартин Кэмпбелл-Келли «ICL: история бизнеса и техники» Clarendon Press, Оксфорд, 1989 г.
- ^ DJPearson «CADES — Компьютерная система разработки и оценки» Computer Weekly , 1973
- ^ DJPearson и BCWarboys "Структурное моделирование - философия" OSTC/IN/40 июля 1970 г.
- ^ GDPratten и RASnowden «CADES, поддержка разработки сложного программного обеспечения» EUROCOMP, 1976 г.
- ^ М.А.Фирт и другие «Улучшение среды разработки программного обеспечения с использованием объектно-ориентированной технологии» ИНСТРУМЕНТЫ (8), 1992 г.
- ^ BWChatters, MMLehman и другие «Моделирование процесса эволюции программного обеспечения» Программный процесс: улучшение и практика, сентябрь 2000 г.
- ^ DJPearson «Использование и злоупотребление системой разработки программного обеспечения» Национальная компьютерная конференция, Нью-Йорк, 1979 г.
- ^ Дон Ливитт «Обзор метода разработки оказался полезным» Computerworld, июнь 1979 г.
Дальнейшее чтение
[ редактировать ]- BC Warboys (25 января 1988 г.). «Экстраполяция уроков CADES на наши дни». Коллоквиум IEE по промышленному влиянию разработки программного обеспечения : 3.
- Р.В. Макгаффин; А.Э. Эллистон; БР Трантер; П. Н. Вестмакотт (сентябрь 1979 г.). «CADES – программная инженерия на практике» . IEEE Proceedings 4-й Международной конференции по программной инженерии, Мюнхен, Германия : 136–144.
- Б. Китченхэм (май 1982 г.). «Динамика эволюции системы VME / B». Технический журнал ICL : 42–57.
- ЧБ Болтовни; ММ Леман; Дж. Ф. Рамиль; П. Верник (2000). «Моделирование процесса эволюции программного обеспечения: долгосрочное исследование» . Программный процесс: совершенствование и практика . 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 года.
- Р. А. Сноуден (май 1990 г.). «Введение в проект IPSE 2.5». Технический журнал ICL . 6 (3).
- BC Warboys , П.Визи (май 1990 г.). «Двадцать лет с поддержкой». Технический журнал ICL . 6 (3).