Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Средства сборки систем




Сборка систем — это очень трудоемкий вычислительный процесс. Например, процесс компиляции большой системы, состоящей из сотен компонентов, может занять несколько часов. Если компиляцию и связывание компонентов такой системы выполнять вручную, то оператор неизбежно сделает какие-либо ошибки. Средства сборки систем автоматизи­руют этот процесс, что исключает потенциальные ошибки, совершаемые при ручном компилировании, и, возможно, сокращает время сборки системы.

Средства сборки систем могут быть как автономными, например соответствующие утилиты в системе Unix, так и интегрированными со средствами управления вер­сиями. Как правило, CASE-средства сборки систем состоят из следующих компонентов.

1. Язык специфицирования зависимостей и соответствующий интерпретатор. Описывает и управляет зависимостями между системными компонентами и минимизирует воз­можные перекомпиляции.

2. Средства выбора и реализации. Это компиляторы и другие средства работы с файлами исходного кода.

3. Средства распределенной компиляции. Некоторые компоновщики систем, особенно интегрированные с системами управления конфигурациями, могут поддерживать распределенную (сетевую) компиляцию. Вместо выполнения всего процесса ком­пиляции на одной машине компоновщик находит свободные процессоры в компь­ютерной сети и организует параллельную компиляцию. Это значительно сокращает время сборки системы.

4. Средство управления вторичными объектами. Вторичные — это объекты, которые соз­даются на основе других, исходных, объектов. Средство управления такими объек­тами связывает исходный код и вторичные объекты и создает новые объекты толь­ко тогда, когда изменяется исходный код.

Управление вторичными объектами и минимизацию количества перекомпиляций лучше всего объяснить на простом примере. Рассмотрим ситуацию, когда программа соmр создает­ся из объектных модулей scan.о, syn.o, sem.o и cgen.o. Для объектных модулей существуют модули, содержащие исходный код и имеющие имена соответственно scan.c, syn.c, sem.c и cgen.c. Эти модули используют общий файл объявлений defs.h. Зависимости между модуля­ми показаны стрелками на рис. 6 (стрелки можно "прочитать" как "зависит от").

Допустим, в модуль scan.c внесены изменения. Система сборки должна определить, что вторичный объект scan.о необходимо создать заново, и вызвать соответствующий компилятор для перекомпиляции модуля scan.c и создания нового экземпляра объекта scan.o. Далее система сборки на основании связи между соmр и scan.o определяет, что необходимо заново создать также программу сотр путем связывания модулей scan.о, syn.o, sem.o и cgen.o. При этом система определяет, что объектный код других компонен­тов не изменялся, поэтому перекомпиляция их исходного кода не требуется.

Рис. 6. Схема зависимостей модулей

 

Некоторые системы сборки используют дату изменения файла как ключевой атрибут, определяющий, требуется или нет перекомпиляция. Если дата изменения файла исходно­го кода более поздняя, чем дата изменения соответствующего файла объектного кода, то этот объектный код необходимо создать заново. Это гарантирует, что вторичный объект будет создан на основе самой последней версии исходного кода. Если перекомпилируется ранняя версия исходного кода, то изменяется дата ее модификации и система сборки по этой дате определяет, какие компоненты должны быть перекомпилированы или созданы заново. Другие системы сборки используют более сложные подходы к управлению вто­ричными объектами. Они вводят дополнительный атрибут для вторичных объектов, где указывается версия исходного кода, на основе которого создан этот объект, и по возмож­ности сохраняются все версии вторичных объектов. Это позволяет иметь объектный код всех версий исходного кода без дополнительной перекомпиляции.

КЛЮЧЕВЫЕ ПОНЯТИЯ

  • Управление конфигурацией — это управление изменениями в программной системе. Основная роль команды по управлению конфигурацией заключается в правильном внесении изменений в систему.
  • В больших проектах для отслеживания различных версий всех проектных документов разрабаты­вается и используется формальная схема именования документов.
  • Для управления конфигурацией необходима база данных конфигураций, где хранится вся инфор­мация о проведенных в системе изменениях и запросы на изменения.
  • Для управления конфигурацией необходима схема идентификации версий. Версии можно идентифи­цировать по номерам, на основе значений атрибутов и на основе изменений, внесенных в систему.
  • Выходная версия системы включает исполняемый код, файлы данных, конфигурационные файлы и документацию. Управление выходными версиями предусматривает определение даты выпуска системы, подготовку всей информации для распространения системы и документирование каждой выходной версии.
  • Сборка системы — это процесс компоновки системных компонентов в виде исполняемой про­граммы.
  • Для поддержки процесса управления конфигурацией применяются CASE-средства. Они включают средства для управления версиями и изменениями и средства для сборки системы.

 




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 567; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.