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

Правильно заданный вопрос быстро приводит к правильному ответу. Недавно меня спросили: «Почему стандарты бизнес-анализа сконцентрированы на выявлении требований, но ничего не говорят о превращении этих требований в решение?» В самом начале своей карьеры аналитика я искал ответ на вопрос: как анализировать предметную область и как превращать результат анализа в структуру модели: откуда брать классы, атрибуты и методы? Тогда я нашел один более-менее вразумительный метод, описанный в книге Крега Лармана Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. Аналитику предлагалось прохождение по тексту с маркерами разных цветов: Красный выделяет существительные и является основанием для создания классов, зеленый — прилагательные, причастия и проч. — основа для создания атрибутов этих классов. И глаголы выделяются синим — основа для создания методов.

Однако, в реальности этот метод не работал. Один и тот же факт я мог смоделировать при помощи класса, значения атрибута или метода в зависимости от своего желания. Об этом написано подробно у Крисса Партриджа в книге Business Objects: Re-Engineering for Re-Use.
Читать полностью »

6.4. Как облегчить жизнь

До сих пор мы использовали только простые item-концепты. Каждый из nr_employees-концептов мог быть интерпретирован независимо от остальных.

У такого подхода есть недостаток: если количество полов обычно ограничивается двумя, то для возраста мы могли бы иметь большее количество групп, чем три в нашем примере. Что, если бы нам понадобилось разделить возраста на 10-летние интервалы? Пришлось бы добавить новые концепты для групп 11–20, 21–30, 31–40, 41–50, 51–60 и 61–70. А при делении на 5-летние, 2-летние или даже годовые интервалы это очень быстро станет утомлять. Базы ссылок стали бы очень большими, поскольку надо было бы определять ссылки для каждого из этого множества концептов. Хотелось бы иметь более эффективный подход для подобных ситуаций.

И сегодня мы расскажем, как нам в этом могут помочь кортежи.Читать полностью »

Эта статья — ознакомительное руководство по сборке Docker-образов приложений с помощью нашей Open Source-утилиты dapp (подробнее о ней читайте в анонсе). На примере двух простых приложений (с одним образом) рассмотрим, как могут быть задействованы некоторые из основных возможностей dapp и какой результат они дают.

Практика с dapp. Часть 1: Сборка простых приложений - 1Читать полностью »

Управление памятью в Python - 1

Одна из главных проблем при написании крупных (относительно) программ на Python — минимизация потребления памяти. Однако управлять памятью здесь легко — если вас вообще это волнует. Память в Python выделяется прозрачно, управление объектами происходит с помощью системы счётчиков ссылок (reference count), и память высвобождается, когда счётчик падает до нуля. В теории всё прекрасно. А на практике вам нужно знать несколько вещей об управлении памятью в Python, чтобы ваши программы эффективно её использовали. Первая вещь, надо хорошо в ней разбираться: размеры основных объектов в Python. И вторая вещь: как устроено управление «под капотом» языка.

Начнём с размеров объектов. В Python есть много примитивных типов данных: целые числа (int), long (версия int с неограниченной точностью), числа с плавающей запятой (они же числа с двойной точностью, double), кортежи (tuple), строковые значения, списки, словари и классы.

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

Разогнаться до миллиарда: возможности и препятствия. Ведущий программист компании BankEx Александр Власов комментирует протокол Plasma, совместной разработки Lightning Network и Виталия Бутерина.

***Disclaimer*** Данное описание является попыткой описать принципы, предложенные авторами, простыми словами. Оно нисколько не отражает сложные последовательности действий и мотиваций игроков, которые должны быть проанализированы специалистами теории игр. Также, на данный момент описание находится в стадии work in progress, имеет значительные ошибки и во многом является не полным.

Несколько дней назад Joseph Poon (основатель Lightning Network) и Виталий Бутерин (основатель криптовалюты Ethereum) представили первый черновик описания протокола Plasma, призванного значительно увеличить пропускную способность блокчейн-сетей, до величин порядка миллиардов операций в секунду, по словам самих авторов.
Читать полностью »

Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel (методология проектирования на уровне регистровых передач с использованием языков описания аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, которое стало вирусным — его скачивания дважды завалили британский сайт Imagination Technologies, а посты о книжке на Хабре и Гиктаймс собрали более 300,000 просмотров (1, 2, 3, 4, 5 ). История перевода книжки на русский тоже довольно поучительна — он начался как общественный проект группы энтузиастов: преподавателей российских и украинских университетов, а также русских сотрудников компаний как в Silicon Valley (MIPS, AMD, Synopsys, Apple, NVidia ...) так и в России (НИИСИ, МЦСТ, Модуль ...). Когда вышло первое печатное издание на русском языке, его тоже довольно быстро раскупили и пожаловались, что оно черно-белое. Поэтому следующий принт был цветной, улучшенного качества.

Теперь возникает вопрос: ну хорошо, вы приобрели или скачали бесплатно книжку, поняли основы цифровой схемотехники, языков описания аппаратуры Verilog и VHDL, приобрели вкус писания на ассемблере и разобрались с организацией простейшего конвейерного микропроцессора, а также как все это стыкуется с периферийными устройствами и встроенным программированием. Что делать дальше?

Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис - 1

На снимке — Татьяна Волкова, сотрудница образовательных программ компании Samsung в Московском Физико-Техническом Институте
Читать полностью »

Разработка CPA-платформы для телеком-оператора - 1

Под катом — рассказ о том, как мы реализовали модульную архитектуру CPA-платформы (Content Provider Access) для телеком-оператора на Fuse Fabric. Заодно объясним, почему приняли такое решение, а не стали использовать стандартный стек технологий J2EE для создания монолитного приложения.
Читать полностью »

Скажи «нет» монолитности: как мы делали CPA-платформу - 1

Под катом — рассказ о том, как мы реализовали модульную архитектуру CPA-платформы (Content Provider Access) для телеком-оператора на Fuse Fabric. Заодно объясним, почему приняли такое решение, а не стали использовать стандартный стек технологий J2EE для создания монолитного приложения.
Читать полностью »

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

6.3. Вычисления и валидация

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

Как вы помните, в нашей компании работает один ‘одаренный’ математик. Несмотря на то, что отчет в целом выглядит хорошо, 27 мужчин и 15 женщин никак не могут дать общее количество сотрудников, равное 41.

К счастью, в XBRL есть решение на такой случай – базы ссылок вычислений (calculation linkbases).

6.3.1. Схема таксономии

Нам нужно внести несколько изменений в схему таксономии, чтобы начать использовать базу ссылок вычислений:

  • Определить связь с базой ссылок;
  • Разрешить использование необходимых ролей.

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


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