SlideShare a Scribd company logo
WWW.JAVABEGIN.RU
WW.JAVABEGIN.RU
БЛОК: ПРАКТИКА UMLПРОЕКТИРОВАНИЕ ДЛЯ НАЧИНАЮЩИХ
ОПИСАНИЕ ПРЕЦЕДЕНТОВ
WWW.JAVABEGIN.RU
Заметки
• Ответы на вопросы «что», а не «как»
• Не нужно изображать, как работает система внутри – только внешние бизнес-процессы со стороны пользователя
• Заранее выбрать формат описания и придерживаться его для всего проекта
• Простота и понятность – главные требования
• Многие сразу бросаются рисовать диаграммы, но лучше сначала описать в виде текста
• Часто прецеденты в виде текста более понятны, чем диаграммы прецедентов
• На популярные задачи уже существуют готовые «use case», которые можно взять за основу (например: онлайн оплата,
авторизация, работа банкомата и пр.)
WWW.JAVABEGIN.RU
Описание прецедентов
• Понятное имя
• Краткость – главное понять смысл без технических деталей («что», а не «как»)
• Заполнять только существующие пункты (пропускать те, которые не требуют заполнения)
• Правильное разделения действующих лиц (actor) на главные (инициатор) и второстепенные
роли
WWW.JAVABEGIN.RU
Формат
• Подробное описание:
• http://alistair.cockburn.us/Basic+use+case+template
• Можно выполнять в свободной форме, но лучше по формату
WWW.JAVABEGIN.RU
Последовательность
1. Описать основные возможности программы (мозговой штурм) – все, что приходит в голову
выносить на листочек/доску/файл – не выбирая выражения (корректировка будет позже)
– Как вариант – записывать все на диктофон, т.к. бывает, что не все успевают записывать по ходу штурма
– Потом спокойно переносить в текст
– В конечный use case могут попасть не все пункты
2. Составить из этого единый список без нумерации
3. Разделить по смыслу на группы
4. Выделить сценарии
5. Описать use case
WWW.JAVABEGIN.RU
Мозговой штурм (это пока не use case)
• Не слишком сложное, попроще, чтобы познакомиться с
технологиями
• Хранение пользователей
• Редактирование
• Поиск
• Удаление
• Добавление
• Сортировка
• Удобное отображение
• Горячие клавиши
• Удобный интерфейс
• Основная информация чтобы сразу была видна
• Резиновый дизайн
• Это будет локальное приложение или распределенное?
• Юзабилити, всплывающие подсказки
• Десктоп приложение, не веб
• Красивый интерфейс
• Можно добавить анимацию, переключения
• Индикаторы загрузки
• Проверка введенных данных
• Маски для ввода
• Локализация
• Переключение языков «на лету»
• …
Не нужно бояться что-то пропустить. В итеративной разработке это не страшно, постоянно будем возвращаться.
Главное – описать стержень.
WWW.JAVABEGIN.RU
Разбиваем по смыслу на группы
• GUI:
– Удобное отображение
– Удобный интерфейс
– Основная информация чтобы сразу была видна
– Резиновый дизайн
– Юзабилити, всплывающие подсказки
– Красивый интерфейс
– Можно добавить анимацию, переключения
– Индикаторы загрузки
– Горячие клавиши
– Проверка введенных данных
– Маски для ввода
• Процессы:
– Хранение пользователей
– Редактирование
– Поиск
– Удаление
– Добавление
– Сортировка
• Дополнительно:
– Десктоп приложение, не веб
– Это будет локальное приложение или распределенное?
– Не слишком сложное, попроще, чтобы познакомиться с
технологиями
– Переключение языков
Отсюда можно брать сценарии
WWW.JAVABEGIN.RU
Домашнее задание
Изучить формат
http://alistair.cockburn.us/Basic+use+case+template
Установить Visual Use Case
http://www.visualusecase.com/download-visual-use-case-personal-f.html
• Пройти регистрацию, чтобы снять ограничения

More Related Content

What's hot (10)

PDF
UML: Первое знакомство
Alexander Babich
 
PPT
Денис Иванов
SQALab
 
PPTX
Mockup
Sergey Ganushchak
 
PPTX
Как стать игроком большой команды
Agilie Team
 
PPTX
Архитектура для автоматизированного тестирования UI
Anton Bevzuk
 
PDF
CSS Modules в React | Odessa Frontend Meetup #4
OdessaFrontend
 
PPT
Adobe Flash. Знакомство.
Yulya Borshchova
 
PDF
Lessonhome
Alexander Sidelnikov
 
PDF
ОНЛАЙН- ПРОГРАММЫ ОБУЧЕНИЯ ДЛЯ ДИЗАЙНЕРОВ
Aleksey Polekhin
 
UML: Первое знакомство
Alexander Babich
 
Денис Иванов
SQALab
 
Как стать игроком большой команды
Agilie Team
 
Архитектура для автоматизированного тестирования UI
Anton Bevzuk
 
CSS Modules в React | Odessa Frontend Meetup #4
OdessaFrontend
 
Adobe Flash. Знакомство.
Yulya Borshchova
 
ОНЛАЙН- ПРОГРАММЫ ОБУЧЕНИЯ ДЛЯ ДИЗАЙНЕРОВ
Aleksey Polekhin
 

Viewers also liked (13)

PDF
Лекция 5. Встроенные коллекции и модуль collections.
Roman Brovko
 
PDF
Лекция 2. Всё, что вы хотели знать о функциях в Python.
Roman Brovko
 
PDF
Лекция 3. Декораторы и модуль functools.
Roman Brovko
 
PDF
Лекция 4. Строки, байты, файлы и ввод/вывод.
Roman Brovko
 
PDF
Лекция 9. Модули, пакеты и система импорта.
Roman Brovko
 
PDF
Лекция 6. Классы 1.
Roman Brovko
 
PDF
Лекция 12. Быстрее, Python, ещё быстрее.
Roman Brovko
 
PDF
Лекция 10. Классы 2.
Roman Brovko
 
PDF
Лекция 1. Начало.
Roman Brovko
 
PDF
Лекция 11. Тестирование.
Roman Brovko
 
PDF
Лекция 7. Исключения и менеджеры контекста.
Roman Brovko
 
PDF
Лекция 13. Многопоточность и GIL
Roman Brovko
 
PDF
Лекция 8. Итераторы, генераторы и модуль itertools.
Roman Brovko
 
Лекция 5. Встроенные коллекции и модуль collections.
Roman Brovko
 
Лекция 2. Всё, что вы хотели знать о функциях в Python.
Roman Brovko
 
Лекция 3. Декораторы и модуль functools.
Roman Brovko
 
Лекция 4. Строки, байты, файлы и ввод/вывод.
Roman Brovko
 
Лекция 9. Модули, пакеты и система импорта.
Roman Brovko
 
Лекция 6. Классы 1.
Roman Brovko
 
Лекция 12. Быстрее, Python, ещё быстрее.
Roman Brovko
 
Лекция 10. Классы 2.
Roman Brovko
 
Лекция 1. Начало.
Roman Brovko
 
Лекция 11. Тестирование.
Roman Brovko
 
Лекция 7. Исключения и менеджеры контекста.
Roman Brovko
 
Лекция 13. Многопоточность и GIL
Roman Brovko
 
Лекция 8. Итераторы, генераторы и модуль itertools.
Roman Brovko
 
Ad

Similar to 04 - Практика UML. Описание прецедентов (20)

PPTX
Разработка ПО. Введение в специальность 3. Требования
Pavel Egorov
 
PDF
Разработка ПО с помощью UML
CUSTIS
 
PDF
Проектирование программных систем. Занятие 3
Dima Dzuba
 
PDF
Чистая архитектура, Артур Бадретдинов АБЦТ
Сбертех | SberTech
 
PDF
Глава 2: Среда разработки NetBeans
metaform
 
PDF
Лекция 1. UML (use cases)
Виталий Емельянов
 
ODP
Behavior Driven Development
Alexey Tigarev
 
PDF
Lection 23-24. Use Cases+ User Stories
Yana Brodetski
 
PPT
Введення Uml
pogromskaya
 
PPT
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
DEVTYPE
 
PPT
МАПО Лекция 14 UML Use Case
Олег Гудаев
 
PDF
20100228 virtualization igotti_lecture03
Computer Science Club
 
PPT
Java. Lecture 03. OOP and UML
colriot
 
PPTX
Software engineering. Введение в специальность. Проектирование, требования
Pavel Egorov
 
PPT
Use case in action
Alexander Baikin
 
PDF
Essentials of Visual modeling and UML (rus) by SkillsCup.com
Dmitry SkillsCup.com
 
PDF
Compilable Specifications - XPDays Ukraine 2012
Dmytro Mindra
 
PPTX
разработка бизнес приложений (6)
Alexander Gornik
 
PPTX
Проектирование архитектуры приложений
Andrew Mayorov
 
PDF
2014-08-02 01 Егор Непомнящих. jWidget - очередной MV*-фреймворк
Омские ИТ-субботники
 
Разработка ПО. Введение в специальность 3. Требования
Pavel Egorov
 
Разработка ПО с помощью UML
CUSTIS
 
Проектирование программных систем. Занятие 3
Dima Dzuba
 
Чистая архитектура, Артур Бадретдинов АБЦТ
Сбертех | SberTech
 
Глава 2: Среда разработки NetBeans
metaform
 
Лекция 1. UML (use cases)
Виталий Емельянов
 
Behavior Driven Development
Alexey Tigarev
 
Lection 23-24. Use Cases+ User Stories
Yana Brodetski
 
Введення Uml
pogromskaya
 
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
DEVTYPE
 
МАПО Лекция 14 UML Use Case
Олег Гудаев
 
20100228 virtualization igotti_lecture03
Computer Science Club
 
Java. Lecture 03. OOP and UML
colriot
 
Software engineering. Введение в специальность. Проектирование, требования
Pavel Egorov
 
Use case in action
Alexander Baikin
 
Essentials of Visual modeling and UML (rus) by SkillsCup.com
Dmitry SkillsCup.com
 
Compilable Specifications - XPDays Ukraine 2012
Dmytro Mindra
 
разработка бизнес приложений (6)
Alexander Gornik
 
Проектирование архитектуры приложений
Andrew Mayorov
 
2014-08-02 01 Егор Непомнящих. jWidget - очередной MV*-фреймворк
Омские ИТ-субботники
 
Ad

More from Roman Brovko (20)

PDF
Individual task Networking
Roman Brovko
 
PPTX
Networking essentials lect3
Roman Brovko
 
PPTX
Gl embedded starterkit_ethernet
Roman Brovko
 
PPTX
Networking essentials lect2
Roman Brovko
 
PPTX
Networking essentials lect1
Roman Brovko
 
PPTX
Bare metal training_07_spi_flash
Roman Brovko
 
PPTX
Bare metal training_06_I2C
Roman Brovko
 
PPTX
Glesk worshop
Roman Brovko
 
PPTX
Bare metal training_05_uart
Roman Brovko
 
PPTX
Bare metal training_04_adc_temp_sensor
Roman Brovko
 
PPTX
Bare metal training_03_timers_pwm
Roman Brovko
 
PPTX
Bare metal training_02_le_ds_and_buttons
Roman Brovko
 
PPTX
Bare metal training_01_hello_world
Roman Brovko
 
PPTX
Bare metal training_00_prerequisites
Roman Brovko
 
PPTX
C language lect_23_advanced
Roman Brovko
 
PPTX
C language lect_22_advanced
Roman Brovko
 
PPTX
C language lect_21_advanced
Roman Brovko
 
PPTX
подготовка рабочего окружения
Roman Brovko
 
PPTX
C language lect_20_advanced
Roman Brovko
 
PPTX
C language lect_19_basics
Roman Brovko
 
Individual task Networking
Roman Brovko
 
Networking essentials lect3
Roman Brovko
 
Gl embedded starterkit_ethernet
Roman Brovko
 
Networking essentials lect2
Roman Brovko
 
Networking essentials lect1
Roman Brovko
 
Bare metal training_07_spi_flash
Roman Brovko
 
Bare metal training_06_I2C
Roman Brovko
 
Glesk worshop
Roman Brovko
 
Bare metal training_05_uart
Roman Brovko
 
Bare metal training_04_adc_temp_sensor
Roman Brovko
 
Bare metal training_03_timers_pwm
Roman Brovko
 
Bare metal training_02_le_ds_and_buttons
Roman Brovko
 
Bare metal training_01_hello_world
Roman Brovko
 
Bare metal training_00_prerequisites
Roman Brovko
 
C language lect_23_advanced
Roman Brovko
 
C language lect_22_advanced
Roman Brovko
 
C language lect_21_advanced
Roman Brovko
 
подготовка рабочего окружения
Roman Brovko
 
C language lect_20_advanced
Roman Brovko
 
C language lect_19_basics
Roman Brovko
 

04 - Практика UML. Описание прецедентов

  • 1. WWW.JAVABEGIN.RU WW.JAVABEGIN.RU БЛОК: ПРАКТИКА UMLПРОЕКТИРОВАНИЕ ДЛЯ НАЧИНАЮЩИХ ОПИСАНИЕ ПРЕЦЕДЕНТОВ
  • 2. WWW.JAVABEGIN.RU Заметки • Ответы на вопросы «что», а не «как» • Не нужно изображать, как работает система внутри – только внешние бизнес-процессы со стороны пользователя • Заранее выбрать формат описания и придерживаться его для всего проекта • Простота и понятность – главные требования • Многие сразу бросаются рисовать диаграммы, но лучше сначала описать в виде текста • Часто прецеденты в виде текста более понятны, чем диаграммы прецедентов • На популярные задачи уже существуют готовые «use case», которые можно взять за основу (например: онлайн оплата, авторизация, работа банкомата и пр.)
  • 3. WWW.JAVABEGIN.RU Описание прецедентов • Понятное имя • Краткость – главное понять смысл без технических деталей («что», а не «как») • Заполнять только существующие пункты (пропускать те, которые не требуют заполнения) • Правильное разделения действующих лиц (actor) на главные (инициатор) и второстепенные роли
  • 4. WWW.JAVABEGIN.RU Формат • Подробное описание: • http://alistair.cockburn.us/Basic+use+case+template • Можно выполнять в свободной форме, но лучше по формату
  • 5. WWW.JAVABEGIN.RU Последовательность 1. Описать основные возможности программы (мозговой штурм) – все, что приходит в голову выносить на листочек/доску/файл – не выбирая выражения (корректировка будет позже) – Как вариант – записывать все на диктофон, т.к. бывает, что не все успевают записывать по ходу штурма – Потом спокойно переносить в текст – В конечный use case могут попасть не все пункты 2. Составить из этого единый список без нумерации 3. Разделить по смыслу на группы 4. Выделить сценарии 5. Описать use case
  • 6. WWW.JAVABEGIN.RU Мозговой штурм (это пока не use case) • Не слишком сложное, попроще, чтобы познакомиться с технологиями • Хранение пользователей • Редактирование • Поиск • Удаление • Добавление • Сортировка • Удобное отображение • Горячие клавиши • Удобный интерфейс • Основная информация чтобы сразу была видна • Резиновый дизайн • Это будет локальное приложение или распределенное? • Юзабилити, всплывающие подсказки • Десктоп приложение, не веб • Красивый интерфейс • Можно добавить анимацию, переключения • Индикаторы загрузки • Проверка введенных данных • Маски для ввода • Локализация • Переключение языков «на лету» • … Не нужно бояться что-то пропустить. В итеративной разработке это не страшно, постоянно будем возвращаться. Главное – описать стержень.
  • 7. WWW.JAVABEGIN.RU Разбиваем по смыслу на группы • GUI: – Удобное отображение – Удобный интерфейс – Основная информация чтобы сразу была видна – Резиновый дизайн – Юзабилити, всплывающие подсказки – Красивый интерфейс – Можно добавить анимацию, переключения – Индикаторы загрузки – Горячие клавиши – Проверка введенных данных – Маски для ввода • Процессы: – Хранение пользователей – Редактирование – Поиск – Удаление – Добавление – Сортировка • Дополнительно: – Десктоп приложение, не веб – Это будет локальное приложение или распределенное? – Не слишком сложное, попроще, чтобы познакомиться с технологиями – Переключение языков Отсюда можно брать сценарии
  • 8. WWW.JAVABEGIN.RU Домашнее задание Изучить формат http://alistair.cockburn.us/Basic+use+case+template Установить Visual Use Case http://www.visualusecase.com/download-visual-use-case-personal-f.html • Пройти регистрацию, чтобы снять ограничения