Заметки Аналитика | IT
7.76K subscribers
105 photos
3 videos
1 file
947 links
О жизненном цикле разработки ПО глазами бизнес-/системного аналитика.

На канале вы найдете:
- теоретический материал;
- интересные статьи;
- профессиональную литературу;
- полезные шпаргалки;
- вопросы с собеседований;
- опросы.

Для связи: @Ev_S_Lit
Download Telegram
Шпаргалка по оконным функциям SQL

Скачать в формате pdf

#sql | @notes_analyst
​​📑 REST, что же ты такое? Понятное введение в технологию для ИТ-аналитиков.

- Какие принципы вложил в парадигму REST её автор и как они могут помочь при проектировании систем?

- Почему существует терминологическая путаница вокруг REST?

- Как связаны HTTP и REST?

- Почему REST противопоставляют SOAP?..

Ответы на эти и другие вопросы, касающиеся REST , можете найти в видео Андрея Буракова или  в статье, составленной по его вебинару.

#rest | @notes_analyst
​​📑 Уровни тестирования.

Как минимум каждый второй системный аналитик так или иначе участвует в тестировании.
В связи с этим хотелось бы несколько постов посвятить теме:  #тестирование

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

Выделяют 4 базовых уровня:

1️⃣ Модульное/компонентное тестирование
проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.)

На этом уровне тестирования создаются модульные тесты (unit тесты), которые проверяют правильность работы модуля в тестовых условиях.

2️⃣ Интеграционное тестирование фокусируется на взаимодействии между компонентами / модулями / подсистемами / системами.

Выделяют два подтипа:
︎ Компонентное интеграционное тестирование - проверяет работу модулей в связке друг с другом.
︎ Системное интеграционное тестирование - проверяет связи между подсистемами / системами. 

Существует несколько подходов интеграционного тестирования:
︎ Большой взрыв - тестируются все или практически все разработанные модули, собранные вместе в виде законченной системы или ее основной части.
︎ Снизу вверх - все низкоуровневые модули, процедуры или функции собираются воедино и затем тестируются. Далее собирается и тестируется следующий уровень модулей.
︎ Сверху вниз - вначале тестируются все высокоуровневые модули, и постепенно один за другим добавляются низкоуровневые.
︎ Гибридная интеграция (сэндвич)- представляет собой комбинацию подходов «сверху вниз» и «снизу вверх».

3️⃣ Системное тестирование- заключается в проверке как функциональных, так и нефункциональных требований в системе в целом. 

Можно выделить два подхода к системному тестированию:
︎ на базе требований, когда для каждого отдельного требования пишутся тест-кейсы;
︎ на базе вариантов использования (use case)

4️⃣ Приемочное тестирование предназначено для проверки соответствия системы заявленным требованиям. Позволяет заказчику системы убедиться в соответствии системы спецификации.

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

#тестирование | @notes_analyst
Друзья, привет!
Напишите, пожалуйста, в комментариях:

Какую проф.литературу вы бы порекомендовали к прочтению?

Интересно как для начинающих, так и опытных специалистов в области бизнес-/системного анализа.
​​📑 Apache Kafka: основы технологии

Apache Kafka (брокер сообщений) распределенная система обмена сообщениями между серверными приложениями в режиме реального времени.

Основное её назначение - централизованный сбор, обработка, безопасное хранение и передача большого количества сообщений от отделенных друг от друга сервисов.

Apache Kafka можно использовать, например, для: связи микросервисов между собой; организации потоков данных; агрегации записей; сбора логов..

Разобраться в том, чем Kafka отличается от популярных систем обмена сообщениями, как хранит данные и обеспечивает гарантию сохранности, а так же, как записываются и читаются данные, поможет статья: Apache Kafka: основы технологии

#kafka | @notes_analyst
​​📑 Курс по документированию API.

(вольный перевод курса Documenting APIs: a guide for technical writers, составленного Томом Джонсоном, техническим писателем Amazon)

На курсе вы разберете API на составные части, узнаете о конечных точках, параметрах, типах данных, аутентификации, curl, JSON, командной строке, консоли разработчика Chrome, JavaScript и прочих деталях, связанных с REST API.

Модули курса:
Введение в REST API
Используем API как разработчики
Документирование конечных точек
Спецификация OpenAPI и Swagger
Тестирование документации
Концептуальные разделы
Публикация документации
Работа технического писателя
Нативные библиотеки API
Глоссарий API и источники
Документирование кода

#api | @notes_analyst
​​📑 MVP - минимально жизнеспособный продукт.

MVP (Minimum Viable Product) - это самая ранняя версия продукта, которая обладает только необходимыми функциями, достаточными для того, чтобы донести основополагающие ценности до аудитории и проверить их на первых пользователях.

Основная задача MVP - сократить время и усилия на тестирование идеи до начала разработки полноценного продукта. 

MVP позволяет: 
︎ проверить гипотезу на основе реальных данных и доказать жизнеспособность идеи; 
︎ снизить возможность финансовых убытков при запуске неудачного продукта;
︎ уменьшить стоимость разработки за счёт отказа от ненужных функций;
︎ выявить неучтённые потребности клиентов; 
︎ оптимизировать тестирование продукта и ускорить поиск ошибок; 
︎ собрать начальную базу клиентов до полномасштабного запуска; 
︎ выйти на рынок и привлечь инвесторов. 

О том, что на самом деле представляет из себя минимально жизнеспособная версия продукта, с чем её не стоит путать и как её создавать, читайте в статье:
"Ещё раз об MVP"

#mvp | @notes_analyst
Друзья,  привет!
Как вы считаете, к какому типу требований стоит отнести следующее:
"Если продление не предоставлялось, индивидуальные запросы на возврат федерального налога должны быть отправлены до 23:59 первого рабочего дня в апреле."
Anonymous Quiz
18%
Бизнес-требование
20%
Функциональное требование
43%
Бизнес-правило
9%
Системное требование
5%
Ни к какому из перечисленных
5%
Затрудняюсь ответить
​​PostgreSQL. Основы языка SQL: учеб. пособие / Е. П. Моргунов; под ред. Е. В. Рогова, П. В. Лузанова
#литература

В пособии рассматриваются следующие темы:

° Введение в базы данных и SQL
° Создание рабочей среды
° Основные операции с таблицами
° Типы данных СУБД PostgreSQL
° Основы языка определения данных
° Запросы
° Изменение данных
° Индексы
° Транзакции
° Повышение производительности

Скачать книгу можно тут
Сегодня рекомендация - полезный тг-канал Belarus: хочу в IT

Советуем Вам полезный тг-канал Belarus: хочу в IT, где Вы cможете найти:

свежие вакансии

стажировки

карьерные рекомендации

качественные курсы

Рекомендуем! 😉

#партнерский_пост
​​📑 Как задавать требования к внешнему качеству ПО в цифрах?

Из множества возможных внешних  атрибутов качества (качества при эксплуатации) стоит выделить наиболее важные, которые встречаются в большинстве проектов:
︎ Производительность
︎ Масштабируемость
︎ Доступность
︎ Надёжность
︎ Информационная безопасность

Подробнее о том, как формулировать требования к первым 4-м аспектам внешнего качества, читайте в статье: Как задавать требования к качеству ПО в цифрах?, авторы которой так же приводят примеры:
- ситуаций, при которых может потребоваться выявлять атрибуты качества;
- того, как недостаточное внимание к качеству системы может привести к плачевным последствиям.

Читать статью

#атрибутыкачества | @notes_analyst
Шпаргалка по Python для начинающих

Скачать в формате pdf

#python | @notes_analyst
​​📑 Удачный шаблон документации на API, который будут читать

"Если ваши  документы не читают, не понимают, или вы не знаете с чего начать описывать интеграцию,  то эта статья для вас..."

Читать статью

#документация | @notes_analyst
Знаете же про шутку такую - нажать на кнопку «Сделать хорошо»? Есть такой целый канал Кнопка хорошо. Автор канала - Анастасия Борисюк - руководитель проектной группы в Актион Диджитал.

Настя пишет про софтскилы, управление людьми, внедрение продуктовых практик и карьеру. Фишка канала - авторские иллюстрации и инфостиль, чтобы читателям было ясно, понятно.

Пара постов, чтобы познакомиться с каналом:
🍓Переговоры о зарплате - что мы делаем не так, и о чем слишком паримся, вместо того, чтобы начать разговор.
🍓Как принимать резкий фидбек - как реагировать, если фидбек подан негативно или заставляет тебя пребывать в унынии.
🍓Что делать, когда через вас «перепрыгивают»? - что делать, когда заказчик или коллега, не понимает твою роль и какие проблемы ты решаешь.
🍓Все, что нужно внедрить в свое резюме - первая часть памятки для резюме, маст-хэв для внедрения на поиск работы зарубежом.
​​📑 Impact Mapping. Составление карты влияний.

Impact Mapping — это методика составления ментальных карт (mind map), которая позволяет визуализировать границы проекта и быстро связывать глобальные бизнес-цели с конкретными реализациями.

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

Для подготовки карты необходимо ответить на 4 вопроса:

Why / Зачем? 
Зачем мы это делаем? Зачем нам нужна та или иная функциональность и какой измеримой цели мы хотим достичь? - определяем бизнес-цель, которую мы стремимся достичь.

При этом, цели :
︎ не должны описывать сам продукт, процесс его создания или устанавливать границы проекта;
︎ обязаны объяснять, почему данный продукт будет полезен;
︎ должны соответствовать критериям SMART: они д.б. конкретны, измеримы, ориентированы на совершение конкретных действий, достижимы и ограничены во времени.

Пример: За три месяца увеличить конверсию пользователей на 20 %.

Who / Кто? 
Кто нам может помочь, а кто помешать в достижении цели? - определяем круг заинтересованных лиц.

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

How / Как?
Как именно действующие лица могут нам помочь достигнуть цели? Как они могут помешать? - определяем воздействие, которое действующее лицо оказывает на достижение цели. 

Отвечая на вопрос Как?:
︎ старайтесь описывать конкретные изменения, которые произойдут в поведении того или иного человека, а не просто его поведение после развертывания продукта (например “продавать билеты в пять раз быстрее” вместо “продавать билеты”);
︎ уделяйте внимание только тем влияниям, которые действительно помогут вам продвинуться к основной цели;
︎ учитывайте не только позитивные, но и негативные или прямо препятствующие достижению цели влияния.

What / Что?
Что мы можем сделать, чтобы добиться необходимых влияний? - определяем ожидаемые результаты проекта, поставляемые функциональные возможности и организационные изменения.

На данном этапе:
︎ принимайте к рассмотрению любые идеи/варианты, которые помогут оказать необходимое влияние;
︎ старайтесь не погружаться в излишние детали, уделите наибольшее внимание функциональности самого высокого уровня;
︎ не пытайтесь с самого начала отметить все до единого элементы. Это можно сделать позднее, по мере продвижения разработки.

И не стремитесь воплотить в своем продукте все без исключения элементы impact map.
Вместо этого найдите с ее помощью кратчайший путь к цели, для реализации которого может потребоваться не разработка нового/изменение существующего функционала, а, например: измение документации, проведение рекламной компании, маркетинговой активности

А если вы хотите узнать больше информации о данном подходе, можете прочитать книгу:
📚 "Impact mapping: Как повысить эффективность программных продуктов и проектов по их разработке" Аджич Гойко

#impactmapping | @notes_analyst
​​📌 Главная ценность сегодня – это информация, и если вы хотите работать с данными: просматривать их,  извлекать, исследовать, обрабатывать и визуализировать, то без SQL не обойтись.
Этот простой и выразительный язык запросов поддерживается всеми современными базами данных, инструментами анализа и программирования.

Мы с Кристиной, автором канала Product Games, составили список интерактивных учебников и онлайн-тренажеров по SQL, которые помогут вам в освоении данного языка запросов :
🔹️ SQL Academy - онлайн тренажер с упражнениями по SQL;
🔹️SQL-EX упражнения и Интерактивный учебник по SQL;
🔹️ SQLBolt - пошаговый интерактивный учебник (уроки + упражнения);
🔹️ Solve SQL | HackerRank - платформа для практики и изучения языков программирования;
🔹️ Курс от Stepik: интерактивный тренажер по SQL;
🔹️ LearnDB - интерактивные онлайн-курсы по SQL СУБД PostgreSQL;
🔹️ PostgreSQL Exercises - упражнения по PostgreSQL;
🔹️ SQL Test- онлайн-тренажер SQL;
🔹️ SQLZoo - интерактивное учебное пособие и практические упражнения по SQL;
🔹️ SQL Fiddle  - эмулятор написания SQL-запросов, позволяет практиковаться на разных типах СУБД (MySQL, PostgreSQL, SQLite, MS SQL Server);
🔹️ SQL Tutorial - справочник с множеством примеров и упражнений.

Кристина - product owner в ВТБ и в своем канале она пишет про продуктовые подходы и инструменты, рассуждает про продукты и жизнь, а также разбирает профильную литературу.

Вот несколько полезных материалов:
Особенности работы за границей: встреча с продактом
Как убирать, а не добавлять фичи
Почему MAU не стоит брать в качестве единственной целевой метрики
Переход на новое место работы — простой рост?
Если вы хотите развиваться в продакт-менеджменте, рекомендую подписаться на Product games.

А для тех, кто хочет проверить свои знания SQL, есть тесты на Proghub

#sql | @notes_analyst
​​📑 PlantUML - рисуем диаграммы текстом

PlantUML -  инструмент с открытым исходным кодом, использующий простые текстовые описания для рисования диаграмм UML
(и не только их)

В основе приложения лежит Graphviz -  библиотека визуализации изображений, которая может конвертировать сценарии PlantUML в изображения.

Познакомиться поближе с данным инструментом вам помогут следующие материалы:
🔹️ PlantUML — все, что нужно бизнес-аналитику для создания диаграмм в программной документации

🔹️ PlantUMLl в работе системного аналитика. Пиши UML диаграммы текстом, чтобы сэкономить время

🔹️ Примеры использования PlantUML

 🖇 PlantUML Language Reference Guide (en.pdf)
 🖇 Справочное руководство по языку PlantUML (ru.pdf)

А если хотите попробовать PlantUML в действии - можете воспользоваться онлайн-сервером plantuml.com.

#PlantUML | @notes_analyst
​​📽 Видеокурс "Постановка задачи на разработку ПО"
Автор: Дмитрий Безуглый

В рамках курса вы разберётесь и научитесь:
︎ Зачем и как работать с требованиями
︎ Определять границы работы
︎ Работать с заинтересованными сторонами
︎ Как анализировать и формулировать требования
︎ Проектировать взаимодействие пользователей с системой
︎ Обеспечивать необходимые качества ещё на этапе постановки задачи
︎ Как управлять всем этим счастьем

Перейти к курсу

#работастребованиями | @notes_analyst
Друзья, привет!
Как вы считаете, примером какого термина являются следующие действия:
"...Система просит ввести пароль, пользователь его вводит, и система соглашается, что пользователь действительно настоящий, так как пароль совпал"
Anonymous Quiz
32%
Авторизация
48%
Аутентификация
15%
Идентификация
0%
Затрудняюсь ответить
5%
Посмотреть результаты