Модернизация ПО для контроллера ARIS с использованием объектно-ориентированного подхода

Уржумов Андрей Евгеньевич

Аннотация


Цель работы – уменьшение количества ресурсов, необходимых для добавления или модификации программного кода контроллера ARIS-28ХХ.

Для достижения поставленной цели сформулированы следующие основные задачи:
1) выявить часть кода, устаревшая структура которой, замедляет разработку;
2) выбрать подход разработки ПО позволяющий устранить недостатки текущего кода;
3) спроектировать новую структуру кода с выбранных подходом;
4) реализовать спроектированную структуру программного кода;
5) внедрить реализованный код в контроллер ARIS.

Гипотеза – использование объектно-ориентированного подхода позволит решить поставленные задачи.

При написании данной работы использовались следующие методы: анализ и синтез, индукция и дедукция, аналогия и моделирование, абстрагирование и конкретизация.

Результаты:
1) была выявлена часть кода, устаревшая структура которой, замедляет разработку. Этой частью кода контроллера ARIS-28ХХ была библиотека Collect, в частности метод создания программных объектов модулей. Данная часть кода нуждалась в переработке, так как структура данной библиотеки усложняла поддержку и разработку нового кода, увеличивая необходимое для выполнения требований заказчика время;
2) выбран подход разработки ПО позволяющий устранить недостатки текущего кода – объектно-ориентированный подход, с помощью которого стало возможно устранение дублирования кода, уменьшение количества открытых зависимостей, и т.д.;
3) спроектирована новая структура кода с выбранных подходом. Была спроектирована иерархическая структура модулей контроллера ARIS, а также спроектирован метод создания объектов модулей;
4) спроектированная структура программного кода была реализована с использованием спроектированной иерархической структуры модулей, экземпляры классов которой создаются при помощи спроектированного метода создания коллекций объектов без статического связывания;
5) реализованный код был внедрен в контроллер ARIS. Перед внедрением реализованный код был протестирован отделом тестирования на наличие регрессии, которой найдено не было.