Кто такой ИТ Аналитик? Байкин Александр www.uml2.ru [email_address]
Место Аналитика в разработке Почему так получается? Требования Работа с требованиями Кто такой Аналитик? Системный Ан.  vs  Бизнес Ан. Основные функции Бизнес Ан. Литература и Профстандарты План
Калькулятор?
Конура или Отель? Область известна Решение простое Один человек Не требует поддержки Рамки требований не меняются
Программное Обеспечение?
Плюсы Распараллелить работы Узкая специализация Распределение знаний по команде Коллективный разум Риски Накладные расходы на коммуникации Искажение знаний Организация процесса Зачем нужны Роли?
Как получается!
Заказчик? Плохо обследована Пр. Обл. Плохо проинтервьюирован З. Желаемое выдано за Нужное Не изучено существующее ПО Не изучена документация Нет протоколов совещаний
Менеджер? Не организован процесс обследования Требования ТОЛЬКО от З. Не выявлены Роли Интервьюирование многих З.  Разграничение обязанностей
Аналитик? Не зафиксированы Цели Ан. отвечает ТОЛЬКО за Тр. Нет понимания уровней Тр. Нет стандарта документ. Тр. Требования не включают Арх.
Разработка? Тр. не понятны Разработчикам Тр. не проверены Нет диаграмм Смешены уровни Тр. А есть ли Требования вообще? Нет сценариев тестирования
Продажи? Нет договоренности внутри Ко Нет актуальных Тр. ПО Не врать Заказчику Не давать ответ сразу
Документирование? Нужен документ Видение Цели и проблемы Роли и Заинтересованные Лица Потребности и Ограничения Характеристики ПО Нужен документ ТЗ ПТ или ФТ НеФТ Нужны Сценарии Тестирования Нужны Руководства Пользователя Не всегда нужно описание БП
Внедрение? Подготовка к Внедрению заранее Презентация ПО Ан. для З. Поэтапная (спиральная) разработка ПО
Оплата? Без комментариев
Поддержка? Политика изменений Тр. Учет всех замечаний Готовность к изменению Тр. Компромисс – Запросы и Бюджет
Результат
Аналитик должен знать? Тр. – основа всего Описание Целей Знание (изучение) Пр. Обл. Интервьюирование Заказчика Изучение сущ. Док-ции, ПО и т.д. Разделение типов Тр. Политика изменений Тр. Фиксация и Проверка Тр. Спиральный процесс разработки ПО Объяснить З. его права и обязанности
Требования к ПО Условие или возможность, требуемое Пользователем для решения проблемы или достижения некой цели. Некое свойство программного обеспечения, которым должна обладать система или ее компонент, чтобы удовлетворить требования контракта, стандарта, спецификации либо иной формальной документации. Документированное представление условия или возможности, описанных в п.1 и п.2
Типы Требований Функциональные Нефункциональные Пользовательские требования Бизнес- правила Атрибуты качества Функциональные требования Системные требования Внешний интерфейс Ограничения Бизнес- требования Спецификация требований к ПО Спецификация ПТ Границы проекта
Бизнес-правила
Атрибуты качества
Хорошие Требования Полные Корректные Реализуемые Необходимые Приоритезированные Однозначные Проверяемые
Хорошая Спецификация Полная Не противоречивая Модифицируемая Трассируемая
Работа с Требованиями
Знание – Сила! Учите Аналитиков Обучайте Менеджеров и Заказчиков Обучайте Пр. Обл. всех в Ко  Создайте Глоссарий терминов
Выявление Требований Определите процесс разработки Тр. Определите Видение и Границы Определите Роли Выберите Лидера в каждой Роли Определите фокус-группу Определите Варианты Использования Определите входы и выходы Системы Организовывайте Собрания З. и Ан. Изучайте как работают Пользователи Изучите проблемы существующего ПО Используйте заново старые Тр.
Техники выявления Тр. Интервью Совещания Анализ документов Опрос Визит на сторону заказчика Анализ БП Анализ задач и  work flows Лист событий Анализ конкурирующего ПО Обратное проектирование сущ - его ПО Анализ предыдущего опыта
Анализ Требований Нарисуйте контекстную диаграмму Создавайте прототипы Анализируйте реализуемость Приоритизируйте Требования Моделируйте Требования Создайте Глоссарий Данных Распределите Тр. по Блокам Ожидаемые – Нормальные – Необходимые Тр.
Документирование Тр. Адоптируйте шаблоны Тр. Указывайте источник Тр. Уникально называйте Тр. Записывайте БПр Определите НеФТ
Проверка Требований Проверяйте Спецификацию Тр. Создайте Сценарии Тестирования на ПТ Определите критерии приема ПО
Управление Требованиями Определите процесс Изменений Тр. Сформируйте Контрольную Комиссию Выполняйте анализ изменений Версионность Требований Описывайте историю изменений Тр. Отслеживайте статус Требований Измеряйте частоту изменений Тр. Используйте СУТ Создайте матрицу трассировки Тр.
Управление Проектом Выберите подходящий ЖЦ разработки Делайте план на основе Требований Пересматривайте договоренности Управляйте риском Требований Отслеживайте усилия на УТ Ретроспектива
Кто такой Аналитик?
Задачи Аналитика Очертить Бизнес-требования Определить ЗЛ и Пользователей Собрать требования Проанализировать требования Написать Спецификацию Тр. ПО Моделировать требования Руководить проверкой требований Способствовать приоритезации Тр. Управлять требованиями
Качества Аналитика Умение слушать Умение задавать вопросы и брать интервью Аналитический склад ума Навыки организации групповой работы Хорошие письменный язык Организационные навыки Навыки моделирования Навыки работы с людьми с разными интересами Креативность
Учтены все Требования? Декомпозируйте высокоуровневые Тр. Убедитесь, что все Роли используются Трассируйте Требований Проверяйте граничные условия Представляйте Тр. в разных видах Используйте дерево решений Используйте  CRUDL  матрицу
Шаблон Видения 1.  Бизнес-требования 1.1  Описание объекта автоматизации 1.2  Проблемы и Возможности 1.3  Цели и критерии их достижения 1.4  Потребности ЗЛ или рынка 1.5  Бизнес-риски 2.  Видение решения 2.1  Описание решения 2.2  Основные характеристики 2.3  Предположения и Зависимости 3.  Границы и Ограничения 3.1  Границы начальной версии 3.2  Границы будущих версий 3.3  Ограничения и Исключения 4.  Бизнес-контекст 4.1  Профиль ЗЛ 4.2  Приоритеты проекта 4.3  Окружение
Шаблон Спецификации ПО 1.  Введение 1.1  Назначение 1.2  Соглашения о документе 1.3  Целевая аудитория 1.4  Границы проекта 1.5  Ссылки 2.  Общее описание 2.1  Описание предметной области 2.2  Характеристики продукта 2.3  Группы пользователей 2.4  Окружение 2.5  Ограничения Архитектуры и  Разработки 2.6  Пользовательская документация 2.7  Предположения и зависимость 3.  Функциональные требования 3.x  Характеристика продукта  X 3.x.1  Описание и приоритет 3.x.2  Входные и выходные данные 3.x.3  Детальные функциональные требования 4.  Требования к интерфейсу 4.1  Пользовательский интерфейс 4.2  Аппаратные интерфейсы 4.3  Интерфейсы ПО 4.4  Интерфейсы взаимодействия 5.  Нефункциональные требования 5.1  Требования к производительности 5.2  Требования  к надежности 5.3  Требования к безопасности 5.4  Атрибуты качества ПО 6.  Другие Требования Appendix A:  Глоссарий Appendix B:  Аналитические модели Appendix C:  Список задач
Документы Тр. Vision   RUP Vision   IEEE Standard Use Case Specification RUP Software Requirement Specification RUP Software Requirement Spec   IEEE 830-1998 System Requirement Spec IEEE   Standart Техническое Задание ГОСТ 34.602 Пояснительная записка  РД 50-34.698-90
БА  vs  СА Бизнес Аналитик Системный Аналитик Знание (изучение) Пр. Обл. Анализ структуры Орг. Участие в Стратегии Выявление З. Л. Описание БП Выявление Целей Выявление Проблем Выявление Потребностей Оптимизация БП Формирование Задач ПО Изучение Пр. Обл.  Формулирование Задач ПО Изучение ПО-конкурентов  Выявление Пользователей Формулирование ПТ Формулирование ФТ и БПр Формулирование НеФТ Участие в разработке Арх. Участие в Тестировании Участие во Внедрении Бизнес Аналитик Системный Аналитик Знание (изучение) Пр. Обл. Анализ структуры Орг. Участие в Стратегии Выявление З. Л. Описание БП Выявление Целей Выявление Проблем Выявление Потребностей Оптимизация БП Формирование Задач ПО Изучение Пр. Обл.  Формулирование Задач ПО Изучение ПО-конкурентов Выявление Пользователей Формулирование ПТ Формулирование ФТ и БПр Формулирование НеФТ Участие в разработке Арх. Участие в Тестировании Участие во Внедрении
Что такое Цель? 1. Желаемый результат (предмет стремления). То, что желательно осуществить. 2. Чётко описанное желательное состояние, которого необходимо достигнуть. 3. Предвосхищаемый в сознании результат деятельности.
SMART  Цели S pecific. Четкая, определенная. Цель «немедленно нажимать кнопку» не является четкой, альтернативой будет «нажимать на кнопку в течении 1 секунды» M easurable. Измеримая. Цель должна подразумевать либо оговаривать возможность измерения/проверки результата. A chieveable. Достижимая. Цель должна быть выполнимой для конкретного исполнителя. R elevant. Соответствующая контексту. Достижение цели должно быть обеспечено ресурсами. T ime-bounded. Ограниченная во времени. Нет времени — нет цели (есть мечтания).
Оптимизация БП Стратегия Бизнеса Текущие БП Цели Проблемы Потребности Бизнес-роли Будущие БП
Литература К. Вигерс, Разработка требований к программному обеспечению А. Коберн, Современные методы описания функциональных требований к системам У. Леффингуэлл, Принципы работы с требованиями к программному обеспечению. Унифицированный подход
Профстандарты BABOK v.2 Стандарт АПКИТ
Успех

Введение в Анализ ПО

  • 1.
    Кто такой ИТАналитик? Байкин Александр www.uml2.ru [email_address]
  • 2.
    Место Аналитика вразработке Почему так получается? Требования Работа с требованиями Кто такой Аналитик? Системный Ан. vs Бизнес Ан. Основные функции Бизнес Ан. Литература и Профстандарты План
  • 3.
  • 4.
    Конура или Отель?Область известна Решение простое Один человек Не требует поддержки Рамки требований не меняются
  • 5.
  • 6.
    Плюсы Распараллелить работыУзкая специализация Распределение знаний по команде Коллективный разум Риски Накладные расходы на коммуникации Искажение знаний Организация процесса Зачем нужны Роли?
  • 7.
  • 8.
    Заказчик? Плохо обследованаПр. Обл. Плохо проинтервьюирован З. Желаемое выдано за Нужное Не изучено существующее ПО Не изучена документация Нет протоколов совещаний
  • 9.
    Менеджер? Не организованпроцесс обследования Требования ТОЛЬКО от З. Не выявлены Роли Интервьюирование многих З. Разграничение обязанностей
  • 10.
    Аналитик? Не зафиксированыЦели Ан. отвечает ТОЛЬКО за Тр. Нет понимания уровней Тр. Нет стандарта документ. Тр. Требования не включают Арх.
  • 11.
    Разработка? Тр. непонятны Разработчикам Тр. не проверены Нет диаграмм Смешены уровни Тр. А есть ли Требования вообще? Нет сценариев тестирования
  • 12.
    Продажи? Нет договоренностивнутри Ко Нет актуальных Тр. ПО Не врать Заказчику Не давать ответ сразу
  • 13.
    Документирование? Нужен документВидение Цели и проблемы Роли и Заинтересованные Лица Потребности и Ограничения Характеристики ПО Нужен документ ТЗ ПТ или ФТ НеФТ Нужны Сценарии Тестирования Нужны Руководства Пользователя Не всегда нужно описание БП
  • 14.
    Внедрение? Подготовка кВнедрению заранее Презентация ПО Ан. для З. Поэтапная (спиральная) разработка ПО
  • 15.
  • 16.
    Поддержка? Политика измененийТр. Учет всех замечаний Готовность к изменению Тр. Компромисс – Запросы и Бюджет
  • 17.
  • 18.
    Аналитик должен знать?Тр. – основа всего Описание Целей Знание (изучение) Пр. Обл. Интервьюирование Заказчика Изучение сущ. Док-ции, ПО и т.д. Разделение типов Тр. Политика изменений Тр. Фиксация и Проверка Тр. Спиральный процесс разработки ПО Объяснить З. его права и обязанности
  • 19.
    Требования к ПОУсловие или возможность, требуемое Пользователем для решения проблемы или достижения некой цели. Некое свойство программного обеспечения, которым должна обладать система или ее компонент, чтобы удовлетворить требования контракта, стандарта, спецификации либо иной формальной документации. Документированное представление условия или возможности, описанных в п.1 и п.2
  • 20.
    Типы Требований ФункциональныеНефункциональные Пользовательские требования Бизнес- правила Атрибуты качества Функциональные требования Системные требования Внешний интерфейс Ограничения Бизнес- требования Спецификация требований к ПО Спецификация ПТ Границы проекта
  • 21.
  • 22.
  • 23.
    Хорошие Требования ПолныеКорректные Реализуемые Необходимые Приоритезированные Однозначные Проверяемые
  • 24.
    Хорошая Спецификация ПолнаяНе противоречивая Модифицируемая Трассируемая
  • 25.
  • 26.
    Знание – Сила!Учите Аналитиков Обучайте Менеджеров и Заказчиков Обучайте Пр. Обл. всех в Ко Создайте Глоссарий терминов
  • 27.
    Выявление Требований Определитепроцесс разработки Тр. Определите Видение и Границы Определите Роли Выберите Лидера в каждой Роли Определите фокус-группу Определите Варианты Использования Определите входы и выходы Системы Организовывайте Собрания З. и Ан. Изучайте как работают Пользователи Изучите проблемы существующего ПО Используйте заново старые Тр.
  • 28.
    Техники выявления Тр.Интервью Совещания Анализ документов Опрос Визит на сторону заказчика Анализ БП Анализ задач и work flows Лист событий Анализ конкурирующего ПО Обратное проектирование сущ - его ПО Анализ предыдущего опыта
  • 29.
    Анализ Требований Нарисуйтеконтекстную диаграмму Создавайте прототипы Анализируйте реализуемость Приоритизируйте Требования Моделируйте Требования Создайте Глоссарий Данных Распределите Тр. по Блокам Ожидаемые – Нормальные – Необходимые Тр.
  • 30.
    Документирование Тр. Адоптируйтешаблоны Тр. Указывайте источник Тр. Уникально называйте Тр. Записывайте БПр Определите НеФТ
  • 31.
    Проверка Требований ПроверяйтеСпецификацию Тр. Создайте Сценарии Тестирования на ПТ Определите критерии приема ПО
  • 32.
    Управление Требованиями Определитепроцесс Изменений Тр. Сформируйте Контрольную Комиссию Выполняйте анализ изменений Версионность Требований Описывайте историю изменений Тр. Отслеживайте статус Требований Измеряйте частоту изменений Тр. Используйте СУТ Создайте матрицу трассировки Тр.
  • 33.
    Управление Проектом Выберитеподходящий ЖЦ разработки Делайте план на основе Требований Пересматривайте договоренности Управляйте риском Требований Отслеживайте усилия на УТ Ретроспектива
  • 34.
  • 35.
    Задачи Аналитика ОчертитьБизнес-требования Определить ЗЛ и Пользователей Собрать требования Проанализировать требования Написать Спецификацию Тр. ПО Моделировать требования Руководить проверкой требований Способствовать приоритезации Тр. Управлять требованиями
  • 36.
    Качества Аналитика Умениеслушать Умение задавать вопросы и брать интервью Аналитический склад ума Навыки организации групповой работы Хорошие письменный язык Организационные навыки Навыки моделирования Навыки работы с людьми с разными интересами Креативность
  • 37.
    Учтены все Требования?Декомпозируйте высокоуровневые Тр. Убедитесь, что все Роли используются Трассируйте Требований Проверяйте граничные условия Представляйте Тр. в разных видах Используйте дерево решений Используйте CRUDL матрицу
  • 38.
    Шаблон Видения 1. Бизнес-требования 1.1 Описание объекта автоматизации 1.2 Проблемы и Возможности 1.3 Цели и критерии их достижения 1.4 Потребности ЗЛ или рынка 1.5 Бизнес-риски 2. Видение решения 2.1 Описание решения 2.2 Основные характеристики 2.3 Предположения и Зависимости 3. Границы и Ограничения 3.1 Границы начальной версии 3.2 Границы будущих версий 3.3 Ограничения и Исключения 4. Бизнес-контекст 4.1 Профиль ЗЛ 4.2 Приоритеты проекта 4.3 Окружение
  • 39.
    Шаблон Спецификации ПО1. Введение 1.1 Назначение 1.2 Соглашения о документе 1.3 Целевая аудитория 1.4 Границы проекта 1.5 Ссылки 2. Общее описание 2.1 Описание предметной области 2.2 Характеристики продукта 2.3 Группы пользователей 2.4 Окружение 2.5 Ограничения Архитектуры и Разработки 2.6 Пользовательская документация 2.7 Предположения и зависимость 3. Функциональные требования 3.x Характеристика продукта X 3.x.1 Описание и приоритет 3.x.2 Входные и выходные данные 3.x.3 Детальные функциональные требования 4. Требования к интерфейсу 4.1 Пользовательский интерфейс 4.2 Аппаратные интерфейсы 4.3 Интерфейсы ПО 4.4 Интерфейсы взаимодействия 5. Нефункциональные требования 5.1 Требования к производительности 5.2 Требования к надежности 5.3 Требования к безопасности 5.4 Атрибуты качества ПО 6. Другие Требования Appendix A: Глоссарий Appendix B: Аналитические модели Appendix C: Список задач
  • 40.
    Документы Тр. Vision RUP Vision IEEE Standard Use Case Specification RUP Software Requirement Specification RUP Software Requirement Spec IEEE 830-1998 System Requirement Spec IEEE Standart Техническое Задание ГОСТ 34.602 Пояснительная записка РД 50-34.698-90
  • 41.
    БА vs СА Бизнес Аналитик Системный Аналитик Знание (изучение) Пр. Обл. Анализ структуры Орг. Участие в Стратегии Выявление З. Л. Описание БП Выявление Целей Выявление Проблем Выявление Потребностей Оптимизация БП Формирование Задач ПО Изучение Пр. Обл. Формулирование Задач ПО Изучение ПО-конкурентов Выявление Пользователей Формулирование ПТ Формулирование ФТ и БПр Формулирование НеФТ Участие в разработке Арх. Участие в Тестировании Участие во Внедрении Бизнес Аналитик Системный Аналитик Знание (изучение) Пр. Обл. Анализ структуры Орг. Участие в Стратегии Выявление З. Л. Описание БП Выявление Целей Выявление Проблем Выявление Потребностей Оптимизация БП Формирование Задач ПО Изучение Пр. Обл. Формулирование Задач ПО Изучение ПО-конкурентов Выявление Пользователей Формулирование ПТ Формулирование ФТ и БПр Формулирование НеФТ Участие в разработке Арх. Участие в Тестировании Участие во Внедрении
  • 42.
    Что такое Цель?1. Желаемый результат (предмет стремления). То, что желательно осуществить. 2. Чётко описанное желательное состояние, которого необходимо достигнуть. 3. Предвосхищаемый в сознании результат деятельности.
  • 43.
    SMART ЦелиS pecific. Четкая, определенная. Цель «немедленно нажимать кнопку» не является четкой, альтернативой будет «нажимать на кнопку в течении 1 секунды» M easurable. Измеримая. Цель должна подразумевать либо оговаривать возможность измерения/проверки результата. A chieveable. Достижимая. Цель должна быть выполнимой для конкретного исполнителя. R elevant. Соответствующая контексту. Достижение цели должно быть обеспечено ресурсами. T ime-bounded. Ограниченная во времени. Нет времени — нет цели (есть мечтания).
  • 44.
    Оптимизация БП СтратегияБизнеса Текущие БП Цели Проблемы Потребности Бизнес-роли Будущие БП
  • 45.
    Литература К. Вигерс,Разработка требований к программному обеспечению А. Коберн, Современные методы описания функциональных требований к системам У. Леффингуэлл, Принципы работы с требованиями к программному обеспечению. Унифицированный подход
  • 46.
    Профстандарты BABOK v.2Стандарт АПКИТ
  • 47.