TGViewer
SA LEAD SA LEAD @lead_sa · 250 subscribers
Post #61 561
Всем привет!
Я недавно участвовал в достаточно крупном чемпионате по системному анализу. В тройку победителей не попал (только 15-е место), но пообщался с классными ребятами, и посмотрел, как они пишут ТЗ или TDD (Technical Design Document) на разработку ИТ-решения - речь о развитии текущей системы (добавление новой функциональности). Все сводится к следующей универсальной структуре, с чем «спешу» с вами поделиться.

1️⃣Исходные требования/проблематика/запрос
Что мы хотим сделать и почему - с точки зрения пользователей системы.
В философию «ну вот это пользователю на самом деле не нужно, это нужно его бизнес-руководителям» уходить не будем, так как тянет на отдельный пост. Считаем, что мы уже сделали этот анализ и спустились на уровень пользователя (или «моря», как пишет в своей известной книге Коберн).

2️⃣Текущее состояние и поведение системы (AS IS)
Необходимо понимать функциональность и структуру системы для того, чтобы не упустить из виду неожиданное влияние от реализации Исходные требования/проблематика/запрос на бизнес-логику, атрибуты качества, архитектуру и процессы сбоку (например, развертывания и поддержки)

3️⃣ Мотивация
Почему мы, в роли поставщика/разработчика продукта, хотим удовлетворить Исходным требованиям/проблематике/запросу.

4️⃣Предлагаемое решение (TO BE)
Структура ниже может отличаться в зависимости от содержания разделов выше.

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

🔷 Роли и права доступа
Изменения прав доступа по текущим ролям/добавление новых ролей.

🔷 НФТ
Скорее всего они уже где-то описаны для системы, и достаточно их приложить, чтобы указанные лимиты/пороги не были нарушены. Если изменение требует пересмотра значений, то необходимо прежде убедиться, что это возможно и уже описать здесь новые показатели.

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

🔷 Функции и алгоритмы (бизнес-логика)
Как изменяются объекты системы при различных условиях и/или действиях пользователей.

🔷 Интерфейсы
Все точки вызова алгоритмов и функций. Например, API, UI, JMX и т.п.

🔷 Хранение данных
Моделирование данных под конкретную СУБД.

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

🔷 Инфраструктура
Любые изменения в области инфраструктурного ПО и вычислительных мощностей.
Например, добавление логирования новых запросов, или расширение мониторинга и списка алертов.

🔷 Конфигурация
Любые параметры, определяющие как будет работать функциональность функциональности, или вовсе включающие/отключающие функциональность (фичефлаги).

Кому нужен пример такой работы, то пишите в личку (скину свое 🫡).
  • 👍 18
  • 😐 3
More from @lead_sa
  1. Sep 3, 2024Повсюду пошла реклама подборки каналов по БА и СА, а я вот решил сделать свой топ малоизве…
  2. Aug 8, 2024Сегодня на примере дискуссионного клуба по теме проектирования систем и архитектуры еще ра…
  3. Jul 11, 2024Какой бы не использовался фреймворк, будь то Waterfall, Scrum, Kanban, XP или FDD, он нико…
  4. Jul 7, 2024Приближаясь к значению 300 проведенных собеседований, заметил некоторую корреляцию. Систем…
  5. Jun 6, 2024Путь аналитика или 20 шагов к большому успеху *Все совпадения, в том числе со мной, случай…
  6. May 28, 2024Я также посмотрел “западные”источники. Получилось, что смыслы те же, но структура попроще…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →