А.И.НЕСВИЖСКИЙ Научный руководитель – С.В. СИНИЦЫН, к.т.н. РАЗРАБОТКА АРХИТЕКТУРЫ СИСТЕМЫ

advertisement
А.И.НЕСВИЖСКИЙ
Научный руководитель – С.В. СИНИЦЫН, к.т.н.
Московский инженерно-физический институт (государственный университет)
РАЗРАБОТКА АРХИТЕКТУРЫ СИСТЕМЫ
КОНФИГУРАЦИОННОГО УПРАВЛЕНИЯ STEADY SCM
Работа посвящена описанию архитектуры системы конфигурационного управления Steady SCM. Данная разработка проводилась командой «Steady Team» в
рамках курса «Технология программирования» на кафедре «Кибернетика»
МИФИ.
Рано или поздно любой долгосрочный проект, связанный с разработкой программного обеспечения, разрастается до необъятных размеров,
становясь трудно управляемым и трудно прогнозируемым. Руководство
больше не в состоянии отслеживать конкретную деятельность подчиненных. Здесь возникает потребность перехода на иную качественную ступень управления разработкой.
Вполне очевиден выбор пути внедрения конфигурационного и версионного управления. Средства управления конфигурацией программных
средств (Software Configuration Management, SCM), обеспечивающие контроль версий, автоматическую компоновку приложения и отслеживание
ошибок, дают возможность поддерживать стабильный базовый код программ, с которым можно сравнивать модифицированные версии при тестировании продукта. Пакет SCM также позволяет вести журнал внесенных в исходный текст программы изменений, с помощью которого менеджер проекта может точно воспроизводить предыдущие версии приложения, необходимые для сопровождения конечных пользователей [1].
Внедрение систем конфигурационного управления позволяет сделать
процесс разработки программных систем любой сложности более управляемым. Однако до сих пор не существует какой-либо общепризнанной
модели, описывающей понятия и процессы, возникающие при управлении
конфигурациями.
Большинство разработчиков создают собственные модели управления
конфигурациями, каждая из которых предназначена для решения определенных, узкоспециализированных задач SCM. Однако, ни одна из них не
учитывает сам процесс разработки, рассматривая только определенные
методологии создания программного обеспечения. Другим недостатком
данных моделей является рассмотрение понятия конфигурации на «физическом уровне», т.е. в виде структурированных директорий и файлов, не
рассматривая конфигурации, как логическое понятие. И, наверное, самым
важным недостатком является отсутствие универсального математического аппарата описания SCM.
Командой разработчиков «Steady Team» была спроектирована архитектура SCM, позволяющая решить указанные проблемы.
На верхнем уровне архитектуру можно представить как взаимодействие нескольких компонент:
 СУБД (например, СУБД Caché или SQL Server 2005);
 Библиотека представления классов (Proxy классы NHibernate);
 Библиотека методов работы с БД;
 WIN и WEB клиенты;
 Ядро.
В качестве средства представления классов выбрана NHibernate [2].
База данных состоит из следующих кластеров данных: пользователи,
проекты, артефакты, связи, конфигурации, задачи, проблемы, ресурсы,
жизненные циклы.
Ядро системы загружает модули, обеспечивает их взаимодействие
между собой и с БД. В системе реализованы следующие модули:
 управления пользователями;
 управления проектами;
 управления артефактами;
 управления связями;
 управления конфигурациями;
 управления задачами;
 управления ошибками;
 управления ресурсами;
 управления жизненными циклами.
Библиотека методов для работы с БД обеспечивает взаимодействие БД
со всеми остальными частями проекта, что позволяет при условии сохранения интерфейсов методов библиотеки заменять используемую СУБД на
любую другую.
К настоящему времени разработан прототип SCM. В дальнейшем планируется расширение функциональности и разработка новых модулей.
Список литературы
1. Susan Dart. Concepts in Configuration Management Systems. – In 3rd International
Workshop on Software Configuration Management, Trondheim, Norway, June 1991. ACM Press. –
стр. 18.
2. NHibernate – http://www.hibernate.org/
Download