Разработка ПО. Введение в специальность 3. Требования
DESCRIPTION
Третья часть из серии обзорных лекций про промышленную разработку ПО студентам первых курсов УрФУ. Работа с требованиями.TRANSCRIPT
Супер-способность:
не хвататься за клавиатуру
сразу!
Собрать требования к продукту
Спроектировать интерфейс
Спроектировать
архитектуру
Стоимость исправления ошибки
Требования Интерфейсы Архитектура Код0
1
2
3
4
5
6
7
8
9
10
Стоимость разработки
Подготовка50%
Кодирование
20%
Тестирование
30%
Как собиратьи фиксировать требования?
Joel Spolsky Функциональные спецификации малой кровью Подкаст u http://habrahabr.ru/post/64608/
eng: http://www.scrumalliance.org/articlesrus: http://blog.scrumtrek.ru/
Доклады: http://www.req-labs.ru/
…500+ страниц каждая…
Как собиратьи фиксировать требования?
Самое простоеuser-story
User Storyтипичная история из жизни пользователя
После трудной недели, Петя проспал целых 20 часов. Разлепив глаза, он открыл Твиттер и начал читать накопившиеся за это время новости
Позиционировать в ленте на последнем прочитанном
сообщении
После трудной недели, Петя проспал целых 20 часов. Разлепив глаза, он открыл Твиттер и начал читать накопившиеся за это время новости
Позиционировать в ленте на последнем прочитанном
сообщении
Прочитав непонятный ответ, Петя решил перечитать всю беседу, чтобы вспомнить, о чем речь
Загружать беседу сразу при
открытии твита
Прочитав непонятный ответ, Петя решил перечитать всю беседу, чтобы вспомнить, о чем речь
Загружать беседу сразу при
открытии твита
Увидев интересную ссылку, Петя решил открыть ее в браузере.Но из-за медленного интернета, оставив браузер открывать ссылку, вернулся обратно читать твиттер
Сделать кнопку «Открыть в фоне» / «Прочитать
позже»
Удачные User story помогают
формулировать требования
На что ещё годятся User Stories?
User Stories с приоритетами — это и есть план!
Прогон user story при тестировании помогает
вскрывать проблемы
При должном старании можно
сформулировать сотни User Stories!
«Эпик» — цель пользователя
• Петя продвигает сайт через twitterДля этого он фоловит, отвечает, ищет, пишет, ставит кнопки на сайт…
• Катя следит за жизнью супер-звездДля этого она читает, смотрит фотки, ходит по ссылкам
User Story — важные жизненные истории,
вскрывающие требованияпомогающие планировать
и тестировать
Обрастают детальными требованиями
и группируются в Эпики
Пользовательские интерфейсы
часто применяется при проектировании
пользовательских интерфейсов
Прототипирование— быстрая проверка идеи
Прототип на бумаге
Прототип на доске
Черновики в блокнотике
http://www.balsamiq.com/
Прототипирование интерфейса вместе с потенциальным пользователем
Проверено, отлично работает!
Впрочем, не только с интерфейсами
Тестирование прототипа:Найти потенциального
пользователяПодготовить “ задачи”
Замечать все затруднения у пользователя!
Пример: http://www.youtube.com/watch?v=9wQkLthhHKA
Курс «Проектирование пользовательских интерфейсов»
от СКБ Контур
следите за объявлениями!
С чего начать«Дизайн пользовательского интерфейса» Влад Головач«Не заставляйте меня думать» Стив Круг«Психбольница в руках пациентов» Алан Купер
В сетиФреш: новости мира юзабилити — http://fresh.gui.ru/Советы Бюро Горбунова — http://artgorbunov.ru/bb/soviet/Дизайн-собака — http://design.artgorbunov.ru/Ководство — http://www.artlebedev.ru/kovodstvo/sections/
Сложная структура или логика
лучше описать
словамиили
картинками!
Сложная логика смены состояний
Диаграмма переходов конечного автомата
Взаимодействие нескольких участников
Диаграмма последовательности
Данные, сущности, связи
ERM диаграмма
Пользователь
имя email
Организация
названиеадресОГРНИНН
Лицевой счёт
номербаланс
0 .. N 1
11 .. N
.. N
Модули и зависимости
Database
add, deletefind, enumerate
Main Window
show
Robot Crawler
findAllEmailsOnPage(Url)
сохраняетнайденное
Получает данные для отображения
MySQLRepository
MainWindow
Repository
AddDeleteFindEnumerate
InMemoryRepository
Диаграмма классов
UML Unified Modeling Language
…721 страница…
Вопросы?
http://vk.com/kontur_edu