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

В этой статье я попытаюсь поделиться своим опытом в проектировании пользовательской бизнес-логики. Это явно не претендует на полноценный ликбез, т.к. я всего лишь вспоминаю то, через что прошёл лично я, какие ошибки я допустил, и как мне их удалось (или не удалось) исправить в будущем. Наверняка, опытные системные архитекторы уже все проходили и знают, однако надеюсь, что некоторые советы таки будут полезны.
Мы использовали (и используем) клиентскую часть на WPF/Silverlight, WCF сервисы и СУБД Oracle, Postrges, MsSQL. Код написан по MVVM, использована Prism для модульности и навигации. Не могу точно сказать, какие из тезисов подойдут для других платформ и языков.

Так сложилось, что в какой-то момент мне, совершенно заурядному на то время программисту, выпала задача проектировать большую и сложную систему учета данных с большим количеством условий, переходов, этапов работы. Система была предназначена для ввода данных о жителях, регулярных заседаний по выдаче им пропусков и отказов, продления пропусков, прекращения их деятельности, штрафов, и многих других мелочей. Сейчас ядро системы уже большей частью переписано, говнокод исчез, использованы новые и последние технологии, платформы.
Итак, поехали.
Читать полностью »

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

Речь пойдет о сервисе для SEO специалистов и/или рядовых вебмастеров. BotHunter является системой пассивного наблюдения (в реальном режиме времени) за юзерагентами на вашем сайте. Примеры интерфейсов см. ниже, либо в DEMO аккаунте на сайте системы (в demo режиме ограниченный функционал). Читаем далее

Инструмент контроля за поведениеем роботов на вашем сайте

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

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

За 3 года существования летнего аналитического фестиваля мы накопили большое количество записей интересных выступлений. И сегодня хотим поделиться с вами подборкой:

1. Предпроектные работы

2. Выявление требований

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

Кратко об авторе исходной статьи: Адам Босворт (Adam Bosworth) начал карьеру в Borland, где работал над системой электронных таблиц Quattro. Перейдя в Microsoft он занимал различные руководящие должности, включая пост главного руководителя группы WebData, занятой созданием и продвижением XML. Кроме этого он занимался Access и движком Internet Explorer 4.0 с кодовым именем Trident. Уйдя из Microsoft Адам вошел в число сооснователей Crossgain, после ряда поглощений их основной продукт превратился в Oracle Workshop for WebLogic. В 2004-2007 годах Босворт занимал пост вице-президента по разработке продуктов в Google, где занимался Google Docs и руководил разработкой Google Health (закрыта с 1 января 2012, когда-то о ней писали на хабре). После ухода из Google он основал стартап Keas, использующий элементы социальных сетей и игр для улучшения здоровья.

На этой неделе меня любезно попросили принять участие в качестве эксперта на правительственном совещании (1) о стандартах. В это время я обычно сплю, но в нужный момент я был бодр и сидел у телефона, несмотря на все свое отвращение к недосыпанию. Что заставило меня так поступить? Обсуждались способы, с помощью которых медицинские данные можно было бы на самом деле сделать прозрачными. Какие стандарты надо использовать для совмещения подобных данных?

К собственному удивлению и в какой-то степени боли, я успел поучаствовать в разработке нескольких стандартов. Один из них использовался для обмена данными между базами данных и пользовательскими приложениями вроде электронных таблиц или Access. Он назывался ODBC и отлично показал себя, несмотря на некоторые затруднения в начале. Другим был стандарт того, что сейчас называется AJAX, создания сложных, интерактивных веб-страниц вроде Gmail. Наверное самым важным был XML. Это все успехи. Были и провалы. Особенно хорошо я помню OLE DB, которым мы хотели заменить/вытеснить ODBC. Одним из балансировавших на грани успеха и провала был/является XML Schema. В результате всех этих усилий я выучил несколько уроков, которыми постараюсь поделиться с вами. Каковы они?
Читать полностью »

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

Данный пост является размышлением на тему максимально эффективного использования простаивающих ресурсов корпоративной сети. Читать полностью »

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

Сеть полна предупреждений и предостерегающих повествований об использовании подобного подхода. Есть ужасающие истории о потере данных, исчерпании памяти или людях неспособных эффективно управлять данными в Redis, вы, возможно, интересуетесь «О чём вы вообще думаете?». Так вот, наш рассказ, почему мы всё же решили использовать Redis и как мы преодолели все эти проблемы.
Читать полностью »

В прошлой статье мы рассмотрели проблемы на пути внедрения ИТС в России, которые, в общем-то, являются общими для всех высокотехнологичных областей, основанных на импортных технологиях. Сегодня разговор пойдет об эволюции систем взимания платы за проезд по автомобильным дорогам.

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

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

Никакому оператору не хочется содержать все это капитальное хозяйство. Потому что в основе наиболее часто встречающихся отношений государства и оператора платной дороги лежит принцип «платежа доступности». То есть, государство ежегодно платит оговоренную сумму оператору, который выполняет определенный комплекс услуг с оговоренным качеством. По факту, это похоже на айтишный SLA. Таким образом, чем больше денег оператор потратит на обеспечение KPI, тем меньше ему (и его инвесторам) останется на хлебушек с икрой.
Читать полностью »

Последний раз я писал статью о проектировании в 2011 году. Тогда я собирался написать гораздо больше, но подумал: «Методика есть, но она не проверена временем, клиентами и проектами. Какого беса я буду писать о ней?». И не стал. Прошло два года, за которые мы с командой спроектировали полсотни разных проектов: корпоративные сайты и каталоги товаров, личные кабинеты, системы управления, сервисы, посадочные страницы, мобильные приложения. Многое поменялось: у меня есть статистика, данные по конверсии, отзывы пользователей и клиентов, сделано и исправлено много ошибок в методике и процессе. Теперь можно и написать.

Начну с обзора этих ошибок и выводов за последние два года. Надеюсь, это будет вам полезно. Отдельно надеюсь получить отклики из вашего личного опыта.Читать полностью »


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