SlideShare a Scribd company logo
1 of 23
Download to read offline
Одиннадцатая	
  независимая	
  научно-­‐практическая	
  
конференция	
  «Разработка	
  ПО	
  2015»
22 -­‐ 24	
  октября,	
  Москва
Дзюба	
  Дмитрий
Применение	
  моделирования	
  во	
  взаимодействии	
  
между	
  заказчиком	
  и	
  разработчиком	
  ПО
Контекст
— Заказная	
  разработка
— Фиксированная	
  цена	
  проекта
— Большие	
  команды
— Большая	
  трудоемкость	
  задач
— Сложная	
  структура	
  в	
  команде	
  заказчика
Написание
Проверка
СогласованиеИзменение
Обучение
Проблемы
Больших	
  ТЗ
Сложным  документам  – Нет!
Понятной  модели  – Да!
Почему	
  модель?
— Формальный	
  язык	
  долженустранить	
  неоднозначности.
— Модель	
  поможет	
  упростить	
  понимание	
  за	
  счет	
  большей	
  
выразительности.
— База	
  знаний	
  на	
  основе	
  моделей	
  упростит совместную	
  
работу	
  с	
  требованиями.
Модель  подробнее  документа
Почему	
  нельзя	
  просто	
  взять	
  и	
  перейти	
  на	
  UML?
— Что-­‐то	
  нужно	
  приложить	
  к	
  договору!
— Вдруг	
  потребуется	
  выразить	
  что-­‐то	
  не	
  укладывающееся	
  в	
  UML?
— Могут	
  быть	
  проблемы	
  и	
  со	
  стороны	
  заказчиков	
  – UML	
  понятен	
  только	
  
ИТ	
  специалистам.	
  
— Изменение	
  процесса	
  работы	
  в	
  больших	
  организациях	
  – долгий	
  и	
  
сложный	
  процесс.	
  
Как	
  мы	
  уговорили	
  заказчика?
— Заказчик	
  имеет	
  сильное	
  ИТ-­‐подразделение;
— Многолетнее сотрудничество	
  с	
  заказчиком;
— Готовность	
  заказчика	
  к	
  постоянным	
  изменениям	
  
и	
  трансформациям	
  своего	
  бизнеса.
Как	
  внедряем?
Выбираем	
  инструмент
— Usability
— Возможности	
  командной	
  работы	
  (единое	
  хранилище	
  моделей)
— Расширяемость	
  моделей
— Полная	
  поддержка	
  UML	
  2
— Возможность	
  работы	
  в	
  online и	
  offline режиме
Выберете  простую  задачу  и  попробуйте  ее  смоделировать  в  разных  продуктах.
Централизованное	
  
хранилище
Ориентация на	
  
объекты	
  модели
MDA и	
  расширения
Генераторы	
  
отчетности
Много моделей	
  и	
  
парадигм
Универсальные	
  инструменты	
  моделирования
— Плюсы
много	
  возможностей
— Минусы
нет	
  контроля	
  соблюдения	
  методологии
Мы  сделали  свой  AddOn для  проверки  модели  и  создания  отчетов  …
Трудности	
  внедрения	
  процесса	
  моделирования
— Непривычный инструмент	
  снижает	
  производительность	
  работы.	
  
Пришлось	
  потратить	
  достаточное	
  время	
  на	
  проведение	
  семинаров	
  по	
  
инструменту	
  для	
  команды.	
  
— Читателям	
  документов	
  тяжело	
  перестроится	
  на	
  использование	
  нового	
  
инструмента.	
  Нам	
  пришлось	
  делать	
  «отчеты»	
  по	
  модели	
  в	
  удобной	
  для	
  
читателей	
  форме.
Более  строгая  семантика  заставляет  аналитика/архитектора
лучше  продумывать  создаваемые  требования,  а  это  занимает  время.
Удобство  работы  с  моделью  так  же  важно  как  и  полнота  модели
Документ	
  все-­‐таки	
  нужен	
  …
— Документ	
  все	
  таки	
  нужен	
  для	
  подписания	
  
формальных	
  документов	
  (таких	
  как,	
  
приложение	
  к	
  договору);
— Встроенный	
  генератор	
  отчетов	
  – не	
  
обладает	
  нужной	
  гибкостью.
— Делаем	
  робот	
  -­‐ генератор	
  отчетов,	
  
используя	
  API	
  системы	
  моделирования.
— Это	
  же	
  робот	
  осуществляет	
  автоматическую	
  
проверку	
  на	
  правильность	
  заполнения	
  
модели,	
  tracabilityи	
  т.д.
Будьте  готовы  проводить  обучения  …  много  обучений.
Что	
  в	
  основе	
  модели?
— Исходные	
  требования	
  заказчика
requirement
— Варианты	
  использования	
  
use case
— Нефункциональные	
  требования
use case
— Модель	
  компонент
BPMN, component, sequence
— Интерфейсы	
  и	
  модель	
  данных
class, sequence
requirement diagram (сlass)
Варианты	
  использования,	
  роли	
  и	
  требования
use case diagram
Сценарии	
  вариантов	
  использования
Системы	
  и	
  интерфейсы
Изображаем интерфейсы взаимодействия
на диаграммах Component
Спецификация интерфейсов на
Class диаграммах
Дизайн	
  взаимодействия
BPMN 2.0 для спецификации
потоков данных
Sequence diagram для спецификации
конкретных интерфейсов
Взаимодействие	
  с	
  заказчиком
use cases
bpmn
component model
class diagram
sequence diagram
requirements
Организация	
  взаимодействия
Плюсы Минусы
Экспорт	
  моделей
XMI
• Не зависимость	
  от	
  
инструмента
• Работа offline
• Сложности	
  в	
  командной	
  
работе
• Устаревание	
  копий	
  модели
Система	
  контроля	
  
версия
SVN, TFS
• Работа	
  с	
  изменениями.
• Работа	
  offline
• Дополнительное обучение	
  
пользователей	
  инструменту
Единое	
  хранилище	
  на	
  
реляционной	
  СУБД
• Возможность	
  строить	
  
отчетность	
  используя	
  
средства	
  SQL по	
  доменной	
  
модели.
• Затруднен	
  контроль	
  
отслеживание	
  изменений	
  
(можно	
  «нечаянно»	
  
удалить	
  часть	
  модели)
Итого
— Внедрение	
  процесса	
  заняло	
  1	
  год.
— Трудозатраты	
  на	
  проведение	
  бизнес-­‐анализа	
  выросли	
  в	
  
среднем	
  на	
  20% (в	
  процессе	
  того,	
  как	
  сотрудники	
  
привыкают	
  к	
  инструменту	
  этот	
  процент	
  снижается)
— Количество	
  ошибок	
  в	
  требованиях	
  уменьшилось	
  до	
  нуля*.
*  Мы  измеряли  change  request  к  созданным  ТЗ  в  
процессе  разработки  и  приемки.
Спасибо!
ddzuba@nvision-­‐group.com

More Related Content

What's hot

Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...DEVTYPE
 
DDD — эффективный способ работы в условиях системной сложности
DDD — эффективный способ работы в условиях системной сложностиDDD — эффективный способ работы в условиях системной сложности
DDD — эффективный способ работы в условиях системной сложностиCUSTIS
 
DDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 TsepkovDDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 TsepkovMaxim Tsepkov
 
Itgm #9. dmn. как моделировать принимаемые решения
Itgm #9. dmn. как моделировать принимаемые решенияItgm #9. dmn. как моделировать принимаемые решения
Itgm #9. dmn. как моделировать принимаемые решенияSPbCoA
 
чмв лекция №5
чмв   лекция №5чмв   лекция №5
чмв лекция №5student_kai
 
Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?ngrebnev
 
DDD-secon-2014-tsepkov
DDD-secon-2014-tsepkovDDD-secon-2014-tsepkov
DDD-secon-2014-tsepkovMaxim Tsepkov
 
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийSQALab
 
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовМодуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовYana Brodetski
 
чмв лабораторная №3
чмв   лабораторная №3чмв   лабораторная №3
чмв лабораторная №3student_kai
 
Денис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийДенис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийDenis Beskov
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Andrii Gakhov
 
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Maxim Tsepkov
 
Шаблоны оформления требований
Шаблоны оформления требованийШаблоны оформления требований
Шаблоны оформления требованийJaneKozmina
 
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]Alex V. Petrov
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...Alex V. Petrov
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыCUSTIS
 
Практический анализ и визуальное моделирование на UML
Практический анализ и визуальное моделирование на UMLПрактический анализ и визуальное моделирование на UML
Практический анализ и визуальное моделирование на UMLNikolai Kireev
 

What's hot (20)

Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
 
DDD — эффективный способ работы в условиях системной сложности
DDD — эффективный способ работы в условиях системной сложностиDDD — эффективный способ работы в условиях системной сложности
DDD — эффективный способ работы в условиях системной сложности
 
DDD Workshop
DDD WorkshopDDD Workshop
DDD Workshop
 
DDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 TsepkovDDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 Tsepkov
 
Itgm #9. dmn. как моделировать принимаемые решения
Itgm #9. dmn. как моделировать принимаемые решенияItgm #9. dmn. как моделировать принимаемые решения
Itgm #9. dmn. как моделировать принимаемые решения
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
чмв лекция №5
чмв   лекция №5чмв   лекция №5
чмв лекция №5
 
Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?
 
DDD-secon-2014-tsepkov
DDD-secon-2014-tsepkovDDD-secon-2014-tsepkov
DDD-secon-2014-tsepkov
 
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
 
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовМодуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
 
чмв лабораторная №3
чмв   лабораторная №3чмв   лабораторная №3
чмв лабораторная №3
 
Денис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийДенис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требований
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
 
Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017Choose method for requirements Tsepkov Analyst Days-2017
Choose method for requirements Tsepkov Analyst Days-2017
 
Шаблоны оформления требований
Шаблоны оформления требованийШаблоны оформления требований
Шаблоны оформления требований
 
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
 
Практический анализ и визуальное моделирование на UML
Практический анализ и визуальное моделирование на UMLПрактический анализ и визуальное моделирование на UML
Практический анализ и визуальное моделирование на UML
 

Viewers also liked

МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1Dima Dzuba
 
Решение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных системРешение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных системDima Dzuba
 
Производительность программных систем
Производительность программных системПроизводительность программных систем
Производительность программных системDima Dzuba
 
МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12Dima Dzuba
 
Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2Dima Dzuba
 
Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Dima Dzuba
 
Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5Dima Dzuba
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4 Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Dima Dzuba
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6Dima Dzuba
 

Viewers also liked (18)

МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1
 
Решение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных системРешение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных систем
 
Производительность программных систем
Производительность программных системПроизводительность программных систем
Производительность программных систем
 
МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3
 
Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12
 
Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6
 
Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14
 
МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2
 
Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.
 
Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10
 
Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8.
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4
 
МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
 
Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6
 

Similar to Requirement modelling in software creation process

Practice of enterprice development ProfsoUX-2017
Practice of enterprice development  ProfsoUX-2017Practice of enterprice development  ProfsoUX-2017
Practice of enterprice development ProfsoUX-2017Maxim Tsepkov
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиCUSTIS
 
Опыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиОпыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиПрофсоUX
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиSQALab
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиCUSTIS
 
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...rit2011
 
Ddd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkovDdd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkovMaxim Tsepkov
 
плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14IKonkov
 
ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решенийПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решенийВиктор Золотов
 
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»Fedor Malyshkin
 
Рисуем ТЗ. Эффективный способ коммуникации.
Рисуем ТЗ. Эффективный способ коммуникации.Рисуем ТЗ. Эффективный способ коммуникации.
Рисуем ТЗ. Эффективный способ коммуникации.Peter Skopin
 
Рисуем ТЗ. Эффективный способ коммуникации в веб проектах
Рисуем ТЗ. Эффективный способ коммуникации в веб проектахРисуем ТЗ. Эффективный способ коммуникации в веб проектах
Рисуем ТЗ. Эффективный способ коммуникации в веб проектахArtem Volftrub
 
Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...Anatoly Simkin
 
DDD — правильный курс в потоке изменений требований
DDD — правильный курс в потоке изменений требованийDDD — правильный курс в потоке изменений требований
DDD — правильный курс в потоке изменений требованийSQALab
 
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...Dakiry
 
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016Maxim Tsepkov
 

Similar to Requirement modelling in software creation process (20)

Practice of enterprice development ProfsoUX-2017
Practice of enterprice development  ProfsoUX-2017Practice of enterprice development  ProfsoUX-2017
Practice of enterprice development ProfsoUX-2017
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
 
Опыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиОпыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурами
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
 
Ddd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkovDdd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkov
 
плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14плакаты конькова ивана12[1].02.14
плакаты конькова ивана12[1].02.14
 
ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решенийПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решений
 
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»Распределённые приложения. Часть 1.
«Клиент и ядро бизнес-логики»
Распределённые приложения. Часть 1. «Клиент и ядро бизнес-логики»
 
обзор Erp
обзор Erpобзор Erp
обзор Erp
 
Рисуем ТЗ. Эффективный способ коммуникации.
Рисуем ТЗ. Эффективный способ коммуникации.Рисуем ТЗ. Эффективный способ коммуникации.
Рисуем ТЗ. Эффективный способ коммуникации.
 
Рисуем ТЗ. Эффективный способ коммуникации в веб проектах
Рисуем ТЗ. Эффективный способ коммуникации в веб проектахРисуем ТЗ. Эффективный способ коммуникации в веб проектах
Рисуем ТЗ. Эффективный способ коммуникации в веб проектах
 
Киев, BA Con 2017
Киев, BA Con 2017Киев, BA Con 2017
Киев, BA Con 2017
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...Практический подход к систематизации требований при проектировании информацио...
Практический подход к систематизации требований при проектировании информацио...
 
DDD — правильный курс в потоке изменений требований
DDD — правильный курс в потоке изменений требованийDDD — правильный курс в потоке изменений требований
DDD — правильный курс в потоке изменений требований
 
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
 
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
 

More from Dima Dzuba

Arch intro4sts
Arch intro4stsArch intro4sts
Arch intro4stsDima Dzuba
 
Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10Dima Dzuba
 
Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9Dima Dzuba
 
Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8Dima Dzuba
 
Проектирование программных систем. Занятие 7
Проектирование программных систем. Занятие 7Проектирование программных систем. Занятие 7
Проектирование программных систем. Занятие 7Dima Dzuba
 
Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Dima Dzuba
 
Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5Dima Dzuba
 
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Dima Dzuba
 
Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2Dima Dzuba
 

More from Dima Dzuba (9)

Arch intro4sts
Arch intro4stsArch intro4sts
Arch intro4sts
 
Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10
 
Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9
 
Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8
 
Проектирование программных систем. Занятие 7
Проектирование программных систем. Занятие 7Проектирование программных систем. Занятие 7
Проектирование программных систем. Занятие 7
 
Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6
 
Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5
 
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3
 
Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2
 

Requirement modelling in software creation process

  • 1. Одиннадцатая  независимая  научно-­‐практическая   конференция  «Разработка  ПО  2015» 22 -­‐ 24  октября,  Москва Дзюба  Дмитрий Применение  моделирования  во  взаимодействии   между  заказчиком  и  разработчиком  ПО
  • 2. Контекст — Заказная  разработка — Фиксированная  цена  проекта — Большие  команды — Большая  трудоемкость  задач — Сложная  структура  в  команде  заказчика
  • 4. Сложным  документам  – Нет! Понятной  модели  – Да!
  • 5. Почему  модель? — Формальный  язык  долженустранить  неоднозначности. — Модель  поможет  упростить  понимание  за  счет  большей   выразительности. — База  знаний  на  основе  моделей  упростит совместную   работу  с  требованиями. Модель  подробнее  документа
  • 6. Почему  нельзя  просто  взять  и  перейти  на  UML? — Что-­‐то  нужно  приложить  к  договору! — Вдруг  потребуется  выразить  что-­‐то  не  укладывающееся  в  UML? — Могут  быть  проблемы  и  со  стороны  заказчиков  – UML  понятен  только   ИТ  специалистам.   — Изменение  процесса  работы  в  больших  организациях  – долгий  и   сложный  процесс.  
  • 7. Как  мы  уговорили  заказчика? — Заказчик  имеет  сильное  ИТ-­‐подразделение; — Многолетнее сотрудничество  с  заказчиком; — Готовность  заказчика  к  постоянным  изменениям   и  трансформациям  своего  бизнеса.
  • 9. Выбираем  инструмент — Usability — Возможности  командной  работы  (единое  хранилище  моделей) — Расширяемость  моделей — Полная  поддержка  UML  2 — Возможность  работы  в  online и  offline режиме Выберете  простую  задачу  и  попробуйте  ее  смоделировать  в  разных  продуктах.
  • 10. Централизованное   хранилище Ориентация на   объекты  модели MDA и  расширения Генераторы   отчетности Много моделей  и   парадигм
  • 11. Универсальные  инструменты  моделирования — Плюсы много  возможностей — Минусы нет  контроля  соблюдения  методологии Мы  сделали  свой  AddOn для  проверки  модели  и  создания  отчетов  …
  • 12. Трудности  внедрения  процесса  моделирования — Непривычный инструмент  снижает  производительность  работы.   Пришлось  потратить  достаточное  время  на  проведение  семинаров  по   инструменту  для  команды.   — Читателям  документов  тяжело  перестроится  на  использование  нового   инструмента.  Нам  пришлось  делать  «отчеты»  по  модели  в  удобной  для   читателей  форме. Более  строгая  семантика  заставляет  аналитика/архитектора лучше  продумывать  создаваемые  требования,  а  это  занимает  время. Удобство  работы  с  моделью  так  же  важно  как  и  полнота  модели
  • 13. Документ  все-­‐таки  нужен  … — Документ  все  таки  нужен  для  подписания   формальных  документов  (таких  как,   приложение  к  договору); — Встроенный  генератор  отчетов  – не   обладает  нужной  гибкостью. — Делаем  робот  -­‐ генератор  отчетов,   используя  API  системы  моделирования. — Это  же  робот  осуществляет  автоматическую   проверку  на  правильность  заполнения   модели,  tracabilityи  т.д.
  • 14. Будьте  готовы  проводить  обучения  …  много  обучений.
  • 15. Что  в  основе  модели? — Исходные  требования  заказчика requirement — Варианты  использования   use case — Нефункциональные  требования use case — Модель  компонент BPMN, component, sequence — Интерфейсы  и  модель  данных class, sequence
  • 16. requirement diagram (сlass) Варианты  использования,  роли  и  требования use case diagram
  • 18. Системы  и  интерфейсы Изображаем интерфейсы взаимодействия на диаграммах Component Спецификация интерфейсов на Class диаграммах
  • 19. Дизайн  взаимодействия BPMN 2.0 для спецификации потоков данных Sequence diagram для спецификации конкретных интерфейсов
  • 20. Взаимодействие  с  заказчиком use cases bpmn component model class diagram sequence diagram requirements
  • 21. Организация  взаимодействия Плюсы Минусы Экспорт  моделей XMI • Не зависимость  от   инструмента • Работа offline • Сложности  в  командной   работе • Устаревание  копий  модели Система  контроля   версия SVN, TFS • Работа  с  изменениями. • Работа  offline • Дополнительное обучение   пользователей  инструменту Единое  хранилище  на   реляционной  СУБД • Возможность  строить   отчетность  используя   средства  SQL по  доменной   модели. • Затруднен  контроль   отслеживание  изменений   (можно  «нечаянно»   удалить  часть  модели)
  • 22. Итого — Внедрение  процесса  заняло  1  год. — Трудозатраты  на  проведение  бизнес-­‐анализа  выросли  в   среднем  на  20% (в  процессе  того,  как  сотрудники   привыкают  к  инструменту  этот  процент  снижается) — Количество  ошибок  в  требованиях  уменьшилось  до  нуля*. *  Мы  измеряли  change  request  к  созданным  ТЗ  в   процессе  разработки  и  приемки.