День 2004. #УрокиРазработки
Уроки 50 Лет Разработки ПО
Проектирование. Начало
Если цель выявления требований состоит в определении характеристик, которыми должны обладать решения, то суть проектирования — в разработке этих решений. Однако между требованиями и проектным решением не чёткая граница, а размытая серая зона. Во время исследования требований полезно предпринять некоторые предварительные действия в области проектирования, например создать прототипы. Пользователи, взаимодействующие с прототипом, часто замечают, что это проясняет их мышление и способствует появлению новых идей, поскольку прототип более осязаем, чем абстрактный список требований.
Суть проектирования ПО в том, чтобы связать требования с фрагментами кода, но переход даже от чётко описанных требований к конкретным элементам проектного решения не является ни простым, ни очевидным. Одни виды деятельности, например проектирование БД, носят систематический и аналитический характер. Другие более органичны: проектное решение выкристаллизовывается постепенно, по мере того как разработчики исследуют переход от задачи к решению. А проектирование UX/UI включает художественно-творческие подходы, основанные на глубоком понимании человеческого фактора.
Виды проектирования ПО
- архитектурное,
- техническое (низкоуровневое),
- проектирование БД,
- проектирование UX/UI.
В каждом есть многочисленные ограничения: требования совместимости с другими продуктами, применимые стандарты, технологические ограничения, бизнес-политики и правила, ограничения по стоимости и ресурсам и т.п. Ограничения усложняют проектирование, сообщая разработчикам, чего они не могут делать, точно так же как требования диктуют, что должна делать реализация.
1. Архитектурное проектирование
Определяет структуру системы и её компоненты, или архитектурные элементы. Элементы состоят из модулей кода, которые могут быть объединены в несколько взаимосвязанных подсистем в крупном продукте. Архитектурное проектирование предусматривает разделение системы на компоненты, определение обязанностей каждого компонента и назначение конкретных требований соответствующим компонентам, а также определение интерфейсов между компонентами.
2. Техническое проектирование
Проработка логической структуры отдельных компонентов (модулей, классов и их методов, сценариев и т. д.) и деталей интерфейсов между модулями, разработка алгоритмов.
3. Проектирование БД
На этом этапе определяются сущности и отношения между ними, а также элементы данных каждой сущности, их типы, свойства и логические связи, определяются CRUD (create, read, update, delete) процедуры.
4. Проектирование UX/UI
Проектирование пользовательского опыта само по себе является обширной дисциплиной. Архитектура пользовательского интерфейса определяет диалоговые элементы (точки взаимодействия пользователя с системой) и пути навигации между ними, повторяющие сценарии решения пользовательских задач. При техническом проектировании UI учитывается специфика взаимодействий пользователя с продуктом, в том числе продумываются эскизы экрана, внешний вид, элементы управления и свойства отдельных текстовых блоков, графики, поля ввода и экраны вывода результатов. Оба этапа проектирования UI — архитектурное и техническое — определяют воспринимаемую пользователем простоту обучения и использования или в совокупности — удобство использования (UX).
Окончание следует…
Источник: Карл Вигерс “Жемчужины Разработки”. СПб.: Питер, 2024. Глава 3.
Post #2426
2.31K
- 👍 2