Рубрика «Анализ и проектирование систем» - 69

В первой части статьи мы начали разговор о новом классе высокоуровневых моделей предметной области, названных понятийными. В отличие от других аналогичных моделей в понятийных моделях связи между понятиями сами являются понятиями, а модель строится на основе выявления и описания абстракций, послуживших образованию (определению) понятий предметной области. Это позволяет конечным пользователям строить и актуализировать модели предметной области путем простых и естественных операций создания, изменения и удаления понятий и их сущностей.

Здесь, во второй части, поговорим о том, как может быть реализована полнофункциональная информационная система, основанная на понятийном моделировании предметных областей. Теперь уже в деталях рассмотрим информационную систему LANCAD, которую в нашей компании “ИНСИСТЕМС” используют для организации проектной деятельности в области разработки проектно-сметной документации для строительства.

Возможно, статья выглядит несколько затянутой и кажется излишне подробной. Однако оно того стоит, так как требуется объяснить достаточно нетривиальные основы нашего решения.

Следует заметить, что появление информационной системы LANCAD стало результатом реализации нескольких крупных проектов компании.

Информационные системы с понятийными моделями. Часть вторая - 1

Читать полностью »

Внедряя современные информационные системы, крупные компании рассчитывают быстрее принимать решения, обнаруживать скрытые для бизнеса резервы и возможности, анализировать накопленный опыт и выстраивать прогнозы на основе выявленных закономерностей. Однако реальная отдача от информационных систем часто оказывается значительно ниже, а сроки внедрения и затраты – выше ожидаемых. Причин может быть великое множество, в том числе и связанных с неэффективным управлением, человеческим фактором, устарелой инфраструктурой.

Существенные недостатки есть и у самих информационных систем. В этой статье я предлагаю поговорить не о традиционных – трёхслойных – АИС, а о системах с четырехслойной архитектурой, где новый четвертый слой – слой представления – реализует понятийную модель предметной области. Для актуализации модели при изменениях в предметной области не требуется программировать. Более того, как актуализация модели, так и прикладные задачи решаются посредством семантически инвариантных для всех предметных областей операций над сущностями понятий.

В итоге удается улучшить вычислительные, технологические и эксплуатационные характеристики информационных систем с понятийными моделями предметной области. Но об этом далее.

Информационные системы с понятийными моделями. Часть первая - 1

Читать полностью »

В статье я поделюсь личным опытом разработки и реализации “волшебных ссылок”. Расскажу зачем они нужны в нашем проекте, как функционируют и в конце даже всплакну над тем, что отсутствие такого функционала в больших системах используемых мною заставляет меня гневно рвать на себе волосы.

Код будет только в одном месте, т.к. основная цель статьи — рассказать про саму идею, а не показать то, насколько красив код.

Magic link или история о том, как мы упростили жизнь пользователю - 1
Читать полностью »

Когда речь заходит о роли аналитика в IT, то всегда приходится добавлять кучу уточнений. Бизнес или системный аналитик? Анализ в продуктовой разработке или в проектной, как это, например, часто бывает в консалтинге? На внутренней разработке или на заказной?.. Заказчика государственного или негосударственного? И так далее.

До прихода в Туту.ру я работала в IT-консалтинге на ERP-проектах и в заказной продуктовой разработке, здесь же я занимаюсь системным анализом во внутреннем продукте «Авиа». Отдел системного анализа у нас состоит из 9 аналитиков и 1 технического писателя. Далее на своем опыте я расскажу, что меняется в голове специалиста и в рабочих процессах при смене формата деятельности на внутреннюю продуктовую разработку с точки зрения анализа, а заодно поделюсь, как устроен процесс в целом у нас в Туту.ру.

5 различий работы аналитика в проектах и продуктовой разработке - 1

Читать полностью »

Опыт построения интеграционной платформы на базе ServiceMix (Camel) и RabbitMQ - 1 Как только в компании появляется хотя бы две информационных системы, которым необходимо обмениваться данными, возникает вопрос, как организовать их взаимодействие. Вариантов множество: файловый обмен, линки между базами данных, web или rest сервисы, различные системы обмена сообщениями, устаревшие RPC и CORBA, новомодный gRPC и т.д. Выбор зависит от предпочтений участников проекта и от возможностей систем (архитектура системы, используемая платформа, наличие готового API и пр.). Предположим, выбрали какой-то способ обмена, системы начали взаимодействовать, все хорошо. Но потом возникает третья система, с которой тоже надо интегрироваться, потом четвертая и т.д. Нужно опять садиться и выбирать способ обмена, и не факт что удастся ограничиться уже используемыми технологиями (где-то это продиктовано ограничениями новых систем, где-то разработчик настоял на другой технологии или захотел попробовать что-то новое). С ростом количества систем растет количество и сложность взаимодействий между ними, растет количество используемых технологий. В итоге вся интеграционная архитектура компании начинает напоминать запутанный клубок разноцветных ниток, как-то связывающих системы компании, который все сложнее распутывать при разборе ошибок и доработках. Рано или поздно начинают приходить мысли о создании единой интеграционной среды, которая прозрачно и расширяемо свяжет все системы воедино.

В этой статье я расскажу об опыте использования Apache ServiceMix (Camel) и RabbitMQ для построения такой интеграционной среды.
Читать полностью »

Запущенный в феврале Яндекс.Драйв, как и любой сервис каршеринга, работает благодаря комплексу уникальных систем — в автомобиле, в телефоне пользователя и на сервере. Система, которая ещё недавно была в новинку для IT-сообщества, расположена в самой машине. Она включает в себя несколько девайсов — блок телематики, CAN-шину и мультимедийное оборудование. Подробнее о том, как всё это коммуницирует между собой, я и хочу вам рассказать. Кроме того, я объясню, почему именно сейчас компании и эксперты по безопасности должны уделять максимум внимания защите каршеринговых сервисов. Дело в том, что это не просто yet another приложения в вашем телефоне, а целая взлётная полоса для автомобильной индустрии завтрашнего дня.

Безопасный каршеринг: составляющие, основные проблемы и конкурс Яндекса - 1

Мы стремимся построить самую защищённую инфраструктуру для каршеринга, и рассчитываем, что вы тоже поучаствуете в этом процессе. До 27 мая у вас есть возможность изучить Яндекс.Драйв на предмет уязвимостей. Попробуйте изменить логику работы сервиса, снизить цену поездки, получить доступ к информации о пользователях или, например, открыть машину, когда сервис это запрещает.

Те, кто обнаружит самую серьезную проблему, получат от Яндекса полмиллиона рублей. Приз за второе место — 300 000 рублей, за третье — 200 000 рублей. О деталях я расскажу чуть ниже, а пока вернёмся к устройству каршеринга.
Читать полностью »

Название статьи не стоит понимать буквально: backend никуда не делся, просто фокус разработки — особенно на начальном этапе развития нового проекта — сильно смещается в сторону «клиентской части». Появляется большой соблазн взять что-то понятное для хранения данных и уже «обвязанное» REST API, максимально отказаться от PHP/Python/Ruby/Java/etc, писать 80% кода «на стороне клиента», минимально заботясь о возне «на стороне сервера».

Эта статья основана на докладе Николая Самохвалова, который, в свою очередь, обобщил опыт ряда проектов, написанных на React, React Native и Swift и переходящих на парадигму noBackend за счёт PostgreSQL+PostgREST.

В конце, вы найдете список must-check-вопросов для работы с noBackend-подходом, а, если ваш Postgres-опыт позволяет, то сразу после прочтения вы можете приступить к разворачиванию безопасного, высокопроизводительного и годного для быстрого развития REST API.

noBackend, или Как выжить в эпоху толстеющих клиентов - 1

О спикере: Николай Самохвалов больше десяти лет работает с PostgreSQL, является со-организатором российского сообщества RuPostgres.org и в данный момент помогает различным компаниям оптимизировать, масштабировать и автоматизировать процессы, связанные с эксплуатацией PostgreSQL. Далее — расшифровка доклада Николая на Backend Conf, рассчитанного и на бэкенд, и на фронтенд разработчиков.

Последние годы я много времени провожу в Силиконовой Долине и хочу поделиться с вами трендами, которые я там наблюдаю. Конечно, отсюда вы тоже прекрасно все видите, но там они нагляднее, потому что профессиональные разговоры о передовых технологиях ведутся буквально в каждом кафе.

Читать полностью »

Разница восприятия

Существует забавная разница в восприятии возможности изменения бизнес-системы между «низами» и «верхами».

Например, линейные, или рядовые сотрудники. В моей жизни это были программисты 1С, обычные программисты, системные администраторы, снабженцы, продавцы, различные менеджеры по заказам, логисты, инженеры-конструкторы, технологи, кладовщики, проект-менеджеры (они ближе к рядовым были), финансисты, менеджеры по качеству, бухгалтеры, экономисты (прошу прощения, если кого-то забыл).

С этими ребятами мы, в основном, разговаривали не о судьбах компании, а о их собственной судьбе, их отделах, их повседневной работе. Почти все соглашались, что изменения необходимы. Почти все были готовы участвовать в преобразованиях. Почти все в итоге участвовали.

Но в самом начале возражение было одно: мы – не менеджеры. У нас нет власти, а у менеджера – есть. Только он может все поменять. Только он понимает, что и как надо поменять в процессах, мотивации, целях, управлении и автоматизации. А мы – маленькие (ну и там еще много прилагательных было).Читать полностью »

Лучшие методики проектирования производительных мобильных API - 1

В сети есть множество информативных статей о высокой производительности на мобильных устройствах, и столько же об общем проектировании API. Но очень мало обсуждаются архитектурные решения, необходимые для оптимизации производительности бэкендных API, предназначенных для использования мобильными клиентами.
Читать полностью »

Представление о пространстве и времени (пространство)

В построении представления о пространстве и времени участвует наше представление о самом себе как о наблюдателе. Мы представляем себя как наблюдателя, который осознает свое положение в Абсолютном пространстве и синхронизирован с Абсолютным временем, определяет размеры изучаемых объектов и длительности изучаемых интервалов времени. При этом пространственные размеры и временные интервалы, которые человек способен распознать, лежат в довольно узких интервалах, за пределами которых человеческое восприятие бессильно что-либо воспринять. Чтобы шагнуть в другой масштаб времени или пространства, требуется воображение.

Пространство

Допустим, вы выглянули в окно. В вашем сознании возникло представление о наблюдаемом пространстве. Это пространство наблюдается вами изнутри и содержит части, каждой из которых присвоено имя. Например: небо, дом, улица и тд. Вы направляете свое внимание внутрь этого пространства, находите в нем объекты, определяете их взаимное положение, складывая их в одну большую мозаику. Чтобы мозаика склеилась, мы пользуемся гипотезой о том, что существует Абсолютное пространство. Тогда мы можем предположить, что любое осознаваемое нами пространство — есть часть Абсолютного пространства. Таким образом, мы считаем, что любое осознаваемое нами пространство — это представление о какой-то части Абсолютного пространстве.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js