İçeriğe atla

Michael A. Jackson

Michael Anthony Jackson (d. 16 Şubat 1936), İngiliz bilgisayar bilimcisi ve Londra, İngiltere'de bağımsız bilgisayar danışmanıdır. Aynı zamanda Birleşik Krallık'taki Açık Üniversite'de misafir araştırma profesörüdür.[1]

Biyografi

Birmingham'da Montagu M. Jackson ve Bertha Jackson'ın çocuğu olarak dünyaya gelen Jackson, Harrow, Londra, İngiltere'deki Harrow School'da eğitim gördü. Orada Christopher Strachey tarafından eğitildi ve ilk programını Strachey'nin rehberliğinde yazdı. 1954'ten 1958'e kadar Oxford, Merton College'da klasikler (" Greats " olarak bilinir) okudu;[2] Kendisinden iki yıl ileride olan öğrenci arkadaşı CAR Hoare idi. Oxford'da Greats'in bir parçası olarak incelenen mantığa ilgi duyuyorlardı.

Jackson, 1961'de mezun olduktan sonra, Londra'da Maxwell Stamp Associates için bilgisayar bilimleri danışmanı ve tasarımcısı olarak işe başladı. Burada montajcıda çalışan IBM ve Honeywell bilgisayarları için ilk programlarını tasarladı, test etti ve kodladı. Jackson, 2000 yılında hatırladığı gibi, orada çağrısını buldu: "Kodlamadan önce titiz akış şemaları çizen dikkatli bir tasarımcı ve vicdanlı bir testçi olmama rağmen, program tasarımının zor olduğunu ve sonuçların muhtemelen hatalı olduğunu fark ettim."[3] Bilgi sistemi tasarımı, yapılandırılmış bir yaklaşıma ihtiyaç duyuyordu.

1964'te Jackson, 1971'de kendi şirketi Michael Jackson Systems Limited'i kurmadan önce Londra'daki yeni danışmanlık firması John Hoskyns and Company'ye katıldı. 1960'larda "daha güvenilir ve sistematik programlama yöntemi" arayışına başlamıştı.[3] Ortaya çıkan modüler programlama hareketine katkıda bulundu ve 1968 sempozyumunda Larry Constantine, George H. Mealy ve diğer birkaç kişiyle buluştu. 1970'lerde Jackson, Jackson Yapılandırılmış Programlamayı (JSP) geliştirdi. 1980'lerde John Cameron ile Jackson System Development'ı (JSD) geliştirdi. Daha sonra 1990'larda Problem Çerçeveleri Yaklaşımını geliştirdi.

Jackson, Pamela Zave ile işbirliği içinde AT&T Labs Research'te yarı zamanlı bir araştırmacı olarak, telekomünikasyon hizmetlerinin spesifikasyonu ve uygulaması için sanal bir mimari olan "Dağıtılmış Özellik Bileşimi"[4] yarattı.

Jackson, 1997'de Yazılım Geliştirme Yöntemleri için Stevens Ödülü'nü ve 1998'de İngiliz Bilgisayar Topluluğu Lovelace Madalyasını aldı.

1961'de Jackson, Judith Wendy Blackburn ile evlendi;[2] Dört oğulları var, biri Daniel, MIT'de çalışan bir bilgisayar bilimcisi.[5]

Çalışmalar

Jackson bir dizi yöntem geliştirdi. Bu yöntemlerin her biri, bir öncekinden daha geniş bir kapsamı kapsar ve bir öncekinde ortaya çıkan ancak tam olarak geliştirilemeyen fikirlere dayanır. Kitaplarını sırayla okumak, düşüncelerinin gelişimini takip etmenizi sağlar.

Jackson Yapısal Programlama

Jackson Structured Programming (JSP), Jackson'ın geliştirdiği ilk yazılım geliştirme yöntemiydi. Bu bir program tasarım yöntemidir ve Program Tasarımının İlkeleri adlı kitabında açıklanmıştır.[6] JSP, bireysel programların tasarımını kapsar, ancak sistemleri kapsamaz.

Jackson Sistem Geliştirme

Jackson Sistem Geliştirme (JSD), Jackson'ın geliştirdiği ikinci yazılım geliştirme yöntemiydi. JSD, yalnızca bireysel programlar için değil, tüm sistemler için bir sistem geliştirme yöntemidir. JSD en kolay şekilde bilgi sistemlerine uygulanabilir, ancak gerçek zamanlı gömülü sistemlerin geliştirilmesine kolayca genişletilebilir. JSD, Sistem Geliştirme adlı kitabında anlatılmıştır.

Problem Çerçeveleri Yaklaşımı

Problem Çerçeveleri Yaklaşımı, Jackson'ın geliştirdiği üçüncü yazılım geliştirme yöntemiydi. Sadece bilgi sistemleri değil, her türden yazılım geliştirme yönleriyle ilgilenir. İlk olarak Yazılım Gereksinimleri ve Spesifikasyonlar kitabında çizildi ve Problem Çerçeveleri kitabında çok daha ayrıntılı olarak açıklandı. Problem Çerçevelerinde Uygulamalar ve Gelişmeler üzerine Birinci Uluslararası Çalıştay[7] Edinburgh, İskoçya'da düzenlenen ICSE'04'ün bir parçası olarak düzenlendi.

Yayınlar

Michael Jackson'ın kitapları şunlardır:

  • 1975. Program Tasarımının İlkeleri 0-12-379050-6.
  • 1983. Sistem Geliştirme 0-13-880328-5.
  • 1995. Yazılım Gereksinimleri ve Spesifikasyonları 0-201-87712-0.
  • 1997. İş Süreci Uygulaması
  • 2001. Problem Çerçeveleri: Yazılım Geliştirme Problemlerinin Analizi ve Yapılandırılması 0-201-59627-X

Çalışmalarıyla ilgili araştırma makalelerinin yanı sıra denemelerinin çoğu aşağıdaki kitapta toplandı:

Kaynakça

  1. ^ Michael Jackson (not the singer) Consultancy & Research in Software Development 28 Nisan 2019 tarihinde Wayback Machine sitesinde arşivlendi.. Accessed 24 April 2009.
  2. ^ a b Merton College Register 1900–1964. Oxford: Basil Blackwell. 1964. s. 457. 
  3. ^ a b Jackson (Nisan–Haziran 2000). "The Origins of JSP and JSD: a Personal Recollection". IEEE Annals of Software Engineering. 22 (2): 61-63, 66. 
  4. ^ "Distributed Feature Composition - Accessed 28 August 2018". 25 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ağustos 2020. 
  5. ^ "Daniel Jackson". CSAIL Faculty Pages. 3 Kasım 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Ocak 2009. 
  6. ^ Jackson, M. A. (1975). Principles of Program Design. Academic Press, 1975
  7. ^ "First International Workshop on Applications and Advances in Problem Frames". 17 Ağustos 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ağustos 2020. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">Unix</span>

UNIX türevi işletim sistemleri çok işlemcili çok pahalı makinelerden tek işlemcili, basit ve çok ucuz ev bilgisayarlarına kadar pek çok cihaz üzerinde çalışabilen esnek ve sağlamlığı çok değişik koşullarda test edilmiş sistemlerdir. Fakat özellikle kararlı yapısı ve çok kullanıcılı-çok görevli yapısıyla çok işlemcili sunucularda adeta standart haline gelmiştir ve özellikle akademik dünyada iş istasyonları üzerinde çok yaygın bir kullanım alanı bulmuştur. UNIX, Interdata 7/32, VAX ve Motorola 68000 arasında hızla yayıldı.

<span class="mw-page-title-main">Linus Torvalds</span>

Linus Benedict Torvalds Finlandiya asıllı Amerikalı bir bilgisayar bilimci ve yazılım mühendisidir. Linux işletim sistemi çekirdeğinin geliştiricisi ve proje yöneticisi olup, ABD'de yaşamaktadır. Transmeta'daki görevinden ayrıldığından beri OSDL'de tam zamanlı olarak Linux çekirdeği üzerinde çalışmaktadır. Helsinki Üniversitesi'nde bilgisayar bilimleri bölümünden mezun olmuştur.

Yapısal programlama, programlama dilleri kullanılarak yazılan, mantıksal bütünlük gösteren bloklara (bölümlere) bölünebilirler. Bu yolla uzun ve karmaşık programların, bloklara ayırarak daha kolay biçimde yazılabilmesi mümkün olmaktadır.

macOS, Macintosh işletim sistemi ailesinin son sürümüdür ve Apple tarafından Macintosh bilgisayarları için tasarlanmış bir işletim sistemidir.

<span class="mw-page-title-main">Intel 4004</span> tek tümdevreli ilk mikroişlemci olup Intel firması tarafından üretilmiştir

Intel 4004, tek tümdevreli ilk mikroişlemci olup Intel firması tarafından üretilmiştir.

<span class="mw-page-title-main">PowerPC</span>

PowerPC, AIM olarak bilinen Apple-IBM-Motorola ittifakının 1991'de geliştirdiği bir RISC mikroişlemcisidir. Genel olarak kişisel bilgisayarlar içindir. PowerPC merkezi işlem birimleri (CPU) gömülü (embedded) ve yüksek performans işlemcileri olduğu için popüler olmuştur. PowerPC 1990'da AIM' in ve PReP'in temel taşı oldu, fakat mimari Apple'ın Macintosh'unun 1994–2006 modellerinde daha başarılı bulundu.

Programlama dili teorisi (PDT), programlama dilleri olarak bilinen biçimsel dillerin ve bunların bireysel özelliklerinin tasarımı, uygulanması, analizi, karakterizasyonu ve sınıflandırılması ile ilgilenen bir bilgisayar bilimleri dalıdır. Matematik, yazılım mühendisliği, dilbilim ve hatta bilişsel bilime bağlı ve onu etkileyen bilgisayar bilimi disiplinine girer. PDT'ye adanmış çok sayıda dergide ve genel bilgisayar bilimi ve mühendisliği yayınlarında yayınlanan sonuçlarla tanınmış bir bilgisayar bilimi dalı ve aktif bir araştırma alanı haline gelmiştir.

Video oyunları ABD, Japonya ve Avrupa'da 70'lerin sonu ve 80'lerin başlarında oluşacak yeni eğlence sektörünün temellerini, 1971 yılı ortalarında ticari bir eğlence olarak ortaya çıkmasıyla atmıştır. Kuzey Amerika video oyun çöküşü olarak da bilinen ve 1983 yılında Kuzey Amerika'daki oyun şirketlerinin birer birer iflas ettiği ve 2 sene sonra toparlandığı dönemden sonra video oyun endüstrisi 10 yıllık bir dönemden fazla süren büyüme dönemine girmiştir. Video oyun piyasası 11 milyon USD'lik bir büyüklüğe ulaştığında, eğlence sektöründeki en kârlı endüstri olan sinema endüstrisine rakip olmaya başlamıştır.

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

<span class="mw-page-title-main">Waterfall model</span>

Şelale yönteminde yazılım geliştirme süreci analiz, tasarım, kodlama, test, sürüm ve bakım gibi safhalardan oluşur. Geleneksel yazılım metotlarında bu safhalar şelale modelinde olduğu gibi doğrusal olarak işler. Her safha, başlangıç noktasında bir önceki safhanın ürettiklerini bulur. Kendi bünyesindeki değişikler doğrultusunda teslim aldıklarını bir sonraki safhanın kullanabileceği şekilde değiştirir.

<span class="mw-page-title-main">V-Model (Yazılım geliştirme)</span>

V-model şelale (waterfall) modelinin gelişmiş hali olarak düşünülebilecek bir yazılım geliştirme süreci sunar. Doğrusal bir yönde ilerlemek yerine, süreç adımları kodlama evresinden sonra yukarıya doğru eğim alır ve tipik V şeklini oluşturur. V-Model geliştirme yaşam çevriminin her bir evresi arasındaki ilişkileri gösterir. Yatay ve dikey açılar zaman veya projenin tamamlanabilirliğini ve soyut seviyeyi gösterir.

Bir sistem mimarisi veya çoklu sistemlerin mimarisi; sistemin yapısını, davranışını ve biçimselliğini tanımlayan kavramsal modeldir. Bir mimari tanımı; sistemin yapıları ve davranışları hakkında mantıksallığı destekleyecek şekilde organize edilen ilişkiselliğin standart bir açıklaması veya temsilidir.

<span class="mw-page-title-main">Gereksinim çözümleme</span>

Bilgisayar bilimlerinde, gereksinim analizi ya da gereksinim çözümleme; çeşitli sistemlerin gerekliliklerini ve olası çelişkili durumlarını göz önüne alarak, yazılımı analiz etmek, belgelemek, doğrulamak ve yönetmek için yeni veya değiştirilmiş bir ürün üzerinde projenin ihtiyaçlarını, sistem gereksinimlerini ve koşullarını belirleyen görevleri kapsamaktadır.

Sistem analisti veya İş teknolojisi analisti, analist ve bilgi teknolojisi (BT) uzmanıdır. Sistemlerin küçük değişiklikler yoluyla etkin hale getirilmesi veya yeniden planlanmasını sağlamak amacıyla analiz edilmesiyle ilgilenen kişidir ". Bir sistem analisti tipik olarak atanmış veya verilen bir sistemle sınırlıdır ve genellikle bir iş analisti ile birlikte çalışır. "Sistem analist; insanların, metotların ve bilgisayar teknolojisinin işleri en iyi şekilde yerine getirebilmeleri için, organizasyonun problem ve gereksinimleri üzerinde çalışır".Bir sistem analistin, deneyimi ve bilgisi dışındaki en önemli aracı, öncelikle sistemin bir üyesi olan insandır. Ardından gözlem gücü ve dokümanlar gelir.

Yazılım, hümanistik (insani), bilimsel teoriler, yönetim ve organizasyon gibi çeşitli alanlarda kullanılan, yukarıdan aşağıya ve aşağıdan yukarıyanın her ikisi de bilgi işleme ve bilgi sıralama stratejisidir. Pratikte, bir düşünce, öğretim veya liderlik biçimi olarak görülebilirler.

<span class="mw-page-title-main">Gregor Kiczales</span>

Gregor Kiczales Amerikalı bilgisayar bilimci. Kanada'nın Britanya Kolumbiyası eyaletinde bulunan Vancouver şehrindeki British Columbia Üniversitesi'nde bilgisayar bilimi profesörüdür. Xerox PARC'da çalışırken tasarladığı cephe yönelimli programlaması, ve Java programlama diline AspectJ uzantısı kavramını geliştirmesiyle tanınır. Aynı zamanda Ortak Lisp Nesne Sistemi spesifikasyonunun ve Metaobject Protokolü Sanatı adlı kitabın yazarlarından biridir.

<span class="mw-page-title-main">Barry Boehm</span> Amerikalı yazılımcı (1935 – 2022)

Barry W. Boehm, Amerikalı bir yazılım mühendisi, bilgisayar bilimi, endüstri ve sistem mühendisliği alanında seçkin profesör, TRW Yazılım Mühendisliği Profesörü; Güney Kaliforniya Üniversitesi Sistem ve Yazılım Mühendisliği Merkezi'nin kurucu direktörüdür. Yazılım mühendisliği alanına yaptığı birçok katkı ile tanınmaktadır.

<span class="mw-page-title-main">Ivar Jacobson</span>

Ivar Hjalmar Jacobson, UML, Objectory, Rational Unified Process (RUP), görünüm odaklı yazılım geliştirme ve Essence'a büyük katkıda bulunan İsveçli - Amerikalı bir bilgisayar bilimcisi ve yazılım mühendisi.

<span class="mw-page-title-main">Otomotiv tasarımı</span>

Otomotiv tasarımı, otomobiller, motosikletler, otobüsler, şehirler arası otobüsler ve minibüsler, kamyon dahil olmak üzere motorlu taşıtların görünümünü ve bir dereceye kadar ergonomisini geliştirme sürecidir.