Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Программные компоненты MAKE и SCCS




Основная проблема, возникающая при разработке больших программных комплексов, − это координация деятельности коллектива программистов. Факт снижения эффективности при создании больших программных комплексов коллективом авторов является общепризнанным в индустрии программного обеспечения. Серьезнейшим последствием плохой координации является низкое качество программного продукта. Некоторые весьма трудно обнаруживаемые ошибки возникают в результате незначительных нарушений координации в работе коллектива. Опыт работы с ОС UNIX показал, что надежное программное обеспечение создавать легче, если используется мощная операционная система. В большом программном комплексе составляющие его модули функционируют как единое целое, и любое изменение в одном из модулей отражается на работоспособности других. Хранение модулей в виде независимых файлов порождает новый ряд проблем. При изменении модуля нижнего уровня меняется набор возвращаемых значений, а это требует модификации модуля верхнего уровня. Один из приемов, обеспечивающих координацию различных частей какой-либо программы, заключается в применении так называемого включенного файла, общего для нескольких модулей и содержащего необходимые атрибуты. Этот метод позволяет решать целый ряд задач в случае, когда программы функционируют в виде наборов взаимосвязывающихся модулей. При этом возникает новая, неочевидная на первый взгляд, проблема: приходится постоянно следить за изменениями во включаемом файле. Это обусловлено тем, что модификация содержимого файла, общего для некоторого числа программных модулей, без перекомпиляции тех из них, на функционирование которых эта модификация повлияет, может привести к непредсказуемым результатам при работе программы. Если программный модуль помимо собственного исходного текста, включает в себя какой-либо файл, то считается, что объектный код этого модуля в равной степени зависит от содержимого обоих файлов: исходного и включенного. При модификации любого из них после создания объектного файла последний перестает соответствовать действительности. В больших программных комплексах последовательность и глубина перекомпоновки зависит от внутренних связей модулей.

В операционной системе ЮНИКС был разработан и внесен как программный компонент координатор MAKE.

Координатор МАКЕ может использоваться для улучшения взаимодействия отдельных модулей и действий, которые должны быть выполнены при их модификации. Другой аспект создания больших программ − обнаружение и исправление ошибок. Обычно на этапе отладки обнаруживаются и исправляются почти все программные ошибки. Потом найти оставшиеся ошибки весьма трудно, и стоимость их исправления намного выше, а с некоторого момента существования программного продукта исправление ошибок вырастает в серьезную проблему. В готовом продукте коррекцию ошибок следует выполнять с большой осторожностью, так как возможно нарушение целостности готового продукта.

Для облегчения, поддержки и документирования эволюционирующих программ в системе имеется компонент SCCS. Координатор МАКЕ и системы управления исходным кодом SCCS − новые инструменты для поддержки больших программных комплексов, которые были разработаны специально для системы UNIX.

МАКЕ − это комплекс программ, способный воспринимать описание взаимозависимостей различных модулей в некотором программном комплексе. Описание взаимозависимостей содержит команды, которые должны быть выполнены, если обнаруживается, что некоторый модуль перестал соответствовать действительности. Такие команды должны обеспечивать реализацию всех действий, необходимых для модернизации данного модуля.

Компонент SCCS предназначен для контроля и документирования текстовых файлов на основе создания и ведения некоторого аналога учетной деятельности. При работе SCCS используются наборы данных специального формата, представляющие собой особым образом закодированные исходные тексты программ. Файлы SCCS включают в себя информацию, необходимую для восстановления старых версий текстовых файлов, а также записи тех, кто выполнял и кому разрешено выполнять изменение текстов программ. Файлы SCCS в промежутке между модернизациями существуют только в формате SCCS. Во время модификаций пользователь имеет дело с двумя типами файла − восстановленным и закодированным (рис. 8.12).

Декодированная версия может редактироваться, и над ней допустимы другие операции и средства операционной системы.

ОС UNIX различаются по степени развитости входящих в их состав интерпретаторов. В некоторых системах интерпретатор весьма прост, но совокупность программ не образует языка программирования. В других имеются прекрасные языки программирования системных команд, в то же время выполнение отдельной команды осложнено.

Все лучшие идеи предыдущих операционных систем заложены в интерпретатор SHELL. Основное различие между шестой и седьмой версиями заключается именно в возможностях SHELL. В шестой версии SHELL представляет хороший интерпретатор с очень ограниченными возможностями языка программирования. Седьмая версия SHELL соединяет интерактивные возможности с возможностями мощного языка программирования. Средства SHELL для версии 7 были разработаны С. Бурнэ и иногда носят его имя.

Рис. 8.12

В системе UNIX существует и программа для шифрования, которую могут использовать программисты − команда crypt. Однако из-за ограничений, введенных СМИ на экспорт «шифровальной технологии», некоторые версии UNIX за пределами США не включают эту программу. Уникальные разработки наших специалистов доступны в Росси по специальным коммерческим каналам.




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


Дата добавления: 2014-12-29; Просмотров: 369; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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