💀
Второй курс РПО
Язык UML
Язык UML
  • Сложности при разработке программного обеспечения
  • Почему появилось ООП и в чём его смысл?
  • Как программировали до ООП и почему это стало проблемой?
  • Как появился ООП и почему он спас программирование
  • Как планировать код до его написания: ООАП
  • Системный анализ и моделирование: как понимать сложные системы
  • Что такое объекты?
  • Экскурс в Диаграммы
  • История развития языка UML
  • 56-я Практическая
  • Диаграмма развёртывания
  • Диаграмма сотрудничества
  • Паттерны - что это?
  • Для второкурсников
Powered by GitBook
On this page

Сложности при разработке программного обеспечения

04.02.2025

NextПочему появилось ООП и в чём его смысл?

Last updated 3 months ago

Сложности при разработке программного обеспечения

Современные программы становятся настолько сложными, что без продвинутых методов их уже просто не сделать нормально. Речь не только о том, что они растут в размерах и функционале. Настоящий хаос начинается, когда пользователи вдруг решают: «А давайте всё переделаем!», а разработчики вынуждены ломать голову, как всё это провернуть без полного краха проекта.

К тому же требования к качеству софта постоянно повышаются: программа должна быть не просто рабочей, но ещё и удобной, быстрой, безопасной, не жрущей кучу ресурсов и легко обновляемой.

Традиционные методы борьбы со сложностью

Чтобы не утонуть в этом хаосе, разработчики пытались разруливать сложность классическими способами:

  • Добавлять больше людей в команду – но чем больше разработчиков, тем больше путаницы. Когда все начинают вносить правки в код, его становится сложнее сливать в единую рабочую версию.

  • Делить работу между специалистами – кто-то пишет код, кто-то тестирует, кто-то рисует интерфейс. Но когда надо собрать всё это вместе, выясняется, что оно работает не так, как планировалось.

  • Разделять систему на части – вроде бы логично: каждому свой кусочек кода. Но если эти кусочки плохо связаны между собой, начинается ад с багами и долгими правками.

Эти методы не спасли – наоборот, иногда только усложнили жизнь, потому что появилось больше проблем с координацией и тестированием.

ООП: шаг вперёд, но не панацея

Потом появился объектно-ориентированный подход (ООП), который сделал разработку чуть более осмысленной.

ООП (объектно-ориентированное программирование) – это когда программа строится не из кучи разрозненного кода, а из объектов, каждый из которых отвечает за что-то своё. Например, кнопка на сайте – это объект, у неё есть свойства (цвет, размер) и методы (что происходит при нажатии).

ООП дало разработчикам три больших плюса:

  • Более понятная структура – код стал логичнее, его проще читать и дорабатывать.

  • Повторное использование кода – один объект можно юзать в разных частях программы.

  • Ближе к реальному миру – проще моделировать сложные системы, потому что всё в коде работает как в жизни.

Представьте, что вам надо построить город. В старых методах программирования вы бы вручную рисовали каждое здание. В ООП же вы просто создаёте один объект «дом» и копируете его, меняя детали. Удобно же?

Но, увы, ООП не решило всех проблем. Разработчики всё ещё сталкиваются с:

  • Недопониманием между заказчиками и программистами – одни говорят на человеческом языке, другие на языке кода, в итоге требования переделываются по 10 раз.

  • Вечными изменениями – пока ты пишешь код, заказчик уже придумал новую «гениальную» идею.

  • Сложностью контроля – в больших проектах иногда невозможно предсказать, что сломается после очередного обновления.

  • Спорными стандартами качества – как понять, что программа хороша? У всех свои критерии.

Чтобы хоть как-то навести порядок, нужен чёткий язык моделирования, который поможет всем участникам проекта говорить на одном языке. Для этого и придумали UML (Unified Modeling Language, унифицированный язык моделирования) – инструмент, который делает проектирование ПО понятным, логичным и предсказуемым.