Дневник сертифицированного .NET разработчика. Заметки, советы, новости из мира .NET и C#.
Для связи: @SBenzenko
Поддержать канал:
- https://boosty.to/netdeveloperdiary
- https://patreon.com/user?u=52551826
- https://pay.cloudtips.ru/p/70df3b3b
Post #2443
2.65K
День 2019. #УрокиРазработки
Уроки 50 Лет Разработки ПО
Урок 18. Чем выше уровень абстракции, тем проще выполнять итерации. Начало
Один из способов усовершенствовать проект — несколько раз создать продукт целиком, улучшая его с каждым циклом. Но это непрактично. Другой способ — реализовывать решение постепенно, добавляя сначала сложные или малопонятные части и определяя, какие подходы дают наилучший результат. Также можно сначала построить операционную часть системы, чтобы пользователи могли работать с ней и оставлять отзывы, на основе которых можно делать последующие расширения.
Этот поэтапный подход помогает получить от пользователя информацию о чём-то осязаемом и скорректировать работу, чтобы лучше удовлетворить потребности клиентов. Вы можете обнаружить, что первоначальный проект соответствует первичной реализации продукта, но сдерживает его дальнейшее развитие. Можете обнаружить, что команда недостаточно хорошо продумала проект, торопясь выпустить рабочее ПО, и теперь назрела необходимость пересмотреть те решения. Устранение недостатков проектирования архитектуры и БД часто требует больших затрат. Поэтому поспешная реализация на первых нескольких итерациях и отсутствие тщательного изучения технических основ могут привести к болезненным последствиям для команды.
Общее у всех трёх стратегий - создание действующего ПО для оценки идей. Поэтому поэтапное совершенствование проектного решения протекает относительно медленно и обходится дорого. Вы можете переделывать созданное несколько раз, чтобы получить подходящий проект.
Альтернативный подход — выполнение итераций на более высоком уровне абстракции, чем ПО. Проектное моделирование обеспечивает менее дорогую альтернативу.
Как для выявления требований, так и для проектирования большое значение имеет рисование схем, представляющих различные аспекты системы, и их последующее поэтапное уточнение. Схему изменить проще, чем код.
Модели не отображают мельчайших деталей реального продукта, но помогают визуально представить, как эти части сочетаются друг с другом. Диаграммы, безусловно, могут стать запутанными, когда речь идёт о сложных системах. Но сам этот факт является сильным аргументом в пользу использования методов, помогающих понять концептуальную сложность и управлять ею.
Упрощение итераций
Моделирование позволяет быстро исследовать несколько вариантов и разработать лучший проект, чем тот, который можно создать с первой попытки. Имейте в виду, что вам не нужно создавать идеальные модели. Вы также не должны моделировать всю систему — достаточно смоделировать только особенно сложные или неопределённые части. Инструменты построения диаграмм упрощают итеративное улучшение, но при этом легко попасть в бесконечный цикл попыток усовершенствовать модель.
Визуальные модели — это средства коммуникации, способы представления знаний и обмена ими. Важно говорить на одном языке. Поэтому при моделировании требований или проекта используйте общепринятые обозначения. Предлагаемую системную архитектуру можно смоделировать в виде простой блок-схемы, но элементы проекта более низкого уровня требуют применения специализированных символов. Наиболее популярным выбором для ООП является унифицированный язык моделирования (Unified Modeling Language, UML). Чтобы исследовать, улучшать и документировать свои идеи, а также делиться ими с другими, используйте готовый стандарт, такой как UML, а не изобретайте собственные обозначения, которые могут быть непонятны другим. Моделирование не может полностью заменить создание прототипов, но любой метод, упрощающий просмотр и изменение проекта на высоком уровне абстракции, поможет вам создавать более качественные продукты.
Окончание следует…
Источник: Карл Вигерс “Жемчужины Разработки”. СПб.: Питер, 2024. Глава 3.
Уроки 50 Лет Разработки ПО
Урок 18. Чем выше уровень абстракции, тем проще выполнять итерации. Начало
Один из способов усовершенствовать проект — несколько раз создать продукт целиком, улучшая его с каждым циклом. Но это непрактично. Другой способ — реализовывать решение постепенно, добавляя сначала сложные или малопонятные части и определяя, какие подходы дают наилучший результат. Также можно сначала построить операционную часть системы, чтобы пользователи могли работать с ней и оставлять отзывы, на основе которых можно делать последующие расширения.
Этот поэтапный подход помогает получить от пользователя информацию о чём-то осязаемом и скорректировать работу, чтобы лучше удовлетворить потребности клиентов. Вы можете обнаружить, что первоначальный проект соответствует первичной реализации продукта, но сдерживает его дальнейшее развитие. Можете обнаружить, что команда недостаточно хорошо продумала проект, торопясь выпустить рабочее ПО, и теперь назрела необходимость пересмотреть те решения. Устранение недостатков проектирования архитектуры и БД часто требует больших затрат. Поэтому поспешная реализация на первых нескольких итерациях и отсутствие тщательного изучения технических основ могут привести к болезненным последствиям для команды.
Общее у всех трёх стратегий - создание действующего ПО для оценки идей. Поэтому поэтапное совершенствование проектного решения протекает относительно медленно и обходится дорого. Вы можете переделывать созданное несколько раз, чтобы получить подходящий проект.
Альтернативный подход — выполнение итераций на более высоком уровне абстракции, чем ПО. Проектное моделирование обеспечивает менее дорогую альтернативу.
Как для выявления требований, так и для проектирования большое значение имеет рисование схем, представляющих различные аспекты системы, и их последующее поэтапное уточнение. Схему изменить проще, чем код.
Модели не отображают мельчайших деталей реального продукта, но помогают визуально представить, как эти части сочетаются друг с другом. Диаграммы, безусловно, могут стать запутанными, когда речь идёт о сложных системах. Но сам этот факт является сильным аргументом в пользу использования методов, помогающих понять концептуальную сложность и управлять ею.
Упрощение итераций
Моделирование позволяет быстро исследовать несколько вариантов и разработать лучший проект, чем тот, который можно создать с первой попытки. Имейте в виду, что вам не нужно создавать идеальные модели. Вы также не должны моделировать всю систему — достаточно смоделировать только особенно сложные или неопределённые части. Инструменты построения диаграмм упрощают итеративное улучшение, но при этом легко попасть в бесконечный цикл попыток усовершенствовать модель.
Визуальные модели — это средства коммуникации, способы представления знаний и обмена ими. Важно говорить на одном языке. Поэтому при моделировании требований или проекта используйте общепринятые обозначения. Предлагаемую системную архитектуру можно смоделировать в виде простой блок-схемы, но элементы проекта более низкого уровня требуют применения специализированных символов. Наиболее популярным выбором для ООП является унифицированный язык моделирования (Unified Modeling Language, UML). Чтобы исследовать, улучшать и документировать свои идеи, а также делиться ими с другими, используйте готовый стандарт, такой как UML, а не изобретайте собственные обозначения, которые могут быть непонятны другим. Моделирование не может полностью заменить создание прототипов, но любой метод, упрощающий просмотр и изменение проекта на высоком уровне абстракции, поможет вам создавать более качественные продукты.
Окончание следует…
Источник: Карл Вигерс “Жемчужины Разработки”. СПб.: Питер, 2024. Глава 3.
- 👍 9