Ivar Jacobson: Yazılımı Çizen Mühendis
1967 yılında, Ericsson'da telefon santralleri üzerinde çalışan genç bir İsveçli mühendisin, mesajların bir anahtarın parçaları arasında nasıl seyahat ettiğini göstermenin bir yoluna ihtiyacı vardı. Sayfanın tepesindeki katılımcıları çizdi ve zamanın aşağıya doğru akmasına izin verdi; her mesaj, bir dikey çizgiden diğerine geçen bir ok şeklindeydi. Bu çizim artık sıra diyagramı (sequence diagram) olarak adlandırılıyor ve bunun bir versiyonu dünyadaki hemen hemen her yazılım şirketinin beyaz tahtasında asılı. Ivar Jacobson sonraki altmış yılını yazılımın görünmez yapısını görünür kılmanın yollarını icat ederek geçirdi.
Ystad, Chalmers, Ericsson
Ivar Hjalmar Jacobson, 2 Eylül 1939'da İsveç'in güney ucundaki Ystad'da doğdu. 1962'de Göteborg'daki Chalmers Teknoloji Enstitüsü'nden (Chalmers Institute of Technology) elektrik mühendisliği alanında yüksek lisans derecesini aldı ve kariyerinin biçimlendirici yirmi beş yılı boyunca kalacağı Ericsson'un araştırma ve geliştirme departmanına katıldı. Çok daha sonra, 1985 yılında, Stockholm'deki Kraliyet Teknoloji Enstitüsü'nde (Royal Institute of Technology) Büyük Gerçek Zamanlı Sistemler için Dil Yapıları (Language Constructs for Large Real Time Systems) başlıklı teziyle doktorasını tamamladı; bu başlık hayatının sorununu tam olarak tarif ediyordu.
Ericsson o dönemde şirketin belirleyici ürünü haline gelen ve PLEX adlı şirket içi bir dilde programlanan bilgisayarlı telefon santrali AKE ve ardından AXE'yi inşa ediyordu. Bir telefon santrali acımasız bir mühendislik ortamıdır: yıllarca sürekli çalışmalı, binlerce eşzamanlı görüşmeyi yönetmeli ve kapatılmadan değiştirilmelidir. Jacobson'ın orada karşılaştığı yazılım sorunları akademik egzersizler değildi.
Bileşenler, Kelime Mevcut Olmadan Önce
1967'deki ilk yapısal fikri, santrali bileşenlerden inşa etmekti; bunlar, tek bir yekpare programa dokunmak yerine bağımsız olarak geliştirilebilen, test edilebilen ve değiştirilebilen, tanımlanmış arayüzlere sahip ayrı ayrı belirtilmiş yazılım bloklarıydı. Bu artık normal bir uygulama. O zamanlar, tartışma gerektirecek kadar alışılmadık bir durumdu. Kendi firması, Ericsson'daki ortaya çıkan mimariyi İsveç tarihindeki en büyük ticari başarı hikayesi olarak tanımlıyor; bu, ilgili bir kaynaktan gelen taraflı bir iddiadır, ancak AXE sisteminin küresel erişimi, temel noktayı göz ardı etmeyi zorlaştırıyor.
Bileşenlerle birlikte gösterimler geldi: mesajların gerçekte nasıl aktığını tanımlamak için sıra diyagramları, işbirliği diyagramları ve durum geçiş diyagramları. Jacobson ayrıca 1976'da telekomünikasyon endüstrisi standardı haline gelen SDL'nin (Belirtim ve Tasarım Dili, Specification and Design Language) geliştirilmesine de yardımcı oldu.
Kullanım Durumu (Use Case)
1986'da Jacobson, en çok tanındığı fikri icat etti. Kullanım durumlarından önce, yazılım gereksinimleri genellikle listeler halinde yazılırdı - sistem bunu yapacak, sistem şunu da yapacak - öğeler arasında belirgin bir ilişki yoktu ve listenin tam olduğunu veya listeyi karşılamak için bir şey inşa edildiğini kontrol etmenin bir yolu yoktu.
Bir kullanım durumu bakış açısını tersine çevirir. Sistemi dışarıdan, bir aktör (bir kişi veya başka bir sistem) ile yazılım arasında, tetikleyiciden o aktör için değerli bir sonuca kadar yürüyen tam bir etkileşim olarak tanımlar. Nakit çekme. Yer ayırtma. Kesilen bir aramayı yeniden bağlama. Her biri bir başlangıcı, ortası, işler yolunda gitmediğinde alternatif yolları ve kesin bir sonu olan bir hikayedir. Sonuç felsefi olmaktan çok pratiktir: bir kullanım durumu bir davranış dizisi olduğundan, izlenebilir. Aynı dizi analiz, tasarım, kod ve test boyunca devam eder, böylece bir ekip bir kod parçasının ne işe yaradığını ve müşterinin istediği şeyin gerçekten çalışıp çalışmadığını söyleyebilir.
Yöntemi ticarileştirmek için Nisan 1987'de Objective Systems'ı kurdu; Ericsson 1991'de çoğunluk hissesini aldı ve firma Objectory AB oldu. 1992'de, kullanım durumlarını daha geniş endüstriye taşıyan kitap olan Nesne Yönelimli Yazılım Mühendisliği: Kullanım Durumu Odaklı Bir Yaklaşım (Object-Oriented Software Engineering: A Use Case Driven Approach) adlı eseri yayınladı.
Üç Silahşör
Ekim 1995'te Ericsson, Objectory'yi Rational Software'e sattı ve Jacobson, Grady Booch ve James Rumbaugh ile katıldı - üç rakip gösterime sahip üç rakip metodolog, topluca ve biraz yorgun bir şekilde Üç Silahşör (Three Amigos) olarak biliniyordu. Birleşmeleri, nesne yönelimli sistemleri tanımlamak için standart görsel kelime hazinesi olan Birleşik Modelleme Dili'ni (UML) üretti ve Jacobson'ın Objectory süreci, Philippe Kruchten yönetiminde Rational Birleşik Süreci'ne (RUP) dönüştü. IBM, 2003 yılında Rational'ı satın aldığında, Jacobson ayrıldı.
Daha Hafif Hale Getirmek
2004'ten sonraki her şey, inşa ettiği şeyin ağırlığını geri alma girişimiydi. 2004 yılının ortalarında Ivar Jacobson International'ı kurdu. Kasım 2005'te, birleşik süreç, çevik ve süreç iyileştirme fikirlerini harmanlayan RUP'un süper hafif ve çevik bir sürümü olarak tanımladığı Essential Unified Process'i duyurdu; 2006'dan itibaren Ian Spence ve Pan Wei Ng ile birlikte, ekiplerin kendi yöntemlerini küçük bir evrensel unsur çekirdeği artı seçilmiş uygulamalardan bir araya getirmelerine olanak tanıyan bir çerçeve olan EssWork üzerinde çalıştı.
Kasım 2009'da Bertrand Meyer ve Richard Soley ile birlikte SEMAT'ı (Yazılım Mühendisliği Yöntemi ve Teorisi, Software Engineering Method and Theory) başlattı ve yazılım mühendisliğinin bir dizi modaya uygun yöntem yerine gerçek bir teorik temele ihtiyacı olduğunu savundu. Sonuç olan Essence, Kasım 2014'te Object Management Group standardı olarak kabul edildi. Ayrıca yönelimli geliştirme üzerinde çalıştı, 2004 yılında Pan-Wei Ng ile Kullanım Durumları ile Yönelimli Yazılım Geliştirme (Aspect-Oriented Software Development with Use Cases) adlı eseri yayınladı ve 2000 yılında Agneta Jacobson ile birlikte, Waypointer aracı 2004'te JOLT ödülü kazanan Jaczone AB'yi kurdu.
Ivar Neden Dahi Olarak Adlandırılıyor
Belirli yetenek notasyonaldır: Jacobson defalarca, zorlu bir sorunu düşünülebilir kılan temsili buldu. Sıra diyagramları, kullanım durumları ve bileşen arayüzlerinin hepsi aynı harekettir - çalışan bir sistemin içinde dolaşık davranış olarak var olan bir şeyi alın ve bir insanın zihninde tutabileceği ve bir ekibin tartışabileceği bir şekil verin. Bu, bir algoritma icat etmekten daha nadir bir yetenektir, çünkü iyi bir gösterimin hem mühendisler için yeterince kesin hem de iş için ödeme yapan müşteri için yeterince basit olması gerekir. Kullanım durumları başarılı oldu çünkü her ikisi de oldular. Bunu üniversiteden değil, endüstriyel uygulama içinden yaptı, bu yüzden fikirler gerçek projelerle temastan sonra hayatta kaldı.
Dürüst karşıt argüman önemli ve muhtemelen çoğunu kabul edecekti. UML'nin üç yazarından biridir ve UML'nin kendisi, şişmiş ve artık tasarımcılarının amaçladığından çok daha seçici bir şekilde kullanılan bir komite ürünü olarak yaygın bir şekilde eleştirilmektedir. Objectory'sinden türetilen RUP, çevik hareketin kendisine karşı örgütlendiği ağır süreç ile eşanlamlı hale geldi ve Jacobson, 2004'ten bu yana geçen yirmi yılı buna açık bir tepki olarak daha hafif çerçeveler inşa ederek geçirdi. Kullanım durumları, çevik ekiplerde kısmen daha kısa, daha ham kullanıcı hikayeleri ile yer değiştirdi. SEMAT ve Essence, OMG standardı olarak statülerine rağmen, umduğu endüstri çapında benimsenmeye ulaşamadı. Dehası gerçek ama bu bir araç üreticisinin dehasıdır ve araç üreticileri, araçların kullanımda kalıp kalmadığına göre yargılanır.
Miras
Jacobson, 1992'deki OOSE'den Nesne Avantajı, Yazılım Yeniden Kullanımı, Birleşik Yazılım Geliştirme Süreci ve Yazılım Mühendisliğinin Özü üzerinden 2019'da Modern Yazılım Mühendisliğinin Esasları'na kadar on kitap yazdı ve yüzden fazla makale yayınladı. Chalmers ona 2003 yılında Gustaf Dalén madalyasını verdi; Peru'daki San Martín de Porres Üniversitesi (San Martín de Porres University) 2009'da onu fahri doktor yaptı. Ivar Jacobson International'ın kurucusu, başkanı ve icra kurulu başkanı olmaya devam ediyor. UML ve RUP'tan geriye ne kalırsa kalsın, bu sistemi kimin kullandığını ve neyi başarmaya çalıştıklarını sorma alışkanlığı - kullanım durumunun her projeye dayattığı soru - artık sadece yazılımın nasıl belirtildiğinin yoludur.



