Базы данных могут быть разными — от простых справочников для пользователей до поддерживаемых с помощью вычислительной техники библиотечных систем. Инструментальные средства могут также быть разными — от листа бумаги и карандаша до автоматизированной системы тестирования, формирующей проблемно-зависимые тестовые данные.

Пользователь должен иметь возможность извлекать из базы данных сведения:

о доступных инструментальных средствах, о способах работы,

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

Когда транслятор обнаруживает синтаксическую или логическую ошибку, он печатает сообщение об этом. Сообщение об ошибке, выдаваемое для разработчика программы, должно:

выдаваться развернутым текстом, а не каким-нибудь кодом,

указывать неправильную лексему, объект, действие пользователя,

указывать контекст, в котором обнаружена ошибка.

База данных должна удовлетворять современным стандартам на легкость использования и содержать:

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

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

Инструменты, используемые при проектировании, это: справочники, стандарты разработки, руководства по разработке («рецепты»), анализ конкретных ситуаций проектирования с помощью вычислительных машин как в пакетном режиме, так и в диалоге.

Инструментальные средства должны:

помогать при интегрированном проектировании аппаратного и программного обеспечений, поддерживать структурную декомпозицию, включать графические средства,

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

Любой начальный набор инструментов и библиотек программ должен включать:

Транслятор.

Пакет программ непосредственной поддержки, в том числе пакет программ ввода/вывода.

Пакет программ работы с файлами.

Библиотечную систему для работы с модулями, написанными на языке Ада.

Редактор связей/загрузчик.

Набор средств отладки, работающих на символьном уровне[31]. Оптимизатор.

Вспомогательные средства для составления толковых словарей, указателей и перекрестных ссылок.

Редактор текстов, ориентированный на входной язык.

Анализатор структур программ.

Средства преобразования.

В фирме IBM есть некоторый документ, описывающий подмножество такого окружения в несколько других терминах, но настолько похоже по существу, что о нем тоже стоит рассказать. В IBM это называется библиотеками поддержки разработок (Development Support Libraries).

Любая библиотека поддержки разработок представляет собой множество программ и процедур, которые обеспечивают:

1) постоянное отслеживание состояния дел, связанных с разработкой продукции;

2) руководство возможностью управления ходом работ по разработке этой продукции.

Библиотека поддержки разработки состоит из четырех элементов:

Внутренней библиотеки в виде, воспринимаемом машиной[32].

Внешней библиотеки в виде, воспринимаемом человеком.

Механизированных процедур и программ.

Канцелярских процедур.

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

Редактирование библиотек.

Поиск модулей для трансляции и запоминания результатов.

Редактирование связей задач и организацию тестовых пусков.

Восстановление библиотек и возврат к предыдущим версиям.

Выдачу распечаток состояния библиотеки.

Канцелярские процедуры используются библиотекарями для:

регистрации изменяющихся состояний текстов внешней библиотеки.

Регистрации и замены листов в архивах. Программист работает только с внешней библиотекой.

Стыковка программ. Если наш процесс продолжается, переходя от человека к человеку, от машины к машине, от программы к программе, нам необходимо сопровождать его сведениями двух следующих типов.

Перейти на страницу:

Похожие книги