by Oleg Sovetnik
Мы можем провести параллель между процессами концептуализации и операционализации в социологии и подходами к моделированию предметной области в программировании. Это позволяет выделить ряд аналогий и перенести методологические подходы социологии в область разработки программного обеспечения.
Концепция умвельта, заимствованная из биосемиотики, играет роль аналогичной прикладной концептуализации в программировании. Умвельт можно рассматривать как модель восприятия системы или программного компонента. Это набор ограничений, возможностей и взаимодействий, через которые каждая часть программы “видит” и обрабатывает данные. Умвельт также базируется на более широком понимании системы — фундаментальной теории, и определяет, как программная система будет взаимодействовать с предметной областью.
В классическом программировании модель предметной области часто создается напрямую, минуя глубокие концептуальные слои. Однако если применять подход умвельта, мы понимаем, что программные агенты (или компоненты системы) должны обладать своими специфическими “восприятиями”, аналогичными тому, как в социологических исследованиях агенты воспринимают мир через определённые схемы.
Социологические теории, такие как структурный функционализм, теория действия, структурализм и постструктурализм, предоставляют многоуровневые инструменты для анализа социальной реальности. Эти сложные теории обеспечивают глубокое понимание взаимодействий, процессов и изменений в социальной структуре.
В программировании же примитивы парадигм (объекты, функции, агенты) намного проще и ограниченны в описании сложных систем. Социологические теории могут предложить более сложные и изощрённые механизмы для проектирования и анализа многоуровневых взаимодействий, чем стандартные фреймворки программирования.
Предлагается новый подход к разработке программного обеспечения, основанный на социологических теориях. Он подразумевает создание системы, основанной на концепции умвельта, с использованием следующей логики:
Выбор фундаментальной теории: Определение базовых концепций, которые будут направлять разработку. Это может быть теория действия, структурного функционализма или любая другая фундаментальная социологическая теория, которая соответствует решаемой задаче.
Создание умвельта: Определение прикладной концептуализации — умвельта, который описывает, как различные компоненты системы будут “воспринимать” и взаимодействовать с данными.
Создание смыслового фреймворка: На основе выбранной теории и концептов умвельта создается смысловой фреймворк. Примитивы программирования (например, объекты, агенты или процессы) сочетаются с концептами фундаментальной теории, создавая новую систему взаимодействия.
Перенос фактов в спецификации (тесты): Установленные в процессе создания умвельта факты переносятся в тесты с использованием смыслового фреймворка и прикладных концептов (сущностей и значений), связанных между собой медиатором (функцией интерпретации из какого-то концепта).
Перенос умвельта в код: На базе созданного смыслового фреймворка и написанных тестов пишем функции, которые соответствуют написанным тестам.
социология умвельт программирование