TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.75K subscribers
Post #2437 2.38K
День 2014. #УрокиРазработки
Уроки 50 Лет Разработки ПО

Урок 17. Проектирование — итеративный процесс. Окончание

Начало

Проверка концепции
Прототипы для проверки концепции, также называемые вертикальными прототипами (реализуется часть функциональности от базовых функций до UI), полезны для проверки предлагаемой архитектуры. Экспериментирование с прототипом для проверки концепции — относительно недорогой способ итерации, даже при том, что требует создания некоего действующего ПО. Такие прототипы полезны для оценки технических аспектов проекта: архитектуры, алгоритмов, структуры БД, системных интерфейсов и взаимодействий. С помощью прототипа можно оценить свойства архитектуры, такие как производительность, безопасность, защищённость и надёжность, а затем постепенно улучшать их.

Макеты
Проектирование UI всегда должно выполняться итеративно. Даже следуя принятым соглашениям о UI, вы должны провести хотя бы неформальное тестирование удобства использования, чтобы выбрать подходящие элементы управления и схемы их размещения, обеспечивающие простоту освоения и использования, а также высокую доступность. Например, A/B-тестирование — подход, при котором вы предоставляете пользователям два альтернативных интерфейса и даете им возможность выбрать наиболее удобный для них. Люди, которые проводят A/B-тестирование, могут наблюдать за поведением пользователей с помощью различных подходов и определять, какой вариант понятнее или быстрее приводит к успешным результатам. Проводить такие эксперименты проще, быстрее и дешевле, находясь на этапе изучения дизайна, чем после доставки решения клиентам, реагируя на их жалобы или на более низкую, чем ожидалось, частоту щелчков на веб-странице.

Как и в случае с требованиями, проектирование UI продвигается успешнее при постепенном уточнении деталей с помощью прототипирования. С этой целью можно создавать макеты, также называемые горизонтальными прототипами, поскольку они представляют собой тонкий слой UI без какой-либо функциональной основы под ним. Макетами могут быть и простые эскизы экрана, и действующие интерфейсы, которые выглядят аутентично, но не выполняют никакой реальной работы. Ценны даже простые бумажные прототипы — их можно быстро создавать и изменять. Вы можете использовать текстовый редактор или даже каталожные карточки, чтобы разместить элементы данных в прямоугольных областях, представляющих потенциальные экраны, посмотреть, как они соотносятся друг с другом, и отметить, какие из них принимают ввод пользователя, а какие отображают результаты. Но при прототипировании UI остерегайтесь следующих ловушек.

1. Не тратьте слишком много времени на совершенствование UI («Может, для этого текста лучше выбрать темно-красный цвет?») до того, как организуете информацию и элементы управления на экране и создадите функциональные макеты.

2. Клиенты или руководители могут подумать, что ПО почти готово, увидев удобный и красивый UI, даже если за ним нет ничего, кроме имитации функциональности. Менее изысканный прототип показывает, что ПО ещё не готово.

3. Не стремитесь подсказывать, как правильно действовать, тем, кто оценивает прототип и пытается выполнить неочевидную для них задачу. Вы не сможете судить об удобстве использования, помогая участникам тестирования изучать и применять прототип.

Если вы не потратили время на итеративное изучение UI и техническое проектирование до реализации, то рискуете создать продукт, который не понравится клиентам. Бездумно спроектированные продукты раздражают клиентов, вынуждают их неэффективно тратить своё время, подрывают их хорошее отношение к вашему продукту и компании и заставляют писать негативные отзывы. Потратив чуть больше времени на проектирование, вы значительно приблизитесь к созданию полезного и удобного решения.

Источник: Карл Вигерс “Жемчужины Разработки”. СПб.: Питер, 2024. Глава 3.
  • 👍 10
More from @netdeveloperdiary
  1. Oct 7, 2026День 2807. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Окончание Нач…
  2. Oct 6, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  3. Oct 6, 2026День 2806. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Начало Больши…
  4. Oct 5, 2026День 2805. #ЧтоНовенького #NET11 Аргументы в Выражениях Коллекций в C#15 В C#15 реализован…
  5. Oct 4, 2026День 2804. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  6. Oct 3, 2026Post #3360
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →