Модульность в дизайне уровней — Михаил Кадиков
С каждым годом игры становятся всё более детализированными и масштабными, что неизбежно ведет к большим затратам при создании игрового окружения. Каким образом оптимизировать процесс и построить высокодетализированный игровой мир за короткие сроки и меньшими силами? На помощь дизайнеру уровней приходит принцип модульности, о котором мы и поговорим ниже.
Модульность в архитектуре
Прежде чем рассматривать принцип модульности в дизайне уровней, давайте обратимся к примерам из реальной жизни. Наиболее показательным является использование этого принципа в архитектуре при скоростном возведении зданий.
Основным преимуществом этого метода является значительная минимизация затрат и чрезвычайно быстрая скорость сборки. В настоящее время сборка тридцатиэтажного офисного здания модульного типа занимает всего лишь пятнадцать дней, при условии, что все его компоненты предварительно собраны на заводе и готовы к монтажу.
Если внимательно посмотреть на то, сколько компонентов использовано при строительстве этого здания, то можно с удивлением обнаружить, что их количество сведено к абсолютному минимуму — металлический каркас, перекрытия между этажами, лестницы и панельные стены с окнами. Причем все модульные части сразу же оснащены системами вентиляции и электрокоммуникаций и не требуют отделочных работ. Строителям остается только собрать всё в единое целое.
Сборка модульных компонентов здания © Кадры из видео Broad Group
Таким образом, мы видим, что принцип модульности в архитектуре очень хорошо зарекомендовал себя как дешевый и быстрый способ строительства зданий, где очень важна минимизация строительных модулей для простоты сборки. Этот принцип сразу же взяли на вооружение дизайнеры уровней и художники по игровому окружению, как только столкнулись с необходимостью создания больших виртуальных миров.
Принцип модульности
Модульный дизайн уровней является популярным методом создания игровых окружений в основе которого лежит принцип модульности.
Модульность — это набор (коллекция, библиотека) стандартизированных частей, которые могут быть использованы друг с другом или с другими ассетами, чтобы построить более комплексные структуры, представляющие собой основную архитектуру уровня (структурная геометрия) и любые сложные объекты (детали игрового окружения).
Модульные компоненты из Halo: Reach © 2010, Bungie Studios
Модульный дизайн уровней насчитывает богатую историю и использовался еще в старых двухмерных платформерах от Nintendo. Уровни классического Super Mario Bros. (1985, Nintendo) собирались из небольшого количества элементов, которые многократно переиспользовались. То есть, уровень рисовался не в виде одной большой уникальной картинки, а был построен из маленьких повторяемых кусочков, позволявших собирать практически любую конфигурацию для создания интересного геймплея. Такой подход также позволял сэкономить на видеопамяти и эффективным образом использовать минимальный набор текстур.
Фрагмент дизайн-документа Super Mario Bros. © 1985, Nintendo
Принцип модульности не потерял своей актуальности и используется в играх с трехмерным окружением до сих пор. Одним из первых разработчиков активно продвигающих модульный дизайн уровней для создания высокодетализированных игровых окружений в своих играх была компания Epic Games.
В качестве примера можно привести сцену из Gears of War (2006, Epic Games), которая наглядно показывает каким образом можно максимально эффективно переиспользовать всего несколько элементов для сборки большой части уровня.
Gears of War © 2006, Epic Games
Не смотря на то, что структурная геометрия этой сцены выглядит довольно сложно, на самом деле она состоит из минимального количества моделей:
Gears of War © 2006, Epic Games
Конечно, в сцене присутствуют и уникальные образцы, но 90% всего игрового окружения создано именно из переиспользуемых модульных элементов (выделено разными цветами):
Gears of War © 2006, Epic Games
Модульный принцип применим не только к структурной геометрии уровня. Он также используется при детализации игрового окружения. К примеру, в том же Gears of War (2006, Epic Games) можно заполнить уровень большим количеством вариаций автомобилей добавляя к базовой модели те или иные детали, тем самым создавая иллюзию уникальности объекта.
Gears of War © 2006, Epic Games
Набор модульных труб в Mirror’s Edge (2008, DICE) позволяет дизайнерам создавать сложные конструкции практически любого вида меняя их конфигурацию и цвет.
Mirror’s Edge © 2008, DICE
При ближайшем рассмотрении оказывается, что все эти хитросплетения труб созданы при помощи всего лишь трех модульных элементов (выделено разными цветами):
Mirror’s Edge © 2008, DICE
Модульные элементы формирующие структурную геометрию для создания интерьеров из Assassin’s Creed: Unity (2014, Ubisoft Montreal):
Assassin’s Creed: Unity (2014, Ubisoft Montreal)
Финальная сборка уровня из модульных элементов после декорирования выглядит так:
Assassin’s Creed: Unity (2014, Ubisoft Montreal)
Модульный принцип очень хорошо работает с натуральными структурами, такими как куски скал и камней. Совмещая, вращая и масштабируя всего нескольких модулей, можно с успехом декорировать большую часть игрового мира.
В качестве примера можно привести модули скал из Assassin’s Creed: Black Flag (2013, Ubisoft Montreal):
Assassin’s Creed: Black Flag (2013, Ubisoft Montreal)
Творческий подход
Хорошего дизайнера уровней сразу видно по его способности смотреть на привычные вещи под каким-то необычным углом, а также переиспользовать уже существующие ассеты в совершенно новом ключе.
В этом плане больше всего впечатляет то, с какой фантазией дизайнеры из Bethesda Game Studios подходят к декорированию окружения. Их игры Fallout 3 (2008), Skyrim (2011) и Fallout 4 (2015) служат отличным примером того, как нужно планировать модульный контент, чтобы затем его эффективно переиспользовать на протяжении всей игры.
Несколько примеров из Fallout 4 (2015, Bethesda Game Studios): 1. Хранилище ядерных боеголовок. 2. Магазин бытовой техники. 3. Полноразмерные модели лодок выдают за миниатюрные за счет манипуляций с масштабом объекта. 4. Уменьшенную статую льва используют для декорирования помещения.
Fallout 4 © 2015, Bethesda Game Studios
Переиспользование ассетов касается не только декоративных элементов, но и целых локаций. К примеру, в Fallout 4 (2015, Bethesda Game Studios) существует множество различных церквей, которые при ближайшем рассмотрении оказываются одной и той же моделью. Вместе с тем, благодаря творческому подходу к декорированию, каждая локация выглядит уникальной.
Fallout 4 © 2015, Bethesda Game Studios
В Dishonored 2 (2016, Arkane Studios) модульная система очень органично вписывается в мир игры, поэтому переиспользования геометрии уровней практически не замечаешь. Например, элементы фасада с проемами отлично подходят как для глухих стен, дверей и окон, так и для создания пешеходных галерей.
Dishonored 2 © 2016, Arkane Studios
Еще одна интересная находка дизайнеров Arkane Studios — дверные и оконные проемы используются не только по назначению, но и для создания встроенных в стену шкафов и полок.
Dishonored 2 © 2016, Arkane Studios
На фасадах большинства зданий виртуального Лондона из Assassin’s Creed Syndicate (2015, Ubisoft) можно видеть множество объемных текстовых вывесок. Для их создания был использован модульный набор букв самых разных размеров и цветов. Таким образом, разработчики получили тысячи уникальных надписей, собранных из сравнительно небольшого количества моделей.
Assassin’s Creed Syndicate © 2015, Ubisoft
Модульный подход безусловно может похвастаться рядом преимуществ, но он также обладает определенными недостатками.
Преимущества
Во-первых, модульность позволяет уменьшить время производства игровых ассетов и уровня в целом. Так как основной упор делается на активное переиспользование модульных компонентов, то необходимость создавать большое количество уникальных объектов сразу же отпадает. Как следствие, меньшее количество дизайнеров и художников могут сделать больше игровых локаций, т.к. модульность имеет большой потенциал для производства новых уровней из уже имеющихся ресурсов.
Во-вторых, это гибкая система редактирования и удобство работы с модульными компонентами. Дизайнеру не потребуется помощь художника, чтобы внести изменения в игровой мир и заменить один модульный элемент на другой. А для того, чтобы мгновенно внедрить финальные версии моделей сразу по всем уровням игры, художнику достаточно лишь обновить библиотеку модульных компонентов.
В-третьих, это оптимизация производительности за счет уменьшения количества уникальных объектов на уровне и используемых текстур. Это позволит сократить время загрузки игры и сэкономить на видеопамяти.
Недостатки
Во-первых, это комплексная реализация модульной системы. Она требует от дизайнеров понимания технического исполнения и функциональной продуманности компонентов (работа с сеткой), а также художественный талант для реализации (моделлинг, композиция, пропорции и т.д.).
Во-вторых, это явная повторяемость модулей, которая часто приводит к тому, что похожие друг-на друга комнаты наполнены одинаковыми объектами. Для решения этой проблемы необходим творческий подход к детализации и декорированию игрового окружения, а также уход от повторяемости за счет необычной комбинации объектов.
В-третьих, это неестественность геометрии уровня. Так как очень часто модульные элементы привязаны к сетке для простоты использования под углами в 45 и 90 градусов, то сразу же теряется ощущение реалистичности игрового мира. Это особенно заметно при создании природных ландшафтов.
Как организовать работу?
Создание модульных компонентов это тесное взаимодействие дизайнера уровней и художника по игровому окружению. Каким образом строится их работа?
Разработкой модульного контента стоит заниматься сразу же после того, как только будет готов геймплейный прототип состоящий из примитивной геометрии.
Прежде чем начать работу, нужно определиться с правилами взаимодействия и скрепления модульных элементов под различными углами, а также со стандартизацией их размеров. Для этого рекомендуется использовать сетку со значениями кратными двум (с размерами 512х128х64х32), чтобы обеспечить идеальную стыковку элементов. Чем крупнее сетка, тем удобнее дизайнеру будет работать с набором. Положение пивота (от англ. «pivot» — точка опоры) модели должно быть также по сетке.
Непосредственное создание модульных частей начинается с анализа геймплейного прототипа. Дизайнер совместно с художником разбивают уровень на модульные части и создают временную геометрию всех компонентов с учетом стандартных размеров и правил. Максимально эффективное переиспользование моделей и минимизация их количества является ключом для создания хорошего модульного набора.
Полученный набор тестируется дизайнером непосредственно в редакторе уровней. После успешного тестирования все модульные компоненты отдаются художнику, который затем работает над финальной версий всех необходимых ассетов.
Во время производства модульных ассетов приоритет отдается сначала структурной геометрии, затем деталям и только потом уникальным элементам.
< НАЗАД | ОГЛАВЛЕНИЕ | ДАЛЕЕ >
Значение, Определение, Предложения . Что такое модульность
- Онлайн-переводчик
- Грамматика
- Видео уроки
- Учебники
- Лексика
- Специалистам
- Английский для туристов
- Рефераты
- Тесты
- Диалоги
- Английские словари
- Статьи
- Биографии
- Обратная связь
- О проекте
Примеры
Значение Википедия
Модульность — это свойство системы, связанное с возможностью её декомпозиции на ряд внутренне связанных между собой модулей.
- Модульный принцип — принцип построения технических систем, согласно которому функционально связанные части группируются в законченные узлы — модули (блоки). Модульность устройства позволяет изменять его возможности, путём использования/наращивания функциональных блоков, выполняющих различные задачи.
- Модульность в языках программирования — принцип, согласно которому логически связанные между собой подпрограммы, переменные и т. д. группируются в отдельные файлы (модули).
Предложения со словом «модульность»
Однако было показано, что модульность имеет предел разрешающей способности и поэтому не способна обнаруживать небольшие сообщества. | |
Все строки и столбцы матрицы модульности суммируются до нуля, что означает, что модульность неразделенной сети также всегда равна нулю. | |
Эти две теории, модульность и распределительная обработка, также могут быть объединены. | |
Он отметил, что модульность-это вопрос степеней, и что мозг является модульным в той мере, в какой он заслуживает изучения с точки зрения его функциональной специализации. | |
В широком смысле модульность-это степень, в которой компоненты системы могут быть разделены и рекомбинированы, часто с выгодой гибкости и разнообразия в использовании. | |
Модульность приводит к структуре, в которой модули интегрируют сильно взаимозависимые задачи, в то время как взаимозависимости между модулями слабы. | |
Десять лет спустя модульность становится самостоятельной художественной проблемой, поскольку несколько важных минималистских художников принимают ее в качестве своей центральной темы. | |
Эти идеи снимали акцент с общих теорий предметной области и подчеркивали специфику предметной области или модульность мышления. | |
Модульность теории сознания указывает на то, что различные неврологические области, называемые модулями, определяются их функциональной ролью в познании. | |
Модульность и, следовательно, разделение проблем достигается путем инкапсуляции информации внутри раздела кода, имеющего четко определенный интерфейс. | |
Этот упрощенный взгляд на модульность был опровергнут в течение последнего столетия. | |
Другие точки зрения на модульность исходят из эволюционной психологии, в частности из работ Леды Космидес и Джона Туби. | |
Модульность вообще желательна, особенно в больших, сложных программах. | |
Scoping-это еще один метод, который помогает сохранить модульность процедур. | |
Термин модульность широко используется в исследованиях технологических и организационных систем. | |
Модульность внутри фирм приводит к дезагрегации традиционной формы иерархического управления. | |
В целом, модульность позволяет более гибко и быстро реагировать на изменение общих или рыночных условий. | |
Как и в некоторых других дисциплинах, термин модульность может использоваться в биологии по-разному. | |
Переводы на автоэпистемическую логику существуют или нет в зависимости от того, требуется ли модульность или использование одного и того же алфавита. | |
Она преподает фундаментальные принципы компьютерного программирования, включая рекурсию, абстракцию, модульность и проектирование и реализацию языка программирования. | |
Эта компактная модульность сделала его особенно популярным в качестве средства добавления программируемых интерфейсов к существующим приложениям. | |
Эти методы обеспечивают уровень абстракции, который облегчает инкапсуляцию и модульность. | |
Эта модульность позволяет энтузиастам тратить так мало или столько, сколько они хотят, на компонент, который соответствует их конкретным потребностям. | |
Другие результаты | |
При конструировании оружия военного образца все чаще используется концепция модульности. | |
Таким образом, если сеть достаточно велика, ожидаемое число ребер между двумя группами узлов в нулевой модели модульности может быть меньше единицы. | |
По этой причине оптимизация модульности в больших сетях не позволит решить проблему небольших сообществ, даже если они четко определены. | |
Сам Фодор, один из главных авторов теории модульности, по-видимому, разделяет это мнение. | |
Другой поток исследований модульности в биологии, который должен представлять особый интерес для ученых других дисциплин, — это исследования Гюнтера Вагнера и Ли Альтенберга. | |
Общая форма модульности для произвольных чисел сообществ эквивалентна спиновому стеклу Поттса, и аналогичные алгоритмы могут быть разработаны и для этого случая. | |
В 1984 году Герхард Фрей отметил связь между уравнением ферма и теоремой о модульности, тогда еще гипотезой. |
Словосочетания
На данной странице приводится толкование (значение) слова «модульность», а также синонимы, антонимы и предложения в которых содержится слово «модульность».
Модульная автоматизация | Festo Russia
Вы вряд ли сможете повлиять на колебания в потреблении и на качество сырой воды. Но вы точно можете убедиться, что разумная водоочистка на вашем предприятии способна справиться с этими проблемами. Именно здесь пригодится сетевая технология «Промышленность 4.0» вместе с модульной автоматизацией от Festo.
Модульная автоматизация с терминалом CPX
Компания Festo наделила технологию автоматизации интеллектом. Благодаря распространению цифровых технологий теперь можно легко, надежно и безопасно объединять сетевые автоматизированные модули друг с другом на уровне полевой шины и обеспечить взаимодействие между этими модулями.
Наша платформа автоматизации CPX играет главную роль в децентрализованной обработке сигналов и функциональном управлении. Она позволяет лучше и эффективнее, нежели централизованная система управления, контролировать колеблющееся потребление воды и качество сырой воды. Если чего-то не хватает, будь то система фильтрации или дальнейшие этапы процесса, ее можно просто смонтировать и активировать (простое изменение числа модулей вместо сложного масштабирования).
Интеллект на уровне полевых устройств
Как правило, разработка и проектирование систем, связанных с процессами, выполняется следующим образом: сначала определяют объем производства, который будет произведен в течение заранее определенного времени, а затем налаживают процесс для достижения этой цели.
Но практика показывает, что спрос меняется очень часто. И качество сырья также может меняться. Вмешательство в такую централизованную систему автоматизации является чрезвычайно трудоемким занятием, потому что это означает, что весь процесс и технология автоматизации должны быть изменены. Кроме того, необходима помощь со стороны организации, которая занималась разработкой данной конструкции и программированием ее компонентов. Следует отметить также, что снижение пропускной способности может повлиять на качество продукта и поставить под угрозу прибыльность системы. И последнее, но не менее важное: эксплуатация и техническое обслуживание становятся все более сложными и дорогостоящими, поскольку постоянно приходится выключать и перезагружать систему.
Сравнительный анализ: модульность и централизация
Концепция модульной автоматизации обеспечивает эффективную альтернативу для всех отраслей, которые занимаются очисткой и использованием воды. Каждый модуль сетевой системы является самостоятельным функциональным блоком, работает независимо и содержит все системы управления от Festo. Это означает, что вы можете просто подключать и отключать его по мере необходимости, быстро и с минимальными затратами. В результате количество продукции можно менять по мере необходимости. Нет необходимости перепрограммировать и переналаживать прикладное программное обеспечение. Кроме того, значительно снижаются расходы на техническое обслуживание.
Ваш путь к модульной автоматизации
Эти диаграммы на примере системы фильтрации воды показывают, как всего за четыре шага можно превратить традиционную, крупномасштабную систему, основанную на процессах и снабженную централизованной автоматизацией, в модульное децентрализованное автоматизированное решение. В этом примере мы покажем типичную установку водоочистки, которая была спроектирована на основе давних требований, что затрудняет ее адаптацию к современным условиям (уменьшение или уменьшение масштаба системы). Модульная автоматизация превращает ее в систему, которая легко адаптируется к меняющимся условиям и позволяет быстро и легко регулировать объем производства, удаляя (увеличение числа модулей) или добавляя модули (уменьшение числа модулей).
В качестве примера рассмотрим конструкцию системы фильтрации воды, которая оборудована центральным контроллером и системой управления, и которая когда-то являлась общепринятой. Пневмоостров подключается к системе с помощью полевой шины в качестве системы дистанционного ввода-вывода со встроенной пневматической частью. Компоненты для управления полевыми устройствами установлены в шкафу управления.
Этап 1: Механическое и функциональное разделение на модули
Этап 1: Разделение на подпроцессы
Традиционные системы водоочистки легко делятся на модули. Сначала весь процесс делится на подпроцессы. Для каждого подпроцесса определяется модуль, который содержит все технологические компоненты (механические и автоматические), необходимые для автономной работы.
Разбивка системы автоматизации на модули
Этап 2: Разбивка системы автоматизации на модули
Система автоматизации разбивается на модули аналогичным образом. Компоненты шкафа управления и центральный контроллер (прикладное программное обеспечение на основе процесса) разделены таким образом, что каждый модуль оборудован собственным контроллером, компонентом удаленного ввода-вывода и пневматическим контроллером.
Модульная система фильтрации воды
Этап 3: Координация готовой системы
После того, как модули были подключены для формирования системы, основанной на процессах, каждый модуль предоставляет свои специальные функциональные возможности через интерфейс данных в формате пакета данных. Таким образом, рабочий режим, состояние, технологические замеры и показания, аварийные сигналы и другие данные могут быть считаны и записаны так, чтобы система функционировала.
Кроме того, необходима такая система управления процессами, которая координирует функциональные возможности модулей по всей системе и облегчает управление процессами. В ряде случаев такой подход является более подходящим, чем использование центрального контроллера. Как упоминалось ранее, связанные с процессом функции управления уже содержатся в самих модулях.
Расширение системы путем увеличения числа модулей
Этап 4: Гибкая настройка модульных систем
Используя модули, описанные выше, вы сможете создавать системы любой конструкции, которая соответствует вашим текущим задачам и требованиям, путем простого добавления модулей, идентичных с точки зрения конструкции и функциональности. Система остается гибкой с самого начала, так как вместо сложного масштабирования происходит простое увеличение числа модулей.
Модульная автоматизация – относительно простая задача. С Festo она становится еще проще. Обратитесь к нашим экспертам за консультацией.
Аргументы в пользу модульной автоматизации
Разделение на модули, приведенное здесь, основано на примере системы фильтрации воды, которая раньше контролировалась централизованно. Однако, главный принцип такого разделения можно применять и в других отраслях промышленности. Кроме того, преимущества модульной автоматизации процессов от Festo принесут выгоду не только операторам систем. Модульная концепция представляет собой беспроигрышный вариант и для производителей машинного оборудования.
Преимущества для операторов и производителей оригинального оборудования
- Уменьшение/Увеличение числа модулей Модульная автоматизация значительно упрощает модификацию готовой системы. В результате проектирование завершается быстрее и экономичнее.
- Прозрачность: Отдельные модули Festo – это строго определенные модули с четкой функциональностью.
- Адаптация к меняющимся условиям: Этот подход значительно упрощает адаптацию модулей. Кроме того, встраивание дополнительных этапов процесса становится проще и быстрее.
- Простота: На каждом модуле установлено собственное прикладное программное обеспечение. Это уменьшает сложность всей ИТ-архитектуры.
- Автономность: Модули Festo программируются с помощью CODESYS в соответствии с МЭК 61131. Это означает отсутствие расходов на лицензию, а также возможность свободно выбирать оборудование автоматизации по собственному усмотрению.
- Взаимовыгодная координация действий: Производители оригинального оборудования могут выпускать унифицированные модули даже в небольших количествах и тщательно проверять их перед поставкой. Таким образом, вы выиграете за счет роста производства и сборки, сократите расходы и сможете своевременно обслуживать рынок.
Технология обработки воды – это только начало
Ожидается кардинальное изменение конструкции и проектирования систем, основанных на процессах. Учитывая концепцию «Промышленности 4.0», рекомендация NAMUR № 148 уже включает в себя «Требования к автоматизации, относящиеся к разделению технологических установок на модули». Это значит, что операторам систем и производителям оборудования во всех обрабатывающих отраслях следует проверить, способны ли их системы работать с модульными концепциями.
Пневмоостров MPA-S с терминалом CPX
Невероятно модульный и универсальный! Интерфейс CPX на пневмоострове MPA основан на шинной системе CPX и использует эту систему последовательной связи для всех катушек электромагнитных клапанов и функций электрического входа и выхода.
Пневмоостров MPA-S в каталоге
Информационная статья: Системы на основе концепции Lego
В этой четко структурированной информационной статье мы расскажем про переход систем на основе процессов к модульной автоматизации, используя пример фильтрации воды.
Скачать информационную статью
Модульность программного обеспечения
Модульное программирование существует с 60-х годов и является основой любой хорошей программной архитектуры. Во многих отраслях, в которых когда-то доминировало аппаратное обеспечение, программная архитектура становится критическим узким местом для первоочередного выпуска на рынок лучших продуктов. В то же время быстро увеличивается доля расходов на исследования и разработки, связанные с разработкой программного обеспечения.
Основная проблема заключается в том, что программное обеспечение органично выросло в этих продуктах. Если перспектива не поднята и установлена унифицированная модульная программная архитектура, существует очевидный риск того, что вы получите множество различных монолитных программных платформ, каждая из которых предназначена для узкого подмножества ваших продуктов. Эта проблема делает вашу разработку медленной и дорогостоящей, с плохим результатом.
Можно утверждать, что отсутствие стратегической модульности программного обеспечения является основной причиной того, что традиционным компаниям, ориентированным на аппаратное обеспечение, трудно конкурировать с новыми, целенаправленными конкурентами, у которых нет бремени существующего портфеля.
В этом сообщении блога мы объясним, что такое модульность программного обеспечения, почему она важна для вашего бизнеса и что вы можете сделать для улучшения своего программного обеспечения.
Что такое модульность программного обеспечения?
Модульность программного обеспечения измеряется тем, насколько хорошо программное обеспечение разбивается на более мелкие части со стандартизированными интерфейсами. Это аналогично модульности для оборудования. Мы хотим создавать продукты, комбинируя повторно используемые фрагменты кода, поэтому вы реализуете функцию или функциональность только один раз, а затем максимально увеличиваете повторное использование.
Программный модуль предоставляет свой интерфейс другим модулям, как внутри модульной системы, так и извне по отношению к другим системам. Открытые извне интерфейсы относятся к внешнему интерфейсу прикладной программы (API) модульной системы. Они должны быть тщательно разработаны, поскольку изменения в API повлияют на другие приложения. Сегодня существует множество бесплатных API для облачных сервисов, например, SkyScanner API (для создания собственного приложения для путешествий) или Open Weather API (для создания собственного приложения для прогноза погоды). Если какой-либо из этих сервисов внезапно изменит свой API, многие приложения по всему миру будут неработоспособны, что приведет к большому разочарованию и дополнительной работе. Чтобы иметь стабильную модульную программную систему, необходимо также реализовать тщательный дизайн и управление интерфейсами для интерфейсов между модулями для внутреннего использования.
Назначение модульности программного обеспечения зависит от стратегических целей владельца программного обеспечения. Вот несколько примеров стратегии и намерений:
- Когда программное и аппаратное обеспечение объединяются, переносимость программного обеспечения может быть ключевой целью модульности. Переносимость программного обеспечения определяется как программное обеспечение, которое не зависит от аппаратного обеспечения, на котором оно работает. Эта автономия может быть достигнута с помощью тщательно разработанных интерфейсов, которые абстрагируют аппаратный уровень от уровня приложений.
- Автоматизированное тестирование обычно представляет серьезную проблему для программного обеспечения, которое часто изменяется. Благодаря возможности тестировать быстрее и выявлять проблемы раньше можно тратить меньше времени и ресурсов на интеграцию изменений.
Автоматизированное тестирование — это то, чего можно добиться лучше с помощью умной модульности программного обеспечения. Изолируя изменяющиеся части с помощью интерфейсов, мы можем тестировать меньшие фрагменты, что быстрее как при тестировании, так и при поиске ошибок.
- Для программного обеспечения, в котором обновления и функции реализованы на установленной базе, Возможность обновления по беспроводной сети (OTA) — это сказка века. Чтобы выпускать обновления программного обеспечения контролируемым и эффективным образом, важно отделить часто обновляемые модули от фундаментальных критических модулей, внесение изменений в которые сопряжено с высоким риском. Обновление небольших фрагментов программного обеспечения также выполняется быстрее и требует меньше ресурсов.
Для достижения цели модульности программного обеспечения требуется основательный подход. Он начинается с четкого определения целей и попытки определить, к каким частям системы вам нужно применить модульную стратегию, то есть определить, какие части принадлежат друг другу в программном модуле.
Что такое программный модуль?
В программном обеспечении термин «модуль» имеет множество различных определений, как и термин «компонент». Несмотря на то, что это термин с множеством различных определений, в описаниях есть общие черты. Давайте посмотрим на некоторые из этих описаний.
Начиная с:
Модуль – это фрагмент кода, который может быть независимо создан и поддерживаться для (повторного) использования в различных системах . Википедия описывает модульное программирование как:
Программный модуль является независимым
Программный модуль независим от других модулей в том смысле, что можно разрабатывать и поддерживать модуль с минимальным влиянием на другие модули или вообще без него. Это не означает, что модуль не имеет зависимостей от других модулей при запуске программы.
Эта автономность является важным аспектом программного модуля, поскольку она помогает повысить производительность. Независимые модули позволяют командам инженеров быть независимыми друг от друга при создании, обслуживании и тестировании кода.
Программный модуль является многоразовым и взаимозаменяемым
Модуль может многократно использоваться в различных системах, а также является взаимозаменяемым (заменяемым) внутри системы. Повторное использование модулей в разных системах или продуктах без модификации очень выгодно и поможет сократить время выхода на рынок.
Взаимозаменяемость означает, что вы можете заменить модуль, не затрагивая остальную часть системы. Эта гибкость необходима при обновлении системы из-за новых функций или исправления ошибок. Если вы можете ограничить изменения одним или несколькими модулями, потребуется меньше времени для тестирования и внедрения изменений. Более частые и небольшие выпуски с точки зрения затронутых частей системы обеспечивают гибкость. Меньшие выпуски также означают, что вы берете на себя меньший риск при выпуске новых функций.
Программный модуль — это фрагмент кода и функция
Модуль является частью модульной системы. Первое описание выше определяет декомпозицию с точки зрения кода, а второе — с точки зрения функциональности. Это сходство или различие?
— Мы бы сказали оба. Речь идет о разбиении системы на более мелкие части, но:
Декомпозиция с точки зрения кода — это организация кода, где модуль является структурной единицей. Различные языки программирования поддерживают концепцию модуляризации программного обеспечения, но не совсем одинаково. Например, модуль Python — это файл, а модуль Java — это гораздо больше. Модуль Java состоит из одного или нескольких пакетов (другой структурной единицы) и дескриптора, который определяет пакеты, экспортируемые из модуля, и другие модули, необходимые для его работы. Только экспортированные пакеты доступны для использования другими модулями.
Разделение функциональности — это организация логических функций в логические программные модули. Такая организация полезна при определении и документировании архитектуры системы.
Логический модуль может быть реализован кодовым модулем или другой структурной единицей, такой как пакет. В UML (унифицированном языке моделирования) модульную систему можно описать с помощью диаграммы компонентов UML.
Как программный модуль может быть независимым, многократно используемым и взаимозаменяемым?
Есть несколько важных свойств программного модуля, которые позволяют группам работать независимо друг от друга, что делает программный модуль многоразовым во многих системах и взаимозаменяемым.
Модуль А…
инкапсулирует функциональность и данные. Инкапсуляция заключается в сокрытии деталей реализации модуля. Чем меньше модуль знает о других модулях, тем меньше он будет зависеть от изменений в других модулях. Другие модули могут получить доступ к функциям и данным только через предоставленный интерфейс. Как правило, хорошо инкапсулировать как можно больше.
обеспечивает интерфейс для других модулей для доступа к своим функциям и данным.
Интерфейс программного модуля должен быть максимально абстрактным и компактным. Меньшее количество деталей означает более слабую связь между программными модулями и делает их более независимыми, повторно используемыми и взаимозаменяемыми.
требует наличия интерфейсов, предоставляемых другими программными модулями. Для реализации функциональности программного модуля он должен иногда использовать предоставляемые интерфейсы других модулей. Программный модуль, который использует другой модуль через свой интерфейс, зависит от этого другого модуля. Чем меньше зависимостей, тем лучше. Поскольку в жизненном цикле программного модуля могут произойти изменения интерфейса, несовместимые с предыдущими версиями, обновление модуля может быть принудительным без каких-либо преимуществ для клиентов, таких как повышение производительности, функциональности или качества. Принудительные обновления программного обеспечения, которые не улучшают преимущества для клиентов, следует рассматривать из-за сложности разработки программного обеспечения.
Давайте проиллюстрируем.
Рисунок 1. Программный модуль предоставляет и требует интерфейсы
Модуль B1 предоставляет интерфейс B для модуля A и требует наличия интерфейсов C и D. Предположим, у нас есть новый модуль B2 с улучшенной производительностью. Если модуль B2 предоставляет тот же интерфейс и требует тех же интерфейсов, что и B1, то он взаимозаменяем с B1.
Рисунок 2. Два программных модуля, которые обеспечивают и требуют одинаковые интерфейсы, взаимозаменяемы
Модуль, который определяет предоставленные и требуемые интерфейсы, которые можно повторно использовать в других системах, например, модуль B1, можно повторно использовать в другой системе, если предоставлены требуемые интерфейсы.
Рис. 3. Диаграммы компонентов UML можно использовать для документирования модулей с предоставленными и требуемыми интерфейсами.
Что такое стратегический программный модуль?
Одним из часто упускаемых из виду аспектов формирования программных модулей является стратегия компании. При создании модуля с описанными выше свойствами мы обычно имеем в виду конкретное намерение. Эта цель должна быть четко определена и задокументирована. Намерение выражается путем ответов на стратегические вопросы, такие как:
- Сформирован ли модуль для сбора аспектов системы, которые будут часто меняться?
- Создан ли модуль для обеспечения возможности получения кода от стратегического партнера?
- Является ли модуль сформированным, потому что для его развития требуется определенный набор навыков, которым обладают очень немногие люди?
Поскольку программисты могут легко обойти или неправильно понять архитектуру программного обеспечения, очень важно неоднократно оглядываться назад, почему определенные функции были сгруппированы в модули. По этой причине мы считаем крайне важным сформулировать и задокументировать стратегическое назначение модуля. На самом деле, определенная модульная стратегия должна рассматриваться как критерий для того, чтобы называть что-либо модулем. Программный модуль с определенной модульной стратегией является стратегическим программным модулем.
В блоге нашего коллеги «Что такое хорошая модульная система» объясняется, что модульная система должна быть гибкой для больших масштабов и служить долго. Создание стратегических программных модулей увеличивает шансы на более длительный срок службы, а надежность становится менее зависимой от человека.
Как документировать модуль стратегического программного обеспечения
Документирование модуля стратегического программного обеспечения отличается от традиционной документации программного обеспечения. Стратегический программный модуль должен заключать в себе функции, определять интерфейсы и управляться стратегией. Эта информация должна быть задокументирована, чтобы ее можно было легко передавать, обсуждать и объяснять. Один из способов сделать это — создать одностраничную спецификацию модуля стратегического программного обеспечения, хранящуюся в вашей системе управления документами. Еще одним гибким способом документирования этих аспектов является вики.
Рисунок 4. Пример спецификации модуля стратегического программного обеспечения на слайде на одной странице системы должны быть разложены на более мелкие части или модули. Независимые модули делают команды разработчиков более автономными, что приводит к повышению эффективности и сокращению времени выхода на рынок. Модуль также можно использовать повторно в различных продуктах. Компании с модульным портфелем продуктов строят свои продукты из набора стандартных модулей многократного использования.
Определив стратегическое назначение программного модуля, вы создаете стратегический программный модуль. Эти модули будут более устойчивыми к изменениям, поскольку причины, по которым они были сформированы, задокументированы.
Удивительно, что модуль всего с тремя простыми атрибутами — инкапсуляцией, интерфейсами и стратегией — может принести столько пользы.
Если вы хотите узнать больше о том, как создать модульную архитектуру с помощью проверенного метода под названием «Развертывание модульных функций», вы можете загрузить наше пятиэтапное руководство по ссылке ниже:
Поговорим!
Модульность программного обеспечения — наша страсть, и мы будем рады продолжить с вами общение. Свяжитесь с нами напрямую по электронной почте или на Linkedin , если вы хотите обсудить затронутую тему или выступить в роли наблюдателя в отношении модульности и стратегических архитектур продуктов.
Роджер Кулленг
Старший специалист по архитектуре программного обеспечения
[email protected]
Линкедин
Karl Bråtegren
Старший менеджер
Karl.Brategren@modularmanage товары. Скорость инноваций растет благодаря цифровизации и борьбе за устойчивость, в то время как коммодитизация и глобализация снижают цены быстрее, чем когда-либо прежде. Как компании могут использовать возможности гибкости и настройки, чтобы получить конкурентное преимущество? Как они могут использовать эффект масштаба и снизить стоимость сложности, не препятствуя инновациям? И, наконец, как они могут предоставить клиентам кажущиеся противоположными преимущества персонализации и индустриализации?
Модульность — это инструмент для логического разделения продукта, который обеспечивает как экономию за счет масштаба, так и возможность создавать различные конфигурации для увеличения ценности для клиентов. Модульность продукта — это измерение того, насколько он конфигурируем, то есть сколько комбинаций вы можете построить с заданным количеством строительных блоков.
Работа с модульной системой — это образ мышления. Его можно использовать во всех отраслях, расширяя границы того, что может быть достигнуто с помощью продуктовых платформ и общих компонентов. Мастера модульного искусства признают, что это гораздо больше, чем просто модульный продукт. Модульность охватывает весь бизнес; Продукты, операционные модели и инфраструктура.
Модульная система позволяет конфигурировать множество продуктов с ограниченным числом вариантов модулей.
Модульные системы не ограничиваются ориентированными на продукцию отраслями, такими как автомобили, бытовая техника или телекоммуникации. Модульные системы также необходимы для преобразования ориентированных на проекты предприятий с операционных моделей «Разработка на заказ» на «Конфигурация на заказ». Модульность также является трамплином для компаний, предоставляющих услуги, для контроля над предложением и передачи знаний и ценности от отдельных лиц организации. Модульность — это фундаментальный инструмент в разработке программного обеспечения, позволяющий увеличить повторное использование кода, обеспечить параллельную разработку и сократить усилия по тестированию.
Ниже мы поделимся своими мыслями о том, что такое модульная система, как использовать модульность для реализации вашей бизнес-стратегии, как создать систему для ваших продуктов и как ее улучшить. Мы также расскажем, как измерить модульность и какие основные возможности необходимы для успеха.
Что такое модуляризация?
Модульность — это деятельность по разделению продукта или системы на взаимозаменяемые модули. Целью модульности является создание гибкой системы, которая позволяет создавать различные запрашиваемые конфигурации, а также сокращать количество уникальных строительных блоков (модульных вариантов), необходимых для этого. За счет повторного использования вариантов модулей в нескольких конфигурациях объемы консолидируются на уровне модулей и достигается эффект масштаба без ограничения/рационализации предложения продуктов.
Модульный подход имеет множество преимуществ. Например, компания может увеличить ценность для клиента, настроив правильный продукт для конкретной ситуации. Скорость разработки увеличивается, поскольку инновации ограничиваются одним или небольшой группой модулей в системе, а не целым продуктом. Кроме того, снижается внутренняя сложность за счет ограничения количества вариантов проектирования, производства и обслуживания портфеля. Эта внутренняя стоимость сложности часто упускается из виду или сильно недооценивается на предприятиях, потому что требуется так много времени, ресурсов и капитала, чтобы поддерживать большое количество деталей.
Модульность сочетает в себе преимущества стандартизации, которая обеспечивает низкую стоимость сложности, с настройкой путем создания подходящего продукта для каждого клиента и его ситуационных потребностей.
Модульность использует преимущества стандартизации и настройки
Хотя наиболее очевидными примерами модульности могут быть физические продукты, этот метод также полезен в программном обеспечении и сервисных продуктах.
Основным фактором модульности являются стандартизированные интерфейсы. Интерфейс позволяет заменять один вариант модуля другими модулями для достижения необходимого уровня производительности и адаптации к конкретным приложениям и/или функциональным потребностям продукта.
Что такое модульная система?
Модульная система — это группа модулей, интерфейсов и правил, позволяющая настраивать продукты. Успех строится на идеях гибкости, ловкости и эффективности. Отличная модульная система, конечно, обеспечит эффективность, но она также будет гибкой для большого количества продуктов и гибкой для будущих изменений, поэтому архитектура может жить долгое время. Прочтите этот пост, чтобы получить более полное представление о том, что определяет лучшие модульные системы.
Эффективность модульной системы означает экономию за счет масштаба и стабильности. Благодаря повторному использованию модулей в разных продуктах объемы консолидируются. Изолируя модули, когда требуются изменения, цепочки поставок могут извлечь выгоду из долгосрочных планов и обязательств. Например, аккумуляторная система может включать охлаждающий вентилятор, который может быть общим для всех вариантов продукта. По нашему опыту, это первая черта модульности, которую признают руководители отрасли.
Гибкость модульной системы означает возможность массовой настройки для конкретных потребностей клиентов. Например, система аккумуляторов может быть сконфигурирована для обеспечения различной емкости накопления энергии. Для предприятий, ориентированных на SKU, модульные системы позволяют быстрее создавать SKU с меньшими усилиями. Для продуктов, изготовленных по индивидуальному заказу, модульность помогает высокоэффективным инструментам конфигурирования быстрее и точнее составлять расценки. Во многих случаях клиент может самостоятельно настроить продукт в интерактивном CPQ ( Configure-Price-Quote ) система.
Гибкость для модульной системы означает возможность быстрых и контролируемых изменений для новых требований и/или технологий. Например, электроника управления зарядом может быть модернизирована, чтобы обеспечить оптимизацию зарядки с учетом скорости и доступности экологически чистой энергии. Подготовившись к изменению геометрии и спецификаций интерфейса, можно изолировать изменения в конкретных модулях, чтобы окружающие модули оставались нетронутыми.
Компании, которым удалось создать модульные системы, отвечающие всем трем требованиям, превосходят конкурентов в отношении потребительской ценности и стоимости. Это влияет на весь бизнес; Продажи, исследования и разработки, производство, снабжение, послепродажное обслуживание и все остальное, где сложность продукта влияет на прибыль, затраты и скорость.
Что такое модульность?
Модульность — это измерение того, насколько хорошо система работает с учетом бизнес-стратегии и установленных целей. Эти цели обычно можно определить как эффективность, гибкость и маневренность. Таким образом, измерение модульности будет варьироваться в зависимости от того, что наиболее важно для конкретного бизнеса. Некоторые измерения будут более важными, чем другие, учитывая цели, установленные для программы модуляризации.
Для измерения эффективности мы можем измерить, сколько различных строительных блоков требуется в системе. Чем меньше, тем лучше. Отличным показателем эффективности является подсчет номеров деталей (PNC). Контролируя количество деталей, менеджеры могут гарантировать, что со временем сложность не усложнится. Также становится намного проще измерять влияние любых новых добавленных частей намеренно для расширения доли или улучшения предложения. Сегодня во многих компаниях недостаточно понимают увеличение/уменьшение PNC и его влияние, что приводит к снижению маржи.
Для измерения гибкости мы можем использовать измерение того, сколько конфигурируемых продуктов доступно для продажи при фиксированном наборе вариантов модулей. Эта мера часто называется конфигурируемостью и определяется как количество возможных продуктов, деленное на количество необходимых компонентов (PNC).
Чтобы измерить гибкость, мы можем измерить количество новых компонентов, необходимых для увеличения предложения продукта. Обычно это измеряется за период, чтобы получить среднее значение, например, ежегодно. Определение метрики — это количество представленных компонентов, деленное на количество включенных вариантов продукта.
Диаграмма, показывающая, как модульность обеспечивает гибкость при одновременном снижении сложности
Лейф Эстлинг, бывший генеральный директор Scania, сказал:
«Контроль и ограничение количества деталей — один из наиболее важных факторов для оптимизации прибыльности с течением времени».
История модуляризации и модульных систем
Хотя доказательство модульности можно проследить еще со времен Терракотовой армии (200 г. до н.э.), современное промышленное использование модульности было впервые применено лидерами в различных отраслях, таких как Scania, Toyota , Nippondenso, Dell и Sony. Этим компаниям удалось занять явное лидерство на рынке, используя модульность, управление и улучшение своих модульных систем с течением времени.
В Германии модульные системы часто называют Baukasten, что буквально переводится как конструктор. Volkswagen, например, называет свои модульные системы Baukasten, например, Volkswagen MQB, что означает Modularer QuerBaukasten , , что примерно переводится как Transversal Engine Modular System. Baukasten часто использовался как термин в 1930-х годах для наборов для самостоятельного изготовления, таких как модели железных дорог, модульные радиоприемники и наборы электронных инструментов для детей. Эти игрушки имеют много общего с промышленными модульными платформами. У них одна и та же цель — создание гибкости и одни и те же средства — стандартизация интерфейсов.
Sony структурно использовала модульность для продуктовых линеек Handycam и Walkman, чтобы постоянно оставаться впереди конкурентов на протяжении 1980-х годов. Как только конкуренты подтягивались, Sony могла сразу же выпустить следующую версию и снова стать лидером по продукту.
Scania, с другой стороны, поняла, что модульность — это способ обеспечить массовую настройку. Создав модульную систему для грузовика на разных уровнях, можно было сконфигурировать и изготовить почти бесконечное количество вариантов на одних и тех же сборочных линиях без дорогостоящих переделок. На протяжении десятилетий уникальная ориентация Scania на модульность позволяла им превосходить конкурентов по прибыльности (от 2 до 5 раз), даже несмотря на то, что их объемы были ниже, чем у некоторых конкурентов. Оптимизируя вариативность и индивидуализацию, Scania успешно добилась превосходной экономии за счет масштаба, одновременно предоставляя отдельным водителям именно тот грузовик, который им нужен.
В условиях современной экономики успешные компании являются сторонниками модульности аппаратного и программного обеспечения, продуктов и услуг. С появлением Web 2. 0 модульность выходит за рамки корпоративных барьеров. Сегодня микросервисы, веб-приложения и открытые API открывают совершенно новый набор возможностей настройки. И по мере того, как все больше функций переходит от аппаратного к программному обеспечению, производители традиционного оборудования также могут извлечь выгоду из внедрения новых способов мышления и работы.
Повышение качества, ускорение выхода на рынок и масштабирование с помощью модуляризации программного обеспечения
Многие компании страдают от сложной разработки программного обеспечения, например:
- Трудности с масштабированием мощностей разработки
- Программное обеспечение приводит к проблемам с качеством, несмотря на большие усилия по тестированию
- Сложность планирования и составления бюджета на разработку программного обеспечения, поскольку изменения приводят к непредвиденным волновым эффектам
Тремя типичными основными причинами проблем с архитектурой программного обеспечения являются программное обеспечение «Разработано мной», сильно связанные структуры программного обеспечения и несколько перекрывающихся программных платформ.
Даже компании, которые традиционно были сосредоточены на механике, становятся компаниями-разработчиками программного обеспечения, нравится им это или нет. Технический директор «аппаратных компаний» понимает, что у них часто больше инженеров-программистов, чем инженеров-железо.
Делая программные модули независимыми, многократно используемыми и взаимозаменяемыми, разработка может быть намного более эффективной и по-настоящему гибкой. Независимые модули делают команды разработчиков автономными для повышения эффективности и времени выхода на рынок. Узнайте больше о модуляризации стратегического программного обеспечения и загрузите наш шаблон документации по стратегическому программному модулю.
Термины, которые следует знать о модуляризации и модульных системах
Модуль
Модуль — это функциональный строительный блок с определенными интерфейсами, управляемый специфическими стратегиями компании.
Модульная система
Модульная система представляет собой набор строительных блоков, которые можно конфигурировать различными способами, адаптируясь к различным потребностям клиентов. Модульные системы могут быть иерархическими, поскольку модульные подсистемы могут быть общими для более чем одной модульной архитектуры продукта. Модульные системы могут иметь одну или несколько архитектур, которые представляют собой структуры, описывающие, как продукты создаются с помощью модулей.
Архитектура модульного продукта
Архитектура модульного продукта — это геометрическая и логическая структура для создания типа продукта на основе модульной системы. Например, компания может использовать одну модульную систему для стиральных и сушильных машин. Однако стиральные и сушильные машины имеют различную модульную архитектуру продукта.
Модульность
Модульность — это деятельность по подразделению системы продуктов на модули. Модульность может воздействовать на любую комбинацию аппаратного обеспечения, электроники, программного обеспечения и услуг.
Вариант модуля
Вариант модуля — это реализация модуля, реализующая его интерфейсы и стратегическое назначение. Для оборудования и электроники это физическая часть. В программном обеспечении это инкапсулированный фрагмент кода. Программные модули обычно имеют только одну реализацию, гибкую для всех вариантов использования. Для аппаратного обеспечения и электроники каждый модуль будет иметь один или несколько вариантов.
Интерфейс модуля
Интерфейс модуля определяет, как модуль взаимодействует со своим окружением. Интерфейс может быть с другими модулями, а также с внешним миром. Интерфейс может быть физическим, соединяющим один модуль с другим. Он может указывать, как информация, мультимедиа или питание передаются между двумя модулями. Он также может быть геометрическим, определяющим пространство, отведенное для модуля.
Конфигурация
Конфигурация — это определенная комбинация вариантов модуля в соответствии с модульной архитектурой продукта, которая соответствует набору правил конфигурации.
Правила конфигурации
Правила конфигурации управляют тем, как продукт может быть объединен из набора вариантов модулей. Модульная архитектура продукта описывает структуру, как создается продукт. Правила конфигурации описывают логику того, какие варианты модулей можно комбинировать, и определяют, как потребности клиентов преобразуются в подходящую конфигурацию. Правила конфигурации также могут управлять бизнес-логикой. Например, упаковка и цены на продукты и функции.
Product Configurator
Product Configurator — это программное решение, выполняющее правила конфигурации. Это может быть ориентировано на клиента в форме конфигуратора продаж/решения CPQ. Но Product Configurator также можно использовать внутри компании для создания спецификаций материалов для производства и проектирования или для автоматического создания чертежей настраиваемых продуктов.
Стоимость сложности
Стоимость сложностииспользуется для описания расходов, связанных с введением новых предложений и управлением разнообразием производимой продукции. Наличие большого количества различных продуктов приведет к высокой стоимости сложности. В то время как все меньше и больше похожих продуктов приводят к низкой стоимости сложности. По сути, это способ понять эффект масштаба и то, как продукты влияют на него. Модульность может быть использована для улучшения эффекта масштаба при сохранении конфигурируемости продуктов. Масштаб достигается на уровне модуля, а не на уровне продукта, что приводит к лучшему рыночному предложению с гораздо меньшим количеством деталей.
Платформа
Платформа продукта — это набор похожих продуктов, сгруппированных для обеспечения совместного использования определенных компонентов между продуктами. Платформы продуктов часто могут стать жесткими и негибкими, когда требуются новые или другие адаптации клиентов. Платформы также сложнее обеспечить повторное использование компонентов в разных продуктовых линейках. Примечание. Модульность и модульная платформа могут использоваться как синонимы модульной системы. Volkswagen — отличный пример перехода от продуктов к платформам и модульным системам.
Три великолепных примера модульной конструкции и модульной продукции
Пример 1: Электрические триммеры Husqvarna
Организация Husqvarna является образцовой во многих отношениях. Не только в лесу, но и в области модульности. Одним из примеров является модульная система для электрических триммеров. Различные бренды и постоянно растущий ассортимент SKU используют одну и ту же архитектуру, поддерживая переход от проводных триммеров к аккумуляторным.
На этом рисунке показано, как модульная система может быть достаточно гибкой, чтобы дифференцировать характеристики бренда без потери преимуществ масштаба в функциональных частях. Такие компоненты, как двигатели, аккумуляторы, регуляторы скорости и кабели, могут иметь существенные преимущества при масштабировании. А когда унификация может быть достигнута даже на уровне узлов, это открывает возможности для поиска более крупных предварительно протестированных узлов.
Другие замечательные примеры от Husqvarna можно увидеть в газонокосилках-роботах, где несколько брендов имеют общую архитектуру, а правила конфигурации и модули стиля разделяют бренды и ценовые категории.
Husqvarna также является пионером в использовании IoT и облачных решений, чтобы расширить бизнес-модель от продажи оборудования и расходных материалов до продажи садовых инструментов в качестве услуги с помощью концепции Tools for You . Интернет вещей также используется для профессионального управления автопарком.
Пример 2: 4-тактные двигатели Wärtsilä
Wärtsilä производит огромные двигатели и имеет обширный ассортимент. Они производят относительно небольшие двигатели (диаметр цилиндра около 200 мм), используемые во вспомогательных или дизель-электрических генераторах, до огромных электростанций (диаметр цилиндра более 500 мм), используемых в электростанциях и прямых приводах на кораблях.
Высокие требования к гибкости; индивидуальная планировка машинного отделения, типы топлива, требования к мощности и схемы работы, и это лишь некоторые из движущих сил. В то же время технологии продвигаются конкурентами и даже в большей степени постоянно растущими глобальными требованиями к устойчивости. Модульная система 4-тактных двигателей Wärtsilä готова справиться с этой задачей.
Вот два замечательных примера модульной конструкции от Wärtsilä:
- За счет гибкости блока цилиндров в отношении расположения главного вала отбора мощности и узла турбонагнетателя достигается гибкость машинного отделения без дублирования сложности.
- Благодаря созданию стандартизированных интерфейсов между системами впрыска топлива и головками цилиндров можно настраивать типы топлива, не затрагивая основные функциональные части двигателя.
Wärtsilä 31 — это самый экономичный 4-тактный двигатель на рынке, который отлично подходит для оператора и полезен для планеты. Прочтите полную историю успеха самого эффективного двигателя в мире.
Пример 3: веб-API Spotify
Публикуя общедоступный API, который может использовать любой разработчик, Spotify расширяет границы своего продукта.
Благодаря внедрению модулей Spotify, таких как альбомы, библиотеки и списки воспроизведения, создаются еще более совершенные продукты. Этот открытый доступ означает, что Spotify может быстро стать интегрированной частью умных часов, умных динамиков, автомобильных развлекательных систем, телевизоров и т. д. Эти разработки никогда не были бы возможны такими темпами без сотрудничества. Ключевым моментом здесь являются стандартизированные интерфейсы.
Путем публикации четко определенных и стабильных интерфейсов разработка может выполняться одновременно на обеих сторонах интерфейсов, полностью без связи. Эта параллельная разработка является тем же эффектом, который модульность приносит компании. Однако задача определения интерфейсов может оказаться еще более важной. Если не позаботиться об этом, компании могут в конечном итоге поддерживать множество разных поколений своих API.
Что хорошо в примере Spotify, так это то, что он устраняет организационные границы для глобального сотрудничества. Модульность не обязательно должна быть только внутренней стратегией.
Четыре основы успеха модуляризации
Цепь не сильнее, чем ее самое слабое звено. Чтобы достичь устойчивого успеха в модульных системах, вы должны обеспечить высокую компетентность в четырех областях.
Стратегия модульной системы
Понимание того, как ваши модульные платформы поддерживают бизнес-стратегию, является основой успеха. Без согласования текущих проблем, взглядов на будущее и пути, по которому вы идете, вы достигнете лишь части своего истинного потенциала. Согласование должно начинаться сверху и распространяться вниз по компании.
Согласование должно быть обеспечено сверху вниз, чтобы:
- Соединить бизнес-стратегию со стратегией архитектуры продукта
- Организуйте и сосредоточьтесь на инновациях
- Понимание коммерческого потенциала модульности
Архитектура продукта Стратегии могут сильно различаться в разных компаниях и сферах деятельности. Одним из примеров является тенденция строительной отрасли к использованию модульных строительных систем для перехода от строительства на основе проекта к строительству на основе конфигурации. Цель двойная; повысить ценность для клиентов и повысить эффективность. Каждый бизнес должен правильно понимать, где он находится по сравнению с этими ориентирами и каковы его цели, чтобы поддерживать эффективность при росте. Инструментом для анализа этого является модель зрелости архитектуры продукта. Прочтите статью, ссылка на которую приведена ниже, чтобы узнать больше и пройти быструю онлайн-самооценку.
Другой пример — борьба за устойчивость. Как модульный дизайн может помочь компаниям внедрить экономику замкнутого цикла? Партнер по модульному управлению Колин де Квант исследует эту тему в сотрудничестве с Королевским технологическим институтом.
Модульность: создание модульной системы
Чтобы создать модульную систему, организации должны понимать, какие потребности удовлетворяет продукция, как эти потребности могут меняться со временем и какие уровни производительности должны быть достигнуты, чтобы удовлетворить клиентов. Рыночные модели должны быть созданы для того, чтобы обеспечить правильную направленность и установление приоритетов. Инструменты, которые могут помочь в этом понимании и расстановке приоритетов, относятся к теме сегментации рынка на основе потребностей. Скотт Джиран написал в блоге статью о клиентской канве как об инструменте для анализа преимуществ клиентов в различных сегментах, который поможет вам увидеть один из результатов этого процесса.
Лучшие модульные системы отличаются гибкостью и гибкостью. Создание этой синергии требует глубокого знания продукта и его текущей технологии, а также понимания того, как его следует адаптировать и развивать, чтобы обеспечить необходимую функциональность и уровни производительности, необходимые для приложения.
Но понимания технологии недостаточно. Также должно быть понимание того, как бизнес-стратегии по всем функциям могут быть реализованы структурой продукта. Одним из примеров является то, как бережливое производство улучшается за счет внедрения модульной архитектуры продукта. Эта ссылка, реализующая бережливое производство и модульность, рассказывает о том, как добиться синергии между бережливым производством и модульной архитектурой продукта.
Понимание потребностей рынка, технологий и бизнеса — отличное начало модульной системы с нужной гибкостью и динамичностью. Но чтобы обеспечить возможность повторного использования и долгосрочного управления, модули и интерфейсы также должны быть разработаны и задокументированы, чтобы поддерживать намерение архитектуры.
Улучшение модульной системы
Все компании, выпускающие продукцию, имеют архитектуру продукта, независимо от того, модульная она или нет. Это означает, что все компании могут улучшить существующую архитектуру.
Постепенное улучшение, постоянное улучшение, быстрое улучшение процесса и Кайдзен — вот лишь некоторые из многих названий, позволяющих сделать процесс лучше. Это также одно из ключевых свойств отличной модульной системы — она служит долго и, следовательно, может быть улучшена.
Существует множество тем, представляющих интерес в области улучшения архитектуры продукта, некоторые примеры включают:
- Приоритизация НИОКР и согласование планов поэтапного ввода/вывода в рамках всей компании в учетную запись.
- Выявление и приоритизация кандидатов для редизайна, оптимизации и оптимизации стоимости
Ставьте цели, действуйте и выполняйте последующие действия. - Определение и приоритизация действий цепочки поставок для достижения совершенства в сфере закупок
Консолидация объемов, согласование модулей и стратегий цепочки поставок.Пандемия Covid-19 также еще больше привлекла внимание к устойчивым цепочкам поставок. Как модульность может обеспечить географическую гибкость и двойное использование источников?
Основные возможности, необходимые для успеха модуляризации
Четвертая и последняя основа — это основные возможности компании. Независимо от того, насколько хорош ваш продукт, вы потерпите неудачу, если у вас не будет возможностей для его использования и обслуживания, включая:
- Процессы, роли и модели принятия решений для достижения эффективного управления модульной системой, проектирования, поиск и производство.
- Повысьте эффективность от продаж до доставки и разработки, поддерживая процессы с помощью цифровых решений для продаж, управления продуктами, исследований и разработок и управления цепочками поставок. Современные компании уже являются цифровыми, но как должны быть адаптированы системы для перехода от продуктов к модульной архитектуре? Одним из примеров использования модульных платформ в системе продаж является внедрение управляемых инструментов продаж или конфигураторов.
- Как понять стоимость сложности и сбалансировать повторное использование, чтобы направить стоимость в архитектурные и проектные решения.
Ларс Гулландер написал информативную статью под названием «Как управлять изменениями в модульной архитектуре продукта?». В нем вы также найдете примеры моделей принятия решений для управления.
Шесть советов и напоминаний по модуляризации и модульным системам
Совет 1. Всегда начинайте с клиента
Самый важный вклад при разработке любого продукта — понять, как создать ценность для клиента. Это еще более важно при проектировании модульной системы, поскольку цель состоит в том, чтобы сделать продукт достаточно гибким, чтобы удовлетворить ваших клиентов, а также обеспечить длительный жизненный цикл продукта. Это означает понимание всего спектра требований и того, как они могут меняться со временем. Существует множество инструментов, которые могут вам помочь, в том числе рыночные модели, основанные на потребностях, и определение объема инноваций.
Совет 2. Многофункциональное проектирование
Модульная система обещает преимущества для большинства внутренних организаций; продажи, маркетинг, управление продуктами, исследования и разработки, закупки, логистика, производство, послепродажное обслуживание и многие другие. Для обеспечения максимальных преимуществ принципиально важно, чтобы функциональные «голоса» и опыт влияли на конструкцию модульной системы. Это позволяет реализовать максимальную выгоду за счет использования возможностей в рамках каждой функции и поиска компромиссов, сбалансированных с точки зрения ключевых функциональных аспектов. Такой стиль реализации приводит к оптимальному принятию решений относительно архитектуры. Если одна функция начинает менять систему без привлечения других внутренних организаций, высок риск ухудшения.
Совет 3: ориентируйтесь на долгосрочную перспективу
Рим не за один день строился. Компании с большими и сложными производственными портфелями не должны стремиться к трансформации в одночасье. Успешные компании доказали, что победа в битве за сложность — это скорее марафон, чем спринт. Начните с малого, создайте отличный пример и меняйтесь постепенно с течением времени. Самый главный принцип – идти в правильном направлении. Отличные результаты естественным образом ускорят темп обучения.
Совет 4. Знайте ценность модульности
Создание модульных систем требует обязательств. Выделение времени в начале, чтобы понять цену сложности и сплочение команды вокруг правильных целей, может показаться задержкой, но это крайне важно, чтобы избежать дополнительных затрат и времени на запуск, когда начнется детальная работа по проектированию. Это означает, что должны приниматься решения, которые могут противоречить традиционным механизмам принятия решений. Например, многие компании сосредотачиваются на прямых затратах только при принятии решений о дизайне продукта. Они упускают столь же большие, а зачастую и более крупные возможности создания ценности за счет роста доходов и снижения стоимости сложности.
Чтобы принимать такие решения, определите приоритеты лучших ресурсов для разработки вашей модульной платформы и оставайтесь твердо приверженными в течение долгого времени. Крайне важно четко понимать ценность модуляризации. Как модульность повлияет на ваш отчет о прибылях и убытках и баланс? Как вы получите больше прибыли? Согласовав полностью разработанную финансовую цель, управленческая команда может оставаться приверженной делу.
Совет 5. Подготовьтесь к управлению модульной системой
Стоимость общей модульной системы не отображается как деньги в банке с первого дня. Это средство достижения долгосрочного успеха. Чтобы добиться успеха, мы должны охранять систему с течением времени. С самого начала убедитесь, что модели управления, форумы принятия решений и владельцы продуктов адаптируются к модулям и архитектуре, а не к продуктам. Когда вы должны принять изменения? Когда следует отказаться? Кто принимает решение? На каком основании?
Обеспечение четкого понимания этих сложных вопросов с самого начала создает наилучшую возможную основу для того, чтобы ваши инвестиции приносили прибыль с течением времени.
Совет 6. Убедитесь, что руководство на раннем этапе привержено модульной модели
Управление изменениями учит нас тому, что способность руководства влиять на положительный результат максимальна в начале любой инициативы. Тем не менее, распространенная ошибка заключается в том, что руководство не вмешивается до тех пор, пока не станет слишком поздно, чтобы внести положительный вклад. Участие руководства должно быть не только в пунктах взимания платы. Установка модульной системы — это существенное изменение мышления компании. Менеджмент должен быть привержен и вовлечен с первого дня.
Расскажите нам о модульности
С 1996 года мы на 100 % сосредоточили свое внимание на том, чтобы помогать компаниям во всем мире совершенствоваться с помощью модульных систем. Мы знаем, что с модульностью, способами работы и инструментами для ее поддержки вы можете одновременно уменьшить сложность и повысить ценность.
Нам всегда интересно услышать вашу историю и обсудить, как мы можем помочь вашей организации в достижении ее целей. Позвольте нам быть вашей декой! Вы можете связаться с нами сегодня.
Что означает модульность? — PubMed
Обзор
. 2021 сен; 23 (5): 377-403.
doi: 10.1111/ede.12390. Epub 2021 31 августа.
Мириам Л. Зельдич 1 , Анджали Госвами 2
Принадлежности
- 1 Музей палеонтологии Мичиганского университета, Анн-Арбор, Мичиган, США.
- 2 Музей естественной истории, Лондон, Великобритания.
- PMID: 34464501
- DOI:
10.
1111/изд.12390
Обзор
Мириам Л. Зелдич и соавт. Эвол Дев. 2021 Сентябрь
. 2021 сен; 23 (5): 377-403.
doi: 10.1111/ede.12390. Epub 2021 31 августа.
Авторы
Мириам Л. Зельдич 1 , Анджали Госвами 2
Принадлежности
- 1 Музей палеонтологии Мичиганского университета, Анн-Арбор, Мичиган, США.
- 2 Музей естественной истории, Лондон, Великобритания.
- PMID: 34464501
- DOI:
10.
1111/изд.12390
Абстрактный
Модульность в настоящее время общепризнана как фундаментальная черта организмов, которая может иметь глубокие последствия для эволюции. В последнее время модульность стала основным направлением исследований в биологии организмов в нескольких дисциплинах, включая генетику, биологию развития, функциональную морфологию, популяционную и эволюционную биологию. В то время как богатство новых данных, а также новая теория обеспечили захватывающие и новые идеи, концепция модульности становится все более неоднозначной. В основе этой двусмысленности лежат различные интуитивные представления о том, что означает модульность, и эта двусмысленность связана не только со значением слова — метрики модульности измеряют различные свойства, а методы разграничения модулей разграничивают их по разным, иногда противоречащим друг другу критериям. Множество определений, метрик и методов могут привести к существенной путанице не только в том, что означает модульность как слово, но и в том, что она означает для эволюции. Здесь мы рассмотрим различные концепции, используя графические изображения модулей. Затем мы рассмотрим некоторые показатели и методы анализа модульности на разных уровнях. Чтобы поместить их в теоретический контекст, мы кратко рассмотрим теории о происхождении и эволюционных последствиях модульности. Наконец, мы показываем, как несоответствие между понятиями, метриками и методами может привести к теоретической путанице и как потенциально нелогичные интерпретации могут быть осмыслены за счет лучшего соответствия между определениями, метриками и методами.
Ключевые слова: эволюционируемость; модульность.
© 2021 ООО «Вайлей Периодикалс».
Похожие статьи
Модульность: гены, развитие и эволюция.
Мело Д., Порту А., Чеверуд Дж. М., Марройг Г. Мело Д.
и др. Annu Rev Ecol Evol Syst. 2016;47:463-486. doi: 10.1146/annurev-ecolsys-121415-032409. Epub 2016 7 сентября. Annu Rev Ecol Evol Syst. 2016. PMID: 28966564 Бесплатная статья ЧВК.
В поисках морфологических модулей: систематический обзор.
Эстеве-Альтава Б. Эстеве-Альтава Б. Biol Rev Camb Philos Soc. 2017 авг; 92 (3): 1332-1347. doi: 10.1111/brv.12284. Epub 2016 1 июня. Biol Rev Camb Philos Soc. 2017. PMID: 27245113 Обзор.
Эволюция сетей для формирования паттернов тела; взаимодействие модульности, надежности и эволюционируемости.
Тен Тушер К. Х., Хогевег П. Тен Тушер К.Х. и соавт. PLoS Comput Biol. 2011 Окт;7(10):e1002208. doi: 10.1371/journal.pcbi.1002208. Epub 2011 6 октября.
PLoS Comput Biol. 2011. PMID: 21998573 Бесплатная статья ЧВК.
Макромолекулярная скученность: химия и физика встречаются с биологией (Аскона, Швейцария, 10–14 июня 2012 г.).
Foffi G, Pastore A, Piazza F, Temussi PA. Фоффи Г. и др. физ.-биол. 2013 авг; 10 (4): 040301. дои: 10.1088/1478-3975/10/4/040301. Epub 2013 2 августа. физ.-биол. 2013. PMID: 23912807
Эволюционная биология развития: ее концепции и история с акцентом на вклад России и Германии.
Олссон Л., Левит Г.С., Хоссфельд У. Олссон Л. и соавт. Натурвиссеншафтен. 2010 ноябрь;97(11):951-69. doi: 10.1007/s00114-010-0720-9. Epub 2010 24 сентября. Натурвиссеншафтен. 2010. PMID: 20865238 Обзор.
Посмотреть все похожие статьи
Цитируется
Половой отбор приводит к положительной аллометрии, но не к половому диморфизму в выражении формы рогов у голубой антилопы гну Connochaetes taurinus.
Герстенхабер К., Кнапп А. Gerstenhaber C, et al. БМС Экол Эвол. 2022 11 сентября; 22 (1): 107. doi: 10.1186/s12862-022-02060-3. БМС Экол Эвол. 2022. PMID: 36089581 Бесплатная статья ЧВК.
Гетерохронии и аллометрии в эволюции черепа гоминидов: морфометрический подход с использованием классических антропометрических переменных.
Перес-Кларос Х.А., Палмквист П. Перес-Кларос Х.А. и др. Пир Дж. 2022, 25 августа; 10:e13991. doi: 10.7717/peerj.13991. Электронная коллекция 2022. Пир Дж. 2022. PMID: 36042865 Бесплатная статья ЧВК.
Гибкий консерватизм в модульности черепа конвергентно эволюционировавших плацентарных мирмекофагов.
Феррейра-Кардосо С., Клод Х., Госвами А., Дельсук Ф.
, Отье Л. Феррейра-Кардосо С. и соавт. БМС Экол Эвол. 2022 30 июня; 22(1):87. doi: 10.1186/s12862-022-02030-9. БМС Экол Эвол. 2022. PMID: 35773630 Бесплатная статья ЧВК.
Дрозофила Интеграция крыла и модульность: многоуровневый подход к пониманию истории морфологических структур.
Бенитес Х.А., Пюшель Т.А., Суазо М.Дж. Бенитес Х.А. и соавт. Биология (Базель). 2022 8 апреля; 11 (4): 567. doi: 10.3390/biology11040567. Биология (Базель). 2022. PMID: 35453766 Бесплатная статья ЧВК.
Сложный адаптивный ландшафт для «простой» структуры: роль компромиссов в эволюционной динамике формы нижней челюсти у сусликов.
Свидерски Д.Л., Зельдич М.Л. Свидерски Д.Л. и соавт. Эволюция. 2022 май; 76(5):946-965.
doi: 10.1111/evo.14493. Epub 2022 16 апр. Эволюция. 2022. PMID: 35398910 Бесплатная статья ЧВК.
использованная литература
ССЫЛКИ
- Акерманн, Р. Р. (2005). Онтогенетическая интеграция лица гоминоида. Журнал эволюции человека, 48(2), 175-197.
- Адамс, округ Колумбия (2016). Оценка модульности в морфометрических данных: проблемы с коэффициентом RV и новой тестовой мерой. Методы экологии и эволюции, 7, 565-572. https://doi.org/10.1111/2041-210X.12511
- Адамс, округ Колумбия, и Коллиер, М.Л. (2016). О сравнении силы морфологической интеграции по наборам морфометрических данных. Эволюция, 70(11), 2623-2631. https://doi.
- Адамс, округ Колумбия, и Коллиер, М.Л. (2016). О сравнении силы морфологической интеграции по наборам морфометрических данных. Эволюция, 70(11), 2623-2631. https://doi.