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

Пост вдохновлён новостью об очередной российской авиакатастрофе, на этот раз в Казани.

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

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

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

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

Имена изменены, все совпадения случайны.

Увертюра

Сразу оговорюсь, Matlab — отличный инструмент. Отличный инструмент, который мы использовали не по назначению.

Взгляните на нашу компанию. Наша сфера деятельности — разработка ПО для промышленности и много чего еще. В компании работает около 100 человек, а я в этой компании — один из сотрудников, занимающийся разработкой алгоритмов. Есть у нас и Флагманский продукт, приносящий основную прибыль.

Флагманский продукт — бизнес-приложение. В нем много формочек и отчетиков, своя база данных и вычислительное ядро. Вычислительное ядро написано на C# без привлечения нативного кода. Такое решение было принято разработчиками осознанно. Parallel.For был так соблазнителен, а C++ все хотели забыть как страшный сон.

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

image

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

В последние несколько лет крупные веб-сервисы (Google, Яндекс, Amazon и т.д.), целенаправленно идут в сторону предоставления пользователям персонализированного контента на основе анализа истории запросов и некоторых других метрик, например, геопозиционирования. Вместе с недавними событиями, связанными с проектом PRISM, Сноуденом и безопасностью персональных данных, в определенных кругах такой подход даже начал провоцировать истерию, главные тезисы которой можно свести к следующим:

  • интернет перестал быть для всех одинаковым;
  • пользователям теперь можно показать только то, что нужно, без права выбора;
  • за всеми нами следят.

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

Об этом и поговорим.

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

Всем доброго пятничного дня!
Хотел бы рассказать немного о том, как создаются прототипы. Уверен что многие сталкивались с подобным и знают как это делается не по наслышке, вряд ли Вы почерпнете из этой статьи что-то новое для себя. Данная статья предназначена для тех кто только начинает свой путь в DIY (сделай сам) и призвана немного структурировать разрозненную информацию.
image
Читать полностью »

ЦОАСУ (англ. GOMA — Goal oriented management automation) — это “Принципы, модели и методологии для анализа, проектирования и интеграции целеориентированных социально-экономических автоматизированных систем управления”. Задача ЦОАСУ — достичь максимально возможного уровня автоматизации; в идеале — полностью заменить людей машинами. Используя принципы ЦОАСУ люди способны создать системы подобные Скайнет или Матрице.
image
Читать полностью »

ЕСМ системы: можно ли осваивать играючи, или пять копеек в защиту геймификацииТема геймификации поднималась на Хабре уже неоднократно. Высказывались разные мнения о том, как ее правильно понимать, где и как она применяется и вообще – стоящая ли это затея. Наши коллеги из проекта DOCFLOW взялись выяснить, может ли геймификация помочь простым пользователям осваивать системы электронного документооборота (как показывает практика, обычно простые пользователи в компаниях не любят изучать новое сложное ПО, а уж если изучили, то используют далеко не все его возможности). Этой теме был посвящен недавний вебинар «Корпоративные игры – возможности и сложности геймификации ЕСМ-систем».

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

Чтобы понять, работает ли это на практике, на вебинар пригласили эксперта из компании-разработчика СЭД, которая недавно провела на своих сотрудниках эксперимент, связанный с геймификацией. В чём он заключался?

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

На самом деле не только о протоколах, а скорее о логике взаимодействия сложных систем. Это не BigData, конечно, но все равно есть над чем поломать голову и копья :)
О протоколах замолвите слово… Или давайте разрабатывать чайник вместе!
Еще в самом начале разработки, я грозился что буду рассказывать о ней в прямом эфире, чтобы любой читатель мог поучаствовать в этом занимательном процессе. И вот, время пришло. Прототип у нас почти готов, и мы сейчас занялись документацией для производства и для разработки сервера и мобильного приложения. И поняли, что прототип — это самое простое, и все те задачи, что мы решали в нем — это так, детский сад, штаны на лямках.
Вот вы задумались когда-нибудь, насколько сложная логика работает, когда вы отправляете твит или постите фотку? Ее не видно, в 99.9% она скрыта от пользователя, и ее совершенно незаметно. Я ее тоже не замечал, до того момента, когда мне пришлось проектировать ее самому.
Читать полностью »


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