Рубрика: Software architecture

Карты вашего кода

Саймон Браун сделал небольшую страницу: Модель С4 архитектуры программного обеспечения. Модель C4 была создана чтоб помочь командам разработчиков программного обеспечения описывать и обсуждать архитектуру решений. Её можно использовать как во время начальных сессий проектирования, так и при ретроспективе существующих решений. Это способ создания карт вашего кода на разных уровнях детализации.

Модель C4 рассматривает статические структуры программной системы и включает четыре типа основных диаграмм: системный контекст (пользователи и внешние приложения), контейнеры (основные подсистемы), компоненты и классы. Об использовании дополнительных диаграмм, моделировании микросервисов, отношении C4 model с другими нотациями моделирования и инструментах создания диаграмм см. оригинальную страницу C4model

Реклама

Проектируем Открытый API

Дорогие друзья и уважаемые коллеги, всем вам привет! Слушатели семинаров по архитектуре не раз отмечали, что совместное проектирование ИТ-решений является чуть ли не самой интересной и полезной частью таких занятий. Потому я часто задаю себе вопрос: можно ли перенести эту практику в виртуальное пространство. Принесет ли пользу заочное обсуждение постановок задач и выбор вариантов реализации. Достаточно ли комментариев в блоге, на странице в FB или в Telegram для реализации похожего эффекта.

Напомню, что решаем мы обычно не очень сложные, но достаточно четко сформулированные кейсы. Сегодня я сформулирую такую архитектурную задачку и приглашаю всех к её обсуждению. Уточняющие вопросы и варианты реализации можно задавать в комментариях к этому сообщению, в группе Telegram https://t.me/itarchitect и Facebook https://www.facebook.com/groups/solutionarchitect/ Важные утонения, касающиеся постановки задачи я буду вносить в эту запись. Вариантами решения, которые не обязательно формулировать именно здесь, делитесь, пожалуйста, сами. Итак, поехали. Continue reading «Проектируем Открытый API»

Управление портфелем ИТ проектов

На недавнем вебинаре: ИТ-архитектура и управление изменениями. Обновление процесса CHG мы рассматривали процесс изнутри. Надеюсь, что это было полезным и содержательным. Однако взгляд с такой точки зрения сопровождается одним допущением – запросы на изменения поступают к нам из внешней среды случайным образом и в случайные моменты времени. Безусловно, это не так и в реальной жизни мы знаем о количестве и содержании будущих запросов на изменения немного больше, чем ничего. Особенно если наши бизнес-заказчики ведут плановое хозяйство, собирают свои пожелания на следующий год как-то устанавливают их приоритеты, классифицируют изменения, отделяют главное от самого главного, важное от срочного, появление новых продуктов от улучшения существующих. Continue reading «Управление портфелем ИТ проектов»

Когнитивные карты

В 1948 году Эдвард Чейс Толмен опубликовал статью «Когнитивные карты у крыс и людей», ставшую в дальнейшем широко известной и послужившую одним из триггеров того, что мы сегодня называем когнитивные науки. (Изложение статьи на русском см. Толмен Э. Когнитивные карты…  ) В ней он рассказывает о нескольких экспериментах с крысами, один из которых выглядел следующим образом. Крысам (хотел написать предлагали, но думаю, что здесь будет более уместно другое слово), так вот большая группа крыс наблюдалась в процессе освоения лабиринта, состоящего из 14 Т-образных коридоров. Сначала в эксперименте участвовали две контрольные группы – одна, которая никогда не находила пищу в лабиринте(I) и другая, которая её получала на протяжении всего эксперимента (II). Естественно, что участники второй группы предпочитали двигаться к выходу из лабиринта, т.к. в нем была расположена пища (вероятно сыр). С каждым днем участники этой группы совершала все меньшее и меньшее количество ошибок(см. рисунок ниже). У группы номер один мотивации искать выход из лабиринта не было, и они степенно блуждали по лабиринту, иногда находя выход.  Однако, самое интересное началось после выделения в эксперименте еще одной группы (III) Continue reading «Когнитивные карты»

Несколько замечаний о корпоративной архитектуре

По примеру старших товарищей я решил сделать в блоге обновляемое сообщение. Я периодически буду возвращаться к этой заметке, что-то добавлять, что-то вычеркивать, а еще что-то переписывать заново. Если изменения будут существенными, то я стану поднимать это сообщение вверх и повторно размещать ссылку на него в соц.сетях и не буду этого делать при незначительных изменениях. Тема, о которой пойдет речь, может быть озаглавлена «Роль ИТ-архитектора в организации», как это было сделано в одной из презентаций (см. https://www.slideshare.net/MxSmirnov/ss-31232067) или Когда, кому и зачем нужна Архитектура Предприятия, как в одноименном из сообщений этого блога. Continue reading «Несколько замечаний о корпоративной архитектуре»

ГОСТ Р 57100. Системная и программная инженерия. Описание архитектуры

В прошлом году федеральное агентство по техническому регулированию и метрологии утвердило национальный стандарт: ГОСТ Р 57100-2016/ISO/IEC/IEEE 42010:2011 «Системная и программная инженерия. Описание архитектуры», идентичный международному стандарту ISO/IEC/IEEE 42010:2011 «Системная и программная инженерия. Описание архитектуры» (конец цитаты). Но, утвердило оно его не просто так, а с датой ввода в действие 1 сентября 2017 года. Наверное, утверждение стандарта с отложенной датой ввода в действие является общепринятой практикой, но для ГОСТ Р 57100 это, безусловно, имело особый смысл Continue reading «ГОСТ Р 57100. Системная и программная инженерия. Описание архитектуры»

HATEOAS: реализация функций в RESTful API

Я не знаю кто и когда придумал аббревиатуру HATEOAS, означающую Hypermedia As The Engine Of Application State. Выглядит она страшно, а звучит непонятно. В общем разбираться с тем что это такое и зачем оно нужно совершенно не хочется. Из-за этого потенциал, заложенный в архитектурный стиль REST и позволяющий создавать довольно интересные программные интерфейсы остается не раскрытым. Но обо всем по порядку. Continue reading «HATEOAS: реализация функций в RESTful API»