SlideShare uma empresa Scribd logo
1 de 20
Практикум UML
Моделирование функциональности
бизнеса и ПО на основе модифицированной
структуры уровней требований
Николай Киреев
info@webmax.by
Студия информационных технологий
WebMax.BY
Уровни требований К. Вигерса
Уровни требований [К. Вигерс «Разработка требований к ПО», 2004, с.8, рис. 1-1]
О чём «молчат» уровни К. Вигерса
• Не поддерживают чёткого разделения Бизнес - Система
• Не предусматривает моделирования функциональности бизнес- субъектов, не
являющихся пользователями программной системы
• Предусматривает моделирование функций программной системы только на
уровне пользовательских требований
• Не вводит иерархии функциональных требований, исключая таким образом их
детализацию.
Фреймворк Дж. Захмана
Люди/организации достигают поставленных целей, исполняя возложенные на
них функциональные обязанности, в определённом месте, в определённое
время и оперируя конкретными данными
Почему?
Кто?
Что?
Когда?
Где?
Как?
Контекст – Бизнес – Система
Модифицированные уровни
функциональных требований
и их моделирование
Что даёт модификация уровней:
1. Чёткое разделение моделей
бизнеса и системы.
2. Делает возможным представлять
субъекты-участники бизнес-
процесса, не являющиеся
пользователями системы.
3. Возможность более детального
представления функций
программной системы.
4. Отделяет функции бизнес-логики
от GUI
Представление функционала. Как?
Если говорим о ФУНКЦИЯХ, подразумеваем СУБЪЕКТОВ,
говорим о СУБЪЕТАХ, имеем ввиду их ФУНКЦИИ
Уровень Контекста (Отрасль)
Внешние по отношению к бизнес-системе
субъекты (должностные лица) достигают общие
цели (цели отрасли), исполняя свои
функциональные (должностные) обязанности,
результатом которых станут законы, правила и
ограничения для бизнеса. Их необходимо
учитывать при разработке архитектуры бизнеса.
Уровень Бизнеса (Предприятие)
Участники бизнеса (должностные лица и/или
штатные единицы, в UML это Business Actors)
достигают поставленных целей (Business Goals),
исполняя возложенные на них функциональные
обязанности (в UML-моделях это Business Use
Cases).
Уровень Системы
Пользователи программной системы (Actors)
достигают целей (Software Goals), инициируя
функциональные сервисы системы (User
Requirement, в UML-моделях это базовые Use
Cases).
Законы,
стандарты,
нормы
правила,
ограни-
чения
Бизнес
Система
Структура представления Use Case View
(шаблон RUP)
Business Use Case
Model
Use Case Model
Модели Бизнеса Модели Системы
Business Use Case Model (уровень Бизнеса)
Структура Use Case Model (уровень Системы)
Общая
UC-модель системы
Модели общей
функциональности для
групп пользователей
Детальная модель
функционала
инициируемого
отдельным актёром
Раздельно для
физ.лиц и системБазовые
сервисы,
актёры и
границы
системы
Только для
актёров
физ.лиц
Пример. Общая Use Case диаграмма
Диаграмма прецедентов [Д. Арлоу, А. Нейштадт «UML-2 и унифицированный процесс», 2007, с.98, рис. 4.6]
Пример. Общая Use Case диаграмма
Пример. Общая Use Case диаграмма
Пример. Модель общих (для группы) функций
Пример. Модель общих (для группы) функций
Пример. Детализация функций актёров- физ.лиц
Пример. Детализация функций актёров- физ.лиц
Принцип MDA или разработка моделированием
Модель MDA [Арлоу Д., Нейштадт И. „UML 2 и Унифицированный процесс. Практический
объектно-ориентированный анализ и проектирование“, 2е издание, 2007, с.28]
Заключение. Что дают модифицированные уровни?
ЧТО ДАЮТ МОДИФИЦИРОВАННЫЕ УРОВНИ ТРЕБОВАНИЙ?
• ЧЁТКОЕ РАЗДЕЛЕНИЕ МОДЕЛЕЙ БИЗНЕСА И СИСТЕМЫ
• ПОНЯТНУЮ ИЕРАРХИЮ ФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ
• ВОЗМОЖНОСТЬ КАК ОБЩЕГО ПРЕДСТАВЛЕНИЯ
ФУНКЦИНАЛЬНОСТИ СИСТЕМЫ, ТАК ЕЁ ДЕТАЛИЗАЦИИ ДО
УРОВНЯ ФУНКЦИЙ БИЗНЕС-ЛОГИКИ
• ВОЗМОЖНОСТЬ СОЗДАВАТЬ БОЛЕЕ «ЧИТАБЕЛЬНЫЕ»
USE-CASE ДИАГРАММЫ
Спасибо за внимание!
Николай Киреев
info@webmax.by
www.webmax.by

Mais conteúdo relacionado

Destaque

Как выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продуктаКак выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продуктаSQALab
 
Mission possible - the social warfare
Mission possible - the social warfareMission possible - the social warfare
Mission possible - the social warfareSQALab
 
Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!SQALab
 
Вся польза от аналитика
Вся польза от аналитикаВся польза от аналитика
Вся польза от аналитикаSQALab
 
Бизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровкиБизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровкиSQALab
 
Я б в начальники пошёл, пусть меня научат
Я б в начальники пошёл, пусть меня научатЯ б в начальники пошёл, пусть меня научат
Я б в начальники пошёл, пусть меня научатSQALab
 
Практическое управление роудмапом или как не сбиться с верного пути
Практическое управление роудмапом или как не сбиться с верного путиПрактическое управление роудмапом или как не сбиться с верного пути
Практическое управление роудмапом или как не сбиться с верного путиSQALab
 
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?SQALab
 
Пути аналитика неисповедимы: широкий взгляд на карьерное развитие
Пути аналитика неисповедимы: широкий взгляд на карьерное развитиеПути аналитика неисповедимы: широкий взгляд на карьерное развитие
Пути аналитика неисповедимы: широкий взгляд на карьерное развитиеSQALab
 
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...SQALab
 

Destaque (10)

Как выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продуктаКак выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продукта
 
Mission possible - the social warfare
Mission possible - the social warfareMission possible - the social warfare
Mission possible - the social warfare
 
Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!
 
Вся польза от аналитика
Вся польза от аналитикаВся польза от аналитика
Вся польза от аналитика
 
Бизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровкиБизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровки
 
Я б в начальники пошёл, пусть меня научат
Я б в начальники пошёл, пусть меня научатЯ б в начальники пошёл, пусть меня научат
Я б в начальники пошёл, пусть меня научат
 
Практическое управление роудмапом или как не сбиться с верного пути
Практическое управление роудмапом или как не сбиться с верного путиПрактическое управление роудмапом или как не сбиться с верного пути
Практическое управление роудмапом или как не сбиться с верного пути
 
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
Можно ли улучшить эффективность разработки без взаимодействия с заказчиком?
 
Пути аналитика неисповедимы: широкий взгляд на карьерное развитие
Пути аналитика неисповедимы: широкий взгляд на карьерное развитиеПути аналитика неисповедимы: широкий взгляд на карьерное развитие
Пути аналитика неисповедимы: широкий взгляд на карьерное развитие
 
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
Где скрывается вовлеченность: что мы поняли, разрабатывая и продавая SAAS-про...
 

Mais de SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

Mais de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Улучшение процесса разработки ПО для IT компании

  • 1. Практикум UML Моделирование функциональности бизнеса и ПО на основе модифицированной структуры уровней требований Николай Киреев info@webmax.by Студия информационных технологий WebMax.BY
  • 2. Уровни требований К. Вигерса Уровни требований [К. Вигерс «Разработка требований к ПО», 2004, с.8, рис. 1-1]
  • 3. О чём «молчат» уровни К. Вигерса • Не поддерживают чёткого разделения Бизнес - Система • Не предусматривает моделирования функциональности бизнес- субъектов, не являющихся пользователями программной системы • Предусматривает моделирование функций программной системы только на уровне пользовательских требований • Не вводит иерархии функциональных требований, исключая таким образом их детализацию.
  • 4. Фреймворк Дж. Захмана Люди/организации достигают поставленных целей, исполняя возложенные на них функциональные обязанности, в определённом месте, в определённое время и оперируя конкретными данными Почему? Кто? Что? Когда? Где? Как?
  • 6. Модифицированные уровни функциональных требований и их моделирование Что даёт модификация уровней: 1. Чёткое разделение моделей бизнеса и системы. 2. Делает возможным представлять субъекты-участники бизнес- процесса, не являющиеся пользователями системы. 3. Возможность более детального представления функций программной системы. 4. Отделяет функции бизнес-логики от GUI
  • 7. Представление функционала. Как? Если говорим о ФУНКЦИЯХ, подразумеваем СУБЪЕКТОВ, говорим о СУБЪЕТАХ, имеем ввиду их ФУНКЦИИ Уровень Контекста (Отрасль) Внешние по отношению к бизнес-системе субъекты (должностные лица) достигают общие цели (цели отрасли), исполняя свои функциональные (должностные) обязанности, результатом которых станут законы, правила и ограничения для бизнеса. Их необходимо учитывать при разработке архитектуры бизнеса. Уровень Бизнеса (Предприятие) Участники бизнеса (должностные лица и/или штатные единицы, в UML это Business Actors) достигают поставленных целей (Business Goals), исполняя возложенные на них функциональные обязанности (в UML-моделях это Business Use Cases). Уровень Системы Пользователи программной системы (Actors) достигают целей (Software Goals), инициируя функциональные сервисы системы (User Requirement, в UML-моделях это базовые Use Cases). Законы, стандарты, нормы правила, ограни- чения Бизнес Система
  • 8. Структура представления Use Case View (шаблон RUP) Business Use Case Model Use Case Model Модели Бизнеса Модели Системы
  • 9. Business Use Case Model (уровень Бизнеса)
  • 10. Структура Use Case Model (уровень Системы) Общая UC-модель системы Модели общей функциональности для групп пользователей Детальная модель функционала инициируемого отдельным актёром Раздельно для физ.лиц и системБазовые сервисы, актёры и границы системы Только для актёров физ.лиц
  • 11. Пример. Общая Use Case диаграмма Диаграмма прецедентов [Д. Арлоу, А. Нейштадт «UML-2 и унифицированный процесс», 2007, с.98, рис. 4.6]
  • 12. Пример. Общая Use Case диаграмма
  • 13. Пример. Общая Use Case диаграмма
  • 14. Пример. Модель общих (для группы) функций
  • 15. Пример. Модель общих (для группы) функций
  • 18. Принцип MDA или разработка моделированием Модель MDA [Арлоу Д., Нейштадт И. „UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование“, 2е издание, 2007, с.28]
  • 19. Заключение. Что дают модифицированные уровни? ЧТО ДАЮТ МОДИФИЦИРОВАННЫЕ УРОВНИ ТРЕБОВАНИЙ? • ЧЁТКОЕ РАЗДЕЛЕНИЕ МОДЕЛЕЙ БИЗНЕСА И СИСТЕМЫ • ПОНЯТНУЮ ИЕРАРХИЮ ФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ • ВОЗМОЖНОСТЬ КАК ОБЩЕГО ПРЕДСТАВЛЕНИЯ ФУНКЦИНАЛЬНОСТИ СИСТЕМЫ, ТАК ЕЁ ДЕТАЛИЗАЦИИ ДО УРОВНЯ ФУНКЦИЙ БИЗНЕС-ЛОГИКИ • ВОЗМОЖНОСТЬ СОЗДАВАТЬ БОЛЕЕ «ЧИТАБЕЛЬНЫЕ» USE-CASE ДИАГРАММЫ
  • 20. Спасибо за внимание! Николай Киреев info@webmax.by www.webmax.by