
Архитектура программного обеспечения - Мэтью Басс
содержание видео
Дата: 2022-05-15
Похожие видео
Комментарии и отзывы: 4
Олег
НА самом деле всё, о чем он говорит понятно. НО. Я думаю это понятно только тем, кто изучает архитектуру ПО. Я работаю в собственной компании в должности архитектора программного обеспечения, хотел бы немного дополнить и возможно добавить точек зрения:
Для начала я бы описал что такое архитектура очень просто: это такие решения, которые если принять неправильно - то проект будет провален. В аналогии коллеги - если для дома неверно рассчитать сопромат фундамента - то дом будет провален - буквально =) И проект дома - -провален-.
Далее я бы хотел еще скорректировать - по рассказу коллеги может создаться впечатление, что архитектура - это про высокие нагрузки, большое кол-во пользователей в системе, но по факту есть различные классы систем. Сильно нагруженных систем не так много. Например в СНГ это что? Яндекс, мейл ру, рамблер. короче популярные компании, они у всех наслуху (отсюда и нагрузки. А компаний вообще в СНГ сотни миллионов. И достаточно важное направление в архитектуре систем - это архитектура решений для компании. Там может и не быть сильных нагрузок, к примеру программа может быть для нескольких отделов, суммарно в пару сотен человек (это супер-мало по меркам ИТ. Архитектор там нужен не для нагрузок, а для построения ООООЧЕНЬ сложной логики взаимосвязей между людьми и отделами. Нагруженное приложение может иметь логику, которую можно объяснить ребенку. А корпоративное может иметь сотни сущностей (пользователь, отдел, доступы, должность, иерархические зависимости, найм, продажа, склад, продукт, тариф. тысячи их. Аналогия: архитектору нужно построить не небоскрёб, а простое двухэтажное здание без каких то особых нагрузок и не важно с каким дизайном, никакие опоры не испортят концепт, т. к. внешность не важна. Но важна функция, потому что в это двухэтажном здании будет размещаться компания на 1000 человек, поделенная на 13 отделов, которые должны общаться между собой, обмениваться предметами, водить клиентов\инвесторов и т. д. по её коридорам и логистика интерьера невероятно важна. Иногда такого рода задачи могут быть сложнее построения небоскрёба.
Ну и надо добавить, что архитектор в ИТ - достаточно редкая профессия, потому что очень высоко оплачивается и банально у большинства проектов нет желания тратить деньги на какого то дядьку, от которого всего то зависит - принесет им проект деньги или нет.
Тему в 10 минут видео раскрыть невозможно, архитектор объединяет в себе область знаний программирования, администрирования, управления проектами, управления командой, продаж. Нет, это не значит что он кодит, продаёт, управляет и так далее. Он только проектирует архитектуру. Но само проектирование архитектуры требует знаний из различных областей и чем больше комплекс этих областей - тем лучше архитектор справится с поставленной задачей.
Так же хотелось бы отделить архитектора от эксперта в предметной области. Эксперт в предметной области знает, как устроено его направление. К примеру, если проектируется система для автоматизации документооборотом в компании, архитектор берет некоторые ключевые знания у другого эксперта - зачастую представителя компании. Архитектор формализует эти знания, но ответственность за область решения проблемы несет именно эксперт в предметной области.
Архитектуру часто ставят превыше всего, будто на ней сходится клином весь ИТ и бизнес. Однако, на самом деле архитектора много чего ограничивает. -Сверху- поступают требования к системе и бюджет, снизу есть ресурсы производства. И тут нет какого то бесконечно-свободного творчества. Тут тяжелый труд и комплексные знания.
ответить
НА самом деле всё, о чем он говорит понятно. НО. Я думаю это понятно только тем, кто изучает архитектуру ПО. Я работаю в собственной компании в должности архитектора программного обеспечения, хотел бы немного дополнить и возможно добавить точек зрения:
Для начала я бы описал что такое архитектура очень просто: это такие решения, которые если принять неправильно - то проект будет провален. В аналогии коллеги - если для дома неверно рассчитать сопромат фундамента - то дом будет провален - буквально =) И проект дома - -провален-.
Далее я бы хотел еще скорректировать - по рассказу коллеги может создаться впечатление, что архитектура - это про высокие нагрузки, большое кол-во пользователей в системе, но по факту есть различные классы систем. Сильно нагруженных систем не так много. Например в СНГ это что? Яндекс, мейл ру, рамблер. короче популярные компании, они у всех наслуху (отсюда и нагрузки. А компаний вообще в СНГ сотни миллионов. И достаточно важное направление в архитектуре систем - это архитектура решений для компании. Там может и не быть сильных нагрузок, к примеру программа может быть для нескольких отделов, суммарно в пару сотен человек (это супер-мало по меркам ИТ. Архитектор там нужен не для нагрузок, а для построения ООООЧЕНЬ сложной логики взаимосвязей между людьми и отделами. Нагруженное приложение может иметь логику, которую можно объяснить ребенку. А корпоративное может иметь сотни сущностей (пользователь, отдел, доступы, должность, иерархические зависимости, найм, продажа, склад, продукт, тариф. тысячи их. Аналогия: архитектору нужно построить не небоскрёб, а простое двухэтажное здание без каких то особых нагрузок и не важно с каким дизайном, никакие опоры не испортят концепт, т. к. внешность не важна. Но важна функция, потому что в это двухэтажном здании будет размещаться компания на 1000 человек, поделенная на 13 отделов, которые должны общаться между собой, обмениваться предметами, водить клиентов\инвесторов и т. д. по её коридорам и логистика интерьера невероятно важна. Иногда такого рода задачи могут быть сложнее построения небоскрёба.
Ну и надо добавить, что архитектор в ИТ - достаточно редкая профессия, потому что очень высоко оплачивается и банально у большинства проектов нет желания тратить деньги на какого то дядьку, от которого всего то зависит - принесет им проект деньги или нет.
Тему в 10 минут видео раскрыть невозможно, архитектор объединяет в себе область знаний программирования, администрирования, управления проектами, управления командой, продаж. Нет, это не значит что он кодит, продаёт, управляет и так далее. Он только проектирует архитектуру. Но само проектирование архитектуры требует знаний из различных областей и чем больше комплекс этих областей - тем лучше архитектор справится с поставленной задачей.
Так же хотелось бы отделить архитектора от эксперта в предметной области. Эксперт в предметной области знает, как устроено его направление. К примеру, если проектируется система для автоматизации документооборотом в компании, архитектор берет некоторые ключевые знания у другого эксперта - зачастую представителя компании. Архитектор формализует эти знания, но ответственность за область решения проблемы несет именно эксперт в предметной области.
Архитектуру часто ставят превыше всего, будто на ней сходится клином весь ИТ и бизнес. Однако, на самом деле архитектора много чего ограничивает. -Сверху- поступают требования к системе и бюджет, снизу есть ресурсы производства. И тут нет какого то бесконечно-свободного творчества. Тут тяжелый труд и комплексные знания.
ответить
Co.
не раз уже с этим сталкивался - люди, считающие себя программистами живут в изолированном мире. Вот и здесь, человек не имеет представления о строительстве вообще, пытается кому-то и для чего-то объяснить свои задачи на примерах, которые он не понимает и не знает сути их. Вот и получается замкнутый мир - разговор для себя самого. Интересно, как он решает прикладные задачи. Хотя узнав, что он занимает место профессора, понимаю, что для этого у него есть окружение практиков--переводчиков-
ответить
не раз уже с этим сталкивался - люди, считающие себя программистами живут в изолированном мире. Вот и здесь, человек не имеет представления о строительстве вообще, пытается кому-то и для чего-то объяснить свои задачи на примерах, которые он не понимает и не знает сути их. Вот и получается замкнутый мир - разговор для себя самого. Интересно, как он решает прикладные задачи. Хотя узнав, что он занимает место профессора, понимаю, что для этого у него есть окружение практиков--переводчиков-
ответить
brmn3000
Господа. К моему большому сожалению в настоящее время архитектура программных систем не является научной дисциплиной. Пока что это в лучшем случае ремесло, в худшем - исскусство. Но отнюдь не инженерная дициплина и уж тем более не научный метод. Поэтому дяденька говорит правильные вещи, к сожалению, имеющие к реальности сравнительно небольшое отношение.
Но некоторое представление о сложности проблемы, тем не менее, можно почерпнуть, за что докладчику большое спасибо.
ответить
Господа. К моему большому сожалению в настоящее время архитектура программных систем не является научной дисциплиной. Пока что это в лучшем случае ремесло, в худшем - исскусство. Но отнюдь не инженерная дициплина и уж тем более не научный метод. Поэтому дяденька говорит правильные вещи, к сожалению, имеющие к реальности сравнительно небольшое отношение.
Но некоторое представление о сложности проблемы, тем не менее, можно почерпнуть, за что докладчику большое спасибо.
ответить
Vlad
Показательно: более двух минут человек просто пытается объяснить о чем идёт речь. Я бы, может быть, посмеялся, но как-то раз в одной глухой деревне на самом севере амурской области я пытался объяснить одному пожилому человеку что значит моя профессия - программист. У меня ничего не получилось тогда. Я просто даже не думал что могу столкнуться с такой проблемой.
ответить
Показательно: более двух минут человек просто пытается объяснить о чем идёт речь. Я бы, может быть, посмеялся, но как-то раз в одной глухой деревне на самом севере амурской области я пытался объяснить одному пожилому человеку что значит моя профессия - программист. У меня ничего не получилось тогда. Я просто даже не думал что могу столкнуться с такой проблемой.
ответить
Добавить отзыв, комментарий
Другие видео канала















