Когда речь идет о модели Microsoft, или модели синхронизации и стабилизации, следует заметить, что эта модель достаточно сложна, поскольку она требует автоматизации тестирования. Также стоит отметить, что средства тестирования, такие как Rational Robot, достаточно широко распространены в мире CASE-средств. Есть похожее средство и у Microsoft.
Рассмотрим средства документирования. Когда речь идет о большом количестве билдов, большом количестве релизов ПО, нужно поддерживать каждый релиз своей версией документации, которая также имеет версии. Вести контроль этих версий и изменений, которые были внесены, достаточно сложно, особенно если документирование ведется вручную и документация имеет большой объем, вполне сопоставимый, а иногда и превосходящий объем кода. Скажем, документация только для пользователей по одному модулю Oracle Applications – это книга объемом примерно 700 страниц с большим количеством иллюстраций, перекрестными ссылками, глоссарием и целым рядом других вещей для быстрого поиска информации. Конечно, создавать такие документы вручную и отслеживать их взаимосвязи, что очень важно в проекте, в случае корпоративных систем без CASE-средств невозможно.
Далее речь пойдет о системах обеспечения качества, в том числе тестирования и трассировки спецификации. Рассмотрим управление конфигурацией. Как было отмечено ранее, проекты сложны, в них большое количество файлов (тысячи, может быть, десятки тысяч) и каждая версия характеризуется их уникальным набором. Если некорректно учитывать состав этой версии и собирать ее, ПО будет ненадежным или вообще неработоспособным. Когда речь идет о корпоративной системе, это, конечно, недопустимо. Поэтому управление конфигурацией, полный учет модулей и проектной документации, которая их сопровождает, – это тоже важная функция CASE-средств. Еще одной важной функцией является управление проектом, организация взаимодействия на основе, скажем, программного инструментального CASE-средства Microsoft Visual Studio Team System, и целый ряд других процессов.
На самом деле CASE-средства поддерживают весь жизненный цикл и все процессы, сопровождающие ЖЦ, которые приводят к построению надежного, устойчивого, масштабируемого, сопровождаемого, эргономичного ПО. Ведь CASE-средства поддерживают и тестирование, и пользовательский интерфейс, а это достаточно сложная задача, если решать ее вручную. В качестве примера можно привести проект создания системы учета, планирования, управления людскими ресурсами. В проекте достаточно гибкая цепочка ввода данных – порядка 20 форм, которые можно настраивать в зависимости от типа пользователя. То есть когда человек устраивается на работу, он должен заполнить анкету, состоящую на самом деле из последовательного ввода данных в формы. При этом в каждой форме существуют обязательные и необязательные поля, а также поля, которые подразумевают только выбор из уже существующих вариантов, т. е. самостоятельно заполнять эти поля нельзя, и т. д. Настраиваются эти поля достаточно гибко. Понятно, что при создании такого количества форм проверить вручную нажатие всех кнопок и выбор всех вариантов не представляется возможным, поскольку сценарий ввода данных гибко настраивается в зависимости от типа пользователя. Такого рода сложные интерфейсы и позволяют тестировать специализированные CASE-средства.
Какие компоненты входят в состав современных CASE-средств? Это прежде всего репозиторий (единое хранилище метаданных), здесь поддерживается средство хранения версий. Как уже упоминалось, существуют основные или базовые версии, к которым пристраиваются «ветви», или определенные направления, ветвления попыток совершенствования системы. В определенный момент их замораживают или закрывают на замок (lock), делают операцию замыкания и некий стабильный релиз, который полностью обособлен и может быть использован, скажем, на этапе приемки работ или этапе завершения какой-то определенной фазы жизненного цикла ПО. Очень важно при этом поддерживать синхронизацию. Например, если кто-то из разработчиков откомпилировал и сохранил новую версию файла, то нужно добиться, чтобы эта локальная версия файла переходила в глобальный билд как компонент, когда он уже готов и протестирован вместе с соседними модулями. Контроль целостности – тоже важный аспект в случае баз данных. Скажем, если удалить последнего сотрудника из отдела, что должно происходить с отделом? Кроме того, ведется контроль целостности не только на уровне структур данных, но и на уровне проектных спецификаций. Нужно убедиться в том, что они полны, непротиворечивы и те диаграммы, которые разрабатываются, в том числе с помощью CASE-средств, действительно являются адекватным отображением ранних шагов моделирования жизненного цикла ПО.
Читать дальше
Конец ознакомительного отрывка
Купить книгу