Ивар Якобсон

Ивар Якобсон: Инженер, который спроектировал программное обеспечение

В 1967 году молодой шведский инженер, работавший над телефонными станциями в компании Ericsson, нуждался в способе показать, как сообщения передаются между частями коммутатора. Он нарисовал участников в верхней части страницы и позволил времени течь вниз, при этом каждое сообщение было стрелкой, идущей от одной вертикальной линии к другой. Этот эскиз теперь называется диаграммой последовательности, и его версии висят на досках почти в каждой компании по разработке программного обеспечения на Земле. Ивар Якобсон потратил следующие шесть десятилетий на изобретение способов сделать невидимую структуру программного обеспечения видимой.

Истад, Чалмерс, Ericsson

Ивар Ялмар Якобсон (Ivar Hjalmar Jacobson) родился 2 сентября 1939 года в Истаде, на южной оконечности Швеции. Он получил степень магистра электротехники в Технологическом институте Чалмерса (Chalmers Institute of Technology) в Гетеборге в 1962 году и присоединился к отделу исследований и разработок Ericsson, где проработал двадцать пять лет, ставших определяющими для его карьеры. Позже, в 1985 году, он получил докторскую степень в Королевском технологическом институте (Royal Institute of Technology) в Стокгольме с диссертацией под названием Языковые конструкции для больших систем реального времени (Language Constructs for Large Real Time Systems) — название, которое точно описывает проблему всей его жизни.

Ericsson в ту эпоху строила AKE, а затем AXE, компьютеризированную телефонную станцию, которая стала знаковым продуктом компании и была запрограммирована на внутреннем языке под названием PLEX. Телефонная станция — это суровая инженерная среда: она должна работать непрерывно годами, обрабатывать тысячи одновременных разговоров и модифицироваться без отключения питания. Проблемы с программным обеспечением, с которыми Якобсон столкнулся там, не были академическими упражнениями.

Компоненты, до появления термина

Его первая структурная идея в 1967 году заключалась в том, чтобы построить коммутатор из компонентов — отдельно заданных блоков программного обеспечения с определенными интерфейсами, которые можно было разрабатывать, тестировать и заменять независимо, а не вплетать в единую монолитную программу. Сейчас это обычная практика. В то время это было настолько необычно, что требовало доказательств. Его собственная фирма описывает получившуюся архитектуру Ericsson как величайшую историю коммерческого успеха в истории Швеции, что является предвзятым заявлением заинтересованного источника, но глобальный охват системы AXE делает основной тезис труднооспоримым.

Наряду с компонентами появились обозначения: диаграммы последовательности, диаграммы сотрудничества и диаграммы переходов состояний для описания того, как сообщения на самом деле перемещаются. Якобсон также помог разработать SDL (язык спецификаций и проектирования, Specification and Design Language), который стал стандартом индустрии телекоммуникаций в 1976 году.

БЕСПЛАТНЫЙ ТЕСТ
А какой у вас?

Двадцать вопросов, восемь минут на часах и процентиль, измеренный по всем, кто его проходил. Без регистрации.

Пройти тест IQ →

Вариант использования (Use Case)

В 1986 году Якобсон изобрел идею, которой он наиболее известен. До появления вариантов использования требования к программному обеспечению обычно записывались в виде списков — система должна делать это, система должна также делать то — без явной связи между элементами и без возможности проверить, является ли список полным или было ли создано что-то для его выполнения.

Вариант использования переворачивает перспективу. Он описывает систему извне, как полное взаимодействие между действующим лицом (человеком или другой системой) и программным обеспечением, от триггера до результата, ценного для этого действующего лица. Снятие наличных. Бронирование места. Восстановление прерванного звонка. Каждый вариант — это история с началом, серединой, альтернативными путями, когда что-то идет не так, и определенным концом. Следствие этого скорее практическое, чем философское: поскольку вариант использования — это цепочка поведения, его можно отследить. Одна и та же цепочка проходит через анализ, проектирование, код и тестирование, поэтому команда может сказать, для чего нужен фрагмент кода и действительно ли работает то, что просил клиент.

Он основал Objective Systems в апреле 1987 года для коммерциализации метода; Ericsson приобрела контрольный пакет акций в 1991 году, и фирма стала называться Objectory AB. В 1992 году он опубликовал Объектно-ориентированная разработка программного обеспечения: подход, основанный на вариантах использования (Object-Oriented Software Engineering: A Use Case Driven Approach) — книгу, которая вывела варианты использования в более широкую индустрию.

Три мушкетера

В октябре 1995 года Ericsson продала Objectory компании Rational Software, и Якобсон присоединился к Грейди Бучу (Grady Booch) и Джеймсу Рамбо (James Rumbaugh) — трем конкурирующим методологам с тремя конкурирующими обозначениями, известных коллективно и с легкой усталостью как «Три мушкетера» (Three Amigos). Их слияние породило унифицированный язык моделирования (UML), стандартный визуальный словарь для описания объектно-ориентированных систем, а процесс Objectory Якобсона под руководством Филиппа Кручтена (Philippe Kruchten) развился в унифицированный процесс Rational (RUP). Когда IBM купила Rational в 2003 году, Якобсон ушел.

Сделать его легче

Все, что было после 2004 года, было попыткой избавиться от тяжести того, что он построил. Он основал Ivar Jacobson International в середине 2004 года. В ноябре 2005 года он анонсировал Essential Unified Process, который он описал как сверхлегкую и гибкую версию RUP, сочетающую унифицированный процесс, гибкие методы (Agile) и идеи улучшения процессов; с 2006 года он работал с Иэном Спенсом (Ian Spence) и Пэн Вэй Нг (Pan Wei Ng) над EssWork, фреймворком, позволяющим командам собирать свои собственные методы из небольшого ядра универсальных элементов плюс выбранных практик.

В ноябре 2009 года он запустил SEMAT (метод и теория разработки программного обеспечения, Software Engineering Method and Theory) вместе с Бертраном Мейером (Bertrand Meyer) и Ричардом Соли (Richard Soley), утверждая, что разработке программного обеспечения нужна подлинная теоретическая основа вместо череды модных методов. Результат, Essence, был принят в качестве стандарта Object Management Group в ноябре 2014 года. Он также работал над аспектно-ориентированной разработкой, опубликовав Аспектно-ориентированная разработка программного обеспечения с вариантами использования (Aspect-Oriented Software Development with Use Cases) с Пэн Вэй Нг в 2004 году, и основал Jaczone AB вместе с Агнетой Якобсон (Agneta Jacobson) в 2000 году, чей инструмент Waypointer получил премию JOLT в 2004 году.

Почему Ивара называют гением

Специфическая способность заключается в нотации: Якобсон неоднократно находил представление, которое делало неразрешимую проблему мыслимой. Диаграммы последовательности, варианты использования и интерфейсы компонентов — это один и тот же прием: взять то, что существует только как запутанное поведение внутри работающей системы, и придать этому форму, которую человек может удержать в уме, а команда может обсудить. Это более редкий талант, чем изобретение алгоритма, потому что хорошая нотация должна быть одновременно достаточно точной для инженеров и достаточно простой для клиента, оплачивающего работу. Варианты использования преуспели, потому что они были тем и другим. Он сделал это изнутри индустриальной практики, а не из университета, и именно поэтому идеи выжили после контакта с реальными проектами.

Честное возражение существенно, и он, вероятно, согласился бы с большинством из них. Он один из трех авторов UML, а сам UML широко критикуется как комитетский продукт, который раздулся и теперь используется гораздо более избирательно, чем предполагали его создатели. RUP, производный от его Objectory, стал синонимом тяжеловесного процесса — того самого, против которого организовалось гибкое движение — и Якобсон потратил два десятилетия с 2004 года на создание более легких фреймворков в качестве прямого ответа на это. Варианты использования были частично вытеснены в гибких командах более короткими и грубыми историями пользователей. SEMAT и Essence, несмотря на их статус стандарта OMG, не достигли того общеотраслевого признания, на которое он надеялся. Его гениальность реальна, но это гениальность создателя инструментов, а создателей инструментов оценивают по тому, остаются ли их инструменты в использовании.

Наследие

Якобсон написал десять книг, от OOSE в 1992 году через Преимущество объектов, Повторное использование программного обеспечения, Унифицированный процесс разработки программного обеспечения и Сущность разработки программного обеспечения до Основы современной разработки программного обеспечения в 2019 году, и опубликовал более сотни статей. Чалмерс вручил ему медаль Густава Далена (Gustaf Dalén) в 2003 году; Университет Сан-Мартин-де-Поррес (San Martín de Porres University) в Перу сделал его почетным доктором в 2009 году. Он остается основателем, председателем и генеральным директором Ivar Jacobson International. Что бы ни осталось от UML и RUP, привычка спрашивать, кто использует эту систему и что они пытаются сделать — вопрос, который вариант использования навязывал каждому проекту — теперь стала просто тем, как специфицируется программное обеспечение.

Сравнить с великими

Benjamin Franklin vs Francis CrickGalileo Galilei vs Gottfried Wilhelm LeibnizDavid Hilbert vs Ludwig Van BeethovenSrinivasa Ramanujan vs Sun Tzu
Все рейтинги →Все сравнения →

Вундеркинды

Jacob BarnettJacob BarnettAutistic Physics Prodigy — IUPUI Master's at 14, Perimeter…Yusra MardiniYusra MardiniSwam Refugees to Safety Across the Aegean — Olympic Athlete on…Mahnoor CheemaMahnoor CheemaPassed 34 O-Levels by Age 13 — Pakistani-British Prodigy with…Dominique MoceanuDominique MoceanuYoungest member of the 1996 Olympic gold 'Magnificent Seven' at…
Вундеркинды →

Сыграй и возвращайся завтра

Ежедневный вызов гения · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Нажмите ответ ↓
Какой ты гений? Бесплатный IQ-тест